ftown 0.25.1 → 0.25.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/command-rpc.d.ts +3 -0
- package/dist/command-rpc.js +41 -0
- package/dist/command-rpc.js.map +1 -1
- package/dist/ftown-cli.js +5 -2
- package/dist/ftown-cli.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/quota/agy.d.ts +16 -0
- package/dist/quota/agy.js +287 -0
- package/dist/quota/agy.js.map +1 -0
- package/dist/quota/annotate.d.ts +5 -0
- package/dist/quota/annotate.js +56 -0
- package/dist/quota/annotate.js.map +1 -0
- package/dist/quota/claude.d.ts +27 -0
- package/dist/quota/claude.js +265 -0
- package/dist/quota/claude.js.map +1 -0
- package/dist/quota/codex.d.ts +25 -0
- package/dist/quota/codex.js +378 -0
- package/dist/quota/codex.js.map +1 -0
- package/dist/quota/format.d.ts +6 -0
- package/dist/quota/format.js +113 -0
- package/dist/quota/format.js.map +1 -0
- package/dist/quota/grok.d.ts +97 -0
- package/dist/quota/grok.js +563 -0
- package/dist/quota/grok.js.map +1 -0
- package/dist/quota/models-agy.d.ts +10 -0
- package/dist/quota/models-agy.js +144 -0
- package/dist/quota/models-agy.js.map +1 -0
- package/dist/quota/models-claude.d.ts +10 -0
- package/dist/quota/models-claude.js +227 -0
- package/dist/quota/models-claude.js.map +1 -0
- package/dist/quota/models-codex.d.ts +18 -0
- package/dist/quota/models-codex.js +305 -0
- package/dist/quota/models-codex.js.map +1 -0
- package/dist/quota/models-grok.d.ts +19 -0
- package/dist/quota/models-grok.js +272 -0
- package/dist/quota/models-grok.js.map +1 -0
- package/dist/quota/models-muse.d.ts +13 -0
- package/dist/quota/models-muse.js +200 -0
- package/dist/quota/models-muse.js.map +1 -0
- package/dist/quota/models-opencode.d.ts +51 -0
- package/dist/quota/models-opencode.js +400 -0
- package/dist/quota/models-opencode.js.map +1 -0
- package/dist/quota/muse.d.ts +38 -0
- package/dist/quota/muse.js +225 -0
- package/dist/quota/muse.js.map +1 -0
- package/dist/quota/opencode.d.ts +7 -0
- package/dist/quota/opencode.js +47 -0
- package/dist/quota/opencode.js.map +1 -0
- package/dist/quota/routing-config.d.ts +18 -0
- package/dist/quota/routing-config.js +438 -0
- package/dist/quota/routing-config.js.map +1 -0
- package/dist/quota/routing-service.d.ts +24 -0
- package/dist/quota/routing-service.js +118 -0
- package/dist/quota/routing-service.js.map +1 -0
- package/dist/quota/routing.d.ts +10 -0
- package/dist/quota/routing.js +180 -0
- package/dist/quota/routing.js.map +1 -0
- package/dist/quota/types.d.ts +304 -0
- package/dist/quota/types.js +45 -0
- package/dist/quota/types.js.map +1 -0
- package/dist/quota-cli.d.ts +80 -0
- package/dist/quota-cli.js +462 -0
- package/dist/quota-cli.js.map +1 -0
- package/dist/security/bridge/permissions.js +4 -2
- package/dist/security/bridge/permissions.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/package.json +3 -2
- package/skills/ftown/SKILL.md +6 -4
- package/skills/ftown/references/orchestrator.md +5 -0
- package/skills/ftown/references/quota.md +177 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grok.js","sourceRoot":"","sources":["../../src/quota/grok.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ModelsFetcher, ProviderModels } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pure: maps the stdout of `agy models` onto a ProviderModels. ANSI escape
|
|
4
|
+
* sequences are stripped; a model line is a line with a TAB whose first field
|
|
5
|
+
* matches the id pattern; every other line is ignored. Output order is kept.
|
|
6
|
+
* No model lines yields status `error`. Never throws.
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseAgyModels(stdout: string, observedAt: string): ProviderModels;
|
|
9
|
+
/** Resolves the agy binary (same rules as fetchAgyQuota) and runs `agy models` with no shell. Never rejects. */
|
|
10
|
+
export declare const fetchAgyModels: ModelsFetcher;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { resolveAgyBinary } from './agy.js';
|
|
3
|
+
/**
|
|
4
|
+
* Google Antigravity (`agy` CLI) model list.
|
|
5
|
+
*
|
|
6
|
+
* Source: `agy models`, the CLI's own listing command. It makes a network call
|
|
7
|
+
* but never starts a model turn. stdout carries one model per line as
|
|
8
|
+
* `id<TAB>Display name`; the "Fetching available models..." progress line goes
|
|
9
|
+
* to stderr. Reasoning effort is encoded as an id suffix (-low, -medium, -high,
|
|
10
|
+
* -xhigh, -max), and each effort variant is its own selectable id.
|
|
11
|
+
*/
|
|
12
|
+
const MODEL_FLAG = '--model <id>';
|
|
13
|
+
const EFFORT_FLAG = '--effort <level>';
|
|
14
|
+
const UNEXPECTED_OUTPUT_MESSAGE = 'unexpected output from `agy models`';
|
|
15
|
+
const NOT_FOUND_MESSAGE = 'agy CLI not found';
|
|
16
|
+
const TIMED_OUT_MESSAGE = '`agy models` timed out';
|
|
17
|
+
const MAX_BUFFER_BYTES = 1024 * 1024;
|
|
18
|
+
const ID_PATTERN = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
19
|
+
const EFFORT_SUFFIX_PATTERN = /-(low|medium|high|xhigh|max)$/;
|
|
20
|
+
// eslint-disable-next-line no-control-regex
|
|
21
|
+
const ANSI_PATTERN = /\u001b\[[0-?]*[ -/]*[@-~]|\u001b\][^\u0007\u001b]*(?:\u0007|\u001b\\)/g;
|
|
22
|
+
function failure(status, observedAt, message) {
|
|
23
|
+
return {
|
|
24
|
+
provider: 'agy',
|
|
25
|
+
status,
|
|
26
|
+
models: [],
|
|
27
|
+
source: 'live',
|
|
28
|
+
observedAt,
|
|
29
|
+
message,
|
|
30
|
+
modelFlag: MODEL_FLAG,
|
|
31
|
+
effortFlag: EFFORT_FLAG,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function effortFromId(id) {
|
|
35
|
+
const match = EFFORT_SUFFIX_PATTERN.exec(id);
|
|
36
|
+
return match === null ? null : match[1];
|
|
37
|
+
}
|
|
38
|
+
function toModel(line) {
|
|
39
|
+
const tab = line.indexOf('\t');
|
|
40
|
+
if (tab < 0)
|
|
41
|
+
return null;
|
|
42
|
+
const id = line.slice(0, tab);
|
|
43
|
+
if (!ID_PATTERN.test(id))
|
|
44
|
+
return null;
|
|
45
|
+
const name = line.slice(tab + 1).trim();
|
|
46
|
+
const effort = effortFromId(id);
|
|
47
|
+
return {
|
|
48
|
+
id,
|
|
49
|
+
name: name.length > 0 ? name : null,
|
|
50
|
+
isDefault: false,
|
|
51
|
+
description: null,
|
|
52
|
+
contextTokens: null,
|
|
53
|
+
efforts: effort === null ? [] : [effort],
|
|
54
|
+
defaultEffort: effort,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Pure: maps the stdout of `agy models` onto a ProviderModels. ANSI escape
|
|
59
|
+
* sequences are stripped; a model line is a line with a TAB whose first field
|
|
60
|
+
* matches the id pattern; every other line is ignored. Output order is kept.
|
|
61
|
+
* No model lines yields status `error`. Never throws.
|
|
62
|
+
*/
|
|
63
|
+
export function parseAgyModels(stdout, observedAt) {
|
|
64
|
+
const models = [];
|
|
65
|
+
for (const raw of stdout.replace(ANSI_PATTERN, '').split(/\r?\n/)) {
|
|
66
|
+
const model = toModel(raw);
|
|
67
|
+
if (model !== null)
|
|
68
|
+
models.push(model);
|
|
69
|
+
}
|
|
70
|
+
if (models.length === 0) {
|
|
71
|
+
return failure('error', observedAt, UNEXPECTED_OUTPUT_MESSAGE);
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
provider: 'agy',
|
|
75
|
+
status: 'ok',
|
|
76
|
+
models,
|
|
77
|
+
source: 'live',
|
|
78
|
+
observedAt,
|
|
79
|
+
message: null,
|
|
80
|
+
modelFlag: MODEL_FLAG,
|
|
81
|
+
effortFlag: EFFORT_FLAG,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function observedNow(options) {
|
|
85
|
+
try {
|
|
86
|
+
return options.now().toISOString();
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return new Date().toISOString();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function runAgyModels(binary, timeoutMs, observedAt) {
|
|
93
|
+
return new Promise((resolve) => {
|
|
94
|
+
try {
|
|
95
|
+
execFile(binary, ['models'], {
|
|
96
|
+
timeout: timeoutMs,
|
|
97
|
+
killSignal: 'SIGKILL',
|
|
98
|
+
encoding: 'utf8',
|
|
99
|
+
maxBuffer: MAX_BUFFER_BYTES,
|
|
100
|
+
windowsHide: true,
|
|
101
|
+
}, (error, stdout) => {
|
|
102
|
+
try {
|
|
103
|
+
if (error) {
|
|
104
|
+
const code = error.code;
|
|
105
|
+
const killed = error.killed === true;
|
|
106
|
+
if (code === 'ENOENT') {
|
|
107
|
+
resolve(failure('unavailable', observedAt, NOT_FOUND_MESSAGE));
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (killed) {
|
|
111
|
+
resolve(failure('error', observedAt, TIMED_OUT_MESSAGE));
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const shown = typeof code === 'number' ? String(code) : 'unknown';
|
|
115
|
+
resolve(failure('error', observedAt, `\`agy models\` failed (exit ${shown})`));
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
resolve(parseAgyModels(String(stdout), observedAt));
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
resolve(failure('error', observedAt, UNEXPECTED_OUTPUT_MESSAGE));
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
resolve(failure('error', observedAt, '`agy models` failed to start'));
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
/** Resolves the agy binary (same rules as fetchAgyQuota) and runs `agy models` with no shell. Never rejects. */
|
|
131
|
+
export const fetchAgyModels = async (options) => {
|
|
132
|
+
const observedAt = observedNow(options);
|
|
133
|
+
let binary = null;
|
|
134
|
+
try {
|
|
135
|
+
binary = await resolveAgyBinary(options.homeDir, process.env.PATH);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
binary = null;
|
|
139
|
+
}
|
|
140
|
+
if (binary === null)
|
|
141
|
+
return failure('unavailable', observedAt, NOT_FOUND_MESSAGE);
|
|
142
|
+
return runAgyModels(binary, options.timeoutMs, observedAt);
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=models-agy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models-agy.js","sourceRoot":"","sources":["../../src/quota/models-agy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ModelsFetcher, ProviderModels } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pure: maps a parsed published-*.json catalogue file to a ProviderModels.
|
|
4
|
+
* `fileJson` is the file content as parsed by JSON.parse (not yet base64-decoded).
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseClaudeModelCatalog(fileJson: unknown, settingsModel: string | null, observedAt: string): ProviderModels;
|
|
7
|
+
/** Pure: the catalogue's expires_at as an ISO instant, or null when absent or unparseable. */
|
|
8
|
+
export declare function claudeCatalogExpiry(fileJson: unknown): string | null;
|
|
9
|
+
/** Reads the newest Claude model catalogue under options.homeDir. Never throws. */
|
|
10
|
+
export declare const fetchClaudeModels: ModelsFetcher;
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
/**
|
|
4
|
+
* Claude Code model list. There is no CLI command that lists models, so this
|
|
5
|
+
* reads the signed catalogue cache that Claude Code keeps under
|
|
6
|
+
* `<homeDir>/.claude/cache/model-catalog/published-*.json`. Each file carries
|
|
7
|
+
* the catalogue document base64-encoded in `documentBytes`. The user's default
|
|
8
|
+
* model comes from the `model` key of `<homeDir>/.claude/settings.json` when
|
|
9
|
+
* present, otherwise from the catalogue's own default for the `cc` surface.
|
|
10
|
+
*/
|
|
11
|
+
const CATALOGUE_DIR = ['.claude', 'cache', 'model-catalog'];
|
|
12
|
+
const SETTINGS_PATH = ['.claude', 'settings.json'];
|
|
13
|
+
const CATALOGUE_FILE_PATTERN = /^published-.*\.json$/;
|
|
14
|
+
const SURFACE = 'cc';
|
|
15
|
+
const MODEL_FLAG = '--model <id>';
|
|
16
|
+
const EFFORT_FLAG = '--effort <level>';
|
|
17
|
+
const UNAVAILABLE_MESSAGE = 'Claude model catalogue not found (open claude once to create it)';
|
|
18
|
+
const UNRECOGNISED_MESSAGE = 'unrecognised Claude model catalogue format';
|
|
19
|
+
const MODEL_SUFFIX_PATTERN = /\[[^\][]*\]$/;
|
|
20
|
+
const BASE64_PATTERN = /^[A-Za-z0-9+/]*={0,2}$/;
|
|
21
|
+
const MISSING_CODES = new Set(['ENOENT', 'ENOTDIR']);
|
|
22
|
+
function isRecord(value) {
|
|
23
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
24
|
+
}
|
|
25
|
+
function errnoCode(error) {
|
|
26
|
+
if (isRecord(error) && typeof error.code === 'string' && /^E[A-Z0-9]+$/.test(error.code)) {
|
|
27
|
+
return error.code;
|
|
28
|
+
}
|
|
29
|
+
return 'UNKNOWN';
|
|
30
|
+
}
|
|
31
|
+
function decodeDocument(documentBytes) {
|
|
32
|
+
if (typeof documentBytes !== 'string')
|
|
33
|
+
return undefined;
|
|
34
|
+
const compact = documentBytes.replace(/\s/g, '');
|
|
35
|
+
if (compact.length === 0 || compact.length % 4 !== 0 || !BASE64_PATTERN.test(compact)) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
return JSON.parse(Buffer.from(compact, 'base64').toString('utf8'));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function errorModels(observedAt, message) {
|
|
46
|
+
return {
|
|
47
|
+
provider: 'claude',
|
|
48
|
+
status: 'error',
|
|
49
|
+
models: [],
|
|
50
|
+
source: 'cached',
|
|
51
|
+
observedAt,
|
|
52
|
+
message,
|
|
53
|
+
modelFlag: MODEL_FLAG,
|
|
54
|
+
effortFlag: EFFORT_FLAG,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function stringOrNull(value) {
|
|
58
|
+
return typeof value === 'string' ? value : null;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Resolves the settings model (alias, full id, or either with a "[1m]"-style
|
|
62
|
+
* suffix) to a catalogue id. Returns null when nothing matches.
|
|
63
|
+
*/
|
|
64
|
+
function resolveSettingsModel(settingsModel, aliasTargets, ids) {
|
|
65
|
+
if (settingsModel === null)
|
|
66
|
+
return null;
|
|
67
|
+
const bare = settingsModel.trim().replace(MODEL_SUFFIX_PATTERN, '').trim();
|
|
68
|
+
if (ids.includes(bare))
|
|
69
|
+
return bare;
|
|
70
|
+
const target = aliasTargets[bare];
|
|
71
|
+
if (isRecord(target) && typeof target.default === 'string' && ids.includes(target.default)) {
|
|
72
|
+
return target.default;
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
function buildModel(entry) {
|
|
77
|
+
const runtime = isRecord(entry.runtime) ? entry.runtime : {};
|
|
78
|
+
const maxInput = runtime.max_input_tokens;
|
|
79
|
+
const efforts = Array.isArray(runtime.effort_levels)
|
|
80
|
+
? runtime.effort_levels.filter((level) => typeof level === 'string')
|
|
81
|
+
: [];
|
|
82
|
+
const declaredDefault = stringOrNull(runtime.default_effort);
|
|
83
|
+
return {
|
|
84
|
+
id: entry.id,
|
|
85
|
+
name: stringOrNull(entry.name),
|
|
86
|
+
isDefault: false,
|
|
87
|
+
description: stringOrNull(entry.description),
|
|
88
|
+
contextTokens: typeof maxInput === 'number' && Number.isFinite(maxInput) ? maxInput : null,
|
|
89
|
+
efforts,
|
|
90
|
+
defaultEffort: declaredDefault !== null && efforts.includes(declaredDefault) ? declaredDefault : null,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Pure: maps a parsed published-*.json catalogue file to a ProviderModels.
|
|
95
|
+
* `fileJson` is the file content as parsed by JSON.parse (not yet base64-decoded).
|
|
96
|
+
*/
|
|
97
|
+
export function parseClaudeModelCatalog(fileJson, settingsModel, observedAt) {
|
|
98
|
+
if (!isRecord(fileJson))
|
|
99
|
+
return errorModels(observedAt, UNRECOGNISED_MESSAGE);
|
|
100
|
+
const doc = decodeDocument(fileJson.documentBytes);
|
|
101
|
+
if (!isRecord(doc) || !isRecord(doc.surfaces))
|
|
102
|
+
return errorModels(observedAt, UNRECOGNISED_MESSAGE);
|
|
103
|
+
const surface = doc.surfaces[SURFACE];
|
|
104
|
+
if (!isRecord(surface))
|
|
105
|
+
return errorModels(observedAt, UNRECOGNISED_MESSAGE);
|
|
106
|
+
const configs = surface.model_selector_config;
|
|
107
|
+
const config = Array.isArray(configs) && isRecord(configs[0]) ? configs[0] : null;
|
|
108
|
+
const entries = config && Array.isArray(config.models) ? config.models : null;
|
|
109
|
+
if (!config || !entries || entries.length === 0)
|
|
110
|
+
return errorModels(observedAt, UNRECOGNISED_MESSAGE);
|
|
111
|
+
if (!entries.every((entry) => isRecord(entry) && typeof entry.id === 'string')) {
|
|
112
|
+
return errorModels(observedAt, UNRECOGNISED_MESSAGE);
|
|
113
|
+
}
|
|
114
|
+
const models = entries.map(buildModel);
|
|
115
|
+
const ids = models.map((model) => model.id);
|
|
116
|
+
const states = surface.model_selector_state;
|
|
117
|
+
const state = Array.isArray(states) && isRecord(states[0]) ? states[0] : null;
|
|
118
|
+
const catalogueDefault = state ? stringOrNull(state.model) : null;
|
|
119
|
+
const aliasTargets = isRecord(config.provider_alias_targets) ? config.provider_alias_targets : {};
|
|
120
|
+
const defaultId = resolveSettingsModel(settingsModel, aliasTargets, ids) ??
|
|
121
|
+
(catalogueDefault !== null && ids.includes(catalogueDefault) ? catalogueDefault : null);
|
|
122
|
+
if (defaultId !== null) {
|
|
123
|
+
const index = ids.indexOf(defaultId);
|
|
124
|
+
models[index] = { ...models[index], isDefault: true };
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
provider: 'claude',
|
|
128
|
+
status: 'ok',
|
|
129
|
+
models,
|
|
130
|
+
source: 'cached',
|
|
131
|
+
observedAt,
|
|
132
|
+
message: null,
|
|
133
|
+
modelFlag: MODEL_FLAG,
|
|
134
|
+
effortFlag: EFFORT_FLAG,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
async function listCatalogueCandidates(dir) {
|
|
138
|
+
const names = (await readdir(dir)).filter((name) => CATALOGUE_FILE_PATTERN.test(name));
|
|
139
|
+
const candidates = [];
|
|
140
|
+
for (const name of names) {
|
|
141
|
+
const path = join(dir, name);
|
|
142
|
+
try {
|
|
143
|
+
candidates.push({ path, mtime: (await stat(path)).mtime });
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return candidates.sort((a, b) => b.mtime.getTime() - a.mtime.getTime());
|
|
150
|
+
}
|
|
151
|
+
/** Pure: the catalogue's expires_at as an ISO instant, or null when absent or unparseable. */
|
|
152
|
+
export function claudeCatalogExpiry(fileJson) {
|
|
153
|
+
if (!isRecord(fileJson))
|
|
154
|
+
return null;
|
|
155
|
+
const doc = decodeDocument(fileJson.documentBytes);
|
|
156
|
+
if (!isRecord(doc) || typeof doc.expires_at !== 'string')
|
|
157
|
+
return null;
|
|
158
|
+
const ms = Date.parse(doc.expires_at);
|
|
159
|
+
return Number.isNaN(ms) ? null : new Date(ms).toISOString();
|
|
160
|
+
}
|
|
161
|
+
async function readSettingsModel(homeDir) {
|
|
162
|
+
try {
|
|
163
|
+
const parsed = JSON.parse(await readFile(join(homeDir, ...SETTINGS_PATH), 'utf8'));
|
|
164
|
+
if (!isRecord(parsed))
|
|
165
|
+
return null;
|
|
166
|
+
return typeof parsed.model === 'string' && parsed.model.trim() !== '' ? parsed.model : null;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async function readCatalogueJson(path) {
|
|
173
|
+
try {
|
|
174
|
+
return JSON.parse(await readFile(path, 'utf8'));
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function unavailable(observedAt) {
|
|
181
|
+
return {
|
|
182
|
+
provider: 'claude',
|
|
183
|
+
status: 'unavailable',
|
|
184
|
+
models: [],
|
|
185
|
+
source: 'cached',
|
|
186
|
+
observedAt,
|
|
187
|
+
message: UNAVAILABLE_MESSAGE,
|
|
188
|
+
modelFlag: MODEL_FLAG,
|
|
189
|
+
effortFlag: EFFORT_FLAG,
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/** Reads the newest Claude model catalogue under options.homeDir. Never throws. */
|
|
193
|
+
export const fetchClaudeModels = async (options) => {
|
|
194
|
+
const nowIso = new Date(options.now().getTime()).toISOString();
|
|
195
|
+
try {
|
|
196
|
+
const dir = join(options.homeDir, ...CATALOGUE_DIR);
|
|
197
|
+
let candidates;
|
|
198
|
+
try {
|
|
199
|
+
candidates = await listCatalogueCandidates(dir);
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
if (MISSING_CODES.has(errnoCode(error)))
|
|
203
|
+
return unavailable(nowIso);
|
|
204
|
+
return errorModels(nowIso, `could not read Claude model catalogue (${errnoCode(error)})`);
|
|
205
|
+
}
|
|
206
|
+
if (candidates.length === 0)
|
|
207
|
+
return unavailable(nowIso);
|
|
208
|
+
const settingsModel = await readSettingsModel(options.homeDir);
|
|
209
|
+
for (const candidate of candidates) {
|
|
210
|
+
const fileJson = await readCatalogueJson(candidate.path);
|
|
211
|
+
const parsed = parseClaudeModelCatalog(fileJson, settingsModel, candidate.mtime.toISOString());
|
|
212
|
+
if (parsed.status !== 'ok')
|
|
213
|
+
continue;
|
|
214
|
+
const expiresAt = claudeCatalogExpiry(fileJson);
|
|
215
|
+
if (expiresAt !== null && Date.parse(expiresAt) < options.now().getTime()) {
|
|
216
|
+
const day = expiresAt.slice(0, 10);
|
|
217
|
+
return { ...parsed, message: `Claude model catalogue expired on ${day}; open claude to refresh it` };
|
|
218
|
+
}
|
|
219
|
+
return parsed;
|
|
220
|
+
}
|
|
221
|
+
return errorModels(nowIso, UNRECOGNISED_MESSAGE);
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
return errorModels(nowIso, `could not read Claude model catalogue (${errnoCode(error)})`);
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
//# sourceMappingURL=models-claude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models-claude.js","sourceRoot":"","sources":["../../src/quota/models-claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ModelsFetcher, ProviderModels } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pure: maps the parsed model catalogue onto a ProviderModels. Accepts an
|
|
4
|
+
* array, or an object holding the array under `models` or `data`. Hidden
|
|
5
|
+
* entries are excluded. Never throws.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseCodexModels(data: unknown, configModel: string | null, configEffort: string | null, source: 'live' | 'cached', observedAt: string): ProviderModels;
|
|
8
|
+
/**
|
|
9
|
+
* Pure: reads the top-level `model` and `model_reasoning_effort` string values
|
|
10
|
+
* from a Codex config.toml. Stops at the first `[section]` header, so keys
|
|
11
|
+
* inside tables are ignored. Lines inside multi-line strings are skipped, so
|
|
12
|
+
* keys written there are not read. Missing or unquoted values yield null.
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseCodexConfigDefaults(tomlText: string): {
|
|
15
|
+
model: string | null;
|
|
16
|
+
effort: string | null;
|
|
17
|
+
};
|
|
18
|
+
export declare const fetchCodexModels: ModelsFetcher;
|