@synth-coder/memhub 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.eslintrc.cjs +45 -45
  2. package/.factory/commands/opsx-apply.md +150 -150
  3. package/.factory/commands/opsx-archive.md +155 -155
  4. package/.factory/commands/opsx-explore.md +171 -171
  5. package/.factory/commands/opsx-propose.md +104 -104
  6. package/.factory/skills/openspec-apply-change/SKILL.md +156 -156
  7. package/.factory/skills/openspec-archive-change/SKILL.md +114 -114
  8. package/.factory/skills/openspec-explore/SKILL.md +288 -288
  9. package/.factory/skills/openspec-propose/SKILL.md +110 -110
  10. package/.github/workflows/ci.yml +110 -110
  11. package/.iflow/commands/opsx-apply.md +152 -152
  12. package/.iflow/commands/opsx-archive.md +157 -157
  13. package/.iflow/commands/opsx-explore.md +173 -173
  14. package/.iflow/commands/opsx-propose.md +106 -106
  15. package/.iflow/skills/openspec-apply-change/SKILL.md +156 -156
  16. package/.iflow/skills/openspec-archive-change/SKILL.md +114 -114
  17. package/.iflow/skills/openspec-explore/SKILL.md +288 -288
  18. package/.iflow/skills/openspec-propose/SKILL.md +110 -110
  19. package/.prettierrc +11 -11
  20. package/AGENTS.md +167 -167
  21. package/README.md +1 -1
  22. package/README.zh-CN.md +240 -240
  23. package/dist/src/cli/agents/claude-code.js +1 -1
  24. package/dist/src/cli/agents/claude-code.js.map +1 -1
  25. package/dist/src/cli/agents/cline.js +1 -1
  26. package/dist/src/cli/agents/cline.js.map +1 -1
  27. package/dist/src/cli/agents/codex.d.ts +5 -0
  28. package/dist/src/cli/agents/codex.d.ts.map +1 -0
  29. package/dist/src/cli/agents/codex.js +14 -0
  30. package/dist/src/cli/agents/codex.js.map +1 -0
  31. package/dist/src/cli/agents/cursor.js +1 -1
  32. package/dist/src/cli/agents/cursor.js.map +1 -1
  33. package/dist/src/cli/agents/factory-droid.js +1 -1
  34. package/dist/src/cli/agents/factory-droid.js.map +1 -1
  35. package/dist/src/cli/agents/gemini-cli.js +1 -1
  36. package/dist/src/cli/agents/gemini-cli.js.map +1 -1
  37. package/dist/src/cli/agents/index.d.ts +1 -0
  38. package/dist/src/cli/agents/index.d.ts.map +1 -1
  39. package/dist/src/cli/agents/index.js +3 -0
  40. package/dist/src/cli/agents/index.js.map +1 -1
  41. package/dist/src/cli/agents/windsurf.js +1 -1
  42. package/dist/src/cli/agents/windsurf.js.map +1 -1
  43. package/dist/src/cli/index.js +0 -0
  44. package/dist/src/cli/init.d.ts.map +1 -1
  45. package/dist/src/cli/init.js +36 -15
  46. package/dist/src/cli/init.js.map +1 -1
  47. package/dist/src/cli/types.d.ts +2 -2
  48. package/dist/src/cli/types.d.ts.map +1 -1
  49. package/dist/src/cli/types.js +11 -0
  50. package/dist/src/cli/types.js.map +1 -1
  51. package/package.json +16 -16
  52. package/tsconfig.json +25 -25
  53. package/tsconfig.test.json +8 -8
  54. package/vitest.config.ts +29 -29
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAU,KAAK,SAAS,EAAE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAIpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AA4BjD;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAexE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAuG3D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAU,KAAK,SAAS,EAAE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAKpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAqDjD;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAexE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAyG3D"}
@@ -9,22 +9,41 @@ import * as p from '@clack/prompts';
9
9
  import { AGENTS, getAgentById } from './types.js';
10
10
  import { getConfigGenerator } from './agents/index.js';
11
11
  import { updateInstructionsContent } from './instructions.js';
12
+ import { parse as parseToml, stringify as stringifyToml } from 'smol-toml';
13
+ /**
14
+ * Parse config file content based on format
15
+ */
16
+ function parseConfig(content, format) {
17
+ if (format === 'toml') {
18
+ return parseToml(content);
19
+ }
20
+ return JSON.parse(content);
21
+ }
22
+ /**
23
+ * Stringify config to string based on format
24
+ */
25
+ function stringifyConfig(config, format) {
26
+ if (format === 'toml') {
27
+ return stringifyToml(config);
28
+ }
29
+ return JSON.stringify(config, null, 2);
30
+ }
31
+ function isRecord(value) {
32
+ return typeof value === 'object' && value !== null;
33
+ }
34
+ function getTargetMcpKey(config) {
35
+ return isRecord(config.mcp_servers) ? 'mcp_servers' : 'mcpServers';
36
+ }
12
37
  /**
13
38
  * Merge memhub config into existing config
14
39
  * Preserves all existing servers, adds/updates memhub
15
40
  */
16
41
  function mergeMcpConfig(existing, newConfig) {
17
42
  const result = { ...existing };
18
- // Ensure mcpServers object exists
19
- if (typeof result.mcpServers !== 'object' || result.mcpServers === null) {
20
- result.mcpServers = {};
21
- }
22
- // Merge memhub server
23
- const existingServers = result.mcpServers;
24
- const newServers = newConfig.mcpServers;
25
- for (const [serverName, serverConfig] of Object.entries(newServers)) {
26
- existingServers[serverName] = serverConfig;
27
- }
43
+ const targetKey = getTargetMcpKey(newConfig);
44
+ const existingServers = isRecord(result[targetKey]) ? result[targetKey] : {};
45
+ const newServers = newConfig[targetKey] ?? {};
46
+ result[targetKey] = { ...existingServers, ...newServers };
28
47
  return result;
29
48
  }
30
49
  /**
@@ -71,16 +90,17 @@ export function initAgent(options) {
71
90
  const newConfig = generator(basePath);
72
91
  let finalConfig;
73
92
  // Check if config already exists
93
+ const configFormat = agentConfig.configFormat;
74
94
  if (existsSync(configPath)) {
75
95
  if (force) {
76
96
  // Force: still merge, but this updates memhub entry
77
97
  try {
78
98
  const existingContent = readFileSync(configPath, 'utf-8');
79
- const existingConfig = JSON.parse(existingContent);
99
+ const existingConfig = parseConfig(existingContent, configFormat);
80
100
  finalConfig = mergeMcpConfig(existingConfig, newConfig);
81
101
  }
82
102
  catch {
83
- // Invalid JSON, use new config
103
+ // Invalid config, use new config
84
104
  finalConfig = newConfig;
85
105
  }
86
106
  }
@@ -88,8 +108,9 @@ export function initAgent(options) {
88
108
  // No force: check if memhub already exists
89
109
  try {
90
110
  const existingContent = readFileSync(configPath, 'utf-8');
91
- const existingConfig = JSON.parse(existingContent);
92
- const servers = existingConfig.mcpServers;
111
+ const existingConfig = parseConfig(existingContent, configFormat);
112
+ const targetKey = getTargetMcpKey(newConfig);
113
+ const servers = existingConfig[targetKey];
93
114
  if (servers && 'memhub' in servers) {
94
115
  return {
95
116
  success: false,
@@ -118,7 +139,7 @@ export function initAgent(options) {
118
139
  mkdirSync(instructionsDir, { recursive: true });
119
140
  }
120
141
  // Write MCP configuration
121
- writeFileSync(configPath, JSON.stringify(finalConfig, null, 2), 'utf-8');
142
+ writeFileSync(configPath, stringifyConfig(finalConfig, configFormat), 'utf-8');
122
143
  // Handle instructions file
123
144
  let existingContent = '';
124
145
  if (existsSync(instructionsPath)) {
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * CLI types and constants
3
3
  */
4
- export type AgentType = 'cursor' | 'claude-code' | 'cline' | 'windsurf' | 'factory-droid' | 'gemini-cli';
4
+ export type AgentType = 'cursor' | 'claude-code' | 'cline' | 'windsurf' | 'factory-droid' | 'gemini-cli' | 'codex';
5
5
  export interface AgentConfig {
6
6
  readonly id: AgentType;
7
7
  readonly name: string;
@@ -10,7 +10,7 @@ export interface AgentConfig {
10
10
  readonly configFile: string;
11
11
  /** Global config file path (relative to home directory) */
12
12
  readonly globalConfigFile: string;
13
- readonly configFormat: 'json' | 'markdown';
13
+ readonly configFormat: 'json' | 'markdown' | 'toml';
14
14
  /** Local instructions file path */
15
15
  readonly instructionsFile: string;
16
16
  /** Global instructions file path (relative to home directory) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,aAAa,GACb,OAAO,GACP,UAAU,GACV,eAAe,GACf,YAAY,CAAC;AAEjB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3C,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,GAAG,OAAO,CAAC;CACnD;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,WAAW,EAmE/B,CAAC;AAEX,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAEnE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,aAAa,GACb,OAAO,GACP,UAAU,GACV,eAAe,GACf,YAAY,GACZ,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,GAAG,OAAO,CAAC;CACnD;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,WAAW,EA8E/B,CAAC;AAEX,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAEnE"}
@@ -68,6 +68,17 @@ 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
+ },
71
82
  ];
72
83
  export function getAgentById(id) {
73
84
  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;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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2BH,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;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,oBAAoB;QAChC,gBAAgB,EAAE,oBAAoB;QACtC,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,WAAW;QAC7B,sBAAsB,EAAE,kBAAkB;QAC1C,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synth-coder/memhub",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
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,20 +8,6 @@
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
- },
25
11
  "keywords": [
26
12
  "mcp",
27
13
  "memory",
@@ -57,5 +43,19 @@
57
43
  },
58
44
  "engines": {
59
45
  "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/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
  }
@@ -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
+ });