@vellumai/assistant 0.11.1-staging.2 → 0.11.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/assistant",
3
- "version": "0.11.1-staging.2",
3
+ "version": "0.11.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "exports": {
@@ -650,7 +650,7 @@ describe("loadConfig startup behavior", () => {
650
650
  expect(raw.llm.profiles).toEqual({});
651
651
  // Default content resolves from the code catalog via the effective view.
652
652
  const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
653
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
653
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
654
654
  expect(effectiveBalanced?.provider).toBe("vellum");
655
655
  expect(effectiveBalanced?.provider_connection).toBeUndefined();
656
656
  });
@@ -978,7 +978,7 @@ describe("loadConfig startup behavior", () => {
978
978
  // Resolution ignores the drifted body: a managed-source entry contributes
979
979
  // only label/status/topP, everything else comes from the catalog.
980
980
  const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
981
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
981
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
982
982
  expect(effectiveBalanced?.provider_connection).toBeUndefined();
983
983
  });
984
984
 
@@ -1058,7 +1058,7 @@ describe("loadConfig startup behavior", () => {
1058
1058
  expect(raw.llm.profiles.balanced).toEqual(drifted);
1059
1059
  expect(raw.llm.activeProfile).toBe("balanced");
1060
1060
  const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
1061
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
1061
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
1062
1062
  expect(effectiveBalanced?.maxTokens).toBe(32000);
1063
1063
  expect(effectiveBalanced?.provider_connection).toBeUndefined();
1064
1064
  // The catalog body carries no topP and the entry has none, so the
@@ -1090,7 +1090,7 @@ describe("loadConfig startup behavior", () => {
1090
1090
  expect(raw.llm.profiles.balanced).toEqual(edited);
1091
1091
  const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
1092
1092
  // Content is served from the catalog...
1093
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
1093
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
1094
1094
  // ...with the user's label and status overlaid.
1095
1095
  expect(effectiveBalanced?.label).toBe("My Default");
1096
1096
  expect(effectiveBalanced?.status).toBe("disabled");
@@ -1115,7 +1115,7 @@ describe("loadConfig startup behavior", () => {
1115
1115
  expect(raw.llm.profiles.balanced).toEqual(stub);
1116
1116
  const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
1117
1117
  expect(effectiveBalanced?.label).toBe("My Default");
1118
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
1118
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
1119
1119
  });
1120
1120
 
1121
1121
  test("off-platform boot preserves user-toggled status on a managed stub", () => {
@@ -1137,7 +1137,7 @@ describe("loadConfig startup behavior", () => {
1137
1137
  expect(effectiveBalanced?.status).toBe("disabled");
1138
1138
  // Content still comes from the catalog — only label/status/topP are
1139
1139
  // workspace-owned.
1140
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
1140
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
1141
1141
  });
1142
1142
 
1143
1143
  test("boot preserves a user-edited topP override on a managed stub", () => {
@@ -1161,7 +1161,7 @@ describe("loadConfig startup behavior", () => {
1161
1161
  expect(effectiveBalanced?.topP).toBe(0.5);
1162
1162
  // Content still comes from the catalog — topP is workspace-owned, the
1163
1163
  // rest is code-owned.
1164
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
1164
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
1165
1165
  });
1166
1166
 
1167
1167
  test("effective balanced profile carries no topP override by default", () => {
@@ -1216,7 +1216,7 @@ describe("loadConfig startup behavior", () => {
1216
1216
  expect(raw.llm.profiles.balanced).toBeUndefined();
1217
1217
  const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
1218
1218
  expect(effectiveBalanced?.label).toBe("Balanced");
1219
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
1219
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
1220
1220
  // Status is unset — the default resolves active.
1221
1221
  expect("status" in (effectiveBalanced ?? {})).toBe(false);
1222
1222
  });
@@ -1295,7 +1295,7 @@ describe("loadConfig startup behavior", () => {
1295
1295
  // overlay boot. The overlay-set label is what shows through the
1296
1296
  // effective view.
1297
1297
  expect(mainAgentConfig.provider).toBe("vellum");
1298
- expect(mainAgentConfig.model).toBe("accounts/fireworks/models/glm-5p2");
1298
+ expect(mainAgentConfig.model).toBe("gpt-5.6-luna");
1299
1299
 
1300
1300
  const raw = JSON.parse(readFileSync(CONFIG_PATH, "utf-8"));
1301
1301
  expect(raw.llm.profiles.balanced).toEqual({
@@ -1326,7 +1326,7 @@ describe("loadConfig startup behavior", () => {
1326
1326
  );
1327
1327
  expect(effectiveBalanced?.provider).toBe("vellum");
1328
1328
  expect(effectiveBalanced?.provider_connection).toBeUndefined();
1329
- expect(effectiveBalanced?.model).toBe("accounts/fireworks/models/glm-5p2");
1329
+ expect(effectiveBalanced?.model).toBe("gpt-5.6-luna");
1330
1330
  expect(effectiveBalanced?.maxTokens).toBe(32000);
1331
1331
  expect(effectiveBalanced?.thinking).toEqual({
1332
1332
  enabled: true,
@@ -1067,7 +1067,7 @@ describe("code-owned default profiles — wire view and write normalization", ()
1067
1067
  });
1068
1068
  const response = (await getRoute.handler({})) as Record<string, any>;
1069
1069
  const wireBalanced = response.llm.profiles.balanced;
1070
- expect(wireBalanced.model).toBe("accounts/fireworks/models/glm-5p2");
1070
+ expect(wireBalanced.model).toBe("gpt-5.6-luna");
1071
1071
  expect(wireBalanced.provider).toBe("vellum");
1072
1072
  expect(wireBalanced.provider_connection).toBeUndefined();
1073
1073
  expect(wireBalanced.status).toBe("disabled");
@@ -1314,9 +1314,7 @@ describe("code-owned default profiles — echoes over stale on-disk bodies", ()
1314
1314
  });
1315
1315
  const response = (await getRoute.handler({})) as Record<string, any>;
1316
1316
  // The wire view serves catalog content, not the stale body.
1317
- expect(response.llm.profiles.balanced.model).toBe(
1318
- "accounts/fireworks/models/glm-5p2",
1319
- );
1317
+ expect(response.llm.profiles.balanced.model).toBe("gpt-5.6-luna");
1320
1318
  const result = await patchRoute.handler({
1321
1319
  body: { llm: { profiles: response.llm.profiles } },
1322
1320
  });
@@ -55,6 +55,15 @@ describe("getEffectiveProfiles", () => {
55
55
  }
56
56
  });
57
57
 
58
+ test("the managed Balanced profile routes GPT-5.6 Luna through OpenAI", () => {
59
+ const balanced = CODE_DEFAULT_PROFILE_ENTRIES.balanced;
60
+ expect(balanced.model).toBe("gpt-5.6-luna");
61
+ expect(resolveRoutingIdentity(balanced.provider, balanced.model)).toEqual({
62
+ connectionName: "vellum",
63
+ expectedProvider: "openai",
64
+ });
65
+ });
66
+
58
67
  test("the managed Quality profile routes GPT-5.6 Sol through OpenAI", () => {
59
68
  const quality = CODE_DEFAULT_PROFILE_ENTRIES["quality-optimized"];
60
69
  expect(quality.model).toBe("gpt-5.6-sol");
@@ -70,7 +70,7 @@ export type DefaultProfileTemplate = Omit<
70
70
  */
71
71
  const VELLUM_PROFILE_IMPLS: Record<ProfileMatrixKey, DefaultProfileTemplate> = {
72
72
  balanced: {
73
- model: "accounts/fireworks/models/glm-5p2",
73
+ model: "gpt-5.6-luna",
74
74
  provider: "vellum",
75
75
  source: "managed",
76
76
  label: "Balanced",
@@ -161,18 +161,19 @@ describe("doesSupportVision", () => {
161
161
 
162
162
  describe("doesSupportVision with a BYO default provider", () => {
163
163
  test("judges a default profile against the default provider's column model", () => {
164
- // Managed/vellum column: balancedglm-5p2 (text-only, supportsVision:
165
- // false). Anthropic column: balanced → claude-sonnet-4-6 (supportsVision:
166
- // true). The judged model must be the one the BYO install actually runs.
164
+ // Managed/vellum column: cost-optimizeddeepseek-v4-flash (text-only,
165
+ // supportsVision: false). Anthropic column: cost-optimized carries
166
+ // intent "latency-optimized" claude-haiku-4-5 (supportsVision: true).
167
+ // The judged model must be the one the BYO install actually runs.
167
168
  setMockConfig({}, { provider: "anthropic" });
168
- expect(doesSupportVision(profile("balanced"))).toBe(true);
169
+ expect(doesSupportVision(profile("cost-optimized"))).toBe(true);
169
170
  });
170
171
 
171
172
  test("without a default provider, a default profile judges the managed column", () => {
172
- // Null-reduction: no defaultProvider resolves balanced through the
173
- // vellum column (glm-5p2, text-only).
173
+ // Null-reduction: no defaultProvider resolves cost-optimized through the
174
+ // vellum column (deepseek-v4-flash, text-only).
174
175
  setMockConfig({});
175
- expect(doesSupportVision(profile("balanced"))).toBe(false);
176
+ expect(doesSupportVision(profile("cost-optimized"))).toBe(false);
176
177
  });
177
178
 
178
179
  test("mix arms naming a default profile resolve through the same column", () => {
@@ -181,7 +182,7 @@ describe("doesSupportVision with a BYO default provider", () => {
181
182
  "mix-profile": {
182
183
  mix: [
183
184
  { profile: "text-arm", weight: 0.5 },
184
- { profile: "balanced", weight: 0.5 },
185
+ { profile: "cost-optimized", weight: 0.5 },
185
186
  ],
186
187
  },
187
188
  "text-arm": {
@@ -191,8 +192,8 @@ describe("doesSupportVision with a BYO default provider", () => {
191
192
  },
192
193
  { provider: "anthropic" },
193
194
  );
194
- // The "balanced" arm resolves to the anthropic column's vision-capable
195
- // model, so the mix can route to vision.
195
+ // The "cost-optimized" arm resolves to the anthropic column's
196
+ // vision-capable model, so the mix can route to vision.
196
197
  expect(doesSupportVision(profile("mix-profile"))).toBe(true);
197
198
  });
198
199