@flaid/devmap 0.2.0 → 0.3.1
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 +16 -6
- package/dist/ai/custom.d.ts +20 -0
- package/dist/ai/custom.d.ts.map +1 -0
- package/dist/ai/custom.js +142 -0
- package/dist/ai/custom.js.map +1 -0
- package/dist/ai/groq.d.ts.map +1 -1
- package/dist/ai/groq.js +14 -94
- package/dist/ai/groq.js.map +1 -1
- package/dist/ai/openaiCompatibleStream.d.ts +48 -0
- package/dist/ai/openaiCompatibleStream.d.ts.map +1 -0
- package/dist/ai/openaiCompatibleStream.js +94 -0
- package/dist/ai/openaiCompatibleStream.js.map +1 -0
- package/dist/ai/openrouter.d.ts.map +1 -1
- package/dist/ai/openrouter.js +22 -90
- package/dist/ai/openrouter.js.map +1 -1
- package/dist/ai/provider.d.ts +1 -1
- package/dist/ai/provider.d.ts.map +1 -1
- package/dist/ai/provider.js +18 -16
- package/dist/ai/provider.js.map +1 -1
- package/dist/ai/registry.d.ts +24 -0
- package/dist/ai/registry.d.ts.map +1 -0
- package/dist/ai/registry.js +47 -0
- package/dist/ai/registry.js.map +1 -0
- package/dist/analyzers/graph/entryPoints.d.ts.map +1 -1
- package/dist/analyzers/graph/entryPoints.js +16 -1
- package/dist/analyzers/graph/entryPoints.js.map +1 -1
- package/dist/analyzers/registry/background-jobs.js +1 -1
- package/dist/analyzers/registry/background-jobs.js.map +1 -1
- package/dist/analyzers/registry/caching.js +1 -1
- package/dist/analyzers/registry/caching.js.map +1 -1
- package/dist/analyzers/registry/file-upload.js +1 -1
- package/dist/analyzers/registry/file-upload.js.map +1 -1
- package/dist/analyzers/registry/payments.js +1 -1
- package/dist/analyzers/registry/payments.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +14 -6
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +3 -3
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +81 -47
- package/dist/commands/init.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/utils/config.d.ts +3 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +13 -1
- package/dist/utils/config.js.map +1 -1
- package/package.json +11 -10
package/dist/commands/init.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { mkdir } from "node:fs/promises";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
-
import {
|
|
4
|
-
import { OPENROUTER_FREE_MODEL, validateOpenRouterApiKey } from "../ai/openrouter.js";
|
|
5
|
-
import { providerDisplayName } from "../ai/provider.js";
|
|
3
|
+
import { PROVIDERS } from "../ai/registry.js";
|
|
6
4
|
import { readConfig, writeConfig } from "../utils/config.js";
|
|
7
5
|
import { ensureAgentsFile, inspectAgentsFile } from "../utils/agentsFile.js";
|
|
8
6
|
import { ensureDevmapFile } from "../utils/devmapFile.js";
|
|
@@ -36,16 +34,29 @@ async function runInit(dependencies) {
|
|
|
36
34
|
output.section("DevMap Init");
|
|
37
35
|
try {
|
|
38
36
|
const provider = await resolveProvider(prompt, interactive, existingConfig);
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
37
|
+
const descriptor = PROVIDERS[provider];
|
|
38
|
+
const providerName = descriptor.displayName;
|
|
39
|
+
const baseUrl = await resolveBaseUrl({
|
|
40
|
+
descriptor,
|
|
41
|
+
prompt,
|
|
42
|
+
interactive,
|
|
43
|
+
existingBaseUrl: existingConfig?.provider === provider
|
|
44
|
+
? existingConfig.baseUrl
|
|
45
|
+
: undefined
|
|
46
|
+
});
|
|
47
|
+
let environmentApiKey = dependencies.environmentApiKey;
|
|
48
|
+
if (!environmentApiKey) {
|
|
49
|
+
environmentApiKey = descriptor.envVarName === "OPENROUTER_API_KEY"
|
|
42
50
|
? dependencies.environmentOpenRouterApiKey ?? process.env.OPENROUTER_API_KEY
|
|
43
|
-
: process.env.
|
|
51
|
+
: process.env[descriptor.envVarName];
|
|
52
|
+
}
|
|
44
53
|
const validateApiKey = dependencies.validateApiKey
|
|
45
|
-
?? ((key, selectedProvider) => (selectedProvider
|
|
46
|
-
|
|
47
|
-
: validateGroqApiKey(key)));
|
|
54
|
+
?? ((key, selectedProvider, selectedBaseUrl) => (PROVIDERS[selectedProvider].inspect(key, undefined, selectedBaseUrl)
|
|
55
|
+
.then(() => undefined)));
|
|
48
56
|
output.keyValue("Provider", providerName);
|
|
57
|
+
if (baseUrl) {
|
|
58
|
+
output.keyValue("Base URL", baseUrl);
|
|
59
|
+
}
|
|
49
60
|
const apiKey = await resolveApiKey({
|
|
50
61
|
prompt,
|
|
51
62
|
interactive,
|
|
@@ -56,15 +67,16 @@ async function runInit(dependencies) {
|
|
|
56
67
|
provider
|
|
57
68
|
});
|
|
58
69
|
output.step(`Validating ${providerName} API key`);
|
|
59
|
-
await validateApiKey(apiKey, provider);
|
|
70
|
+
await validateApiKey(apiKey, provider, baseUrl);
|
|
60
71
|
output.success(`${providerName} API key is valid`);
|
|
61
72
|
const model = await resolveInitialModel({
|
|
62
73
|
provider,
|
|
74
|
+
baseUrl,
|
|
63
75
|
apiKey,
|
|
64
76
|
prompt,
|
|
65
77
|
interactive,
|
|
66
78
|
existingConfig,
|
|
67
|
-
listModels: dependencies.
|
|
79
|
+
listModels: dependencies.listModels
|
|
68
80
|
});
|
|
69
81
|
const agentsStatus = await inspectAgentsFile(projectRoot);
|
|
70
82
|
const appendToExistingAgents = agentsStatus === "existing"
|
|
@@ -76,18 +88,15 @@ async function runInit(dependencies) {
|
|
|
76
88
|
await persistConfig({
|
|
77
89
|
provider,
|
|
78
90
|
apiKey,
|
|
79
|
-
model
|
|
91
|
+
model,
|
|
92
|
+
...(baseUrl ? { baseUrl } : {})
|
|
80
93
|
});
|
|
81
94
|
const ignored = await ensureDevmapIgnored(projectRoot);
|
|
82
95
|
const devmapFileCreated = await ensureDevmapFile(projectRoot);
|
|
83
96
|
const agentsResult = await ensureAgentsFile(projectRoot, appendToExistingAgents);
|
|
84
97
|
output.success("Config saved to ~/.devmap/config.json");
|
|
85
|
-
if (
|
|
86
|
-
output.note(
|
|
87
|
-
output.note("Change it later with: devmap config model <model-id>");
|
|
88
|
-
}
|
|
89
|
-
else if (model !== "auto") {
|
|
90
|
-
output.note(`Groq model: ${model}`);
|
|
98
|
+
if (model !== "auto") {
|
|
99
|
+
output.note(`${providerName} model: ${model}`);
|
|
91
100
|
output.note("Change it later with: devmap config model <model-id>");
|
|
92
101
|
}
|
|
93
102
|
output.success(ignored ? "Added .devmap/ to .gitignore" : ".devmap/ already ignored");
|
|
@@ -132,25 +141,47 @@ async function resolveApiKey(options) {
|
|
|
132
141
|
if (options.environmentApiKey?.trim()) {
|
|
133
142
|
return options.environmentApiKey.trim();
|
|
134
143
|
}
|
|
144
|
+
const descriptor = PROVIDERS[options.provider];
|
|
145
|
+
const providerName = descriptor.displayName;
|
|
135
146
|
if (!options.interactive || !options.prompt) {
|
|
136
147
|
if (options.existingApiKey?.trim()) {
|
|
137
148
|
return options.existingApiKey.trim();
|
|
138
149
|
}
|
|
139
|
-
throw new DevmapError(`An ${
|
|
150
|
+
throw new DevmapError(`An ${providerName} API key is required to initialize DevMap.`, `Run devmap init in an interactive terminal or set ${descriptor.envVarName}.`);
|
|
140
151
|
}
|
|
141
|
-
const providerName = providerDisplayName(options.provider);
|
|
142
152
|
const keyPrompt = options.existingApiKey
|
|
143
153
|
? `${providerName} API key [press Enter to keep existing]: `
|
|
144
154
|
: `${providerName} API key: `;
|
|
145
155
|
const answer = (await options.prompt.ask(keyPrompt)).trim();
|
|
146
156
|
const apiKey = answer || options.existingApiKey?.trim();
|
|
147
157
|
if (!apiKey) {
|
|
148
|
-
throw new DevmapError(`An ${providerName} API key is required.`,
|
|
149
|
-
?
|
|
150
|
-
:
|
|
158
|
+
throw new DevmapError(`An ${providerName} API key is required.`, descriptor.apiKeyHintUrl
|
|
159
|
+
? `Create one at ${descriptor.apiKeyHintUrl}.`
|
|
160
|
+
: `Set ${descriptor.envVarName} or create a key in your endpoint's console.`);
|
|
151
161
|
}
|
|
152
162
|
return apiKey;
|
|
153
163
|
}
|
|
164
|
+
async function resolveBaseUrl(options) {
|
|
165
|
+
const { descriptor } = options;
|
|
166
|
+
if (!descriptor.requiresBaseUrl) {
|
|
167
|
+
return undefined;
|
|
168
|
+
}
|
|
169
|
+
const prefill = options.existingBaseUrl?.trim()
|
|
170
|
+
|| descriptor.defaultBaseUrl
|
|
171
|
+
|| "";
|
|
172
|
+
if (!options.interactive || !options.prompt) {
|
|
173
|
+
if (prefill) {
|
|
174
|
+
return prefill;
|
|
175
|
+
}
|
|
176
|
+
throw new DevmapError(`A base URL is required for ${descriptor.displayName}.`, "Run devmap init in an interactive terminal.");
|
|
177
|
+
}
|
|
178
|
+
const answer = (await options.prompt.ask(`Endpoint base URL [${prefill}]: `)).trim();
|
|
179
|
+
const baseUrl = answer || prefill;
|
|
180
|
+
if (!baseUrl) {
|
|
181
|
+
throw new DevmapError(`A base URL is required for ${descriptor.displayName}.`, "Enter the root URL of your OpenAI-compatible endpoint, e.g. http://localhost:20128/v1.");
|
|
182
|
+
}
|
|
183
|
+
return baseUrl;
|
|
184
|
+
}
|
|
154
185
|
async function resolveProvider(prompt, interactive, existingConfig) {
|
|
155
186
|
if (!interactive || !prompt) {
|
|
156
187
|
if (existingConfig)
|
|
@@ -159,39 +190,42 @@ async function resolveProvider(prompt, interactive, existingConfig) {
|
|
|
159
190
|
? "openrouter"
|
|
160
191
|
: "groq";
|
|
161
192
|
}
|
|
162
|
-
return prompt.select("AI provider",
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
193
|
+
return prompt.select("AI provider", Object.values(PROVIDERS).map((descriptor) => ({
|
|
194
|
+
label: descriptor.displayName,
|
|
195
|
+
value: descriptor.id
|
|
196
|
+
})), existingConfig?.provider ?? "groq");
|
|
166
197
|
}
|
|
167
198
|
async function resolveInitialModel(options) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
199
|
+
const descriptor = PROVIDERS[options.provider];
|
|
200
|
+
const existingModel = options.existingConfig?.provider === options.provider
|
|
201
|
+
? options.existingConfig.model
|
|
202
|
+
: undefined;
|
|
203
|
+
if (!options.interactive || !options.prompt) {
|
|
204
|
+
if (!descriptor.supportsAutoModel && (!existingModel || existingModel === "auto")) {
|
|
205
|
+
throw new DevmapError(`${descriptor.displayName} requires an explicit model.`, "Run devmap init in an interactive terminal, or set one first with: devmap config model <model-id>");
|
|
206
|
+
}
|
|
207
|
+
return existingModel ?? "auto";
|
|
208
|
+
}
|
|
209
|
+
const fetchModels = descriptor.listModels
|
|
210
|
+
? async (apiKey, baseUrl) => (options.listModels
|
|
211
|
+
? options.listModels(apiKey, baseUrl)
|
|
212
|
+
: descriptor.listModels(apiKey, baseUrl))
|
|
213
|
+
: undefined;
|
|
214
|
+
if (fetchModels) {
|
|
215
|
+
const models = await fetchModels(options.apiKey, options.baseUrl);
|
|
175
216
|
if (models.length === 0) {
|
|
176
|
-
throw new DevmapError(
|
|
217
|
+
throw new DevmapError(`${descriptor.displayName} did not return any available models.`, "Try again shortly or run devmap doctor.");
|
|
177
218
|
}
|
|
178
219
|
const defaultModel = existingModel && models.includes(existingModel)
|
|
179
220
|
? existingModel
|
|
180
221
|
: models[0];
|
|
181
|
-
return options.prompt.select(
|
|
222
|
+
return options.prompt.select(`${descriptor.displayName} model`, models.map((model) => ({ label: model, value: model })), defaultModel);
|
|
182
223
|
}
|
|
183
|
-
const
|
|
184
|
-
? options.existingConfig.model
|
|
185
|
-
: undefined;
|
|
224
|
+
const fallbackDefault = descriptor.defaultModel ?? "auto";
|
|
186
225
|
const defaultModel = existingModel && existingModel !== "auto"
|
|
187
226
|
? existingModel
|
|
188
|
-
:
|
|
189
|
-
|
|
190
|
-
return defaultModel;
|
|
191
|
-
const answer = await options.prompt.ask(`OpenRouter model [${defaultModel}]: `);
|
|
227
|
+
: fallbackDefault;
|
|
228
|
+
const answer = await options.prompt.ask(`${descriptor.displayName} model [${defaultModel}]: `);
|
|
192
229
|
return answer.trim() || defaultModel;
|
|
193
230
|
}
|
|
194
|
-
function readProviderEnvName(provider) {
|
|
195
|
-
return provider === "openrouter" ? "OPENROUTER_API_KEY" : "GROQ_API_KEY";
|
|
196
|
-
}
|
|
197
231
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
export type DevmapProvider = "groq" | "openrouter" | "custom";
|
|
1
2
|
export type DevmapConfig = {
|
|
2
|
-
provider:
|
|
3
|
+
provider: DevmapProvider;
|
|
3
4
|
apiKey?: string;
|
|
4
5
|
model: "auto" | string;
|
|
6
|
+
baseUrl?: string;
|
|
5
7
|
};
|
|
6
8
|
export type LocalDevmapConfig = {
|
|
7
9
|
model?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAQ/D;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAIrE;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAuBnC;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACxE,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAM9B"}
|
package/dist/utils/config.js
CHANGED
|
@@ -67,7 +67,7 @@ function normalizeConfig(value) {
|
|
|
67
67
|
const model = record.model === undefined
|
|
68
68
|
? "auto"
|
|
69
69
|
: record.model;
|
|
70
|
-
if (provider !== "groq" && provider !== "openrouter") {
|
|
70
|
+
if (provider !== "groq" && provider !== "openrouter" && provider !== "custom") {
|
|
71
71
|
return null;
|
|
72
72
|
}
|
|
73
73
|
if (typeof model !== "string") {
|
|
@@ -83,6 +83,18 @@ function normalizeConfig(value) {
|
|
|
83
83
|
}
|
|
84
84
|
config.apiKey = record.apiKey;
|
|
85
85
|
}
|
|
86
|
+
if (provider === "custom") {
|
|
87
|
+
if (typeof record.baseUrl !== "string" || record.baseUrl.trim().length === 0) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
config.baseUrl = record.baseUrl.trim();
|
|
91
|
+
}
|
|
92
|
+
else if (typeof record.baseUrl === "string") {
|
|
93
|
+
if (record.baseUrl.trim().length === 0) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
config.baseUrl = record.baseUrl.trim();
|
|
97
|
+
}
|
|
86
98
|
return config;
|
|
87
99
|
}
|
|
88
100
|
//# sourceMappingURL=config.js.map
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flaid/devmap",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.3.1",
|
|
4
|
+
"description": "CLI that maps codebases into a persistent, reusable context layer for humans and AI agents.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"devmap": "./dist/index.js"
|
|
7
7
|
},
|
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
"engines": {
|
|
14
14
|
"node": ">=22.12"
|
|
15
15
|
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"dev": "tsx src/index.ts",
|
|
18
|
+
"build": "node -e \"fs.rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.json",
|
|
19
|
+
"prepack": "npm run build",
|
|
20
|
+
"test": "pnpm run test:unit && pnpm run test:types",
|
|
21
|
+
"test:unit": "tsx test/run-tests.ts",
|
|
22
|
+
"test:types": "tsc -p tsconfig.json --noEmit"
|
|
23
|
+
},
|
|
16
24
|
"keywords": [
|
|
17
25
|
"devmap",
|
|
18
26
|
"ai",
|
|
@@ -50,12 +58,5 @@
|
|
|
50
58
|
"@types/node": "^22.0.0",
|
|
51
59
|
"tsx": "^4.22.3",
|
|
52
60
|
"typescript": "^6.0.3"
|
|
53
|
-
},
|
|
54
|
-
"scripts": {
|
|
55
|
-
"dev": "tsx src/index.ts",
|
|
56
|
-
"build": "node -e \"fs.rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.json",
|
|
57
|
-
"test": "pnpm run test:unit && pnpm run test:types",
|
|
58
|
-
"test:unit": "tsx test/run-tests.ts",
|
|
59
|
-
"test:types": "tsc -p tsconfig.json --noEmit"
|
|
60
61
|
}
|
|
61
|
-
}
|
|
62
|
+
}
|