yandecode 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/bin.js +14 -8
  2. package/dist/bin.js.map +7 -1
  3. package/dist/chunks/chunk-23DG7PZZ.js +58 -0
  4. package/dist/chunks/chunk-23DG7PZZ.js.map +7 -0
  5. package/dist/chunks/chunk-2S6B3DDQ.js +1769 -0
  6. package/dist/chunks/chunk-2S6B3DDQ.js.map +7 -0
  7. package/dist/chunks/chunk-6J5CZVCJ.js +120 -0
  8. package/dist/chunks/chunk-6J5CZVCJ.js.map +7 -0
  9. package/dist/chunks/chunk-7L6DD2VD.js +768 -0
  10. package/dist/chunks/chunk-7L6DD2VD.js.map +7 -0
  11. package/dist/chunks/chunk-DWD37AI2.js +39 -0
  12. package/dist/chunks/chunk-DWD37AI2.js.map +7 -0
  13. package/dist/chunks/chunk-KPDBXQ62.js +62 -0
  14. package/dist/chunks/chunk-KPDBXQ62.js.map +7 -0
  15. package/dist/chunks/chunk-KVBKQXTU.js +351 -0
  16. package/dist/chunks/chunk-KVBKQXTU.js.map +7 -0
  17. package/dist/chunks/chunk-L2DDIZPI.js +53 -0
  18. package/dist/chunks/chunk-L2DDIZPI.js.map +7 -0
  19. package/dist/chunks/chunk-OIAMKDTQ.js +27 -0
  20. package/dist/chunks/chunk-OIAMKDTQ.js.map +7 -0
  21. package/dist/chunks/chunk-PUWSEWX3.js +61 -0
  22. package/dist/chunks/chunk-PUWSEWX3.js.map +7 -0
  23. package/dist/chunks/chunk-QCQC73WX.js +122 -0
  24. package/dist/chunks/chunk-QCQC73WX.js.map +7 -0
  25. package/dist/chunks/chunk-TYLH4NIC.js +39 -0
  26. package/dist/chunks/chunk-TYLH4NIC.js.map +7 -0
  27. package/dist/chunks/chunk-VKVJGBNJ.js +72 -0
  28. package/dist/chunks/chunk-VKVJGBNJ.js.map +7 -0
  29. package/dist/chunks/chunk-Y2MIXROU.js +20072 -0
  30. package/dist/chunks/chunk-Y2MIXROU.js.map +7 -0
  31. package/dist/chunks/cli-V6PJTDLM.js +3464 -0
  32. package/dist/chunks/cli-V6PJTDLM.js.map +7 -0
  33. package/dist/chunks/doctor-LLDVEPWL.js +184 -0
  34. package/dist/chunks/doctor-LLDVEPWL.js.map +7 -0
  35. package/dist/chunks/entry-YAOEX3EB.js +187 -0
  36. package/dist/chunks/entry-YAOEX3EB.js.map +7 -0
  37. package/dist/chunks/init-4ZJFCKIJ.js +46 -0
  38. package/dist/chunks/init-4ZJFCKIJ.js.map +7 -0
  39. package/dist/chunks/mcp-serve-KWKMUGWZ.js +22575 -0
  40. package/dist/chunks/mcp-serve-KWKMUGWZ.js.map +7 -0
  41. package/dist/chunks/modules-CJB5IKUJ.js +121 -0
  42. package/dist/chunks/modules-CJB5IKUJ.js.map +7 -0
  43. package/dist/chunks/runtime-3E4NIFAL.js +208 -0
  44. package/dist/chunks/runtime-3E4NIFAL.js.map +7 -0
  45. package/dist/chunks/runtime-7CRR63B5.js +395 -0
  46. package/dist/chunks/runtime-7CRR63B5.js.map +7 -0
  47. package/dist/chunks/runtime-CKMVHAU4.js +64 -0
  48. package/dist/chunks/runtime-CKMVHAU4.js.map +7 -0
  49. package/dist/chunks/runtime-CVZMWIJO.js +318 -0
  50. package/dist/chunks/runtime-CVZMWIJO.js.map +7 -0
  51. package/dist/chunks/runtime-DBNXBOAL.js +295 -0
  52. package/dist/chunks/runtime-DBNXBOAL.js.map +7 -0
  53. package/dist/chunks/runtime-EKHO2JXB.js +197 -0
  54. package/dist/chunks/runtime-EKHO2JXB.js.map +7 -0
  55. package/dist/chunks/runtime-EY6SVZYP.js +539 -0
  56. package/dist/chunks/runtime-EY6SVZYP.js.map +7 -0
  57. package/dist/chunks/runtime-UB2O2HUN.js +212 -0
  58. package/dist/chunks/runtime-UB2O2HUN.js.map +7 -0
  59. package/dist/chunks/runtime-WAFQWW4M.js +755 -0
  60. package/dist/chunks/runtime-WAFQWW4M.js.map +7 -0
  61. package/dist/chunks/runtime-ZGGF6RVA.js +271 -0
  62. package/dist/chunks/runtime-ZGGF6RVA.js.map +7 -0
  63. package/dist/chunks/status-SPIESL4F.js +38 -0
  64. package/dist/chunks/status-SPIESL4F.js.map +7 -0
  65. package/dist/chunks/uninstall-J2OWCX4A.js +54 -0
  66. package/dist/chunks/uninstall-J2OWCX4A.js.map +7 -0
  67. package/dist/chunks/update-OX5MZYQY.js +34 -0
  68. package/dist/chunks/update-OX5MZYQY.js.map +7 -0
  69. package/dist/content/agents/yandecode-reviewer.md +22 -0
  70. package/dist/content/agents/yandecode-security-reviewer.md +23 -0
  71. package/dist/content/skills/NOTICE.md +29 -0
  72. package/dist/content/skills/yandecode-code-review/SKILL.md +37 -0
  73. package/dist/content/skills/yandecode-debugging/SKILL.md +33 -0
  74. package/dist/content/skills/yandecode-instructions/SKILL.md +26 -0
  75. package/dist/content/skills/yandecode-memory/SKILL.md +36 -0
  76. package/dist/content/skills/yandecode-security-review/SKILL.md +24 -0
  77. package/dist/content/skills/yandecode-tdd/SKILL.md +38 -0
  78. package/dist/content/skills/yandecode-verification/SKILL.md +29 -0
  79. package/dist/content/skills/yandecode-workflow/SKILL.md +50 -0
  80. package/package.json +25 -19
  81. package/dist/bin.d.ts +0 -3
  82. package/dist/bin.d.ts.map +0 -1
  83. package/dist/claude-bin.d.ts +0 -2
  84. package/dist/claude-bin.d.ts.map +0 -1
  85. package/dist/claude-bin.js +0 -4
  86. package/dist/claude-bin.js.map +0 -1
  87. package/dist/cli.d.ts +0 -6
  88. package/dist/cli.d.ts.map +0 -1
  89. package/dist/cli.js +0 -21
  90. package/dist/cli.js.map +0 -1
  91. package/dist/commands/doctor.d.ts +0 -2
  92. package/dist/commands/doctor.d.ts.map +0 -1
  93. package/dist/commands/doctor.js +0 -19
  94. package/dist/commands/doctor.js.map +0 -1
  95. package/dist/commands/hook.d.ts +0 -2
  96. package/dist/commands/hook.d.ts.map +0 -1
  97. package/dist/commands/hook.js +0 -23
  98. package/dist/commands/hook.js.map +0 -1
  99. package/dist/commands/index-cmd.d.ts +0 -2
  100. package/dist/commands/index-cmd.d.ts.map +0 -1
  101. package/dist/commands/index-cmd.js +0 -47
  102. package/dist/commands/index-cmd.js.map +0 -1
  103. package/dist/commands/index.d.ts +0 -13
  104. package/dist/commands/index.d.ts.map +0 -1
  105. package/dist/commands/index.js +0 -15
  106. package/dist/commands/index.js.map +0 -1
  107. package/dist/commands/init.d.ts +0 -2
  108. package/dist/commands/init.d.ts.map +0 -1
  109. package/dist/commands/init.js +0 -22
  110. package/dist/commands/init.js.map +0 -1
  111. package/dist/commands/mcp.d.ts +0 -2
  112. package/dist/commands/mcp.d.ts.map +0 -1
  113. package/dist/commands/mcp.js +0 -71
  114. package/dist/commands/mcp.js.map +0 -1
  115. package/dist/commands/rag.d.ts +0 -2
  116. package/dist/commands/rag.d.ts.map +0 -1
  117. package/dist/commands/rag.js +0 -27
  118. package/dist/commands/rag.js.map +0 -1
  119. package/dist/commands/start.d.ts +0 -5
  120. package/dist/commands/start.d.ts.map +0 -1
  121. package/dist/commands/start.js +0 -74
  122. package/dist/commands/start.js.map +0 -1
  123. package/dist/commands/status.d.ts +0 -2
  124. package/dist/commands/status.d.ts.map +0 -1
  125. package/dist/commands/status.js +0 -29
  126. package/dist/commands/status.js.map +0 -1
  127. package/dist/commands/statusline.d.ts +0 -2
  128. package/dist/commands/statusline.d.ts.map +0 -1
  129. package/dist/commands/statusline.js +0 -90
  130. package/dist/commands/statusline.js.map +0 -1
  131. package/dist/commands/swarm.d.ts +0 -4
  132. package/dist/commands/swarm.d.ts.map +0 -1
  133. package/dist/commands/swarm.js +0 -48
  134. package/dist/commands/swarm.js.map +0 -1
  135. package/dist/commands/uninstall.d.ts +0 -2
  136. package/dist/commands/uninstall.d.ts.map +0 -1
  137. package/dist/commands/uninstall.js +0 -16
  138. package/dist/commands/uninstall.js.map +0 -1
  139. package/dist/context.d.ts +0 -13
  140. package/dist/context.d.ts.map +0 -1
  141. package/dist/context.js +0 -31
  142. package/dist/context.js.map +0 -1
  143. package/dist/doctor/checks.d.ts +0 -18
  144. package/dist/doctor/checks.d.ts.map +0 -1
  145. package/dist/doctor/checks.js +0 -270
  146. package/dist/doctor/checks.js.map +0 -1
  147. package/dist/hooks/handlers.d.ts +0 -21
  148. package/dist/hooks/handlers.d.ts.map +0 -1
  149. package/dist/hooks/handlers.js +0 -191
  150. package/dist/hooks/handlers.js.map +0 -1
  151. package/dist/index.d.ts +0 -10
  152. package/dist/index.d.ts.map +0 -1
  153. package/dist/index.js +0 -10
  154. package/dist/index.js.map +0 -1
  155. package/dist/integration/claude-md.d.ts +0 -6
  156. package/dist/integration/claude-md.d.ts.map +0 -1
  157. package/dist/integration/claude-md.js +0 -30
  158. package/dist/integration/claude-md.js.map +0 -1
  159. package/dist/integration/gitignore.d.ts +0 -3
  160. package/dist/integration/gitignore.d.ts.map +0 -1
  161. package/dist/integration/gitignore.js +0 -13
  162. package/dist/integration/gitignore.js.map +0 -1
  163. package/dist/integration/init.d.ts +0 -17
  164. package/dist/integration/init.d.ts.map +0 -1
  165. package/dist/integration/init.js +0 -86
  166. package/dist/integration/init.js.map +0 -1
  167. package/dist/integration/json-utils.d.ts +0 -13
  168. package/dist/integration/json-utils.d.ts.map +0 -1
  169. package/dist/integration/json-utils.js +0 -33
  170. package/dist/integration/json-utils.js.map +0 -1
  171. package/dist/integration/manifest.d.ts +0 -17
  172. package/dist/integration/manifest.d.ts.map +0 -1
  173. package/dist/integration/manifest.js +0 -26
  174. package/dist/integration/manifest.js.map +0 -1
  175. package/dist/integration/materialize.d.ts +0 -9
  176. package/dist/integration/materialize.d.ts.map +0 -1
  177. package/dist/integration/materialize.js +0 -21
  178. package/dist/integration/materialize.js.map +0 -1
  179. package/dist/integration/mcp-config.d.ts +0 -4
  180. package/dist/integration/mcp-config.d.ts.map +0 -1
  181. package/dist/integration/mcp-config.js +0 -11
  182. package/dist/integration/mcp-config.js.map +0 -1
  183. package/dist/integration/settings.d.ts +0 -7
  184. package/dist/integration/settings.d.ts.map +0 -1
  185. package/dist/integration/settings.js +0 -70
  186. package/dist/integration/settings.js.map +0 -1
  187. package/dist/integration/uninstall.d.ts +0 -10
  188. package/dist/integration/uninstall.d.ts.map +0 -1
  189. package/dist/integration/uninstall.js +0 -71
  190. package/dist/integration/uninstall.js.map +0 -1
  191. package/dist/launcher.d.ts +0 -8
  192. package/dist/launcher.d.ts.map +0 -1
  193. package/dist/launcher.js +0 -18
  194. package/dist/launcher.js.map +0 -1
  195. package/dist/mcp/server.d.ts +0 -27
  196. package/dist/mcp/server.d.ts.map +0 -1
  197. package/dist/mcp/server.js +0 -311
  198. package/dist/mcp/server.js.map +0 -1
  199. package/dist/plugin-content.d.ts +0 -21
  200. package/dist/plugin-content.d.ts.map +0 -1
  201. package/dist/plugin-content.js +0 -67
  202. package/dist/plugin-content.js.map +0 -1
  203. package/dist/rag/format.d.ts +0 -3
  204. package/dist/rag/format.d.ts.map +0 -1
  205. package/dist/rag/format.js +0 -12
  206. package/dist/rag/format.js.map +0 -1
  207. package/dist/retrieval-runtime.d.ts +0 -21
  208. package/dist/retrieval-runtime.d.ts.map +0 -1
  209. package/dist/retrieval-runtime.js +0 -47
  210. package/dist/retrieval-runtime.js.map +0 -1
  211. package/dist/status-line/git.d.ts +0 -3
  212. package/dist/status-line/git.d.ts.map +0 -1
  213. package/dist/status-line/git.js +0 -34
  214. package/dist/status-line/git.js.map +0 -1
  215. package/dist/status-line/render.d.ts +0 -29
  216. package/dist/status-line/render.d.ts.map +0 -1
  217. package/dist/status-line/render.js +0 -72
  218. package/dist/status-line/render.js.map +0 -1
  219. package/dist/swarm-runtime.d.ts +0 -11
  220. package/dist/swarm-runtime.d.ts.map +0 -1
  221. package/dist/swarm-runtime.js +0 -76
  222. package/dist/swarm-runtime.js.map +0 -1
  223. package/dist/version.d.ts +0 -2
  224. package/dist/version.d.ts.map +0 -1
  225. package/dist/version.js +0 -5
  226. package/dist/version.js.map +0 -1
@@ -1,17 +0,0 @@
1
- import { type Launcher } from '../launcher.js';
2
- import { type MaterializeResult } from './materialize.js';
3
- export interface InitOptions {
4
- force?: boolean;
5
- launcher?: Launcher;
6
- }
7
- export interface InitReport {
8
- root: string;
9
- files: MaterializeResult[];
10
- configCreated: boolean;
11
- settingsUpdated: boolean;
12
- mcpUpdated: boolean;
13
- claudeMdUpdated: boolean;
14
- gitignoreUpdated: boolean;
15
- }
16
- export declare function runInit(cwd: string, options?: InitOptions): Promise<InitReport>;
17
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/integration/init.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAOhE,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI3E,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAeD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAmFnF"}
@@ -1,86 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { StateService, ensureWorkspaceDirs, workspacePathsFor, writeDefaultConfig, writeFileAtomic, } from '@yandecode/core';
4
- import { resolveLauncher } from '../launcher.js';
5
- import { loadPluginContent } from '../plugin-content.js';
6
- import { VERSION } from '../version.js';
7
- import { claudeMdBlock, upsertBlock } from './claude-md.js';
8
- import { ensureGitignoreEntry } from './gitignore.js';
9
- import { readJsonSafe } from './json-utils.js';
10
- import { readManifest, writeManifest } from './manifest.js';
11
- import { materializeFile } from './materialize.js';
12
- import { addMcpServer } from './mcp-config.js';
13
- import { hookEntriesFor, mergeHooks, mergeStatusLine } from './settings.js';
14
- function writeJsonIfChanged(file, next) {
15
- const text = `${JSON.stringify(next, null, 2)}\n`;
16
- if (existsSync(file) && readFileSync(file, 'utf8') === text)
17
- return false;
18
- writeFileAtomic(file, text);
19
- return true;
20
- }
21
- function writeTextIfChanged(file, next) {
22
- if (existsSync(file) && readFileSync(file, 'utf8') === next)
23
- return false;
24
- writeFileAtomic(file, next);
25
- return true;
26
- }
27
- export function runInit(cwd, options = {}) {
28
- const root = cwd;
29
- const paths = workspacePathsFor(root);
30
- const launcher = options.launcher ?? resolveLauncher();
31
- const force = options.force ?? false;
32
- const plugin = loadPluginContent();
33
- const configCreated = writeDefaultConfig(root);
34
- ensureWorkspaceDirs(paths);
35
- StateService.open(paths.stateDb).close();
36
- const previous = readManifest(paths.managedManifest);
37
- const prevByPath = new Map((previous?.files ?? []).map((f) => [f.path, f]));
38
- const files = [];
39
- for (const agent of plugin.agents) {
40
- const rel = `.claude/agents/${agent.name}.md`;
41
- files.push(materializeFile(root, rel, readFileSync(agent.file, 'utf8'), prevByPath.get(rel), force));
42
- }
43
- for (const skill of plugin.skills) {
44
- const rel = `.claude/skills/${skill.name}/SKILL.md`;
45
- files.push(materializeFile(root, rel, readFileSync(skill.file, 'utf8'), prevByPath.get(rel), force));
46
- }
47
- const settingsFile = join(root, '.claude', 'settings.json');
48
- const entries = hookEntriesFor(launcher, JSON.parse(readFileSync(plugin.hooksFile, 'utf8')));
49
- const settingsUpdated = writeJsonIfChanged(settingsFile, mergeStatusLine(mergeHooks(readJsonSafe(settingsFile, {}), entries), launcher));
50
- const mcpFile = join(root, '.mcp.json');
51
- const mcpUpdated = writeJsonIfChanged(mcpFile, addMcpServer(readJsonSafe(mcpFile, {}), launcher));
52
- const claudeMd = join(root, 'CLAUDE.md');
53
- const claudeMdUpdated = writeTextIfChanged(claudeMd, upsertBlock(existsSync(claudeMd) ? readFileSync(claudeMd, 'utf8') : '', claudeMdBlock()));
54
- const gitignore = join(root, '.gitignore');
55
- const gitignoreUpdated = writeTextIfChanged(gitignore, ensureGitignoreEntry(existsSync(gitignore) ? readFileSync(gitignore, 'utf8') : '', '.yandecode/'));
56
- const manifestFiles = [];
57
- for (const f of files) {
58
- if (f.action === 'preserved') {
59
- // A preserved file with no previous manifest entry has no known "managed"
60
- // content hash to record: f.hash here is the USER'S OWN content hash, and
61
- // recording it would make a later init/uninstall mistake the user's edit
62
- // for untouched managed content (see Fix 2 regression test). Omit it so
63
- // the next run again sees `previous === undefined` and treats it as
64
- // unmanaged/preserved, exactly like today.
65
- const prev = prevByPath.get(f.path);
66
- if (prev)
67
- manifestFiles.push({ path: f.path, hash: prev.hash });
68
- continue;
69
- }
70
- manifestFiles.push({ path: f.path, hash: f.hash });
71
- }
72
- writeManifest(paths.managedManifest, {
73
- version: VERSION,
74
- files: manifestFiles,
75
- });
76
- return Promise.resolve({
77
- root,
78
- files,
79
- configCreated,
80
- settingsUpdated,
81
- mcpUpdated,
82
- claudeMdUpdated,
83
- gitignoreUpdated,
84
- });
85
- }
86
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/integration/init.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Reads and parses a JSON file, returning `fallback` if the file does not
3
- * exist, cannot be read, or contains malformed JSON. Never throws.
4
- */
5
- export declare function readJsonSafe<T>(file: string, fallback: T): T;
6
- /**
7
- * True if `file` exists but its contents are not valid JSON. Used where a
8
- * caller needs to distinguish "missing" (fine, treat as absent) from
9
- * "present but corrupt" (worth surfacing to the user) rather than silently
10
- * falling back for both, as `readJsonSafe` does.
11
- */
12
- export declare function isMalformedJson(file: string): boolean;
13
- //# sourceMappingURL=json-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../src/integration/json-utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAO5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQrD"}
@@ -1,33 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- /**
3
- * Reads and parses a JSON file, returning `fallback` if the file does not
4
- * exist, cannot be read, or contains malformed JSON. Never throws.
5
- */
6
- export function readJsonSafe(file, fallback) {
7
- if (!existsSync(file))
8
- return fallback;
9
- try {
10
- return JSON.parse(readFileSync(file, 'utf8'));
11
- }
12
- catch {
13
- return fallback;
14
- }
15
- }
16
- /**
17
- * True if `file` exists but its contents are not valid JSON. Used where a
18
- * caller needs to distinguish "missing" (fine, treat as absent) from
19
- * "present but corrupt" (worth surfacing to the user) rather than silently
20
- * falling back for both, as `readJsonSafe` does.
21
- */
22
- export function isMalformedJson(file) {
23
- if (!existsSync(file))
24
- return false;
25
- try {
26
- JSON.parse(readFileSync(file, 'utf8'));
27
- return false;
28
- }
29
- catch {
30
- return true;
31
- }
32
- }
33
- //# sourceMappingURL=json-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-utils.js","sourceRoot":"","sources":["../../src/integration/json-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAI,IAAY,EAAE,QAAW;IACvD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAM,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- import { z } from 'zod';
2
- declare const ManifestSchema: z.ZodObject<{
3
- version: z.ZodString;
4
- files: z.ZodArray<z.ZodObject<{
5
- path: z.ZodString;
6
- hash: z.ZodString;
7
- }, z.core.$strip>>;
8
- }, z.core.$strip>;
9
- export type ManagedFile = {
10
- path: string;
11
- hash: string;
12
- };
13
- export type ManagedManifest = z.infer<typeof ManifestSchema>;
14
- export declare function readManifest(file: string): ManagedManifest | null;
15
- export declare function writeManifest(file: string, manifest: ManagedManifest): void;
16
- export {};
17
- //# sourceMappingURL=manifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/integration/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,cAAc;;;;;;iBAGlB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAUjE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAG3E"}
@@ -1,26 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync } from 'node:fs';
2
- import { dirname } from 'node:path';
3
- import { writeFileAtomic } from '@yandecode/core';
4
- import { z } from 'zod';
5
- const ManifestSchema = z.object({
6
- version: z.string(),
7
- files: z.array(z.object({ path: z.string(), hash: z.string() })),
8
- });
9
- export function readManifest(file) {
10
- if (!existsSync(file))
11
- return null;
12
- let raw;
13
- try {
14
- raw = JSON.parse(readFileSync(file, 'utf8'));
15
- }
16
- catch {
17
- return null;
18
- }
19
- const parsed = ManifestSchema.safeParse(raw);
20
- return parsed.success ? parsed.data : null;
21
- }
22
- export function writeManifest(file, manifest) {
23
- mkdirSync(dirname(file), { recursive: true });
24
- writeFileAtomic(file, `${JSON.stringify(manifest, null, 2)}\n`);
25
- }
26
- //# sourceMappingURL=manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/integration/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACjE,CAAC,CAAC;AAKH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAyB;IACnE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,eAAe,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { ManagedFile } from './manifest.js';
2
- export type MaterializeAction = 'created' | 'updated' | 'unchanged' | 'preserved';
3
- export interface MaterializeResult {
4
- path: string;
5
- action: MaterializeAction;
6
- hash: string;
7
- }
8
- export declare function materializeFile(root: string, relPath: string, content: string, previous: ManagedFile | undefined, force: boolean): MaterializeResult;
9
- //# sourceMappingURL=materialize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../../src/integration/materialize.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,KAAK,EAAE,OAAO,GACb,iBAAiB,CAcnB"}
@@ -1,21 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync } from 'node:fs';
2
- import { dirname } from 'node:path';
3
- import { resolveInsideRoot, sha256, writeFileAtomic } from '@yandecode/core';
4
- export function materializeFile(root, relPath, content, previous, force) {
5
- const abs = resolveInsideRoot(root, relPath);
6
- const newHash = sha256(content);
7
- if (existsSync(abs)) {
8
- const currentHash = sha256(readFileSync(abs));
9
- if (currentHash === newHash)
10
- return { path: relPath, action: 'unchanged', hash: newHash };
11
- const userEdited = previous === undefined || currentHash !== previous.hash;
12
- if (userEdited && !force)
13
- return { path: relPath, action: 'preserved', hash: currentHash };
14
- writeFileAtomic(abs, content);
15
- return { path: relPath, action: 'updated', hash: newHash };
16
- }
17
- mkdirSync(dirname(abs), { recursive: true });
18
- writeFileAtomic(abs, content);
19
- return { path: relPath, action: 'created', hash: newHash };
20
- }
21
- //# sourceMappingURL=materialize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"materialize.js","sourceRoot":"","sources":["../../src/integration/materialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAW7E,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,OAAe,EACf,OAAe,EACf,QAAiC,EACjC,KAAc;IAEd,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,WAAW,KAAK,OAAO;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC1F,MAAM,UAAU,GAAG,QAAQ,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ,CAAC,IAAI,CAAC;QAC3E,IAAI,UAAU,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC3F,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7D,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7D,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { Launcher } from '../launcher.js';
2
- export declare function addMcpServer(mcpJson: Record<string, unknown>, launcher: Launcher): Record<string, unknown>;
3
- export declare function removeMcpServer(mcpJson: Record<string, unknown>): Record<string, unknown>;
4
- //# sourceMappingURL=mcp-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../src/integration/mcp-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzF"}
@@ -1,11 +0,0 @@
1
- export function addMcpServer(mcpJson, launcher) {
2
- const servers = { ...(mcpJson.mcpServers ?? {}) };
3
- servers.yandecode = { command: launcher.command, args: [...launcher.args, 'mcp', 'serve'] };
4
- return { ...mcpJson, mcpServers: servers };
5
- }
6
- export function removeMcpServer(mcpJson) {
7
- const servers = { ...(mcpJson.mcpServers ?? {}) };
8
- delete servers.yandecode;
9
- return { ...mcpJson, mcpServers: servers };
10
- }
11
- //# sourceMappingURL=mcp-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-config.js","sourceRoot":"","sources":["../../src/integration/mcp-config.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAC1B,OAAgC,EAChC,QAAkB;IAElB,MAAM,OAAO,GAAG,EAAE,GAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAA6B,EAAE,CAAC;IAC/E,OAAO,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;IAC5F,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgC;IAC9D,MAAM,OAAO,GAAG,EAAE,GAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAA6B,EAAE,CAAC;IAC/E,OAAO,OAAO,CAAC,SAAS,CAAC;IACzB,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { Launcher } from '../launcher.js';
2
- export declare function hookEntriesFor(launcher: Launcher, pluginHooksJson: unknown): Record<string, unknown[]>;
3
- export declare function removeHooks(settings: Record<string, unknown>): Record<string, unknown>;
4
- export declare function mergeHooks(settings: Record<string, unknown>, entries: Record<string, unknown[]>): Record<string, unknown>;
5
- export declare function mergeStatusLine(settings: Record<string, unknown>, launcher: Launcher): Record<string, unknown>;
6
- export declare function removeStatusLine(settings: Record<string, unknown>): Record<string, unknown>;
7
- //# sourceMappingURL=settings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/integration/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAgB/C,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,OAAO,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAa3B;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWtF;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAaD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK3F"}
@@ -1,70 +0,0 @@
1
- import { launcherCommandLine } from '../launcher.js';
2
- const YANDECODE_HOOK = /\byandecode hook (\w+)\b/;
3
- function isYandecodeGroup(group) {
4
- if (typeof group !== 'object' || group === null)
5
- return false;
6
- const hooks = group.hooks;
7
- return (Array.isArray(hooks) && hooks.length > 0 && hooks.every((h) => YANDECODE_HOOK.test(h.command)));
8
- }
9
- export function hookEntriesFor(launcher, pluginHooksJson) {
10
- const source = pluginHooksJson.hooks;
11
- const out = {};
12
- for (const [event, groups] of Object.entries(source)) {
13
- out[event] = groups.map((g) => ({
14
- ...g,
15
- hooks: g.hooks.map((h) => {
16
- const m = YANDECODE_HOOK.exec(h.command);
17
- return m ? { ...h, command: launcherCommandLine(launcher, 'hook', m[1]) } : h;
18
- }),
19
- }));
20
- }
21
- return out;
22
- }
23
- export function removeHooks(settings) {
24
- const hooks = (settings.hooks ?? {});
25
- const cleaned = {};
26
- for (const [event, groups] of Object.entries(hooks)) {
27
- const kept = groups.filter((g) => !isYandecodeGroup(g));
28
- if (kept.length > 0)
29
- cleaned[event] = kept;
30
- }
31
- const next = { ...settings };
32
- if (Object.keys(cleaned).length > 0)
33
- next.hooks = cleaned;
34
- else
35
- delete next.hooks;
36
- return next;
37
- }
38
- export function mergeHooks(settings, entries) {
39
- const base = removeHooks(settings);
40
- const hooks = { ...(base.hooks ?? {}) };
41
- for (const [event, groups] of Object.entries(entries)) {
42
- hooks[event] = [...(hooks[event] ?? []), ...groups];
43
- }
44
- return { ...base, hooks };
45
- }
46
- const YANDECODE_STATUSLINE = /\byandecode statusline\b/;
47
- function isYandecodeStatusLine(value) {
48
- return (typeof value === 'object' &&
49
- value !== null &&
50
- typeof value.command === 'string' &&
51
- YANDECODE_STATUSLINE.test(value.command));
52
- }
53
- export function mergeStatusLine(settings, launcher) {
54
- const existing = settings.statusLine;
55
- // A statusLine we didn't set is the user's own choice - never overwrite it.
56
- if (existing !== undefined && !isYandecodeStatusLine(existing))
57
- return settings;
58
- return {
59
- ...settings,
60
- statusLine: { type: 'command', command: launcherCommandLine(launcher, 'statusline') },
61
- };
62
- }
63
- export function removeStatusLine(settings) {
64
- if (!isYandecodeStatusLine(settings.statusLine))
65
- return settings;
66
- const next = { ...settings };
67
- delete next.statusLine;
68
- return next;
69
- }
70
- //# sourceMappingURL=settings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/integration/settings.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export interface UninstallOptions {
2
- purge?: boolean;
3
- }
4
- export interface UninstallReport {
5
- removed: string[];
6
- skipped: string[];
7
- purged: boolean;
8
- }
9
- export declare function runUninstall(cwd: string, options?: UninstallOptions): Promise<UninstallReport>;
10
- //# sourceMappingURL=uninstall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/integration/uninstall.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAWD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAyD1B"}
@@ -1,71 +0,0 @@
1
- import { existsSync, readFileSync, readdirSync, rmSync, unlinkSync } from 'node:fs';
2
- import { dirname, join } from 'node:path';
3
- import { resolveInsideRoot, sha256, workspacePathsFor, writeFileAtomic } from '@yandecode/core';
4
- import { removeBlock } from './claude-md.js';
5
- import { removeGitignoreEntry } from './gitignore.js';
6
- import { readJsonSafe } from './json-utils.js';
7
- import { readManifest } from './manifest.js';
8
- import { removeMcpServer } from './mcp-config.js';
9
- import { removeHooks, removeStatusLine } from './settings.js';
10
- function removeEmptyDirsUpTo(dir, stopAt) {
11
- let current = dir;
12
- while (current.startsWith(stopAt) && current !== stopAt) {
13
- if (!existsSync(current) || readdirSync(current).length > 0)
14
- return;
15
- rmSync(current, { recursive: true });
16
- current = dirname(current);
17
- }
18
- }
19
- export function runUninstall(cwd, options = {}) {
20
- const root = cwd;
21
- const paths = workspacePathsFor(root);
22
- const manifest = readManifest(paths.managedManifest);
23
- const removed = [];
24
- const skipped = [];
25
- for (const file of manifest?.files ?? []) {
26
- const abs = resolveInsideRoot(root, file.path);
27
- if (!existsSync(abs))
28
- continue;
29
- if (sha256(readFileSync(abs)) !== file.hash) {
30
- skipped.push(file.path);
31
- continue;
32
- }
33
- unlinkSync(abs);
34
- removed.push(file.path);
35
- removeEmptyDirsUpTo(dirname(abs), join(root, '.claude'));
36
- }
37
- const settingsFile = join(root, '.claude', 'settings.json');
38
- if (existsSync(settingsFile)) {
39
- // A malformed settings.json must not abort the rest of uninstall (which
40
- // still has CLAUDE.md/.gitignore/yandecode.json cleanup to do): skip
41
- // rewriting this one file rather than throwing.
42
- const parsed = readJsonSafe(settingsFile, null);
43
- if (parsed) {
44
- const next = removeStatusLine(removeHooks(parsed));
45
- writeFileAtomic(settingsFile, `${JSON.stringify(next, null, 2)}\n`);
46
- }
47
- }
48
- const mcpFile = join(root, '.mcp.json');
49
- if (existsSync(mcpFile)) {
50
- const parsed = readJsonSafe(mcpFile, null);
51
- if (parsed) {
52
- const next = removeMcpServer(parsed);
53
- writeFileAtomic(mcpFile, `${JSON.stringify(next, null, 2)}\n`);
54
- }
55
- }
56
- const claudeMd = join(root, 'CLAUDE.md');
57
- if (existsSync(claudeMd))
58
- writeFileAtomic(claudeMd, removeBlock(readFileSync(claudeMd, 'utf8')));
59
- const gitignore = join(root, '.gitignore');
60
- if (existsSync(gitignore))
61
- writeFileAtomic(gitignore, removeGitignoreEntry(readFileSync(gitignore, 'utf8'), '.yandecode/'));
62
- if (existsSync(paths.configFile))
63
- unlinkSync(paths.configFile);
64
- const purged = options.purge ?? false;
65
- if (purged)
66
- rmSync(paths.yandecodeDir, { recursive: true, force: true });
67
- else if (existsSync(paths.managedManifest))
68
- unlinkSync(paths.managedManifest);
69
- return Promise.resolve({ removed, skipped, purged });
70
- }
71
- //# sourceMappingURL=uninstall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/integration/uninstall.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export interface Launcher {
2
- command: string;
3
- args: string[];
4
- }
5
- export declare function defaultProbe(command: string): boolean;
6
- export declare function resolveLauncher(probe?: (cmd: string) => boolean): Launcher;
7
- export declare function launcherCommandLine(launcher: Launcher, ...rest: string[]): string;
8
- //# sourceMappingURL=launcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED,wBAAgB,eAAe,CAAC,KAAK,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAsB,GAAG,QAAQ,CAIxF;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEjF"}
package/dist/launcher.js DELETED
@@ -1,18 +0,0 @@
1
- import { spawnSync } from 'node:child_process';
2
- export function defaultProbe(command) {
3
- const result = spawnSync(command, ['--version'], {
4
- stdio: 'ignore',
5
- timeout: 5000,
6
- shell: process.platform === 'win32',
7
- });
8
- return result.status === 0;
9
- }
10
- export function resolveLauncher(probe = defaultProbe) {
11
- return probe('yandecode')
12
- ? { command: 'yandecode', args: [] }
13
- : { command: 'npx', args: ['yandecode'] };
14
- }
15
- export function launcherCommandLine(launcher, ...rest) {
16
- return [launcher.command, ...launcher.args, ...rest].join(' ');
17
- }
18
- //# sourceMappingURL=launcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAO/C,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;QAC/C,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;KACpC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAkC,YAAY;IAC5E,OAAO,KAAK,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QACpC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAkB,EAAE,GAAG,IAAc;IACvE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC"}
@@ -1,27 +0,0 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { MessageRepository } from '@yandecode/core';
3
- import type { MemoryRetriever, MemoryService, SwarmService } from '@yandecode/swarm';
4
- import type { RuntimeContext } from '../context.js';
5
- export interface RagHit {
6
- path: string;
7
- startLine: number;
8
- endLine: number;
9
- symbol: string | null;
10
- score: number;
11
- content: string;
12
- }
13
- export type RagSearchFn = (query: string, options: {
14
- limit: number;
15
- }) => Promise<RagHit[]>;
16
- export interface McpDeps {
17
- rt: RuntimeContext;
18
- search?: RagSearchFn;
19
- note?: () => string | null;
20
- swarmService?: SwarmService;
21
- messages?: MessageRepository;
22
- memoryService?: MemoryService;
23
- memoryRetriever?: MemoryRetriever;
24
- }
25
- export declare function formatHits(query: string, hits: RagHit[]): string;
26
- export declare function createMcpServer(deps: McpDeps): McpServer;
27
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EAEb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAE3F,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAuCD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAUhE;AAqBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CA6UxD"}