@agents-dev/cli 0.8.1 → 0.8.3

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 (82) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +325 -68
  3. package/dist/cli.js +38 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/doctor.js +46 -13
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/init.js +1 -1
  8. package/dist/commands/init.js.map +1 -1
  9. package/dist/commands/mcp-test.js +8 -2
  10. package/dist/commands/mcp-test.js.map +1 -1
  11. package/dist/commands/reset.js +9 -0
  12. package/dist/commands/reset.js.map +1 -1
  13. package/dist/commands/start.js +20 -6
  14. package/dist/commands/start.js.map +1 -1
  15. package/dist/commands/status.js +99 -23
  16. package/dist/commands/status.js.map +1 -1
  17. package/dist/commands/update.d.ts +6 -0
  18. package/dist/commands/update.js +42 -0
  19. package/dist/commands/update.js.map +1 -0
  20. package/dist/core/antigravity.d.ts +10 -0
  21. package/dist/core/antigravity.js +52 -0
  22. package/dist/core/antigravity.js.map +1 -0
  23. package/dist/core/config.js +8 -5
  24. package/dist/core/config.js.map +1 -1
  25. package/dist/core/gitignore.js +4 -1
  26. package/dist/core/gitignore.js.map +1 -1
  27. package/dist/core/mcp.js +23 -5
  28. package/dist/core/mcp.js.map +1 -1
  29. package/dist/core/mcpCrud.js +2 -1
  30. package/dist/core/mcpCrud.js.map +1 -1
  31. package/dist/core/opencode.d.ts +7 -0
  32. package/dist/core/opencode.js +22 -0
  33. package/dist/core/opencode.js.map +1 -0
  34. package/dist/core/paths.d.ts +6 -0
  35. package/dist/core/paths.js +7 -1
  36. package/dist/core/paths.js.map +1 -1
  37. package/dist/core/renderers.d.ts +8 -0
  38. package/dist/core/renderers.js +57 -0
  39. package/dist/core/renderers.js.map +1 -1
  40. package/dist/core/shell.d.ts +1 -0
  41. package/dist/core/shell.js +17 -4
  42. package/dist/core/shell.js.map +1 -1
  43. package/dist/core/skills.js +12 -1
  44. package/dist/core/skills.js.map +1 -1
  45. package/dist/core/sync.js +129 -6
  46. package/dist/core/sync.js.map +1 -1
  47. package/dist/core/updateCheck.d.ts +24 -0
  48. package/dist/core/updateCheck.js +227 -0
  49. package/dist/core/updateCheck.js.map +1 -0
  50. package/dist/core/version.d.ts +1 -0
  51. package/dist/core/version.js +2 -0
  52. package/dist/core/version.js.map +1 -0
  53. package/dist/core/windsurf.d.ts +8 -0
  54. package/dist/core/windsurf.js +29 -0
  55. package/dist/core/windsurf.js.map +1 -0
  56. package/dist/integrations/opencode.d.ts +7 -0
  57. package/dist/integrations/opencode.js +9 -0
  58. package/dist/integrations/opencode.js.map +1 -0
  59. package/dist/integrations/registry.js +3 -1
  60. package/dist/integrations/registry.js.map +1 -1
  61. package/dist/integrations/windsurf.d.ts +0 -2
  62. package/dist/integrations/windsurf.js +1 -9
  63. package/dist/integrations/windsurf.js.map +1 -1
  64. package/dist/types.d.ts +10 -1
  65. package/docs/EXAMPLES.md +18 -29
  66. package/docs/README.md +1 -0
  67. package/docs/agents-system.md +12 -2
  68. package/docs/screenshot.jpg +0 -0
  69. package/package.json +7 -3
  70. package/templates/agents/README.md +4 -1
  71. package/dist/commands/migrate.d.ts +0 -4
  72. package/dist/commands/migrate.js +0 -71
  73. package/dist/commands/migrate.js.map +0 -1
  74. package/dist/core/catalog.d.ts +0 -8
  75. package/dist/core/catalog.js +0 -141
  76. package/dist/core/catalog.js.map +0 -1
  77. package/dist/core/linking.d.ts +0 -8
  78. package/dist/core/linking.js +0 -41
  79. package/dist/core/linking.js.map +0 -1
  80. package/dist/core/windsurfPaths.d.ts +0 -8
  81. package/dist/core/windsurfPaths.js +0 -43
  82. package/dist/core/windsurfPaths.js.map +0 -1
@@ -1,141 +0,0 @@
1
- import path from 'node:path';
2
- import { CATALOG_SCHEMA_VERSION } from '../types.js';
3
- import { ensureDir, pathExists, readJson, writeJsonAtomic } from './fs.js';
4
- import { getCatalogPath } from './paths.js';
5
- const DEFAULT_CATALOG = {
6
- schemaVersion: CATALOG_SCHEMA_VERSION,
7
- mcpPresets: [
8
- {
9
- id: 'safe-core',
10
- label: 'Safe core',
11
- description: 'filesystem + fetch + git',
12
- serverIds: ['filesystem', 'fetch', 'git']
13
- },
14
- {
15
- id: 'minimal',
16
- label: 'Minimal',
17
- description: 'filesystem only',
18
- serverIds: ['filesystem']
19
- },
20
- {
21
- id: 'dev-full',
22
- label: 'Dev full',
23
- description: 'filesystem + fetch + git + playwright + context7',
24
- serverIds: ['filesystem', 'fetch', 'git', 'playwright', 'context7']
25
- }
26
- ],
27
- mcpServers: {
28
- filesystem: {
29
- label: 'Filesystem',
30
- description: 'Read and write files in the current project',
31
- transport: 'stdio',
32
- command: 'npx',
33
- args: ['-y', '@modelcontextprotocol/server-filesystem', '${PROJECT_ROOT}'],
34
- targets: ['codex', 'claude', 'gemini', 'copilot_vscode', 'cursor', 'antigravity'],
35
- enabled: true
36
- },
37
- fetch: {
38
- label: 'Fetch',
39
- description: 'HTTP fetching and scraping helpers',
40
- transport: 'stdio',
41
- command: 'uvx',
42
- args: ['mcp-server-fetch'],
43
- env: {
44
- FASTMCP_LOG_LEVEL: 'ERROR'
45
- },
46
- targets: ['codex', 'claude', 'gemini', 'copilot_vscode', 'cursor', 'antigravity'],
47
- enabled: true
48
- },
49
- git: {
50
- label: 'Git',
51
- description: 'Repository-aware git operations',
52
- transport: 'stdio',
53
- command: 'uvx',
54
- args: ['mcp-server-git', '--repository', '${PROJECT_ROOT}'],
55
- env: {
56
- FASTMCP_LOG_LEVEL: 'ERROR'
57
- },
58
- targets: ['codex', 'claude', 'gemini', 'copilot_vscode', 'cursor', 'antigravity'],
59
- enabled: true
60
- },
61
- playwright: {
62
- label: 'Playwright',
63
- description: 'Browser automation for UI checks',
64
- transport: 'stdio',
65
- command: 'npx',
66
- args: ['-y', '@playwright/mcp@latest'],
67
- targets: ['codex', 'claude', 'gemini', 'copilot_vscode', 'cursor', 'antigravity'],
68
- enabled: true
69
- },
70
- context7: {
71
- label: 'Context7',
72
- description: 'Context7 docs and snippets search',
73
- transport: 'stdio',
74
- command: 'npx',
75
- args: ['-y', '@upstash/context7-mcp', '--api-key', '${CONTEXT7_API_KEY}'],
76
- requiredEnv: ['CONTEXT7_API_KEY'],
77
- targets: ['codex', 'claude', 'gemini', 'copilot_vscode', 'cursor', 'antigravity'],
78
- enabled: true
79
- }
80
- },
81
- skillPacks: [
82
- {
83
- id: 'skills-starter',
84
- label: 'Skills Starter',
85
- description: 'Baseline guide for creating and using project skills',
86
- skillIds: ['skills-authoring-guide']
87
- },
88
- {
89
- id: 'core-dev',
90
- label: 'Core Dev',
91
- description: 'General software engineering workflow skills',
92
- skillIds: ['code-review-baseline', 'delivery-checklist']
93
- }
94
- ],
95
- skills: {
96
- 'skills-authoring-guide': {
97
- name: 'skills-authoring-guide',
98
- description: 'Explain how to structure, create, and maintain SKILL.md entries in this repository.',
99
- instructions: 'When asked about skills, explain folder layout under .agents/skills, required SKILL.md frontmatter, and progressive disclosure principles. Provide a minimal template and checklist.'
100
- },
101
- 'code-review-baseline': {
102
- name: 'code-review-baseline',
103
- description: 'Apply a strict bug-first review checklist when the user asks for a review.',
104
- instructions: 'Review code by severity. Prioritize correctness, regressions, and missing tests. Keep summary short and list concrete findings first.'
105
- },
106
- 'delivery-checklist': {
107
- name: 'delivery-checklist',
108
- description: 'Run a final delivery checklist before reporting task completion.',
109
- instructions: 'Before final response, verify lint/build/tests where applicable, mention what could not be validated, and provide concise next steps.'
110
- },
111
- 'frontend-smoke': {
112
- name: 'frontend-smoke',
113
- description: 'Use browser automation for UI smoke checks when frontend files change.',
114
- instructions: 'For UI tasks, run a visual smoke check on desktop and mobile widths, verify key CTA and no overflow/overlap issues.'
115
- }
116
- }
117
- };
118
- export function getDefaultCatalog() {
119
- return JSON.parse(JSON.stringify(DEFAULT_CATALOG));
120
- }
121
- export async function ensureGlobalCatalog() {
122
- const catalogPath = getCatalogPath();
123
- if (await pathExists(catalogPath)) {
124
- const existing = await readJson(catalogPath);
125
- validateCatalog(existing);
126
- return { path: catalogPath, catalog: existing, created: false };
127
- }
128
- await ensureDir(path.dirname(catalogPath));
129
- const catalog = getDefaultCatalog();
130
- await writeJsonAtomic(catalogPath, catalog);
131
- return { path: catalogPath, catalog, created: true };
132
- }
133
- export function validateCatalog(catalog) {
134
- if (catalog.schemaVersion !== CATALOG_SCHEMA_VERSION) {
135
- throw new Error(`Unsupported catalog schema version ${String(catalog.schemaVersion)}. Expected ${String(CATALOG_SCHEMA_VERSION)}.`);
136
- }
137
- if (!Array.isArray(catalog.mcpPresets) || typeof catalog.mcpServers !== 'object') {
138
- throw new Error('Invalid catalog structure: missing mcpPresets or mcpServers.');
139
- }
140
- }
141
- //# sourceMappingURL=catalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/core/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,eAAe,GAAgB;IACnC,aAAa,EAAE,sBAAsB;IACrC,UAAU,EAAE;QACV;YACE,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,0BAA0B;YACvC,SAAS,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC;SAC1C;QACD;YACE,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,iBAAiB;YAC9B,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B;QACD;YACE,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,kDAAkD;YAC/D,SAAS,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC;SACpE;KACF;IACD,UAAU,EAAE;QACV,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,6CAA6C;YAC1D,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,yCAAyC,EAAE,iBAAiB,CAAC;YAC1E,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC;YACjF,OAAO,EAAE,IAAI;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,oCAAoC;YACjD,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,kBAAkB,CAAC;YAC1B,GAAG,EAAE;gBACH,iBAAiB,EAAE,OAAO;aAC3B;YACD,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC;YACjF,OAAO,EAAE,IAAI;SACd;QACD,GAAG,EAAE;YACH,KAAK,EAAE,KAAK;YACZ,WAAW,EAAE,iCAAiC;YAC9C,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,CAAC;YAC3D,GAAG,EAAE;gBACH,iBAAiB,EAAE,OAAO;aAC3B;YACD,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC;YACjF,OAAO,EAAE,IAAI;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,kCAAkC;YAC/C,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,wBAAwB,CAAC;YACtC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC;YACjF,OAAO,EAAE,IAAI;SACd;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,mCAAmC;YAChD,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,qBAAqB,CAAC;YACzE,WAAW,EAAE,CAAC,kBAAkB,CAAC;YACjC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,CAAC;YACjF,OAAO,EAAE,IAAI;SACd;KACF;IACD,UAAU,EAAE;QACV;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,sDAAsD;YACnE,QAAQ,EAAE,CAAC,wBAAwB,CAAC;SACrC;QACD;YACE,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;SACzD;KACF;IACD,MAAM,EAAE;QACN,wBAAwB,EAAE;YACxB,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,qFAAqF;YAClG,YAAY,EACV,sLAAsL;SACzL;QACD,sBAAsB,EAAE;YACtB,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,4EAA4E;YACzF,YAAY,EACV,uIAAuI;SAC1I;QACD,oBAAoB,EAAE;YACpB,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,kEAAkE;YAC/E,YAAY,EACV,uIAAuI;SAC1I;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,wEAAwE;YACrF,YAAY,EACV,qHAAqH;SACxH;KACF;CACF,CAAA;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAgB,CAAA;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAc,WAAW,CAAC,CAAA;QACzD,eAAe,CAAC,QAAQ,CAAC,CAAA;QACzB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACjE,CAAC;IAED,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IACnC,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC3C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoB;IAClD,IAAI,OAAO,CAAC,aAAa,KAAK,sBAAsB,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,MAAM,CAAC,sBAAsB,CAAC,GAAG,CACnH,CAAA;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAA;IACjF,CAAC;AACH,CAAC"}
@@ -1,8 +0,0 @@
1
- export interface LinkResult {
2
- mode: 'symlink' | 'copy';
3
- changed: boolean;
4
- warning?: string;
5
- }
6
- export declare function ensureRootAgentsLink(projectRoot: string, options?: {
7
- forceReplace?: boolean;
8
- }): Promise<LinkResult>;
@@ -1,41 +0,0 @@
1
- import path from 'node:path';
2
- import { copyFile, lstat, readFile, readlink, rm, symlink } from 'node:fs/promises';
3
- import { pathExists } from './fs.js';
4
- export async function ensureRootAgentsLink(projectRoot, options) {
5
- const forceReplace = options?.forceReplace ?? false;
6
- const rootAgents = path.join(projectRoot, 'AGENTS.md');
7
- const targetAbsolute = path.join(projectRoot, '.agents', 'AGENTS.md');
8
- const targetRelative = '.agents/AGENTS.md';
9
- if (!(await pathExists(targetAbsolute))) {
10
- throw new Error(`Missing target AGENTS file: ${targetAbsolute}`);
11
- }
12
- if (await pathExists(rootAgents)) {
13
- const info = await lstat(rootAgents);
14
- if (info.isSymbolicLink()) {
15
- const current = await readlink(rootAgents);
16
- if (current === targetRelative || path.resolve(projectRoot, current) === targetAbsolute) {
17
- return { mode: 'symlink', changed: false };
18
- }
19
- }
20
- else if (!forceReplace) {
21
- const currentContent = await readFile(rootAgents, 'utf8').catch(() => '');
22
- const targetContent = await readFile(targetAbsolute, 'utf8');
23
- if (currentContent !== targetContent) {
24
- throw new Error(`Refusing to replace existing AGENTS.md at ${rootAgents}. Re-run with --force to replace it.`);
25
- }
26
- }
27
- await rm(rootAgents, { force: true });
28
- }
29
- try {
30
- await symlink(targetRelative, rootAgents);
31
- return { mode: 'symlink', changed: true };
32
- }
33
- catch (error) {
34
- await copyFile(targetAbsolute, rootAgents);
35
- const warning = error instanceof Error
36
- ? `Could not create symlink for AGENTS.md (${error.message}); used file copy fallback.`
37
- : 'Could not create symlink for AGENTS.md; used file copy fallback.';
38
- return { mode: 'copy', changed: true, warning };
39
- }
40
- }
41
- //# sourceMappingURL=linking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linking.js","sourceRoot":"","sources":["../../src/core/linking.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAQpC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,OAAoC;IAEpC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,KAAK,CAAA;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACtD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IACrE,MAAM,cAAc,GAAG,mBAAmB,CAAA;IAE1C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAA;QACpC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAA;YAC1C,IAAI,OAAO,KAAK,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,cAAc,EAAE,CAAC;gBACxF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;YAC5C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YACzE,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;YAC5D,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,6CAA6C,UAAU,sCAAsC,CAC9F,CAAA;YACH,CAAC;QACH,CAAC;QACD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;QAC1C,MAAM,OAAO,GACX,KAAK,YAAY,KAAK;YACpB,CAAC,CAAC,2CAA2C,KAAK,CAAC,OAAO,6BAA6B;YACvF,CAAC,CAAC,kEAAkE,CAAA;QACxE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IACjD,CAAC;AACH,CAAC"}
@@ -1,8 +0,0 @@
1
- export interface WindsurfMcpPathResolution {
2
- configPath: string;
3
- source: 'env' | 'existing-modern' | 'existing-legacy' | 'default-modern';
4
- modernPath: string;
5
- legacyPath: string;
6
- }
7
- export declare function resolveWindsurfMcpConfigPath(): Promise<WindsurfMcpPathResolution>;
8
- export declare function getWindsurfMcpLockPath(configPath: string): string;
@@ -1,43 +0,0 @@
1
- import os from 'node:os';
2
- import path from 'node:path';
3
- import { pathExists } from './fs.js';
4
- const ENV_OVERRIDE = 'AGENTS_WINDSURF_MCP_CONFIG_PATH';
5
- export async function resolveWindsurfMcpConfigPath() {
6
- const modernPath = path.join(os.homedir(), '.codeium', 'windsurf', 'mcp_config.json');
7
- const legacyPath = path.join(os.homedir(), '.codeium', 'mcp_config.json');
8
- const override = process.env[ENV_OVERRIDE]?.trim();
9
- if (override) {
10
- return {
11
- configPath: path.resolve(override),
12
- source: 'env',
13
- modernPath,
14
- legacyPath
15
- };
16
- }
17
- if (await pathExists(modernPath)) {
18
- return {
19
- configPath: modernPath,
20
- source: 'existing-modern',
21
- modernPath,
22
- legacyPath
23
- };
24
- }
25
- if (await pathExists(legacyPath)) {
26
- return {
27
- configPath: legacyPath,
28
- source: 'existing-legacy',
29
- modernPath,
30
- legacyPath
31
- };
32
- }
33
- return {
34
- configPath: modernPath,
35
- source: 'default-modern',
36
- modernPath,
37
- legacyPath
38
- };
39
- }
40
- export function getWindsurfMcpLockPath(configPath) {
41
- return path.join(path.dirname(configPath), `${path.basename(configPath)}.agents.lock`);
42
- }
43
- //# sourceMappingURL=windsurfPaths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windsurfPaths.js","sourceRoot":"","sources":["../../src/core/windsurfPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAStD,MAAM,CAAC,KAAK,UAAU,4BAA4B;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAA;IACrF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IAElD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClC,MAAM,EAAE,KAAK;YACb,UAAU;YACV,UAAU;SACX,CAAA;IACH,CAAC;IAED,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,iBAAiB;YACzB,UAAU;YACV,UAAU;SACX,CAAA;IACH,CAAC;IAED,IAAI,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,iBAAiB;YACzB,UAAU;YACV,UAAU;SACX,CAAA;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,gBAAgB;QACxB,UAAU;QACV,UAAU;KACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AACxF,CAAC"}