@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 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-6",
2051
- "claude-opus-4-6[1m]",
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-6": {
2093
- displayName: "Claude Opus 4.6",
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-7[1m]": {
2105
- displayName: "Claude Opus 4.7",
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
- return LEGACY_DEFAULT_MODEL;
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: isValidCoreModel ? rawModel : LEGACY_DEFAULT_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-7)."
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.0";
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.0" };
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");