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,230 +0,0 @@
1
- import * as crypto from 'crypto';
2
- import * as http from 'http';
3
- import { URL } from 'url';
4
- import { getOAuthToken, upsertOAuthToken } from './oauth-store.js';
5
- function base64url(buf) {
6
- return buf
7
- .toString('base64')
8
- .replace(/\+/g, '-')
9
- .replace(/\//g, '_')
10
- .replace(/=+$/g, '');
11
- }
12
- function pkcePair() {
13
- const verifier = base64url(crypto.randomBytes(32));
14
- const challenge = base64url(crypto.createHash('sha256').update(verifier).digest());
15
- return { codeVerifier: verifier, codeChallenge: challenge };
16
- }
17
- async function discoverEndpoints(cfg) {
18
- const oauth = cfg.oauth;
19
- if (!oauth)
20
- throw new Error('This MCP server has no oauth config');
21
- const clientId = oauth.clientId;
22
- if (!clientId)
23
- throw new Error('Missing oauth.clientId in MCP server config');
24
- // Prefer explicit endpoints.
25
- if (oauth.authorizationUrl && oauth.tokenUrl) {
26
- return {
27
- authorizationUrl: oauth.authorizationUrl,
28
- tokenUrl: oauth.tokenUrl,
29
- clientId,
30
- scopes: oauth.scopes || [],
31
- };
32
- }
33
- // Minimal discovery: if auth server metadata URL is provided, read it and pull endpoints.
34
- if (oauth.authServerMetadataUrl) {
35
- const res = await fetch(oauth.authServerMetadataUrl);
36
- if (!res.ok)
37
- throw new Error(`Failed to fetch auth server metadata (${res.status})`);
38
- const meta = (await res.json());
39
- if (!meta.authorization_endpoint || !meta.token_endpoint) {
40
- throw new Error('Auth server metadata missing authorization_endpoint/token_endpoint');
41
- }
42
- return {
43
- authorizationUrl: meta.authorization_endpoint,
44
- tokenUrl: meta.token_endpoint,
45
- clientId,
46
- scopes: oauth.scopes || [],
47
- };
48
- }
49
- throw new Error('Missing OAuth endpoints. Provide oauth.authorizationUrl+oauth.tokenUrl or oauth.authServerMetadataUrl');
50
- }
51
- export class McpOAuthFlowManager {
52
- pending = new Map();
53
- getPending(serverName) {
54
- return this.pending.get(serverName) || null;
55
- }
56
- async start(serverName, cfg) {
57
- const { authorizationUrl, tokenUrl, clientId, scopes } = await discoverEndpoints(cfg);
58
- // Create ephemeral localhost callback server.
59
- const server = http.createServer();
60
- const port = await new Promise((resolve, reject) => {
61
- server.on('error', reject);
62
- server.listen(0, '127.0.0.1', () => {
63
- const addr = server.address();
64
- if (!addr || typeof addr === 'string')
65
- return reject(new Error('Failed to bind localhost callback port'));
66
- resolve(addr.port);
67
- });
68
- });
69
- const redirectUri = `http://127.0.0.1:${port}/callback`;
70
- const state = base64url(crypto.randomBytes(16));
71
- const { codeVerifier, codeChallenge } = pkcePair();
72
- this.pending.set(serverName, {
73
- serverName,
74
- codeVerifier,
75
- state,
76
- redirectUri,
77
- tokenUrl,
78
- clientId,
79
- scopes,
80
- });
81
- // Handle callback: exchange code and store token.
82
- server.on('request', async (req, res) => {
83
- try {
84
- const url = new URL(req.url || '/', redirectUri);
85
- if (url.pathname !== '/callback') {
86
- res.writeHead(404).end('Not found');
87
- return;
88
- }
89
- const code = url.searchParams.get('code');
90
- const gotState = url.searchParams.get('state');
91
- const err = url.searchParams.get('error');
92
- if (err) {
93
- res.writeHead(400).end(`OAuth error: ${err}`);
94
- return;
95
- }
96
- if (!code) {
97
- res.writeHead(400).end('Missing code');
98
- return;
99
- }
100
- const pending = this.pending.get(serverName);
101
- if (!pending) {
102
- res.writeHead(400).end('No pending OAuth session');
103
- return;
104
- }
105
- if (gotState !== pending.state) {
106
- res.writeHead(400).end('State mismatch');
107
- return;
108
- }
109
- await this.exchangeCode(serverName, code);
110
- res.writeHead(200, { 'content-type': 'text/plain; charset=utf-8' });
111
- res.end('XibeCode MCP auth complete. You can return to the terminal.');
112
- }
113
- catch (e) {
114
- res.writeHead(500).end(`OAuth callback failed: ${e?.message || String(e)}`);
115
- }
116
- finally {
117
- server.close(() => { });
118
- }
119
- });
120
- const auth = new URL(authorizationUrl);
121
- auth.searchParams.set('response_type', 'code');
122
- auth.searchParams.set('client_id', clientId);
123
- auth.searchParams.set('redirect_uri', redirectUri);
124
- auth.searchParams.set('state', state);
125
- auth.searchParams.set('code_challenge_method', 'S256');
126
- auth.searchParams.set('code_challenge', codeChallenge);
127
- if (scopes.length)
128
- auth.searchParams.set('scope', scopes.join(' '));
129
- // Best-effort open browser, but always return URL for manual open.
130
- try {
131
- const open = (await import('open')).default;
132
- await open(auth.toString());
133
- }
134
- catch {
135
- // ignore
136
- }
137
- return {
138
- authUrl: auth.toString(),
139
- redirectUri,
140
- state,
141
- note: 'If your browser does not open automatically, open authUrl manually. If localhost callback is not reachable, use finish step with the full callback URL.',
142
- };
143
- }
144
- async finish(serverName, callbackUrl) {
145
- const pending = this.pending.get(serverName);
146
- if (!pending) {
147
- return { success: false, message: `No pending OAuth session for ${serverName}. Run start first.` };
148
- }
149
- const url = new URL(callbackUrl);
150
- const code = url.searchParams.get('code');
151
- const state = url.searchParams.get('state');
152
- if (!code)
153
- return { success: false, message: 'Callback URL missing code param' };
154
- if (state !== pending.state)
155
- return { success: false, message: 'State mismatch' };
156
- await this.exchangeCode(serverName, code);
157
- return { success: true, message: `OAuth completed for ${serverName}` };
158
- }
159
- async getValidAccessToken(serverName, cfg) {
160
- const token = await getOAuthToken(serverName);
161
- if (!token)
162
- return null;
163
- const now = Date.now();
164
- const expiresSoon = token.expires_at ? token.expires_at - now < 5 * 60 * 1000 : false;
165
- if (!expiresSoon)
166
- return token.access_token;
167
- if (!token.refresh_token)
168
- return token.access_token;
169
- const oauth = cfg.oauth;
170
- if (!oauth)
171
- return token.access_token;
172
- const { tokenUrl, clientId } = await discoverEndpoints(cfg);
173
- const refreshed = await this.refreshToken({ tokenUrl, clientId, refresh_token: token.refresh_token });
174
- await upsertOAuthToken(serverName, refreshed);
175
- return refreshed.access_token;
176
- }
177
- async exchangeCode(serverName, code) {
178
- const pending = this.pending.get(serverName);
179
- if (!pending)
180
- throw new Error('No pending OAuth session');
181
- const body = new URLSearchParams();
182
- body.set('grant_type', 'authorization_code');
183
- body.set('client_id', pending.clientId);
184
- body.set('code', code);
185
- body.set('redirect_uri', pending.redirectUri);
186
- body.set('code_verifier', pending.codeVerifier);
187
- if (pending.scopes.length)
188
- body.set('scope', pending.scopes.join(' '));
189
- const res = await fetch(pending.tokenUrl, {
190
- method: 'POST',
191
- headers: { 'content-type': 'application/x-www-form-urlencoded' },
192
- body,
193
- });
194
- const json = (await res.json().catch(() => null));
195
- if (!res.ok) {
196
- throw new Error(`Token exchange failed (${res.status}): ${json?.error || JSON.stringify(json)}`);
197
- }
198
- const record = {
199
- access_token: json.access_token,
200
- token_type: json.token_type,
201
- refresh_token: json.refresh_token,
202
- scope: json.scope,
203
- expires_at: json.expires_in ? Date.now() + Number(json.expires_in) * 1000 : undefined,
204
- };
205
- await upsertOAuthToken(serverName, record);
206
- }
207
- async refreshToken(params) {
208
- const body = new URLSearchParams();
209
- body.set('grant_type', 'refresh_token');
210
- body.set('client_id', params.clientId);
211
- body.set('refresh_token', params.refresh_token);
212
- const res = await fetch(params.tokenUrl, {
213
- method: 'POST',
214
- headers: { 'content-type': 'application/x-www-form-urlencoded' },
215
- body,
216
- });
217
- const json = (await res.json().catch(() => null));
218
- if (!res.ok) {
219
- throw new Error(`Token refresh failed (${res.status}): ${json?.error || JSON.stringify(json)}`);
220
- }
221
- return {
222
- access_token: json.access_token,
223
- token_type: json.token_type,
224
- refresh_token: json.refresh_token || params.refresh_token,
225
- scope: json.scope,
226
- expires_at: json.expires_in ? Date.now() + Number(json.expires_in) * 1000 : undefined,
227
- };
228
- }
229
- }
230
- //# sourceMappingURL=oauth-flow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-flow.js","sourceRoot":"","sources":["../../../src/core/mcp/oauth-flow.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export interface OAuthTokenRecord {
2
- access_token: string;
3
- token_type?: string;
4
- refresh_token?: string;
5
- scope?: string;
6
- expires_at?: number;
7
- }
8
- export type OAuthTokenFile = Record<string, OAuthTokenRecord>;
9
- export declare function readOAuthTokens(): Promise<OAuthTokenFile>;
10
- export declare function writeOAuthTokens(tokens: OAuthTokenFile): Promise<void>;
11
- export declare function upsertOAuthToken(serverName: string, token: OAuthTokenRecord): Promise<void>;
12
- export declare function getOAuthToken(serverName: string): Promise<OAuthTokenRecord | null>;
13
- //# sourceMappingURL=oauth-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-store.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/oauth-store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAkC9D,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC,CAU/D;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5E;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjG;AAED,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAGxF"}
@@ -1,68 +0,0 @@
1
- import * as fs from 'fs/promises';
2
- import * as os from 'os';
3
- import * as path from 'path';
4
- function tokenFilePath() {
5
- return path.join(os.homedir(), '.xibecode', 'mcp-oauth-tokens.json');
6
- }
7
- function lockFilePath() {
8
- return path.join(os.homedir(), '.xibecode', 'mcp-oauth-tokens.lock');
9
- }
10
- async function withLock(fn) {
11
- const lock = lockFilePath();
12
- const dir = path.dirname(lock);
13
- await fs.mkdir(dir, { recursive: true });
14
- // Simple cross-process lock: create file exclusively.
15
- const startedAt = Date.now();
16
- while (true) {
17
- try {
18
- const handle = await fs.open(lock, 'wx');
19
- try {
20
- return await fn();
21
- }
22
- finally {
23
- await handle.close().catch(() => { });
24
- await fs.unlink(lock).catch(() => { });
25
- }
26
- }
27
- catch (err) {
28
- if (err?.code !== 'EEXIST')
29
- throw err;
30
- if (Date.now() - startedAt > 20_000)
31
- throw new Error('Timed out waiting for OAuth token lock');
32
- await new Promise((r) => setTimeout(r, 125));
33
- }
34
- }
35
- }
36
- export async function readOAuthTokens() {
37
- try {
38
- const content = await fs.readFile(tokenFilePath(), 'utf-8');
39
- const data = JSON.parse(content);
40
- if (!data || typeof data !== 'object')
41
- return {};
42
- return data;
43
- }
44
- catch (err) {
45
- if (err?.code === 'ENOENT')
46
- return {};
47
- throw err;
48
- }
49
- }
50
- export async function writeOAuthTokens(tokens) {
51
- const file = tokenFilePath();
52
- const dir = path.dirname(file);
53
- await fs.mkdir(dir, { recursive: true });
54
- const payload = JSON.stringify(tokens, null, 2) + '\n';
55
- await fs.writeFile(file, payload, { encoding: 'utf-8', mode: 0o600 });
56
- }
57
- export async function upsertOAuthToken(serverName, token) {
58
- await withLock(async () => {
59
- const all = await readOAuthTokens();
60
- all[serverName] = token;
61
- await writeOAuthTokens(all);
62
- });
63
- }
64
- export async function getOAuthToken(serverName) {
65
- const all = await readOAuthTokens();
66
- return all[serverName] ?? null;
67
- }
68
- //# sourceMappingURL=oauth-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-store.js","sourceRoot":"","sources":["../../../src/core/mcp/oauth-store.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import type { MCPServersConfig } from '../../utils/config.js';
2
- export interface ResolvedMcpServers {
3
- servers: MCPServersConfig;
4
- sourceSummary: {
5
- managedUsed: boolean;
6
- projectFiles: string[];
7
- globalFile?: string;
8
- };
9
- }
10
- export declare function resolveMcpServers(params: {
11
- cwd: string;
12
- allowed?: string[];
13
- denied?: string[];
14
- allowManagedOnly?: boolean;
15
- }): Promise<ResolvedMcpServers>;
16
- //# sourceMappingURL=resolve-mcp-servers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-mcp-servers.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/resolve-mcp-servers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE;QACb,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AA2BD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0D9B"}
@@ -1,83 +0,0 @@
1
- import * as os from 'os';
2
- import * as path from 'path';
3
- import { MCPServersFileManager } from '../../utils/mcp-servers-file.js';
4
- import { findProjectMcpConfigFiles, readMcpServersFromFile } from './mcp-config.js';
5
- import { filterMcpServersByPolicy } from './mcp-policy.js';
6
- function stdioSignature(cfg) {
7
- const args = (cfg.args || []).join('\u0000');
8
- // Do not include env values in signatures (can contain secrets).
9
- const envKeys = cfg.env ? Object.keys(cfg.env).sort().join(',') : '';
10
- return `stdio:${cfg.command}\u0000${args}\u0000envKeys:${envKeys}`;
11
- }
12
- function dedupeBySignature(servers) {
13
- const seen = new Map(); // signature -> chosenName
14
- const out = {};
15
- for (const [name, cfg] of Object.entries(servers)) {
16
- const sig = stdioSignature(cfg);
17
- const existing = seen.get(sig);
18
- if (existing) {
19
- // Prefer later entries (higher precedence in our merge order) by overwriting.
20
- delete out[existing];
21
- }
22
- seen.set(sig, name);
23
- out[name] = cfg;
24
- }
25
- return out;
26
- }
27
- export async function resolveMcpServers(params) {
28
- const configDir = path.join(os.homedir(), '.xibecode');
29
- const managedPath = path.join(configDir, 'managed', 'managed-mcp.json');
30
- // 1) Enterprise-managed override: if present, it is authoritative.
31
- try {
32
- const managed = await readMcpServersFromFile(managedPath, 'managed-mcp.json');
33
- const filtered = filterMcpServersByPolicy(managed, {
34
- allowed: params.allowed,
35
- denied: params.denied,
36
- allowManagedOnly: params.allowManagedOnly,
37
- isManagedSource: true,
38
- });
39
- return {
40
- servers: dedupeBySignature(filtered),
41
- sourceSummary: { managedUsed: true, projectFiles: [] },
42
- };
43
- }
44
- catch (err) {
45
- // If it doesn't exist, continue. If it exists but is invalid, treat as error (surface via caller).
46
- if (err?.code !== 'ENOENT') {
47
- throw err;
48
- }
49
- }
50
- // 2) Project scope: merge .mcp.json discovered up the directory tree (root->leaf).
51
- const projectFiles = await findProjectMcpConfigFiles(params.cwd);
52
- let merged = {};
53
- for (const fp of projectFiles) {
54
- const fromFile = await readMcpServersFromFile(fp);
55
- merged = { ...merged, ...fromFile };
56
- }
57
- // 3) User scope: global ~/.xibecode/mcp-servers.json
58
- const fm = new MCPServersFileManager();
59
- const globalFile = fm.getFilePath();
60
- try {
61
- const fromGlobal = await fm.loadMCPServers();
62
- merged = { ...merged, ...fromGlobal };
63
- }
64
- catch {
65
- // If global file is invalid, we still want project MCP servers to work.
66
- // The caller can separately validate or show warnings.
67
- }
68
- merged = filterMcpServersByPolicy(merged, {
69
- allowed: params.allowed,
70
- denied: params.denied,
71
- allowManagedOnly: params.allowManagedOnly,
72
- isManagedSource: false,
73
- });
74
- return {
75
- servers: dedupeBySignature(merged),
76
- sourceSummary: {
77
- managedUsed: false,
78
- projectFiles,
79
- globalFile,
80
- },
81
- };
82
- }
83
- //# sourceMappingURL=resolve-mcp-servers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-mcp-servers.js","sourceRoot":"","sources":["../../../src/core/mcp/resolve-mcp-servers.ts"],"names":[],"mappings":"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"}
@@ -1,99 +0,0 @@
1
- import type { Tool, Resource, Prompt } from '@modelcontextprotocol/sdk/types.js';
2
- import { MCPServerConfig } from '../utils/config.js';
3
- export interface MCPTool extends Tool {
4
- serverName: string;
5
- }
6
- export interface MCPResource extends Resource {
7
- serverName: string;
8
- }
9
- export interface MCPPrompt extends Prompt {
10
- serverName: string;
11
- }
12
- export type MCPServerStateType = 'disabled' | 'connecting' | 'connected' | 'needs-auth' | 'error';
13
- export interface MCPServerState {
14
- name: string;
15
- state: MCPServerStateType;
16
- lastError?: string;
17
- needsAuthUntil?: number;
18
- updatedAt: number;
19
- }
20
- /**
21
- * Manages connections to MCP servers and provides unified access to their capabilities
22
- */
23
- export declare class MCPClientManager {
24
- private clients;
25
- private serverConfigs;
26
- private tools;
27
- private resources;
28
- private prompts;
29
- private serverStates;
30
- private setState;
31
- /**
32
- * Connect to an MCP server
33
- */
34
- connect(serverName: string, serverConfig: MCPServerConfig): Promise<void>;
35
- /**
36
- * Connect to all MCP servers with simple retry/backoff.
37
- */
38
- connectAll(servers: Record<string, MCPServerConfig>, opts?: {
39
- retries?: number;
40
- backoffMs?: number;
41
- }): Promise<{
42
- connected: string[];
43
- failed: Array<{
44
- name: string;
45
- error: string;
46
- }>;
47
- skippedNeedsAuth: string[];
48
- }>;
49
- /**
50
- * Disconnect from an MCP server
51
- */
52
- disconnect(serverName: string): Promise<void>;
53
- /**
54
- * Disconnect from all MCP servers
55
- */
56
- disconnectAll(): Promise<void>;
57
- /**
58
- * Discover and cache capabilities from a connected server
59
- */
60
- private discoverCapabilities;
61
- /**
62
- * Get all available tools from all connected MCP servers
63
- */
64
- getAvailableTools(): MCPTool[];
65
- /**
66
- * Get all available resources from all connected MCP servers
67
- */
68
- getAvailableResources(): MCPResource[];
69
- /**
70
- * Get all available prompts from all connected MCP servers
71
- */
72
- getAvailablePrompts(): MCPPrompt[];
73
- /**
74
- * Execute a tool from an MCP server
75
- */
76
- executeMCPTool(toolName: string, args: Record<string, unknown>): Promise<any>;
77
- /**
78
- * Read a resource from an MCP server
79
- */
80
- readResource(resourceUri: string): Promise<any>;
81
- /**
82
- * Get a prompt from an MCP server
83
- */
84
- getPrompt(promptName: string, args?: Record<string, string>): Promise<any>;
85
- /**
86
- * Get list of connected servers
87
- */
88
- getConnectedServers(): string[];
89
- getServerStates(): MCPServerState[];
90
- /**
91
- * Check if connected to a specific server
92
- */
93
- isConnected(serverName: string): boolean;
94
- /**
95
- * Get server configuration
96
- */
97
- getServerConfig(serverName: string): MCPServerConfig | undefined;
98
- }
99
- //# sourceMappingURL=mcp-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/core/mcp-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,MAAM,EAIP,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,OAAQ,SAAQ,IAAI;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,YAAY,CAA0C;IAE9D,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D/E;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAmC/G;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCnD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC;;OAEG;YACW,oBAAoB;IA2ClC;;OAEG;IACH,iBAAiB,IAAI,OAAO,EAAE;IAI9B;;OAEG;IACH,qBAAqB,IAAI,WAAW,EAAE;IAItC;;OAEG;IACH,mBAAmB,IAAI,SAAS,EAAE;IAIlC;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAmCnF;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAkCrD;;OAEG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAmChF;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B,eAAe,IAAI,cAAc,EAAE;IAInC;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIxC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;CAGjE"}