xibecode 1.0.2 → 1.0.6

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 (288) hide show
  1. package/dist/commands/chat.d.ts +0 -1
  2. package/dist/commands/chat.d.ts.map +1 -1
  3. package/dist/commands/chat.js +10 -7
  4. package/dist/commands/chat.js.map +1 -1
  5. package/dist/commands/config.d.ts.map +1 -1
  6. package/dist/commands/config.js +5 -3
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/diagnostics.js +1 -1
  9. package/dist/commands/diagnostics.js.map +1 -1
  10. package/dist/commands/mcp.js +1 -1
  11. package/dist/commands/mcp.js.map +1 -1
  12. package/dist/commands/resume.js +1 -1
  13. package/dist/commands/resume.js.map +1 -1
  14. package/dist/commands/run-pr.d.ts.map +1 -1
  15. package/dist/commands/run-pr.js +13 -10
  16. package/dist/commands/run-pr.js.map +1 -1
  17. package/dist/commands/run.d.ts.map +1 -1
  18. package/dist/commands/run.js +17 -14
  19. package/dist/commands/run.js.map +1 -1
  20. package/dist/commands/skills.d.ts.map +1 -1
  21. package/dist/commands/skills.js +3 -2
  22. package/dist/commands/skills.js.map +1 -1
  23. package/dist/components/AssistantMarkdown.js +1 -1
  24. package/dist/components/AssistantMarkdown.js.map +1 -1
  25. package/dist/index.js +2 -39
  26. package/dist/index.js.map +1 -1
  27. package/dist/ui/claude-style-chat.d.ts.map +1 -1
  28. package/dist/ui/claude-style-chat.js +15 -11
  29. package/dist/ui/claude-style-chat.js.map +1 -1
  30. package/dist/utils/built-in-skills-dir.d.ts +7 -0
  31. package/dist/utils/built-in-skills-dir.d.ts.map +1 -0
  32. package/dist/utils/built-in-skills-dir.js +11 -0
  33. package/dist/utils/built-in-skills-dir.js.map +1 -0
  34. package/dist/utils/config.d.ts +2 -119
  35. package/dist/utils/config.d.ts.map +1 -1
  36. package/dist/utils/config.js +3 -88
  37. package/dist/utils/config.js.map +1 -1
  38. package/package.json +11 -26
  39. package/dist/commands/punycode.d.ts +0 -5
  40. package/dist/commands/punycode.d.ts.map +0 -1
  41. package/dist/commands/punycode.js +0 -48
  42. package/dist/commands/punycode.js.map +0 -1
  43. package/dist/commands/tui.d.ts +0 -9
  44. package/dist/commands/tui.d.ts.map +0 -1
  45. package/dist/commands/tui.js +0 -83
  46. package/dist/commands/tui.js.map +0 -1
  47. package/dist/core/agent-tool-policies.d.ts +0 -5
  48. package/dist/core/agent-tool-policies.d.ts.map +0 -1
  49. package/dist/core/agent-tool-policies.js +0 -18
  50. package/dist/core/agent-tool-policies.js.map +0 -1
  51. package/dist/core/agent.d.ts +0 -181
  52. package/dist/core/agent.d.ts.map +0 -1
  53. package/dist/core/agent.js +0 -1777
  54. package/dist/core/agent.js.map +0 -1
  55. package/dist/core/background-agent.d.ts +0 -23
  56. package/dist/core/background-agent.d.ts.map +0 -1
  57. package/dist/core/background-agent.js +0 -175
  58. package/dist/core/background-agent.js.map +0 -1
  59. package/dist/core/code-graph.d.ts +0 -18
  60. package/dist/core/code-graph.d.ts.map +0 -1
  61. package/dist/core/code-graph.js +0 -105
  62. package/dist/core/code-graph.js.map +0 -1
  63. package/dist/core/conflict-solver.d.ts +0 -26
  64. package/dist/core/conflict-solver.d.ts.map +0 -1
  65. package/dist/core/conflict-solver.js +0 -108
  66. package/dist/core/conflict-solver.js.map +0 -1
  67. package/dist/core/context-compactor.d.ts +0 -10
  68. package/dist/core/context-compactor.d.ts.map +0 -1
  69. package/dist/core/context-compactor.js +0 -158
  70. package/dist/core/context-compactor.js.map +0 -1
  71. package/dist/core/context-pruner.d.ts +0 -19
  72. package/dist/core/context-pruner.d.ts.map +0 -1
  73. package/dist/core/context-pruner.js +0 -103
  74. package/dist/core/context-pruner.js.map +0 -1
  75. package/dist/core/context.d.ts +0 -82
  76. package/dist/core/context.d.ts.map +0 -1
  77. package/dist/core/context.js +0 -273
  78. package/dist/core/context.js.map +0 -1
  79. package/dist/core/conversation-recovery.d.ts +0 -9
  80. package/dist/core/conversation-recovery.d.ts.map +0 -1
  81. package/dist/core/conversation-recovery.js +0 -15
  82. package/dist/core/conversation-recovery.js.map +0 -1
  83. package/dist/core/debug-workflow.d.ts +0 -9
  84. package/dist/core/debug-workflow.d.ts.map +0 -1
  85. package/dist/core/debug-workflow.js +0 -19
  86. package/dist/core/debug-workflow.js.map +0 -1
  87. package/dist/core/docs-scraper.d.ts +0 -40
  88. package/dist/core/docs-scraper.d.ts.map +0 -1
  89. package/dist/core/docs-scraper.js +0 -386
  90. package/dist/core/docs-scraper.js.map +0 -1
  91. package/dist/core/editor.d.ts +0 -87
  92. package/dist/core/editor.d.ts.map +0 -1
  93. package/dist/core/editor.js +0 -377
  94. package/dist/core/editor.js.map +0 -1
  95. package/dist/core/export.d.ts +0 -11
  96. package/dist/core/export.d.ts.map +0 -1
  97. package/dist/core/export.js +0 -54
  98. package/dist/core/export.js.map +0 -1
  99. package/dist/core/history-manager.d.ts +0 -75
  100. package/dist/core/history-manager.d.ts.map +0 -1
  101. package/dist/core/history-manager.js +0 -146
  102. package/dist/core/history-manager.js.map +0 -1
  103. package/dist/core/marketplace-client.d.ts +0 -52
  104. package/dist/core/marketplace-client.d.ts.map +0 -1
  105. package/dist/core/marketplace-client.js +0 -71
  106. package/dist/core/marketplace-client.js.map +0 -1
  107. package/dist/core/mcp/mcp-config.d.ts +0 -10
  108. package/dist/core/mcp/mcp-config.d.ts.map +0 -1
  109. package/dist/core/mcp/mcp-config.js +0 -70
  110. package/dist/core/mcp/mcp-config.js.map +0 -1
  111. package/dist/core/mcp/mcp-policy.d.ts +0 -17
  112. package/dist/core/mcp/mcp-policy.d.ts.map +0 -1
  113. package/dist/core/mcp/mcp-policy.js +0 -56
  114. package/dist/core/mcp/mcp-policy.js.map +0 -1
  115. package/dist/core/mcp/oauth-flow.d.ts +0 -30
  116. package/dist/core/mcp/oauth-flow.d.ts.map +0 -1
  117. package/dist/core/mcp/oauth-flow.js +0 -230
  118. package/dist/core/mcp/oauth-flow.js.map +0 -1
  119. package/dist/core/mcp/oauth-store.d.ts +0 -13
  120. package/dist/core/mcp/oauth-store.d.ts.map +0 -1
  121. package/dist/core/mcp/oauth-store.js +0 -68
  122. package/dist/core/mcp/oauth-store.js.map +0 -1
  123. package/dist/core/mcp/resolve-mcp-servers.d.ts +0 -16
  124. package/dist/core/mcp/resolve-mcp-servers.d.ts.map +0 -1
  125. package/dist/core/mcp/resolve-mcp-servers.js +0 -83
  126. package/dist/core/mcp/resolve-mcp-servers.js.map +0 -1
  127. package/dist/core/mcp-client.d.ts +0 -99
  128. package/dist/core/mcp-client.d.ts.map +0 -1
  129. package/dist/core/mcp-client.js +0 -315
  130. package/dist/core/mcp-client.js.map +0 -1
  131. package/dist/core/memory-promotions.d.ts +0 -15
  132. package/dist/core/memory-promotions.d.ts.map +0 -1
  133. package/dist/core/memory-promotions.js +0 -38
  134. package/dist/core/memory-promotions.js.map +0 -1
  135. package/dist/core/memory.d.ts +0 -32
  136. package/dist/core/memory.d.ts.map +0 -1
  137. package/dist/core/memory.js +0 -121
  138. package/dist/core/memory.js.map +0 -1
  139. package/dist/core/modes.d.ts +0 -432
  140. package/dist/core/modes.d.ts.map +0 -1
  141. package/dist/core/modes.js +0 -1088
  142. package/dist/core/modes.js.map +0 -1
  143. package/dist/core/pattern-miner.d.ts +0 -43
  144. package/dist/core/pattern-miner.d.ts.map +0 -1
  145. package/dist/core/pattern-miner.js +0 -123
  146. package/dist/core/pattern-miner.js.map +0 -1
  147. package/dist/core/permission-store.d.ts +0 -15
  148. package/dist/core/permission-store.d.ts.map +0 -1
  149. package/dist/core/permission-store.js +0 -30
  150. package/dist/core/permission-store.js.map +0 -1
  151. package/dist/core/permissions.d.ts +0 -33
  152. package/dist/core/permissions.d.ts.map +0 -1
  153. package/dist/core/permissions.js +0 -141
  154. package/dist/core/permissions.js.map +0 -1
  155. package/dist/core/plan-artifacts.d.ts +0 -10
  156. package/dist/core/plan-artifacts.d.ts.map +0 -1
  157. package/dist/core/plan-artifacts.js +0 -60
  158. package/dist/core/plan-artifacts.js.map +0 -1
  159. package/dist/core/plan-session.d.ts +0 -25
  160. package/dist/core/plan-session.d.ts.map +0 -1
  161. package/dist/core/plan-session.js +0 -99
  162. package/dist/core/plan-session.js.map +0 -1
  163. package/dist/core/planMode.d.ts +0 -51
  164. package/dist/core/planMode.d.ts.map +0 -1
  165. package/dist/core/planMode.js +0 -245
  166. package/dist/core/planMode.js.map +0 -1
  167. package/dist/core/plugins.d.ts +0 -96
  168. package/dist/core/plugins.d.ts.map +0 -1
  169. package/dist/core/plugins.js +0 -202
  170. package/dist/core/plugins.js.map +0 -1
  171. package/dist/core/session-bridge.d.ts +0 -128
  172. package/dist/core/session-bridge.d.ts.map +0 -1
  173. package/dist/core/session-bridge.js +0 -328
  174. package/dist/core/session-bridge.js.map +0 -1
  175. package/dist/core/session-manager.d.ts +0 -80
  176. package/dist/core/session-manager.d.ts.map +0 -1
  177. package/dist/core/session-manager.js +0 -166
  178. package/dist/core/session-manager.js.map +0 -1
  179. package/dist/core/session-memory.d.ts +0 -45
  180. package/dist/core/session-memory.d.ts.map +0 -1
  181. package/dist/core/session-memory.js +0 -103
  182. package/dist/core/session-memory.js.map +0 -1
  183. package/dist/core/skill-selection.d.ts +0 -36
  184. package/dist/core/skill-selection.d.ts.map +0 -1
  185. package/dist/core/skill-selection.js +0 -172
  186. package/dist/core/skill-selection.js.map +0 -1
  187. package/dist/core/skills-sh-client.d.ts +0 -19
  188. package/dist/core/skills-sh-client.d.ts.map +0 -1
  189. package/dist/core/skills-sh-client.js +0 -75
  190. package/dist/core/skills-sh-client.js.map +0 -1
  191. package/dist/core/skills.d.ts +0 -97
  192. package/dist/core/skills.d.ts.map +0 -1
  193. package/dist/core/skills.js +0 -339
  194. package/dist/core/skills.js.map +0 -1
  195. package/dist/core/swarm.d.ts +0 -34
  196. package/dist/core/swarm.d.ts.map +0 -1
  197. package/dist/core/swarm.js +0 -111
  198. package/dist/core/swarm.js.map +0 -1
  199. package/dist/core/task-status.d.ts +0 -13
  200. package/dist/core/task-status.d.ts.map +0 -1
  201. package/dist/core/task-status.js +0 -17
  202. package/dist/core/task-status.js.map +0 -1
  203. package/dist/core/tool-orchestrator.d.ts +0 -30
  204. package/dist/core/tool-orchestrator.d.ts.map +0 -1
  205. package/dist/core/tool-orchestrator.js +0 -89
  206. package/dist/core/tool-orchestrator.js.map +0 -1
  207. package/dist/core/tools.d.ts +0 -462
  208. package/dist/core/tools.d.ts.map +0 -1
  209. package/dist/core/tools.js +0 -2916
  210. package/dist/core/tools.js.map +0 -1
  211. package/dist/core/transcript-cleanup.d.ts +0 -8
  212. package/dist/core/transcript-cleanup.d.ts.map +0 -1
  213. package/dist/core/transcript-cleanup.js +0 -52
  214. package/dist/core/transcript-cleanup.js.map +0 -1
  215. package/dist/core/visual-feedback.d.ts +0 -20
  216. package/dist/core/visual-feedback.d.ts.map +0 -1
  217. package/dist/core/visual-feedback.js +0 -117
  218. package/dist/core/visual-feedback.js.map +0 -1
  219. package/dist/tools/browser.d.ts +0 -120
  220. package/dist/tools/browser.d.ts.map +0 -1
  221. package/dist/tools/browser.js +0 -439
  222. package/dist/tools/browser.js.map +0 -1
  223. package/dist/tools/test-generator.d.ts +0 -157
  224. package/dist/tools/test-generator.d.ts.map +0 -1
  225. package/dist/tools/test-generator.js +0 -893
  226. package/dist/tools/test-generator.js.map +0 -1
  227. package/dist/tui/InkApp.d.ts +0 -21
  228. package/dist/tui/InkApp.d.ts.map +0 -1
  229. package/dist/tui/InkApp.js +0 -146
  230. package/dist/tui/InkApp.js.map +0 -1
  231. package/dist/tui/MarkdownMessage.d.ts +0 -16
  232. package/dist/tui/MarkdownMessage.d.ts.map +0 -1
  233. package/dist/tui/MarkdownMessage.js +0 -63
  234. package/dist/tui/MarkdownMessage.js.map +0 -1
  235. package/dist/tui/blessed-chat.d.ts +0 -9
  236. package/dist/tui/blessed-chat.d.ts.map +0 -1
  237. package/dist/tui/blessed-chat.js +0 -887
  238. package/dist/tui/blessed-chat.js.map +0 -1
  239. package/dist/tui/markdown-to-blessed.d.ts +0 -6
  240. package/dist/tui/markdown-to-blessed.d.ts.map +0 -1
  241. package/dist/tui/markdown-to-blessed.js +0 -26
  242. package/dist/tui/markdown-to-blessed.js.map +0 -1
  243. package/dist/ui/ink/App.d.ts +0 -25
  244. package/dist/ui/ink/App.d.ts.map +0 -1
  245. package/dist/ui/ink/App.js +0 -372
  246. package/dist/ui/ink/App.js.map +0 -1
  247. package/dist/utils/at-references.d.ts +0 -14
  248. package/dist/utils/at-references.d.ts.map +0 -1
  249. package/dist/utils/at-references.js +0 -47
  250. package/dist/utils/at-references.js.map +0 -1
  251. package/dist/utils/auto-memory.d.ts +0 -24
  252. package/dist/utils/auto-memory.d.ts.map +0 -1
  253. package/dist/utils/auto-memory.js +0 -153
  254. package/dist/utils/auto-memory.js.map +0 -1
  255. package/dist/utils/git.d.ts +0 -89
  256. package/dist/utils/git.d.ts.map +0 -1
  257. package/dist/utils/git.js +0 -444
  258. package/dist/utils/git.js.map +0 -1
  259. package/dist/utils/mcp-servers-file.d.ts +0 -46
  260. package/dist/utils/mcp-servers-file.d.ts.map +0 -1
  261. package/dist/utils/mcp-servers-file.js +0 -212
  262. package/dist/utils/mcp-servers-file.js.map +0 -1
  263. package/dist/utils/safety.d.ts +0 -60
  264. package/dist/utils/safety.d.ts.map +0 -1
  265. package/dist/utils/safety.js +0 -254
  266. package/dist/utils/safety.js.map +0 -1
  267. package/dist/utils/smithery.d.ts +0 -25
  268. package/dist/utils/smithery.d.ts.map +0 -1
  269. package/dist/utils/smithery.js +0 -50
  270. package/dist/utils/smithery.js.map +0 -1
  271. package/dist/utils/testRunner.d.ts +0 -44
  272. package/dist/utils/testRunner.d.ts.map +0 -1
  273. package/dist/utils/testRunner.js +0 -270
  274. package/dist/utils/testRunner.js.map +0 -1
  275. package/dist/webui/server.d.ts +0 -99
  276. package/dist/webui/server.d.ts.map +0 -1
  277. package/dist/webui/server.js +0 -2619
  278. package/dist/webui/server.js.map +0 -1
  279. package/webui-dist/assets/index-CSla6Lzy.css +0 -32
  280. package/webui-dist/assets/index-G_Z4gzPy.js +0 -457
  281. package/webui-dist/assets/index-G_Z4gzPy.js.map +0 -1
  282. package/webui-dist/assets/xterm-Da5jL1MD.js +0 -10
  283. package/webui-dist/assets/xterm-Da5jL1MD.js.map +0 -1
  284. package/webui-dist/assets/xterm-addon-fit-CMeqLIvm.js +0 -2
  285. package/webui-dist/assets/xterm-addon-fit-CMeqLIvm.js.map +0 -1
  286. package/webui-dist/assets/xterm-addon-web-links-D6m8jNVE.js +0 -2
  287. package/webui-dist/assets/xterm-addon-web-links-D6m8jNVE.js.map +0 -1
  288. package/webui-dist/index.html +0 -15
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills-sh-client.d.ts","sourceRoot":"","sources":["../../src/core/skills-sh-client.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAc;IACvB;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAatD;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsBzE,OAAO,CAAC,kBAAkB;CA6B7B"}
@@ -1,75 +0,0 @@
1
- import { exec } from 'child_process';
2
- import { promisify } from 'util';
3
- import * as path from 'path';
4
- import * as fs from 'fs/promises';
5
- import stripAnsi from 'strip-ansi';
6
- const execAsync = promisify(exec);
7
- export class SkillsShClient {
8
- /**
9
- * Search for skills using `npx skills find`
10
- */
11
- async search(query) {
12
- try {
13
- // Run npx skills find [query]
14
- // We use -y to skip confirmation
15
- const { stdout } = await execAsync(`npx -y skills find "${query}"`);
16
- return this.parseSearchResults(stripAnsi(stdout));
17
- }
18
- catch (error) {
19
- console.warn('Skills.sh search error:', error.message);
20
- return [];
21
- }
22
- }
23
- /**
24
- * Install a skill using `npx skills add`
25
- * Note: This CLI installs skills to the local project or global scope.
26
- * We'll try to detect where it went or just let it install to the cwd by default
27
- * and then move it if necessary, but for now we trust `npx skills add` to do its thing.
28
- */
29
- async install(skillId, targetDir) {
30
- try {
31
- await fs.mkdir(targetDir, { recursive: true });
32
- const before = new Set((await fs.readdir(targetDir)).filter((f) => f.endsWith('.md')));
33
- await execAsync(`npx -y skills add ${skillId} -y`, { cwd: targetDir });
34
- const afterList = (await fs.readdir(targetDir)).filter((f) => f.endsWith('.md'));
35
- const after = new Set(afterList);
36
- const created = afterList.find((f) => !before.has(f));
37
- if (created) {
38
- return path.join(targetDir, created);
39
- }
40
- // Fallback: if nothing obvious, just return a success message.
41
- return `Skill ${skillId} installed successfully.`;
42
- }
43
- catch (error) {
44
- console.error('Skills.sh install error:', error.message);
45
- return null;
46
- }
47
- }
48
- parseSearchResults(stdout) {
49
- const results = [];
50
- const lines = stdout.split('\n');
51
- // Example output:
52
- // vercel-labs/agent-skills@vercel-react-best-practices
53
- // └ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices
54
- let currentId = '';
55
- for (const line of lines) {
56
- const trimmed = line.trim();
57
- if (!trimmed)
58
- continue;
59
- if (trimmed.startsWith('└')) {
60
- // Link line
61
- const url = trimmed.substring(2).trim();
62
- if (currentId && url) {
63
- results.push({ id: currentId, url });
64
- currentId = '';
65
- }
66
- }
67
- else if (!trimmed.startsWith('Install with') && !trimmed.includes('skills.sh') && trimmed.includes('/')) {
68
- // Likely an ID line like "owner/repo@skill"
69
- currentId = trimmed;
70
- }
71
- }
72
- return results;
73
- }
74
- }
75
- //# sourceMappingURL=skills-sh-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills-sh-client.js","sourceRoot":"","sources":["../../src/core/skills-sh-client.ts"],"names":[],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- import { type MarketplaceSkillResult } from './marketplace-client.js';
2
- import { type SkillsShResult } from './skills-sh-client.js';
3
- import { ProviderType } from '../utils/config.js';
4
- import { type SkillSelectionOptions } from './skill-selection.js';
5
- export interface Skill {
6
- name: string;
7
- description: string;
8
- instructions: string;
9
- tags?: string[];
10
- provenance?: 'built-in' | 'user' | 'marketplace' | 'skills.sh' | 'mcp';
11
- filePath?: string;
12
- }
13
- export declare class SkillManager {
14
- private skills;
15
- /** Skills loaded from the shipped `skills/` directory (for system-prompt injection). */
16
- private builtInSkills;
17
- private builtInSkillsDir;
18
- private userSkillsDir;
19
- private marketplace;
20
- private skillsSh;
21
- private aiConfig;
22
- constructor(workingDir?: string, apiKey?: string, baseUrl?: string, model?: string, provider?: ProviderType);
23
- loadSkills(): Promise<void>;
24
- private loadSkillsFromDirectory;
25
- private parseSkillFile;
26
- getSkill(name: string): Skill | undefined;
27
- listSkills(): Skill[];
28
- /**
29
- * Build the bundled-skills block for the system prompt by **selecting** skills that match
30
- * the task text and `package.json` dependencies (plus a small always-on core set).
31
- */
32
- buildDefaultSkillsPromptForTask(taskPrompt: string, cwd: string, options?: SkillSelectionOptions): Promise<string>;
33
- private formatSkillCatalogForPrompt;
34
- /**
35
- * @deprecated Prefer `buildDefaultSkillsPromptForTask` so selection scales with many bundled skills.
36
- * Formats every loaded built-in skill (no dependency-aware selection).
37
- */
38
- formatBuiltInSkillsForSystemPrompt(): string;
39
- private formatSelectedBuiltInSkillsForPrompt;
40
- searchSkills(query: string): Skill[];
41
- /**
42
- * Search the Skills Marketplace for community skills
43
- */
44
- searchMarketplace(query?: string, limit?: number): Promise<MarketplaceSkillResult[]>;
45
- /**
46
- * Install a skill from the marketplace by ID
47
- * Downloads the content and saves it to the user skills directory
48
- */
49
- installFromMarketplace(id: string, skillName: string, onProgress?: (msg: string) => void): Promise<{
50
- success: boolean;
51
- filePath: string;
52
- error?: string;
53
- }>;
54
- /**
55
- * Upload a skill to the marketplace
56
- */
57
- uploadToMarketplace(content: string, skillName?: string, onProgress?: (msg: string) => void): Promise<{
58
- success: boolean;
59
- skillId?: string;
60
- error?: string;
61
- }>;
62
- /**
63
- * Learn a skill from documentation URL.
64
- * Crawls the docs site, scrapes pages, and generates a skill file.
65
- * Auto-uploads to the Skills Marketplace on success.
66
- */
67
- learnFromDocs(name: string, url: string, maxPages?: number, onProgress?: (msg: string) => void): Promise<{
68
- success: boolean;
69
- pagesScraped: number;
70
- filePath: string;
71
- error?: string;
72
- marketplaceId?: string;
73
- }>;
74
- autoInstallFromSkillsShForTask(taskPrompt: string, opts?: {
75
- enabled?: boolean;
76
- maxInstalls?: number;
77
- onProgress?: (msg: string) => void;
78
- }): Promise<{
79
- installed: boolean;
80
- skillId?: string;
81
- installedSkillNames?: string[];
82
- message?: string;
83
- }>;
84
- /**
85
- * Search skills.sh for skills
86
- */
87
- searchSkillsSh(query: string): Promise<SkillsShResult[]>;
88
- /**
89
- * Install a skill from skills.sh
90
- */
91
- installFromSkillsSh(skillId: string): Promise<{
92
- success: boolean;
93
- message?: string;
94
- filePath?: string;
95
- }>;
96
- }
97
- //# sourceMappingURL=skills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
@@ -1,339 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import * as path from 'path';
3
- import { fileURLToPath } from 'url';
4
- import { dirname } from 'path';
5
- import matter from 'gray-matter';
6
- import { crawlDocs, generateSkillFromDocs } from './docs-scraper.js';
7
- import { MarketplaceClient } from './marketplace-client.js';
8
- import { SkillsShClient } from './skills-sh-client.js';
9
- import { extractDepTokens, selectRelevantBuiltInSkills, formatSelectionSummary, } from './skill-selection.js';
10
- const __filename = fileURLToPath(import.meta.url);
11
- const __dirname = dirname(__filename);
12
- export class SkillManager {
13
- skills = new Map();
14
- /** Skills loaded from the shipped `skills/` directory (for system-prompt injection). */
15
- builtInSkills = [];
16
- builtInSkillsDir;
17
- userSkillsDir;
18
- marketplace;
19
- skillsSh;
20
- aiConfig;
21
- constructor(workingDir = process.cwd(), apiKey, baseUrl, model, provider) {
22
- // Built-in skills shipped with XibeCode
23
- this.builtInSkillsDir = path.join(__dirname, '..', '..', 'skills');
24
- // User-defined skills in project
25
- this.userSkillsDir = path.join(workingDir, '.xibecode', 'skills');
26
- this.marketplace = new MarketplaceClient();
27
- this.skillsSh = new SkillsShClient();
28
- this.aiConfig = {
29
- apiKey: apiKey || process.env.ANTHROPIC_API_KEY || process.env.OPENAI_API_KEY || '',
30
- baseUrl,
31
- model,
32
- provider,
33
- };
34
- }
35
- async loadSkills() {
36
- this.builtInSkills = [];
37
- // Load built-in skills
38
- await this.loadSkillsFromDirectory(this.builtInSkillsDir, 'built-in');
39
- // Load user skills (if directory exists)
40
- try {
41
- await fs.access(this.userSkillsDir);
42
- await this.loadSkillsFromDirectory(this.userSkillsDir, 'user');
43
- }
44
- catch {
45
- // User skills directory doesn't exist, skip
46
- }
47
- }
48
- async loadSkillsFromDirectory(dir, source) {
49
- try {
50
- const files = await fs.readdir(dir);
51
- const skillFiles = files.filter(f => f.endsWith('.md'));
52
- for (const file of skillFiles) {
53
- const filePath = path.join(dir, file);
54
- const content = await fs.readFile(filePath, 'utf-8');
55
- const skill = this.parseSkillFile(content, file, {
56
- provenance: source === 'built-in' ? 'built-in' : 'user',
57
- filePath,
58
- });
59
- if (skill) {
60
- this.skills.set(skill.name, skill);
61
- if (source === 'built-in') {
62
- this.builtInSkills.push(skill);
63
- }
64
- }
65
- }
66
- }
67
- catch (error) {
68
- // Directory doesn't exist or can't be read
69
- if (source === 'built-in') {
70
- console.warn(`Warning: Could not load built-in skills from ${dir}`);
71
- }
72
- }
73
- }
74
- parseSkillFile(content, filename, metaOverride) {
75
- try {
76
- const parsed = matter(content);
77
- const data = (parsed.data || {});
78
- const nameFromFile = filename.replace(/\.md$/i, '');
79
- const name = typeof data.name === 'string' && data.name.trim() ? data.name.trim() : nameFromFile;
80
- const description = typeof data.description === 'string' ? data.description : '';
81
- const tags = Array.isArray(data.tags) ? data.tags.map(String) :
82
- typeof data.tags === 'string' ? data.tags.split(',').map((t) => t.trim()).filter(Boolean) :
83
- [];
84
- const instructions = (parsed.content || '').trim();
85
- if (!instructions)
86
- return null;
87
- return {
88
- name,
89
- description,
90
- instructions,
91
- tags,
92
- provenance: metaOverride?.provenance,
93
- filePath: metaOverride?.filePath,
94
- };
95
- }
96
- catch {
97
- return null;
98
- }
99
- }
100
- getSkill(name) {
101
- return this.skills.get(name);
102
- }
103
- listSkills() {
104
- return Array.from(this.skills.values());
105
- }
106
- /**
107
- * Build the bundled-skills block for the system prompt by **selecting** skills that match
108
- * the task text and `package.json` dependencies (plus a small always-on core set).
109
- */
110
- async buildDefaultSkillsPromptForTask(taskPrompt, cwd, options) {
111
- if (this.builtInSkills.length === 0)
112
- return '';
113
- let depTokens = new Set();
114
- try {
115
- const raw = await fs.readFile(path.join(cwd, 'package.json'), 'utf-8');
116
- depTokens = extractDepTokens(JSON.parse(raw));
117
- }
118
- catch {
119
- /* no package.json */
120
- }
121
- const selected = selectRelevantBuiltInSkills(this.builtInSkills, taskPrompt, depTokens, options);
122
- const summary = formatSelectionSummary(selected, this.builtInSkills.length);
123
- const bundledBlock = this.formatSelectedBuiltInSkillsForPrompt(selected, summary);
124
- const catalog = this.formatSkillCatalogForPrompt({ maxChars: 2000 });
125
- return bundledBlock + (catalog ? `\n\n---\n\n${catalog}` : '');
126
- }
127
- formatSkillCatalogForPrompt(opts) {
128
- const all = this.listSkills()
129
- .filter((s) => s.provenance !== 'built-in')
130
- .sort((a, b) => a.name.localeCompare(b.name));
131
- if (all.length === 0)
132
- return '';
133
- const lines = all.map((s) => `- ${s.name}${s.description ? ` — ${s.description}` : ''}`);
134
- let out = `## Available local skills\n\n${lines.join('\n')}`;
135
- if (out.length > opts.maxChars) {
136
- out = out.slice(0, opts.maxChars) + '\n\n[Skill list truncated]';
137
- }
138
- return out;
139
- }
140
- /**
141
- * @deprecated Prefer `buildDefaultSkillsPromptForTask` so selection scales with many bundled skills.
142
- * Formats every loaded built-in skill (no dependency-aware selection).
143
- */
144
- formatBuiltInSkillsForSystemPrompt() {
145
- if (this.builtInSkills.length === 0)
146
- return '';
147
- return this.formatSelectedBuiltInSkillsForPrompt(this.builtInSkills, formatSelectionSummary(this.builtInSkills, this.builtInSkills.length));
148
- }
149
- formatSelectedBuiltInSkillsForPrompt(selected, selectionSummary) {
150
- if (selected.length === 0)
151
- return '';
152
- const maxTotal = 28_000;
153
- const intro = selectionSummary +
154
- '\n\nApply the subsections below when they fit the work. For more domain skills, use `search_skills_sh` or add files under `.xibecode/skills`.\n\n';
155
- const sorted = [...selected].sort((a, b) => a.name.localeCompare(b.name));
156
- const parts = sorted.map((s) => `### ${s.name}\n*${s.description}*\n\n${s.instructions}`);
157
- let body = `## Default bundled skills\n\n${intro}` + parts.join('\n\n---\n\n');
158
- if (body.length > maxTotal) {
159
- body =
160
- body.slice(0, maxTotal) +
161
- '\n\n[Bundled skills truncated for length; follow the skill titles above and general best practices.]';
162
- }
163
- return body;
164
- }
165
- searchSkills(query) {
166
- const lowerQuery = query.toLowerCase();
167
- return this.listSkills().filter(skill => skill.name.toLowerCase().includes(lowerQuery) ||
168
- skill.description.toLowerCase().includes(lowerQuery) ||
169
- skill.tags?.some(tag => tag.toLowerCase().includes(lowerQuery)));
170
- }
171
- /**
172
- * Search the Skills Marketplace for community skills
173
- */
174
- async searchMarketplace(query = '', limit = 10) {
175
- try {
176
- const response = await this.marketplace.searchSkills(query, limit);
177
- return response.results;
178
- }
179
- catch (error) {
180
- throw new Error(`Marketplace search failed: ${error.message}`);
181
- }
182
- }
183
- /**
184
- * Install a skill from the marketplace by ID
185
- * Downloads the content and saves it to the user skills directory
186
- */
187
- async installFromMarketplace(id, skillName, onProgress) {
188
- try {
189
- onProgress?.('Downloading skill from marketplace...');
190
- const { content, name } = await this.marketplace.getSkillContent(id);
191
- // Ensure user skills directory exists
192
- await fs.mkdir(this.userSkillsDir, { recursive: true });
193
- // Sanitize filename
194
- const fileName = skillName.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/-+/g, '-');
195
- const filePath = path.join(this.userSkillsDir, `${fileName}.md`);
196
- // If the content doesn't have frontmatter, wrap it
197
- let finalContent = content;
198
- if (!content.startsWith('---')) {
199
- finalContent = `---\nname: ${name || skillName}\ndescription: Installed from Skills Marketplace\ntags: marketplace\n---\n\n${content}`;
200
- }
201
- await fs.writeFile(filePath, finalContent, 'utf-8');
202
- onProgress?.('Skill saved locally');
203
- // Register the skill locally
204
- const skill = this.parseSkillFile(finalContent, `${fileName}.md`, {
205
- provenance: 'marketplace',
206
- filePath,
207
- });
208
- if (skill) {
209
- this.skills.set(skill.name, skill);
210
- }
211
- return { success: true, filePath };
212
- }
213
- catch (error) {
214
- return { success: false, filePath: '', error: error.message };
215
- }
216
- }
217
- /**
218
- * Upload a skill to the marketplace
219
- */
220
- async uploadToMarketplace(content, skillName, onProgress) {
221
- try {
222
- onProgress?.('Uploading skill to marketplace...');
223
- const result = await this.marketplace.uploadSkill(content, skillName);
224
- onProgress?.(`Skill published to marketplace as "${result.skill.name}"`);
225
- return { success: true, skillId: result.skillId };
226
- }
227
- catch (error) {
228
- return { success: false, error: error.message };
229
- }
230
- }
231
- /**
232
- * Learn a skill from documentation URL.
233
- * Crawls the docs site, scrapes pages, and generates a skill file.
234
- * Auto-uploads to the Skills Marketplace on success.
235
- */
236
- async learnFromDocs(name, url, maxPages = 25, onProgress) {
237
- try {
238
- // Crawl docs
239
- const pages = await crawlDocs(url, maxPages, onProgress);
240
- if (pages.length === 0) {
241
- return { success: false, pagesScraped: 0, filePath: '', error: 'No pages could be scraped from that URL' };
242
- }
243
- // Generate skill content using AI synthesis
244
- const skillContent = await generateSkillFromDocs(name, url, pages, this.aiConfig, onProgress);
245
- // Ensure user skills directory exists
246
- await fs.mkdir(this.userSkillsDir, { recursive: true });
247
- // Save skill file
248
- const filePath = path.join(this.userSkillsDir, `${name}.md`);
249
- await fs.writeFile(filePath, skillContent, 'utf-8');
250
- // Parse and register the skill
251
- const skill = this.parseSkillFile(skillContent, `${name}.md`);
252
- if (skill) {
253
- this.skills.set(skill.name, skill);
254
- }
255
- // Auto-upload to marketplace
256
- let marketplaceId;
257
- try {
258
- onProgress?.('Publishing skill to marketplace...');
259
- const uploadResult = await this.marketplace.uploadSkill(skillContent, name);
260
- marketplaceId = uploadResult.skillId;
261
- onProgress?.(`Skill published to marketplace as "${uploadResult.skill.name}"`);
262
- }
263
- catch (uploadError) {
264
- onProgress?.(`Marketplace upload skipped: ${uploadError.message}`);
265
- }
266
- return { success: true, pagesScraped: pages.length, filePath, marketplaceId };
267
- }
268
- catch (error) {
269
- return { success: false, pagesScraped: 0, filePath: '', error: error.message };
270
- }
271
- }
272
- async autoInstallFromSkillsShForTask(taskPrompt, opts) {
273
- const enabled = opts?.enabled ?? false;
274
- const maxInstalls = opts?.maxInstalls ?? 1;
275
- if (!enabled)
276
- return { installed: false };
277
- if (!taskPrompt.trim())
278
- return { installed: false };
279
- if (maxInstalls <= 0)
280
- return { installed: false };
281
- // If the user already has relevant local skills, don’t auto-install new ones.
282
- // “Relevant” here is a cheap metadata search (name/description/tags) to avoid silent growth.
283
- try {
284
- const existingMd = (await fs.readdir(this.userSkillsDir)).filter((f) => f.endsWith('.md'));
285
- if (existingMd.length > 0) {
286
- const localMatches = this.searchSkills(taskPrompt).filter((s) => s.provenance !== 'built-in');
287
- if (localMatches.length > 0)
288
- return { installed: false, message: 'Local skills matched; skipping auto-install' };
289
- }
290
- }
291
- catch {
292
- // ignore
293
- }
294
- const beforeNames = new Set(this.listSkills().map((s) => s.name));
295
- opts?.onProgress?.('Searching skills.sh for relevant skills…');
296
- const results = await this.searchSkillsSh(taskPrompt);
297
- const first = results[0];
298
- if (!first)
299
- return { installed: false, message: 'No skills.sh results' };
300
- opts?.onProgress?.(`Installing skills.sh skill: ${first.id}`);
301
- const installResult = await this.installFromSkillsSh(first.id);
302
- if (!installResult.success) {
303
- return { installed: false, skillId: first.id, message: installResult.message };
304
- }
305
- const after = this.listSkills().map((s) => s.name);
306
- const added = after.filter((n) => !beforeNames.has(n));
307
- return { installed: true, skillId: first.id, installedSkillNames: added, message: installResult.message };
308
- }
309
- /**
310
- * Search skills.sh for skills
311
- */
312
- async searchSkillsSh(query) {
313
- return this.skillsSh.search(query);
314
- }
315
- /**
316
- * Install a skill from skills.sh
317
- */
318
- async installFromSkillsSh(skillId) {
319
- // We'll install strictly to the user skills directory if possible
320
- // But npx skills add might install to a different location or just output the file
321
- // For now, we'll run it in the user skills directory
322
- try {
323
- await fs.mkdir(this.userSkillsDir, { recursive: true });
324
- const result = await this.skillsSh.install(skillId, this.userSkillsDir);
325
- // Reload skills to pick up the new one
326
- await this.loadSkillsFromDirectory(this.userSkillsDir, 'user');
327
- const installedPath = result && result.endsWith('.md') ? result : undefined;
328
- return {
329
- success: !!result,
330
- message: result || 'Installation failed',
331
- filePath: installedPath,
332
- };
333
- }
334
- catch (error) {
335
- return { success: false, message: error.message };
336
- }
337
- }
338
- }
339
- //# sourceMappingURL=skills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import { BackgroundAgentManager } from './background-agent.js';
2
- import { AgentMode } from './modes.js';
3
- export interface SubtaskResult {
4
- success: boolean;
5
- result: string;
6
- taskId: string;
7
- status: 'completed' | 'failed' | 'timeout' | 'killed';
8
- /** Set when returned from parallel swarm runs */
9
- worker_type?: AgentMode;
10
- }
11
- /** Default cap on concurrent background agent processes (overridable via `run_swarm` max_parallel). */
12
- export declare const DEFAULT_SWARM_MAX_PARALLEL = 6;
13
- export declare class SwarmOrchestrator {
14
- private backgroundAgent;
15
- constructor(backgroundAgent: BackgroundAgentManager);
16
- /**
17
- * Delegates a task to a specialized agent mode.
18
- * Starts a background agent with specific mode instructions and waits for completion.
19
- */
20
- delegateSubtask(mode: AgentMode, task: string, timeoutMs?: number): Promise<SubtaskResult>;
21
- private pollTask;
22
- /**
23
- * Run multiple delegated subtasks with bounded concurrency (parallel when there are multiple workers).
24
- * Each subtask is an isolated background `xibecode run` process; overlapping writes to the same files can conflict.
25
- */
26
- delegateSubtasksParallel(subtasks: {
27
- mode: AgentMode;
28
- task: string;
29
- }[], options?: {
30
- timeoutMs?: number;
31
- maxConcurrent?: number;
32
- }): Promise<SubtaskResult[]>;
33
- }
34
- //# sourceMappingURL=swarm.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/core/swarm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACtD,iDAAiD;IACjD,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,uGAAuG;AACvG,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAyB5C,qBAAa,iBAAiB;IACd,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,sBAAsB;IAE3D;;;OAGG;IACG,eAAe,CACjB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAkB,GAC9B,OAAO,CAAC,aAAa,CAAC;YA6BX,QAAQ;IA8CtB;;;OAGG;IACG,wBAAwB,CAC1B,QAAQ,EAAE;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EAC7C,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,aAAa,EAAE,CAAC;CAQ9B"}