@fractary/core-mcp 0.1.1 → 0.2.2
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/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +36 -12
- package/dist/config.js.map +1 -1
- package/package.json +4 -8
package/dist/config.d.ts
CHANGED
|
@@ -33,8 +33,8 @@ export interface Config {
|
|
|
33
33
|
* Load configuration from environment variables and config files
|
|
34
34
|
* Priority:
|
|
35
35
|
* 1. Environment variables
|
|
36
|
-
* 2. Project config: {cwd}/.fractary/config.
|
|
37
|
-
* 3. User config: ~/.fractary/config.
|
|
36
|
+
* 2. Project config: {cwd}/.fractary/core/config.yaml
|
|
37
|
+
* 3. User config: ~/.fractary/core/config.yaml
|
|
38
38
|
*/
|
|
39
39
|
export declare function loadConfig(): Promise<Config>;
|
|
40
40
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;QAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAsIlD"}
|
package/dist/config.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { access
|
|
1
|
+
import { access } from 'fs/promises';
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import { homedir } from 'os';
|
|
4
4
|
import { constants } from 'fs';
|
|
5
5
|
import { sanitizeSecrets } from './handlers/security.js';
|
|
6
|
+
import { loadYamlConfig, findProjectRoot } from '@fractary/core/common/yaml-config';
|
|
6
7
|
/**
|
|
7
8
|
* Load configuration from environment variables and config files
|
|
8
9
|
* Priority:
|
|
9
10
|
* 1. Environment variables
|
|
10
|
-
* 2. Project config: {cwd}/.fractary/config.
|
|
11
|
-
* 3. User config: ~/.fractary/config.
|
|
11
|
+
* 2. Project config: {cwd}/.fractary/core/config.yaml
|
|
12
|
+
* 3. User config: ~/.fractary/core/config.yaml
|
|
12
13
|
*/
|
|
13
14
|
export async function loadConfig() {
|
|
14
15
|
const config = {};
|
|
@@ -62,24 +63,47 @@ export async function loadConfig() {
|
|
|
62
63
|
token: process.env.BITBUCKET_TOKEN,
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
|
-
// 2. Load from config files (project first, then user)
|
|
66
|
+
// 2. Load from YAML config files (project first, then user)
|
|
67
|
+
const projectRoot = findProjectRoot(process.cwd());
|
|
66
68
|
const configPaths = [
|
|
67
|
-
join(
|
|
68
|
-
join(homedir(), '.fractary', 'config.
|
|
69
|
+
join(projectRoot, '.fractary', 'core', 'config.yaml'),
|
|
70
|
+
join(homedir(), '.fractary', 'core', 'config.yaml'),
|
|
69
71
|
];
|
|
70
72
|
for (const configPath of configPaths) {
|
|
71
73
|
try {
|
|
72
|
-
// Check if file exists
|
|
74
|
+
// Check if file exists
|
|
73
75
|
await access(configPath, constants.F_OK);
|
|
74
|
-
//
|
|
75
|
-
const
|
|
76
|
-
|
|
76
|
+
// Load YAML config using unified loader
|
|
77
|
+
const fileConfig = loadYamlConfig({
|
|
78
|
+
projectRoot: configPath.includes(homedir()) ? homedir() : projectRoot,
|
|
79
|
+
warnMissingEnvVars: false, // Don't warn in MCP server context
|
|
80
|
+
});
|
|
81
|
+
if (!fileConfig) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
77
84
|
// Merge file config with existing config (env vars take precedence)
|
|
85
|
+
// Convert SDK's handler-based config to MCP's flat config format
|
|
78
86
|
if (fileConfig.work && !config.work) {
|
|
79
|
-
|
|
87
|
+
const activeHandler = fileConfig.work.active_handler;
|
|
88
|
+
const handlerConfig = fileConfig.work.handlers?.[activeHandler] || {};
|
|
89
|
+
config.work = {
|
|
90
|
+
platform: activeHandler,
|
|
91
|
+
owner: handlerConfig.owner,
|
|
92
|
+
repo: handlerConfig.repo,
|
|
93
|
+
token: handlerConfig.token,
|
|
94
|
+
project: handlerConfig.project,
|
|
95
|
+
};
|
|
80
96
|
}
|
|
81
97
|
if (fileConfig.repo && !config.repo) {
|
|
82
|
-
|
|
98
|
+
const activeHandler = fileConfig.repo.active_handler;
|
|
99
|
+
const handlerConfig = fileConfig.repo.handlers?.[activeHandler] || {};
|
|
100
|
+
config.repo = {
|
|
101
|
+
platform: activeHandler,
|
|
102
|
+
owner: handlerConfig.owner,
|
|
103
|
+
repo: handlerConfig.repo,
|
|
104
|
+
token: handlerConfig.token,
|
|
105
|
+
defaultBranch: fileConfig.repo.defaults?.default_branch,
|
|
106
|
+
};
|
|
83
107
|
}
|
|
84
108
|
if (fileConfig.spec) {
|
|
85
109
|
config.spec = { ...fileConfig.spec, ...config.spec };
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fractary/core-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "MCP server for Fractary Core SDK - universal tool access for work, repo, spec, logs, file, docs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -48,15 +48,14 @@
|
|
|
48
48
|
},
|
|
49
49
|
"homepage": "https://github.com/fractary/core/tree/main/mcp/server#readme",
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@fractary/core": "^0.
|
|
51
|
+
"@fractary/core": "^0.3.2",
|
|
52
52
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
53
|
+
"js-yaml": "^4.1.1",
|
|
53
54
|
"minimatch": "^10.1.1"
|
|
54
55
|
},
|
|
55
|
-
"peerDependencies": {
|
|
56
|
-
"@fractary/core": "^0.1.1"
|
|
57
|
-
},
|
|
58
56
|
"devDependencies": {
|
|
59
57
|
"@types/jest": "^29.5.11",
|
|
58
|
+
"@types/js-yaml": "^4.0.9",
|
|
60
59
|
"@types/minimatch": "^5.1.2",
|
|
61
60
|
"@types/node": "^20.10.6",
|
|
62
61
|
"@typescript-eslint/eslint-plugin": "^6.17.0",
|
|
@@ -68,8 +67,5 @@
|
|
|
68
67
|
},
|
|
69
68
|
"engines": {
|
|
70
69
|
"node": ">=18.0.0"
|
|
71
|
-
},
|
|
72
|
-
"publishConfig": {
|
|
73
|
-
"access": "public"
|
|
74
70
|
}
|
|
75
71
|
}
|