@vellumai/plugin-api 0.9.0-dev.202606162337.b5a0f93 → 0.9.0-dev.202606170102.00832b6

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.
Files changed (3) hide show
  1. package/index.d.ts +41 -2
  2. package/index.js +1 -0
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -524,8 +524,7 @@ declare type _BookmarksServerMessages = BookmarkCreated | BookmarkDeleted;
524
524
 
525
525
  /**
526
526
  * Wire-shape representation of a bookmark, joined with the bookmarked
527
- * message and its parent conversation. Mirrors
528
- * `clients/shared/Network/BookmarkSummary.swift` — dates are emitted as
527
+ * message and its parent conversation. Dates are emitted as
529
528
  * unix-millisecond integers, and the message preview is capped to keep
530
529
  * the list payload bounded.
531
530
  */
@@ -1471,6 +1470,19 @@ declare const GenerationHandoffEventSchema: z.ZodObject<{
1471
1470
  attachmentWarnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
1472
1471
  }, z.core.$strip>;
1473
1472
 
1473
+ /**
1474
+ * List the workspace inference profiles a plugin can route to, in the order the
1475
+ * `/model` picker presents them (`llm.profileOrder` first, then the rest
1476
+ * alphabetically). Disabled profiles are included and flagged via
1477
+ * {@link ModelProfileInfo.isDisabled}; weighted "mix" profiles are included and
1478
+ * flagged via {@link ModelProfileInfo.isMix}, since a mix is itself a valid
1479
+ * routing target (it resolves to one constituent per conversation).
1480
+ *
1481
+ * Reads the live in-memory config, so the result reflects the current profile
1482
+ * set each time it is called.
1483
+ */
1484
+ export declare function getModelProfiles(): ModelProfileInfo[];
1485
+
1474
1486
  /**
1475
1487
  * Retrieve a secret from secure storage. Convenience wrapper over
1476
1488
  * `getSecureKeyResultAsync` that returns only the value.
@@ -2453,6 +2465,33 @@ declare interface ModelInfo {
2453
2465
  }>;
2454
2466
  }
2455
2467
 
2468
+ /**
2469
+ * A workspace inference profile a plugin can route to. Returned by
2470
+ * {@link getModelProfiles}; {@link key} is the value a `pre-model-call` hook
2471
+ * assigns to `PreModelCallContext.modelProfile` to route a call. A model router
2472
+ * reads this list (typically at `init`) to learn which profiles exist before
2473
+ * mapping a classified message onto one.
2474
+ */
2475
+ export declare interface ModelProfileInfo {
2476
+ /** Profile key in `llm.profiles`; assignable to `PreModelCallContext.modelProfile`. */
2477
+ readonly key: string;
2478
+ /** Human-readable label, falling back to {@link key} when none is set. */
2479
+ readonly label: string;
2480
+ /** Author-supplied description, or `null` when none is set. */
2481
+ readonly description: string | null;
2482
+ /** Whether this is the workspace's active profile. */
2483
+ readonly isActive: boolean;
2484
+ /** Whether the profile is disabled; routing to it is rejected by the resolver. */
2485
+ readonly isDisabled: boolean;
2486
+ /**
2487
+ * Whether this is a weighted "mix" profile — an A/B blend that resolves to one
2488
+ * of its constituent profiles per conversation via a seeded weighted pick.
2489
+ * Routing to its {@link key} is valid; it directs the call into the blend
2490
+ * rather than at a single fixed model.
2491
+ */
2492
+ readonly isMix: boolean;
2493
+ }
2494
+
2456
2495
  declare type NavigateSettingsEvent = z.infer<typeof NavigateSettingsEventSchema>;
2457
2496
 
2458
2497
  declare const NavigateSettingsEventSchema: z.ZodObject<{
package/index.js CHANGED
@@ -3,4 +3,5 @@ const api = globalThis[Symbol.for("vellum.plugin-api")] ?? {};
3
3
  export const HOOKS = api.HOOKS;
4
4
  export const RiskLevel = api.RiskLevel;
5
5
  export const assistantEventHub = api.assistantEventHub;
6
+ export const getModelProfiles = api.getModelProfiles;
6
7
  export const getSecureKeyAsync = api.getSecureKeyAsync;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/plugin-api",
3
- "version": "0.9.0-dev.202606162337.b5a0f93",
3
+ "version": "0.9.0-dev.202606170102.00832b6",
4
4
  "description": "Public TypeScript authoring contract for Vellum assistant plugins.",
5
5
  "license": "MIT",
6
6
  "type": "module",