@vibgrate/cli 2026.715.1 → 2026.718.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DOCS.md +1 -1
- package/README.md +26 -0
- package/dist/baseline-DKPQWOQ6.js +6 -0
- package/dist/{baseline-BTLZWSNS.js.map → baseline-DKPQWOQ6.js.map} +1 -1
- package/dist/{chunk-6DKWB2OI.js → chunk-BFXDF6ZE.js} +3 -3
- package/dist/{chunk-6DKWB2OI.js.map → chunk-BFXDF6ZE.js.map} +1 -1
- package/dist/{chunk-D4BPWARI.js → chunk-H5M7CXE6.js} +108 -35
- package/dist/chunk-H5M7CXE6.js.map +1 -0
- package/dist/{chunk-C5AVF7PT.js → chunk-RME7BFMU.js} +44 -12
- package/dist/chunk-RME7BFMU.js.map +1 -0
- package/dist/cli.js +1005 -176
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/baseline-BTLZWSNS.js +0 -6
- package/dist/chunk-C5AVF7PT.js.map +0 -1
- package/dist/chunk-D4BPWARI.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { hashString, langById, shortId, canonicalize, grammarSetVersion, hashBytes, langForExtension, setGrammarsOverride, parseSource } from './chunk-VFO5UDAT.js';
|
|
2
|
-
import { writeTextFile, pathExists, readJsonFile, loadConfig, computeUpgradeImpact, getChangelogSignals, gitHistoryAvailable, buildVersionTimelines, findPackageTimeline, severityRank, projectTypeToVulnEcosystem, VERSION } from './chunk-
|
|
2
|
+
import { writeTextFile, pathExists, readJsonFile, loadConfig, computeUpgradeImpact, getChangelogSignals, gitHistoryAvailable, buildVersionTimelines, findPackageTimeline, severityRank, projectTypeToVulnEcosystem, VERSION } from './chunk-RME7BFMU.js';
|
|
3
3
|
import * as fs19 from 'fs';
|
|
4
4
|
import { spawnSync, execFileSync } from 'child_process';
|
|
5
5
|
import * as path19 from 'path';
|
|
@@ -11,8 +11,9 @@ import betweenness from 'graphology-metrics/centrality/betweenness.js';
|
|
|
11
11
|
import eigenvector from 'graphology-metrics/centrality/eigenvector.js';
|
|
12
12
|
import louvain from 'graphology-communities-louvain';
|
|
13
13
|
import * as os from 'os';
|
|
14
|
-
import { fileURLToPath } from 'url';
|
|
14
|
+
import { pathToFileURL, fileURLToPath } from 'url';
|
|
15
15
|
import ts from 'typescript';
|
|
16
|
+
import { createRequire } from 'module';
|
|
16
17
|
import { bidirectional } from 'graphology-shortest-path/unweighted.js';
|
|
17
18
|
import * as crypto from 'crypto';
|
|
18
19
|
import { createHash } from 'crypto';
|
|
@@ -2678,7 +2679,7 @@ async function loadEmbedder(options = {}) {
|
|
|
2678
2679
|
options.onUnavailable?.(reason);
|
|
2679
2680
|
return null;
|
|
2680
2681
|
};
|
|
2681
|
-
const mod = await
|
|
2682
|
+
const mod = await importEmbedBackend();
|
|
2682
2683
|
if (!mod?.FlagEmbedding) return fail("not-installed");
|
|
2683
2684
|
const cache = modelCacheDir();
|
|
2684
2685
|
try {
|
|
@@ -2718,6 +2719,19 @@ async function loadEmbedder(options = {}) {
|
|
|
2718
2719
|
return fail(isPermissionError(e) ? "no-permission" : "download-failed");
|
|
2719
2720
|
}
|
|
2720
2721
|
}
|
|
2722
|
+
async function importEmbedBackend() {
|
|
2723
|
+
const hostDir = process.env.VIBGRATE_EMBEDDER_PATH;
|
|
2724
|
+
if (hostDir) {
|
|
2725
|
+
try {
|
|
2726
|
+
const req = createRequire(path19.join(hostDir, "package.json"));
|
|
2727
|
+
const mod = await import(pathToFileURL(req.resolve("fastembed")).href);
|
|
2728
|
+
const resolved = mod?.FlagEmbedding ? mod : mod?.default;
|
|
2729
|
+
if (resolved?.FlagEmbedding) return resolved;
|
|
2730
|
+
} catch {
|
|
2731
|
+
}
|
|
2732
|
+
}
|
|
2733
|
+
return await import('fastembed').catch(() => null);
|
|
2734
|
+
}
|
|
2721
2735
|
function embedInitTimeoutMs() {
|
|
2722
2736
|
const n = Number(process.env.VG_EMBED_TIMEOUT_MS);
|
|
2723
2737
|
return Number.isFinite(n) && n > 0 ? n : 6e4;
|
|
@@ -6582,11 +6596,14 @@ var TOOLS = [
|
|
|
6582
6596
|
},
|
|
6583
6597
|
{
|
|
6584
6598
|
name: "resolve_library",
|
|
6585
|
-
description: "Resolve a library to its canonical id and the version YOUR project uses (drift-annotated).",
|
|
6599
|
+
description: "Resolve a library to its canonical id and the version YOUR project uses (drift-annotated). Call once per library and reuse the returned targetId for every library_docs follow-up \u2014 never guess an id.",
|
|
6586
6600
|
// Canonical §4: `query` (+ optional `context_project`). `name` kept as a back-compat alias.
|
|
6587
6601
|
inputSchema: obj(
|
|
6588
6602
|
{
|
|
6589
|
-
query: {
|
|
6603
|
+
query: {
|
|
6604
|
+
type: "string",
|
|
6605
|
+
description: 'the package name as written in the dependency file. Good: "react-hook-form". Bad: "forms"'
|
|
6606
|
+
},
|
|
6590
6607
|
name: { type: "string" },
|
|
6591
6608
|
context_project: { type: "string" }
|
|
6592
6609
|
},
|
|
@@ -6631,17 +6648,22 @@ var TOOLS = [
|
|
|
6631
6648
|
},
|
|
6632
6649
|
{
|
|
6633
6650
|
name: "library_docs",
|
|
6634
|
-
description: "Version-correct usage docs for a library, sliced to a token budget.",
|
|
6651
|
+
description: "Version-correct usage docs for a library, sliced to a token budget \u2014 official content matched to the version this project has installed, not web-search results. Ask a focused question via query; one call usually answers. After 2 calls without the section you need, stop and read the package source under node_modules instead of searching again.",
|
|
6635
6652
|
// Canonical §4: `targetId`/`query`, `verbosity`, `max_tokens`. `name`/`tokens` kept as aliases.
|
|
6636
6653
|
inputSchema: obj(
|
|
6637
6654
|
{
|
|
6638
|
-
targetId: { type: "string", description: "id from resolve_library" },
|
|
6639
|
-
query: {
|
|
6655
|
+
targetId: { type: "string", description: "id from resolve_library (preferred over query)" },
|
|
6656
|
+
query: {
|
|
6657
|
+
type: "string",
|
|
6658
|
+
description: 'the library plus the specific need. Good: "zod refine custom error message". Bad: "zod" or "docs"'
|
|
6659
|
+
},
|
|
6640
6660
|
name: { type: "string" },
|
|
6641
6661
|
context_project: { type: "string" },
|
|
6642
6662
|
verbosity: { type: "string", enum: ["concise", "balanced", "exhaustive"] },
|
|
6643
|
-
|
|
6644
|
-
|
|
6663
|
+
// Tolerant on purpose: models often send budgets as strings — the
|
|
6664
|
+
// handler coerces, so don't fail validation over "4000" vs 4000.
|
|
6665
|
+
max_tokens: { type: ["number", "string"], description: "token budget (a numeric string is accepted)" },
|
|
6666
|
+
tokens: { type: ["number", "string"] },
|
|
6645
6667
|
enterprise_strict: { type: "boolean" },
|
|
6646
6668
|
follow_up: { type: "boolean" }
|
|
6647
6669
|
},
|
|
@@ -6867,7 +6889,7 @@ function createServer(source, opts = {}) {
|
|
|
6867
6889
|
// Routing guidance once at the server level (hosts that surface
|
|
6868
6890
|
// `instructions` get it at zero per-step schema cost): the flashlight
|
|
6869
6891
|
// vs the map.
|
|
6870
|
-
instructions: 'vg is a code map. Use search_symbols to find a known name or literal string fast \u2014 a multi-word/quoted phrase runs a complete literal sweep and reports totalTextMatches, so reach for it instead of grep even for plain-string "find every occurrence" lookups. Use orient/query_graph for meaning: symptoms, relationships, and what-breaks-if. Responses are concise by default; pass response_format:"detailed" only when a node proves load-bearing. Navigate as little as possible: one good search/query usually locates the code. As soon as you have the file and line, read that file and make the edit \u2014 do not call further graph tools unless the edit fails or the match was wrong.'
|
|
6892
|
+
instructions: 'vg is a code map. Use search_symbols to find a known name or literal string fast \u2014 a multi-word/quoted phrase runs a complete literal sweep and reports totalTextMatches, so reach for it instead of grep even for plain-string "find every occurrence" lookups. Use orient/query_graph for meaning: symptoms, relationships, and what-breaks-if. Responses are concise by default; pass response_format:"detailed" only when a node proves load-bearing. Navigate as little as possible: one good search/query usually locates the code. As soon as you have the file and line, read that file and make the edit \u2014 do not call further graph tools unless the edit fails or the match was wrong. For how-do-I-use-this-library questions call resolve_library once, then library_docs with the returned targetId and a focused query: the docs are official and matched to the version THIS project has installed (drift-annotated) \u2014 prefer them over web search or training-data recall when they conflict. Skip them for language built-ins or APIs already shown in context. If two library_docs calls have not surfaced the section you need, read the package source under node_modules instead of searching again.'
|
|
6871
6893
|
}
|
|
6872
6894
|
);
|
|
6873
6895
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
@@ -7029,6 +7051,21 @@ tools improved):
|
|
|
7029
7051
|
- **Version-correct docs:** \`vg lib <name>\` returns drift-annotated, version-
|
|
7030
7052
|
specific usage docs for a library \u2014 inject these instead of guessing an API.
|
|
7031
7053
|
|
|
7054
|
+
### Library-docs discipline
|
|
7055
|
+
|
|
7056
|
+
When a task needs a library's API, use the docs tools before web search or
|
|
7057
|
+
training-data recall \u2014 they are official content matched to the version **this
|
|
7058
|
+
project has installed**, and they win when the two conflict.
|
|
7059
|
+
|
|
7060
|
+
- **Workflow:** \`resolve_library\` once per library, then \`library_docs\` with the
|
|
7061
|
+
returned \`targetId\` and a focused query (good: "zod refine custom error
|
|
7062
|
+
message"; bad: "zod"). Never guess a targetId.
|
|
7063
|
+
- **Budget:** at most **3 docs calls per task**. If 2 \`library_docs\` calls have
|
|
7064
|
+
not surfaced the section you need, read the package source under
|
|
7065
|
+
\`node_modules\` instead of searching again.
|
|
7066
|
+
- **Skip the docs tools** for language built-ins, stable well-known syntax, or
|
|
7067
|
+
an API already shown in the current context \u2014 they add nothing there.
|
|
7068
|
+
|
|
7032
7069
|
## Keep it fresh
|
|
7033
7070
|
|
|
7034
7071
|
The map keeps itself fresh: \`vg ask\` and the MCP tools detect changed files
|
|
@@ -7078,60 +7115,96 @@ var ASSISTANTS = [
|
|
|
7078
7115
|
label: "Claude Code",
|
|
7079
7116
|
skill: ".claude/skills/vg/SKILL.md",
|
|
7080
7117
|
mcp: { file: ".mcp.json", key: "mcpServers" },
|
|
7081
|
-
nudge: { file: "CLAUDE.md", kind: "block" }
|
|
7118
|
+
nudge: { file: "CLAUDE.md", kind: "block" },
|
|
7119
|
+
markers: ["CLAUDE.md", ".claude"],
|
|
7120
|
+
homeMarkers: [".claude", ".claude.json"],
|
|
7121
|
+
bin: ["claude"]
|
|
7082
7122
|
},
|
|
7083
7123
|
{
|
|
7084
7124
|
id: "cursor",
|
|
7085
7125
|
label: "Cursor",
|
|
7086
7126
|
mcp: { file: ".cursor/mcp.json", key: "mcpServers" },
|
|
7087
|
-
nudge: { file: ".cursor/rules/vg.mdc", kind: "file" }
|
|
7127
|
+
nudge: { file: ".cursor/rules/vg.mdc", kind: "file" },
|
|
7128
|
+
markers: [".cursor", ".cursorrules"],
|
|
7129
|
+
homeMarkers: [".cursor"],
|
|
7130
|
+
bin: ["cursor-agent"]
|
|
7088
7131
|
},
|
|
7089
7132
|
{
|
|
7090
7133
|
id: "windsurf",
|
|
7091
7134
|
label: "Windsurf",
|
|
7092
7135
|
mcp: { file: ".windsurf/mcp.json", key: "mcpServers" },
|
|
7093
|
-
nudge: { file: ".windsurf/rules/vg.md", kind: "file" }
|
|
7136
|
+
nudge: { file: ".windsurf/rules/vg.md", kind: "file" },
|
|
7137
|
+
markers: [".windsurf", ".windsurfrules"],
|
|
7138
|
+
homeMarkers: [".codeium/windsurf"]
|
|
7094
7139
|
},
|
|
7095
7140
|
{
|
|
7096
7141
|
id: "vscode",
|
|
7097
7142
|
label: "VS Code (Copilot Chat)",
|
|
7098
7143
|
mcp: { file: ".vscode/mcp.json", key: "servers", vscode: true },
|
|
7099
|
-
nudge: { file: ".github/copilot-instructions.md", kind: "block" }
|
|
7144
|
+
nudge: { file: ".github/copilot-instructions.md", kind: "block" },
|
|
7145
|
+
markers: [".github/copilot-instructions.md"]
|
|
7100
7146
|
},
|
|
7101
7147
|
{
|
|
7102
7148
|
id: "codex",
|
|
7103
7149
|
label: "Codex",
|
|
7104
7150
|
skill: ".codex/skills/vg/SKILL.md",
|
|
7105
|
-
nudge: { file: "AGENTS.md", kind: "block" }
|
|
7151
|
+
nudge: { file: "AGENTS.md", kind: "block" },
|
|
7152
|
+
markers: [".codex"],
|
|
7153
|
+
homeMarkers: [".codex"],
|
|
7154
|
+
bin: ["codex"]
|
|
7106
7155
|
},
|
|
7107
7156
|
{
|
|
7108
7157
|
id: "gemini",
|
|
7109
7158
|
label: "Gemini CLI",
|
|
7110
7159
|
skill: ".gemini/skills/vg/SKILL.md",
|
|
7111
|
-
nudge: { file: "GEMINI.md", kind: "block" }
|
|
7160
|
+
nudge: { file: "GEMINI.md", kind: "block" },
|
|
7161
|
+
markers: ["GEMINI.md", ".gemini"],
|
|
7162
|
+
homeMarkers: [".gemini"],
|
|
7163
|
+
bin: ["gemini"]
|
|
7112
7164
|
},
|
|
7113
7165
|
// Skill + advisory AGENTS.md nudge (the broad-reach common denominator). MCP
|
|
7114
7166
|
// registration for these hosts is host-specific and added as their formats
|
|
7115
7167
|
// stabilise; the skill + nudge work today.
|
|
7116
|
-
{ id: "
|
|
7117
|
-
{ id: "
|
|
7118
|
-
{ id: "
|
|
7119
|
-
{ id: "
|
|
7120
|
-
{ id: "
|
|
7121
|
-
{ id: "
|
|
7122
|
-
{ id: "
|
|
7123
|
-
{ id: "
|
|
7124
|
-
{ id: "
|
|
7125
|
-
{ id: "
|
|
7126
|
-
{ id: "
|
|
7127
|
-
{ id: "
|
|
7128
|
-
{ id: "
|
|
7129
|
-
{ id: "
|
|
7130
|
-
{ id: "
|
|
7168
|
+
{ id: "grok", label: "Grok CLI", skill: ".grok/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".grok", "GROK.md"], homeMarkers: [".grok"], bin: ["grok"] },
|
|
7169
|
+
{ id: "opencode", label: "OpenCode", skill: ".opencode/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".opencode", "opencode.json"], homeMarkers: [".config/opencode"], bin: ["opencode"] },
|
|
7170
|
+
{ id: "kilo", label: "Kilo Code", skill: ".kilo/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".kilo", ".kilocode"], homeMarkers: [".kilocode"] },
|
|
7171
|
+
{ id: "aider", label: "Aider", skill: ".aider/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".aider", ".aider.conf.yml"], homeMarkers: [".aider.conf.yml"], bin: ["aider"] },
|
|
7172
|
+
{ id: "factory", label: "Factory Droid", skill: ".factory/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".factory"], homeMarkers: [".factory"], bin: ["droid"] },
|
|
7173
|
+
{ id: "trae", label: "Trae", skill: ".trae/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".trae"], homeMarkers: [".trae"] },
|
|
7174
|
+
{ id: "kiro", label: "Kiro", skill: ".kiro/skills/vg/SKILL.md", nudge: { file: ".kiro/steering/vg.md", kind: "file" }, markers: [".kiro"], homeMarkers: [".kiro"] },
|
|
7175
|
+
{ id: "amp", label: "Amp", skill: ".agents/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, homeMarkers: [".config/amp"], bin: ["amp"] },
|
|
7176
|
+
{ id: "kimi", label: "Kimi Code", skill: ".kimi/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".kimi"], homeMarkers: [".kimi"] },
|
|
7177
|
+
{ id: "codebuddy", label: "CodeBuddy", skill: ".codebuddy/skills/vg/SKILL.md", nudge: { file: "CODEBUDDY.md", kind: "block" }, markers: ["CODEBUDDY.md", ".codebuddy"], homeMarkers: [".codebuddy"] },
|
|
7178
|
+
{ id: "copilot-cli", label: "GitHub Copilot CLI", skill: ".copilot/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".copilot"], homeMarkers: [".copilot"], bin: ["copilot"] },
|
|
7179
|
+
{ id: "pi", label: "Pi", skill: ".pi/agent/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".pi"], homeMarkers: [".pi"] },
|
|
7180
|
+
{ id: "devin", label: "Devin CLI", skill: ".devin/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".devin"], homeMarkers: [".devin"] },
|
|
7181
|
+
{ id: "hermes", label: "Hermes", skill: ".hermes/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".hermes"], homeMarkers: [".hermes"] },
|
|
7182
|
+
{ id: "openclaw", label: "OpenClaw", skill: ".openclaw/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: [".openclaw"], homeMarkers: [".openclaw"], bin: ["openclaw"] },
|
|
7183
|
+
{ id: "agents", label: "Agent-Skills (generic)", skill: ".agents/skills/vg/SKILL.md", nudge: { file: "AGENTS.md", kind: "block" }, markers: ["AGENTS.md", ".agents"] }
|
|
7131
7184
|
];
|
|
7132
7185
|
function assistantById(id) {
|
|
7133
7186
|
return ASSISTANTS.find((a) => a.id === id);
|
|
7134
7187
|
}
|
|
7188
|
+
function detectAssistants(root, opts = {}) {
|
|
7189
|
+
const home = opts.home ?? os.homedir();
|
|
7190
|
+
const which = opts.which ?? whichOnPath;
|
|
7191
|
+
const found = [];
|
|
7192
|
+
for (const assistant of ASSISTANTS) {
|
|
7193
|
+
const repoHit = (assistant.markers ?? []).find((m) => fs19.existsSync(path19.join(root, m)));
|
|
7194
|
+
if (repoHit) {
|
|
7195
|
+
found.push({ assistant, via: "repo", marker: repoHit });
|
|
7196
|
+
continue;
|
|
7197
|
+
}
|
|
7198
|
+
const homeHit = (assistant.homeMarkers ?? []).find((m) => fs19.existsSync(path19.join(home, m)));
|
|
7199
|
+
if (homeHit) {
|
|
7200
|
+
found.push({ assistant, via: "home", marker: homeHit });
|
|
7201
|
+
continue;
|
|
7202
|
+
}
|
|
7203
|
+
const binHit = (assistant.bin ?? []).find((b) => which(b) !== null);
|
|
7204
|
+
if (binHit) found.push({ assistant, via: "path", marker: binHit });
|
|
7205
|
+
}
|
|
7206
|
+
return found;
|
|
7207
|
+
}
|
|
7135
7208
|
function detectServeLaunch(which = whichOnPath) {
|
|
7136
7209
|
const vg = which("vg");
|
|
7137
7210
|
if (vg && isInstalledOwnBinary(vg)) return { command: "vg", args: ["serve"] };
|
|
@@ -7491,6 +7564,6 @@ function spdx(ctx) {
|
|
|
7491
7564
|
return JSON.stringify(doc, null, 2) + "\n";
|
|
7492
7565
|
}
|
|
7493
7566
|
|
|
7494
|
-
export { ASSISTANTS, CLI_TOOL_ALIASES, CliError, ECOSYSTEMS, ExitCode, FREE_PACK, GraphIndex, GraphSource, NPX_INVOCATION, ResourceLimitError, SCHEMA_VERSION, SKIP_DIRS, SKIP_FILES, TOOLS, UsageError, addLibrary, analyze, applyCoverage, applyStaticTestLinkage, assessDocQuality, assistantById, availableRegionIds, buildFacts, buildGraph, buildModuleResolver, cacheDir, catalogPath, clearModelCache, clearStoredCredentials, cosine, countPending, countTokens, coveringTests, createServer, createWorkspaceDsn, credentialsPath, dashHostForIngestHost, decodeScipIndex, defaultGraphPath, detectRunner, detectServeLaunch, discover, discoverModels, driftCount, driftFor, dsnCommand, embeddingsCached, enrichOnline, ensureGitignored, epistemicBreakdown, exportGraph, fetchHostedDocsCached, findGitRoot, findNodes, formatForExt, getNodeEmbeddings, gitignoreEntryForCredentials, groundGraph, hasDrift, identifierParts, impactOf, indexFor, ingestHostForRegionId, installAssistant, inventory, isModelReady, isTestFile, libDir, libId, loadCatalog, loadCoverage, loadEmbedder, loadGraph, loadSnapshot, localApiSurface, localPackageDocs, modelCacheInfo, nodeById, nodeEmbedText, parseDsn, parseGraph, parseJsonc, probeFreshness, publishPrivateLibrary, pushCommand, queryGraph, queryGraphSemantic, readDoc, readSavings, readScanArtifact, readUsage, recordCliCall, recordSaving, refreshIfStale, relativeResolver, renderHtml, renderReport, resolveCliInvocation, resolveDsn, resolveEmbedModel, resolveIngestHost, resolveLib, resolveLimits, resolveOne, resolveVersion, saveCatalog, savingsRecorded, scipEdges, selectForBudget, serializeGraph, serveStdio, shortestPath, stableStringify, symbolsFromApi, testsToRun, unavailableMessage, uninstallAssistant, uploadScanArtifact, usageError, verifyDeterminism, vibgrateDir, writeArtifacts, writeNavigationConfig, writeSnapshot, writeStoredCredentials };
|
|
7495
|
-
//# sourceMappingURL=chunk-
|
|
7496
|
-
//# sourceMappingURL=chunk-
|
|
7567
|
+
export { ASSISTANTS, CLI_TOOL_ALIASES, CliError, ECOSYSTEMS, ExitCode, FREE_PACK, GraphIndex, GraphSource, NPX_INVOCATION, ResourceLimitError, SCHEMA_VERSION, SKIP_DIRS, SKIP_FILES, TOOLS, UsageError, addLibrary, analyze, applyCoverage, applyStaticTestLinkage, assessDocQuality, assistantById, availableRegionIds, buildFacts, buildGraph, buildModuleResolver, cacheDir, catalogPath, clearModelCache, clearStoredCredentials, cosine, countPending, countTokens, coveringTests, createServer, createWorkspaceDsn, credentialsPath, dashHostForIngestHost, decodeScipIndex, defaultGraphPath, detectAssistants, detectRunner, detectServeLaunch, discover, discoverModels, driftCount, driftFor, dsnCommand, embeddingsCached, enrichOnline, ensureGitignored, epistemicBreakdown, exportGraph, fetchHostedDocsCached, findGitRoot, findNodes, formatForExt, getNodeEmbeddings, gitignoreEntryForCredentials, groundGraph, hasDrift, homeCredentialsPath, hostedBase, identifierParts, impactOf, indexFor, ingestHostForRegionId, installAssistant, inventory, isModelReady, isTestFile, libDir, libId, loadCatalog, loadCoverage, loadEmbedder, loadGraph, loadSnapshot, localApiSurface, localPackageDocs, modelCacheInfo, nodeById, nodeEmbedText, parseDsn, parseGraph, parseJsonc, probeFreshness, projectCredentialsPath, publishPrivateLibrary, pushCommand, queryGraph, queryGraphSemantic, readDoc, readSavings, readScanArtifact, readStoredCredentials, readUsage, recordCliCall, recordSaving, refreshIfStale, relativeResolver, renderHtml, renderReport, resolveCliInvocation, resolveDsn, resolveEmbedModel, resolveIngestHost, resolveLib, resolveLimits, resolveOne, resolveVersion, saveCatalog, savingsRecorded, scipEdges, selectForBudget, serializeGraph, serveStdio, shortestPath, stableStringify, symbolsFromApi, testsToRun, unavailableMessage, uninstallAssistant, uploadScanArtifact, usageError, verifyDeterminism, vibgrateDir, writeArtifacts, writeNavigationConfig, writeSnapshot, writeStoredCredentials };
|
|
7568
|
+
//# sourceMappingURL=chunk-H5M7CXE6.js.map
|
|
7569
|
+
//# sourceMappingURL=chunk-H5M7CXE6.js.map
|