@synth-coder/memhub 0.2.4 → 0.2.5
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.
- package/.eslintrc.cjs +45 -45
- package/.factory/commands/opsx-apply.md +150 -150
- package/.factory/commands/opsx-archive.md +155 -155
- package/.factory/commands/opsx-explore.md +171 -171
- package/.factory/commands/opsx-propose.md +104 -104
- package/.factory/skills/openspec-apply-change/SKILL.md +156 -156
- package/.factory/skills/openspec-archive-change/SKILL.md +114 -114
- package/.factory/skills/openspec-explore/SKILL.md +288 -288
- package/.factory/skills/openspec-propose/SKILL.md +110 -110
- package/.github/workflows/ci.yml +110 -110
- package/.github/workflows/release.yml +3 -0
- package/.iflow/commands/opsx-apply.md +152 -152
- package/.iflow/commands/opsx-archive.md +157 -157
- package/.iflow/commands/opsx-explore.md +173 -173
- package/.iflow/commands/opsx-propose.md +106 -106
- package/.iflow/skills/openspec-apply-change/SKILL.md +156 -156
- package/.iflow/skills/openspec-archive-change/SKILL.md +114 -114
- package/.iflow/skills/openspec-explore/SKILL.md +288 -288
- package/.iflow/skills/openspec-propose/SKILL.md +110 -110
- package/.prettierrc +11 -11
- package/AGENTS.md +167 -167
- package/README.md +17 -9
- package/README.zh-CN.md +246 -238
- package/dist/src/cli/agents/index.d.ts +0 -1
- package/dist/src/cli/agents/index.d.ts.map +1 -1
- package/dist/src/cli/agents/index.js +0 -3
- package/dist/src/cli/agents/index.js.map +1 -1
- package/dist/src/cli/index.js +0 -0
- package/dist/src/cli/init.d.ts.map +1 -1
- package/dist/src/cli/init.js +4 -24
- package/dist/src/cli/init.js.map +1 -1
- package/dist/src/cli/types.d.ts +2 -2
- package/dist/src/cli/types.d.ts.map +1 -1
- package/dist/src/cli/types.js +0 -11
- package/dist/src/cli/types.js.map +1 -1
- package/docs/user-guide.md +8 -6
- package/package.json +16 -16
- package/src/cli/agents/claude-code.ts +1 -1
- package/src/cli/agents/cline.ts +1 -1
- package/src/cli/agents/codex.ts +2 -2
- package/src/cli/agents/cursor.ts +1 -1
- package/src/cli/agents/factory-droid.ts +1 -1
- package/src/cli/agents/gemini-cli.ts +1 -1
- package/src/cli/agents/windsurf.ts +1 -1
- package/src/cli/init.ts +14 -14
- package/test/cli/init.test.ts +23 -1
- package/tsconfig.json +25 -25
- package/tsconfig.test.json +8 -8
- package/vitest.config.ts +29 -29
- package/dist/src/cli/agents/codex.d.ts +0 -5
- package/dist/src/cli/agents/codex.d.ts.map +0 -1
- package/dist/src/cli/agents/codex.js +0 -14
- package/dist/src/cli/agents/codex.js.map +0 -1
package/dist/src/cli/types.js
CHANGED
|
@@ -68,17 +68,6 @@ export const AGENTS = [
|
|
|
68
68
|
globalInstructionsFile: '.gemini/GEMINI.md',
|
|
69
69
|
instructionsFormat: 'markdown',
|
|
70
70
|
},
|
|
71
|
-
{
|
|
72
|
-
id: 'codex',
|
|
73
|
-
name: 'Codex',
|
|
74
|
-
description: 'OpenAI CLI coding agent',
|
|
75
|
-
configFile: '.codex/config.toml',
|
|
76
|
-
globalConfigFile: '.codex/config.toml',
|
|
77
|
-
configFormat: 'toml',
|
|
78
|
-
instructionsFile: 'AGENTS.md',
|
|
79
|
-
globalInstructionsFile: '.codex/AGENTS.md',
|
|
80
|
-
instructionsFormat: 'markdown',
|
|
81
|
-
},
|
|
82
71
|
];
|
|
83
72
|
export function getAgentById(id) {
|
|
84
73
|
return AGENTS.find(agent => agent.id === id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0BH,MAAM,CAAC,MAAM,MAAM,GAA2B;IAC5C;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE,kBAAkB;QAC9B,gBAAgB,EAAE,kBAAkB;QACpC,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,cAAc;QAChC,sBAAsB,EAAE,cAAc;QACtC,kBAAkB,EAAE,OAAO;KAC5B;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0BAA0B;QACvC,UAAU,EAAE,WAAW;QACvB,gBAAgB,EAAE,uBAAuB;QACzC,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,WAAW;QAC7B,sBAAsB,EAAE,mBAAmB;QAC3C,kBAAkB,EAAE,UAAU;KAC/B;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE,iBAAiB;QAC7B,gBAAgB,EAAE,iBAAiB;QACnC,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,aAAa;QAC/B,sBAAsB,EAAE,aAAa;QACrC,kBAAkB,EAAE,OAAO;KAC5B;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mBAAmB;QAChC,UAAU,EAAE,mCAAmC;QAC/C,gBAAgB,EAAE,mCAAmC;QACrD,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,gBAAgB;QAClC,sBAAsB,EAAE,gBAAgB;QACxC,kBAAkB,EAAE,OAAO;KAC5B;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,mBAAmB;QAC/B,gBAAgB,EAAE,mBAAmB;QACrC,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,oBAAoB;QACtC,sBAAsB,EAAE,oBAAoB;QAC5C,kBAAkB,EAAE,UAAU;KAC/B;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iCAAiC;QAC9C,UAAU,EAAE,uBAAuB;QACnC,gBAAgB,EAAE,uBAAuB;QACzC,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,WAAW;QAC7B,sBAAsB,EAAE,mBAAmB;QAC3C,kBAAkB,EAAE,UAAU;KAC/B;CACO,CAAC;AAEX,MAAM,UAAU,YAAY,CAAC,EAAa;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/C,CAAC"}
|
package/docs/user-guide.md
CHANGED
|
@@ -9,7 +9,7 @@ MemHub is a Git-friendly memory system for AI coding agents. It helps your AI re
|
|
|
9
9
|
Configure MemHub for your AI agent with one command:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npx -y @synth-coder/memhub init
|
|
12
|
+
npx -y @synth-coder/memhub@latest init
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
This will:
|
|
@@ -29,20 +29,22 @@ This will:
|
|
|
29
29
|
| Gemini CLI | `~/.gemini/settings.json` | `.gemini/settings.json` |
|
|
30
30
|
| Codex | `~/.codex/config.toml` | `.codex/config.toml` |
|
|
31
31
|
|
|
32
|
+
Note: Codex config uses TOML key `mcp_servers` (not `mcpServers`).
|
|
33
|
+
|
|
32
34
|
### CLI Options
|
|
33
35
|
|
|
34
36
|
```bash
|
|
35
37
|
# Interactive selection (global - default)
|
|
36
|
-
npx -y @synth-coder/memhub init
|
|
38
|
+
npx -y @synth-coder/memhub@latest init
|
|
37
39
|
|
|
38
40
|
# Specify agent
|
|
39
|
-
npx -y @synth-coder/memhub init -a claude-code
|
|
41
|
+
npx -y @synth-coder/memhub@latest init -a claude-code
|
|
40
42
|
|
|
41
43
|
# Configure for current project only (local)
|
|
42
|
-
npx -y @synth-coder/memhub init -a cursor -l
|
|
44
|
+
npx -y @synth-coder/memhub@latest init -a cursor -l
|
|
43
45
|
|
|
44
46
|
# Update existing configuration
|
|
45
|
-
npx -y @synth-coder/memhub init -a claude-code --force
|
|
47
|
+
npx -y @synth-coder/memhub@latest init -a claude-code --force
|
|
46
48
|
```
|
|
47
49
|
|
|
48
50
|
| Option | Description |
|
|
@@ -95,7 +97,7 @@ By default, memories are stored in `~/.memhub/` (global) or `./memories/` (local
|
|
|
95
97
|
|
|
96
98
|
```bash
|
|
97
99
|
# Custom storage location
|
|
98
|
-
MEMHUB_STORAGE_PATH=/path/to/memories npx -y @synth-coder/memhub
|
|
100
|
+
MEMHUB_STORAGE_PATH=/path/to/memories npx -y @synth-coder/memhub@latest
|
|
99
101
|
```
|
|
100
102
|
|
|
101
103
|
### File Format
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synth-coder/memhub",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "A Git-friendly memory hub using Markdown-based storage with YAML Front Matter",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -8,6 +8,20 @@
|
|
|
8
8
|
"bin": {
|
|
9
9
|
"memhub": "dist/src/cli/index.js"
|
|
10
10
|
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc",
|
|
13
|
+
"dev": "tsc --watch",
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest",
|
|
16
|
+
"test:coverage": "vitest run --coverage",
|
|
17
|
+
"lint": "eslint src test --ext .ts",
|
|
18
|
+
"lint:fix": "eslint src test --ext .ts --fix",
|
|
19
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"docs/**/*.md\"",
|
|
20
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\" \"docs/**/*.md\"",
|
|
21
|
+
"typecheck": "tsc --noEmit --project tsconfig.json",
|
|
22
|
+
"quality": "npm run lint && npm run typecheck && npm run test:coverage",
|
|
23
|
+
"ci": "npm run quality"
|
|
24
|
+
},
|
|
11
25
|
"keywords": [
|
|
12
26
|
"mcp",
|
|
13
27
|
"memory",
|
|
@@ -43,19 +57,5 @@
|
|
|
43
57
|
},
|
|
44
58
|
"engines": {
|
|
45
59
|
"node": ">=20.0.0"
|
|
46
|
-
},
|
|
47
|
-
"scripts": {
|
|
48
|
-
"build": "tsc",
|
|
49
|
-
"dev": "tsc --watch",
|
|
50
|
-
"test": "vitest run",
|
|
51
|
-
"test:watch": "vitest",
|
|
52
|
-
"test:coverage": "vitest run --coverage",
|
|
53
|
-
"lint": "eslint src test --ext .ts",
|
|
54
|
-
"lint:fix": "eslint src test --ext .ts --fix",
|
|
55
|
-
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"docs/**/*.md\"",
|
|
56
|
-
"format:check": "prettier --check \"src/**/*.ts\" \"test/**/*.ts\" \"docs/**/*.md\"",
|
|
57
|
-
"typecheck": "tsc --noEmit --project tsconfig.json",
|
|
58
|
-
"quality": "npm run lint && npm run typecheck && npm run test:coverage",
|
|
59
|
-
"ci": "npm run quality"
|
|
60
60
|
}
|
|
61
|
-
}
|
|
61
|
+
}
|
package/src/cli/agents/cline.ts
CHANGED
package/src/cli/agents/codex.ts
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
export function generateCodexConfig(_memhubPath: string): Record<string, unknown> {
|
|
6
6
|
return {
|
|
7
|
-
|
|
7
|
+
mcp_servers: {
|
|
8
8
|
memhub: {
|
|
9
9
|
command: 'npx',
|
|
10
|
-
args: ['-y', '@synth-coder/memhub'],
|
|
10
|
+
args: ['-y', '@synth-coder/memhub@latest'],
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
};
|
package/src/cli/agents/cursor.ts
CHANGED
package/src/cli/init.ts
CHANGED
|
@@ -62,6 +62,14 @@ function stringifyConfig(
|
|
|
62
62
|
return JSON.stringify(config, null, 2);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
function isRecord(value: unknown): value is Record<string, unknown> {
|
|
66
|
+
return typeof value === 'object' && value !== null;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function getTargetMcpKey(config: Record<string, unknown>): 'mcpServers' | 'mcp_servers' {
|
|
70
|
+
return isRecord(config.mcp_servers) ? 'mcp_servers' : 'mcpServers';
|
|
71
|
+
}
|
|
72
|
+
|
|
65
73
|
/**
|
|
66
74
|
* Merge memhub config into existing config
|
|
67
75
|
* Preserves all existing servers, adds/updates memhub
|
|
@@ -71,19 +79,10 @@ function mergeMcpConfig(
|
|
|
71
79
|
newConfig: Record<string, unknown>
|
|
72
80
|
): Record<string, unknown> {
|
|
73
81
|
const result = { ...existing };
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Merge memhub server
|
|
81
|
-
const existingServers = result.mcpServers as Record<string, unknown>;
|
|
82
|
-
const newServers = newConfig.mcpServers as Record<string, unknown>;
|
|
83
|
-
|
|
84
|
-
for (const [serverName, serverConfig] of Object.entries(newServers)) {
|
|
85
|
-
existingServers[serverName] = serverConfig;
|
|
86
|
-
}
|
|
82
|
+
const targetKey = getTargetMcpKey(newConfig);
|
|
83
|
+
const existingServers = isRecord(result[targetKey]) ? result[targetKey] : {};
|
|
84
|
+
const newServers = (newConfig[targetKey] as Record<string, unknown>) ?? {};
|
|
85
|
+
result[targetKey] = { ...existingServers, ...newServers };
|
|
87
86
|
|
|
88
87
|
return result;
|
|
89
88
|
}
|
|
@@ -158,7 +157,8 @@ export function initAgent(options: InitOptions): InitOutcome {
|
|
|
158
157
|
try {
|
|
159
158
|
const existingContent = readFileSync(configPath, 'utf-8');
|
|
160
159
|
const existingConfig = parseConfig(existingContent, configFormat);
|
|
161
|
-
const
|
|
160
|
+
const targetKey = getTargetMcpKey(newConfig);
|
|
161
|
+
const servers = existingConfig[targetKey] as Record<string, unknown> | undefined;
|
|
162
162
|
|
|
163
163
|
if (servers && 'memhub' in servers) {
|
|
164
164
|
return {
|
package/test/cli/init.test.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { mkdirSync, rmSync, existsSync, readFileSync, writeFileSync } from 'fs';
|
|
|
7
7
|
import { join } from 'path';
|
|
8
8
|
import { initAgent } from '../../src/cli/init.js';
|
|
9
9
|
import { AGENTS, type AgentType } from '../../src/cli/types.js';
|
|
10
|
+
import { parse as parseToml } from 'smol-toml';
|
|
10
11
|
import {
|
|
11
12
|
extractMemHubVersion,
|
|
12
13
|
needsUpdate,
|
|
@@ -209,6 +210,26 @@ describe('CLI Init Command', () => {
|
|
|
209
210
|
expect(config.mcpServers.memhub.command).toBe('npx');
|
|
210
211
|
});
|
|
211
212
|
|
|
213
|
+
it('should generate valid TOML config for codex', () => {
|
|
214
|
+
initAgent({
|
|
215
|
+
agent: 'codex',
|
|
216
|
+
local: true,
|
|
217
|
+
projectPath: TEST_DIR,
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
const configPath = join(TEST_DIR, '.codex/config.toml');
|
|
221
|
+
const content = readFileSync(configPath, 'utf-8');
|
|
222
|
+
const config = parseToml(content) as Record<string, unknown>;
|
|
223
|
+
const servers = config.mcp_servers as Record<string, unknown>;
|
|
224
|
+
const memhub = servers.memhub as Record<string, unknown>;
|
|
225
|
+
const args = memhub.args as string[];
|
|
226
|
+
|
|
227
|
+
expect(config).toHaveProperty('mcp_servers');
|
|
228
|
+
expect(servers).toHaveProperty('memhub');
|
|
229
|
+
expect(memhub.command).toBe('npx');
|
|
230
|
+
expect(args).toContain('@synth-coder/memhub@latest');
|
|
231
|
+
});
|
|
232
|
+
|
|
212
233
|
it('should generate instructions with version tag', () => {
|
|
213
234
|
initAgent({
|
|
214
235
|
agent: 'claude-code',
|
|
@@ -260,7 +281,7 @@ describe('CLI Init Command', () => {
|
|
|
260
281
|
mcpServers: {
|
|
261
282
|
memhub: {
|
|
262
283
|
command: 'npx',
|
|
263
|
-
args: ['-y', '@synth-coder/memhub'],
|
|
284
|
+
args: ['-y', '@synth-coder/memhub@latest'],
|
|
264
285
|
},
|
|
265
286
|
},
|
|
266
287
|
};
|
|
@@ -315,6 +336,7 @@ describe('CLI Init Command', () => {
|
|
|
315
336
|
expect(config.mcpServers).toHaveProperty('memhub');
|
|
316
337
|
expect(config.mcpServers.memhub.command).toBe('npx');
|
|
317
338
|
});
|
|
339
|
+
|
|
318
340
|
});
|
|
319
341
|
|
|
320
342
|
describe('Instructions Update', () => {
|
package/tsconfig.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2022",
|
|
4
|
-
"module": "NodeNext",
|
|
5
|
-
"moduleResolution": "NodeNext",
|
|
6
|
-
"lib": ["ES2022"],
|
|
7
|
-
"outDir": "./dist",
|
|
8
|
-
"rootDir": ".",
|
|
9
|
-
"strict": true,
|
|
10
|
-
"esModuleInterop": true,
|
|
11
|
-
"skipLibCheck": true,
|
|
12
|
-
"forceConsistentCasingInFileNames": true,
|
|
13
|
-
"resolveJsonModule": true,
|
|
14
|
-
"declaration": true,
|
|
15
|
-
"declarationMap": true,
|
|
16
|
-
"sourceMap": true,
|
|
17
|
-
"noUnusedLocals": true,
|
|
18
|
-
"noUnusedParameters": true,
|
|
19
|
-
"noImplicitReturns": true,
|
|
20
|
-
"noFallthroughCasesInSwitch": true,
|
|
21
|
-
"verbatimModuleSyntax": true,
|
|
22
|
-
"isolatedModules": true
|
|
23
|
-
},
|
|
24
|
-
"include": ["src/**/*"],
|
|
25
|
-
"exclude": ["node_modules", "dist"]
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"lib": ["ES2022"],
|
|
7
|
+
"outDir": "./dist",
|
|
8
|
+
"rootDir": ".",
|
|
9
|
+
"strict": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"forceConsistentCasingInFileNames": true,
|
|
13
|
+
"resolveJsonModule": true,
|
|
14
|
+
"declaration": true,
|
|
15
|
+
"declarationMap": true,
|
|
16
|
+
"sourceMap": true,
|
|
17
|
+
"noUnusedLocals": true,
|
|
18
|
+
"noUnusedParameters": true,
|
|
19
|
+
"noImplicitReturns": true,
|
|
20
|
+
"noFallthroughCasesInSwitch": true,
|
|
21
|
+
"verbatimModuleSyntax": true,
|
|
22
|
+
"isolatedModules": true
|
|
23
|
+
},
|
|
24
|
+
"include": ["src/**/*"],
|
|
25
|
+
"exclude": ["node_modules", "dist"]
|
|
26
26
|
}
|
package/tsconfig.test.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "./tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"noUnusedLocals": false,
|
|
5
|
-
"noUnusedParameters": false
|
|
6
|
-
},
|
|
7
|
-
"include": ["src/**/*", "test/**/*", "vitest.config.ts"]
|
|
8
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"noUnusedLocals": false,
|
|
5
|
+
"noUnusedParameters": false
|
|
6
|
+
},
|
|
7
|
+
"include": ["src/**/*", "test/**/*", "vitest.config.ts"]
|
|
8
|
+
}
|
package/vitest.config.ts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { defineConfig } from 'vitest/config';
|
|
2
|
-
|
|
3
|
-
export default defineConfig({
|
|
4
|
-
test: {
|
|
5
|
-
globals: true,
|
|
6
|
-
environment: 'node',
|
|
7
|
-
coverage: {
|
|
8
|
-
provider: 'v8',
|
|
9
|
-
reporter: ['text', 'json', 'html', 'lcov'],
|
|
10
|
-
thresholds: {
|
|
11
|
-
lines: 80,
|
|
12
|
-
functions: 80,
|
|
13
|
-
branches: 78,
|
|
14
|
-
statements: 80,
|
|
15
|
-
},
|
|
16
|
-
exclude: [
|
|
17
|
-
'node_modules/',
|
|
18
|
-
'dist/',
|
|
19
|
-
'test/',
|
|
20
|
-
'**/*.d.ts',
|
|
21
|
-
'**/*.config.*',
|
|
22
|
-
'**/index.ts',
|
|
23
|
-
'.eslintrc.cjs',
|
|
24
|
-
'src/services/embedding-service.ts',
|
|
25
|
-
'src/server/mcp-server.ts',
|
|
26
|
-
],
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
});
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
test: {
|
|
5
|
+
globals: true,
|
|
6
|
+
environment: 'node',
|
|
7
|
+
coverage: {
|
|
8
|
+
provider: 'v8',
|
|
9
|
+
reporter: ['text', 'json', 'html', 'lcov'],
|
|
10
|
+
thresholds: {
|
|
11
|
+
lines: 80,
|
|
12
|
+
functions: 80,
|
|
13
|
+
branches: 78,
|
|
14
|
+
statements: 80,
|
|
15
|
+
},
|
|
16
|
+
exclude: [
|
|
17
|
+
'node_modules/',
|
|
18
|
+
'dist/',
|
|
19
|
+
'test/',
|
|
20
|
+
'**/*.d.ts',
|
|
21
|
+
'**/*.config.*',
|
|
22
|
+
'**/index.ts',
|
|
23
|
+
'.eslintrc.cjs',
|
|
24
|
+
'src/services/embedding-service.ts',
|
|
25
|
+
'src/server/mcp-server.ts',
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/cli/agents/codex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAShF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Codex MCP configuration generator
|
|
3
|
-
*/
|
|
4
|
-
export function generateCodexConfig(_memhubPath) {
|
|
5
|
-
return {
|
|
6
|
-
mcpServers: {
|
|
7
|
-
memhub: {
|
|
8
|
-
command: 'npx',
|
|
9
|
-
args: ['-y', '@synth-coder/memhub'],
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/cli/agents/codex.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO;QACL,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,qBAAqB,CAAC;aACpC;SACF;KACF,CAAC;AACJ,CAAC"}
|