@vibeframe/mcp-server 0.89.0 → 0.90.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/dist/index.js +106 -65
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -7607,9 +7607,8 @@ vibe scene lint --json # structured output for agent loops
|
|
|
7607
7607
|
`;
|
|
7608
7608
|
}
|
|
7609
7609
|
function buildSceneGitignore() {
|
|
7610
|
-
return `# VibeFrame caches
|
|
7611
|
-
.vibeframe/
|
|
7612
|
-
.vibeframe/checkpoints/
|
|
7610
|
+
return `# VibeFrame \u2014 caches, checkpoints, and project-scope config.yaml (may contain API keys)
|
|
7611
|
+
.vibeframe/
|
|
7613
7612
|
|
|
7614
7613
|
# Render outputs
|
|
7615
7614
|
renders/*.mp4
|
|
@@ -25409,44 +25408,86 @@ var init_schema = __esm({
|
|
|
25409
25408
|
import { resolve as resolve2 } from "node:path";
|
|
25410
25409
|
import { homedir } from "node:os";
|
|
25411
25410
|
import { readFile as readFile2, writeFile as writeFile2, mkdir as mkdir2, access as access2 } from "node:fs/promises";
|
|
25412
|
-
|
|
25411
|
+
function getProjectConfigDir(cwd = process.cwd()) {
|
|
25412
|
+
return resolve2(cwd, ".vibeframe");
|
|
25413
|
+
}
|
|
25414
|
+
function getProjectConfigPath(cwd = process.cwd()) {
|
|
25415
|
+
return resolve2(getProjectConfigDir(cwd), "config.yaml");
|
|
25416
|
+
}
|
|
25417
|
+
function getConfigPath(scope, cwd) {
|
|
25418
|
+
return scope === "project" ? getProjectConfigPath(cwd) : USER_CONFIG_PATH;
|
|
25419
|
+
}
|
|
25420
|
+
async function fileExists(path14) {
|
|
25413
25421
|
try {
|
|
25414
|
-
await access2(
|
|
25415
|
-
|
|
25416
|
-
|
|
25417
|
-
|
|
25418
|
-
|
|
25419
|
-
|
|
25420
|
-
|
|
25421
|
-
|
|
25422
|
-
|
|
25423
|
-
|
|
25424
|
-
|
|
25425
|
-
}
|
|
25422
|
+
await access2(path14);
|
|
25423
|
+
return true;
|
|
25424
|
+
} catch {
|
|
25425
|
+
return false;
|
|
25426
|
+
}
|
|
25427
|
+
}
|
|
25428
|
+
function applyDefaults(parsed) {
|
|
25429
|
+
const defaults = createDefaultConfig();
|
|
25430
|
+
return {
|
|
25431
|
+
...defaults,
|
|
25432
|
+
...parsed,
|
|
25433
|
+
llm: { ...defaults.llm, ...parsed.llm },
|
|
25434
|
+
providers: { ...defaults.providers, ...parsed.providers },
|
|
25435
|
+
defaults: { ...defaults.defaults, ...parsed.defaults },
|
|
25436
|
+
repl: { ...defaults.repl, ...parsed.repl }
|
|
25437
|
+
};
|
|
25438
|
+
}
|
|
25439
|
+
async function readConfigFile(path14) {
|
|
25440
|
+
if (!await fileExists(path14)) return null;
|
|
25441
|
+
try {
|
|
25442
|
+
const content = await readFile2(path14, "utf-8");
|
|
25443
|
+
const parsed = (0, import_yaml2.parse)(content);
|
|
25444
|
+
return applyDefaults(parsed);
|
|
25426
25445
|
} catch {
|
|
25427
25446
|
return null;
|
|
25428
25447
|
}
|
|
25429
25448
|
}
|
|
25449
|
+
async function loadConfig(options = {}) {
|
|
25450
|
+
const { scope, cwd, merge: merge3 } = options;
|
|
25451
|
+
if (merge3) {
|
|
25452
|
+
const user = await readConfigFile(USER_CONFIG_PATH);
|
|
25453
|
+
const project2 = await readConfigFile(getProjectConfigPath(cwd));
|
|
25454
|
+
if (!user && !project2) return null;
|
|
25455
|
+
if (!user) return project2;
|
|
25456
|
+
if (!project2) return user;
|
|
25457
|
+
return {
|
|
25458
|
+
...user,
|
|
25459
|
+
...project2,
|
|
25460
|
+
llm: { ...user.llm, ...project2.llm },
|
|
25461
|
+
providers: { ...user.providers, ...project2.providers },
|
|
25462
|
+
defaults: { ...user.defaults, ...project2.defaults },
|
|
25463
|
+
repl: { ...user.repl, ...project2.repl }
|
|
25464
|
+
};
|
|
25465
|
+
}
|
|
25466
|
+
if (scope) {
|
|
25467
|
+
return readConfigFile(getConfigPath(scope, cwd));
|
|
25468
|
+
}
|
|
25469
|
+
const project = await readConfigFile(getProjectConfigPath(cwd));
|
|
25470
|
+
if (project) return project;
|
|
25471
|
+
return readConfigFile(USER_CONFIG_PATH);
|
|
25472
|
+
}
|
|
25430
25473
|
async function getApiKeyFromConfig(providerKey) {
|
|
25431
25474
|
const config4 = await loadConfig();
|
|
25432
25475
|
if (config4?.providers[providerKey]) {
|
|
25433
25476
|
return config4.providers[providerKey];
|
|
25434
25477
|
}
|
|
25435
25478
|
const envVar = PROVIDER_ENV_VARS[providerKey];
|
|
25436
|
-
if (envVar)
|
|
25437
|
-
return process.env[envVar];
|
|
25438
|
-
}
|
|
25479
|
+
if (envVar) return process.env[envVar];
|
|
25439
25480
|
return void 0;
|
|
25440
25481
|
}
|
|
25441
|
-
var import_yaml2,
|
|
25482
|
+
var import_yaml2, USER_CONFIG_DIR, USER_CONFIG_PATH;
|
|
25442
25483
|
var init_config = __esm({
|
|
25443
25484
|
"../cli/src/config/index.ts"() {
|
|
25444
25485
|
"use strict";
|
|
25445
25486
|
import_yaml2 = __toESM(require_dist(), 1);
|
|
25446
25487
|
init_schema();
|
|
25447
25488
|
init_schema();
|
|
25448
|
-
|
|
25449
|
-
|
|
25489
|
+
USER_CONFIG_DIR = resolve2(homedir(), ".vibeframe");
|
|
25490
|
+
USER_CONFIG_PATH = resolve2(USER_CONFIG_DIR, "config.yaml");
|
|
25450
25491
|
}
|
|
25451
25492
|
});
|
|
25452
25493
|
|
|
@@ -127444,7 +127485,7 @@ var require_typescript2 = __commonJS({
|
|
|
127444
127485
|
rangeStartIsOnSameLineAsRangeEnd: () => rangeStartIsOnSameLineAsRangeEnd,
|
|
127445
127486
|
rangeStartPositionsAreOnSameLine: () => rangeStartPositionsAreOnSameLine,
|
|
127446
127487
|
readBuilderProgram: () => readBuilderProgram,
|
|
127447
|
-
readConfigFile: () =>
|
|
127488
|
+
readConfigFile: () => readConfigFile2,
|
|
127448
127489
|
readJson: () => readJson,
|
|
127449
127490
|
readJsonConfigFile: () => readJsonConfigFile,
|
|
127450
127491
|
readJsonOrUndefined: () => readJsonOrUndefined,
|
|
@@ -134068,7 +134109,7 @@ ${lanes.join("\n")}
|
|
|
134068
134109
|
watchDirectory,
|
|
134069
134110
|
preferNonRecursiveWatch: !fsSupportsRecursiveFsWatch,
|
|
134070
134111
|
resolvePath: (path14) => _path.resolve(path14),
|
|
134071
|
-
fileExists,
|
|
134112
|
+
fileExists: fileExists2,
|
|
134072
134113
|
directoryExists,
|
|
134073
134114
|
getAccessibleFileSystemEntries,
|
|
134074
134115
|
createDirectory(directoryName) {
|
|
@@ -134230,7 +134271,7 @@ ${lanes.join("\n")}
|
|
|
134230
134271
|
if (platform === "win32" || platform === "win64") {
|
|
134231
134272
|
return false;
|
|
134232
134273
|
}
|
|
134233
|
-
return !
|
|
134274
|
+
return !fileExists2(swapCase(__filename));
|
|
134234
134275
|
}
|
|
134235
134276
|
function swapCase(s) {
|
|
134236
134277
|
return s.replace(/\w/g, (ch) => {
|
|
@@ -134363,7 +134404,7 @@ ${lanes.join("\n")}
|
|
|
134363
134404
|
return false;
|
|
134364
134405
|
}
|
|
134365
134406
|
}
|
|
134366
|
-
function
|
|
134407
|
+
function fileExists2(path14) {
|
|
134367
134408
|
return fileSystemEntryExists(
|
|
134368
134409
|
path14,
|
|
134369
134410
|
0
|
|
@@ -171058,7 +171099,7 @@ ${lanes.join("\n")}
|
|
|
171058
171099
|
watchOptionsToExtend
|
|
171059
171100
|
);
|
|
171060
171101
|
}
|
|
171061
|
-
function
|
|
171102
|
+
function readConfigFile2(fileName, readFile34) {
|
|
171062
171103
|
const textOrDiagnostic = tryReadFile(fileName, readFile34);
|
|
171063
171104
|
return isString3(textOrDiagnostic) ? parseConfigFileTextToJson(fileName, textOrDiagnostic) : { config: {}, error: textOrDiagnostic };
|
|
171064
171105
|
}
|
|
@@ -260189,7 +260230,7 @@ ${lanes.join("\n")}
|
|
|
260189
260230
|
const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames2);
|
|
260190
260231
|
return {
|
|
260191
260232
|
useCaseSensitiveFileNames: useCaseSensitiveFileNames2,
|
|
260192
|
-
fileExists,
|
|
260233
|
+
fileExists: fileExists2,
|
|
260193
260234
|
readFile: (path14, encoding) => host.readFile(path14, encoding),
|
|
260194
260235
|
directoryExists: host.directoryExists && directoryExists,
|
|
260195
260236
|
getDirectories,
|
|
@@ -260275,7 +260316,7 @@ ${lanes.join("\n")}
|
|
|
260275
260316
|
}
|
|
260276
260317
|
return host.writeFile(fileName, data, writeByteOrderMark);
|
|
260277
260318
|
}
|
|
260278
|
-
function
|
|
260319
|
+
function fileExists2(fileName) {
|
|
260279
260320
|
const path14 = toPath3(fileName);
|
|
260280
260321
|
const result = getCachedFileSystemEntriesForBaseDir(path14);
|
|
260281
260322
|
return result && hasEntry(result.sortedAndCanonicalizedFiles, getCanonicalFileName(getBaseNameOfFileName(fileName))) || host.fileExists(fileName);
|
|
@@ -260391,10 +260432,10 @@ ${lanes.join("\n")}
|
|
|
260391
260432
|
clearFirstAncestorEntry(filePath);
|
|
260392
260433
|
}
|
|
260393
260434
|
}
|
|
260394
|
-
function updateFilesOfFileSystemEntry(parentResult, baseName,
|
|
260435
|
+
function updateFilesOfFileSystemEntry(parentResult, baseName, fileExists22) {
|
|
260395
260436
|
const canonicalizedFiles = parentResult.sortedAndCanonicalizedFiles;
|
|
260396
260437
|
const canonicalizedBaseName = getCanonicalFileName(baseName);
|
|
260397
|
-
if (
|
|
260438
|
+
if (fileExists22) {
|
|
260398
260439
|
if (insertSorted(canonicalizedFiles, canonicalizedBaseName, compareStringsCaseSensitive)) {
|
|
260399
260440
|
parentResult.files.push(baseName);
|
|
260400
260441
|
}
|
|
@@ -260694,10 +260735,10 @@ ${lanes.join("\n")}
|
|
|
260694
260735
|
function closeFileWatcherOf(objWithWatcher) {
|
|
260695
260736
|
objWithWatcher.watcher.close();
|
|
260696
260737
|
}
|
|
260697
|
-
function findConfigFile(searchPath,
|
|
260738
|
+
function findConfigFile(searchPath, fileExists2, configName = "tsconfig.json") {
|
|
260698
260739
|
return forEachAncestorDirectory(searchPath, (ancestor) => {
|
|
260699
260740
|
const fileName = combinePaths(ancestor, configName);
|
|
260700
|
-
return
|
|
260741
|
+
return fileExists2(fileName) ? fileName : void 0;
|
|
260701
260742
|
});
|
|
260702
260743
|
}
|
|
260703
260744
|
function resolveTripleslashReference(moduleName, containingFile) {
|
|
@@ -261304,14 +261345,14 @@ ${lanes.join("\n")}
|
|
|
261304
261345
|
}
|
|
261305
261346
|
return { file, pos, end, packageId };
|
|
261306
261347
|
}
|
|
261307
|
-
function isProgramUptoDate(program2, rootFileNames, newOptions, getSourceVersion,
|
|
261348
|
+
function isProgramUptoDate(program2, rootFileNames, newOptions, getSourceVersion, fileExists2, hasInvalidatedResolutions, hasInvalidatedLibResolutions, hasChangedAutomaticTypeDirectiveNames, getParsedCommandLine, projectReferences) {
|
|
261308
261349
|
if (!program2 || (hasChangedAutomaticTypeDirectiveNames == null ? void 0 : hasChangedAutomaticTypeDirectiveNames())) return false;
|
|
261309
261350
|
if (!arrayIsEqualTo(program2.getRootFileNames(), rootFileNames)) return false;
|
|
261310
261351
|
let seenResolvedRefs;
|
|
261311
261352
|
if (!arrayIsEqualTo(program2.getProjectReferences(), projectReferences, projectReferenceUptoDate)) return false;
|
|
261312
261353
|
if (program2.getSourceFiles().some(sourceFileNotUptoDate)) return false;
|
|
261313
261354
|
const missingPaths = program2.getMissingFilePaths();
|
|
261314
|
-
if (missingPaths && forEachEntry(missingPaths,
|
|
261355
|
+
if (missingPaths && forEachEntry(missingPaths, fileExists2)) return false;
|
|
261315
261356
|
const currentOptions = program2.getCompilerOptions();
|
|
261316
261357
|
if (!compareDataObjects(currentOptions, newOptions)) return false;
|
|
261317
261358
|
if (program2.resolvedLibReferences && forEachEntry(program2.resolvedLibReferences, (_value, libFileName) => hasInvalidatedLibResolutions(libFileName))) return false;
|
|
@@ -261639,7 +261680,7 @@ ${lanes.join("\n")}
|
|
|
261639
261680
|
let mapSourceFileToResolvedRef;
|
|
261640
261681
|
let mapOutputFileToResolvedRef;
|
|
261641
261682
|
const useSourceOfProjectReferenceRedirect = !!((_d = host.useSourceOfProjectReferenceRedirect) == null ? void 0 : _d.call(host)) && !options.disableSourceOfProjectReferenceRedirect;
|
|
261642
|
-
const { onProgramCreateComplete, fileExists, directoryExists } = updateHostForUseSourceOfProjectReferenceRedirect({
|
|
261683
|
+
const { onProgramCreateComplete, fileExists: fileExists2, directoryExists } = updateHostForUseSourceOfProjectReferenceRedirect({
|
|
261643
261684
|
compilerHost: host,
|
|
261644
261685
|
getSymlinkCache,
|
|
261645
261686
|
useSourceOfProjectReferenceRedirect,
|
|
@@ -261873,7 +261914,7 @@ ${lanes.join("\n")}
|
|
|
261873
261914
|
getImpliedNodeFormatForEmit: getImpliedNodeFormatForEmit2,
|
|
261874
261915
|
shouldTransformImportCall,
|
|
261875
261916
|
emitBuildInfo,
|
|
261876
|
-
fileExists,
|
|
261917
|
+
fileExists: fileExists2,
|
|
261877
261918
|
readFile: readFile34,
|
|
261878
261919
|
directoryExists,
|
|
261879
261920
|
getSymlinkCache,
|
|
@@ -264372,8 +264413,8 @@ ${lanes.join("\n")}
|
|
|
264372
264413
|
const originalDirectoryExists = host.compilerHost.directoryExists;
|
|
264373
264414
|
const originalGetDirectories = host.compilerHost.getDirectories;
|
|
264374
264415
|
const originalRealpath = host.compilerHost.realpath;
|
|
264375
|
-
if (!host.useSourceOfProjectReferenceRedirect) return { onProgramCreateComplete: noop3, fileExists };
|
|
264376
|
-
host.compilerHost.fileExists =
|
|
264416
|
+
if (!host.useSourceOfProjectReferenceRedirect) return { onProgramCreateComplete: noop3, fileExists: fileExists2 };
|
|
264417
|
+
host.compilerHost.fileExists = fileExists2;
|
|
264377
264418
|
let directoryExists;
|
|
264378
264419
|
if (originalDirectoryExists) {
|
|
264379
264420
|
directoryExists = host.compilerHost.directoryExists = (path14) => {
|
|
@@ -264412,13 +264453,13 @@ ${lanes.join("\n")}
|
|
|
264412
264453
|
return ((_a7 = host.getSymlinkCache().getSymlinkedFiles()) == null ? void 0 : _a7.get(host.toPath(s))) || originalRealpath.call(host.compilerHost, s);
|
|
264413
264454
|
};
|
|
264414
264455
|
}
|
|
264415
|
-
return { onProgramCreateComplete, fileExists, directoryExists };
|
|
264456
|
+
return { onProgramCreateComplete, fileExists: fileExists2, directoryExists };
|
|
264416
264457
|
function onProgramCreateComplete() {
|
|
264417
264458
|
host.compilerHost.fileExists = originalFileExists;
|
|
264418
264459
|
host.compilerHost.directoryExists = originalDirectoryExists;
|
|
264419
264460
|
host.compilerHost.getDirectories = originalGetDirectories;
|
|
264420
264461
|
}
|
|
264421
|
-
function
|
|
264462
|
+
function fileExists2(file) {
|
|
264422
264463
|
if (originalFileExists.call(host.compilerHost, file)) return true;
|
|
264423
264464
|
if (!host.getResolvedProjectReferences()) return false;
|
|
264424
264465
|
if (!isDeclarationFileName(file)) return false;
|
|
@@ -268770,7 +268811,7 @@ ${lanes.join("\n")}
|
|
|
268770
268811
|
compilerHost.getSourceFile = (fileName, ...args) => getVersionedSourceFileByPath(fileName, toPath3(fileName), ...args);
|
|
268771
268812
|
compilerHost.getSourceFileByPath = getVersionedSourceFileByPath;
|
|
268772
268813
|
compilerHost.getNewLine = () => newLine;
|
|
268773
|
-
compilerHost.fileExists =
|
|
268814
|
+
compilerHost.fileExists = fileExists2;
|
|
268774
268815
|
compilerHost.onReleaseOldSourceFile = onReleaseOldSourceFile;
|
|
268775
268816
|
compilerHost.onReleaseParsedCommandLine = onReleaseParsedCommandLine;
|
|
268776
268817
|
compilerHost.toPath = toPath3;
|
|
@@ -268974,7 +269015,7 @@ ${lanes.join("\n")}
|
|
|
268974
269015
|
function isFilePresenceUnknownOnHost(hostSourceFile) {
|
|
268975
269016
|
return typeof hostSourceFile.version === "boolean";
|
|
268976
269017
|
}
|
|
268977
|
-
function
|
|
269018
|
+
function fileExists2(fileName) {
|
|
268978
269019
|
const path14 = toPath3(fileName);
|
|
268979
269020
|
if (isFileMissingOnHost(sourceFilesCache.get(path14))) {
|
|
268980
269021
|
return false;
|
|
@@ -273732,12 +273773,12 @@ ${lanes.join("\n")}
|
|
|
273732
273773
|
return nodeCoreModules.has(moduleName) ? "node" : moduleName;
|
|
273733
273774
|
}
|
|
273734
273775
|
function loadSafeList(host, safeListPath) {
|
|
273735
|
-
const result =
|
|
273776
|
+
const result = readConfigFile2(safeListPath, (path14) => host.readFile(path14));
|
|
273736
273777
|
return new Map(Object.entries(result.config));
|
|
273737
273778
|
}
|
|
273738
273779
|
function loadTypesMap(host, typesMapPath) {
|
|
273739
273780
|
var _a7;
|
|
273740
|
-
const result =
|
|
273781
|
+
const result = readConfigFile2(typesMapPath, (path14) => host.readFile(path14));
|
|
273741
273782
|
if ((_a7 = result.config) == null ? void 0 : _a7.simpleMap) {
|
|
273742
273783
|
return new Map(Object.entries(result.config.simpleMap));
|
|
273743
273784
|
}
|
|
@@ -273813,7 +273854,7 @@ ${lanes.join("\n")}
|
|
|
273813
273854
|
let manifestTypingNames;
|
|
273814
273855
|
if (host.fileExists(manifestPath)) {
|
|
273815
273856
|
filesToWatch2.push(manifestPath);
|
|
273816
|
-
manifest2 =
|
|
273857
|
+
manifest2 = readConfigFile2(manifestPath, (path14) => host.readFile(path14)).config;
|
|
273817
273858
|
manifestTypingNames = flatMap([manifest2.dependencies, manifest2.devDependencies, manifest2.optionalDependencies, manifest2.peerDependencies], getOwnKeys);
|
|
273818
273859
|
addInferredTypings(manifestTypingNames, `Typing names in '${manifestPath}' dependencies`);
|
|
273819
273860
|
}
|
|
@@ -273847,7 +273888,7 @@ ${lanes.join("\n")}
|
|
|
273847
273888
|
if (log2) log2(`Searching for typing names in ${packagesFolderPath}; all files: ${JSON.stringify(dependencyManifestNames)}`);
|
|
273848
273889
|
for (const manifestPath2 of dependencyManifestNames) {
|
|
273849
273890
|
const normalizedFileName = normalizePath(manifestPath2);
|
|
273850
|
-
const result2 =
|
|
273891
|
+
const result2 = readConfigFile2(normalizedFileName, (path14) => host.readFile(path14));
|
|
273851
273892
|
const manifest22 = result2.config;
|
|
273852
273893
|
if (!manifest22.name) {
|
|
273853
273894
|
continue;
|
|
@@ -275943,15 +275984,15 @@ ${lanes.join("\n")}
|
|
|
275943
275984
|
}
|
|
275944
275985
|
return true;
|
|
275945
275986
|
}
|
|
275946
|
-
function getMappedLocation(location, sourceMapper,
|
|
275987
|
+
function getMappedLocation(location, sourceMapper, fileExists2) {
|
|
275947
275988
|
const mapsTo = sourceMapper.tryGetSourcePosition(location);
|
|
275948
|
-
return mapsTo && (!
|
|
275989
|
+
return mapsTo && (!fileExists2 || fileExists2(normalizePath(mapsTo.fileName)) ? mapsTo : void 0);
|
|
275949
275990
|
}
|
|
275950
|
-
function getMappedDocumentSpan(documentSpan, sourceMapper,
|
|
275991
|
+
function getMappedDocumentSpan(documentSpan, sourceMapper, fileExists2) {
|
|
275951
275992
|
const { fileName, textSpan } = documentSpan;
|
|
275952
|
-
const newPosition = getMappedLocation({ fileName, pos: textSpan.start }, sourceMapper,
|
|
275993
|
+
const newPosition = getMappedLocation({ fileName, pos: textSpan.start }, sourceMapper, fileExists2);
|
|
275953
275994
|
if (!newPosition) return void 0;
|
|
275954
|
-
const newEndPosition = getMappedLocation({ fileName, pos: textSpan.start + textSpan.length }, sourceMapper,
|
|
275995
|
+
const newEndPosition = getMappedLocation({ fileName, pos: textSpan.start + textSpan.length }, sourceMapper, fileExists2);
|
|
275955
275996
|
const newLength = newEndPosition ? newEndPosition.pos - newPosition.pos : textSpan.length;
|
|
275956
275997
|
return {
|
|
275957
275998
|
fileName: newPosition.fileName,
|
|
@@ -275961,20 +276002,20 @@ ${lanes.join("\n")}
|
|
|
275961
276002
|
},
|
|
275962
276003
|
originalFileName: documentSpan.fileName,
|
|
275963
276004
|
originalTextSpan: documentSpan.textSpan,
|
|
275964
|
-
contextSpan: getMappedContextSpan(documentSpan, sourceMapper,
|
|
276005
|
+
contextSpan: getMappedContextSpan(documentSpan, sourceMapper, fileExists2),
|
|
275965
276006
|
originalContextSpan: documentSpan.contextSpan
|
|
275966
276007
|
};
|
|
275967
276008
|
}
|
|
275968
|
-
function getMappedContextSpan(documentSpan, sourceMapper,
|
|
276009
|
+
function getMappedContextSpan(documentSpan, sourceMapper, fileExists2) {
|
|
275969
276010
|
const contextSpanStart = documentSpan.contextSpan && getMappedLocation(
|
|
275970
276011
|
{ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start },
|
|
275971
276012
|
sourceMapper,
|
|
275972
|
-
|
|
276013
|
+
fileExists2
|
|
275973
276014
|
);
|
|
275974
276015
|
const contextSpanEnd = documentSpan.contextSpan && getMappedLocation(
|
|
275975
276016
|
{ fileName: documentSpan.fileName, pos: documentSpan.contextSpan.start + documentSpan.contextSpan.length },
|
|
275976
276017
|
sourceMapper,
|
|
275977
|
-
|
|
276018
|
+
fileExists2
|
|
275978
276019
|
);
|
|
275979
276020
|
return contextSpanStart && contextSpanEnd ? { start: contextSpanStart.pos, length: contextSpanEnd.pos - contextSpanStart.pos } : void 0;
|
|
275980
276021
|
}
|
|
@@ -322947,7 +322988,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
322947
322988
|
rangeStartIsOnSameLineAsRangeEnd: () => rangeStartIsOnSameLineAsRangeEnd,
|
|
322948
322989
|
rangeStartPositionsAreOnSameLine: () => rangeStartPositionsAreOnSameLine,
|
|
322949
322990
|
readBuilderProgram: () => readBuilderProgram,
|
|
322950
|
-
readConfigFile: () =>
|
|
322991
|
+
readConfigFile: () => readConfigFile2,
|
|
322951
322992
|
readJson: () => readJson,
|
|
322952
322993
|
readJsonConfigFile: () => readJsonConfigFile,
|
|
322953
322994
|
readJsonOrUndefined: () => readJsonOrUndefined,
|
|
@@ -324458,9 +324499,9 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
324458
324499
|
this.markContainingProjectsAsDirty();
|
|
324459
324500
|
}
|
|
324460
324501
|
}
|
|
324461
|
-
close(
|
|
324502
|
+
close(fileExists2 = true) {
|
|
324462
324503
|
this.textStorage.isOpen = false;
|
|
324463
|
-
if (
|
|
324504
|
+
if (fileExists2 && this.textStorage.scheduleReloadIfNeeded()) {
|
|
324464
324505
|
this.markContainingProjectsAsDirty();
|
|
324465
324506
|
}
|
|
324466
324507
|
}
|
|
@@ -325564,11 +325605,11 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
325564
325605
|
this.rootFilesMap.set(path14, { fileName });
|
|
325565
325606
|
this.markAsDirty();
|
|
325566
325607
|
}
|
|
325567
|
-
removeFile(info,
|
|
325608
|
+
removeFile(info, fileExists2, detachFromProject) {
|
|
325568
325609
|
if (this.isRoot(info)) {
|
|
325569
325610
|
this.removeRoot(info);
|
|
325570
325611
|
}
|
|
325571
|
-
if (
|
|
325612
|
+
if (fileExists2) {
|
|
325572
325613
|
this.resolutionCache.removeResolutionsOfFile(info.path);
|
|
325573
325614
|
} else {
|
|
325574
325615
|
this.resolutionCache.invalidateResolutionOfFile(info.path);
|
|
@@ -328438,8 +328479,8 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
328438
328479
|
*/
|
|
328439
328480
|
closeOpenFile(info, skipAssignOrphanScriptInfosToInferredProject) {
|
|
328440
328481
|
var _a7;
|
|
328441
|
-
const
|
|
328442
|
-
info.close(
|
|
328482
|
+
const fileExists2 = info.isDynamic ? false : this.host.fileExists(info.fileName);
|
|
328483
|
+
info.close(fileExists2);
|
|
328443
328484
|
this.stopWatchingConfigFilesForScriptInfo(info);
|
|
328444
328485
|
const canonicalFileName = this.toCanonicalFileName(info.fileName);
|
|
328445
328486
|
if (this.openFilesWithNonRootedDiskPath.get(canonicalFileName) === info) {
|
|
@@ -328465,7 +328506,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
328465
328506
|
}
|
|
328466
328507
|
p.removeFile(
|
|
328467
328508
|
info,
|
|
328468
|
-
|
|
328509
|
+
fileExists2,
|
|
328469
328510
|
/*detachFromProject*/
|
|
328470
328511
|
true
|
|
328471
328512
|
);
|
|
@@ -328481,7 +328522,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
328481
328522
|
if (!skipAssignOrphanScriptInfosToInferredProject && ensureProjectsForOpenFiles) {
|
|
328482
328523
|
this.assignOrphanScriptInfosToInferredProject();
|
|
328483
328524
|
}
|
|
328484
|
-
if (
|
|
328525
|
+
if (fileExists2) {
|
|
328485
328526
|
this.watchClosedScriptInfo(info);
|
|
328486
328527
|
} else {
|
|
328487
328528
|
this.handleDeletedFile(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.90.0",
|
|
4
4
|
"description": "VibeFrame MCP Server - AI-native video editing via Model Context Protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"tsx": "^4.21.0",
|
|
58
58
|
"typescript": "^5.3.3",
|
|
59
59
|
"vitest": "^1.2.2",
|
|
60
|
-
"@vibeframe/
|
|
61
|
-
"@vibeframe/
|
|
60
|
+
"@vibeframe/cli": "0.90.0",
|
|
61
|
+
"@vibeframe/core": "0.90.0"
|
|
62
62
|
},
|
|
63
63
|
"engines": {
|
|
64
64
|
"node": ">=20"
|