@duvoai/cli 1.9.0 → 1.9.1
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/bin/duvo.js +25 -44
- package/dist/bin/duvo.js.map +2 -2
- package/package.json +1 -1
package/dist/bin/duvo.js
CHANGED
|
@@ -2047,12 +2047,8 @@ var PLATFORM_DEFAULT_MODELS = {
|
|
|
2047
2047
|
var CLAUDE_MODEL_IDS = [
|
|
2048
2048
|
"claude-sonnet-4-6",
|
|
2049
2049
|
"claude-sonnet-4-6[1m]",
|
|
2050
|
-
"claude-opus-4-
|
|
2051
|
-
"claude-opus-4-
|
|
2052
|
-
"claude-opus-4-7",
|
|
2053
|
-
"claude-opus-4-7[1m]",
|
|
2054
|
-
"claude-fable-5",
|
|
2055
|
-
"claude-fable-5[1m]"
|
|
2050
|
+
"claude-opus-4-8",
|
|
2051
|
+
"claude-opus-4-8[1m]"
|
|
2056
2052
|
];
|
|
2057
2053
|
var LEGACY_MODEL_IDS = [
|
|
2058
2054
|
// Old duvo wrapper aliases
|
|
@@ -2075,7 +2071,13 @@ var LEGACY_MODEL_IDS = [
|
|
|
2075
2071
|
"claude-sonnet-4-5-20250929",
|
|
2076
2072
|
"claude-sonnet-4-5-20250929[1m]",
|
|
2077
2073
|
"claude-opus-4-1-20250805",
|
|
2078
|
-
"claude-opus-4-5-20251101"
|
|
2074
|
+
"claude-opus-4-5-20251101",
|
|
2075
|
+
// Retired in favour of Opus 4.8 (migrated via LEGACY_MODEL_REMAP, not the
|
|
2076
|
+
// Sonnet default)
|
|
2077
|
+
"claude-opus-4-6",
|
|
2078
|
+
"claude-opus-4-6[1m]",
|
|
2079
|
+
"claude-opus-4-7",
|
|
2080
|
+
"claude-opus-4-7[1m]"
|
|
2079
2081
|
];
|
|
2080
2082
|
var ClaudeModelIdSchema = z12.enum([
|
|
2081
2083
|
...CLAUDE_MODEL_IDS,
|
|
@@ -2089,29 +2091,13 @@ var AVAILABLE_AGENT_MODELS = {
|
|
|
2089
2091
|
displayName: "Claude Sonnet 4.6",
|
|
2090
2092
|
description: "Fast and capable for everyday tasks"
|
|
2091
2093
|
},
|
|
2092
|
-
"claude-opus-4-
|
|
2093
|
-
displayName: "Claude Opus 4.
|
|
2094
|
-
description: "Advanced model for complex work"
|
|
2095
|
-
},
|
|
2096
|
-
"claude-opus-4-6[1m]": {
|
|
2097
|
-
displayName: "Claude Opus 4.6",
|
|
2098
|
-
description: "Advanced model for complex work"
|
|
2099
|
-
},
|
|
2100
|
-
"claude-opus-4-7": {
|
|
2101
|
-
displayName: "Claude Opus 4.7",
|
|
2094
|
+
"claude-opus-4-8": {
|
|
2095
|
+
displayName: "Claude Opus 4.8",
|
|
2102
2096
|
description: "Our most capable model \u2014 best for complex work"
|
|
2103
2097
|
},
|
|
2104
|
-
"claude-opus-4-
|
|
2105
|
-
displayName: "Claude Opus 4.
|
|
2098
|
+
"claude-opus-4-8[1m]": {
|
|
2099
|
+
displayName: "Claude Opus 4.8",
|
|
2106
2100
|
description: "Our most capable model \u2014 best for complex work"
|
|
2107
|
-
},
|
|
2108
|
-
"claude-fable-5": {
|
|
2109
|
-
displayName: "Claude Fable 5",
|
|
2110
|
-
description: "Our most powerful model for the most demanding work"
|
|
2111
|
-
},
|
|
2112
|
-
"claude-fable-5[1m]": {
|
|
2113
|
-
displayName: "Claude Fable 5",
|
|
2114
|
-
description: "Our most powerful model for the most demanding work"
|
|
2115
2101
|
}
|
|
2116
2102
|
};
|
|
2117
2103
|
var BrowsingModelIdSchema = z12.enum([
|
|
@@ -2123,19 +2109,21 @@ var BrowsingModelIdSchema = z12.enum([
|
|
|
2123
2109
|
"claude-opus-4-1"
|
|
2124
2110
|
]);
|
|
2125
2111
|
var LEGACY_DEFAULT_MODEL = "claude-sonnet-4-6[1m]";
|
|
2112
|
+
var LEGACY_MODEL_REMAP = {
|
|
2113
|
+
"claude-opus-4-6": "claude-opus-4-8",
|
|
2114
|
+
"claude-opus-4-6[1m]": "claude-opus-4-8[1m]",
|
|
2115
|
+
"claude-opus-4-7": "claude-opus-4-8",
|
|
2116
|
+
"claude-opus-4-7[1m]": "claude-opus-4-8[1m]"
|
|
2117
|
+
};
|
|
2126
2118
|
function mapModelToClaudeModel(model) {
|
|
2127
2119
|
if (model && CLAUDE_MODEL_IDS.includes(model)) {
|
|
2128
2120
|
return model;
|
|
2129
2121
|
}
|
|
2130
|
-
|
|
2122
|
+
const remapped = model != null && model !== "" ? LEGACY_MODEL_REMAP[model] : void 0;
|
|
2123
|
+
return remapped ?? LEGACY_DEFAULT_MODEL;
|
|
2131
2124
|
}
|
|
2132
2125
|
__name(mapModelToClaudeModel, "mapModelToClaudeModel");
|
|
2133
2126
|
__name2(mapModelToClaudeModel, "mapModelToClaudeModel");
|
|
2134
|
-
function isFableModelId(model) {
|
|
2135
|
-
return model != null && model.startsWith("claude-fable-5");
|
|
2136
|
-
}
|
|
2137
|
-
__name(isFableModelId, "isFableModelId");
|
|
2138
|
-
__name2(isFableModelId, "isFableModelId");
|
|
2139
2127
|
function isLegacyModelId(model) {
|
|
2140
2128
|
return model != null && model !== "" && !CLAUDE_MODEL_IDS.includes(model);
|
|
2141
2129
|
}
|
|
@@ -7960,11 +7948,6 @@ var FEATURE_FLAG_CATALOGUE = {
|
|
|
7960
7948
|
defaultValue: false,
|
|
7961
7949
|
description: "Enables the Move Agent to another team flow. Default-off while we monitor multi-table move semantics in prod; flip on for individual teams to grant access."
|
|
7962
7950
|
},
|
|
7963
|
-
FABLE_MODEL: {
|
|
7964
|
-
key: "fable_model",
|
|
7965
|
-
defaultValue: false,
|
|
7966
|
-
description: "Grants a team access to Claude Fable 5 in the agent model selector. Fable is premium-priced (2x Opus per token, ~30% more tokens from its new tokenizer), so it stays off by default and is flipped on per team. The runtime re-checks the flag at dispatch and falls back to the platform default model when a stored config requests Fable for a team whose flag is off."
|
|
7967
|
-
},
|
|
7968
7951
|
TEAM_ONTOLOGY: {
|
|
7969
7952
|
key: "team_ontology",
|
|
7970
7953
|
defaultValue: false,
|
|
@@ -9484,12 +9467,10 @@ __name2(extractIntegrationTypeFromServerLabel, "extractIntegrationTypeFromServer
|
|
|
9484
9467
|
function normalizeToEditableConfig(config) {
|
|
9485
9468
|
const hasNestedModels = "models" in config && config.models?.agent !== void 0;
|
|
9486
9469
|
if (hasNestedModels && config.models) {
|
|
9487
|
-
const rawModel = config.models.agent.model;
|
|
9488
|
-
const isValidCoreModel = !!rawModel && CLAUDE_MODEL_IDS.includes(rawModel);
|
|
9489
9470
|
return {
|
|
9490
9471
|
models: {
|
|
9491
9472
|
agent: {
|
|
9492
|
-
model:
|
|
9473
|
+
model: mapModelToClaudeModel(config.models.agent.model)
|
|
9493
9474
|
},
|
|
9494
9475
|
browsing: {
|
|
9495
9476
|
provider: config.models.browsing?.provider ?? PLATFORM_DEFAULT_MODELS.browsing.provider,
|
|
@@ -12760,7 +12741,7 @@ async function resolveModel(flag) {
|
|
|
12760
12741
|
}
|
|
12761
12742
|
if (!isInteractiveTerminal()) {
|
|
12762
12743
|
throw new CliError(
|
|
12763
|
-
"--model is required in non-interactive shells (e.g. --model claude-opus-4-
|
|
12744
|
+
"--model is required in non-interactive shells (e.g. --model claude-opus-4-8)."
|
|
12764
12745
|
);
|
|
12765
12746
|
}
|
|
12766
12747
|
const answer = await select({
|
|
@@ -26443,7 +26424,7 @@ __name(resolveActiveTeamId, "resolveActiveTeamId");
|
|
|
26443
26424
|
var version = resolveVersion();
|
|
26444
26425
|
function resolveVersion() {
|
|
26445
26426
|
if (true) {
|
|
26446
|
-
return "1.9.
|
|
26427
|
+
return "1.9.1";
|
|
26447
26428
|
}
|
|
26448
26429
|
const packageJsonPath = join3(
|
|
26449
26430
|
dirname3(fileURLToPath2(import.meta.url)),
|
|
@@ -26527,7 +26508,7 @@ function checkForUpdate() {
|
|
|
26527
26508
|
__name(checkForUpdate, "checkForUpdate");
|
|
26528
26509
|
function loadPackageMeta() {
|
|
26529
26510
|
if (true) {
|
|
26530
|
-
return { name: "@duvoai/cli", version: "1.9.
|
|
26511
|
+
return { name: "@duvoai/cli", version: "1.9.1" };
|
|
26531
26512
|
}
|
|
26532
26513
|
const require2 = createRequire(import.meta.url);
|
|
26533
26514
|
const raw = require2("../package.json");
|