@inferevents/mcp 0.3.1 → 0.3.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
CHANGED
|
@@ -14,6 +14,11 @@ export interface InferConfigFile {
|
|
|
14
14
|
}>;
|
|
15
15
|
}
|
|
16
16
|
export declare function loadConfig(): Promise<InferConfig>;
|
|
17
|
+
/**
|
|
18
|
+
* Write a local .infer.json to the given directory (or cwd).
|
|
19
|
+
* This pins the directory to a specific project in the global config.
|
|
20
|
+
*/
|
|
21
|
+
export declare function writeLocalConfig(projectName: string, dir?: string): Promise<string>;
|
|
17
22
|
export declare function readConfigFile(): Promise<InferConfigFile>;
|
|
18
23
|
export declare function writeConfigFile(config: InferConfigFile): Promise<void>;
|
|
19
24
|
export declare function addProject(name: string, apiKey: string, projectId: string, writeKey?: string, setActive?: boolean, session?: string): Promise<void>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAgDD,wBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,CAuFvD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIzF;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAyB/D;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,UAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAWtE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAOzG;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG9D;AAED,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/config.js
CHANGED
|
@@ -3,6 +3,7 @@ import { join } from "node:path";
|
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
const CONFIG_DIR = join(homedir(), ".infer");
|
|
5
5
|
const CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
6
|
+
const LOCAL_CONFIG_NAME = ".infer.json";
|
|
6
7
|
const SETUP_INSTRUCTIONS = `
|
|
7
8
|
Infer MCP server is not configured.
|
|
8
9
|
|
|
@@ -19,8 +20,33 @@ Run /infer-setup in Claude Code, or create ~/.infer/config.json:
|
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
`.trim();
|
|
23
|
+
/**
|
|
24
|
+
* Find local .infer.json by walking up from cwd.
|
|
25
|
+
* Returns the parsed config or null if not found.
|
|
26
|
+
*/
|
|
27
|
+
async function findLocalConfig() {
|
|
28
|
+
let dir = process.cwd();
|
|
29
|
+
const root = (process.platform === "win32") ? dir.split("\\")[0] + "\\" : "/";
|
|
30
|
+
for (let i = 0; i < 10; i++) {
|
|
31
|
+
try {
|
|
32
|
+
const raw = await readFile(join(dir, LOCAL_CONFIG_NAME), "utf-8");
|
|
33
|
+
const parsed = JSON.parse(raw);
|
|
34
|
+
if (typeof parsed.project === "string") {
|
|
35
|
+
return { projectName: parsed.project };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// not found, walk up
|
|
40
|
+
}
|
|
41
|
+
const parent = join(dir, "..");
|
|
42
|
+
if (parent === dir || dir === root)
|
|
43
|
+
break;
|
|
44
|
+
dir = parent;
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
22
48
|
export async function loadConfig() {
|
|
23
|
-
// Env overrides (highest priority)
|
|
49
|
+
// 1. Env overrides (highest priority)
|
|
24
50
|
const envKey = process.env.INFER_API_KEY;
|
|
25
51
|
const envProject = process.env.INFER_PROJECT_ID;
|
|
26
52
|
if (envKey) {
|
|
@@ -30,6 +56,7 @@ export async function loadConfig() {
|
|
|
30
56
|
projectId: envProject,
|
|
31
57
|
};
|
|
32
58
|
}
|
|
59
|
+
// 2. Read global config
|
|
33
60
|
let raw;
|
|
34
61
|
try {
|
|
35
62
|
raw = await readFile(CONFIG_PATH, "utf-8");
|
|
@@ -45,7 +72,7 @@ export async function loadConfig() {
|
|
|
45
72
|
throw new ConfigError(`Invalid JSON in ${CONFIG_PATH}. Please check the file syntax.`);
|
|
46
73
|
}
|
|
47
74
|
const config = parsed;
|
|
48
|
-
// Backwards compat: old flat format { apiKey, endpoint, projectId }
|
|
75
|
+
// 3. Backwards compat: old flat format { apiKey, endpoint, projectId }
|
|
49
76
|
if ("apiKey" in config && typeof config.apiKey === "string") {
|
|
50
77
|
const apiKey = config.apiKey;
|
|
51
78
|
if (!apiKey.startsWith("pk_read_")) {
|
|
@@ -59,20 +86,26 @@ export async function loadConfig() {
|
|
|
59
86
|
projectId: typeof config.projectId === "string" ? config.projectId : undefined,
|
|
60
87
|
};
|
|
61
88
|
}
|
|
62
|
-
// New profiles format
|
|
89
|
+
// 4. New profiles format — determine active project
|
|
63
90
|
if ("projects" in config && typeof config.projects === "object" && config.projects !== null) {
|
|
64
91
|
const projects = config.projects;
|
|
65
92
|
const names = Object.keys(projects);
|
|
66
93
|
if (names.length === 0) {
|
|
67
94
|
throw new ConfigError(`No projects in ${CONFIG_PATH}. Run /infer-setup to add one.`);
|
|
68
95
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
throw new ConfigError(`Active project "${activeName}" not found in config. Available: ${names.join(", ")}`);
|
|
96
|
+
// Priority: local .infer.json > global activeProject > first project
|
|
97
|
+
const localConfig = await findLocalConfig();
|
|
98
|
+
let activeName;
|
|
99
|
+
if (localConfig && projects[localConfig.projectName]) {
|
|
100
|
+
activeName = localConfig.projectName;
|
|
75
101
|
}
|
|
102
|
+
else if (typeof config.activeProject === "string" && projects[config.activeProject]) {
|
|
103
|
+
activeName = config.activeProject;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
activeName = names[0];
|
|
107
|
+
}
|
|
108
|
+
const project = projects[activeName];
|
|
76
109
|
const apiKey = project.apiKey;
|
|
77
110
|
if (!apiKey || !apiKey.startsWith("pk_read_")) {
|
|
78
111
|
throw new ConfigError(`Invalid read key for project "${activeName}" in ${CONFIG_PATH}.`);
|
|
@@ -87,6 +120,15 @@ export async function loadConfig() {
|
|
|
87
120
|
}
|
|
88
121
|
throw new ConfigError(SETUP_INSTRUCTIONS);
|
|
89
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Write a local .infer.json to the given directory (or cwd).
|
|
125
|
+
* This pins the directory to a specific project in the global config.
|
|
126
|
+
*/
|
|
127
|
+
export async function writeLocalConfig(projectName, dir) {
|
|
128
|
+
const target = join(dir ?? process.cwd(), LOCAL_CONFIG_NAME);
|
|
129
|
+
await writeFile(target, JSON.stringify({ project: projectName }, null, 2) + "\n", "utf-8");
|
|
130
|
+
return target;
|
|
131
|
+
}
|
|
90
132
|
export async function readConfigFile() {
|
|
91
133
|
try {
|
|
92
134
|
const raw = await readFile(CONFIG_PATH, "utf-8");
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAmBlC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-project.d.ts","sourceRoot":"","sources":["../../src/tools/switch-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;CAK/B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"switch-project.d.ts","sourceRoot":"","sources":["../../src/tools/switch-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,mBAAmB;;CAK/B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { listProjects, switchProject } from "../config.js";
|
|
2
|
+
import { listProjects, switchProject, writeLocalConfig } from "../config.js";
|
|
3
3
|
export const switchProjectSchema = {
|
|
4
4
|
project_name: z
|
|
5
5
|
.string()
|
|
@@ -21,6 +21,9 @@ export async function handleSwitchProject(params) {
|
|
|
21
21
|
return lines.join("\n");
|
|
22
22
|
}
|
|
23
23
|
const config = await switchProject(params.project_name);
|
|
24
|
-
|
|
24
|
+
// Also write .infer.json in current directory so this project auto-selects here
|
|
25
|
+
const localPath = await writeLocalConfig(params.project_name).catch(() => null);
|
|
26
|
+
const localMsg = localPath ? ` Wrote .infer.json so this directory always uses "${params.project_name}".` : "";
|
|
27
|
+
return `Switched to project "${params.project_name}" (${config.projectId}).${localMsg} MCP tools now query this project.`;
|
|
25
28
|
}
|
|
26
29
|
//# sourceMappingURL=switch-project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-project.js","sourceRoot":"","sources":["../../src/tools/switch-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"switch-project.js","sourceRoot":"","sources":["../../src/tools/switch-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;CAC5E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiC;IAEjC,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,yDAAyD,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uDAAuD,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,gFAAgF;IAChF,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,qDAAqD,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,OAAO,wBAAwB,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,SAAS,KAAK,QAAQ,oCAAoC,CAAC;AAC5H,CAAC"}
|