@aligndottech/cli 0.47.1 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -18
- package/dist/cli.js.map +1 -1
- package/dist/commands/agents.d.ts +20 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +62 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/ai.d.ts +11 -0
- package/dist/commands/ai.d.ts.map +1 -0
- package/dist/commands/ai.js +121 -0
- package/dist/commands/ai.js.map +1 -0
- package/dist/commands/default-action.js +2 -2
- package/dist/commands/default-action.js.map +1 -1
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +7 -0
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +53 -191
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/use.js +1 -1
- package/dist/commands/use.js.map +1 -1
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/commands/why.js +21 -0
- package/dist/commands/why.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/ask-key-offer.d.ts +38 -0
- package/dist/lib/ask-key-offer.d.ts.map +1 -0
- package/dist/lib/ask-key-offer.js +130 -0
- package/dist/lib/ask-key-offer.js.map +1 -0
- package/dist/lib/config.d.ts +25 -24
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +37 -45
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/launch/adapters/amp.d.ts +18 -0
- package/dist/lib/launch/adapters/amp.d.ts.map +1 -0
- package/dist/lib/launch/adapters/amp.js +29 -0
- package/dist/lib/launch/adapters/amp.js.map +1 -0
- package/dist/lib/launch/adapters/claude-code.d.ts +8 -0
- package/dist/lib/launch/adapters/claude-code.d.ts.map +1 -1
- package/dist/lib/launch/adapters/claude-code.js.map +1 -1
- package/dist/lib/launch/adapters/codex.d.ts +17 -0
- package/dist/lib/launch/adapters/codex.d.ts.map +1 -0
- package/dist/lib/launch/adapters/codex.js +44 -0
- package/dist/lib/launch/adapters/codex.js.map +1 -0
- package/dist/lib/launch/adapters/copilot.d.ts +17 -0
- package/dist/lib/launch/adapters/copilot.d.ts.map +1 -0
- package/dist/lib/launch/adapters/copilot.js +29 -0
- package/dist/lib/launch/adapters/copilot.js.map +1 -0
- package/dist/lib/launch/adapters/droid.d.ts +19 -0
- package/dist/lib/launch/adapters/droid.d.ts.map +1 -0
- package/dist/lib/launch/adapters/droid.js +38 -0
- package/dist/lib/launch/adapters/droid.js.map +1 -0
- package/dist/lib/launch/adapters/gemini-cli.d.ts +25 -0
- package/dist/lib/launch/adapters/gemini-cli.d.ts.map +1 -0
- package/dist/lib/launch/adapters/gemini-cli.js +73 -0
- package/dist/lib/launch/adapters/gemini-cli.js.map +1 -0
- package/dist/lib/launch/adapters/grok-build.d.ts +16 -0
- package/dist/lib/launch/adapters/grok-build.d.ts.map +1 -0
- package/dist/lib/launch/adapters/grok-build.js +25 -0
- package/dist/lib/launch/adapters/grok-build.js.map +1 -0
- package/dist/lib/launch/adapters/kiro.d.ts +17 -0
- package/dist/lib/launch/adapters/kiro.d.ts.map +1 -0
- package/dist/lib/launch/adapters/kiro.js +25 -0
- package/dist/lib/launch/adapters/kiro.js.map +1 -0
- package/dist/lib/launch/adapters/qwen.d.ts +25 -0
- package/dist/lib/launch/adapters/qwen.d.ts.map +1 -0
- package/dist/lib/launch/adapters/qwen.js +67 -0
- package/dist/lib/launch/adapters/qwen.js.map +1 -0
- package/dist/lib/launch/agents.d.ts +16 -3
- package/dist/lib/launch/agents.d.ts.map +1 -1
- package/dist/lib/launch/agents.js +26 -4
- package/dist/lib/launch/agents.js.map +1 -1
- package/dist/lib/launch/amp-state.d.ts +21 -0
- package/dist/lib/launch/amp-state.d.ts.map +1 -0
- package/dist/lib/launch/amp-state.js +61 -0
- package/dist/lib/launch/amp-state.js.map +1 -0
- package/dist/lib/launch/codex-state.d.ts +31 -0
- package/dist/lib/launch/codex-state.d.ts.map +1 -0
- package/dist/lib/launch/codex-state.js +92 -0
- package/dist/lib/launch/codex-state.js.map +1 -0
- package/dist/lib/launch/config-writes.d.ts +7 -1
- package/dist/lib/launch/config-writes.d.ts.map +1 -1
- package/dist/lib/launch/config-writes.js +60 -7
- package/dist/lib/launch/config-writes.js.map +1 -1
- package/dist/lib/launch/copilot-state.d.ts +19 -0
- package/dist/lib/launch/copilot-state.d.ts.map +1 -0
- package/dist/lib/launch/copilot-state.js +51 -0
- package/dist/lib/launch/copilot-state.js.map +1 -0
- package/dist/lib/launch/detect.d.ts.map +1 -1
- package/dist/lib/launch/detect.js +2 -1
- package/dist/lib/launch/detect.js.map +1 -1
- package/dist/lib/launch/droid-state.d.ts +24 -0
- package/dist/lib/launch/droid-state.d.ts.map +1 -0
- package/dist/lib/launch/droid-state.js +74 -0
- package/dist/lib/launch/droid-state.js.map +1 -0
- package/dist/lib/launch/gemini-state.d.ts +32 -0
- package/dist/lib/launch/gemini-state.d.ts.map +1 -0
- package/dist/lib/launch/gemini-state.js +59 -0
- package/dist/lib/launch/gemini-state.js.map +1 -0
- package/dist/lib/launch/gemini-trust.d.ts +26 -0
- package/dist/lib/launch/gemini-trust.d.ts.map +1 -0
- package/dist/lib/launch/gemini-trust.js +103 -0
- package/dist/lib/launch/gemini-trust.js.map +1 -0
- package/dist/lib/launch/grok-state.d.ts +42 -0
- package/dist/lib/launch/grok-state.d.ts.map +1 -0
- package/dist/lib/launch/grok-state.js +128 -0
- package/dist/lib/launch/grok-state.js.map +1 -0
- package/dist/lib/launch/install.d.ts +33 -0
- package/dist/lib/launch/install.d.ts.map +1 -0
- package/dist/lib/launch/install.js +48 -0
- package/dist/lib/launch/install.js.map +1 -0
- package/dist/lib/launch/kiro-state.d.ts +22 -0
- package/dist/lib/launch/kiro-state.d.ts.map +1 -0
- package/dist/lib/launch/kiro-state.js +59 -0
- package/dist/lib/launch/kiro-state.js.map +1 -0
- package/dist/lib/launch/launch-files.d.ts +15 -0
- package/dist/lib/launch/launch-files.d.ts.map +1 -1
- package/dist/lib/launch/launch-files.js +64 -4
- package/dist/lib/launch/launch-files.js.map +1 -1
- package/dist/lib/launch/launch.d.ts +61 -6
- package/dist/lib/launch/launch.d.ts.map +1 -1
- package/dist/lib/launch/launch.js +98 -31
- package/dist/lib/launch/launch.js.map +1 -1
- package/dist/lib/launch/layer-files.d.ts +12 -0
- package/dist/lib/launch/layer-files.d.ts.map +1 -0
- package/dist/lib/launch/layer-files.js +43 -0
- package/dist/lib/launch/layer-files.js.map +1 -0
- package/dist/lib/launch/pick-agent.d.ts +12 -5
- package/dist/lib/launch/pick-agent.d.ts.map +1 -1
- package/dist/lib/launch/pick-agent.js +47 -19
- package/dist/lib/launch/pick-agent.js.map +1 -1
- package/dist/lib/launch/picker-options.d.ts +30 -0
- package/dist/lib/launch/picker-options.d.ts.map +1 -0
- package/dist/lib/launch/picker-options.js +42 -0
- package/dist/lib/launch/picker-options.js.map +1 -0
- package/dist/lib/launch/prompts.d.ts +11 -0
- package/dist/lib/launch/prompts.d.ts.map +1 -0
- package/dist/lib/launch/prompts.js +27 -0
- package/dist/lib/launch/prompts.js.map +1 -0
- package/dist/lib/launch/qwen-state.d.ts +30 -0
- package/dist/lib/launch/qwen-state.d.ts.map +1 -0
- package/dist/lib/launch/qwen-state.js +57 -0
- package/dist/lib/launch/qwen-state.js.map +1 -0
- package/dist/lib/launch/qwen-trust.d.ts +24 -0
- package/dist/lib/launch/qwen-trust.d.ts.map +1 -0
- package/dist/lib/launch/qwen-trust.js +100 -0
- package/dist/lib/launch/qwen-trust.js.map +1 -0
- package/dist/lib/launch/registry/agents/amp.d.ts +3 -0
- package/dist/lib/launch/registry/agents/amp.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/amp.js +14 -0
- package/dist/lib/launch/registry/agents/amp.js.map +1 -0
- package/dist/lib/launch/registry/agents/claude-code.js +1 -1
- package/dist/lib/launch/registry/agents/claude-code.js.map +1 -1
- package/dist/lib/launch/registry/agents/codex.d.ts.map +1 -1
- package/dist/lib/launch/registry/agents/codex.js +4 -2
- package/dist/lib/launch/registry/agents/codex.js.map +1 -1
- package/dist/lib/launch/registry/agents/copilot.d.ts +3 -0
- package/dist/lib/launch/registry/agents/copilot.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/copilot.js +11 -0
- package/dist/lib/launch/registry/agents/copilot.js.map +1 -0
- package/dist/lib/launch/registry/agents/cursor.js +1 -1
- package/dist/lib/launch/registry/agents/cursor.js.map +1 -1
- package/dist/lib/launch/registry/agents/droid.d.ts +3 -0
- package/dist/lib/launch/registry/agents/droid.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/droid.js +13 -0
- package/dist/lib/launch/registry/agents/droid.js.map +1 -0
- package/dist/lib/launch/registry/agents/gemini-cli.d.ts.map +1 -1
- package/dist/lib/launch/registry/agents/gemini-cli.js +4 -2
- package/dist/lib/launch/registry/agents/gemini-cli.js.map +1 -1
- package/dist/lib/launch/registry/agents/grok-build.d.ts +3 -0
- package/dist/lib/launch/registry/agents/grok-build.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/grok-build.js +14 -0
- package/dist/lib/launch/registry/agents/grok-build.js.map +1 -0
- package/dist/lib/launch/registry/agents/kiro.d.ts +3 -0
- package/dist/lib/launch/registry/agents/kiro.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/kiro.js +11 -0
- package/dist/lib/launch/registry/agents/kiro.js.map +1 -0
- package/dist/lib/launch/registry/agents/opencode.js +1 -1
- package/dist/lib/launch/registry/agents/opencode.js.map +1 -1
- package/dist/lib/launch/registry/agents/pi.js +1 -1
- package/dist/lib/launch/registry/agents/pi.js.map +1 -1
- package/dist/lib/launch/registry/agents/qwen.d.ts +3 -0
- package/dist/lib/launch/registry/agents/qwen.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/qwen.js +11 -0
- package/dist/lib/launch/registry/agents/qwen.js.map +1 -0
- package/dist/lib/launch/registry/index.d.ts +4 -1
- package/dist/lib/launch/registry/index.d.ts.map +1 -1
- package/dist/lib/launch/registry/index.js +11 -2
- package/dist/lib/launch/registry/index.js.map +1 -1
- package/dist/lib/launch/registry/types.d.ts +18 -2
- package/dist/lib/launch/registry/types.d.ts.map +1 -1
- package/dist/lib/launch/run-agent.d.ts +15 -0
- package/dist/lib/launch/run-agent.d.ts.map +1 -1
- package/dist/lib/launch/run-agent.js +23 -2
- package/dist/lib/launch/run-agent.js.map +1 -1
- package/dist/lib/launch/strict-entry.d.ts +49 -0
- package/dist/lib/launch/strict-entry.d.ts.map +1 -0
- package/dist/lib/launch/strict-entry.js +108 -0
- package/dist/lib/launch/strict-entry.js.map +1 -0
- package/dist/lib/llm-providers.d.ts +66 -0
- package/dist/lib/llm-providers.d.ts.map +1 -0
- package/dist/lib/llm-providers.js +150 -0
- package/dist/lib/llm-providers.js.map +1 -0
- package/dist/lib/local-llm.d.ts +63 -12
- package/dist/lib/local-llm.d.ts.map +1 -1
- package/dist/lib/local-llm.js +229 -104
- package/dist/lib/local-llm.js.map +1 -1
- package/dist/lib/safe-config-write.d.ts +12 -1
- package/dist/lib/safe-config-write.d.ts.map +1 -1
- package/dist/lib/safe-config-write.js +123 -7
- package/dist/lib/safe-config-write.js.map +1 -1
- package/dist/lib/startup-env.d.ts +8 -0
- package/dist/lib/startup-env.d.ts.map +1 -0
- package/dist/lib/startup-env.js +8 -0
- package/dist/lib/startup-env.js.map +1 -0
- package/package.json +3 -2
package/dist/lib/local-llm.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { charsForTokens, estimateTokens } from './token-estimate.js';
|
|
2
|
+
import { LLM_PROVIDER_IDS, NAMED_PROVIDERS, OPENROUTER_BASE_URL, OPENROUTER_DEFAULT_MODEL, OPENROUTER_KEY_ENV, OPENROUTER_MODEL_ENV, parseProviderId, } from './llm-providers.js';
|
|
2
3
|
/**
|
|
3
4
|
* Exported so its contract is pinned by test (local-llm.test.ts), the way a
|
|
4
5
|
* render contract is. What each line is FOR, so a rewrite keeps the point:
|
|
@@ -362,12 +363,11 @@ async function tryOpenAiCompatible(system, user, endpoint, model, key, maxTokens
|
|
|
362
363
|
return classifyHttpFailure(res, model);
|
|
363
364
|
return parseAdapterResponse(res, model, d => d.choices?.[0]?.message?.content);
|
|
364
365
|
}
|
|
365
|
-
async function tryAnthropic(system, user, key, maxTokens = 256, temperature) {
|
|
366
|
-
const
|
|
367
|
-
const anthropicTimeoutMs = resolveLlmTimeoutMs('https://api.anthropic.com');
|
|
366
|
+
async function tryAnthropic(system, user, key, model, endpoint = 'https://api.anthropic.com/v1/messages', maxTokens = 256, temperature) {
|
|
367
|
+
const anthropicTimeoutMs = resolveLlmTimeoutMs(endpoint);
|
|
368
368
|
let res;
|
|
369
369
|
try {
|
|
370
|
-
res = await fetch(
|
|
370
|
+
res = await fetch(endpoint, {
|
|
371
371
|
method: 'POST',
|
|
372
372
|
headers: {
|
|
373
373
|
'Content-Type': 'application/json',
|
|
@@ -397,15 +397,7 @@ async function tryAnthropic(system, user, key, maxTokens = 256, temperature) {
|
|
|
397
397
|
// the chain rather than merely falling through it.
|
|
398
398
|
return parseAdapterResponse(res, model, d => d.content?.find(b => b.text?.trim())?.text);
|
|
399
399
|
}
|
|
400
|
-
async function tryGemini(system, user, key, maxTokens = 256, temperature) {
|
|
401
|
-
// ALI-1284 (Copilot review, PR #322): the guided setup offer sells this as "Gemini
|
|
402
|
-
// Flash-Lite" by name (docs/configuration.md, the decided ticket text), so the default
|
|
403
|
-
// actually called has to be a Flash-Lite model, not plain Flash - gemini-1.5-flash is
|
|
404
|
-
// also long past its intro date. Verified against Google's model docs at the time of
|
|
405
|
-
// writing (two independent fetches agreed `gemini-2.5-flash-lite` is a current, stable
|
|
406
|
-
// model id); not confirmed by a live API call, so if Google retires it, override with
|
|
407
|
-
// ALIGN_GEMINI_MODEL rather than assuming this default still resolves.
|
|
408
|
-
const geminiModel = process.env['ALIGN_GEMINI_MODEL'] || 'gemini-2.5-flash-lite';
|
|
400
|
+
async function tryGemini(system, user, key, geminiModel, maxTokens = 256, temperature) {
|
|
409
401
|
const geminiTimeoutMs = resolveLlmTimeoutMs('https://generativelanguage.googleapis.com');
|
|
410
402
|
let res;
|
|
411
403
|
try {
|
|
@@ -653,35 +645,58 @@ export async function resolveOllamaWindow(host, model) {
|
|
|
653
645
|
console.error(`align: using a context window of ${tokens} tokens for ${model} (${source}).`);
|
|
654
646
|
return { tokens, source };
|
|
655
647
|
}
|
|
656
|
-
|
|
648
|
+
function ollamaHost() {
|
|
657
649
|
// `||`, not `??`: OLLAMA_HOST='' (a stock .env template, an unset compose variable)
|
|
658
|
-
// would otherwise make every probe a relative URL that fetch cannot parse
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
650
|
+
// would otherwise make every probe a relative URL that fetch cannot parse.
|
|
651
|
+
return process.env['OLLAMA_HOST'] || 'http://localhost:11434';
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* The /api/tags probe is discovery, not a model answering: every way it can fail (not
|
|
655
|
+
* running, no models, nothing recognised) means "no usable model here".
|
|
656
|
+
*/
|
|
657
|
+
async function discoverOllamaModel(host) {
|
|
664
658
|
try {
|
|
665
659
|
const tagsRes = await fetch(`${host}/api/tags`, { signal: AbortSignal.timeout(2000) });
|
|
666
660
|
if (!tagsRes.ok)
|
|
667
|
-
return { kind: 'unavailable', detail: 'tags probe failed' };
|
|
661
|
+
return { ok: false, outcome: { kind: 'unavailable', detail: 'tags probe failed' } };
|
|
668
662
|
const tags = await tagsRes.json();
|
|
669
663
|
const models = (tags.models ?? []).map(m => m.name);
|
|
670
664
|
if (!models.length)
|
|
671
|
-
return { kind: 'unavailable', detail: 'no models installed' };
|
|
665
|
+
return { ok: false, outcome: { kind: 'unavailable', detail: 'no models installed' } };
|
|
672
666
|
const choice = resolveOllamaModel(models, process.env['ALIGN_OLLAMA_MODEL']);
|
|
673
667
|
if (!choice.ok) {
|
|
674
668
|
// The models travel WITH the outcome, so the caller that asked gets them - see
|
|
675
669
|
// LlmFailure. A module variable here could be cleared by a concurrent call.
|
|
676
|
-
return
|
|
677
|
-
|
|
678
|
-
:
|
|
670
|
+
return {
|
|
671
|
+
ok: false,
|
|
672
|
+
outcome: choice.reason === 'no_recognised_model'
|
|
673
|
+
? { kind: 'unavailable', detail: choice.reason, unrecognisedModels: models }
|
|
674
|
+
: { kind: 'unavailable', detail: choice.reason },
|
|
675
|
+
};
|
|
679
676
|
}
|
|
680
|
-
model
|
|
677
|
+
return { ok: true, model: choice.model };
|
|
681
678
|
}
|
|
682
679
|
catch (err) {
|
|
683
|
-
return { kind: 'unavailable', detail: String(err) };
|
|
680
|
+
return { ok: false, outcome: { kind: 'unavailable', detail: String(err) } };
|
|
684
681
|
}
|
|
682
|
+
}
|
|
683
|
+
/**
|
|
684
|
+
* The model a running local Ollama would answer with, or null. The same 2s /api/tags probe
|
|
685
|
+
* `align ask` already runs on its way down the chain - `align ai` uses it to list Ollama
|
|
686
|
+
* beside the keys, and adds no slower check.
|
|
687
|
+
*/
|
|
688
|
+
export async function probeOllama() {
|
|
689
|
+
const d = await discoverOllamaModel(ollamaHost());
|
|
690
|
+
return d.ok ? d.model : null;
|
|
691
|
+
}
|
|
692
|
+
async function tryOllama(system, user, temperature, maxTokens = 256) {
|
|
693
|
+
// ollamaHost: OLLAMA_HOST='' must not make every probe a relative URL, or a healthy local
|
|
694
|
+
// Ollama is never asked and the user is told to configure a key.
|
|
695
|
+
const host = ollamaHost();
|
|
696
|
+
const discovered = await discoverOllamaModel(host);
|
|
697
|
+
if (!discovered.ok)
|
|
698
|
+
return discovered.outcome;
|
|
699
|
+
const model = discovered.model;
|
|
685
700
|
// Only the CHOSEN model's window matters, and it is not known until here - this is the
|
|
686
701
|
// "code that knows the window" from the design decision: `user` is resolved with the real
|
|
687
702
|
// window now, never with a guess made before the model was picked.
|
|
@@ -729,71 +744,175 @@ function chatCompletionsUrl(base) {
|
|
|
729
744
|
const trimmed = base.replace(/\/+$/, '');
|
|
730
745
|
return trimmed.endsWith('/chat/completions') ? trimmed : `${trimmed}/chat/completions`;
|
|
731
746
|
}
|
|
732
|
-
function
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
//
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
747
|
+
function resolution() {
|
|
748
|
+
const saved = savedConfig();
|
|
749
|
+
return { saved, preferred: preferredProvider(saved) };
|
|
750
|
+
}
|
|
751
|
+
/** The model for a provider: its env variable, else the saved model when the saved preference
|
|
752
|
+
* names this provider and is the one in force, else the default. */
|
|
753
|
+
function modelFor(r, id, modelEnv, fallback) {
|
|
754
|
+
const fromEnv = modelEnv ? process.env[modelEnv] : undefined;
|
|
755
|
+
if (fromEnv)
|
|
756
|
+
return fromEnv;
|
|
757
|
+
const savedPref = r.saved.provider ? parseProviderId(r.saved.provider) : null;
|
|
758
|
+
if (r.saved.model && savedPref === id && r.preferred === id)
|
|
759
|
+
return r.saved.model;
|
|
760
|
+
return fallback;
|
|
761
|
+
}
|
|
762
|
+
/** The first non-empty env value among `names`, and its name (`||` semantics, so an empty
|
|
763
|
+
* alias never shadows a real one). */
|
|
764
|
+
function envKeyWithName(names) {
|
|
765
|
+
for (const n of names)
|
|
766
|
+
if (process.env[n])
|
|
767
|
+
return { key: process.env[n], name: n };
|
|
768
|
+
return undefined;
|
|
769
|
+
}
|
|
770
|
+
function callNamed(r, p, key, system, user, maxTokens, temperature) {
|
|
771
|
+
const model = modelFor(r, p.id, p.modelEnv, p.defaultModel);
|
|
772
|
+
switch (p.api) {
|
|
773
|
+
case 'anthropic': return tryAnthropic(system, user, key, model, p.endpoint, maxTokens, temperature);
|
|
774
|
+
case 'gemini': return tryGemini(system, user, key, model, maxTokens, temperature);
|
|
775
|
+
case 'openai': return tryOpenAiCompatible(system, user, p.endpoint, model, key, maxTokens, undefined, temperature);
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
let savedSource = () => ({ keys: {} });
|
|
779
|
+
export function setSavedLlmSource(source) {
|
|
780
|
+
savedSource = source;
|
|
781
|
+
}
|
|
782
|
+
function savedConfig() {
|
|
783
|
+
try {
|
|
784
|
+
return savedSource() ?? { keys: {} };
|
|
785
|
+
}
|
|
786
|
+
catch {
|
|
787
|
+
// An unreadable config must never stop `align ask` answering from what IS available.
|
|
788
|
+
return { keys: {} };
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* Every configured credential, in the order the chain tries them with no preference:
|
|
793
|
+
* 1. EXPORTED: ALIGN_LLM_BASE_URL (any OpenAI-compatible endpoint), then each named
|
|
794
|
+
* provider's env key in table order (the later providers after the original six), then
|
|
795
|
+
* OPENROUTER_API_KEY
|
|
796
|
+
* 2. SAVED: an OpenRouter key, then each named provider's saved key in table order
|
|
797
|
+
* Anything the user exported beats anything align saved (M2). A saved key for a provider the
|
|
798
|
+
* shell already has a key for is not listed - the exported one wins. A saved OpenRouter key is
|
|
799
|
+
* self-contained (its own base URL, key and model) and is ignored entirely when the shell
|
|
800
|
+
* exports its own ALIGN_LLM_BASE_URL (M1).
|
|
801
|
+
*
|
|
802
|
+
* An exported key for a provider beyond the original six is only usable when the user saved a
|
|
803
|
+
* key for that provider too, or it is the preference in force - see Credential.usable.
|
|
804
|
+
*/
|
|
805
|
+
function credentials(r) {
|
|
806
|
+
const out = [];
|
|
807
|
+
const s = r.saved;
|
|
808
|
+
const usableFromEnv = (id, auto) => auto || r.preferred === id || Boolean(s.keys[id]);
|
|
809
|
+
const baseUrl = process.env['ALIGN_LLM_BASE_URL'];
|
|
810
|
+
if (baseUrl) {
|
|
811
|
+
out.push({
|
|
812
|
+
id: 'custom',
|
|
813
|
+
source: 'env',
|
|
814
|
+
envVar: 'ALIGN_LLM_BASE_URL',
|
|
815
|
+
usable: true,
|
|
816
|
+
run: (sys, usr, mt, t) => tryOpenAiCompatible(sys, usr, chatCompletionsUrl(baseUrl), modelFor(r, 'custom', 'ALIGN_LLM_MODEL', 'gpt-4o-mini'), process.env['ALIGN_LLM_API_KEY'] ?? '', mt, undefined, t),
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
for (const p of NAMED_PROVIDERS) {
|
|
820
|
+
const found = envKeyWithName(p.keyEnv);
|
|
821
|
+
if (found) {
|
|
822
|
+
out.push({
|
|
823
|
+
id: p.id, source: 'env', envVar: found.name, usable: usableFromEnv(p.id, Boolean(p.autoFromEnv)),
|
|
824
|
+
run: (sys, usr, mt, t) => callNamed(r, p, found.key, sys, usr, mt, t),
|
|
825
|
+
});
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
// OpenRouter: both an exported OPENROUTER_API_KEY and a saved key go to OpenRouter's own base
|
|
829
|
+
// URL, and both are ignored when the shell exports its own ALIGN_LLM_BASE_URL (M1).
|
|
830
|
+
// ALIGN_OPENROUTER_MODEL, then the saved model, then the default.
|
|
831
|
+
const openrouterEnv = process.env[OPENROUTER_KEY_ENV];
|
|
832
|
+
const openrouterRun = (key) => (sys, usr, mt, t) => tryOpenAiCompatible(sys, usr, chatCompletionsUrl(OPENROUTER_BASE_URL), modelFor(r, 'openrouter', OPENROUTER_MODEL_ENV, OPENROUTER_DEFAULT_MODEL), key, mt, undefined, t);
|
|
833
|
+
if (openrouterEnv && !baseUrl) {
|
|
834
|
+
out.push({
|
|
835
|
+
id: 'openrouter', source: 'env', envVar: OPENROUTER_KEY_ENV, usable: usableFromEnv('openrouter', false),
|
|
836
|
+
run: openrouterRun(openrouterEnv),
|
|
837
|
+
});
|
|
838
|
+
}
|
|
839
|
+
const openrouter = s.keys.openrouter;
|
|
840
|
+
if (openrouter && !baseUrl && !openrouterEnv)
|
|
841
|
+
out.push({ id: 'openrouter', source: 'saved', usable: true, run: openrouterRun(openrouter) });
|
|
842
|
+
for (const p of NAMED_PROVIDERS) {
|
|
843
|
+
const key = s.keys[p.id];
|
|
844
|
+
if (key && !envKeyWithName(p.keyEnv)) {
|
|
845
|
+
out.push({ id: p.id, source: 'saved', usable: true, run: (sys, usr, mt, t) => callNamed(r, p, key, sys, usr, mt, t) });
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
return out;
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* Every configured credential and where it came from (env or saved) - Ollama not included.
|
|
852
|
+
* Includes exported keys align will not use until chosen: this is what is AVAILABLE.
|
|
853
|
+
*/
|
|
854
|
+
export function listConfiguredCredentials() {
|
|
855
|
+
return credentials(resolution()).map(({ id, source }) => ({ id, source }));
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* Exported keys align found but will not use until the user picks them (Credential.usable),
|
|
859
|
+
* with the variable each came from - what the key menu offers as "found X in your shell".
|
|
860
|
+
*/
|
|
861
|
+
export function unusedExportedKeys() {
|
|
862
|
+
return credentials(resolution())
|
|
863
|
+
.filter((c) => !c.usable && c.envVar)
|
|
864
|
+
.map((c) => ({ id: c.id, envVar: c.envVar }));
|
|
865
|
+
}
|
|
866
|
+
const warnedUnknownProvider = new Set();
|
|
867
|
+
/**
|
|
868
|
+
* The provider `align ask` tries FIRST, or undefined for the default order. Precedence, in one
|
|
869
|
+
* place:
|
|
870
|
+
*
|
|
871
|
+
* 1. ALIGN_LLM_PROVIDER exported in the shell
|
|
872
|
+
* 2. the saved preference (`align ai`)
|
|
873
|
+
* 3. nothing: the default order (exported credentials, then saved ones, then Ollama - see
|
|
874
|
+
* credentials())
|
|
875
|
+
*
|
|
876
|
+
* The model follows the same rule: a provider's own model variable (ALIGN_OPENAI_MODEL,
|
|
877
|
+
* ALIGN_LLM_MODEL for the custom endpoint, ...) beats the saved model, and the saved model
|
|
878
|
+
* applies only while the saved preference is the one in force.
|
|
879
|
+
*
|
|
880
|
+
* A preferred provider that is not available (no key, Ollama not running) is skipped and the
|
|
881
|
+
* default order runs as if there were no preference. An unknown value warns (once per process
|
|
882
|
+
* per value) and is ignored: a typo must not stop `align ask` answering.
|
|
883
|
+
*/
|
|
884
|
+
export function preferredProvider(saved = savedConfig()) {
|
|
885
|
+
const raw = process.env['ALIGN_LLM_PROVIDER'] || saved.provider;
|
|
886
|
+
if (!raw)
|
|
887
|
+
return undefined;
|
|
888
|
+
const id = parseProviderId(raw);
|
|
889
|
+
if (!id) {
|
|
890
|
+
if (!warnedUnknownProvider.has(raw)) {
|
|
891
|
+
warnedUnknownProvider.add(raw);
|
|
892
|
+
console.error(`align: ignoring ALIGN_LLM_PROVIDER=${JSON.stringify(raw)} - it must be one of ` +
|
|
893
|
+
`${LLM_PROVIDER_IDS.join(', ')}.`);
|
|
894
|
+
}
|
|
895
|
+
return undefined;
|
|
896
|
+
}
|
|
897
|
+
return id;
|
|
898
|
+
}
|
|
899
|
+
/**
|
|
900
|
+
* Is any LLM provider configured - exported or saved? (ALI-414)
|
|
777
901
|
*
|
|
778
902
|
* `callChat` returns null for a missing key and for a provider that answered unusably
|
|
779
903
|
* alike, so a caller that needs to tell "never configured" from "configured but
|
|
780
904
|
* failed" has to ask - this, then the failure `callChatDetailed` returned for the
|
|
781
|
-
* second case, which is the one this function cannot see. Deliberately synchronous
|
|
782
|
-
*
|
|
783
|
-
*
|
|
784
|
-
*
|
|
905
|
+
* second case, which is the one this function cannot see. Deliberately synchronous:
|
|
906
|
+
* it does NOT probe Ollama, so a machine whose only provider is a broken local Ollama
|
|
907
|
+
* reads as unconfigured. The remedy that points at - configure a provider - is still
|
|
908
|
+
* the right one.
|
|
785
909
|
*
|
|
786
|
-
* `excluding`
|
|
787
|
-
*
|
|
788
|
-
* know whether some OTHER provider is genuinely configured (which should still block the
|
|
789
|
-
* offer) without the Groq/Gemini pair itself, which --reset exists to let the user redo,
|
|
790
|
-
* counting against it. `ALIGN_LLM_BASE_URL` is never excludable: it is not one of the
|
|
791
|
-
* named providers this list manages, so it always means "configured" regardless.
|
|
910
|
+
* `excluding` lets a caller ask "is anything ELSE configured". The custom endpoint is never
|
|
911
|
+
* excludable: it is not one of the named providers.
|
|
792
912
|
*/
|
|
793
913
|
export function hasConfiguredProvider(excluding = []) {
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
return ALL_PROVIDERS.some(p => !excluding.includes(p) && Boolean(keyForProvider(p)));
|
|
914
|
+
// Usable credentials only: an exported HF_TOKEN that align will not use is not "configured".
|
|
915
|
+
return credentials(resolution()).some((c) => c.usable && (c.id === 'custom' || !excluding.includes(c.id)));
|
|
797
916
|
}
|
|
798
917
|
/**
|
|
799
918
|
* Provider-agnostic chat call. Resolution order:
|
|
@@ -864,29 +983,35 @@ export async function callChatDetailed(system, user, opts) {
|
|
|
864
983
|
// Deleted rather than kept: a mechanism with no caller reads as a feature and becomes
|
|
865
984
|
// documentation, which is exactly how it got into the README twice. If a future path
|
|
866
985
|
// needs explicit provider injection, add it WITH its caller.
|
|
867
|
-
//
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
986
|
+
// The default order (see credentials()), then local Ollama. A preferred provider moves to
|
|
987
|
+
// the front and is otherwise walked exactly like every other slot - same settle, same ALI-692
|
|
988
|
+
// advance rules - so a preference changes only WHICH provider is asked first, never what a
|
|
989
|
+
// failure means.
|
|
990
|
+
const r = resolution();
|
|
991
|
+
const preferred = r.preferred;
|
|
992
|
+
const creds = credentials(r).filter((c) => c.usable);
|
|
993
|
+
const ordered = preferred
|
|
994
|
+
? [...creds.filter((c) => c.id === preferred), ...creds.filter((c) => c.id !== preferred)]
|
|
995
|
+
: creds;
|
|
996
|
+
if (preferred === 'ollama') {
|
|
997
|
+
// configured=true: the user asked for it, so its absence is a failure to name (L3), not
|
|
998
|
+
// "nothing configured".
|
|
999
|
+
const settled = settle(await tryOllama(system, user, temperature, maxTokens), 'ollama', true);
|
|
873
1000
|
if (settled)
|
|
874
1001
|
return settled;
|
|
875
1002
|
}
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
1003
|
+
for (const c of ordered) {
|
|
1004
|
+
const settled = settle(await c.run(system, getHostedUser(), maxTokens, temperature), c.id, true);
|
|
1005
|
+
if (settled)
|
|
1006
|
+
return settled;
|
|
1007
|
+
}
|
|
1008
|
+
if (preferred !== 'ollama') {
|
|
1009
|
+
// local Ollama as last resort. configured=false: the probe runs whether or not anyone
|
|
1010
|
+
// asked for Ollama.
|
|
1011
|
+
const settled = settle(await tryOllama(system, user, temperature, maxTokens), 'ollama', false);
|
|
1012
|
+
if (settled)
|
|
1013
|
+
return settled;
|
|
884
1014
|
}
|
|
885
|
-
// 3. local Ollama as last resort
|
|
886
|
-
// configured=false: the probe runs whether or not anyone asked for Ollama.
|
|
887
|
-
const settled = settle(await tryOllama(system, user, temperature, maxTokens), 'ollama', false);
|
|
888
|
-
if (settled)
|
|
889
|
-
return settled;
|
|
890
1015
|
// Nothing answered. An unrecognised local model is the more specific diagnosis and
|
|
891
1016
|
// its remedy is the opposite of "configure a provider", so it wins (ALI-420).
|
|
892
1017
|
if (unrecognised) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-llm.js","sourceRoot":"","sources":["../../src/lib/local-llm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-llm.js","sourceRoot":"","sources":["../../src/lib/local-llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,9 +61,18 @@ export interface WrittenConfig {
|
|
|
61
61
|
block?: {
|
|
62
62
|
start: string;
|
|
63
63
|
end: string;
|
|
64
|
-
sha256: string;
|
|
64
|
+
sha256: string;
|
|
65
|
+
/** a block was already there, and align's replaced it: the original is in the backup */
|
|
65
66
|
replaced?: boolean;
|
|
66
67
|
snapshot?: number;
|
|
68
|
+
/**
|
|
69
|
+
* TOML only: the one table the block holds, and the hash of its parsed value. Lets undo take
|
|
70
|
+
* that table out when another program re-serialised the file and dropped the markers.
|
|
71
|
+
*/
|
|
72
|
+
table?: {
|
|
73
|
+
path: string[];
|
|
74
|
+
sha256: string;
|
|
75
|
+
};
|
|
67
76
|
};
|
|
68
77
|
}
|
|
69
78
|
/** Fold one write into what the manifest already holds for that file. */
|
|
@@ -87,6 +96,8 @@ export interface SafeWriteOptions {
|
|
|
87
96
|
start: string;
|
|
88
97
|
end: string;
|
|
89
98
|
};
|
|
99
|
+
/** TOML only: the table (e.g. ['mcp_servers', 'align-local']) the managed block holds. */
|
|
100
|
+
tomlTable?: string[];
|
|
90
101
|
/** The tail of the invalid-JSON message: what to do about it. */
|
|
91
102
|
invalidJsonAdvice?: string;
|
|
92
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-config-write.d.ts","sourceRoot":"","sources":["../../src/lib/safe-config-write.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"safe-config-write.d.ts","sourceRoot":"","sources":["../../src/lib/safe-config-write.ts"],"names":[],"mappings":"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"}
|