@ashlr/hub 3.7.0 → 3.9.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/CHANGELOG.md +257 -0
- package/dist/build-identity.json +2 -2
- package/dist/cli/resource-profile.js +95 -21
- package/dist/cli/resource-profile.js.map +1 -1
- package/dist/core/policy/local-only.d.ts +142 -2
- package/dist/core/policy/local-only.js +204 -15
- package/dist/core/policy/local-only.js.map +1 -1
- package/dist/core/resources/native-profile.d.ts +56 -0
- package/dist/core/resources/native-profile.js +368 -6
- package/dist/core/resources/native-profile.js.map +1 -1
- package/dist/core/run/budget.d.ts +22 -8
- package/dist/core/run/budget.js +80 -12
- package/dist/core/run/budget.js.map +1 -1
- package/dist/core/run/model-catalog.js +8 -1
- package/dist/core/run/model-catalog.js.map +1 -1
- package/dist/core/run/sandboxed-engine.js +3 -3
- package/dist/core/run/sandboxed-engine.js.map +1 -1
- package/dist/core/universe/builtins/preparation/manifest.json +1 -1
- package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +69 -10
- package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +68 -9
- package/dist/core/verse/adapters/claude.d.ts +49 -2
- package/dist/core/verse/adapters/claude.js +317 -56
- package/dist/core/verse/adapters/claude.js.map +1 -1
- package/dist/core/verse/adapters/codex.d.ts +81 -5
- package/dist/core/verse/adapters/codex.js +409 -47
- package/dist/core/verse/adapters/codex.js.map +1 -1
- package/dist/core/verse/adapters/grok.d.ts +13 -1
- package/dist/core/verse/adapters/grok.js +28 -2
- package/dist/core/verse/adapters/grok.js.map +1 -1
- package/dist/core/verse/adapters/index.d.ts +32 -0
- package/dist/core/verse/adapters/index.js +2 -0
- package/dist/core/verse/adapters/index.js.map +1 -1
- package/dist/core/verse/codex-rollout.d.ts +284 -0
- package/dist/core/verse/codex-rollout.js +786 -0
- package/dist/core/verse/codex-rollout.js.map +1 -0
- package/dist/core/verse/context-fit.d.ts +63 -0
- package/dist/core/verse/context-fit.js +355 -0
- package/dist/core/verse/context-fit.js.map +1 -0
- package/dist/core/verse/context-math.d.ts +215 -0
- package/dist/core/verse/context-math.js +365 -0
- package/dist/core/verse/context-math.js.map +1 -0
- package/dist/core/verse/local-models.d.ts +137 -1
- package/dist/core/verse/local-models.js +209 -5
- package/dist/core/verse/local-models.js.map +1 -1
- package/dist/core/verse/model-windows.d.ts +217 -0
- package/dist/core/verse/model-windows.js +616 -0
- package/dist/core/verse/model-windows.js.map +1 -0
- package/dist/core/verse/preferences.d.ts +123 -0
- package/dist/core/verse/preferences.js +403 -0
- package/dist/core/verse/preferences.js.map +1 -0
- package/dist/core/verse/project-memory.d.ts +112 -0
- package/dist/core/verse/project-memory.js +295 -0
- package/dist/core/verse/project-memory.js.map +1 -0
- package/dist/core/verse/seats.d.ts +106 -4
- package/dist/core/verse/seats.js +291 -89
- package/dist/core/verse/seats.js.map +1 -1
- package/dist/core/verse/session-engine.d.ts +117 -2
- package/dist/core/verse/session-engine.js +763 -65
- package/dist/core/verse/session-engine.js.map +1 -1
- package/dist/core/verse/session-handoff.d.ts +94 -0
- package/dist/core/verse/session-handoff.js +551 -0
- package/dist/core/verse/session-handoff.js.map +1 -0
- package/dist/core/verse/session-search.d.ts +63 -0
- package/dist/core/verse/session-search.js +213 -0
- package/dist/core/verse/session-search.js.map +1 -0
- package/dist/core/verse/session-store.d.ts +16 -2
- package/dist/core/verse/session-store.js +80 -6
- package/dist/core/verse/session-store.js.map +1 -1
- package/dist/core/verse/types.d.ts +333 -1
- package/dist/core/verse/types.js +54 -2
- package/dist/core/verse/types.js.map +1 -1
- package/dist/core/verse/verse-api.d.ts +40 -5
- package/dist/core/verse/verse-api.js +724 -25
- package/dist/core/verse/verse-api.js.map +1 -1
- package/dist/core/web/api.d.ts +14 -4
- package/dist/core/web/api.js +26 -11
- package/dist/core/web/api.js.map +1 -1
- package/dist/core/web/public/next/assets/{App-vtaHB9mp.js → App-XURmiAAp.js} +5 -5
- package/dist/core/web/public/next/assets/{App-vtaHB9mp.js.map → App-XURmiAAp.js.map} +1 -1
- package/dist/core/web/public/next/assets/{ApprovalsSection-B-bFJ0I9.js → ApprovalsSection-BriUzoZc.js} +2 -2
- package/dist/core/web/public/next/assets/{ApprovalsSection-B-bFJ0I9.js.map → ApprovalsSection-BriUzoZc.js.map} +1 -1
- package/dist/core/web/public/next/assets/AutonomySection-C4GBsQVc.js +2 -0
- package/dist/core/web/public/next/assets/{AutonomySection-DoqmsCjw.js.map → AutonomySection-C4GBsQVc.js.map} +1 -1
- package/dist/core/web/public/next/assets/ChatSection-BpOBOUvg.css +1 -0
- package/dist/core/web/public/next/assets/ChatSection-hlgPBRco.js +84 -0
- package/dist/core/web/public/next/assets/ChatSection-hlgPBRco.js.map +1 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-BdQYI-Ng.js +2 -0
- package/dist/core/web/public/next/assets/ConfirmDialog-BdQYI-Ng.js.map +1 -0
- package/dist/core/web/public/next/assets/{Dialog-CPM9JxBc.js → Dialog-BxdIfmFH.js} +2 -2
- package/dist/core/web/public/next/assets/{Dialog-CPM9JxBc.js.map → Dialog-BxdIfmFH.js.map} +1 -1
- package/dist/core/web/public/next/assets/{DiffViewer-B84qVef9.js → DiffViewer-DmeRWuc4.js} +2 -2
- package/dist/core/web/public/next/assets/{DiffViewer-B84qVef9.js.map → DiffViewer-DmeRWuc4.js.map} +1 -1
- package/dist/core/web/public/next/assets/{McpSection-CEUpV_5X.js → McpSection-q34T7Tho.js} +2 -2
- package/dist/core/web/public/next/assets/{McpSection-CEUpV_5X.js.map → McpSection-q34T7Tho.js.map} +1 -1
- package/dist/core/web/public/next/assets/{MutationTokenDialog-DA8t97XT.js → MutationTokenDialog-CFAkwOEt.js} +2 -2
- package/dist/core/web/public/next/assets/{MutationTokenDialog-DA8t97XT.js.map → MutationTokenDialog-CFAkwOEt.js.map} +1 -1
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-Bq7Vyud0.js → ResourcePoolConsoleApp-DHc8GFOY.js} +4 -4
- package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-Bq7Vyud0.js.map → ResourcePoolConsoleApp-DHc8GFOY.js.map} +1 -1
- package/dist/core/web/public/next/assets/{RouteErrorBoundary-Badio_uO.js → RouteErrorBoundary-ZL9F4qUn.js} +2 -2
- package/dist/core/web/public/next/assets/{RouteErrorBoundary-Badio_uO.js.map → RouteErrorBoundary-ZL9F4qUn.js.map} +1 -1
- package/dist/core/web/public/next/assets/{Meter-CLcr-4wS.css → Segmented-8cf0Fypn.css} +1 -1
- package/dist/core/web/public/next/assets/{Meter--h3MmZS-.js → Segmented-DbRjVye3.js} +2 -2
- package/dist/core/web/public/next/assets/Segmented-DbRjVye3.js.map +1 -0
- package/dist/core/web/public/next/assets/SettingsSection-nJGGGYqv.js +2 -0
- package/dist/core/web/public/next/assets/{SettingsSection-BwrpQlpP.js.map → SettingsSection-nJGGGYqv.js.map} +1 -1
- package/dist/core/web/public/next/assets/UniverseConsoleApp-6GJydgo4.js +2 -0
- package/dist/core/web/public/next/assets/{UniverseConsoleApp-_FSohAdN.js.map → UniverseConsoleApp-6GJydgo4.js.map} +1 -1
- package/dist/core/web/public/next/assets/{UniverseView-DqcXbed4.js → UniverseView-DLDtNYL8.js} +2 -2
- package/dist/core/web/public/next/assets/{UniverseView-DqcXbed4.js.map → UniverseView-DLDtNYL8.js.map} +1 -1
- package/dist/core/web/public/next/assets/UsageSection-Cf9d9iFH.js +2 -0
- package/dist/core/web/public/next/assets/UsageSection-Cf9d9iFH.js.map +1 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-DsdKQoTH.css +1 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-y0uOHixd.js +3 -0
- package/dist/core/web/public/next/assets/VerseConsoleApp-y0uOHixd.js.map +1 -0
- package/dist/core/web/public/next/assets/{charts-CTZJ-JrH.js → charts-CVooqJWN.js} +2 -2
- package/dist/core/web/public/next/assets/{charts-CTZJ-JrH.js.map → charts-CVooqJWN.js.map} +1 -1
- package/dist/core/web/public/next/assets/context-model-Bqv8DVuH.js +2 -0
- package/dist/core/web/public/next/assets/context-model-Bqv8DVuH.js.map +1 -0
- package/dist/core/web/public/next/assets/global-eaY9GyX3.js +2 -0
- package/dist/core/web/public/next/assets/global-eaY9GyX3.js.map +1 -0
- package/dist/core/web/public/next/assets/{icons-D9vlf85u.js → icons-vex8rclC.js} +2 -2
- package/dist/core/web/public/next/assets/{icons-D9vlf85u.js.map → icons-vex8rclC.js.map} +1 -1
- package/dist/core/web/public/next/assets/{index-CZamKRUg.js → index-D2Eik-zt.js} +3 -3
- package/dist/core/web/public/next/assets/{index-CZamKRUg.js.map → index-D2Eik-zt.js.map} +1 -1
- package/dist/core/web/public/next/assets/{queries-B8eBnFox.js → queries-bAYU0VNy.js} +2 -2
- package/dist/core/web/public/next/assets/{queries-B8eBnFox.js.map → queries-bAYU0VNy.js.map} +1 -1
- package/dist/core/web/public/next/assets/use-guarded-action-C7QrP7Yp.js +2 -0
- package/dist/core/web/public/next/assets/{use-guarded-action-bzrVVAYq.js.map → use-guarded-action-C7QrP7Yp.js.map} +1 -1
- package/dist/core/web/public/next/assets/verse-model-TfDk9cky.js +2 -0
- package/dist/core/web/public/next/assets/verse-model-TfDk9cky.js.map +1 -0
- package/dist/core/web/public/next/assets/{workspace-model-v0a1gl-C.js → workspace-model-CHol5RVp.js} +2 -2
- package/dist/core/web/public/next/assets/{workspace-model-v0a1gl-C.js.map → workspace-model-CHol5RVp.js.map} +1 -1
- package/dist/core/web/public/next/index.html +1 -1
- package/dist/release-dependency-inventory.json +1 -1
- package/docs/README.md +1 -0
- package/package.json +1 -1
- package/dist/core/web/public/next/assets/AutonomySection-DoqmsCjw.js +0 -2
- package/dist/core/web/public/next/assets/ChatSection-BfnLe5dT.css +0 -1
- package/dist/core/web/public/next/assets/ChatSection-vNPIJffd.js +0 -80
- package/dist/core/web/public/next/assets/ChatSection-vNPIJffd.js.map +0 -1
- package/dist/core/web/public/next/assets/ConfirmDialog-Dd2APQhB.js +0 -2
- package/dist/core/web/public/next/assets/ConfirmDialog-Dd2APQhB.js.map +0 -1
- package/dist/core/web/public/next/assets/Meter--h3MmZS-.js.map +0 -1
- package/dist/core/web/public/next/assets/SettingsSection-BwrpQlpP.js +0 -2
- package/dist/core/web/public/next/assets/UniverseConsoleApp-_FSohAdN.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-Bq6Daaby.js +0 -2
- package/dist/core/web/public/next/assets/UsageSection-Bq6Daaby.js.map +0 -1
- package/dist/core/web/public/next/assets/VerseConsoleApp-CMkCizvL.css +0 -1
- package/dist/core/web/public/next/assets/VerseConsoleApp-CsIQv9id.js +0 -3
- package/dist/core/web/public/next/assets/VerseConsoleApp-CsIQv9id.js.map +0 -1
- package/dist/core/web/public/next/assets/global-D6bTxIRn.js +0 -2
- package/dist/core/web/public/next/assets/global-D6bTxIRn.js.map +0 -1
- package/dist/core/web/public/next/assets/use-guarded-action-bzrVVAYq.js +0 -2
- package/dist/core/web/public/next/assets/verse-model-CvtK6vP6.js +0 -2
- package/dist/core/web/public/next/assets/verse-model-CvtK6vP6.js.map +0 -1
package/dist/core/verse/seats.js
CHANGED
|
@@ -28,65 +28,31 @@
|
|
|
28
28
|
*/
|
|
29
29
|
import { existsSync, readFileSync } from 'node:fs';
|
|
30
30
|
import { homedir } from 'node:os';
|
|
31
|
-
import { join } from 'node:path';
|
|
31
|
+
import { dirname, isAbsolute, join, relative, sep } from 'node:path';
|
|
32
32
|
import { readClaudeUsage } from '../fabric/claude-usage.js';
|
|
33
33
|
import { buildVerseAccountsSnapshot, getVerseAccountCollector, } from './accounts.js';
|
|
34
34
|
import { DEFAULT_LOCAL_MODEL_TAG } from '../run/model-catalog.js';
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
35
|
+
import { claudeAutoCompactAt, LOCAL_MIN_USABLE_WINDOW, localWindowUsable, sessionOverheadTokens, } from './context-math.js';
|
|
36
|
+
import { contextWindowFromTagSuffix, probeLlamaSlotContext, probeOllamaModelDetail, probeOllamaResident, readOllamaServerDefault, resolveLocalContextWindow, } from './local-models.js';
|
|
37
|
+
import { claudeModelOptions, claudeModelsNeedingNewerCli, cliVersionFromExecutable, codexModelOptions, compareCliVersions, defaultClaudeVersionsRoot, grokModelOptions, joinClaudeLabels, localModelOption, newestInstalledClaudeVersion, readCodexCatalog, readGrokCatalog, } from './model-windows.js';
|
|
38
|
+
/**
|
|
39
|
+
* The BUILT-IN lists: what a native seat offers when nothing better is known
|
|
40
|
+
* (a Claude seat whose CLI version could not be read, a codex/grok seat that
|
|
41
|
+
* has not fetched its own catalog yet). Real seats are built per account by
|
|
42
|
+
* {@link nativeSeatModels} from the seat's own catalog and pinned binary —
|
|
43
|
+
* see core/verse/model-windows.ts, which holds every window and the evidence
|
|
44
|
+
* for it. Exported for tests and for callers that need the documented
|
|
45
|
+
* defaults without a discovery pass.
|
|
46
|
+
*
|
|
47
|
+
* Never hard-code a model list here again. Two past failures this replaced:
|
|
48
|
+
* Claude models all inherited the CLI's 200k "unknown model" window while the
|
|
49
|
+
* CLI ran six of them at 1M, and `claude-opus-5.5` (dotted) was offered even
|
|
50
|
+
* though every Claude Code binary resolves that spelling to Opus 5.
|
|
51
|
+
*/
|
|
37
52
|
export const VERSE_NATIVE_MODELS = {
|
|
38
|
-
claude:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// `[claude-code:unrecognized_model]` and warns that it "isn't described by
|
|
42
|
-
// this version's model catalog"; a known id goes straight through to auth.
|
|
43
|
-
// Checked and REJECTED on this machine, so do not add them back from
|
|
44
|
-
// memory: claude-sonnet-4-8, claude-haiku-4-1.
|
|
45
|
-
{ id: 'claude-fable-5-1', label: 'Claude Fable 5.1', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
46
|
-
// NOTE the dot. `claude-opus-5-5` is NOT in the catalog; only the dotted
|
|
47
|
-
// form is. That differs from Opus 4.8, which the CLI accepts either way,
|
|
48
|
-
// so the spelling here is the one that was actually checked.
|
|
49
|
-
{ id: 'claude-opus-5.5', label: 'Claude Opus 5.5', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
50
|
-
{ id: 'claude-fable-5', label: 'Claude Fable 5', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
51
|
-
{ id: 'claude-opus-5', label: 'Claude Opus 5', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
52
|
-
{ id: 'claude-opus-4-8', label: 'Claude Opus 4.8', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
53
|
-
{ id: 'claude-opus-4-5', label: 'Claude Opus 4.5', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
54
|
-
{ id: 'claude-sonnet-5', label: 'Claude Sonnet 5', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
55
|
-
{ id: 'claude-haiku-4-5-20251001', label: 'Claude Haiku 4.5', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['claude'] ?? null },
|
|
56
|
-
],
|
|
57
|
-
codex: [
|
|
58
|
-
// Read from the CLI's own catalog cache
|
|
59
|
-
// (~/.ashlr/native-profiles/<account>/native-state/models_cache.json), which
|
|
60
|
-
// carries the ids, display names and 272,000-token window the service
|
|
61
|
-
// reported. Not recalled — `codex models` needs an interactive terminal and
|
|
62
|
-
// was sitting on a hook-trust prompt, and the cache is the same authority
|
|
63
|
-
// without asking anyone to trust anything.
|
|
64
|
-
//
|
|
65
|
-
// `gpt-5.5-mini` used to be listed here and is NOT in the catalog.
|
|
66
|
-
{ id: 'gpt-6-astra', label: 'GPT-6 Astra', contextWindow: 272_000 },
|
|
67
|
-
{ id: 'gpt-6-sol', label: 'GPT-6 Sol', contextWindow: 272_000 },
|
|
68
|
-
{ id: 'gpt-6-luna', label: 'GPT-6 Luna', contextWindow: 272_000 },
|
|
69
|
-
{ id: 'gpt-5.6-sol', label: 'GPT-5.6 Sol', contextWindow: 272_000 },
|
|
70
|
-
{ id: 'gpt-5.6-terra', label: 'GPT-5.6 Terra', contextWindow: 272_000 },
|
|
71
|
-
{ id: 'gpt-5.6-luna', label: 'GPT-5.6 Luna', contextWindow: 272_000 },
|
|
72
|
-
{ id: 'gpt-5.5', label: 'GPT-5.5', contextWindow: 272_000 },
|
|
73
|
-
{ id: 'gpt-reserve', label: 'GPT-Reserve', contextWindow: 272_000 },
|
|
74
|
-
],
|
|
75
|
-
grok: [
|
|
76
|
-
// Verified against `grok models` run with GROK_HOME pinned to the seat's own
|
|
77
|
-
// native profile. Two things this list has been wrong about before:
|
|
78
|
-
// - ids were once guessed ('grok-4', 'grok-4-fast'); the CLI rejects both
|
|
79
|
-
// with `unknown model id`, so every Grok turn failed before inference.
|
|
80
|
-
// - the list then went stale, offering only 4.6/4.5 after the CLI had
|
|
81
|
-
// moved its default to 4.7. Verse could not select the default model.
|
|
82
|
-
// Never invent or assume a provider's ids, and re-read them from the CLI
|
|
83
|
-
// rather than from a bare `grok models`, which reads the UNPINNED home and
|
|
84
|
-
// reports "not authenticated" even while the seat's profile is signed in.
|
|
85
|
-
{ id: 'grok-4.7', label: 'Grok 4.7', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['grok'] ?? null },
|
|
86
|
-
{ id: 'grok-4.7-build-fast', label: 'Grok 4.7 Build Fast', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['grok'] ?? null },
|
|
87
|
-
{ id: 'grok-4.6', label: 'Grok 4.6', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['grok'] ?? null },
|
|
88
|
-
{ id: 'grok-4.5', label: 'Grok 4.5', contextWindow: VERSE_DEFAULT_CONTEXT_WINDOWS['grok'] ?? null },
|
|
89
|
-
],
|
|
53
|
+
claude: claudeModelOptions(null),
|
|
54
|
+
codex: codexModelOptions(null),
|
|
55
|
+
grok: grokModelOptions(null),
|
|
90
56
|
};
|
|
91
57
|
/**
|
|
92
58
|
* LEGACY FALLBACK ONLY. Local seat visibility is now decided by the model's
|
|
@@ -234,6 +200,118 @@ function readConnections(accountsRoot) {
|
|
|
234
200
|
}
|
|
235
201
|
return out;
|
|
236
202
|
}
|
|
203
|
+
const MAX_PROFILE_BYTES = 64 * 1024;
|
|
204
|
+
/**
|
|
205
|
+
* Locate and read `<profile>/profile.json` from an account's launcher argv —
|
|
206
|
+
* the same derivation `mcp-seat-view.resolveAccountStateRoots` uses
|
|
207
|
+
* (`…/launcher.mjs` ⇒ its directory's `profile.json`), but lifting the
|
|
208
|
+
* executable too, which the seat needs to know which CLI version it runs.
|
|
209
|
+
*
|
|
210
|
+
* A profile whose `provider` disagrees with the account is IGNORED rather
|
|
211
|
+
* than half-trusted: reading a grok catalog for a codex seat would be worse
|
|
212
|
+
* than reading none. Returns null whenever anything is missing.
|
|
213
|
+
*/
|
|
214
|
+
export function readSeatProfile(command, provider) {
|
|
215
|
+
const launcher = command.find((part) => typeof part === 'string' && part.endsWith('launcher.mjs'));
|
|
216
|
+
if (launcher === undefined || !isAbsolute(launcher))
|
|
217
|
+
return null;
|
|
218
|
+
const directory = dirname(launcher);
|
|
219
|
+
let manifest;
|
|
220
|
+
try {
|
|
221
|
+
const raw = readFileSync(join(directory, 'profile.json'), 'utf8');
|
|
222
|
+
if (raw.length > MAX_PROFILE_BYTES)
|
|
223
|
+
return null;
|
|
224
|
+
manifest = JSON.parse(raw);
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
if (!isRecord(manifest))
|
|
230
|
+
return null;
|
|
231
|
+
if (manifest['provider'] !== undefined && manifest['provider'] !== provider)
|
|
232
|
+
return null;
|
|
233
|
+
const absolute = (value) => typeof value === 'string' && value.length > 0 && value.length <= 4096 && isAbsolute(value) ? value : null;
|
|
234
|
+
return {
|
|
235
|
+
directory,
|
|
236
|
+
nativeStatePath: absolute(manifest['nativeStatePath']),
|
|
237
|
+
executable: absolute(manifest['executable']),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
/** `~/…` for a path under home, so remediation text is copyable but not machine-specific. */
|
|
241
|
+
function homeRelative(path) {
|
|
242
|
+
const home = homedir();
|
|
243
|
+
const rel = relative(home, path);
|
|
244
|
+
if (rel.length === 0 || rel.startsWith('..') || isAbsolute(rel))
|
|
245
|
+
return path;
|
|
246
|
+
return `~/${rel.split(sep).join('/')}`;
|
|
247
|
+
}
|
|
248
|
+
/** Stable-partition: runnable models first, so `models[0]` (the default) always runs. */
|
|
249
|
+
function runnableFirst(models) {
|
|
250
|
+
return [
|
|
251
|
+
...models.filter((m) => !m.unavailableReason),
|
|
252
|
+
...models.filter((m) => m.unavailableReason),
|
|
253
|
+
];
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* The operator command that points a prepared native profile at another CLI
|
|
257
|
+
* binary (src/cli/resources.ts routes `resources` → `profile` → `repin`). It is
|
|
258
|
+
* a constant because the seat note is copy-paste remediation: a spelling that
|
|
259
|
+
* does not route (`ashlr resource-profile …` never existed) is worse than no
|
|
260
|
+
* hint, and tests pin the exact text through this one name.
|
|
261
|
+
*/
|
|
262
|
+
export const VERSE_REPIN_COMMAND = 'ashlr resources profile repin';
|
|
263
|
+
export const VERSE_CATALOG_PENDING_NOTE = "Model list is Verse's built-in list until this seat's first turn fetches its own catalog.";
|
|
264
|
+
/**
|
|
265
|
+
* One native seat's models, pinned CLI version and notes.
|
|
266
|
+
*
|
|
267
|
+
* Every source is the SEAT's: its own catalog file under its profile's
|
|
268
|
+
* `nativeStatePath` and the binary its launcher execs. The unpinned global
|
|
269
|
+
* homes (`~/.codex`, `~/.grok`, `~/.claude`) belong to a different account or
|
|
270
|
+
* binary and are never read — codex-a and codex-b run different CLI versions
|
|
271
|
+
* with different catalogs on this very machine.
|
|
272
|
+
*/
|
|
273
|
+
export function nativeSeatModels(provider, profile, opts = {}) {
|
|
274
|
+
const cliVersion = profile?.executable ? cliVersionFromExecutable(profile.executable) : null;
|
|
275
|
+
const notes = [];
|
|
276
|
+
if (provider === 'claude') {
|
|
277
|
+
const models = runnableFirst(claudeModelOptions(cliVersion));
|
|
278
|
+
const tooOld = claudeModelsNeedingNewerCli(cliVersion);
|
|
279
|
+
if (tooOld.length > 0 && cliVersion !== null) {
|
|
280
|
+
const needed = tooOld
|
|
281
|
+
.map((spec) => spec.minCliVersion)
|
|
282
|
+
.reduce((a, b) => (compareCliVersions(a, b) >= 0 ? a : b));
|
|
283
|
+
const versionsRoot = opts.claudeVersionsRoot ?? defaultClaudeVersionsRoot();
|
|
284
|
+
const newest = newestInstalledClaudeVersion(versionsRoot);
|
|
285
|
+
const labels = joinClaudeLabels(tooOld);
|
|
286
|
+
const verb = tooOld.length === 1 ? 'needs' : 'need';
|
|
287
|
+
if (newest !== null && compareCliVersions(newest, needed) >= 0 && compareCliVersions(newest, cliVersion) > 0) {
|
|
288
|
+
const dir = profile ? homeRelative(profile.directory) : '<profile directory>';
|
|
289
|
+
notes.push(`Pinned to Claude Code ${cliVersion}; ${newest} is installed — ${labels} ${verb} it. `
|
|
290
|
+
+ `Re-pin with: ${VERSE_REPIN_COMMAND} --directory ${dir} --executable ${homeRelative(join(versionsRoot, newest))}`);
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
notes.push(`Pinned to Claude Code ${cliVersion}; ${labels} ${verb} ${needed} or newer, which is not installed on this machine.`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
else if (cliVersion === null && models.some((m) => m.minCliVersion)) {
|
|
297
|
+
const gated = models.filter((m) => m.minCliVersion).map((m) => m.label.replace(/^Claude\s+/, ''));
|
|
298
|
+
notes.push(`Could not tell which Claude Code version this seat is pinned to; ${gated.join(', ')} `
|
|
299
|
+
+ 'may silently run as an older model on an older binary.');
|
|
300
|
+
}
|
|
301
|
+
return { models, cliVersion, notes };
|
|
302
|
+
}
|
|
303
|
+
const statePath = profile?.nativeStatePath ?? null;
|
|
304
|
+
if (provider === 'codex') {
|
|
305
|
+
const catalog = statePath ? readCodexCatalog(statePath) : null;
|
|
306
|
+
if (catalog === null)
|
|
307
|
+
notes.push(VERSE_CATALOG_PENDING_NOTE);
|
|
308
|
+
return { models: runnableFirst(codexModelOptions(catalog)), cliVersion, notes };
|
|
309
|
+
}
|
|
310
|
+
const catalog = statePath ? readGrokCatalog(statePath) : null;
|
|
311
|
+
if (catalog === null)
|
|
312
|
+
notes.push(VERSE_CATALOG_PENDING_NOTE);
|
|
313
|
+
return { models: runnableFirst(grokModelOptions(catalog)), cliVersion, notes };
|
|
314
|
+
}
|
|
237
315
|
/** At or above this percent the binding window is reported as `tight`. */
|
|
238
316
|
export const VERSE_SEAT_TIGHT_PERCENT = 90;
|
|
239
317
|
function seatWindow(window) {
|
|
@@ -522,14 +600,11 @@ export function localSeatPreferenceRank(tag, preferred) {
|
|
|
522
600
|
}
|
|
523
601
|
return preferred.length * 2;
|
|
524
602
|
}
|
|
525
|
-
/**
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
const n = Number(m[1]);
|
|
531
|
-
return Number.isFinite(n) && n > 0 ? n * 1024 : null;
|
|
532
|
-
}
|
|
603
|
+
/**
|
|
604
|
+
* Re-exported: the tag-suffix parser now lives beside the one local window
|
|
605
|
+
* resolver in local-models.ts (and accepts `-ctx64k`, which it used to miss).
|
|
606
|
+
*/
|
|
607
|
+
export { contextWindowFromTagSuffix };
|
|
533
608
|
/** `qwen3-coder-next:ctx64k` → "Qwen3-Coder-Next (local)". */
|
|
534
609
|
export function localSeatLabel(tag) {
|
|
535
610
|
const [base = tag, ...rest] = tag.split(':');
|
|
@@ -542,11 +617,91 @@ export function localSeatLabel(tag) {
|
|
|
542
617
|
const variant = rest.join(':');
|
|
543
618
|
return variant && variant !== 'latest' ? `${pretty} ${variant} (local)` : `${pretty} (local)`;
|
|
544
619
|
}
|
|
545
|
-
|
|
620
|
+
function formatWindow(n) {
|
|
621
|
+
return n.toLocaleString('en-US');
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* Plain-language caveats for one local seat's window, or none. Only the cases
|
|
625
|
+
* where the number on screen is weaker than it looks get a note: a figure
|
|
626
|
+
* Ollama actually allocates (pinned num_ctx, resident instance, its own
|
|
627
|
+
* default, llama-server's slot) needs no apology.
|
|
628
|
+
*/
|
|
629
|
+
export function localWindowNotes(resolved, lane, slotReported) {
|
|
630
|
+
const notes = [];
|
|
631
|
+
if (lane === 'llama-server' && !slotReported) {
|
|
632
|
+
notes.push('llama-server did not report its per-slot context, so this window is Ollama\'s figure for the tag; '
|
|
633
|
+
+ 'turns on the llama-server lane get one slot\'s share, which may be less.');
|
|
634
|
+
}
|
|
635
|
+
if (resolved.basis === 'native-estimate') {
|
|
636
|
+
notes.push(`Ollama's default context for models without a pinned num_ctx could not be read; ${formatWindow(resolved.window)} `
|
|
637
|
+
+ 'is this model\'s trained maximum, and Ollama may allocate less.');
|
|
638
|
+
}
|
|
639
|
+
else if (resolved.basis === 'tag-suffix' || resolved.basis === 'default') {
|
|
640
|
+
notes.push(`Ollama did not describe this model; the ${formatWindow(resolved.window)}-token context window is an estimate.`);
|
|
641
|
+
}
|
|
642
|
+
return notes;
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Why a local window cannot host a Claude Code session, or null when it can.
|
|
646
|
+
*
|
|
647
|
+
* Local turns run Claude Code with `CLAUDE_CODE_MAX_CONTEXT_TOKENS=<window>`
|
|
648
|
+
* (the window must be stated: the CLI otherwise assumes 200k and overflows
|
|
649
|
+
* the runner). The CLI then reserves up to 20k for the reply and compacts
|
|
650
|
+
* 13k below that, so a 32,768 window compacts at 0 — below its own ~15k fixed
|
|
651
|
+
* prompt — and every turn is blocked or loops through compaction. Such a seat
|
|
652
|
+
* is LISTED with this reason (the operator learns why, and which tag would
|
|
653
|
+
* work) rather than offered as runnable or silently hidden.
|
|
654
|
+
*/
|
|
655
|
+
export function localWindowUnusableReason(window) {
|
|
656
|
+
if (localWindowUsable(window))
|
|
657
|
+
return null;
|
|
658
|
+
const compactAt = claudeAutoCompactAt(window, null, null);
|
|
659
|
+
return `Context window ${formatWindow(window)} is too small for Claude Code: it would compact at `
|
|
660
|
+
+ `≈${Math.round(compactAt / 1000)}k tokens, with no real room above its ~${Math.round(sessionOverheadTokens('local') / 1000)}k base prompt. `
|
|
661
|
+
+ `Use a tag with a window of at least ${formatWindow(LOCAL_MIN_USABLE_WINDOW)} tokens.`;
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* The per-slot window on the llama-server lane, or null. The origin is
|
|
665
|
+
* llama-server's own (NOT the Anthropic proxy turns are dispatched to): the
|
|
666
|
+
* proxy has no `/props`. The imports are lazy for the same reason as
|
|
667
|
+
* {@link resolveLocalDispatchBaseUrl} — an operator who never opted into this
|
|
668
|
+
* lane must not pay for the process-table machinery on boot.
|
|
669
|
+
*/
|
|
670
|
+
async function llamaSlotWindow(cfg, fetchImpl, explicitOrigin) {
|
|
671
|
+
try {
|
|
672
|
+
let origin = explicitOrigin;
|
|
673
|
+
if (origin === undefined) {
|
|
674
|
+
const { resolveLlamaServerOrigin } = await import('../local-runtime/llama/config.js');
|
|
675
|
+
origin = resolveLlamaServerOrigin(cfg);
|
|
676
|
+
}
|
|
677
|
+
// The `-c` we launched it with, but only from a record that describes THIS
|
|
678
|
+
// server: a record for another port says nothing about the one answering.
|
|
679
|
+
let requestedContext = null;
|
|
680
|
+
try {
|
|
681
|
+
const { readOwnershipRecord } = await import('../local-runtime/llama/record.js');
|
|
682
|
+
const record = readOwnershipRecord();
|
|
683
|
+
const port = Number.parseInt(new URL(origin).port, 10);
|
|
684
|
+
if (record !== null && record.port === port && typeof record.requestedContext === 'number') {
|
|
685
|
+
requestedContext = record.requestedContext;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
catch {
|
|
689
|
+
requestedContext = null;
|
|
690
|
+
}
|
|
691
|
+
const reading = await probeLlamaSlotContext(fetchImpl, origin, { timeoutMs: OLLAMA_TIMEOUT_MS, requestedContext });
|
|
692
|
+
return reading.perSlot;
|
|
693
|
+
}
|
|
694
|
+
catch {
|
|
695
|
+
return null;
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
async function discoverLocalSeats(fetchImpl, baseUrl, preferred, dispatch, windows) {
|
|
546
699
|
// DISCOVERY IS OLLAMA'S, ALWAYS. `/api/tags` names the installed models and
|
|
547
700
|
// `/api/show` carries the context window and the `tools` capability that
|
|
548
701
|
// decides whether a tag can be a seat at all; llama-server implements
|
|
549
|
-
// neither. `dispatch`
|
|
702
|
+
// neither. `dispatch` changes where the resulting seats SEND turns — and, on
|
|
703
|
+
// the llama-server lane, the window (llama-server allocates per slot,
|
|
704
|
+
// whatever the tag's Modelfile says).
|
|
550
705
|
const probe = await probeOllamaTags(fetchImpl, baseUrl);
|
|
551
706
|
const localRuntime = {
|
|
552
707
|
ollama: { reachable: probe.reachable, baseUrl, models: probe.tags },
|
|
@@ -558,35 +713,71 @@ async function discoverLocalSeats(fetchImpl, baseUrl, preferred, dispatch) {
|
|
|
558
713
|
const launches = new Map();
|
|
559
714
|
if (!probe.reachable)
|
|
560
715
|
return { seats, launches, localRuntime };
|
|
561
|
-
// One /api/show per installed tag: it carries BOTH the
|
|
562
|
-
//
|
|
563
|
-
|
|
716
|
+
// One /api/show per installed tag: it carries BOTH the context facts and the
|
|
717
|
+
// tool capability that decides whether this can be a seat. The llama-server
|
|
718
|
+
// slot probe (if any) runs concurrently.
|
|
719
|
+
const [details, slotWindow] = await Promise.all([
|
|
720
|
+
Promise.all(probe.tags.map((tag) => probeOllamaModelDetail(fetchImpl, baseUrl, tag, OLLAMA_TIMEOUT_MS))),
|
|
721
|
+
windows.llamaSlot ?? Promise.resolve(null),
|
|
722
|
+
]);
|
|
564
723
|
const selectable = [];
|
|
565
724
|
probe.tags.forEach((tag, i) => {
|
|
566
725
|
const detail = details[i] ?? null;
|
|
567
|
-
if (
|
|
568
|
-
|
|
569
|
-
|
|
726
|
+
if (localSeatIsSelectable(detail, tag))
|
|
727
|
+
selectable.push({ tag, detail });
|
|
728
|
+
});
|
|
729
|
+
// Unpinned tags need what Ollama would ACTUALLY allocate an unpinned request:
|
|
730
|
+
// the server's default (its log, else our env). `/api/ps` residency is read
|
|
731
|
+
// only when no default is known — a resident runner may have been loaded by
|
|
732
|
+
// another client's `options.num_ctx`, so it is not what Verse's turns get
|
|
733
|
+
// (local-models.ts `resolveLocalContextWindow`). Both reads are skipped when
|
|
734
|
+
// every tag pins num_ctx or the llama-server slot already answered.
|
|
735
|
+
const needsServerFacts = slotWindow === null
|
|
736
|
+
&& selectable.some(({ detail }) => detail !== null && (detail.numCtx ?? null) === null);
|
|
737
|
+
const serverDefault = needsServerFacts ? windows.serverDefault() : null;
|
|
738
|
+
// (A tag with no native length cannot use the default either — it is never
|
|
739
|
+
// applied uncapped — so residency is its best fact too.)
|
|
740
|
+
const needsResidency = needsServerFacts && ((serverDefault?.contextLength ?? null) === null
|
|
741
|
+
|| selectable.some(({ detail }) => detail !== null && (detail.numCtx ?? null) === null && (detail.nativeContextLength ?? null) === null));
|
|
742
|
+
const resident = needsResidency ? await probeOllamaResident(fetchImpl, baseUrl, OLLAMA_TIMEOUT_MS) : null;
|
|
743
|
+
const residentByTag = new Map((resident ?? []).map((row) => [row.tag, row.contextLength]));
|
|
744
|
+
const observedAt = new Date().toISOString();
|
|
745
|
+
const built = selectable.map(({ tag, detail }) => {
|
|
746
|
+
const resolved = resolveLocalContextWindow({
|
|
570
747
|
tag,
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
748
|
+
lane: dispatch.lane,
|
|
749
|
+
llamaSlotWindow: slotWindow,
|
|
750
|
+
detail,
|
|
751
|
+
residentContext: residentByTag.get(tag) ?? null,
|
|
752
|
+
serverDefault,
|
|
575
753
|
});
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
selectable.forEach(({ tag, contextWindow }) => {
|
|
754
|
+
const notes = localWindowNotes(resolved, dispatch.lane, slotWindow !== null);
|
|
755
|
+
const label = localSeatLabel(tag);
|
|
756
|
+
const unavailableReason = localWindowUnusableReason(resolved.window);
|
|
757
|
+
const option = localModelOption(tag, label.replace(/ \(local\)$/, ''), resolved.window, resolved.source);
|
|
581
758
|
const seat = {
|
|
582
759
|
id: `local:${tag}`,
|
|
583
760
|
engine: 'local',
|
|
584
|
-
label
|
|
761
|
+
label,
|
|
585
762
|
accountId: 'local',
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
763
|
+
// Present only when set, so a usable seat's wire shape is unchanged.
|
|
764
|
+
models: [unavailableReason !== null ? { ...option, unavailableReason } : option],
|
|
765
|
+
contextWindow: resolved.window,
|
|
766
|
+
health: { state: 'ready', summary: null, windows: [], observedAt },
|
|
767
|
+
...(notes.length > 0 ? { notes } : {}),
|
|
589
768
|
};
|
|
769
|
+
return { tag, seat, usable: unavailableReason === null };
|
|
770
|
+
});
|
|
771
|
+
// Usable seats first, then preferred model first, then discovery order.
|
|
772
|
+
// `sort` is stable, so every tag that is not preferred keeps the order
|
|
773
|
+
// `/api/tags` reported it in — and a preferred tag whose window is too small
|
|
774
|
+
// never becomes the default ahead of one that can actually run.
|
|
775
|
+
built.sort((a, b) => {
|
|
776
|
+
if (a.usable !== b.usable)
|
|
777
|
+
return a.usable ? -1 : 1;
|
|
778
|
+
return localSeatPreferenceRank(a.tag, preferred) - localSeatPreferenceRank(b.tag, preferred);
|
|
779
|
+
});
|
|
780
|
+
built.forEach(({ seat }) => {
|
|
590
781
|
seats.push(seat);
|
|
591
782
|
launches.set(seat.id, {
|
|
592
783
|
seat,
|
|
@@ -621,7 +812,10 @@ export async function discoverSeats(cfg, opts = {}) {
|
|
|
621
812
|
// Codex-only evidence file.
|
|
622
813
|
const telemetry = buildSeatTelemetry(accountsRoot, { collector: opts.collector });
|
|
623
814
|
for (const account of accounts) {
|
|
624
|
-
|
|
815
|
+
// Models come from THIS seat's own catalog and pinned binary.
|
|
816
|
+
const profile = readSeatProfile(account.command, account.provider);
|
|
817
|
+
const built = nativeSeatModels(account.provider, profile, { claudeVersionsRoot: opts.claudeVersionsRoot });
|
|
818
|
+
const models = built.models;
|
|
625
819
|
const facets = nativeSeatFacets(account.id, account.provider, telemetry, claudeUsage);
|
|
626
820
|
const seat = {
|
|
627
821
|
id: account.id,
|
|
@@ -629,11 +823,19 @@ export async function discoverSeats(cfg, opts = {}) {
|
|
|
629
823
|
label: account.label,
|
|
630
824
|
accountId: account.id,
|
|
631
825
|
models,
|
|
632
|
-
|
|
826
|
+
// `models[0]` is the default and is always runnable (runnableFirst),
|
|
827
|
+
// so the seat's headline window is one a new session can actually get.
|
|
828
|
+
contextWindow: models.find((m) => !m.unavailableReason)?.contextWindow ?? null,
|
|
633
829
|
health: facets.health,
|
|
634
830
|
};
|
|
635
831
|
if (facets.capacity)
|
|
636
832
|
seat.capacity = facets.capacity;
|
|
833
|
+
// Both optional and absent when there is nothing to say, so an ordinary
|
|
834
|
+
// seat's wire shape does not change.
|
|
835
|
+
if (built.cliVersion !== null)
|
|
836
|
+
seat.cliVersion = built.cliVersion;
|
|
837
|
+
if (built.notes.length > 0)
|
|
838
|
+
seat.notes = built.notes;
|
|
637
839
|
seats.push(seat);
|
|
638
840
|
// The launcher command stays here — it is the account's identity.
|
|
639
841
|
launches.set(seat.id, { seat, launcher: account.command, ollamaBaseUrl });
|
|
@@ -647,9 +849,9 @@ export async function discoverSeats(cfg, opts = {}) {
|
|
|
647
849
|
};
|
|
648
850
|
try {
|
|
649
851
|
const dispatchBaseUrl = await resolveLocalDispatchBaseUrl(cfg, dispatchLane, ollamaBaseUrl);
|
|
650
|
-
const local = await discoverLocalSeats(fetchImpl, ollamaBaseUrl, preferredLocalTags(cfg), {
|
|
651
|
-
|
|
652
|
-
|
|
852
|
+
const local = await discoverLocalSeats(fetchImpl, ollamaBaseUrl, preferredLocalTags(cfg), { lane: dispatchLane, baseUrl: dispatchBaseUrl }, {
|
|
853
|
+
llamaSlot: dispatchLane === 'llama-server' ? llamaSlotWindow(cfg, fetchImpl, opts.llamaServerOrigin) : null,
|
|
854
|
+
serverDefault: () => (opts.ollamaServerDefault !== undefined ? opts.ollamaServerDefault : readOllamaServerDefault()),
|
|
653
855
|
});
|
|
654
856
|
localRuntime = local.localRuntime;
|
|
655
857
|
for (const seat of local.seats) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seats.js","sourceRoot":"","sources":["../../../src/core/verse/seats.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seats.js","sourceRoot":"","sources":["../../../src/core/verse/seats.ts"],"names":[],"mappings":"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"}
|