@glbgpt/cli 0.1.0-test.4 → 0.1.0
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/README.md +79 -6
- package/dist/src/auth/authClient.d.ts +21 -2
- package/dist/src/auth/authClient.js +67 -3
- package/dist/src/auth/authClient.js.map +1 -1
- package/dist/src/auth/loginFlow.js +5 -2
- package/dist/src/auth/loginFlow.js.map +1 -1
- package/dist/src/auth/loopbackServer.d.ts +2 -1
- package/dist/src/auth/loopbackServer.js +6 -3
- package/dist/src/auth/loopbackServer.js.map +1 -1
- package/dist/src/commands/accountCommand.js +10 -4
- package/dist/src/commands/accountCommand.js.map +1 -1
- package/dist/src/commands/configCommand.d.ts +5 -0
- package/dist/src/commands/configCommand.js +15 -2
- package/dist/src/commands/configCommand.js.map +1 -1
- package/dist/src/commands/execCommand.d.ts +6 -0
- package/dist/src/commands/execCommand.js +61 -9
- package/dist/src/commands/execCommand.js.map +1 -1
- package/dist/src/commands/loginCommand.js +9 -6
- package/dist/src/commands/loginCommand.js.map +1 -1
- package/dist/src/commands/mediaCommand.js +3 -2
- package/dist/src/commands/mediaCommand.js.map +1 -1
- package/dist/src/commands/skillCommand.d.ts +30 -0
- package/dist/src/commands/skillCommand.js +160 -0
- package/dist/src/commands/skillCommand.js.map +1 -0
- package/dist/src/config/configFile.d.ts +12 -0
- package/dist/src/config/configFile.js +12 -0
- package/dist/src/config/configFile.js.map +1 -1
- package/dist/src/config/env.d.ts +18 -0
- package/dist/src/config/env.js +57 -7
- package/dist/src/config/env.js.map +1 -1
- package/dist/src/core/catalog.d.ts +8 -1
- package/dist/src/core/catalog.js +13 -2
- package/dist/src/core/catalog.js.map +1 -1
- package/dist/src/core/contextPrune.d.ts +13 -0
- package/dist/src/core/contextPrune.js +61 -0
- package/dist/src/core/contextPrune.js.map +1 -0
- package/dist/src/core/httpChatBackend.js +22 -5
- package/dist/src/core/httpChatBackend.js.map +1 -1
- package/dist/src/core/runChat.d.ts +9 -5
- package/dist/src/core/runChat.js +10 -7
- package/dist/src/core/runChat.js.map +1 -1
- package/dist/src/core/session.d.ts +15 -0
- package/dist/src/core/session.js +29 -1
- package/dist/src/core/session.js.map +1 -1
- package/dist/src/core/toolRegistry.d.ts +14 -3
- package/dist/src/core/toolRegistry.js +24 -15
- package/dist/src/core/toolRegistry.js.map +1 -1
- package/dist/src/core/turnLoop.d.ts +4 -0
- package/dist/src/core/turnLoop.js +62 -13
- package/dist/src/core/turnLoop.js.map +1 -1
- package/dist/src/core/types.d.ts +6 -0
- package/dist/src/core/updateCheck.d.ts +46 -0
- package/dist/src/core/updateCheck.js +139 -0
- package/dist/src/core/updateCheck.js.map +1 -0
- package/dist/src/exec/media.d.ts +32 -0
- package/dist/src/exec/media.js +70 -0
- package/dist/src/exec/media.js.map +1 -0
- package/dist/src/exec/output.d.ts +16 -0
- package/dist/src/exec/output.js +41 -0
- package/dist/src/exec/output.js.map +1 -1
- package/dist/src/fs/globTool.d.ts +8 -0
- package/dist/src/fs/globTool.js +117 -0
- package/dist/src/fs/globTool.js.map +1 -0
- package/dist/src/fs/grepTool.d.ts +4 -0
- package/dist/src/fs/grepTool.js +146 -0
- package/dist/src/fs/grepTool.js.map +1 -0
- package/dist/src/fs/index.d.ts +8 -0
- package/dist/src/fs/index.js +13 -0
- package/dist/src/fs/index.js.map +1 -0
- package/dist/src/fs/limits.d.ts +34 -0
- package/dist/src/fs/limits.js +74 -0
- package/dist/src/fs/limits.js.map +1 -0
- package/dist/src/fs/listDirTool.d.ts +2 -0
- package/dist/src/fs/listDirTool.js +68 -0
- package/dist/src/fs/listDirTool.js.map +1 -0
- package/dist/src/fs/readFileTool.d.ts +2 -0
- package/dist/src/fs/readFileTool.js +102 -0
- package/dist/src/fs/readFileTool.js.map +1 -0
- package/dist/src/fs/walk.d.ts +11 -0
- package/dist/src/fs/walk.js +38 -0
- package/dist/src/fs/walk.js.map +1 -0
- package/dist/src/fs/workspaceGuard.d.ts +27 -0
- package/dist/src/fs/workspaceGuard.js +96 -0
- package/dist/src/fs/workspaceGuard.js.map +1 -0
- package/dist/src/index.js +47 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/mediaTools.d.ts +63 -0
- package/dist/src/mcp/mediaTools.js +385 -0
- package/dist/src/mcp/mediaTools.js.map +1 -0
- package/dist/src/mcp/server.d.ts +6 -2
- package/dist/src/mcp/server.js +19 -9
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/media/aiApiClient.d.ts +5 -0
- package/dist/src/media/aiApiClient.js +12 -1
- package/dist/src/media/aiApiClient.js.map +1 -1
- package/dist/src/media/budget.d.ts +42 -0
- package/dist/src/media/budget.js +95 -0
- package/dist/src/media/budget.js.map +1 -0
- package/dist/src/media/executor.d.ts +9 -0
- package/dist/src/media/executor.js +1 -1
- package/dist/src/media/executor.js.map +1 -1
- package/dist/src/media/generateImageTool.d.ts +20 -2
- package/dist/src/media/generateImageTool.js +102 -2
- package/dist/src/media/generateImageTool.js.map +1 -1
- package/dist/src/media/promptSanitizer.d.ts +11 -0
- package/dist/src/media/promptSanitizer.js +33 -0
- package/dist/src/media/promptSanitizer.js.map +1 -0
- package/dist/src/media/taskManager.d.ts +8 -1
- package/dist/src/media/taskManager.js +1 -1
- package/dist/src/media/taskManager.js.map +1 -1
- package/dist/src/tui/App.js +38 -8
- package/dist/src/tui/App.js.map +1 -1
- package/dist/src/tui/ParamEditor.d.ts +11 -2
- package/dist/src/tui/ParamEditor.js +48 -3
- package/dist/src/tui/ParamEditor.js.map +1 -1
- package/dist/src/tui/atPopup.d.ts +8 -0
- package/dist/src/tui/atPopup.js +1 -1
- package/dist/src/tui/atPopup.js.map +1 -1
- package/dist/src/tui/attachments.d.ts +12 -0
- package/dist/src/tui/attachments.js +12 -1
- package/dist/src/tui/attachments.js.map +1 -1
- package/dist/src/tui/chatController.d.ts +73 -2
- package/dist/src/tui/chatController.js +272 -43
- package/dist/src/tui/chatController.js.map +1 -1
- package/dist/src/tui/models.d.ts +6 -0
- package/dist/src/tui/models.js +14 -6
- package/dist/src/tui/models.js.map +1 -1
- package/dist/src/tui/run.js +55 -16
- package/dist/src/tui/run.js.map +1 -1
- package/dist/src/util/brokenPipe.d.ts +10 -0
- package/dist/src/util/brokenPipe.js +19 -0
- package/dist/src/util/brokenPipe.js.map +1 -0
- package/package.json +3 -2
- package/skills/globalgpt/SKILL.md +94 -0
- package/skills/globalgpt/references/troubleshooting.md +34 -0
- package/skills/globalgpt-coding/SKILL.md +65 -0
- package/skills/globalgpt-coding/references/troubleshooting.md +34 -0
- package/skills/globalgpt-image/SKILL.md +109 -0
- package/skills/globalgpt-image/references/recipes.md +52 -0
- package/skills/globalgpt-image/references/troubleshooting.md +49 -0
- package/skills/globalgpt-video/SKILL.md +109 -0
- package/skills/globalgpt-video/references/recipes.md +50 -0
- package/skills/globalgpt-video/references/troubleshooting.md +49 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { promises as fs } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* The ONLY safety module for the fs read tools. Every path a tool touches goes
|
|
5
|
+
* through resolveInWorkspace(); the tools themselves contain zero safety code.
|
|
6
|
+
* Phase-B write tools MUST route through this same gate.
|
|
7
|
+
*/
|
|
8
|
+
/** A path-safety violation or lookup failure, with a model-readable message. */
|
|
9
|
+
export class GuardError extends Error {
|
|
10
|
+
}
|
|
11
|
+
const DENIED = 'Access denied: path is outside the workspace (CLI start directory)';
|
|
12
|
+
/** The workspace root: realpath of the CLI start directory, anchored ONCE at startup. */
|
|
13
|
+
export async function workspaceRoot(cwd = process.cwd()) {
|
|
14
|
+
return fs.realpath(cwd);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Walk up from `dir` to the nearest ancestor that actually exists on disk and
|
|
18
|
+
* return ITS realpath. Used by the ENOENT branch below: the lexical candidate
|
|
19
|
+
* cannot be trusted for the containment check because a directory component
|
|
20
|
+
* partway up the path may itself be a symlink pointing outside the
|
|
21
|
+
* workspace — realpath-ing only the missing leaf would miss that.
|
|
22
|
+
*/
|
|
23
|
+
async function nearestExistingAncestorRealpath(dir) {
|
|
24
|
+
for (;;) {
|
|
25
|
+
try {
|
|
26
|
+
return await fs.realpath(dir);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
if (err.code !== 'ENOENT') {
|
|
30
|
+
throw err;
|
|
31
|
+
}
|
|
32
|
+
const parent = path.dirname(dir);
|
|
33
|
+
if (parent === dir) {
|
|
34
|
+
// Reached the filesystem root without finding an existing ancestor.
|
|
35
|
+
throw err;
|
|
36
|
+
}
|
|
37
|
+
dir = parent;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Resolve a user/model-supplied path and prove it stays inside the workspace.
|
|
43
|
+
*
|
|
44
|
+
* Order matters: resolve against root -> realpath (follows symlinks) -> prefix
|
|
45
|
+
* check WITH a trailing separator (so `/ws-evil` cannot pass as `/ws`). The
|
|
46
|
+
* denial message never echoes the resolved real path — that would leak
|
|
47
|
+
* outside-workspace structure to the model.
|
|
48
|
+
*/
|
|
49
|
+
export async function resolveInWorkspace(root, userPath) {
|
|
50
|
+
const candidate = path.resolve(root, userPath);
|
|
51
|
+
let real;
|
|
52
|
+
try {
|
|
53
|
+
real = await fs.realpath(candidate);
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err.code === 'ENOENT') {
|
|
57
|
+
// Read-only tools never need nonexistent paths — but only say "not found"
|
|
58
|
+
// when the path would have been INSIDE the workspace; otherwise deny, so
|
|
59
|
+
// probing outside paths cannot distinguish "missing" from "forbidden".
|
|
60
|
+
//
|
|
61
|
+
// The lexical `candidate` is not trustworthy for that decision: a
|
|
62
|
+
// directory earlier in the path may itself be a symlink escaping the
|
|
63
|
+
// workspace (e.g. `root/escapedir -> /outside`), in which case probing
|
|
64
|
+
// `escapedir/missing.txt` vs `escapedir/exists.txt` would otherwise leak
|
|
65
|
+
// whether files exist outside the workspace. So resolve the nearest
|
|
66
|
+
// ancestor that actually exists and judge containment from ITS realpath.
|
|
67
|
+
let ancestorReal;
|
|
68
|
+
try {
|
|
69
|
+
ancestorReal = await nearestExistingAncestorRealpath(path.dirname(candidate));
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
throw new GuardError(DENIED);
|
|
73
|
+
}
|
|
74
|
+
if (ancestorReal === root || ancestorReal.startsWith(root + path.sep)) {
|
|
75
|
+
throw new GuardError(`Not found: ${userPath}`);
|
|
76
|
+
}
|
|
77
|
+
throw new GuardError(DENIED);
|
|
78
|
+
}
|
|
79
|
+
throw new GuardError(`Cannot access: ${userPath}`);
|
|
80
|
+
}
|
|
81
|
+
if (real !== root && !real.startsWith(root + path.sep)) {
|
|
82
|
+
throw new GuardError(DENIED);
|
|
83
|
+
}
|
|
84
|
+
return real;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Strip the workspace root out of a raw error message before it reaches the model. Node fs
|
|
88
|
+
* errors embed the absolute path (e.g. `EACCES: permission denied, open '/Users/eric/proj/f'`),
|
|
89
|
+
* which would otherwise leak the local machine's directory layout and username to the backend.
|
|
90
|
+
* Used by every tool's generic catch-all — GuardError messages never need this, they are
|
|
91
|
+
* already written to omit the resolved real path (see DENIED above).
|
|
92
|
+
*/
|
|
93
|
+
export function sanitizeFsError(message, root) {
|
|
94
|
+
return message.split(root).join('.');
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=workspaceGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspaceGuard.js","sourceRoot":"","sources":["../../../src/fs/workspaceGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;GAIG;AAEH,gFAAgF;AAChF,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;AAExC,MAAM,MAAM,GACV,oEAAoE,CAAC;AAEvE,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC7D,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,+BAA+B,CAAC,GAAW;IACxD,SAAS,CAAC;QACR,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,oEAAoE;gBACpE,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAAgB;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,EAAE;YACF,kEAAkE;YAClE,qEAAqE;YACrE,uEAAuE;YACvE,yEAAyE;YACzE,oEAAoE;YACpE,yEAAyE;YACzE,IAAI,YAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,UAAU,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,UAAU,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import { basename } from 'node:path';
|
|
4
4
|
import { VERSION } from './version.js';
|
|
5
|
+
import { guardBrokenPipe } from './util/brokenPipe.js';
|
|
6
|
+
// `glbgpt exec ... | head` must end quietly when the pipe closes, not crash (EPIPE).
|
|
7
|
+
guardBrokenPipe(process.stdout);
|
|
8
|
+
guardBrokenPipe(process.stderr);
|
|
5
9
|
/**
|
|
6
10
|
* glbgpt CLI entry (scaffold).
|
|
7
11
|
*
|
|
@@ -15,6 +19,18 @@ const program = new Command();
|
|
|
15
19
|
// The CLI installs two bins — `glbgpt` and its alias `globalgpt` — so help/usage should
|
|
16
20
|
// name whichever the user actually invoked (fall back to the canonical name).
|
|
17
21
|
const invokedName = process.argv[1] ? basename(process.argv[1]).replace(/\.js$/, '') : 'glbgpt';
|
|
22
|
+
/**
|
|
23
|
+
* Parse the raw `--max-credits` flag value from commander. `undefined` (flag omitted) passes
|
|
24
|
+
* through unchanged; a provided value that isn't a non-negative integer is a usage error
|
|
25
|
+
* ('invalid') the caller must reject before running the command — 0 itself is valid and means
|
|
26
|
+
* "no media spending this session" (resolveMaxCredits/SessionBudget handle that).
|
|
27
|
+
*/
|
|
28
|
+
function parseMaxCreditsFlag(raw) {
|
|
29
|
+
if (raw === undefined)
|
|
30
|
+
return undefined;
|
|
31
|
+
const n = Number(raw);
|
|
32
|
+
return Number.isFinite(n) && Number.isInteger(n) && n >= 0 ? n : 'invalid';
|
|
33
|
+
}
|
|
18
34
|
program
|
|
19
35
|
.name(invokedName === 'globalgpt' ? 'globalgpt' : 'glbgpt')
|
|
20
36
|
.description('GlobalGPT in your terminal: chat, image and video generation.')
|
|
@@ -67,7 +83,14 @@ program
|
|
|
67
83
|
.option('--json', 'Emit a single final result object to stdout')
|
|
68
84
|
.option('--jsonl', 'Emit streaming protocol events, one JSON per line')
|
|
69
85
|
.option('-o, --output-last-message <file>', 'Write the final message text to a file')
|
|
86
|
+
.option('--max-credits <n>', 'Session credit budget for media generation (default 4000; 0 disables media generation)')
|
|
70
87
|
.action(async (prompt, opts) => {
|
|
88
|
+
const maxCredits = parseMaxCreditsFlag(opts.maxCredits);
|
|
89
|
+
if (maxCredits === 'invalid') {
|
|
90
|
+
console.error('Invalid --max-credits: must be a non-negative integer.');
|
|
91
|
+
process.exitCode = 1;
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
71
94
|
const { runExec } = await import('./commands/execCommand.js');
|
|
72
95
|
const code = await runExec(prompt, {
|
|
73
96
|
model: opts.model,
|
|
@@ -78,15 +101,36 @@ program
|
|
|
78
101
|
json: opts.json,
|
|
79
102
|
jsonl: opts.jsonl,
|
|
80
103
|
outputLastMessage: opts.outputLastMessage,
|
|
104
|
+
maxCredits,
|
|
81
105
|
});
|
|
82
106
|
process.exitCode = code;
|
|
83
107
|
});
|
|
84
108
|
program
|
|
85
109
|
.command('mcp')
|
|
86
|
-
.description('Run an MCP server (stdio) exposing GlobalGPT chat
|
|
87
|
-
.
|
|
110
|
+
.description('Run an MCP server (stdio) exposing GlobalGPT chat and media generation to external agents')
|
|
111
|
+
.option('--max-credits <n>', 'Session credit budget for media generation (default 4000; 0 disables media generation)')
|
|
112
|
+
.action(async (opts) => {
|
|
113
|
+
const maxCredits = parseMaxCreditsFlag(opts.maxCredits);
|
|
114
|
+
if (maxCredits === 'invalid') {
|
|
115
|
+
console.error('Invalid --max-credits: must be a non-negative integer.');
|
|
116
|
+
process.exitCode = 1;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
88
119
|
const { runMcpServer } = await import('./mcp/server.js');
|
|
89
|
-
await runMcpServer();
|
|
120
|
+
await runMcpServer({ maxCredits });
|
|
121
|
+
});
|
|
122
|
+
const skill = program.command('skill').description('Manage the bundled Agent Skills for coding agents');
|
|
123
|
+
skill
|
|
124
|
+
.command('install')
|
|
125
|
+
.description('Install the bundled skills into your agent skill directories')
|
|
126
|
+
.option('--skill <name>', 'Install only this skill (default: all)')
|
|
127
|
+
.option('--copy', 'Copy files instead of symlinking')
|
|
128
|
+
.action(async (opts) => {
|
|
129
|
+
const { runSkillInstall } = await import('./commands/skillCommand.js');
|
|
130
|
+
process.exitCode = await runSkillInstall({
|
|
131
|
+
skill: opts.skill,
|
|
132
|
+
copy: opts.copy,
|
|
133
|
+
});
|
|
90
134
|
});
|
|
91
135
|
program
|
|
92
136
|
.command('resume [target]')
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qFAAqF;AACrF,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAChC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,wFAAwF;AACxF,8EAA8E;AAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAEhG;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,OAAO;KACJ,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;KAC1D,WAAW,CAAC,+DAA+D,CAAC;KAC5E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,cAAc,EAAE,0DAA0D,CAAC;KAClF,MAAM,CAAC,QAAQ,EAAE,wDAAwD,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAA2C,EAAE,EAAE;IAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChE,MAAM,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACjE,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACjE,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IACpE,MAAM,UAAU,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AACL,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAChF,MAAM,sBAAsB,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;KAC7D,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,CAAC;KAC1E,MAAM,CAAC,8BAA8B,EAAE,mDAAmD,CAAC;KAC3F,MAAM,CAAC,wBAAwB,EAAE,2DAA2D,CAAC;KAC7F,MAAM,CAAC,QAAQ,EAAE,6CAA6C,CAAC;KAC/D,MAAM,CAAC,SAAS,EAAE,mDAAmD,CAAC;KACtE,MAAM,CAAC,kCAAkC,EAAE,wCAAwC,CAAC;KACpF,MAAM,CAAC,mBAAmB,EAAE,wFAAwF,CAAC;KACrH,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAA6B,EAAE,EAAE;IAC1E,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,IAAI,CAAC,KAA2B;QACvC,MAAM,EAAE,IAAI,CAAC,MAA4B;QACzC,IAAI,EAAE,IAAI,CAAC,IAA4B;QACvC,KAAK,EAAE,IAAI,CAAC,KAA6B;QACzC,YAAY,EAAE,IAAI,CAAC,YAAkC;QACrD,IAAI,EAAE,IAAI,CAAC,IAA2B;QACtC,KAAK,EAAE,IAAI,CAAC,KAA4B;QACxC,iBAAiB,EAAE,IAAI,CAAC,iBAAuC;QAC/D,UAAU;KACX,CAAC,CAAC;IACH,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,2FAA2F,CAAC;KACxG,MAAM,CAAC,mBAAmB,EAAE,wFAAwF,CAAC;KACrH,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;IAC9C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACzD,MAAM,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,mDAAmD,CAAC,CAAC;AACxG,KAAK;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;KAClE,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,IAA6B,EAAE,EAAE;IAC9C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACvE,OAAO,CAAC,QAAQ,GAAG,MAAM,eAAe,CAAC;QACvC,KAAK,EAAE,IAAI,CAAC,KAA2B;QACvC,IAAI,EAAE,IAAI,CAAC,IAA2B;KACvC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,EAAE;IAC3C,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,GAAG,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KACnE,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;KAC3D,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;KACnD,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;KAC/C,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;KAC3E,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAC3D,MAAM,CAAC,0BAA0B,EAAE,kBAAkB,CAAC;KACtD,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;KAC7C,MAAM,CAAC,YAAY,EAAE,sCAAsC,CAAC;KAC5D,MAAM,CAAC,UAAU,EAAE,8CAA8C,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,MAAgB,EAAE,IAA6B,EAAE,EAAE;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChE,MAAM,QAAQ,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,KAA2B;QACvC,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAuB;QAChE,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAuB;QAC/D,KAAK,EAAE,IAAI,CAAC,KAA6B;QACzC,IAAI,EAAE,IAAI,CAAC,IAA0B;QACrC,cAAc,EAAE,IAAI,CAAC,cAAoC;QACzD,GAAG,EAAE,IAAI,CAAC,GAAyB;QACnC,QAAQ,EAAE,IAAI,CAAC,QAA+B;QAC9C,MAAM,EAAE,IAAI,CAAC,MAA6B;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,qBAAqB,EAAE,0CAA0C,CAAC;KACzE,MAAM,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;KAC3D,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;KACrD,MAAM,CAAC,aAAa,EAAE,wBAAwB,CAAC;KAC/C,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACjF,MAAM,CAAC,SAAS,EAAE,uBAAuB,CAAC;KAC1C,MAAM,CAAC,YAAY,EAAE,8BAA8B,CAAC;KACpD,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;KAC3E,MAAM,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;KAC9D,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAAC;KAC1C,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;KAC7C,MAAM,CAAC,YAAY,EAAE,sCAAsC,CAAC;KAC5D,MAAM,CAAC,UAAU,EAAE,8CAA8C,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,MAAgB,EAAE,IAA6B,EAAE,EAAE;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChE,MAAM,QAAQ,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,IAAI,CAAC,KAA2B;QACvC,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAuB;QAChE,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAuB;QAC/D,QAAQ,EAAE,IAAI,CAAC,QAA8B;QAC7C,KAAK,EAAE,IAAI,CAAC,KAA4B;QACxC,KAAK,EAAE,IAAI,CAAC,KAA6B;QACzC,UAAU,EAAE,IAAI,CAAC,UAAgC;QACjD,QAAQ,EAAE,IAAI,CAAC,QAA8B;QAC7C,GAAG,EAAE,IAAI,CAAC,GAAyB;QACnC,QAAQ,EAAE,IAAI,CAAC,QAA+B;QAC9C,MAAM,EAAE,IAAI,CAAC,MAA6B;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;AAC9E,KAAK;KACF,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACpE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AACL,KAAK;KACF,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACpE,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;AAC5E,IAAI;KACD,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACnE,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AACL,IAAI;KACD,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACnE,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AACL,IAAI;KACD,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;IAC3B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACnE,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AACL,IAAI;KACD,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;KAC7C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAsB,EAAE,EAAE;IACnD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACvE,MAAM,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;AACvF,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACtE,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC,CAAC,CAAC;AACL,MAAM;KACH,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;IAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACrE,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AACL,MAAM;KACH,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;IAC3C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACrE,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AACL,MAAM;KACH,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;IAC5B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACvE,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,wFAAwF;AACxF,OAAO;KACJ,QAAQ,CAAC,aAAa,EAAE,sDAAsD,CAAC;KAC/E,MAAM,CAAC,KAAK,EAAE,MAAgB,EAAE,EAAE;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { AiApiClient } from '../media/aiApiClient.js';
|
|
3
|
+
import { TaskManager } from '../media/taskManager.js';
|
|
4
|
+
import { TaskLedger } from '../media/taskLedger.js';
|
|
5
|
+
import { SessionBudget } from '../media/budget.js';
|
|
6
|
+
import type { ToolResult } from './server.js';
|
|
7
|
+
/** Injectable deps so the runtime is unit-testable without a live transport or network. */
|
|
8
|
+
export interface MediaRuntimeDeps {
|
|
9
|
+
budget: SessionBudget;
|
|
10
|
+
resolveToken?: () => Promise<string | null>;
|
|
11
|
+
clientFor?: (token: string) => AiApiClient;
|
|
12
|
+
outputDir?: string;
|
|
13
|
+
graceMs?: number;
|
|
14
|
+
taskManagerFor?: (client: AiApiClient) => TaskManager;
|
|
15
|
+
ledger?: TaskLedger;
|
|
16
|
+
sleep?: (ms: number) => Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Per-process runtime behind the MCP media tools (spec §3): one shared budget,
|
|
20
|
+
* task manager, and completed-task cache across all calls on this connection.
|
|
21
|
+
*/
|
|
22
|
+
export declare class MediaRuntime {
|
|
23
|
+
private readonly deps;
|
|
24
|
+
private ctx?;
|
|
25
|
+
private readonly completed;
|
|
26
|
+
/**
|
|
27
|
+
* In-flight register() promises, keyed by taskId. runCheckTask taps into these instead of
|
|
28
|
+
* calling register() again for a task this process is already polling — a second concurrent
|
|
29
|
+
* poll+download loop can interleave writeFile/rename with the first and falsely cache a
|
|
30
|
+
* task_failed event for a task that actually succeeded (see F1 in the 2026-07-19 review).
|
|
31
|
+
*/
|
|
32
|
+
private readonly pending;
|
|
33
|
+
constructor(deps: MediaRuntimeDeps);
|
|
34
|
+
private ensure;
|
|
35
|
+
runGenerate(kind: 'image' | 'video', args: Record<string, unknown>): Promise<ToolResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Start (or join) THE single background register() loop for a task and cache its terminal
|
|
38
|
+
* event. One loop per task per process — a second concurrent poll+download loop can
|
|
39
|
+
* interleave writeFile/rename with the first and falsely cache a task_failed event for a
|
|
40
|
+
* task that actually succeeded (F1, 2026-07-19 review). The pending entry survives grace
|
|
41
|
+
* timeouts, so successive check_task calls keep joining the same loop.
|
|
42
|
+
*/
|
|
43
|
+
private track;
|
|
44
|
+
/**
|
|
45
|
+
* Race a settle promise against the grace window; null = still running. Server-side
|
|
46
|
+
* waiting is the load-bearing design choice (verified 2026-07-20 in a real Claude Code
|
|
47
|
+
* client): agents without a sleep capability end their turn when told to wait, orphaning
|
|
48
|
+
* the task — so each call absorbs up to graceMs of waiting instead. 45s slices stay
|
|
49
|
+
* inside the most conservative client timeouts (Claude Code's own default is ~27.8h).
|
|
50
|
+
* The default grace timer must not keep the event loop alive once the race is decided; a
|
|
51
|
+
* caller-injected deps.sleep (tests) is left as-is — its leak is bounded by the test.
|
|
52
|
+
*/
|
|
53
|
+
private raceGrace;
|
|
54
|
+
runCheckTask(args: Record<string, unknown>): Promise<ToolResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Model discovery (spec 2026-07-20-mcp-list-models-design.md): harmless
|
|
57
|
+
* metadata, so no auth gate — a null token still serves the baked/cached
|
|
58
|
+
* catalog. Media groups honor the catalog disabled list via availableModels().
|
|
59
|
+
*/
|
|
60
|
+
runListModels(args: Record<string, unknown>): Promise<ToolResult>;
|
|
61
|
+
}
|
|
62
|
+
/** Register the media tools (and model discovery) on an MCP server, bound to one runtime. */
|
|
63
|
+
export declare function registerMediaTools(server: McpServer, runtime: MediaRuntime): void;
|