free-coding-models 0.3.65 → 0.3.67
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 +40 -5
- package/README.md +132 -35
- package/bin/free-coding-models.js +1 -9
- package/package.json +4 -5
- package/sources.js +1 -10
- package/src/app.js +2 -0
- package/src/cli-help.js +2 -3
- package/src/endpoint-installer.js +63 -1
- package/src/key-handler.js +1 -1
- package/src/router-daemon.js +351 -15
- package/src/tool-bootstrap.js +22 -0
- package/src/tool-launchers.js +144 -0
- package/src/tool-metadata.js +7 -2
- package/src/utils.js +8 -2
- package/web/dist/assets/{index-DqMmOpV2.js → index-DCwSuNgI.js} +2 -2
- package/web/dist/index.html +1 -1
package/src/tool-metadata.js
CHANGED
|
@@ -46,6 +46,8 @@ export const TOOL_METADATA = {
|
|
|
46
46
|
jcode: { label: 'jcode', emoji: '🪼', flag: '--jcode', color: [255, 140, 0] },
|
|
47
47
|
xcode: { label: 'Xcode Intelligence',emoji: '🛠️', flag: '--xcode', color: [20, 126, 251] },
|
|
48
48
|
fcm_router: { label: 'FCM Router', emoji: '🧭', flag: '--fcm-router', color: [80, 200, 120] },
|
|
49
|
+
copilot: { label: 'Copilot CLI', emoji: '🤖', flag: '--copilot', color: [200, 220, 255] },
|
|
50
|
+
forgecode: { label: 'ForgeCode', emoji: '🔥', flag: '--forgecode', color: [255, 120, 50] },
|
|
49
51
|
}
|
|
50
52
|
|
|
51
53
|
// 📖 Deduplicated emoji order for the "Compatible with" column.
|
|
@@ -64,13 +66,14 @@ export const COMPAT_COLUMN_SLOTS = [
|
|
|
64
66
|
{ emoji: '⚡', toolKeys: ['amp'], color: [255, 232, 98] },
|
|
65
67
|
{ emoji: '🔮', toolKeys: ['hermes'], color: [200, 160, 255] },
|
|
66
68
|
{ emoji: '▶️', toolKeys: ['continue'], color: [255, 100, 100] },
|
|
67
|
-
{ emoji: '🧠', toolKeys: ['cline'],
|
|
69
|
+
{ emoji: '🧠', toolKeys: ['cline'], color: [100, 220, 180] },
|
|
68
70
|
{ emoji: '🧭', toolKeys: ['fcm_router'], color: [80, 200, 120] },
|
|
69
71
|
{ emoji: '🦘', toolKeys: ['rovo'], color: [148, 163, 184] },
|
|
70
72
|
{ emoji: '♊', toolKeys: ['gemini'], color: [66, 165, 245] },
|
|
71
73
|
{ emoji: '🪼', toolKeys: ['jcode'], color: [255, 140, 0] },
|
|
72
74
|
{ emoji: '🛠️', toolKeys: ['xcode'], color: [20, 126, 251] },
|
|
73
|
-
{ emoji: '
|
|
75
|
+
{ emoji: '🤖', toolKeys: ['copilot'], color: [200, 220, 255] },
|
|
76
|
+
{ emoji: '🔥', toolKeys: ['forgecode'], color: [255, 120, 50] },
|
|
74
77
|
]
|
|
75
78
|
|
|
76
79
|
export const TOOL_MODE_ORDER = [
|
|
@@ -94,6 +97,8 @@ export const TOOL_MODE_ORDER = [
|
|
|
94
97
|
'fcm_router',
|
|
95
98
|
'rovo',
|
|
96
99
|
'gemini',
|
|
100
|
+
'copilot',
|
|
101
|
+
'forgecode',
|
|
97
102
|
]
|
|
98
103
|
|
|
99
104
|
export function getToolMeta(mode) {
|
package/src/utils.js
CHANGED
|
@@ -389,14 +389,16 @@ export function findBestModel(results) {
|
|
|
389
389
|
// - API key: first positional arg that does not look like a CLI flag (e.g., "nvapi-xxx")
|
|
390
390
|
// - Boolean flags: --best, --fiable, --opencode, --opencode-desktop, --opencode-web, --openclaw,
|
|
391
391
|
// --aider, --crush, --goose, --qwen, --kilo,
|
|
392
|
-
// --openhands, --amp, --pi, --
|
|
392
|
+
// --openhands, --amp, --pi, --rovo, --hermes, --continue, --cline,
|
|
393
|
+
// --xcode, --gemini, --jcode, --copilot, --forgecode,
|
|
394
|
+
// --daemon, --daemon-bg, --daemon-stop,
|
|
393
395
|
// --daemon-status, --no-telemetry, --json, --help/-h (case-insensitive)
|
|
394
396
|
// - Value flag: --tier <letter> (the next non-flag arg is the tier value)
|
|
395
397
|
//
|
|
396
398
|
// Returns:
|
|
397
399
|
// { apiKey, bestMode, fiableMode, openCodeMode, openCodeDesktopMode, openCodeWebMode, openClawMode,
|
|
398
400
|
// aiderMode, crushMode, gooseMode, qwenMode, openHandsMode, ampMode,
|
|
399
|
-
// piMode, jcodeMode, noTelemetry, jsonMode, helpMode, tierFilter }
|
|
401
|
+
// piMode, jcodeMode, copilotMode, forgecodeMode, noTelemetry, jsonMode, helpMode, tierFilter }
|
|
400
402
|
//
|
|
401
403
|
// 📖 Note: apiKey may be null here — the main CLI falls back to env vars and saved config.
|
|
402
404
|
export function parseArgs(argv) {
|
|
@@ -471,6 +473,8 @@ export function parseArgs(argv) {
|
|
|
471
473
|
const xcodeMode = flags.includes('--xcode')
|
|
472
474
|
const geminiMode = flags.includes('--gemini')
|
|
473
475
|
const jcodeMode = flags.includes('--jcode')
|
|
476
|
+
const copilotMode = flags.includes('--copilot')
|
|
477
|
+
const forgecodeMode = flags.includes('--forgecode')
|
|
474
478
|
const noTelemetry = flags.includes('--no-telemetry')
|
|
475
479
|
const devMode = flags.includes('--dev')
|
|
476
480
|
const jsonMode = flags.includes('--json')
|
|
@@ -528,6 +532,8 @@ export function parseArgs(argv) {
|
|
|
528
532
|
rovoMode,
|
|
529
533
|
geminiMode,
|
|
530
534
|
jcodeMode,
|
|
535
|
+
copilotMode,
|
|
536
|
+
forgecodeMode,
|
|
531
537
|
noTelemetry,
|
|
532
538
|
jsonMode,
|
|
533
539
|
helpMode,
|