vskill 0.1.0 → 0.1.2

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 (112) hide show
  1. package/dist/agents/agents-registry.d.ts +48 -37
  2. package/dist/agents/agents-registry.js +206 -261
  3. package/dist/agents/agents-registry.js.map +1 -1
  4. package/dist/agents/agents-registry.test.d.ts +1 -0
  5. package/dist/agents/agents-registry.test.js +203 -0
  6. package/dist/agents/agents-registry.test.js.map +1 -0
  7. package/dist/api/client.js +9 -1
  8. package/dist/api/client.js.map +1 -1
  9. package/dist/api/client.test.d.ts +1 -0
  10. package/dist/api/client.test.js +204 -0
  11. package/dist/api/client.test.js.map +1 -0
  12. package/dist/blocklist/blocklist.d.ts +23 -0
  13. package/dist/blocklist/blocklist.js +116 -0
  14. package/dist/blocklist/blocklist.js.map +1 -0
  15. package/dist/blocklist/blocklist.test.d.ts +1 -0
  16. package/dist/blocklist/blocklist.test.js +259 -0
  17. package/dist/blocklist/blocklist.test.js.map +1 -0
  18. package/dist/blocklist/types.d.ts +18 -0
  19. package/dist/blocklist/types.js +5 -0
  20. package/dist/blocklist/types.js.map +1 -0
  21. package/dist/commands/add.d.ts +2 -0
  22. package/dist/commands/add.js +221 -6
  23. package/dist/commands/add.js.map +1 -1
  24. package/dist/commands/add.test.d.ts +1 -0
  25. package/dist/commands/add.test.js +682 -0
  26. package/dist/commands/add.test.js.map +1 -0
  27. package/dist/commands/blocklist.d.ts +1 -0
  28. package/dist/commands/blocklist.js +87 -0
  29. package/dist/commands/blocklist.js.map +1 -0
  30. package/dist/commands/blocklist.test.d.ts +1 -0
  31. package/dist/commands/blocklist.test.js +158 -0
  32. package/dist/commands/blocklist.test.js.map +1 -0
  33. package/dist/commands/remove.d.ts +7 -0
  34. package/dist/commands/remove.js +91 -0
  35. package/dist/commands/remove.js.map +1 -0
  36. package/dist/commands/remove.test.d.ts +1 -0
  37. package/dist/commands/remove.test.js +164 -0
  38. package/dist/commands/remove.test.js.map +1 -0
  39. package/dist/commands/submit.d.ts +1 -1
  40. package/dist/commands/submit.js +26 -16
  41. package/dist/commands/submit.js.map +1 -1
  42. package/dist/commands/submit.test.d.ts +1 -0
  43. package/dist/commands/submit.test.js +74 -0
  44. package/dist/commands/submit.test.js.map +1 -0
  45. package/dist/index.js +21 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/lockfile/lockfile.test.d.ts +1 -0
  48. package/dist/lockfile/lockfile.test.js +196 -0
  49. package/dist/lockfile/lockfile.test.js.map +1 -0
  50. package/dist/lockfile/types.d.ts +8 -0
  51. package/dist/marketplace/index.d.ts +2 -0
  52. package/dist/marketplace/index.js +2 -0
  53. package/dist/marketplace/index.js.map +1 -0
  54. package/dist/marketplace/marketplace.d.ts +34 -0
  55. package/dist/marketplace/marketplace.js +51 -0
  56. package/dist/marketplace/marketplace.js.map +1 -0
  57. package/dist/marketplace/marketplace.test.d.ts +1 -0
  58. package/dist/marketplace/marketplace.test.js +103 -0
  59. package/dist/marketplace/marketplace.test.js.map +1 -0
  60. package/dist/scanner/index.d.ts +4 -0
  61. package/dist/scanner/index.js +4 -0
  62. package/dist/scanner/index.js.map +1 -1
  63. package/dist/scanner/patterns.test.d.ts +1 -0
  64. package/dist/scanner/patterns.test.js +353 -0
  65. package/dist/scanner/patterns.test.js.map +1 -0
  66. package/dist/scanner/repo-scanner.d.ts +30 -0
  67. package/dist/scanner/repo-scanner.js +190 -0
  68. package/dist/scanner/repo-scanner.js.map +1 -0
  69. package/dist/scanner/tier1.test.d.ts +1 -0
  70. package/dist/scanner/tier1.test.js +182 -0
  71. package/dist/scanner/tier1.test.js.map +1 -0
  72. package/dist/scanner/tier2-llm.d.ts +28 -0
  73. package/dist/scanner/tier2-llm.js +130 -0
  74. package/dist/scanner/tier2-llm.js.map +1 -0
  75. package/dist/scanner/types.d.ts +58 -0
  76. package/dist/scanner/types.js +5 -0
  77. package/dist/scanner/types.js.map +1 -0
  78. package/dist/security/index.d.ts +2 -0
  79. package/dist/security/index.js +2 -0
  80. package/dist/security/index.js.map +1 -0
  81. package/dist/security/platform-security.d.ts +17 -0
  82. package/dist/security/platform-security.js +34 -0
  83. package/dist/security/platform-security.js.map +1 -0
  84. package/dist/security/platform-security.test.d.ts +1 -0
  85. package/dist/security/platform-security.test.js +92 -0
  86. package/dist/security/platform-security.test.js.map +1 -0
  87. package/dist/settings/index.d.ts +2 -0
  88. package/dist/settings/index.js +2 -0
  89. package/dist/settings/index.js.map +1 -0
  90. package/dist/settings/settings.d.ts +16 -0
  91. package/dist/settings/settings.js +73 -0
  92. package/dist/settings/settings.js.map +1 -0
  93. package/dist/settings/settings.test.d.ts +1 -0
  94. package/dist/settings/settings.test.js +103 -0
  95. package/dist/settings/settings.test.js.map +1 -0
  96. package/dist/utils/__tests__/paths.test.d.ts +1 -0
  97. package/dist/utils/__tests__/paths.test.js +22 -0
  98. package/dist/utils/__tests__/paths.test.js.map +1 -0
  99. package/dist/utils/__tests__/validation.test.d.ts +1 -0
  100. package/dist/utils/__tests__/validation.test.js +49 -0
  101. package/dist/utils/__tests__/validation.test.js.map +1 -0
  102. package/dist/utils/browser.d.ts +6 -0
  103. package/dist/utils/browser.js +37 -0
  104. package/dist/utils/browser.js.map +1 -0
  105. package/dist/utils/paths.d.ts +5 -0
  106. package/dist/utils/paths.js +13 -0
  107. package/dist/utils/paths.js.map +1 -0
  108. package/dist/utils/validation.d.ts +14 -0
  109. package/dist/utils/validation.js +34 -0
  110. package/dist/utils/validation.js.map +1 -0
  111. package/package.json +5 -2
  112. package/scripts/preuninstall.cjs +58 -0
@@ -1 +1 @@
1
- {"version":3,"file":"agents-registry.js","sourceRoot":"","sources":["../../src/agents/agents-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-registry.js","sourceRoot":"","sources":["../../src/agents/agents-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,203 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ import { AGENTS_REGISTRY, TOTAL_AGENTS, getUniversalAgents, getNonUniversalAgents, getAgent, detectInstalledAgents, } from "./agents-registry.js";
3
+ // ---------------------------------------------------------------------------
4
+ // Registry size
5
+ // ---------------------------------------------------------------------------
6
+ describe("AGENTS_REGISTRY", () => {
7
+ it("has exactly 39 entries", () => {
8
+ expect(AGENTS_REGISTRY).toHaveLength(39);
9
+ });
10
+ it("TOTAL_AGENTS equals 39", () => {
11
+ expect(TOTAL_AGENTS).toBe(39);
12
+ });
13
+ it("TOTAL_AGENTS matches AGENTS_REGISTRY.length", () => {
14
+ expect(TOTAL_AGENTS).toBe(AGENTS_REGISTRY.length);
15
+ });
16
+ });
17
+ // ---------------------------------------------------------------------------
18
+ // Universal vs non-universal split
19
+ // ---------------------------------------------------------------------------
20
+ describe("AGENTS_REGISTRY — universal/non-universal split", () => {
21
+ it("has exactly 7 universal agents", () => {
22
+ const universal = AGENTS_REGISTRY.filter((a) => a.isUniversal);
23
+ expect(universal).toHaveLength(7);
24
+ });
25
+ it("has exactly 32 non-universal agents", () => {
26
+ const nonUniversal = AGENTS_REGISTRY.filter((a) => !a.isUniversal);
27
+ expect(nonUniversal).toHaveLength(32);
28
+ });
29
+ it("universal + non-universal equals total", () => {
30
+ const universal = AGENTS_REGISTRY.filter((a) => a.isUniversal).length;
31
+ const nonUniversal = AGENTS_REGISTRY.filter((a) => !a.isUniversal).length;
32
+ expect(universal + nonUniversal).toBe(TOTAL_AGENTS);
33
+ });
34
+ });
35
+ // ---------------------------------------------------------------------------
36
+ // No duplicate IDs
37
+ // ---------------------------------------------------------------------------
38
+ describe("AGENTS_REGISTRY — unique IDs", () => {
39
+ it("has no duplicate IDs", () => {
40
+ const ids = AGENTS_REGISTRY.map((a) => a.id);
41
+ expect(new Set(ids).size).toBe(ids.length);
42
+ });
43
+ });
44
+ // ---------------------------------------------------------------------------
45
+ // Required fields on every agent
46
+ // ---------------------------------------------------------------------------
47
+ describe("AGENTS_REGISTRY — required fields", () => {
48
+ it("every agent has all required fields", () => {
49
+ for (const agent of AGENTS_REGISTRY) {
50
+ expect(typeof agent.id).toBe("string");
51
+ expect(agent.id.length).toBeGreaterThan(0);
52
+ expect(typeof agent.displayName).toBe("string");
53
+ expect(agent.displayName.length).toBeGreaterThan(0);
54
+ expect(typeof agent.localSkillsDir).toBe("string");
55
+ expect(agent.localSkillsDir.length).toBeGreaterThan(0);
56
+ expect(typeof agent.globalSkillsDir).toBe("string");
57
+ expect(agent.globalSkillsDir.length).toBeGreaterThan(0);
58
+ expect(typeof agent.isUniversal).toBe("boolean");
59
+ expect(typeof agent.detectInstalled).toBe("string");
60
+ expect(agent.detectInstalled.length).toBeGreaterThan(0);
61
+ expect(typeof agent.parentCompany).toBe("string");
62
+ expect(agent.parentCompany.length).toBeGreaterThan(0);
63
+ expect(agent.featureSupport).toBeDefined();
64
+ expect(typeof agent.featureSupport.slashCommands).toBe("boolean");
65
+ expect(typeof agent.featureSupport.hooks).toBe("boolean");
66
+ expect(typeof agent.featureSupport.mcp).toBe("boolean");
67
+ expect(typeof agent.featureSupport.customSystemPrompt).toBe("boolean");
68
+ }
69
+ });
70
+ });
71
+ // ---------------------------------------------------------------------------
72
+ // getUniversalAgents()
73
+ // ---------------------------------------------------------------------------
74
+ describe("getUniversalAgents", () => {
75
+ it("returns exactly 7 agents", () => {
76
+ expect(getUniversalAgents()).toHaveLength(7);
77
+ });
78
+ it("all returned agents have isUniversal === true", () => {
79
+ for (const agent of getUniversalAgents()) {
80
+ expect(agent.isUniversal).toBe(true);
81
+ }
82
+ });
83
+ it("includes known universal agents", () => {
84
+ const ids = getUniversalAgents().map((a) => a.id);
85
+ expect(ids).toContain("amp");
86
+ expect(ids).toContain("codex");
87
+ expect(ids).toContain("gemini-cli");
88
+ expect(ids).toContain("github-copilot");
89
+ expect(ids).toContain("kimi-cli");
90
+ expect(ids).toContain("opencode");
91
+ expect(ids).toContain("replit");
92
+ });
93
+ });
94
+ // ---------------------------------------------------------------------------
95
+ // getNonUniversalAgents()
96
+ // ---------------------------------------------------------------------------
97
+ describe("getNonUniversalAgents", () => {
98
+ it("returns exactly 32 agents", () => {
99
+ expect(getNonUniversalAgents()).toHaveLength(32);
100
+ });
101
+ it("all returned agents have isUniversal === false", () => {
102
+ for (const agent of getNonUniversalAgents()) {
103
+ expect(agent.isUniversal).toBe(false);
104
+ }
105
+ });
106
+ it("includes known non-universal agents", () => {
107
+ const ids = getNonUniversalAgents().map((a) => a.id);
108
+ expect(ids).toContain("claude-code");
109
+ expect(ids).toContain("cursor");
110
+ expect(ids).toContain("windsurf");
111
+ expect(ids).toContain("cline");
112
+ });
113
+ });
114
+ // ---------------------------------------------------------------------------
115
+ // getAgent()
116
+ // ---------------------------------------------------------------------------
117
+ describe("getAgent", () => {
118
+ it("returns Claude Code for id 'claude-code'", () => {
119
+ const agent = getAgent("claude-code");
120
+ expect(agent).toBeDefined();
121
+ expect(agent.id).toBe("claude-code");
122
+ expect(agent.displayName).toBe("Claude Code");
123
+ expect(agent.parentCompany).toBe("Anthropic");
124
+ });
125
+ it("returns undefined for nonexistent id", () => {
126
+ expect(getAgent("nonexistent")).toBeUndefined();
127
+ });
128
+ it("returns undefined for empty string", () => {
129
+ expect(getAgent("")).toBeUndefined();
130
+ });
131
+ it("returns correct agent for each known agent", () => {
132
+ for (const agent of AGENTS_REGISTRY) {
133
+ const found = getAgent(agent.id);
134
+ expect(found).toBeDefined();
135
+ expect(found.id).toBe(agent.id);
136
+ expect(found.displayName).toBe(agent.displayName);
137
+ }
138
+ });
139
+ });
140
+ // ---------------------------------------------------------------------------
141
+ // detectInstalledAgents()
142
+ // ---------------------------------------------------------------------------
143
+ describe("detectInstalledAgents", () => {
144
+ const mockExec = vi.hoisted(() => vi.fn());
145
+ vi.mock("node:child_process", () => ({
146
+ exec: mockExec,
147
+ }));
148
+ vi.mock("node:util", () => ({
149
+ promisify: () => mockExec,
150
+ }));
151
+ it("returns an array", async () => {
152
+ mockExec.mockRejectedValue(new Error("not found"));
153
+ const result = await detectInstalledAgents();
154
+ expect(Array.isArray(result)).toBe(true);
155
+ });
156
+ it("returns empty array when no agents are installed", async () => {
157
+ mockExec.mockRejectedValue(new Error("not found"));
158
+ const result = await detectInstalledAgents();
159
+ expect(result).toHaveLength(0);
160
+ });
161
+ it("returns installed agent definitions when commands succeed", async () => {
162
+ // Make only "which claude" succeed (claude-code's detectInstalled)
163
+ mockExec.mockImplementation(async (cmd) => {
164
+ if (cmd === "which claude") {
165
+ return { stdout: "/usr/local/bin/claude", stderr: "" };
166
+ }
167
+ throw new Error("not found");
168
+ });
169
+ const result = await detectInstalledAgents();
170
+ expect(result.map((a) => a.id)).toContain("claude-code");
171
+ expect(result[0]).toHaveProperty("displayName");
172
+ });
173
+ it("returns sorted results by id", async () => {
174
+ // Make cursor and claude succeed
175
+ mockExec.mockImplementation(async (cmd) => {
176
+ if (cmd === "which claude" || cmd === "which cursor") {
177
+ return { stdout: "/usr/local/bin/tool", stderr: "" };
178
+ }
179
+ throw new Error("not found");
180
+ });
181
+ const result = await detectInstalledAgents();
182
+ const ids = result.map((a) => a.id);
183
+ const sorted = [...ids].sort();
184
+ expect(ids).toEqual(sorted);
185
+ });
186
+ it("returns multiple installed agents when many commands succeed", async () => {
187
+ // Make all commands succeed
188
+ mockExec.mockResolvedValue({ stdout: "/usr/local/bin/tool", stderr: "" });
189
+ const result = await detectInstalledAgents();
190
+ expect(result.length).toBe(TOTAL_AGENTS);
191
+ });
192
+ });
193
+ // ---------------------------------------------------------------------------
194
+ // TC-013: Claude Code agent has pluginCacheDir
195
+ // ---------------------------------------------------------------------------
196
+ describe("AGENTS_REGISTRY — pluginCacheDir", () => {
197
+ it("TC-013: claude-code agent has pluginCacheDir", () => {
198
+ const claudeCode = getAgent("claude-code");
199
+ expect(claudeCode).toBeDefined();
200
+ expect(claudeCode.pluginCacheDir).toBe("~/.claude/plugins/cache");
201
+ });
202
+ });
203
+ //# sourceMappingURL=agents-registry.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-registry.test.js","sourceRoot":"","sources":["../../src/agents/agents-registry.test.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,15 @@ async function apiRequest(path, options) {
23
23
  */
24
24
  export async function searchSkills(query) {
25
25
  const encoded = encodeURIComponent(query);
26
- return apiRequest(`/api/v1/skills?search=${encoded}`);
26
+ const data = await apiRequest(`/api/v1/skills?search=${encoded}`);
27
+ return (data.skills || []).map((s) => ({
28
+ name: String(s.name || ""),
29
+ author: String(s.author || ""),
30
+ tier: String(s.certTier || s.tier || "SCANNED"),
31
+ score: Number(s.certScore ?? s.score ?? 0),
32
+ installs: Number(s.vskillInstalls ?? s.installs ?? 0),
33
+ description: String(s.description || ""),
34
+ }));
27
35
  }
28
36
  /**
29
37
  * Get a single skill by name.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAoC9C,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,OAAqB;IAErB,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,GAAG,OAAO;QACV,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,YAAY;YAC1B,GAAG,OAAO,EAAE,OAAO;SACpB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa;IAEb,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,UAAU,CACf,yBAAyB,OAAO,EAAE,CACnC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,UAAU,CAAc,kBAAkB,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAuB;IAEvB,OAAO,UAAU,CAAqB,qBAAqB,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU;IAEV,OAAO,UAAU,CAAC,uBAAuB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAoC9C,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,OAAqB;IAErB,MAAM,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,GAAG,OAAO;QACV,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,YAAY;YAC1B,GAAG,OAAO,EAAE,OAAO;SACpB;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAa;IAEb,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,UAAU,CAC3B,yBAAyB,OAAO,EAAE,CACnC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;QAC/C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC1C,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrD,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;KACzC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,UAAU,CAAc,kBAAkB,OAAO,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAuB;IAEvB,OAAO,UAAU,CAAqB,qBAAqB,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU;IAEV,OAAO,UAAU,CAAC,uBAAuB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,204 @@
1
+ import { describe, it, expect, vi, beforeEach, afterAll } from "vitest";
2
+ import { searchSkills, getSkill, submitSkill, getSubmission, } from "./client.js";
3
+ // ---------------------------------------------------------------------------
4
+ // Mock global fetch
5
+ // ---------------------------------------------------------------------------
6
+ const mockFetch = vi.fn();
7
+ vi.stubGlobal("fetch", mockFetch);
8
+ // ---------------------------------------------------------------------------
9
+ // Helpers
10
+ // ---------------------------------------------------------------------------
11
+ function jsonResponse(data, status = 200, statusText = "OK") {
12
+ return {
13
+ ok: status >= 200 && status < 300,
14
+ status,
15
+ statusText,
16
+ json: () => Promise.resolve(data),
17
+ text: () => Promise.resolve(JSON.stringify(data)),
18
+ };
19
+ }
20
+ function errorResponse(status, statusText, body = "") {
21
+ return {
22
+ ok: false,
23
+ status,
24
+ statusText,
25
+ json: () => Promise.reject(new Error("not json")),
26
+ text: () => Promise.resolve(body),
27
+ };
28
+ }
29
+ const BASE_URL = "https://verified-skill.com";
30
+ // ---------------------------------------------------------------------------
31
+ // Tests
32
+ // ---------------------------------------------------------------------------
33
+ beforeEach(() => {
34
+ vi.clearAllMocks();
35
+ });
36
+ afterAll(() => {
37
+ vi.unstubAllGlobals();
38
+ });
39
+ describe("searchSkills", () => {
40
+ it("encodes the query and parses the response", async () => {
41
+ const apiData = {
42
+ skills: [
43
+ {
44
+ name: "my-skill",
45
+ author: "alice",
46
+ certTier: "VERIFIED",
47
+ certScore: 95,
48
+ vskillInstalls: 1200,
49
+ description: "A great skill",
50
+ },
51
+ ],
52
+ };
53
+ mockFetch.mockResolvedValue(jsonResponse(apiData));
54
+ const results = await searchSkills("hello world");
55
+ expect(mockFetch).toHaveBeenCalledWith(`${BASE_URL}/api/v1/skills?search=hello%20world`, expect.objectContaining({
56
+ headers: expect.objectContaining({
57
+ "Content-Type": "application/json",
58
+ "User-Agent": "vskill-cli",
59
+ }),
60
+ }));
61
+ expect(results).toEqual([
62
+ {
63
+ name: "my-skill",
64
+ author: "alice",
65
+ tier: "VERIFIED",
66
+ score: 95,
67
+ installs: 1200,
68
+ description: "A great skill",
69
+ },
70
+ ]);
71
+ });
72
+ it("returns empty array when skills field is missing", async () => {
73
+ mockFetch.mockResolvedValue(jsonResponse({}));
74
+ const results = await searchSkills("nothing");
75
+ expect(results).toEqual([]);
76
+ });
77
+ it("falls back to 'tier' when 'certTier' is missing", async () => {
78
+ mockFetch.mockResolvedValue(jsonResponse({ skills: [{ name: "s", tier: "VERIFIED" }] }));
79
+ const results = await searchSkills("test");
80
+ expect(results[0].tier).toBe("VERIFIED");
81
+ });
82
+ it("defaults tier to 'SCANNED' when no tier field exists", async () => {
83
+ mockFetch.mockResolvedValue(jsonResponse({ skills: [{ name: "s" }] }));
84
+ const results = await searchSkills("test");
85
+ expect(results[0].tier).toBe("SCANNED");
86
+ });
87
+ it("falls back to 'score' when 'certScore' is missing", async () => {
88
+ mockFetch.mockResolvedValue(jsonResponse({ skills: [{ name: "s", score: 75 }] }));
89
+ const results = await searchSkills("test");
90
+ expect(results[0].score).toBe(75);
91
+ });
92
+ it("defaults score to 0 when no score field exists", async () => {
93
+ mockFetch.mockResolvedValue(jsonResponse({ skills: [{ name: "s" }] }));
94
+ const results = await searchSkills("test");
95
+ expect(results[0].score).toBe(0);
96
+ });
97
+ it("falls back to 'installs' when 'vskillInstalls' is missing", async () => {
98
+ mockFetch.mockResolvedValue(jsonResponse({ skills: [{ name: "s", installs: 500 }] }));
99
+ const results = await searchSkills("test");
100
+ expect(results[0].installs).toBe(500);
101
+ });
102
+ it("defaults installs to 0 when no installs field exists", async () => {
103
+ mockFetch.mockResolvedValue(jsonResponse({ skills: [{ name: "s" }] }));
104
+ const results = await searchSkills("test");
105
+ expect(results[0].installs).toBe(0);
106
+ });
107
+ });
108
+ describe("getSkill", () => {
109
+ it("fetches a skill by name", async () => {
110
+ const detail = {
111
+ name: "test-skill",
112
+ author: "bob",
113
+ tier: "SCANNED",
114
+ score: 50,
115
+ version: "1.2.3",
116
+ sha: "def456",
117
+ description: "Test skill",
118
+ installs: 300,
119
+ updatedAt: "2026-02-01T00:00:00Z",
120
+ };
121
+ mockFetch.mockResolvedValue(jsonResponse(detail));
122
+ const result = await getSkill("test-skill");
123
+ expect(mockFetch).toHaveBeenCalledWith(`${BASE_URL}/api/v1/skills/test-skill`, expect.objectContaining({
124
+ headers: expect.objectContaining({
125
+ "Content-Type": "application/json",
126
+ "User-Agent": "vskill-cli",
127
+ }),
128
+ }));
129
+ expect(result).toEqual(detail);
130
+ });
131
+ it("encodes special characters in skill name", async () => {
132
+ mockFetch.mockResolvedValue(jsonResponse({ name: "@org/skill" }));
133
+ await getSkill("@org/skill");
134
+ expect(mockFetch).toHaveBeenCalledWith(`${BASE_URL}/api/v1/skills/%40org%2Fskill`, expect.any(Object));
135
+ });
136
+ });
137
+ describe("submitSkill", () => {
138
+ it("sends a POST request with JSON body", async () => {
139
+ const submission = {
140
+ repoUrl: "https://github.com/alice/skill-repo",
141
+ skillName: "my-skill",
142
+ email: "alice@example.com",
143
+ };
144
+ const responseData = {
145
+ id: "sub-123",
146
+ status: "pending",
147
+ trackingUrl: "https://verified-skill.com/submissions/sub-123",
148
+ };
149
+ mockFetch.mockResolvedValue(jsonResponse(responseData));
150
+ const result = await submitSkill(submission);
151
+ expect(mockFetch).toHaveBeenCalledWith(`${BASE_URL}/api/v1/submissions`, expect.objectContaining({
152
+ method: "POST",
153
+ body: JSON.stringify(submission),
154
+ headers: expect.objectContaining({
155
+ "Content-Type": "application/json",
156
+ "User-Agent": "vskill-cli",
157
+ }),
158
+ }));
159
+ expect(result).toEqual(responseData);
160
+ });
161
+ });
162
+ describe("getSubmission", () => {
163
+ it("fetches submission by ID", async () => {
164
+ const data = { id: "sub-456", status: "completed", result: { ok: true } };
165
+ mockFetch.mockResolvedValue(jsonResponse(data));
166
+ const result = await getSubmission("sub-456");
167
+ expect(mockFetch).toHaveBeenCalledWith(`${BASE_URL}/api/v1/submissions/sub-456`, expect.objectContaining({
168
+ headers: expect.objectContaining({
169
+ "Content-Type": "application/json",
170
+ "User-Agent": "vskill-cli",
171
+ }),
172
+ }));
173
+ expect(result).toEqual(data);
174
+ });
175
+ });
176
+ describe("error handling", () => {
177
+ it("throws on non-ok response with status info", async () => {
178
+ mockFetch.mockResolvedValue(errorResponse(404, "Not Found", "skill not found"));
179
+ await expect(getSkill("nonexistent")).rejects.toThrow(/API request failed: 404 Not Found/);
180
+ });
181
+ it("includes response body in error message", async () => {
182
+ mockFetch.mockResolvedValue(errorResponse(500, "Internal Server Error", "database error"));
183
+ await expect(searchSkills("test")).rejects.toThrow(/database error/);
184
+ });
185
+ it("handles empty error body gracefully", async () => {
186
+ mockFetch.mockResolvedValue(errorResponse(403, "Forbidden", ""));
187
+ await expect(submitSkill({ repoUrl: "https://x.com/r" })).rejects.toThrow(/API request failed: 403 Forbidden/);
188
+ });
189
+ it("propagates network errors when fetch throws", async () => {
190
+ mockFetch.mockRejectedValue(new TypeError("Failed to fetch"));
191
+ await expect(searchSkills("test")).rejects.toThrow("Failed to fetch");
192
+ });
193
+ });
194
+ describe("headers", () => {
195
+ it("sends correct Content-Type and User-Agent headers", async () => {
196
+ mockFetch.mockResolvedValue(jsonResponse({ skills: [] }));
197
+ await searchSkills("test");
198
+ const callArgs = mockFetch.mock.calls[0];
199
+ const options = callArgs[1];
200
+ expect(options.headers["Content-Type"]).toBe("application/json");
201
+ expect(options.headers["User-Agent"]).toBe("vskill-cli");
202
+ });
203
+ });
204
+ //# sourceMappingURL=client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/api/client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { BlocklistEntry, BlocklistCache } from "./types.js";
2
+ /**
3
+ * Read the cached blocklist from disk.
4
+ * Returns null if the cache file does not exist or is corrupted.
5
+ */
6
+ export declare function getCachedBlocklist(): BlocklistCache | null;
7
+ /**
8
+ * Check whether the cached blocklist is older than the stale threshold (1 hour).
9
+ */
10
+ export declare function isBlocklistStale(cache: BlocklistCache): boolean;
11
+ /**
12
+ * Fetch the full blocklist from the API and write it to the local cache.
13
+ */
14
+ export declare function syncBlocklist(): Promise<BlocklistCache>;
15
+ /**
16
+ * Check whether a skill is on the blocklist.
17
+ *
18
+ * 1. Check local cache first.
19
+ * 2. If cache is stale, attempt to refresh from the API.
20
+ * 3. If the API is unreachable, fall back to the stale cache.
21
+ * 4. Returns the matching BlocklistEntry or null if not blocked.
22
+ */
23
+ export declare function checkBlocklist(skillName: string, contentHash?: string): Promise<BlocklistEntry | null>;