@osanoai/multicli 1.5.8 → 1.5.10
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/modelCatalog.d.ts.map +1 -1
- package/dist/modelCatalog.js +26 -84
- package/dist/modelCatalog.js.map +1 -1
- package/dist/tierConfig.d.ts.map +1 -1
- package/dist/tierConfig.js +15 -15
- package/dist/tierConfig.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelCatalog.d.ts","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;
|
|
1
|
+
{"version":3,"file":"modelCatalog.d.ts","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAuFD,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAEzE;AAQD,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAgBxE"}
|
package/dist/modelCatalog.js
CHANGED
|
@@ -1,91 +1,26 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
import { TIER_CONFIG, CLI_NOTES } from './tierConfig.js';
|
|
3
|
-
let generatedData
|
|
3
|
+
let generatedData;
|
|
4
4
|
try {
|
|
5
5
|
const require = createRequire(import.meta.url);
|
|
6
|
-
|
|
6
|
+
const raw = require('./modelCatalog.generated.json');
|
|
7
|
+
if (!raw ||
|
|
8
|
+
typeof raw !== 'object' ||
|
|
9
|
+
!('catalogs' in raw) ||
|
|
10
|
+
typeof raw.catalogs !== 'object') {
|
|
11
|
+
throw new Error('invalid shape');
|
|
12
|
+
}
|
|
13
|
+
generatedData = raw;
|
|
7
14
|
}
|
|
8
15
|
catch {
|
|
9
|
-
|
|
16
|
+
throw new Error('Failed to load modelCatalog.generated.json. ' +
|
|
17
|
+
"If developing locally, run 'npm run refresh-catalog'. " +
|
|
18
|
+
'If using the published package, try reinstalling or upgrading.');
|
|
10
19
|
}
|
|
11
|
-
// ──
|
|
12
|
-
|
|
13
|
-
gemini: {
|
|
14
|
-
cli: 'gemini',
|
|
15
|
-
tiers: [
|
|
16
|
-
{
|
|
17
|
-
tier: 'fast',
|
|
18
|
-
label: 'Flash (DEFAULT)',
|
|
19
|
-
models: ['gemini-2.5-flash', 'gemini-2.5-flash-lite'],
|
|
20
|
-
useWhen: 'Simple questions, math, lookups, summaries, short code, trivial tasks. USE THIS BY DEFAULT.',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
tier: 'balanced',
|
|
24
|
-
label: 'Flash Preview',
|
|
25
|
-
models: ['gemini-3-flash-preview'],
|
|
26
|
-
useWhen: 'Moderate tasks needing newer capabilities but still fast. Multi-step but not deeply complex.',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
tier: 'powerful',
|
|
30
|
-
label: 'Pro',
|
|
31
|
-
models: ['gemini-3.1-pro-preview', 'gemini-2.5-pro'],
|
|
32
|
-
useWhen: 'ONLY for: complex analysis, deep reasoning, large codebase understanding, nuanced opinions, architectural decisions.',
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
note: 'Run Gemini-Help for the latest CLI options. Model IDs may change as Google releases new versions.',
|
|
36
|
-
},
|
|
37
|
-
codex: {
|
|
38
|
-
cli: 'codex',
|
|
39
|
-
tiers: [
|
|
40
|
-
{
|
|
41
|
-
tier: 'fast',
|
|
42
|
-
label: 'Codex Mini (DEFAULT)',
|
|
43
|
-
models: ['gpt-5.1-codex-mini'],
|
|
44
|
-
useWhen: 'Simple questions, math, lookups, short code snippets, trivial tasks. USE THIS BY DEFAULT.',
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
tier: 'balanced',
|
|
48
|
-
label: 'Codex',
|
|
49
|
-
models: ['gpt-5.2-codex'],
|
|
50
|
-
useWhen: 'Moderate coding tasks, multi-file changes, debugging, code review.',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
tier: 'powerful',
|
|
54
|
-
label: 'Codex Max / GPT',
|
|
55
|
-
models: ['gpt-5.3-codex', 'gpt-5.1-codex-max', 'gpt-5.2'],
|
|
56
|
-
useWhen: 'ONLY for: complex architecture, large refactors, deep reasoning, nuanced analysis, multi-step planning.',
|
|
57
|
-
},
|
|
58
|
-
],
|
|
59
|
-
note: 'Run Codex-Help for the latest CLI options. Model IDs may change as OpenAI releases new versions.',
|
|
60
|
-
},
|
|
61
|
-
claude: {
|
|
62
|
-
cli: 'claude',
|
|
63
|
-
tiers: [
|
|
64
|
-
{
|
|
65
|
-
tier: 'fast',
|
|
66
|
-
label: 'Haiku (DEFAULT)',
|
|
67
|
-
models: ['claude-haiku-4-5-20251001'],
|
|
68
|
-
useWhen: 'Simple questions, math, lookups, summaries, short code, trivial tasks. USE THIS BY DEFAULT.',
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
tier: 'balanced',
|
|
72
|
-
label: 'Sonnet',
|
|
73
|
-
models: ['claude-sonnet-4-6'],
|
|
74
|
-
useWhen: 'Moderate coding, analysis, multi-step tasks, following detailed instructions.',
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
tier: 'powerful',
|
|
78
|
-
label: 'Opus',
|
|
79
|
-
models: ['claude-opus-4-6'],
|
|
80
|
-
useWhen: 'ONLY for: complex reasoning, nuanced analysis, difficult multi-step tasks, architectural decisions.',
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
note: 'Run Claude-Help for the latest CLI options.',
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
// ── Build catalog from generated data ────────────────────────────────────────
|
|
20
|
+
// ── Build catalog from generated data (no static fallback — generated file
|
|
21
|
+
// is checked into git and always ships with the package) ──────────────────
|
|
87
22
|
function buildFromGenerated(cliName) {
|
|
88
|
-
const entry = generatedData
|
|
23
|
+
const entry = generatedData.catalogs[cliName];
|
|
89
24
|
if (!entry?.tiers?.length)
|
|
90
25
|
return null;
|
|
91
26
|
const tiers = [];
|
|
@@ -112,15 +47,22 @@ function buildFromGenerated(cliName) {
|
|
|
112
47
|
// ── Resolved catalogs ────────────────────────────────────────────────────────
|
|
113
48
|
const CATALOGS = {};
|
|
114
49
|
for (const cli of ['gemini', 'codex', 'claude']) {
|
|
115
|
-
|
|
50
|
+
const built = buildFromGenerated(cli);
|
|
51
|
+
if (!built) {
|
|
52
|
+
throw new Error(`No catalog entry for "${cli}" in generated data. ` +
|
|
53
|
+
"If developing locally, run 'npm run refresh-catalog'. " +
|
|
54
|
+
'If using the published package, try reinstalling or upgrading.');
|
|
55
|
+
}
|
|
56
|
+
CATALOGS[cli] = built;
|
|
116
57
|
}
|
|
117
58
|
// ── Public API (unchanged signatures) ────────────────────────────────────────
|
|
118
59
|
export function getCatalog(cli) {
|
|
119
60
|
return CATALOGS[cli];
|
|
120
61
|
}
|
|
121
|
-
const SELECTION_RULE = `MODEL SELECTION RULE:
|
|
122
|
-
`
|
|
123
|
-
`
|
|
62
|
+
const SELECTION_RULE = `MODEL SELECTION RULE: Default to the "balanced" tier for most tasks. ` +
|
|
63
|
+
`Use "powerful" for complex reasoning, architecture, nuanced analysis, or when quality matters most. ` +
|
|
64
|
+
`Reserve "fast" only for trivial lookups, simple math, or quick one-line answers. ` +
|
|
65
|
+
`When multiple model IDs are listed for a tier, prefer the one with the highest version number (newest and most capable).\n`;
|
|
124
66
|
export function formatCatalog(cli) {
|
|
125
67
|
const catalog = CATALOGS[cli];
|
|
126
68
|
const lines = [
|
package/dist/modelCatalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelCatalog.js","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiCzD,IAAI,
|
|
1
|
+
{"version":3,"file":"modelCatalog.js","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"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"}
|
package/dist/tierConfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tierConfig.d.ts","sourceRoot":"","sources":["../src/tierConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"tierConfig.d.ts","sourceRoot":"","sources":["../src/tierConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AACxD,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAiD5E,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAK7C,CAAC"}
|
package/dist/tierConfig.js
CHANGED
|
@@ -6,44 +6,44 @@
|
|
|
6
6
|
export const TIER_CONFIG = {
|
|
7
7
|
claude: {
|
|
8
8
|
fast: {
|
|
9
|
-
label: 'Haiku
|
|
10
|
-
useWhen: '
|
|
9
|
+
label: 'Haiku',
|
|
10
|
+
useWhen: 'Only for: trivial lookups, simple math, quick one-line answers.',
|
|
11
11
|
},
|
|
12
12
|
balanced: {
|
|
13
|
-
label: 'Sonnet',
|
|
14
|
-
useWhen: '
|
|
13
|
+
label: 'Sonnet (DEFAULT)',
|
|
14
|
+
useWhen: 'Most tasks: coding, analysis, multi-step work, debugging, code review. USE THIS BY DEFAULT.',
|
|
15
15
|
},
|
|
16
16
|
powerful: {
|
|
17
17
|
label: 'Opus',
|
|
18
|
-
useWhen: '
|
|
18
|
+
useWhen: 'Complex reasoning, nuanced analysis, architectural decisions, large refactors, or when you need the highest quality.',
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
21
|
gemini: {
|
|
22
22
|
fast: {
|
|
23
|
-
label: 'Flash
|
|
24
|
-
useWhen: '
|
|
23
|
+
label: 'Flash',
|
|
24
|
+
useWhen: 'Only for: trivial lookups, simple math, quick one-line answers.',
|
|
25
25
|
},
|
|
26
26
|
balanced: {
|
|
27
|
-
label: 'Flash Preview',
|
|
28
|
-
useWhen: '
|
|
27
|
+
label: 'Flash Preview (DEFAULT)',
|
|
28
|
+
useWhen: 'Most tasks: coding, analysis, multi-step work, debugging, code review. USE THIS BY DEFAULT.',
|
|
29
29
|
},
|
|
30
30
|
powerful: {
|
|
31
31
|
label: 'Pro',
|
|
32
|
-
useWhen: '
|
|
32
|
+
useWhen: 'Complex analysis, deep reasoning, large codebase understanding, nuanced opinions, architectural decisions.',
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
codex: {
|
|
36
36
|
fast: {
|
|
37
|
-
label: 'Codex Mini
|
|
38
|
-
useWhen: '
|
|
37
|
+
label: 'Codex Mini',
|
|
38
|
+
useWhen: 'Only for: trivial lookups, simple math, quick one-line answers.',
|
|
39
39
|
},
|
|
40
40
|
balanced: {
|
|
41
|
-
label: 'Codex',
|
|
42
|
-
useWhen: '
|
|
41
|
+
label: 'Codex (DEFAULT)',
|
|
42
|
+
useWhen: 'Most tasks: coding, analysis, multi-file changes, debugging, code review. USE THIS BY DEFAULT.',
|
|
43
43
|
},
|
|
44
44
|
powerful: {
|
|
45
45
|
label: 'Codex Max / GPT',
|
|
46
|
-
useWhen: '
|
|
46
|
+
useWhen: 'Complex architecture, large refactors, deep reasoning, nuanced analysis, multi-step planning.',
|
|
47
47
|
},
|
|
48
48
|
},
|
|
49
49
|
};
|
package/dist/tierConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tierConfig.js","sourceRoot":"","sources":["../src/tierConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,CAAC,MAAM,WAAW,GAAyD;IAC/E,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tierConfig.js","sourceRoot":"","sources":["../src/tierConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,CAAC,MAAM,WAAW,GAAyD;IAC/E,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,iEAAiE;SAC3E;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,kBAAkB;YACzB,OAAO,EACL,6FAA6F;SAChG;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM;YACb,OAAO,EACL,sHAAsH;SACzH;KACF;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,iEAAiE;SAC3E;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,yBAAyB;YAChC,OAAO,EACL,6FAA6F;SAChG;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,KAAK;YACZ,OAAO,EACL,4GAA4G;SAC/G;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,iEAAiE;SAC3E;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,iBAAiB;YACxB,OAAO,EACL,gGAAgG;SACnG;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,iBAAiB;YACxB,OAAO,EACL,+FAA+F;SAClG;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA4B;IAChD,MAAM,EAAE,6CAA6C;IACrD,MAAM,EACJ,mGAAmG;IACrG,KAAK,EAAE,kGAAkG;CAC1G,CAAC"}
|