funifier-mcp 0.2.17 → 0.2.18

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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAqHA,wBAA8B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAqClD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAoIA,wBAA8B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAsClD"}
package/dist/cli/init.js CHANGED
@@ -99,6 +99,16 @@ function ensureGitignoreEntry(projectDir) {
99
99
  fs.appendFileSync(gitignore, `${prefix}${entry}\n`);
100
100
  console.log(` ✓ Added funifier.json to .gitignore`);
101
101
  }
102
+ async function copyDocs(pkgRoot, projectDir, resolver) {
103
+ const src = path.join(pkgRoot, "datasource-funifier-docs");
104
+ const dst = path.join(projectDir, "datasource-funifier-docs");
105
+ if (!fs.existsSync(src)) {
106
+ console.log(` ⚠ datasource-funifier-docs not found in package — skipping`);
107
+ return;
108
+ }
109
+ await (0, copy_1.copyDir)(src, dst, resolver);
110
+ console.log(` ✓ datasource-funifier-docs/`);
111
+ }
102
112
  async function copyPlatformFiles(pkgRoot, projectDir, platforms, resolver) {
103
113
  const seen = new Set();
104
114
  for (const platform of platforms) {
@@ -125,7 +135,7 @@ async function copyPlatformFiles(pkgRoot, projectDir, platforms, resolver) {
125
135
  }
126
136
  function writePlatformConfigs(pkgRoot, projectDir, platforms, creds) {
127
137
  const bundlePath = path.join(pkgRoot, "dist", "mcp", "bundle.js");
128
- const docsPath = path.join(pkgRoot, "datasource-funifier-docs", "knowledge");
138
+ const docsPath = path.join(projectDir, "datasource-funifier-docs", "knowledge");
129
139
  for (const platform of platforms) {
130
140
  if (!platform.configFile)
131
141
  continue;
@@ -146,6 +156,7 @@ async function main() {
146
156
  const creds = await (0, prompts_1.askCredentials)(projectDir);
147
157
  console.log("");
148
158
  const resolver = makeConflictResolver();
159
+ await copyDocs(pkgRoot, projectDir, resolver);
149
160
  await copyPlatformFiles(pkgRoot, projectDir, platforms, resolver);
150
161
  writeFunifierJson(projectDir, creds);
151
162
  if (creds)
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=init.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.test.d.ts","sourceRoot":"","sources":["../../src/cli/init.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const vitest_1 = require("vitest");
40
+ const fs = __importStar(require("fs"));
41
+ const os = __importStar(require("os"));
42
+ const path = __importStar(require("path"));
43
+ // We must mock the prompts module before importing init.
44
+ vitest_1.vi.mock("./prompts", () => ({
45
+ selectPlatforms: vitest_1.vi.fn(),
46
+ askCredentials: vitest_1.vi.fn(),
47
+ askConflict: vitest_1.vi.fn(),
48
+ }));
49
+ vitest_1.vi.mock("./paths", () => ({
50
+ resolvePackageRoot: vitest_1.vi.fn(),
51
+ }));
52
+ const init_1 = __importDefault(require("./init"));
53
+ const prompts_1 = require("./prompts");
54
+ const paths_1 = require("./paths");
55
+ let projectDir;
56
+ let pkgRoot;
57
+ const originalCwd = process.cwd;
58
+ const originalExit = process.exit;
59
+ (0, vitest_1.beforeEach)(() => {
60
+ // Create temp directories for project and fake package root
61
+ projectDir = fs.mkdtempSync(path.join(os.tmpdir(), "funifier-init-project-"));
62
+ pkgRoot = fs.mkdtempSync(path.join(os.tmpdir(), "funifier-init-pkg-"));
63
+ // Ensure package.json exists in project
64
+ fs.writeFileSync(path.join(projectDir, "package.json"), JSON.stringify({ name: "test-project" }));
65
+ // Setup fake package root structure
66
+ fs.mkdirSync(path.join(pkgRoot, "datasource-funifier-docs", "knowledge"), { recursive: true });
67
+ fs.writeFileSync(path.join(pkgRoot, "datasource-funifier-docs", "knowledge", "test-doc.md"), "# Test Doc\n");
68
+ fs.writeFileSync(path.join(pkgRoot, "datasource-funifier-docs", ".search-index.json"), JSON.stringify({ version: 1, files: [] }));
69
+ fs.mkdirSync(path.join(pkgRoot, "skills"), { recursive: true });
70
+ fs.writeFileSync(path.join(pkgRoot, "skills", "test-skill.md"), "# Skill\n");
71
+ fs.writeFileSync(path.join(pkgRoot, "AGENTS.md"), "# Agents\n");
72
+ // Mock process.cwd to return projectDir
73
+ process.cwd = vitest_1.vi.fn(() => projectDir);
74
+ // Mock process.exit so tests don't terminate
75
+ process.exit = vitest_1.vi.fn((code) => {
76
+ throw new Error(`EXIT:${code}`);
77
+ });
78
+ // Mock TTY
79
+ Object.defineProperty(process.stdout, "isTTY", { value: true, configurable: true });
80
+ Object.defineProperty(process.stdin, "isTTY", { value: true, configurable: true });
81
+ // Setup mock implementations
82
+ vitest_1.vi.mocked(paths_1.resolvePackageRoot).mockReturnValue(pkgRoot);
83
+ vitest_1.vi.mocked(prompts_1.selectPlatforms).mockResolvedValue([
84
+ {
85
+ key: "opencode",
86
+ name: "OpenCode",
87
+ copies: [
88
+ { src: "skills", dest: ".agents/skills", isDir: true },
89
+ { src: "AGENTS.md", dest: "AGENTS.md" },
90
+ ],
91
+ configFile: { dest: "opencode.json", render: ({ projectDir, bundlePath, docsPath, creds }) => JSON.stringify({ projectDir, bundlePath, docsPath, creds }) },
92
+ },
93
+ ]);
94
+ });
95
+ (0, vitest_1.afterEach)(() => {
96
+ process.cwd = originalCwd;
97
+ process.exit = originalExit;
98
+ Object.defineProperty(process.stdout, "isTTY", { value: undefined, configurable: true });
99
+ Object.defineProperty(process.stdin, "isTTY", { value: undefined, configurable: true });
100
+ fs.rmSync(projectDir, { recursive: true, force: true });
101
+ fs.rmSync(pkgRoot, { recursive: true, force: true });
102
+ vitest_1.vi.clearAllMocks();
103
+ });
104
+ (0, vitest_1.describe)("init", () => {
105
+ (0, vitest_1.it)("copies datasource-funifier-docs to the project", async () => {
106
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(null);
107
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("overwrite");
108
+ await (0, init_1.default)();
109
+ const docsPath = path.join(projectDir, "datasource-funifier-docs");
110
+ (0, vitest_1.expect)(fs.existsSync(docsPath)).toBe(true);
111
+ (0, vitest_1.expect)(fs.existsSync(path.join(docsPath, "knowledge", "test-doc.md"))).toBe(true);
112
+ (0, vitest_1.expect)(fs.existsSync(path.join(docsPath, ".search-index.json"))).toBe(true);
113
+ });
114
+ (0, vitest_1.it)("copies platform files to the project", async () => {
115
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(null);
116
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("overwrite");
117
+ await (0, init_1.default)();
118
+ (0, vitest_1.expect)(fs.existsSync(path.join(projectDir, ".agents/skills/test-skill.md"))).toBe(true);
119
+ (0, vitest_1.expect)(fs.existsSync(path.join(projectDir, "AGENTS.md"))).toBe(true);
120
+ });
121
+ (0, vitest_1.it)("writes funifier.json when credentials are provided", async () => {
122
+ const creds = {
123
+ apiKey: "test-api-key",
124
+ secretKey: "test-secret",
125
+ serverUrl: "https://test.funifier.com",
126
+ };
127
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(creds);
128
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("overwrite");
129
+ await (0, init_1.default)();
130
+ const funifierJsonPath = path.join(projectDir, "funifier.json");
131
+ (0, vitest_1.expect)(fs.existsSync(funifierJsonPath)).toBe(true);
132
+ const content = JSON.parse(fs.readFileSync(funifierJsonPath, "utf-8"));
133
+ (0, vitest_1.expect)(content.apiKey).toBe("test-api-key");
134
+ (0, vitest_1.expect)(content.serverUrl).toBe("https://test.funifier.com");
135
+ });
136
+ (0, vitest_1.it)("writes funifier.json.example when no credentials are provided", async () => {
137
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(null);
138
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("overwrite");
139
+ await (0, init_1.default)();
140
+ (0, vitest_1.expect)(fs.existsSync(path.join(projectDir, "funifier.json.example"))).toBe(true);
141
+ (0, vitest_1.expect)(fs.existsSync(path.join(projectDir, "funifier.json"))).toBe(false);
142
+ });
143
+ (0, vitest_1.it)("adds funifier.json to .gitignore when credentials are provided", async () => {
144
+ const creds = {
145
+ apiKey: "test-api-key",
146
+ secretKey: "test-secret",
147
+ serverUrl: "https://test.funifier.com",
148
+ };
149
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(creds);
150
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("overwrite");
151
+ await (0, init_1.default)();
152
+ const gitignorePath = path.join(projectDir, ".gitignore");
153
+ (0, vitest_1.expect)(fs.existsSync(gitignorePath)).toBe(true);
154
+ const content = fs.readFileSync(gitignorePath, "utf-8");
155
+ (0, vitest_1.expect)(content).toContain("funifier.json");
156
+ });
157
+ (0, vitest_1.it)("writes platform config with project-local docs path", async () => {
158
+ const creds = {
159
+ apiKey: "test-api-key",
160
+ secretKey: "test-secret",
161
+ serverUrl: "https://test.funifier.com",
162
+ };
163
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(creds);
164
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("overwrite");
165
+ await (0, init_1.default)();
166
+ const configPath = path.join(projectDir, "opencode.json");
167
+ (0, vitest_1.expect)(fs.existsSync(configPath)).toBe(true);
168
+ const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
169
+ // docsPath should point to project-local docs, not package root
170
+ (0, vitest_1.expect)(config.docsPath).toBe(path.join(projectDir, "datasource-funifier-docs", "knowledge"));
171
+ (0, vitest_1.expect)(config.docsPath).not.toContain(pkgRoot);
172
+ });
173
+ (0, vitest_1.it)("exits when not in a TTY", async () => {
174
+ Object.defineProperty(process.stdout, "isTTY", { value: false, configurable: true });
175
+ await (0, vitest_1.expect)((0, init_1.default)()).rejects.toThrow("EXIT:1");
176
+ });
177
+ (0, vitest_1.it)("asks for conflict resolution when files exist", async () => {
178
+ // Pre-create AGENTS.md to trigger conflict
179
+ fs.writeFileSync(path.join(projectDir, "AGENTS.md"), "# Existing\n");
180
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(null);
181
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("overwrite");
182
+ await (0, init_1.default)();
183
+ (0, vitest_1.expect)(prompts_1.askConflict).toHaveBeenCalledWith(path.join(projectDir, "AGENTS.md"));
184
+ const content = fs.readFileSync(path.join(projectDir, "AGENTS.md"), "utf-8");
185
+ (0, vitest_1.expect)(content).toBe("# Agents\n"); // Should be overwritten
186
+ });
187
+ (0, vitest_1.it)("skips existing files when user chooses skip", async () => {
188
+ fs.writeFileSync(path.join(projectDir, "AGENTS.md"), "# Existing\n");
189
+ vitest_1.vi.mocked(prompts_1.askCredentials).mockResolvedValue(null);
190
+ vitest_1.vi.mocked(prompts_1.askConflict).mockResolvedValue("skip");
191
+ await (0, init_1.default)();
192
+ const content = fs.readFileSync(path.join(projectDir, "AGENTS.md"), "utf-8");
193
+ (0, vitest_1.expect)(content).toBe("# Existing\n"); // Should NOT be overwritten
194
+ });
195
+ });
196
+ //# sourceMappingURL=init.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../src/cli/init.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,OAAO,UAAU,IAAI,IAAI,IAAI,CA0CnC"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,OAAO,UAAU,IAAI,IAAI,IAAI,CA+CnC"}
@@ -61,9 +61,13 @@ function main() {
61
61
  console.error('Usage: funifier-mcp search "<query>" [--top N] [--skill <id>] [--min-score N]');
62
62
  process.exit(1);
63
63
  }
64
+ // Prefer project-local docs so that returned paths exist in cwd.
65
+ const cwdDocs = path.join(process.cwd(), "datasource-funifier-docs");
64
66
  const pkgRoot = (0, paths_1.resolvePackageRoot)();
65
- const indexFile = path.join(pkgRoot, "datasource-funifier-docs", ".search-index.json");
66
- const skillsMapFile = path.join(pkgRoot, "datasource-funifier-docs", ".skills-map.json");
67
+ const pkgDocs = path.join(pkgRoot, "datasource-funifier-docs");
68
+ const docsDir = fs.existsSync(path.join(cwdDocs, ".search-index.json")) ? cwdDocs : pkgDocs;
69
+ const indexFile = path.join(docsDir, ".search-index.json");
70
+ const skillsMapFile = path.join(docsDir, ".skills-map.json");
67
71
  if (!fs.existsSync(indexFile)) {
68
72
  console.error("ERROR: .search-index.json not found. Run `npm run build:skills` first.");
69
73
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,uBA0CC;AAlED,uCAAyB;AACzB,2CAA6B;AAC7B,6CAA+D;AAC/D,mCAA6C;AAE7C,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAExD,MAAM,OAAO,GAAG,CAAC,IAAY,EAAsB,EAAE;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzF,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO;QACL,KAAK;QACL,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;QACzB,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAE,CAAC,CAAC,CAAC,CAAC,GAAG;KACzE,CAAC;AACJ,CAAC;AAED,SAAwB,IAAI;IAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;QAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;IAEzF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3E,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,MAAM,SAAS,GAA6B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QAChG,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,QAAQ,GAAG,4BAA4B,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,kBAAkB,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=search.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.test.d.ts","sourceRoot":"","sources":["../../src/cli/search.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const vitest_1 = require("vitest");
40
+ const fs = __importStar(require("fs"));
41
+ const os = __importStar(require("os"));
42
+ const path = __importStar(require("path"));
43
+ vitest_1.vi.mock("./paths", () => ({
44
+ resolvePackageRoot: vitest_1.vi.fn(),
45
+ }));
46
+ const paths_1 = require("./paths");
47
+ const search_1 = __importDefault(require("./search"));
48
+ let projectDir;
49
+ let pkgRoot;
50
+ const originalCwd = process.cwd;
51
+ const originalExit = process.exit;
52
+ const originalArgv = process.argv;
53
+ (0, vitest_1.beforeEach)(() => {
54
+ projectDir = fs.mkdtempSync(path.join(os.tmpdir(), "funifier-search-project-"));
55
+ pkgRoot = fs.mkdtempSync(path.join(os.tmpdir(), "funifier-search-pkg-"));
56
+ // Setup fake package root with docs
57
+ fs.mkdirSync(path.join(pkgRoot, "datasource-funifier-docs"), { recursive: true });
58
+ fs.writeFileSync(path.join(pkgRoot, "datasource-funifier-docs", ".search-index.json"), JSON.stringify({
59
+ version: 1,
60
+ files: {
61
+ "modules/database.md": {
62
+ tokens: { database: 5, mongodb: 3, update: 2 },
63
+ headings: ["database", "access"],
64
+ totalTokens: 10,
65
+ },
66
+ "guides/database-access.md": {
67
+ tokens: { database: 3, access: 4, crud: 2 },
68
+ headings: ["database", "access"],
69
+ totalTokens: 9,
70
+ },
71
+ },
72
+ idf: {
73
+ database: 2.0,
74
+ mongodb: 1.5,
75
+ update: 1.0,
76
+ access: 1.2,
77
+ crud: 1.0,
78
+ },
79
+ }));
80
+ // Setup fake package root skills map
81
+ fs.writeFileSync(path.join(pkgRoot, "datasource-funifier-docs", ".skills-map.json"), JSON.stringify({
82
+ "funifier-create-trigger": ["modules/trigger.md"],
83
+ }));
84
+ process.cwd = vitest_1.vi.fn(() => projectDir);
85
+ process.exit = vitest_1.vi.fn((code) => {
86
+ throw new Error(`EXIT:${code}`);
87
+ });
88
+ vitest_1.vi.mocked(paths_1.resolvePackageRoot).mockReturnValue(pkgRoot);
89
+ });
90
+ (0, vitest_1.afterEach)(() => {
91
+ process.cwd = originalCwd;
92
+ process.exit = originalExit;
93
+ process.argv = originalArgv;
94
+ fs.rmSync(projectDir, { recursive: true, force: true });
95
+ fs.rmSync(pkgRoot, { recursive: true, force: true });
96
+ vitest_1.vi.clearAllMocks();
97
+ });
98
+ (0, vitest_1.describe)("search", () => {
99
+ (0, vitest_1.it)("uses project-local docs when .search-index.json exists in cwd", () => {
100
+ // Create project-local docs with different content
101
+ fs.mkdirSync(path.join(projectDir, "datasource-funifier-docs"), { recursive: true });
102
+ fs.writeFileSync(path.join(projectDir, "datasource-funifier-docs", ".search-index.json"), JSON.stringify({
103
+ version: 1,
104
+ files: {
105
+ "local-doc.md": {
106
+ tokens: { local: 5, search: 3 },
107
+ headings: ["local"],
108
+ totalTokens: 8,
109
+ },
110
+ },
111
+ idf: {
112
+ local: 2.0,
113
+ search: 1.5,
114
+ },
115
+ }));
116
+ process.argv = ["node", "search.js", "search", "local search"];
117
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
118
+ (0, search_1.default)();
119
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining("local-doc.md"));
120
+ consoleSpy.mockRestore();
121
+ });
122
+ (0, vitest_1.it)("falls back to package docs when no project-local docs exist", () => {
123
+ process.argv = ["node", "search.js", "search", "database mongodb"];
124
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
125
+ (0, search_1.default)();
126
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining("modules/database.md"));
127
+ consoleSpy.mockRestore();
128
+ });
129
+ (0, vitest_1.it)("exits with error when no query is provided", () => {
130
+ process.argv = ["node", "search.js", "search"];
131
+ const consoleSpy = vitest_1.vi.spyOn(console, "error").mockImplementation(() => { });
132
+ (0, vitest_1.expect)(() => (0, search_1.default)()).toThrow("EXIT:1");
133
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining("Usage:"));
134
+ consoleSpy.mockRestore();
135
+ });
136
+ (0, vitest_1.it)("exits with error when .search-index.json is not found", () => {
137
+ // Remove index from package root
138
+ fs.rmSync(path.join(pkgRoot, "datasource-funifier-docs", ".search-index.json"));
139
+ process.argv = ["node", "search.js", "search", "database"];
140
+ const consoleSpy = vitest_1.vi.spyOn(console, "error").mockImplementation(() => { });
141
+ (0, vitest_1.expect)(() => (0, search_1.default)()).toThrow("EXIT:1");
142
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining(".search-index.json not found"));
143
+ consoleSpy.mockRestore();
144
+ });
145
+ (0, vitest_1.it)("respects --top flag", () => {
146
+ process.argv = ["node", "search.js", "search", "database", "--top", "1"];
147
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
148
+ (0, search_1.default)();
149
+ const calls = consoleSpy.mock.calls.filter((call) => typeof call[0] === "string" && call[0].includes(".md"));
150
+ (0, vitest_1.expect)(calls.length).toBe(1);
151
+ consoleSpy.mockRestore();
152
+ });
153
+ (0, vitest_1.it)("respects --min-score flag", () => {
154
+ process.argv = ["node", "search.js", "search", "database", "--min-score", "2.0"];
155
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
156
+ (0, search_1.default)();
157
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining("No results above score threshold"));
158
+ consoleSpy.mockRestore();
159
+ });
160
+ (0, vitest_1.it)("respects --skill flag", () => {
161
+ // Add skills map to package
162
+ fs.writeFileSync(path.join(pkgRoot, "datasource-funifier-docs", ".skills-map.json"), JSON.stringify({
163
+ "funifier-create-trigger": ["modules/database.md"],
164
+ }));
165
+ process.argv = ["node", "search.js", "search", "database", "--skill", "funifier-create-trigger"];
166
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
167
+ (0, search_1.default)();
168
+ // Should boost the score for modules/database.md
169
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining("modules/database.md"));
170
+ consoleSpy.mockRestore();
171
+ });
172
+ (0, vitest_1.it)("outputs correct file paths relative to datasource-funifier-docs", () => {
173
+ process.argv = ["node", "search.js", "search", "database"];
174
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
175
+ (0, search_1.default)();
176
+ const calls = consoleSpy.mock.calls
177
+ .map((call) => call[0])
178
+ .filter((text) => typeof text === "string" && text.includes(".md"));
179
+ (0, vitest_1.expect)(calls.length).toBeGreaterThan(0);
180
+ // All results should be prefixed with datasource-funifier-docs/
181
+ calls.forEach((call) => {
182
+ (0, vitest_1.expect)(call).toContain("datasource-funifier-docs/");
183
+ });
184
+ consoleSpy.mockRestore();
185
+ });
186
+ (0, vitest_1.it)("prints separator and footer", () => {
187
+ process.argv = ["node", "search.js", "search", "database"];
188
+ const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
189
+ (0, search_1.default)();
190
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining("SEARCH:"));
191
+ (0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining("Read files with score"));
192
+ consoleSpy.mockRestore();
193
+ });
194
+ });
195
+ //# sourceMappingURL=search.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.test.js","sourceRoot":"","sources":["../../src/cli/search.test.ts"],"names":[],"mappings":"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"}