@claudeink/mcp-server 0.6.1 → 0.6.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/index.js +43 -24
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12,20 +12,30 @@ import { join as join4 } from "path";
|
|
|
12
12
|
// src/lib/config.ts
|
|
13
13
|
import { readFile, writeFile, mkdir, chmod, access } from "fs/promises";
|
|
14
14
|
import { join } from "path";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
15
|
+
var _workDirCache = null;
|
|
16
|
+
function setWorkDir(dir) {
|
|
17
|
+
_workDirCache = dir;
|
|
18
|
+
}
|
|
19
|
+
function getWorkDir() {
|
|
20
|
+
return _workDirCache || process.env.CLAUDEINK_WORK_DIR || process.cwd();
|
|
21
|
+
}
|
|
22
|
+
function getClaudeinkDir() {
|
|
23
|
+
return join(getWorkDir(), ".claudeink");
|
|
24
|
+
}
|
|
25
|
+
function getPaths() {
|
|
26
|
+
const dir = getClaudeinkDir();
|
|
27
|
+
return {
|
|
28
|
+
credentials: join(dir, "credentials.json"),
|
|
29
|
+
config: join(dir, "config.json"),
|
|
30
|
+
syncState: join(dir, "sync-state.json"),
|
|
31
|
+
tagQueue: join(dir, "tag-queue.json"),
|
|
32
|
+
crawlSchedules: join(dir, "crawl-schedules.json"),
|
|
33
|
+
logs: join(dir, "logs")
|
|
34
|
+
};
|
|
35
|
+
}
|
|
25
36
|
var DEFAULT_CONFIG = {
|
|
26
37
|
apiBaseUrl: "https://app.claudeink.com",
|
|
27
38
|
syncIntervalMs: 3e5,
|
|
28
|
-
// 5 minutes
|
|
29
39
|
heartbeatIntervalMs: 3e5,
|
|
30
40
|
maxTagQueueBatch: 20,
|
|
31
41
|
workflowDir: ""
|
|
@@ -40,8 +50,9 @@ var DEFAULT_TAG_QUEUE = {
|
|
|
40
50
|
}
|
|
41
51
|
};
|
|
42
52
|
async function ensureDir() {
|
|
43
|
-
|
|
44
|
-
await mkdir(
|
|
53
|
+
const paths = getPaths();
|
|
54
|
+
await mkdir(getClaudeinkDir(), { recursive: true });
|
|
55
|
+
await mkdir(paths.logs, { recursive: true });
|
|
45
56
|
}
|
|
46
57
|
async function fileExists(path) {
|
|
47
58
|
try {
|
|
@@ -67,24 +78,32 @@ async function writeJson(path, data, secure = false) {
|
|
|
67
78
|
}
|
|
68
79
|
}
|
|
69
80
|
async function getCredentials() {
|
|
70
|
-
|
|
71
|
-
|
|
81
|
+
const paths = getPaths();
|
|
82
|
+
if (!await fileExists(paths.credentials)) return null;
|
|
83
|
+
return readJson(paths.credentials, null);
|
|
72
84
|
}
|
|
73
85
|
async function saveCredentials(creds) {
|
|
74
|
-
|
|
86
|
+
const paths = getPaths();
|
|
87
|
+
await writeJson(paths.credentials, creds, true);
|
|
75
88
|
}
|
|
76
89
|
async function getConfig() {
|
|
77
|
-
|
|
90
|
+
const paths = getPaths();
|
|
91
|
+
const config = await readJson(paths.config, DEFAULT_CONFIG);
|
|
92
|
+
config.workflowDir = getWorkDir();
|
|
93
|
+
return config;
|
|
78
94
|
}
|
|
79
95
|
async function saveConfig(config) {
|
|
80
|
-
const
|
|
81
|
-
await
|
|
96
|
+
const paths = getPaths();
|
|
97
|
+
const current = await readJson(paths.config, DEFAULT_CONFIG);
|
|
98
|
+
await writeJson(paths.config, { ...current, ...config });
|
|
82
99
|
}
|
|
83
100
|
async function getTagQueue() {
|
|
84
|
-
|
|
101
|
+
const paths = getPaths();
|
|
102
|
+
return readJson(paths.tagQueue, DEFAULT_TAG_QUEUE);
|
|
85
103
|
}
|
|
86
104
|
async function saveTagQueue(queue) {
|
|
87
|
-
|
|
105
|
+
const paths = getPaths();
|
|
106
|
+
await writeJson(paths.tagQueue, queue);
|
|
88
107
|
}
|
|
89
108
|
|
|
90
109
|
// src/lib/sources.ts
|
|
@@ -171,8 +190,7 @@ var DEFAULT_STATE = {
|
|
|
171
190
|
lastSyncAt: ""
|
|
172
191
|
};
|
|
173
192
|
async function getStatePath() {
|
|
174
|
-
const
|
|
175
|
-
const dir = join3(config.workflowDir || process.cwd(), ".claudeink");
|
|
193
|
+
const dir = join3(getWorkDir(), ".claudeink");
|
|
176
194
|
await mkdir2(dir, { recursive: true });
|
|
177
195
|
return join3(dir, "state.json");
|
|
178
196
|
}
|
|
@@ -963,6 +981,7 @@ async function workflowInit(input) {
|
|
|
963
981
|
await mkdir6(join8(cwd, dir), { recursive: true });
|
|
964
982
|
}
|
|
965
983
|
results.push("\u2705 \u8FD0\u884C\u65F6\u76EE\u5F55\u5DF2\u521B\u5EFA");
|
|
984
|
+
setWorkDir(cwd);
|
|
966
985
|
await saveConfig({ workflowDir: cwd });
|
|
967
986
|
const statePath = join8(cwd, ".claudeink", "state.json");
|
|
968
987
|
try {
|
|
@@ -1054,7 +1073,7 @@ async function workflowInit(input) {
|
|
|
1054
1073
|
// src/index.ts
|
|
1055
1074
|
var server = new McpServer({
|
|
1056
1075
|
name: "ClaudeInk",
|
|
1057
|
-
version: "0.6.
|
|
1076
|
+
version: "0.6.2"
|
|
1058
1077
|
});
|
|
1059
1078
|
server.tool("workflow.init", "\u521D\u59CB\u5316\u5199\u4F5C\u5DE5\u4F5C\u6D41\uFF08\u91CA\u653E\u4E09\u5C42\u914D\u7F6E + \u6FC0\u6D3B License + \u81EA\u52A8\u540C\u6B65\u4E91\u7AEF\u914D\u7F6E\uFF09", workflowInitSchema.shape, async (input) => {
|
|
1060
1079
|
const result = await workflowInit(input);
|