vybekiit 0.7.12 → 0.7.13
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/bin.js
CHANGED
|
@@ -5688,7 +5688,7 @@ var walkPreferenceLadder = (walk) => Effect2.gen(function* () {
|
|
|
5688
5688
|
});
|
|
5689
5689
|
|
|
5690
5690
|
// src/cliRunner.ts
|
|
5691
|
-
import { readFile as
|
|
5691
|
+
import { readFile as readFile33 } from "fs/promises";
|
|
5692
5692
|
import { dirname as dirname23, join as join61 } from "path";
|
|
5693
5693
|
import process36 from "process";
|
|
5694
5694
|
import { fileURLToPath as fileURLToPath10 } from "url";
|
|
@@ -10791,7 +10791,7 @@ import open2 from "open";
|
|
|
10791
10791
|
|
|
10792
10792
|
// src/global/runSessionOne.ts
|
|
10793
10793
|
import { spawn } from "child_process";
|
|
10794
|
-
import { access as access7, readdir as readdir6 } from "fs/promises";
|
|
10794
|
+
import { access as access7, readdir as readdir6, readFile as readFile6 } from "fs/promises";
|
|
10795
10795
|
import { homedir } from "os";
|
|
10796
10796
|
import { join as join14 } from "path";
|
|
10797
10797
|
import process7 from "process";
|
|
@@ -11018,8 +11018,10 @@ var BUYER_BUILD_ROOTS = [
|
|
|
11018
11018
|
join14("scripts", "lib", "tsupWorkspaceAliases.mjs"),
|
|
11019
11019
|
"tsup.base.ts"
|
|
11020
11020
|
];
|
|
11021
|
+
var LEGACY_CLIENT_STATE_ALIAS = '"@vybekiit/client-state"';
|
|
11021
11022
|
var repairProjectBuildRoots = async (appPath, deps = {
|
|
11022
11023
|
pathExists: pathExists3,
|
|
11024
|
+
readText: async (path) => await readFile6(path, "utf8"),
|
|
11023
11025
|
locateKit: locateKitWorkspace,
|
|
11024
11026
|
repairFromKit: repairKitBuildRoots
|
|
11025
11027
|
}) => {
|
|
@@ -11027,7 +11029,15 @@ var repairProjectBuildRoots = async (appPath, deps = {
|
|
|
11027
11029
|
const checks = await Promise.all(
|
|
11028
11030
|
BUYER_BUILD_ROOTS.map((relativePath) => deps.pathExists(join14(appPath, relativePath)))
|
|
11029
11031
|
);
|
|
11030
|
-
|
|
11032
|
+
if (!checks.every(Boolean)) {
|
|
11033
|
+
return false;
|
|
11034
|
+
}
|
|
11035
|
+
try {
|
|
11036
|
+
const baseTsconfig = await deps.readText(join14(appPath, "tsconfig.base.json"));
|
|
11037
|
+
return baseTsconfig.includes(LEGACY_CLIENT_STATE_ALIAS);
|
|
11038
|
+
} catch {
|
|
11039
|
+
return false;
|
|
11040
|
+
}
|
|
11031
11041
|
};
|
|
11032
11042
|
if (await buildRootsReady()) {
|
|
11033
11043
|
return true;
|
|
@@ -11729,7 +11739,7 @@ var runDocFallback = (args) => {
|
|
|
11729
11739
|
import { join as join17, resolve as resolve7 } from "path";
|
|
11730
11740
|
|
|
11731
11741
|
// src/commands/dropFiles.ts
|
|
11732
|
-
import { access as access9, cp as cp3, mkdir as mkdir5, readdir as readdir8, readFile as
|
|
11742
|
+
import { access as access9, cp as cp3, mkdir as mkdir5, readdir as readdir8, readFile as readFile7, writeFile as writeFile5 } from "fs/promises";
|
|
11733
11743
|
import { dirname as dirname7, join as join16 } from "path";
|
|
11734
11744
|
import { fileURLToPath as fileURLToPath4 } from "url";
|
|
11735
11745
|
var HERE4 = dirname7(fileURLToPath4(import.meta.url));
|
|
@@ -11793,7 +11803,7 @@ var copyDropTemplate = async (context) => {
|
|
|
11793
11803
|
var pinDeps = async (dest) => {
|
|
11794
11804
|
const pkgPath = join16(dest, "package.json");
|
|
11795
11805
|
try {
|
|
11796
|
-
const raw = await
|
|
11806
|
+
const raw = await readFile7(pkgPath, "utf8");
|
|
11797
11807
|
const pkg = JSON.parse(raw);
|
|
11798
11808
|
for (const field of ["dependencies", "devDependencies"]) {
|
|
11799
11809
|
const deps = pkg[field];
|
|
@@ -12242,7 +12252,7 @@ var createFeedbackIntakeClient = (options = {}) => {
|
|
|
12242
12252
|
};
|
|
12243
12253
|
|
|
12244
12254
|
// src/feedback/feedbackFiles.ts
|
|
12245
|
-
import { chmod, lstat as lstat2, mkdir as mkdir6, readFile as
|
|
12255
|
+
import { chmod, lstat as lstat2, mkdir as mkdir6, readFile as readFile8, realpath, rename, writeFile as writeFile6 } from "fs/promises";
|
|
12246
12256
|
import { isAbsolute, join as join18, relative } from "path";
|
|
12247
12257
|
var FeedbackFileError = class extends Error {
|
|
12248
12258
|
code;
|
|
@@ -12279,7 +12289,7 @@ var readFeedbackDraft = async (draftPath, projectRoot) => {
|
|
|
12279
12289
|
);
|
|
12280
12290
|
}
|
|
12281
12291
|
try {
|
|
12282
|
-
return decodeFeedbackDraft(JSON.parse(await
|
|
12292
|
+
return decodeFeedbackDraft(JSON.parse(await readFile8(resolvedDraftPath, "utf8")));
|
|
12283
12293
|
} catch (error) {
|
|
12284
12294
|
if (error instanceof FeedbackFileError) {
|
|
12285
12295
|
throw error;
|
|
@@ -12298,7 +12308,7 @@ var recordFeedbackSubmission = async (projectRoot, submission) => {
|
|
|
12298
12308
|
await mkdir6(feedbackDirectory, { recursive: true, mode: 448 });
|
|
12299
12309
|
let submissions = [];
|
|
12300
12310
|
try {
|
|
12301
|
-
const storedSubmissions = JSON.parse(await
|
|
12311
|
+
const storedSubmissions = JSON.parse(await readFile8(submissionsPath, "utf8"));
|
|
12302
12312
|
if (Array.isArray(storedSubmissions)) {
|
|
12303
12313
|
submissions = storedSubmissions.filter(
|
|
12304
12314
|
(entry) => typeof entry === "object" && entry !== null && "fingerprint" in entry && typeof entry.fingerprint === "string" && "reference" in entry && typeof entry.reference === "string" && "submittedAt" in entry && typeof entry.submittedAt === "string"
|
|
@@ -12414,13 +12424,13 @@ import { join as join23 } from "path";
|
|
|
12414
12424
|
|
|
12415
12425
|
// src/commands/initAssets.ts
|
|
12416
12426
|
import { execFile as execFile6 } from "child_process";
|
|
12417
|
-
import { cp as cp4, mkdir as mkdir7, readdir as readdir9, readFile as
|
|
12427
|
+
import { cp as cp4, mkdir as mkdir7, readdir as readdir9, readFile as readFile10, writeFile as writeFile7 } from "fs/promises";
|
|
12418
12428
|
import { dirname as dirname8, join as join20 } from "path";
|
|
12419
12429
|
import { fileURLToPath as fileURLToPath5 } from "url";
|
|
12420
12430
|
import { promisify as promisify5 } from "util";
|
|
12421
12431
|
|
|
12422
12432
|
// src/commands/initTypes.ts
|
|
12423
|
-
import { access as access10, readFile as
|
|
12433
|
+
import { access as access10, readFile as readFile9 } from "fs/promises";
|
|
12424
12434
|
import { join as join19 } from "path";
|
|
12425
12435
|
var pathExists4 = async (path) => {
|
|
12426
12436
|
try {
|
|
@@ -12432,7 +12442,7 @@ var pathExists4 = async (path) => {
|
|
|
12432
12442
|
};
|
|
12433
12443
|
var readInitPackageJson = async (cwd) => {
|
|
12434
12444
|
try {
|
|
12435
|
-
const raw = await
|
|
12445
|
+
const raw = await readFile9(join19(cwd, "package.json"), "utf8");
|
|
12436
12446
|
return JSON.parse(raw);
|
|
12437
12447
|
} catch {
|
|
12438
12448
|
return null;
|
|
@@ -12575,7 +12585,7 @@ var adaptWorkflows = async (dir, pm) => {
|
|
|
12575
12585
|
await Promise.all(
|
|
12576
12586
|
workflowFiles.map(async (file) => {
|
|
12577
12587
|
const path = join20(dir, file);
|
|
12578
|
-
let content = await
|
|
12588
|
+
let content = await readFile10(path, "utf8");
|
|
12579
12589
|
for (const [from, to] of Object.entries(replacements[pm])) {
|
|
12580
12590
|
content = content.replaceAll(from, to);
|
|
12581
12591
|
}
|
|
@@ -12680,11 +12690,11 @@ var writeInitSuccess = (pm) => {
|
|
|
12680
12690
|
};
|
|
12681
12691
|
|
|
12682
12692
|
// src/commands/initPatches.ts
|
|
12683
|
-
import { readFile as
|
|
12693
|
+
import { readFile as readFile11, writeFile as writeFile8 } from "fs/promises";
|
|
12684
12694
|
import { join as join22 } from "path";
|
|
12685
12695
|
var patchGitignore = async (cwd) => {
|
|
12686
12696
|
const gitignorePath = join22(cwd, ".gitignore");
|
|
12687
|
-
const content = await pathExists4(gitignorePath) ? await
|
|
12697
|
+
const content = await pathExists4(gitignorePath) ? await readFile11(gitignorePath, "utf8") : "";
|
|
12688
12698
|
const needed = ["dev-scripts/", ".env", ".env.*", "!.env.example"];
|
|
12689
12699
|
const additions = needed.filter((pattern) => !content.includes(pattern));
|
|
12690
12700
|
if (additions.length > 0) {
|
|
@@ -12764,7 +12774,7 @@ var runInit = async (args) => {
|
|
|
12764
12774
|
};
|
|
12765
12775
|
|
|
12766
12776
|
// src/commands/lintExtensionSkill.ts
|
|
12767
|
-
import { readFile as
|
|
12777
|
+
import { readFile as readFile12 } from "fs/promises";
|
|
12768
12778
|
var extensionSkillKind = (path, explicit) => {
|
|
12769
12779
|
if (explicit === "buyer-goal" || explicit === "platform-wrapper" || explicit === "agent-skills-global") {
|
|
12770
12780
|
return explicit;
|
|
@@ -12809,7 +12819,7 @@ var runLintExtensionSkill = async (args) => {
|
|
|
12809
12819
|
}
|
|
12810
12820
|
let content;
|
|
12811
12821
|
try {
|
|
12812
|
-
content = await
|
|
12822
|
+
content = await readFile12(path, "utf8");
|
|
12813
12823
|
} catch {
|
|
12814
12824
|
return {
|
|
12815
12825
|
json: JSON.stringify({ ok: false, error: `Cannot read file: ${path}` }),
|
|
@@ -18373,7 +18383,7 @@ var CLOUDFLARE_DASHBOARD_URL = "https://dash.cloudflare.com";
|
|
|
18373
18383
|
var CLOUDFLARE_API_BASE = "https://api.cloudflare.com/client/v4";
|
|
18374
18384
|
|
|
18375
18385
|
// ../packages/browserAutomation/src/core/writeEnvBlock.ts
|
|
18376
|
-
import { readFile as
|
|
18386
|
+
import { readFile as readFile13, writeFile as writeFile9 } from "fs/promises";
|
|
18377
18387
|
import { resolve as resolve11 } from "path";
|
|
18378
18388
|
var TRAILING_NEWLINES_PATTERN2 = /\n+$/;
|
|
18379
18389
|
var envAssignmentKey = (line) => {
|
|
@@ -18415,7 +18425,7 @@ var upsertEnvAssignment = (lines, key, value) => {
|
|
|
18415
18425
|
var writeEnvBlock = async (assignments, cwd = process.cwd(), options = {}) => {
|
|
18416
18426
|
const fileName = options.fileName ?? ".env";
|
|
18417
18427
|
const envFilePath = resolve11(cwd, fileName);
|
|
18418
|
-
const existing = await
|
|
18428
|
+
const existing = await readFile13(envFilePath, "utf8").catch(() => "");
|
|
18419
18429
|
const startingLines = existing.length > 0 ? existing.split("\n") : [];
|
|
18420
18430
|
const removed = removeNamedKeys(startingLines, new Set(options.removeKeys ?? []));
|
|
18421
18431
|
const keysWritten = Object.keys(assignments);
|
|
@@ -18614,7 +18624,7 @@ var supabaseEnvBlock = (result) => ({
|
|
|
18614
18624
|
});
|
|
18615
18625
|
|
|
18616
18626
|
// ../packages/browserAutomation/src/core/chromeProfilePath.ts
|
|
18617
|
-
import { mkdir as mkdir8, readFile as
|
|
18627
|
+
import { mkdir as mkdir8, readFile as readFile14, writeFile as writeFile10 } from "fs/promises";
|
|
18618
18628
|
import { homedir as homedir3 } from "os";
|
|
18619
18629
|
import { join as join31 } from "path";
|
|
18620
18630
|
|
|
@@ -18645,7 +18655,7 @@ var ENV_KEYS = {
|
|
|
18645
18655
|
};
|
|
18646
18656
|
var readManifest = async () => {
|
|
18647
18657
|
try {
|
|
18648
|
-
const manifestText = await
|
|
18658
|
+
const manifestText = await readFile14(MANIFEST_PATH, "utf8");
|
|
18649
18659
|
const parsed = JSON.parse(manifestText);
|
|
18650
18660
|
return parsed !== null && typeof parsed === "object" ? parsed : {};
|
|
18651
18661
|
} catch {
|
|
@@ -19080,7 +19090,7 @@ var verifyUpstash = async (restUrl, restToken) => {
|
|
|
19080
19090
|
};
|
|
19081
19091
|
|
|
19082
19092
|
// ../packages/browserAutomation/src/cli/discover.ts
|
|
19083
|
-
import { readFile as
|
|
19093
|
+
import { readFile as readFile15 } from "fs/promises";
|
|
19084
19094
|
import { dirname as dirname10, resolve as resolve13 } from "path";
|
|
19085
19095
|
|
|
19086
19096
|
// ../packages/browserAutomation/src/domains/extension/cwsStoreSchema.ts
|
|
@@ -19125,7 +19135,7 @@ var discoverStore = async (startDir = process.cwd()) => {
|
|
|
19125
19135
|
while (dir !== root) {
|
|
19126
19136
|
const configPath = cwsJsonPath(dir);
|
|
19127
19137
|
try {
|
|
19128
|
-
const fileText = await
|
|
19138
|
+
const fileText = await readFile15(configPath, "utf8");
|
|
19129
19139
|
const store = parseCwsStoreConfig(JSON.parse(fileText));
|
|
19130
19140
|
return { repoRoot: dir, store };
|
|
19131
19141
|
} catch (err) {
|
|
@@ -19240,7 +19250,7 @@ var connectToCwsChrome = async (ctx) => {
|
|
|
19240
19250
|
};
|
|
19241
19251
|
|
|
19242
19252
|
// ../packages/browserAutomation/src/domains/extension/cwsIdRegistry.ts
|
|
19243
|
-
import { mkdir as mkdir9, readFile as
|
|
19253
|
+
import { mkdir as mkdir9, readFile as readFile16, writeFile as writeFile11 } from "fs/promises";
|
|
19244
19254
|
import { dirname as dirname11 } from "path";
|
|
19245
19255
|
var CHROME_WEB_STORE_ID_PATTERN = /^[a-z0-9]{32}$/;
|
|
19246
19256
|
var recordChromeWebStoreId = async (repoRoot, extensionKey, chromeWebStoreId) => {
|
|
@@ -19272,7 +19282,7 @@ var recordChromeWebStoreId = async (repoRoot, extensionKey, chromeWebStoreId) =>
|
|
|
19272
19282
|
var isNotFoundError = (error) => error instanceof Error && "code" in error && error.code === "ENOENT";
|
|
19273
19283
|
var readCwsStoreConfig = async (path) => {
|
|
19274
19284
|
try {
|
|
19275
|
-
const raw = await
|
|
19285
|
+
const raw = await readFile16(path, "utf8");
|
|
19276
19286
|
return parseCwsStoreConfig(JSON.parse(raw));
|
|
19277
19287
|
} catch (error) {
|
|
19278
19288
|
if (isNotFoundError(error)) {
|
|
@@ -25849,7 +25859,7 @@ var searchDoctorTools = (query, options) => {
|
|
|
25849
25859
|
};
|
|
25850
25860
|
|
|
25851
25861
|
// ../packages/agentMcp/src/server.ts
|
|
25852
|
-
import { readFile as
|
|
25862
|
+
import { readFile as readFile18 } from "fs/promises";
|
|
25853
25863
|
import { join as join35 } from "path";
|
|
25854
25864
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
25855
25865
|
import {
|
|
@@ -25861,7 +25871,7 @@ import {
|
|
|
25861
25871
|
import { Either as Either8, ParseResult, Schema as Schema11 } from "effect";
|
|
25862
25872
|
|
|
25863
25873
|
// ../packages/agentMcp/src/skills.ts
|
|
25864
|
-
import { readdir as readdir10, readFile as
|
|
25874
|
+
import { readdir as readdir10, readFile as readFile17 } from "fs/promises";
|
|
25865
25875
|
import { homedir as homedir4 } from "os";
|
|
25866
25876
|
import { join as join34, resolve as resolve15, sep } from "path";
|
|
25867
25877
|
import process14 from "process";
|
|
@@ -25991,7 +26001,7 @@ var getSkill = async (projectRoot, skillIdOrFile, options) => {
|
|
|
25991
26001
|
continue;
|
|
25992
26002
|
}
|
|
25993
26003
|
try {
|
|
25994
|
-
const content = await
|
|
26004
|
+
const content = await readFile17(absolute, "utf8");
|
|
25995
26005
|
const goalMatch = content.match(BUYER_GOAL_PATTERN2);
|
|
25996
26006
|
const lines = content.split("\n").slice(0, excerptLines);
|
|
25997
26007
|
return {
|
|
@@ -26012,7 +26022,7 @@ var getSkill = async (projectRoot, skillIdOrFile, options) => {
|
|
|
26012
26022
|
const globalSkillPath = join34(globalSkillsDir, skillFile, "SKILL.md");
|
|
26013
26023
|
if (isWithinProjectRoot(globalSkillsDir, globalSkillPath)) {
|
|
26014
26024
|
try {
|
|
26015
|
-
const content = await
|
|
26025
|
+
const content = await readFile17(globalSkillPath, "utf8");
|
|
26016
26026
|
const goalMatch = content.match(BUYER_GOAL_PATTERN2);
|
|
26017
26027
|
return {
|
|
26018
26028
|
id: agentEntry?.id ?? entry?.id ?? skillFile,
|
|
@@ -26440,7 +26450,7 @@ var loadUiCatalog = async () => {
|
|
|
26440
26450
|
return cachedCatalog.catalog;
|
|
26441
26451
|
}
|
|
26442
26452
|
try {
|
|
26443
|
-
const json = await
|
|
26453
|
+
const json = await readFile18(catalogPath, "utf8");
|
|
26444
26454
|
const catalog = loadCatalog(json);
|
|
26445
26455
|
cachedCatalog = { path: catalogPath, catalog };
|
|
26446
26456
|
return catalog;
|
|
@@ -26675,7 +26685,7 @@ var runNew = async (args) => {
|
|
|
26675
26685
|
import process17 from "process";
|
|
26676
26686
|
|
|
26677
26687
|
// src/lib/pageRecipeCatalog.ts
|
|
26678
|
-
import { readFile as
|
|
26688
|
+
import { readFile as readFile19 } from "fs/promises";
|
|
26679
26689
|
import { join as join36 } from "path";
|
|
26680
26690
|
var PAGE_RECIPE_MANIFEST_RELATIVE = join36("scripts", "data", "page-recipe-manifest.json");
|
|
26681
26691
|
var pageRecipeManifestPath = (kitRoot) => join36(kitRoot, PAGE_RECIPE_MANIFEST_RELATIVE);
|
|
@@ -26757,7 +26767,7 @@ var parsePageRecipeManifest = (raw) => {
|
|
|
26757
26767
|
};
|
|
26758
26768
|
var loadPageRecipes = async (kitRoot) => {
|
|
26759
26769
|
try {
|
|
26760
|
-
const raw = await
|
|
26770
|
+
const raw = await readFile19(pageRecipeManifestPath(kitRoot), "utf8");
|
|
26761
26771
|
return parsePageRecipeManifest(raw);
|
|
26762
26772
|
} catch {
|
|
26763
26773
|
return [];
|
|
@@ -26766,7 +26776,7 @@ var loadPageRecipes = async (kitRoot) => {
|
|
|
26766
26776
|
var findPageRecipe = (recipes, idOrSlug) => recipes.find((recipe) => recipe.id === idOrSlug || recipe.slug === idOrSlug);
|
|
26767
26777
|
|
|
26768
26778
|
// src/lib/pageRecipeInstall.ts
|
|
26769
|
-
import { access as access13, mkdir as mkdir11, readFile as
|
|
26779
|
+
import { access as access13, mkdir as mkdir11, readFile as readFile21, writeFile as writeFile13 } from "fs/promises";
|
|
26770
26780
|
import { basename as basename2, dirname as dirname16, join as join39, relative as relative5, resolve as resolve17 } from "path";
|
|
26771
26781
|
|
|
26772
26782
|
// src/lib/appSurface.ts
|
|
@@ -26913,7 +26923,7 @@ var rewriteInstalledSource = (source) => (
|
|
|
26913
26923
|
);
|
|
26914
26924
|
|
|
26915
26925
|
// src/lib/pageRecipePlanFiles.ts
|
|
26916
|
-
import { access as access12, readFile as
|
|
26926
|
+
import { access as access12, readFile as readFile20 } from "fs/promises";
|
|
26917
26927
|
import { basename, dirname as dirname15, join as join38, relative as relative4 } from "path";
|
|
26918
26928
|
|
|
26919
26929
|
// src/lib/pageRecipeRouteStub.ts
|
|
@@ -27067,7 +27077,7 @@ var loadSharedModule = async (options) => {
|
|
|
27067
27077
|
throw new Error(`Missing shared recipe dependency: ${spec}`);
|
|
27068
27078
|
}
|
|
27069
27079
|
const sharedDest = join38(componentsDir, "shared", basename(kitSharedFile));
|
|
27070
|
-
const sharedRaw = await
|
|
27080
|
+
const sharedRaw = await readFile20(kitSharedFile, "utf8");
|
|
27071
27081
|
const sharedContent = rewriteInstalledSource(sharedRaw);
|
|
27072
27082
|
const nextSpecs = collectRelativeImports(sharedRaw).map((rel) => stripLeadingDotSlash(rel));
|
|
27073
27083
|
return {
|
|
@@ -27207,7 +27217,7 @@ var planPageRecipeInstall = async (options) => {
|
|
|
27207
27217
|
`Recipe source not found at ${recipe.sourcePath}. Re-run from a kit workspace or with kit access.`
|
|
27208
27218
|
);
|
|
27209
27219
|
}
|
|
27210
|
-
const recipeSource = await
|
|
27220
|
+
const recipeSource = await readFile21(sourceAbs, "utf8");
|
|
27211
27221
|
const recipeFileName = basename2(recipe.sourcePath);
|
|
27212
27222
|
const recipeDest = join39(layout.componentsDir, recipeFileName);
|
|
27213
27223
|
const shared = await planSharedFiles({
|
|
@@ -27758,15 +27768,15 @@ var inferVybeAssistant = (availability) => {
|
|
|
27758
27768
|
};
|
|
27759
27769
|
|
|
27760
27770
|
// src/lib/reportModeInstall.ts
|
|
27761
|
-
import { access as access14, mkdir as mkdir12, readdir as readdir11, readFile as
|
|
27771
|
+
import { access as access14, mkdir as mkdir12, readdir as readdir11, readFile as readFile23, writeFile as writeFile15 } from "fs/promises";
|
|
27762
27772
|
import { dirname as dirname17, join as join40, relative as relative6 } from "path";
|
|
27763
27773
|
|
|
27764
27774
|
// src/lib/packageJsonDeps.ts
|
|
27765
|
-
import { readFile as
|
|
27775
|
+
import { readFile as readFile22, writeFile as writeFile14 } from "fs/promises";
|
|
27766
27776
|
var ensureDependencies = async (pkgPath, deps) => {
|
|
27767
27777
|
let raw;
|
|
27768
27778
|
try {
|
|
27769
|
-
raw = await
|
|
27779
|
+
raw = await readFile22(pkgPath, "utf8");
|
|
27770
27780
|
} catch {
|
|
27771
27781
|
return [];
|
|
27772
27782
|
}
|
|
@@ -27812,7 +27822,7 @@ var defaultReportModeFs = {
|
|
|
27812
27822
|
listFiles: (dir) => listFilesRecursive(dir),
|
|
27813
27823
|
readText: async (path) => {
|
|
27814
27824
|
try {
|
|
27815
|
-
return await
|
|
27825
|
+
return await readFile23(path, "utf8");
|
|
27816
27826
|
} catch {
|
|
27817
27827
|
return null;
|
|
27818
27828
|
}
|
|
@@ -28341,7 +28351,7 @@ var runAddPiecesInteractive = async () => {
|
|
|
28341
28351
|
};
|
|
28342
28352
|
|
|
28343
28353
|
// src/commands/planDataModelCmd.ts
|
|
28344
|
-
import { readFile as
|
|
28354
|
+
import { readFile as readFile24 } from "fs/promises";
|
|
28345
28355
|
var PROVIDERS = [
|
|
28346
28356
|
"supabase",
|
|
28347
28357
|
"neon",
|
|
@@ -28371,7 +28381,7 @@ var runPlanDataModel = async (args) => {
|
|
|
28371
28381
|
};
|
|
28372
28382
|
}
|
|
28373
28383
|
try {
|
|
28374
|
-
const raw = await
|
|
28384
|
+
const raw = await readFile24(inputPath, "utf8");
|
|
28375
28385
|
const parsed = JSON.parse(raw);
|
|
28376
28386
|
const { entities } = parsed;
|
|
28377
28387
|
if (entities === void 0 || entities.length === 0) {
|
|
@@ -29267,7 +29277,7 @@ var globalInstallPaths = (configDir = claudeConfigDir()) => ({
|
|
|
29267
29277
|
});
|
|
29268
29278
|
|
|
29269
29279
|
// src/global/globalStatus.ts
|
|
29270
|
-
import { readFile as
|
|
29280
|
+
import { readFile as readFile25, stat as stat2 } from "fs/promises";
|
|
29271
29281
|
import { join as join48 } from "path";
|
|
29272
29282
|
|
|
29273
29283
|
// src/global/managedSkills.ts
|
|
@@ -29332,7 +29342,7 @@ var exists2 = async (path) => {
|
|
|
29332
29342
|
var readGlobalStatus = async (paths) => {
|
|
29333
29343
|
let hasMemory = false;
|
|
29334
29344
|
try {
|
|
29335
|
-
hasMemory = (await
|
|
29345
|
+
hasMemory = (await readFile25(paths.memoryFile, "utf8")).includes("BEGIN VYBEKIIT");
|
|
29336
29346
|
} catch {
|
|
29337
29347
|
hasMemory = false;
|
|
29338
29348
|
}
|
|
@@ -29357,7 +29367,7 @@ var formatGlobalStatus = (status) => {
|
|
|
29357
29367
|
};
|
|
29358
29368
|
|
|
29359
29369
|
// src/doctor/codexConfig.ts
|
|
29360
|
-
import { access as access16, mkdir as mkdir14, readFile as
|
|
29370
|
+
import { access as access16, mkdir as mkdir14, readFile as readFile26, writeFile as writeFile17 } from "fs/promises";
|
|
29361
29371
|
import { homedir as homedir7 } from "os";
|
|
29362
29372
|
import { join as join49 } from "path";
|
|
29363
29373
|
var FEATURES_BLOCK = ["[features]", "skills = true"].join("\n");
|
|
@@ -29400,7 +29410,7 @@ var ensureCodexSkillsEnabled = async () => {
|
|
|
29400
29410
|
await mkdir14(join49(path, ".."), { recursive: true });
|
|
29401
29411
|
let previous = "";
|
|
29402
29412
|
try {
|
|
29403
|
-
previous = await
|
|
29413
|
+
previous = await readFile26(path, "utf8");
|
|
29404
29414
|
} catch (error) {
|
|
29405
29415
|
if (!(error instanceof Error && "code" in error) || error.code !== "ENOENT") {
|
|
29406
29416
|
throw error;
|
|
@@ -30932,13 +30942,13 @@ var runDoctor = async (log = processDoctorLog, setupScope = {}) => {
|
|
|
30932
30942
|
};
|
|
30933
30943
|
|
|
30934
30944
|
// src/global/installState.ts
|
|
30935
|
-
import { mkdir as mkdir15, readFile as
|
|
30945
|
+
import { mkdir as mkdir15, readFile as readFile27, writeFile as writeFile18 } from "fs/promises";
|
|
30936
30946
|
import { join as join56 } from "path";
|
|
30937
30947
|
var INSTALL_STATE_FILENAME = ".vybekiit-install.json";
|
|
30938
30948
|
var installStatePath = (configDir) => join56(configDir, INSTALL_STATE_FILENAME);
|
|
30939
30949
|
var readInstallState = async (configDir) => {
|
|
30940
30950
|
try {
|
|
30941
|
-
const raw = await
|
|
30951
|
+
const raw = await readFile27(installStatePath(configDir), "utf8");
|
|
30942
30952
|
const parsed = JSON.parse(raw);
|
|
30943
30953
|
if (typeof parsed.version !== "string" || parsed.version === "") {
|
|
30944
30954
|
return null;
|
|
@@ -30980,7 +30990,7 @@ import process29 from "process";
|
|
|
30980
30990
|
import { confirm as confirm3, isCancel as isCancel4 } from "@clack/prompts";
|
|
30981
30991
|
|
|
30982
30992
|
// src/global/awareness.ts
|
|
30983
|
-
import { mkdir as mkdir16, readFile as
|
|
30993
|
+
import { mkdir as mkdir16, readFile as readFile28, writeFile as writeFile19 } from "fs/promises";
|
|
30984
30994
|
import { dirname as dirname21 } from "path";
|
|
30985
30995
|
var BEGIN_MARKER = "<!-- BEGIN VYBEKIIT (managed by `vybekiit setup`) -->";
|
|
30986
30996
|
var END_MARKER = "<!-- END VYBEKIIT -->";
|
|
@@ -31036,7 +31046,7 @@ ${block}`;
|
|
|
31036
31046
|
};
|
|
31037
31047
|
var readOrEmpty = async (path) => {
|
|
31038
31048
|
try {
|
|
31039
|
-
return await
|
|
31049
|
+
return await readFile28(path, "utf8");
|
|
31040
31050
|
} catch (error) {
|
|
31041
31051
|
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
31042
31052
|
return "";
|
|
@@ -31108,7 +31118,7 @@ var installAwareness = async (paths) => {
|
|
|
31108
31118
|
};
|
|
31109
31119
|
|
|
31110
31120
|
// src/global/cliVersion.ts
|
|
31111
|
-
import { readFile as
|
|
31121
|
+
import { readFile as readFile29 } from "fs/promises";
|
|
31112
31122
|
import { dirname as dirname22, join as join57 } from "path";
|
|
31113
31123
|
import { fileURLToPath as fileURLToPath9 } from "url";
|
|
31114
31124
|
var MODULE_DIR2 = dirname22(fileURLToPath9(import.meta.url));
|
|
@@ -31121,7 +31131,7 @@ var readCliVersion = async () => {
|
|
|
31121
31131
|
];
|
|
31122
31132
|
for (const candidate of candidates) {
|
|
31123
31133
|
try {
|
|
31124
|
-
const raw = await
|
|
31134
|
+
const raw = await readFile29(candidate, "utf8");
|
|
31125
31135
|
const parsed = JSON.parse(raw);
|
|
31126
31136
|
if (parsed.version !== void 0 && parsed.version !== "") {
|
|
31127
31137
|
return parsed.version;
|
|
@@ -31326,7 +31336,7 @@ var installGlobalMcp = async (deps = defaultDeps4) => {
|
|
|
31326
31336
|
};
|
|
31327
31337
|
|
|
31328
31338
|
// src/global/installGlobalSkills.ts
|
|
31329
|
-
import { cp as cp5, mkdir as mkdir17, readdir as readdir13, readFile as
|
|
31339
|
+
import { cp as cp5, mkdir as mkdir17, readdir as readdir13, readFile as readFile30, rm as rm5, stat as stat3, writeFile as writeFile20 } from "fs/promises";
|
|
31330
31340
|
import { join as join58 } from "path";
|
|
31331
31341
|
var REQUIRED_MANAGED_SKILLS = ["feedback"];
|
|
31332
31342
|
var pathExists8 = async (path) => {
|
|
@@ -31339,7 +31349,7 @@ var pathExists8 = async (path) => {
|
|
|
31339
31349
|
};
|
|
31340
31350
|
var listBundledSkills = async (sourceDir) => {
|
|
31341
31351
|
try {
|
|
31342
|
-
const manifest = JSON.parse(await
|
|
31352
|
+
const manifest = JSON.parse(await readFile30(join58(sourceDir, "manifest.json"), "utf8"));
|
|
31343
31353
|
if (Array.isArray(manifest.skills)) {
|
|
31344
31354
|
return [...manifest.skills];
|
|
31345
31355
|
}
|
|
@@ -31798,7 +31808,7 @@ var runSetup = async (args = []) => {
|
|
|
31798
31808
|
|
|
31799
31809
|
// src/commands/syncAgentLayer.ts
|
|
31800
31810
|
import { execFile as execFile7 } from "child_process";
|
|
31801
|
-
import { access as access17, cp as cp6, readFile as
|
|
31811
|
+
import { access as access17, cp as cp6, readFile as readFile31, writeFile as writeFile21 } from "fs/promises";
|
|
31802
31812
|
import { join as join59 } from "path";
|
|
31803
31813
|
import process33 from "process";
|
|
31804
31814
|
import { promisify as promisify6 } from "util";
|
|
@@ -31889,14 +31899,14 @@ var readGoalIndexBeforeSync = async (pathsToSync, cwd, deps) => {
|
|
|
31889
31899
|
if (!await deps.pathExists(goalIndexPath)) {
|
|
31890
31900
|
return;
|
|
31891
31901
|
}
|
|
31892
|
-
return await
|
|
31902
|
+
return await readFile31(goalIndexPath, "utf8");
|
|
31893
31903
|
};
|
|
31894
31904
|
var mergeGoalIndexAfterSync = async (cwd, goalIndexBefore) => {
|
|
31895
31905
|
if (goalIndexBefore === void 0) {
|
|
31896
31906
|
return;
|
|
31897
31907
|
}
|
|
31898
31908
|
const goalIndexPath = join59(cwd, ".vybekiit/agent/goal-index.md");
|
|
31899
|
-
const synced = await
|
|
31909
|
+
const synced = await readFile31(goalIndexPath, "utf8");
|
|
31900
31910
|
const merged = mergeGoalIndexOnSync(synced, goalIndexBefore);
|
|
31901
31911
|
if (merged !== synced) {
|
|
31902
31912
|
await writeFile21(goalIndexPath, merged, "utf8");
|
|
@@ -32087,7 +32097,7 @@ var formatEnsureStatus = (ensureStatus) => {
|
|
|
32087
32097
|
};
|
|
32088
32098
|
|
|
32089
32099
|
// src/prompts/envWizard.ts
|
|
32090
|
-
import { readFile as
|
|
32100
|
+
import { readFile as readFile32 } from "fs/promises";
|
|
32091
32101
|
import { join as join60 } from "path";
|
|
32092
32102
|
import { cancel as cancel3, isCancel as isCancel5, text as text2 } from "@clack/prompts";
|
|
32093
32103
|
var ENV_KEY_PATTERN = /^[A-Z][A-Z0-9_]*$/;
|
|
@@ -32143,7 +32153,7 @@ var runEnvWizard = async (cwd = process.cwd()) => {
|
|
|
32143
32153
|
const examplePath = join60(cwd, ".env.example");
|
|
32144
32154
|
let raw;
|
|
32145
32155
|
try {
|
|
32146
|
-
raw = await
|
|
32156
|
+
raw = await readFile32(examplePath, "utf8");
|
|
32147
32157
|
} catch {
|
|
32148
32158
|
process.stderr.write("No .env.example in this folder.\n");
|
|
32149
32159
|
return 1;
|
|
@@ -32152,7 +32162,7 @@ var runEnvWizard = async (cwd = process.cwd()) => {
|
|
|
32152
32162
|
const envPath = join60(cwd, ".env");
|
|
32153
32163
|
let envContent = "";
|
|
32154
32164
|
try {
|
|
32155
|
-
envContent = await
|
|
32165
|
+
envContent = await readFile32(envPath, "utf8");
|
|
32156
32166
|
} catch {
|
|
32157
32167
|
}
|
|
32158
32168
|
for (const key of keys) {
|
|
@@ -32224,7 +32234,7 @@ var HERE7 = dirname23(fileURLToPath10(import.meta.url));
|
|
|
32224
32234
|
var GATE_EXEMPT = /* @__PURE__ */ new Set(["doctor", "setup", "global-install", "update", "feedback", "mcp"]);
|
|
32225
32235
|
var readVersion = async () => {
|
|
32226
32236
|
try {
|
|
32227
|
-
const raw = await
|
|
32237
|
+
const raw = await readFile33(join61(HERE7, "..", "package.json"), "utf8");
|
|
32228
32238
|
const parsed = JSON.parse(raw);
|
|
32229
32239
|
if (parsed.version !== void 0 && parsed.version !== "") {
|
|
32230
32240
|
return parsed.version;
|
|
@@ -13,12 +13,10 @@ const path = require("path");
|
|
|
13
13
|
|
|
14
14
|
const POSTHOG_HOST = "https://us.i.posthog.com";
|
|
15
15
|
|
|
16
|
-
// PostHog project API key.
|
|
17
|
-
//
|
|
18
|
-
// per environment with EXPO_SKILLS_POSTHOG_KEY (e.g. a staging project).
|
|
16
|
+
// PostHog project API key. Supply it explicitly when telemetry is enabled with
|
|
17
|
+
// EXPO_SKILLS_POSTHOG_KEY; the bundled skill never carries a live project token.
|
|
19
18
|
// NOTE: never put a PostHog *personal* API key (phx_...) here — those are secret.
|
|
20
|
-
const POSTHOG_PROJECT_API_KEY =
|
|
21
|
-
process.env.EXPO_SKILLS_POSTHOG_KEY || "phc_w8xRytdAAwkV3oExnuUozqH64PMzCmDLnyoChpPBcNXs";
|
|
19
|
+
const POSTHOG_PROJECT_API_KEY = process.env.EXPO_SKILLS_POSTHOG_KEY || "";
|
|
22
20
|
|
|
23
21
|
const SOURCE = "expo-skills";
|
|
24
22
|
const INSTALLATION_ID_PATH = path.join(os.homedir(), ".expo-skills", "installation-id");
|
|
@@ -79,11 +77,10 @@ function telemetryActive() {
|
|
|
79
77
|
return DEFAULT_ON;
|
|
80
78
|
}
|
|
81
79
|
|
|
82
|
-
//
|
|
83
|
-
// makes the scripts inert if someone strips the key (e.g. a fork or private build).
|
|
80
|
+
// Keep telemetry inert until the user supplies a project token explicitly.
|
|
84
81
|
function telemetryConfigured() {
|
|
85
82
|
const key = String(POSTHOG_PROJECT_API_KEY || "").trim();
|
|
86
|
-
return key.length > 0
|
|
83
|
+
return key.length > 0;
|
|
87
84
|
}
|
|
88
85
|
|
|
89
86
|
// Best-effort agent-harness label for the event (default when --agent-harness isn't passed).
|
|
@@ -213,7 +213,7 @@ PostHogSDK.shared.reset()
|
|
|
213
213
|
<EnvironmentVariables>
|
|
214
214
|
<EnvironmentVariable
|
|
215
215
|
key = "POSTHOG_PROJECT_TOKEN"
|
|
216
|
-
value = "
|
|
216
|
+
value = "YOUR_POSTHOG_PROJECT_TOKEN"
|
|
217
217
|
isEnabled = "YES">
|
|
218
218
|
</EnvironmentVariable>
|
|
219
219
|
<EnvironmentVariable
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vybekiit",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.13",
|
|
4
4
|
"description": "Choose your services, sign in, create a VybeKiit app, and open its verified local welcome page.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"tsup": "8.5.1",
|
|
33
33
|
"typescript": "5.7.2",
|
|
34
34
|
"vitest": "3.2.6",
|
|
35
|
-
"@vybekiit/agent-
|
|
36
|
-
"@vybekiit/core": "0.7.
|
|
37
|
-
"@vybekiit/
|
|
38
|
-
"@vybekiit/
|
|
39
|
-
"@vybekiit/
|
|
40
|
-
"@vybekiit/
|
|
41
|
-
"@vybekiit/
|
|
35
|
+
"@vybekiit/agent-mcp": "0.7.13",
|
|
36
|
+
"@vybekiit/core": "0.7.13",
|
|
37
|
+
"@vybekiit/db": "0.7.13",
|
|
38
|
+
"@vybekiit/agent-kit": "0.7.13",
|
|
39
|
+
"@vybekiit/payments": "0.7.13",
|
|
40
|
+
"@vybekiit/report-mode": "0.7.13",
|
|
41
|
+
"@vybekiit/deploy": "0.7.13"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsup && node scripts/bundleGlobalSkills.mjs",
|