funifier-mcp 0.3.18 → 0.3.20
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/.cursor/rules/funifier.mdc +2 -1
- package/.github/copilot-instructions.md +2 -1
- package/AGENTS.md +2 -1
- package/CHANGELOG.md +78 -0
- package/README.md +1 -1
- package/datasource-funifier-docs/.coverage.json +4 -1
- package/datasource-funifier-docs/.search-index.json +949 -605
- package/datasource-funifier-docs/.skills-map.json +5 -0
- package/datasource-funifier-docs/.validation.json +12 -7
- package/datasource-funifier-docs/knowledge/guides/aggregates.md +13 -6
- package/datasource-funifier-docs/knowledge/guides/trigger-examples.md +6 -6
- package/datasource-funifier-docs/knowledge/guides/triggers-guide.md +74 -11
- package/datasource-funifier-docs/knowledge/index.md +2 -2
- package/datasource-funifier-docs/knowledge/modules/trigger.md +29 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +3 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/core/api-client.d.ts +2 -0
- package/dist/core/api-client.d.ts.map +1 -1
- package/dist/core/api-client.js +98 -47
- package/dist/core/api-client.js.map +1 -1
- package/dist/core/api-client.test.js +27 -0
- package/dist/core/api-client.test.js.map +1 -1
- package/dist/core/constants.d.ts +4 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +8 -0
- package/dist/core/constants.js.map +1 -1
- package/dist/core/logger.d.ts +9 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +50 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/mcp/api-holder.test.d.ts +2 -0
- package/dist/mcp/api-holder.test.d.ts.map +1 -0
- package/dist/mcp/api-holder.test.js +45 -0
- package/dist/mcp/api-holder.test.js.map +1 -0
- package/dist/mcp/bundle.js +114 -111
- package/dist/mcp/check-update.d.ts +9 -0
- package/dist/mcp/check-update.d.ts.map +1 -1
- package/dist/mcp/check-update.js +35 -9
- package/dist/mcp/check-update.js.map +1 -1
- package/dist/mcp/check-update.test.js +36 -6
- package/dist/mcp/check-update.test.js.map +1 -1
- package/dist/mcp/doc-path.d.ts +11 -0
- package/dist/mcp/doc-path.d.ts.map +1 -0
- package/dist/mcp/doc-path.js +66 -0
- package/dist/mcp/doc-path.js.map +1 -0
- package/dist/mcp/doc-path.test.d.ts +2 -0
- package/dist/mcp/doc-path.test.d.ts.map +1 -0
- package/dist/mcp/doc-path.test.js +77 -0
- package/dist/mcp/doc-path.test.js.map +1 -0
- package/dist/mcp/index.js +19 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/resources/documentation.d.ts.map +1 -1
- package/dist/mcp/resources/documentation.js +7 -3
- package/dist/mcp/resources/documentation.js.map +1 -1
- package/dist/mcp/tools/_backup.d.ts.map +1 -1
- package/dist/mcp/tools/_backup.js +5 -3
- package/dist/mcp/tools/_backup.js.map +1 -1
- package/dist/mcp/tools/_char-guard.d.ts +2 -1
- package/dist/mcp/tools/_char-guard.d.ts.map +1 -1
- package/dist/mcp/tools/_char-guard.js +10 -3
- package/dist/mcp/tools/_char-guard.js.map +1 -1
- package/dist/mcp/tools/_fetch-current.d.ts +2 -1
- package/dist/mcp/tools/_fetch-current.d.ts.map +1 -1
- package/dist/mcp/tools/_fetch-current.js +2 -74
- package/dist/mcp/tools/_fetch-current.js.map +1 -1
- package/dist/mcp/tools/_registry.d.ts +183 -0
- package/dist/mcp/tools/_registry.d.ts.map +1 -0
- package/dist/mcp/tools/_registry.js +88 -0
- package/dist/mcp/tools/_registry.js.map +1 -0
- package/dist/mcp/tools/_registry.test.d.ts +2 -0
- package/dist/mcp/tools/_registry.test.d.ts.map +1 -0
- package/dist/mcp/tools/_registry.test.js +103 -0
- package/dist/mcp/tools/_registry.test.js.map +1 -0
- package/dist/mcp/tools/database.d.ts +4 -0
- package/dist/mcp/tools/database.d.ts.map +1 -1
- package/dist/mcp/tools/database.js +23 -4
- package/dist/mcp/tools/database.js.map +1 -1
- package/dist/mcp/tools/database.test.js +19 -0
- package/dist/mcp/tools/database.test.js.map +1 -1
- package/dist/mcp/tools/delete.d.ts.map +1 -1
- package/dist/mcp/tools/delete.js +3 -98
- package/dist/mcp/tools/delete.js.map +1 -1
- package/dist/mcp/tools/execute.d.ts.map +1 -1
- package/dist/mcp/tools/execute.js +36 -4
- package/dist/mcp/tools/execute.js.map +1 -1
- package/dist/mcp/tools/execute.test.d.ts +2 -0
- package/dist/mcp/tools/execute.test.d.ts.map +1 -0
- package/dist/mcp/tools/execute.test.js +87 -0
- package/dist/mcp/tools/execute.test.js.map +1 -0
- package/dist/mcp/tools/get.d.ts.map +1 -1
- package/dist/mcp/tools/get.js +4 -93
- package/dist/mcp/tools/get.js.map +1 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +42 -1
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/list.d.ts.map +1 -1
- package/dist/mcp/tools/list.js +3 -91
- package/dist/mcp/tools/list.js.map +1 -1
- package/dist/mcp/tools/logs.d.ts.map +1 -1
- package/dist/mcp/tools/logs.js +5 -3
- package/dist/mcp/tools/logs.js.map +1 -1
- package/dist/mcp/tools/read-doc.d.ts.map +1 -1
- package/dist/mcp/tools/read-doc.js +10 -28
- package/dist/mcp/tools/read-doc.js.map +1 -1
- package/dist/mcp/tools/save.d.ts.map +1 -1
- package/dist/mcp/tools/save.js +4 -81
- package/dist/mcp/tools/save.js.map +1 -1
- package/package.json +3 -2
- package/skills/funifier/SKILL.md +2 -1
- package/skills/funifier/references/audit-permissions.md +8 -0
- package/skills/funifier/references/configure-security.md +6 -0
- package/skills/funifier/references/create-action.md +7 -0
- package/skills/funifier/references/create-aggregate.md +99 -79
- package/skills/funifier/references/create-audit.md +8 -0
- package/skills/funifier/references/create-challenge.md +7 -0
- package/skills/funifier/references/create-competition.md +7 -0
- package/skills/funifier/references/create-crossword.md +6 -0
- package/skills/funifier/references/create-custom-object.md +6 -0
- package/skills/funifier/references/create-custom-page.md +6 -0
- package/skills/funifier/references/create-folder.md +7 -0
- package/skills/funifier/references/create-lastmile.md +6 -0
- package/skills/funifier/references/create-leaderboard.md +6 -0
- package/skills/funifier/references/create-level.md +7 -0
- package/skills/funifier/references/create-lottery.md +7 -0
- package/skills/funifier/references/create-mystery.md +6 -0
- package/skills/funifier/references/create-notification.md +6 -0
- package/skills/funifier/references/create-point.md +7 -0
- package/skills/funifier/references/create-quiz.md +7 -0
- package/skills/funifier/references/create-scheduler.md +6 -0
- package/skills/funifier/references/create-story.md +6 -0
- package/skills/funifier/references/create-swap.md +6 -0
- package/skills/funifier/references/create-trigger.md +28 -8
- package/skills/funifier/references/create-virtual-good.md +6 -0
- package/skills/funifier/references/create-webhook.md +6 -0
- package/skills/funifier/references/create-websocket.md +6 -0
- package/skills/funifier/references/create-widget.md +6 -0
- package/skills/funifier/references/date-handling.md +6 -0
- package/skills/funifier/references/help.md +6 -0
- package/skills/funifier/references/implement-frontend.md +7 -0
- package/skills/funifier/references/import-csv.md +6 -0
- package/skills/funifier/references/manage-indexes.md +6 -0
- package/skills/funifier/references/manage-player.md +7 -0
- package/skills/funifier/references/manage-team.md +6 -0
- package/skills/funifier/references/query-aggregate.md +111 -0
- package/skills/funifier/references/upload-file.md +6 -0
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
declare function isOutdated(current: string, latest: string): boolean;
|
|
2
|
+
/**
|
|
3
|
+
* A major bump signals breaking changes and deserves a stronger warning than a
|
|
4
|
+
* routine patch. Pre-1.0 (semver convention) the MINOR position carries the
|
|
5
|
+
* breaking-change meaning, so 0.3.x → 0.4.0 is treated as major too.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isMajorUpdate(current: string, latest: string): boolean;
|
|
2
8
|
export declare function setUpdateNotice(notice: string): void;
|
|
3
9
|
/** Returns the pending update notice once, then clears it (show only once per session). */
|
|
4
10
|
export declare function consumeUpdateNotice(): string | null;
|
|
@@ -7,6 +13,9 @@ export declare function consumeUpdateNotice(): string | null;
|
|
|
7
13
|
* The plain status string read as ambient noise: the model ignored it and the user's eye
|
|
8
14
|
* skipped it in the collapsed tool output. Putting the facts on top and a single imperative
|
|
9
15
|
* line below makes the assistant relay it once, in the user's own language, then move on.
|
|
16
|
+
*
|
|
17
|
+
* Tone scales with severity: a routine patch/minor gets one quiet line; a major bump
|
|
18
|
+
* (breaking changes) tells the user to read the changelog before updating.
|
|
10
19
|
*/
|
|
11
20
|
export declare function formatUpdateNotice(current: string, latest: string): string;
|
|
12
21
|
export declare function checkForUpdate(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-update.d.ts","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check-update.d.ts","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":"AAOA,iBAAS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM5D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKtE;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAInD;AAID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmB1E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBpD;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/mcp/check-update.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMajorUpdate = isMajorUpdate;
|
|
3
4
|
exports.setUpdateNotice = setUpdateNotice;
|
|
4
5
|
exports.consumeUpdateNotice = consumeUpdateNotice;
|
|
5
6
|
exports.formatUpdateNotice = formatUpdateNotice;
|
|
6
7
|
exports.checkForUpdate = checkForUpdate;
|
|
7
8
|
exports.isOutdated = isOutdated;
|
|
8
|
-
function
|
|
9
|
-
|
|
9
|
+
function toTuple(v) {
|
|
10
|
+
return v
|
|
10
11
|
.replace(/[^0-9.]/g, "")
|
|
11
12
|
.split(".")
|
|
12
13
|
.map(Number);
|
|
14
|
+
}
|
|
15
|
+
function isOutdated(current, latest) {
|
|
13
16
|
const [cMaj, cMin, cPatch] = toTuple(current);
|
|
14
17
|
const [lMaj, lMin, lPatch] = toTuple(latest);
|
|
15
18
|
if (lMaj !== cMaj)
|
|
@@ -18,6 +21,18 @@ function isOutdated(current, latest) {
|
|
|
18
21
|
return lMin > cMin;
|
|
19
22
|
return lPatch > cPatch;
|
|
20
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* A major bump signals breaking changes and deserves a stronger warning than a
|
|
26
|
+
* routine patch. Pre-1.0 (semver convention) the MINOR position carries the
|
|
27
|
+
* breaking-change meaning, so 0.3.x → 0.4.0 is treated as major too.
|
|
28
|
+
*/
|
|
29
|
+
function isMajorUpdate(current, latest) {
|
|
30
|
+
const [cMaj, cMin] = toTuple(current);
|
|
31
|
+
const [lMaj, lMin] = toTuple(latest);
|
|
32
|
+
if (lMaj !== cMaj)
|
|
33
|
+
return true;
|
|
34
|
+
return cMaj === 0 && lMin !== cMin;
|
|
35
|
+
}
|
|
21
36
|
// Set when an update is detected; surfaced once on the next tool result so the
|
|
22
37
|
// user actually sees it (stdio MCP stderr is hidden from chat by most clients).
|
|
23
38
|
let pendingNotice = null;
|
|
@@ -30,21 +45,32 @@ function consumeUpdateNotice() {
|
|
|
30
45
|
pendingNotice = null;
|
|
31
46
|
return notice;
|
|
32
47
|
}
|
|
48
|
+
const CHANGELOG_URL = "https://github.com/funifierinc/funifier-mcp/blob/main/CHANGELOG.md";
|
|
33
49
|
/**
|
|
34
50
|
* Builds the update notice as a directive to the assistant, not a passive status line.
|
|
35
51
|
* The plain status string read as ambient noise: the model ignored it and the user's eye
|
|
36
52
|
* skipped it in the collapsed tool output. Putting the facts on top and a single imperative
|
|
37
53
|
* line below makes the assistant relay it once, in the user's own language, then move on.
|
|
54
|
+
*
|
|
55
|
+
* Tone scales with severity: a routine patch/minor gets one quiet line; a major bump
|
|
56
|
+
* (breaking changes) tells the user to read the changelog before updating.
|
|
38
57
|
*/
|
|
39
58
|
function formatUpdateNotice(current, latest) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
59
|
+
const major = isMajorUpdate(current, latest);
|
|
60
|
+
const headline = major
|
|
61
|
+
? `⬆ funifier-mcp: nova versão com MUDANÇAS INCOMPATÍVEIS disponível (${current} → ${latest}).`
|
|
62
|
+
: `⬆ funifier-mcp: nova versão disponível (${current} → ${latest}).`;
|
|
63
|
+
const instruction = major
|
|
64
|
+
? `[assistant instruction] Before continuing, tell the user — in one or two short sentences, ` +
|
|
65
|
+
`in the language they are using — that funifier-mcp ${latest} is available and likely contains ` +
|
|
66
|
+
`BREAKING CHANGES, so they should review the changelog (${CHANGELOG_URL}) before updating with ` +
|
|
67
|
+
"`npx funifier-mcp@latest init`. Relay only these facts, do not speculate about what changed, " +
|
|
68
|
+
`then continue with their task.`
|
|
69
|
+
: `[assistant instruction] Before continuing, tell the user — in one short sentence, in the ` +
|
|
44
70
|
`language they are using — that a newer version of funifier-mcp is available and that they ` +
|
|
45
|
-
"should run `npx funifier-mcp@latest init` to update
|
|
46
|
-
`
|
|
47
|
-
].join("\n");
|
|
71
|
+
"should run `npx funifier-mcp@latest init` to update (changelog: " + CHANGELOG_URL + "). " +
|
|
72
|
+
`One line only, do not speculate about what changed, then continue with their task.`;
|
|
73
|
+
return [headline, ``, instruction].join("\n");
|
|
48
74
|
}
|
|
49
75
|
async function checkForUpdate() {
|
|
50
76
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-update.js","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"check-update.js","sourceRoot":"","sources":["../../src/mcp/check-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,17 +30,47 @@ const check_update_1 = require("./check-update");
|
|
|
30
30
|
(0, vitest_1.expect)((0, check_update_1.consumeUpdateNotice)()).toBeNull();
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
|
+
(0, vitest_1.describe)("isMajorUpdate", () => {
|
|
34
|
+
(0, vitest_1.it)("major bump is major", () => {
|
|
35
|
+
(0, vitest_1.expect)((0, check_update_1.isMajorUpdate)("1.2.3", "2.0.0")).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
(0, vitest_1.it)("minor/patch bumps at >=1.0 are not major", () => {
|
|
38
|
+
(0, vitest_1.expect)((0, check_update_1.isMajorUpdate)("1.2.3", "1.3.0")).toBe(false);
|
|
39
|
+
(0, vitest_1.expect)((0, check_update_1.isMajorUpdate)("1.2.3", "1.2.4")).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.it)("pre-1.0: minor bump carries breaking-change meaning", () => {
|
|
42
|
+
(0, vitest_1.expect)((0, check_update_1.isMajorUpdate)("0.3.18", "0.4.0")).toBe(true);
|
|
43
|
+
(0, vitest_1.expect)((0, check_update_1.isMajorUpdate)("0.3.18", "1.0.0")).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
(0, vitest_1.it)("pre-1.0: patch bump is not major", () => {
|
|
46
|
+
(0, vitest_1.expect)((0, check_update_1.isMajorUpdate)("0.3.18", "0.3.19")).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
33
49
|
(0, vitest_1.describe)("formatUpdateNotice", () => {
|
|
34
50
|
(0, vitest_1.it)("includes both versions", () => {
|
|
35
|
-
const notice = (0, check_update_1.formatUpdateNotice)("0.
|
|
36
|
-
(0, vitest_1.expect)(notice).toContain("0.
|
|
37
|
-
(0, vitest_1.expect)(notice).toContain("0.3.
|
|
51
|
+
const notice = (0, check_update_1.formatUpdateNotice)("0.3.18", "0.3.19");
|
|
52
|
+
(0, vitest_1.expect)(notice).toContain("0.3.18");
|
|
53
|
+
(0, vitest_1.expect)(notice).toContain("0.3.19");
|
|
38
54
|
});
|
|
39
|
-
(0, vitest_1.it)("includes the update command", () => {
|
|
40
|
-
|
|
55
|
+
(0, vitest_1.it)("includes the update command and changelog link", () => {
|
|
56
|
+
const notice = (0, check_update_1.formatUpdateNotice)("0.3.18", "0.3.19");
|
|
57
|
+
(0, vitest_1.expect)(notice).toContain("npx funifier-mcp@latest init");
|
|
58
|
+
(0, vitest_1.expect)(notice).toContain("CHANGELOG.md");
|
|
41
59
|
});
|
|
42
60
|
(0, vitest_1.it)("is framed as a directive to the assistant", () => {
|
|
43
|
-
(0, vitest_1.expect)((0, check_update_1.formatUpdateNotice)("0.
|
|
61
|
+
(0, vitest_1.expect)((0, check_update_1.formatUpdateNotice)("0.3.18", "0.3.19")).toContain("[assistant instruction]");
|
|
62
|
+
});
|
|
63
|
+
(0, vitest_1.it)("routine patch update uses the quiet one-line tone", () => {
|
|
64
|
+
const notice = (0, check_update_1.formatUpdateNotice)("0.3.18", "0.3.19");
|
|
65
|
+
(0, vitest_1.expect)(notice).not.toContain("INCOMPATÍVEIS");
|
|
66
|
+
(0, vitest_1.expect)(notice).not.toContain("BREAKING CHANGES");
|
|
67
|
+
});
|
|
68
|
+
(0, vitest_1.it)("major update warns about breaking changes and points to the changelog first", () => {
|
|
69
|
+
const notice = (0, check_update_1.formatUpdateNotice)("0.3.18", "0.4.0");
|
|
70
|
+
(0, vitest_1.expect)(notice).toContain("MUDANÇAS INCOMPATÍVEIS");
|
|
71
|
+
(0, vitest_1.expect)(notice).toContain("BREAKING CHANGES");
|
|
72
|
+
(0, vitest_1.expect)(notice).toContain("CHANGELOG.md");
|
|
73
|
+
(0, vitest_1.expect)(notice).toContain("npx funifier-mcp@latest init");
|
|
44
74
|
});
|
|
45
75
|
});
|
|
46
76
|
//# sourceMappingURL=check-update.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-update.test.js","sourceRoot":"","sources":["../../src/mcp/check-update.test.ts"],"names":[],"mappings":";;AAAA,mCAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"check-update.test.js","sourceRoot":"","sources":["../../src/mcp/check-update.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function normalizeDocPath(input: string): string;
|
|
2
|
+
export type ResolvedDocPath = {
|
|
3
|
+
ok: true;
|
|
4
|
+
filePath: string;
|
|
5
|
+
normalized: string;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
reason: "empty" | "invalid";
|
|
9
|
+
};
|
|
10
|
+
export declare function resolveDocPath(docsRoot: string, input: string): ResolvedDocPath;
|
|
11
|
+
//# sourceMappingURL=doc-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-path.d.ts","sourceRoot":"","sources":["../../src/mcp/doc-path.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAO/C,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAU/E"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.normalizeDocPath = normalizeDocPath;
|
|
37
|
+
exports.resolveDocPath = resolveDocPath;
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
// Accepts the same identifiers the search tool, skill references, and resource
|
|
40
|
+
// URIs emit: "modules/trigger", "funifier://docs/modules/trigger", or
|
|
41
|
+
// "knowledge/modules/trigger.md".
|
|
42
|
+
function normalizeDocPath(input) {
|
|
43
|
+
return input
|
|
44
|
+
.trim()
|
|
45
|
+
.replace(/^funifier:\/\/docs\//, "")
|
|
46
|
+
.replace(/^\/+/, "")
|
|
47
|
+
.replace(/^knowledge\//, "")
|
|
48
|
+
.replace(/\.md$/, "");
|
|
49
|
+
}
|
|
50
|
+
// Single source of truth for turning a user/agent-supplied doc identifier into a
|
|
51
|
+
// safe absolute file path. SECURITY: confines the result to `docsRoot` so a path
|
|
52
|
+
// like "../../../etc/passwd" can never escape the documentation directory. Both
|
|
53
|
+
// the `funifier_read_doc` tool and the `funifier://docs/{+path}` resource MUST
|
|
54
|
+
// go through here so they cannot drift apart.
|
|
55
|
+
function resolveDocPath(docsRoot, input) {
|
|
56
|
+
const root = path.resolve(docsRoot);
|
|
57
|
+
const normalized = normalizeDocPath(input);
|
|
58
|
+
if (!normalized)
|
|
59
|
+
return { ok: false, reason: "empty" };
|
|
60
|
+
const filePath = path.resolve(root, `${normalized}.md`);
|
|
61
|
+
if (filePath !== root && !filePath.startsWith(root + path.sep)) {
|
|
62
|
+
return { ok: false, reason: "invalid" };
|
|
63
|
+
}
|
|
64
|
+
return { ok: true, filePath, normalized };
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=doc-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-path.js","sourceRoot":"","sources":["../../src/mcp/doc-path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,4CAOC;AAWD,wCAUC;AAjCD,2CAA6B;AAE7B,+EAA+E;AAC/E,sEAAsE;AACtE,kCAAkC;AAClC,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK;SACT,IAAI,EAAE;SACN,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;SACnC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC;AAMD,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,+EAA+E;AAC/E,8CAA8C;AAC9C,SAAgB,cAAc,CAAC,QAAgB,EAAE,KAAa;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,UAAU,KAAK,CAAC,CAAC;IACxD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-path.test.d.ts","sourceRoot":"","sources":["../../src/mcp/doc-path.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const vitest_1 = require("vitest");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const doc_path_1 = require("./doc-path");
|
|
39
|
+
const ROOT = "/tmp/funifier-docs";
|
|
40
|
+
(0, vitest_1.describe)("normalizeDocPath", () => {
|
|
41
|
+
(0, vitest_1.it)("strips the funifier://docs/ URI prefix", () => {
|
|
42
|
+
(0, vitest_1.expect)((0, doc_path_1.normalizeDocPath)("funifier://docs/modules/trigger")).toBe("modules/trigger");
|
|
43
|
+
});
|
|
44
|
+
(0, vitest_1.it)("strips a leading knowledge/ and trailing .md", () => {
|
|
45
|
+
(0, vitest_1.expect)((0, doc_path_1.normalizeDocPath)("knowledge/modules/trigger.md")).toBe("modules/trigger");
|
|
46
|
+
});
|
|
47
|
+
(0, vitest_1.it)("strips leading slashes and trims", () => {
|
|
48
|
+
(0, vitest_1.expect)((0, doc_path_1.normalizeDocPath)(" /guides/aggregates ")).toBe("guides/aggregates");
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
(0, vitest_1.describe)("resolveDocPath", () => {
|
|
52
|
+
(0, vitest_1.it)("resolves a valid path inside the root", () => {
|
|
53
|
+
const result = (0, doc_path_1.resolveDocPath)(ROOT, "modules/trigger");
|
|
54
|
+
(0, vitest_1.expect)(result).toEqual({
|
|
55
|
+
ok: true,
|
|
56
|
+
filePath: path.join(ROOT, "modules", "trigger.md"),
|
|
57
|
+
normalized: "modules/trigger",
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
(0, vitest_1.it)("rejects an empty path", () => {
|
|
61
|
+
(0, vitest_1.expect)((0, doc_path_1.resolveDocPath)(ROOT, " ")).toEqual({ ok: false, reason: "empty" });
|
|
62
|
+
});
|
|
63
|
+
(0, vitest_1.it)("rejects path traversal that escapes the root", () => {
|
|
64
|
+
(0, vitest_1.expect)((0, doc_path_1.resolveDocPath)(ROOT, "../../../etc/passwd")).toEqual({ ok: false, reason: "invalid" });
|
|
65
|
+
});
|
|
66
|
+
(0, vitest_1.it)("rejects traversal hidden behind the URI prefix", () => {
|
|
67
|
+
(0, vitest_1.expect)((0, doc_path_1.resolveDocPath)(ROOT, "funifier://docs/../../secrets")).toEqual({
|
|
68
|
+
ok: false,
|
|
69
|
+
reason: "invalid",
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
(0, vitest_1.it)("rejects a sibling-directory prefix attack", () => {
|
|
73
|
+
// /tmp/funifier-docs-evil/x must not be accepted just because it startsWith the root string.
|
|
74
|
+
(0, vitest_1.expect)((0, doc_path_1.resolveDocPath)(ROOT, "../funifier-docs-evil/x")).toEqual({ ok: false, reason: "invalid" });
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=doc-path.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-path.test.js","sourceRoot":"","sources":["../../src/mcp/doc-path.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA8C;AAC9C,2CAA6B;AAC7B,yCAA8D;AAE9D,MAAM,IAAI,GAAG,oBAAoB,CAAC;AAElC,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,eAAM,EAAC,IAAA,2BAAgB,EAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,IAAA,eAAM,EAAC,IAAA,2BAAgB,EAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,IAAA,eAAM,EAAC,IAAA,2BAAgB,EAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAA,yBAAc,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACvD,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC;YAClD,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC,CAAC,OAAO,CAAC;YACpE,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,6FAA6F;QAC7F,IAAA,eAAM,EAAC,IAAA,yBAAc,EAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -8,6 +8,7 @@ const tools_1 = require("./tools");
|
|
|
8
8
|
const documentation_1 = require("./resources/documentation");
|
|
9
9
|
const templates_1 = require("./prompts/templates");
|
|
10
10
|
const check_update_1 = require("./check-update");
|
|
11
|
+
const logger_1 = require("../core/logger");
|
|
11
12
|
async function main() {
|
|
12
13
|
const subcommand = process.argv[2];
|
|
13
14
|
if (subcommand === "init") {
|
|
@@ -50,6 +51,24 @@ async function main() {
|
|
|
50
51
|
// Connect to stdio transport
|
|
51
52
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
52
53
|
await server.connect(transport);
|
|
54
|
+
// Graceful shutdown: close the transport on termination signals so the client
|
|
55
|
+
// sees a clean disconnect instead of a dropped pipe.
|
|
56
|
+
let shuttingDown = false;
|
|
57
|
+
const shutdown = async (signal) => {
|
|
58
|
+
if (shuttingDown)
|
|
59
|
+
return;
|
|
60
|
+
shuttingDown = true;
|
|
61
|
+
logger_1.logger.info("shutting down", { signal });
|
|
62
|
+
try {
|
|
63
|
+
await server.close();
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
/* ignore close errors during shutdown */
|
|
67
|
+
}
|
|
68
|
+
process.exit(0);
|
|
69
|
+
};
|
|
70
|
+
process.on("SIGTERM", () => void shutdown("SIGTERM"));
|
|
71
|
+
process.on("SIGINT", () => void shutdown("SIGINT"));
|
|
53
72
|
// Fire-and-forget: notify user if a newer version is available on npm
|
|
54
73
|
(0, check_update_1.checkForUpdate)().catch(() => { });
|
|
55
74
|
if (!autoConnected) {
|
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,6CAAyC;AACzC,mCAAwC;AACxC,6DAA8D;AAC9D,mDAAsD;AACtD,iDAAgD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,yCAAyC,CAAC;AAyCtF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAsH3D"}
|
|
@@ -7,6 +7,7 @@ exports.registerResources = registerResources;
|
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
10
|
+
const doc_path_1 = require("../doc-path");
|
|
10
11
|
// Resolve docsPath using: explicit env var → bundled package paths → cwd fallback.
|
|
11
12
|
// Emits a console.error for each invalid/stale path so the failure is visible in MCP logs.
|
|
12
13
|
function resolveDocsPath() {
|
|
@@ -107,8 +108,11 @@ function registerResources(server) {
|
|
|
107
108
|
function readDoc(uri, variables) {
|
|
108
109
|
const pathVar = variables.path;
|
|
109
110
|
const docPath = Array.isArray(pathVar) ? pathVar.join("/") : (pathVar || "");
|
|
110
|
-
|
|
111
|
-
|
|
111
|
+
// SECURITY: confine reads to docsPath. The `{+path}` URI operator does NOT
|
|
112
|
+
// escape "/", so without this guard a path like "../../../etc/passwd" would
|
|
113
|
+
// resolve outside the docs directory. Mirrors the funifier_read_doc tool.
|
|
114
|
+
const resolved = (0, doc_path_1.resolveDocPath)(docsPath, docPath);
|
|
115
|
+
if (!resolved.ok || !fs_1.default.existsSync(resolved.filePath)) {
|
|
112
116
|
return {
|
|
113
117
|
contents: [
|
|
114
118
|
{
|
|
@@ -124,7 +128,7 @@ function registerResources(server) {
|
|
|
124
128
|
{
|
|
125
129
|
uri: uri.href,
|
|
126
130
|
mimeType: "text/markdown",
|
|
127
|
-
text: readCached(filePath),
|
|
131
|
+
text: readCached(resolved.filePath),
|
|
128
132
|
},
|
|
129
133
|
],
|
|
130
134
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../../src/mcp/resources/documentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_backup.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/_backup.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,mBAAmB,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,gHAAgH;IAChH,UAAU,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;IAC5C,2EAA2E;IAC3E,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,uDAAuD;IACvD,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAqB,GAAG,MAAM,CAOlF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAYvD;AAcD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKlD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,GAAE,MAAqB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"_backup.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/_backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,17 +80,19 @@ function ensureSelfIgnore(dir) {
|
|
|
80
80
|
* serialization failure — this throw is the abort signal that prevents the remote mutation.
|
|
81
81
|
*/
|
|
82
82
|
function captureBackup(snapshot, root = backupRoot()) {
|
|
83
|
-
|
|
83
|
+
// mode 0700 on the dir, 0600 on the files: snapshots contain plaintext
|
|
84
|
+
// app_secret values, so confine them to the owner on multi-user/CI machines.
|
|
85
|
+
fs_1.default.mkdirSync(root, { recursive: true, mode: 0o700 });
|
|
84
86
|
ensureSelfIgnore(root);
|
|
85
87
|
const dir = path_1.default.join(root, snapshot.category);
|
|
86
|
-
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
88
|
+
fs_1.default.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
87
89
|
const safeId = sanitizeId(normalizeSecurityId(snapshot.resourceId));
|
|
88
90
|
const timestamp = compactTimestamp(snapshot.capturedAt);
|
|
89
91
|
let filePath = path_1.default.join(dir, `${safeId}-${timestamp}.json`);
|
|
90
92
|
if (fs_1.default.existsSync(filePath)) {
|
|
91
93
|
filePath = path_1.default.join(dir, `${safeId}-${timestamp}-${Date.now()}.json`);
|
|
92
94
|
}
|
|
93
|
-
fs_1.default.writeFileSync(filePath, JSON.stringify(snapshot, null, 2), "utf8");
|
|
95
|
+
fs_1.default.writeFileSync(filePath, JSON.stringify(snapshot, null, 2), { encoding: "utf8", mode: 0o600 });
|
|
94
96
|
return filePath;
|
|
95
97
|
}
|
|
96
98
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_backup.js","sourceRoot":"","sources":["../../../src/mcp/tools/_backup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_backup.js","sourceRoot":"","sources":["../../../src/mcp/tools/_backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare const UNTRUSTED_DATA_NOTE: string;
|
|
2
|
+
export declare function applyCharGuard(docs: any[], header: string, truncationHint?: string, untrusted?: boolean): {
|
|
2
3
|
content: Array<{
|
|
3
4
|
type: "text";
|
|
4
5
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_char-guard.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/_char-guard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_char-guard.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/_char-guard.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,QAE4D,CAAC;AAE7F,wBAAgB,cAAc,CAC5B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,MAAM,EACd,cAAc,SAA+C,EAC7D,SAAS,UAAQ,GAChB;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAgBpD"}
|