@genex-ai/embed-sdk 0.24.0 → 0.24.2

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/README.md CHANGED
@@ -16,8 +16,11 @@ The game never handles an OpenRouter key or confirms a charge itself.
16
16
  import { generate, getGenerationModels } from '@genex-ai/embed-sdk';
17
17
 
18
18
  // After initEmbed() and player sign-in, populate your model picker from Genex.
19
- const { models } = await getGenerationModels();
20
- const model = models[0];
19
+ // The list is featured-first: show the featured models unless the user asked to
20
+ // see more, and never a label that differs from the model you bill.
21
+ const { models, featuredCount } = await getGenerationModels();
22
+ const shortlist = featuredCount ? models.filter((m) => m.featured) : models;
23
+ const model = shortlist[0];
21
24
 
22
25
  generateButton.addEventListener('click', async () => {
23
26
  if (!model) return;
@@ -372,7 +375,15 @@ The full receipt includes execution status, output on success, charged/reserved
372
375
  coins and USD, plus development-only `usage: { costUsdPicos, costUsd,
373
376
  maxProviderUsdPicos, unknownProviderUsdPicos }`. Unknown cost is null rather
374
377
  than zero; workflow cost aggregates known actual step costs and reports remaining
375
- unknown exposure separately. No token counts are inferred.
378
+ unknown exposure separately. No token counts are inferred. When the provider
379
+ refused the request before running it (a rejected key, an unknown model, a rate
380
+ limit — `error: 'provider_http_<status>'`), nothing is charged, the hold is
381
+ released, and SDK 0.24.2+ types `providerMessage`: the provider's own words,
382
+ sanitized, on development rows only — a player-facing view never carries them.
383
+ The same SDK types `providerKey` on the models response (`'ok' | 'rejected' |
384
+ 'unknown'`): a stand whose key the provider refuses says so in that one word,
385
+ and every in-game call there answers `provider_http_401` until an operator
386
+ replaces it — check it before a benchmark, not after.
376
387
 
377
388
  For a registered workflow, call `developmentRequestWorkflow({ apiUrl,
378
389
  creatorToken, projectId, workflowId, maxCoins, request: { offeringId, input,
@@ -577,7 +577,7 @@ var RETRY_FLAG = "genex:embed:retry";
577
577
  var POPOVER_DISMISSED_FLAG = "genex:guest:popover-dismissed";
578
578
  var LOCAL_AUTH_FLAG = "genex:embed:local-auth";
579
579
  var PLAYER_ID_KEY = "genex:player";
580
- var SDK_VERSION = "0.24.0";
580
+ var SDK_VERSION = "0.24.2";
581
581
  var config2 = null;
582
582
  var state = "pending";
583
583
  var user = null;
package/dist/index.js CHANGED
@@ -32,7 +32,7 @@ import {
32
32
  waitForAuth,
33
33
  waitForGeneration,
34
34
  waitForPlayer
35
- } from "./chunk-GR56KHWN.js";
35
+ } from "./chunk-6T2SEZQZ.js";
36
36
  import "./chunk-VPIQVRVS.js";
37
37
  export {
38
38
  __resetForTests,
package/dist/sentry.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  _stashTicketFromUrl,
3
3
  getUser,
4
4
  on
5
- } from "./chunk-GR56KHWN.js";
5
+ } from "./chunk-6T2SEZQZ.js";
6
6
  import "./chunk-VPIQVRVS.js";
7
7
 
8
8
  // src/sentry.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genex-ai/embed-sdk",
3
- "version": "0.24.0",
3
+ "version": "0.24.2",
4
4
  "description": "Player identity + durable game state for genex games \u2014 signed-in or guest play, per-player save slots, shared world state, and soft-trust leaderboards.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",