@memberjunction/ai-engine-base 6.1.0-edge.3 → 6.1.0-edge.5

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.
@@ -1,6 +1,7 @@
1
1
  import { BaseEngine, IMetadataProvider, UserInfo } from "@memberjunction/core";
2
- import { AIModelConfiguration } from "@memberjunction/ai";
3
- import { MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentNoteEntity, MJAIAgentNoteTypeEntity, MJScopedPromptPartEntity, MJScopedPromptConfigEntity, MJAIModelActionEntity, MJAIPromptModelEntity, MJAIPromptTypeEntity, MJAIResultCacheEntity, MJAIVendorTypeDefinitionEntity, MJArtifactTypeEntity, MJEntityAIActionEntity, MJVectorDatabaseEntity, MJAIAgentPromptEntity, MJAIAgentTypeEntity, MJAIVendorEntity, MJAIModelVendorEntity, MJAIModelTypeEntity, MJAIModelCostEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIConfigurationEntity, MJAIConfigurationParamEntity, MJAIAgentStepEntity, MJAIAgentStepPathEntity, MJAIAgentRelationshipEntity, MJAIAgentPermissionEntity, MJAIAgentDataSourceEntity, MJAIAgentConfigurationEntity, MJAIAgentExampleEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIAgentModalityEntity, MJAIModelModalityEntity, MJAIClientToolDefinitionEntity, MJAIAgentClientToolEntity, MJAIAgentCategoryEntity, MJAIAgentCoAgentEntity, MJAIAgentChannelEntity, MJAISkillEntity, MJAISkillActionEntity, MJAISkillSubAgentEntity, MJAIAgentSkillEntity, MJAISkillPermissionEntity } from "@memberjunction/core-entities";
2
+ import { AIModelConfiguration, ModelUsage, ModelUsageUnitKind } from "@memberjunction/ai";
3
+ import { MJAIActionEntity, MJAIAgentActionEntity, MJAIAgentNoteEntity, MJAIAgentNoteTypeEntity, MJScopedPromptPartEntity, MJScopedPromptConfigEntity, MJAIModelActionEntity, MJAIPromptModelEntity, MJAIPromptTypeEntity, MJAIResultCacheEntity, MJAIVendorTypeDefinitionEntity, MJArtifactTypeEntity, MJEntityAIActionEntity, MJVectorDatabaseEntity, MJAIAgentPromptEntity, MJAIAgentTypeEntity, MJAIVendorEntity, MJAIModelVendorEntity, MJAIModelTypeEntity, MJAIModelCostEntity, MJAIModelPriceTypeEntity, MJAIModelPriceUnitTypeEntity, MJAIUsageTypeEntity, MJAIConfigurationEntity, MJAIConfigurationParamEntity, MJAIAgentStepEntity, MJAIAgentStepPathEntity, MJAIAgentRelationshipEntity, MJAIAgentPermissionEntity, MJAIAgentDataSourceEntity, MJAIAgentConfigurationEntity, MJAIAgentExampleEntity, MJAICredentialBindingEntity, MJAIModalityEntity, MJAIAgentModalityEntity, MJAIModelModalityEntity, MJAIClientToolDefinitionEntity, MJAIAgentClientToolEntity, MJAIAgentCategoryEntity, MJAIAgentCoAgentEntity, MJAIAgentChannelEntity, MJAISkillEntity, MJAISkillActionEntity, MJAISkillSubAgentEntity, MJAIAgentSkillEntity, MJAISkillPermissionEntity } from "@memberjunction/core-entities";
4
+ import { BasePriceUnitType } from "./PriceUnitTypes.js";
4
5
  import { EffectiveAgentPermissions } from "./AIAgentPermissionHelper.js";
5
6
  import { EffectiveSkillPermissions } from "./AISkillPermissionHelper.js";
6
7
  import { MJAIPromptEntityExtended, MJAIPromptCategoryEntityExtended, MJAIModelEntityExtended, MJAIAgentEntityExtended } from "@memberjunction/ai-core-plus";
@@ -93,6 +94,7 @@ export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
93
94
  private _modelCosts;
94
95
  private _modelPriceTypes;
95
96
  private _modelPriceUnitTypes;
97
+ private _usageTypes;
96
98
  private _configurations;
97
99
  private _configurationParams;
98
100
  private _agentSteps;
@@ -165,13 +167,68 @@ export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
165
167
  */
166
168
  GetHighestPowerLLM(vendorName?: string, contextUser?: UserInfo): Promise<MJAIModelEntityExtended | undefined>;
167
169
  /**
168
- * Gets the active cost configuration for a specific model and vendor combination
170
+ * Gets the active cost configuration for a specific model and vendor combination.
171
+ *
172
+ * ## Why `usageKind` matters
173
+ * Without it the effective key is `(Model, Vendor, ProcessingType)`, which structurally cannot
174
+ * represent a model that bills in two measures — per-image output alongside per-token prompt,
175
+ * say. The most-recently-started row wins, so which measure you get is a sort-order coin flip,
176
+ * and the mismatch is only noticed downstream where the run is refused rather than priced.
177
+ * Passing the measure the run actually recorded makes the choice deterministic.
178
+ *
179
+ * The measure is resolved through the cost row's `UnitTypeID` into the cached
180
+ * `ModelPriceUnitTypes`, whose `UsageType` is the denormalised name CodeGen puts on the view.
181
+ * `AIModelCost` deliberately carries NO usage-type column of its own: it would be a second copy
182
+ * of a derivable fact, and nothing would arbitrate a row claiming `Seconds` while its unit type
183
+ * says `Tokens` — which is precisely the comparison this method exists to make trustworthy.
184
+ * Both lookups are in-memory over already-loaded caches, so single-sourcing costs nothing.
185
+ *
169
186
  * @param modelID - The ID of the AI model
170
187
  * @param vendorID - The ID of the vendor
171
188
  * @param processingType - 'Realtime' or 'Batch' (defaults to 'Realtime')
189
+ * @param usageKind - The base measure the run recorded. When supplied, rows priced in any other
190
+ * measure are excluded outright rather than deprioritised: picking a token
191
+ * row for a run measured in seconds cannot produce an honest cost, so no row
192
+ * (and a logged refusal) is the correct answer. Omit to keep the historical
193
+ * measure-blind behaviour.
172
194
  * @returns The active MJAIModelCostEntity or null if none found
173
195
  */
174
- GetActiveModelCost(modelID: string, vendorID: string, processingType?: 'Realtime' | 'Batch'): MJAIModelCostEntity | null;
196
+ GetActiveModelCost(modelID: string, vendorID: string, processingType?: 'Realtime' | 'Batch', usageKind?: ModelUsageUnitKind): MJAIModelCostEntity | null;
197
+ /**
198
+ * Prices a model execution from its reported usage, whatever measure that usage is in.
199
+ *
200
+ * This is the costing surface for callers that hold a result but no `MJ: AI Prompt Runs` row —
201
+ * transcription and image actions, downstream applications, anything invoking a provider
202
+ * directly. Prompt runs get the same math automatically when they save.
203
+ *
204
+ * Returns null, having logged why, when the model has no active cost row, when its unit type
205
+ * has no registered driver, or when the driver prices a different measure than the usage
206
+ * reports. A null is "we do not know what this cost" — never treat it as zero, which would
207
+ * quietly report paid work as free.
208
+ *
209
+ * @param modelID The model that ran
210
+ * @param vendorID The vendor that served it — pricing is per model AND vendor
211
+ * @param usage Usage as reported by the provider
212
+ * @param processingType 'Realtime' or 'Batch' (defaults to 'Realtime')
213
+ */
214
+ CalculateModelCost(modelID: string, vendorID: string, usage: ModelUsage, processingType?: 'Realtime' | 'Batch'): {
215
+ cost: number;
216
+ currency: string;
217
+ } | null;
218
+ /**
219
+ * The base measure a cost row prices in, resolved through its price unit type.
220
+ *
221
+ * Null when the row's `UnitTypeID` is not in the loaded catalog — a stale cache or a deleted row.
222
+ * Callers must treat that as "unknown measure" and refuse, never as `Tokens`: a cost row whose
223
+ * unit type cannot be resolved cannot be priced, and defaulting is how seconds get charged at a
224
+ * per-million-tokens rate.
225
+ */
226
+ CostRowUsageKind(cost: MJAIModelCostEntity): string | null;
227
+ /**
228
+ * Resolves the price unit type driver a cost row is priced by, logging and returning null when
229
+ * the row points at a unit type this deployment has no calculator for.
230
+ */
231
+ GetPriceCalculator(activeCost: MJAIModelCostEntity): BasePriceUnitType | null;
175
232
  get Agents(): MJAIAgentEntityExtended[];
176
233
  get AgentRelationships(): MJAIAgentRelationshipEntity[];
177
234
  /**
@@ -427,6 +484,28 @@ export declare class AIEngineBase extends BaseEngine<AIEngineBase> {
427
484
  get ModelCosts(): MJAIModelCostEntity[];
428
485
  get ModelPriceTypes(): MJAIModelPriceTypeEntity[];
429
486
  get ModelPriceUnitTypes(): MJAIModelPriceUnitTypeEntity[];
487
+ /**
488
+ * The base-measure catalog: Tokens, Seconds, Characters, Images.
489
+ *
490
+ * Distinct from {@link ModelPriceUnitTypes}, which is the BILLING measure and owns the pricing
491
+ * driver. A usage type says what a quantity counts; a price unit type says how it is charged
492
+ * for. Audio is recorded in Seconds and billed by TimePerHour.
493
+ */
494
+ get UsageTypes(): MJAIUsageTypeEntity[];
495
+ /**
496
+ * The name of a usage type, or null when the id is absent or unknown.
497
+ *
498
+ * Returns the NAME rather than the row because every consumer wants the measure, and the
499
+ * pricing drivers are keyed on the measure name — `ModelUsageUnitKind` — not on a foreign key.
500
+ * Keeping the id at the storage boundary is what lets the driver layer stay ignorant of how
501
+ * the catalog happens to be persisted.
502
+ *
503
+ * A null for an id that IS set means the catalog does not contain it — a cache that predates the
504
+ * row, or a row that was deleted. Callers must treat that as "unknown measure" and refuse to
505
+ * price, never as "Tokens": silently defaulting is what turns a misconfiguration into a
506
+ * confidently-wrong cost of zero.
507
+ */
508
+ UsageTypeName(usageTypeID: string | null | undefined): string | null;
430
509
  get Configurations(): MJAIConfigurationEntity[];
431
510
  get ConfigurationParams(): MJAIConfigurationParamEntity[];
432
511
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAIEngine.d.ts","sourceRoot":"","sources":["../src/BaseAIEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAIEngine.d.ts","sourceRoot":"","sources":["../src/BaseAIEngine.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var AIEngineBase_1;
8
8
  import { BaseEngine, LogError, LogStatus, Metadata, RunView } from "@memberjunction/core";
9
- import { UUIDsEqual, NormalizeUUID } from "@memberjunction/global";
9
+ import { UUIDsEqual, NormalizeUUID, MJGlobal } from "@memberjunction/global";
10
10
  import { ParseModelConfiguration, ResolveEffectiveModelConfiguration } from "@memberjunction/ai";
11
11
  import { ArtifactMetadataEngine } from "@memberjunction/core-entities";
12
+ import { BasePriceUnitType } from "./PriceUnitTypes.js";
12
13
  import { AIAgentPermissionHelper } from "./AIAgentPermissionHelper.js";
13
14
  import { AISkillPermissionHelper } from "./AISkillPermissionHelper.js";
14
15
  import { TemplateEngineBase } from "@memberjunction/templates-base-types";
@@ -75,6 +76,7 @@ let AIEngineBase = AIEngineBase_1 = class AIEngineBase extends BaseEngine {
75
76
  this._modelCosts = [];
76
77
  this._modelPriceTypes = [];
77
78
  this._modelPriceUnitTypes = [];
79
+ this._usageTypes = [];
78
80
  this._configurations = [];
79
81
  this._configurationParams = [];
80
82
  this._agentSteps = [];
@@ -239,6 +241,11 @@ let AIEngineBase = AIEngineBase_1 = class AIEngineBase extends BaseEngine {
239
241
  EntityName: 'MJ: AI Model Price Unit Types',
240
242
  CacheLocal: true
241
243
  },
244
+ {
245
+ PropertyName: '_usageTypes',
246
+ EntityName: 'MJ: AI Usage Types',
247
+ CacheLocal: true
248
+ },
242
249
  {
243
250
  PropertyName: '_configurations',
244
251
  EntityName: 'MJ: AI Configurations',
@@ -475,20 +482,41 @@ let AIEngineBase = AIEngineBase_1 = class AIEngineBase extends BaseEngine {
475
482
  return await this.GetHighestPowerModel(vendorName, 'LLM', contextUser);
476
483
  }
477
484
  /**
478
- * Gets the active cost configuration for a specific model and vendor combination
485
+ * Gets the active cost configuration for a specific model and vendor combination.
486
+ *
487
+ * ## Why `usageKind` matters
488
+ * Without it the effective key is `(Model, Vendor, ProcessingType)`, which structurally cannot
489
+ * represent a model that bills in two measures — per-image output alongside per-token prompt,
490
+ * say. The most-recently-started row wins, so which measure you get is a sort-order coin flip,
491
+ * and the mismatch is only noticed downstream where the run is refused rather than priced.
492
+ * Passing the measure the run actually recorded makes the choice deterministic.
493
+ *
494
+ * The measure is resolved through the cost row's `UnitTypeID` into the cached
495
+ * `ModelPriceUnitTypes`, whose `UsageType` is the denormalised name CodeGen puts on the view.
496
+ * `AIModelCost` deliberately carries NO usage-type column of its own: it would be a second copy
497
+ * of a derivable fact, and nothing would arbitrate a row claiming `Seconds` while its unit type
498
+ * says `Tokens` — which is precisely the comparison this method exists to make trustworthy.
499
+ * Both lookups are in-memory over already-loaded caches, so single-sourcing costs nothing.
500
+ *
479
501
  * @param modelID - The ID of the AI model
480
502
  * @param vendorID - The ID of the vendor
481
503
  * @param processingType - 'Realtime' or 'Batch' (defaults to 'Realtime')
504
+ * @param usageKind - The base measure the run recorded. When supplied, rows priced in any other
505
+ * measure are excluded outright rather than deprioritised: picking a token
506
+ * row for a run measured in seconds cannot produce an honest cost, so no row
507
+ * (and a logged refusal) is the correct answer. Omit to keep the historical
508
+ * measure-blind behaviour.
482
509
  * @returns The active MJAIModelCostEntity or null if none found
483
510
  */
484
- GetActiveModelCost(modelID, vendorID, processingType = 'Realtime') {
511
+ GetActiveModelCost(modelID, vendorID, processingType = 'Realtime', usageKind) {
485
512
  const now = new Date();
486
513
  const activeCosts = this._modelCosts.filter(cost => UUIDsEqual(cost.ModelID, modelID) &&
487
514
  UUIDsEqual(cost.VendorID, vendorID) &&
488
515
  cost.ProcessingType === processingType &&
489
516
  cost.Status === 'Active' &&
490
517
  (!cost.StartedAt || new Date(cost.StartedAt) <= now) &&
491
- (!cost.EndedAt || new Date(cost.EndedAt) > now));
518
+ (!cost.EndedAt || new Date(cost.EndedAt) > now) &&
519
+ (usageKind === undefined || this.CostRowUsageKind(cost) === usageKind));
492
520
  // If multiple active costs exist, return the most recently started one
493
521
  if (activeCosts.length > 0) {
494
522
  return activeCosts.sort((a, b) => {
@@ -499,6 +527,128 @@ let AIEngineBase = AIEngineBase_1 = class AIEngineBase extends BaseEngine {
499
527
  }
500
528
  return null;
501
529
  }
530
+ /**
531
+ * Prices a model execution from its reported usage, whatever measure that usage is in.
532
+ *
533
+ * This is the costing surface for callers that hold a result but no `MJ: AI Prompt Runs` row —
534
+ * transcription and image actions, downstream applications, anything invoking a provider
535
+ * directly. Prompt runs get the same math automatically when they save.
536
+ *
537
+ * Returns null, having logged why, when the model has no active cost row, when its unit type
538
+ * has no registered driver, or when the driver prices a different measure than the usage
539
+ * reports. A null is "we do not know what this cost" — never treat it as zero, which would
540
+ * quietly report paid work as free.
541
+ *
542
+ * @param modelID The model that ran
543
+ * @param vendorID The vendor that served it — pricing is per model AND vendor
544
+ * @param usage Usage as reported by the provider
545
+ * @param processingType 'Realtime' or 'Batch' (defaults to 'Realtime')
546
+ */
547
+ CalculateModelCost(modelID, vendorID, usage, processingType = 'Realtime') {
548
+ // The measure is established BEFORE a cost row is chosen, so the row can be selected by it.
549
+ // Resolving in the other order lets a model with rows in two measures hand back whichever
550
+ // sorted first and then refuse it downstream — a coin flip reported as a pricing gap.
551
+ // Units without a kind name nothing to price them in. Falling through would treat them as
552
+ // Tokens and price the (zero) token counts, returning a cost of 0 for work that was billed.
553
+ if (usage.unitKind == null && ((usage.inputUnits ?? 0) > 0 || (usage.outputUnits ?? 0) > 0)) {
554
+ LogError(`Model ${modelID} / Vendor ${vendorID} reported continuous units with no unitKind; refusing to price ` +
555
+ `them. Build usage with ModelUsage.ForMedia(), which always sets it.`);
556
+ return null;
557
+ }
558
+ const usageKind = usage.unitKind ?? 'Tokens';
559
+ // Units declared against the Tokens measure are a contradiction: token counts live in the
560
+ // token fields, so units here mean the caller measured something else and mislabelled it.
561
+ // Pricing would select a token row, match measures, and cost the (zero) token buckets — a
562
+ // confident $0 against billed work. Less reachable than the prompt-run path, which gets
563
+ // 'Tokens' from a column default rather than from a hand-built ModelUsage, but the same
564
+ // defect, so it refuses in the same way.
565
+ if (usageKind === 'Tokens' && ((usage.inputUnits ?? 0) > 0 || (usage.outputUnits ?? 0) > 0)) {
566
+ LogError(`Model ${modelID} / Vendor ${vendorID} reported ${usage.inputUnits ?? 0} input / ` +
567
+ `${usage.outputUnits ?? 0} output units against the Tokens measure, which counts tokens; refusing ` +
568
+ `to price it. Build usage with ModelUsage.ForMedia(kind, ...) so the measure matches the quantity.`);
569
+ return null;
570
+ }
571
+ // The mirror of the check above, and the same defect through the other side: a kind with
572
+ // no quantity. `ShouldCalculateCost` is satisfied by token counts alone, so a run that
573
+ // names `Seconds` but reports zero seconds passes every check above, normalizes to
574
+ // {input: 0, output: 0}, and persists Cost = 0 — writing "free" for work that was billed,
575
+ // which is exactly what the units-without-a-kind guard exists to prevent.
576
+ if (usageKind !== 'Tokens' && (usage.inputUnits ?? 0) === 0 && (usage.outputUnits ?? 0) === 0) {
577
+ LogError(`Model ${modelID} / Vendor ${vendorID} reported usage in ${usageKind} but no unit quantity; refusing ` +
578
+ `to price it rather than record a cost of 0. Set inputUnits/outputUnits, or leave unitKind unset.`);
579
+ return null;
580
+ }
581
+ const activeCost = this.GetActiveModelCost(modelID, vendorID, processingType, usageKind);
582
+ if (!activeCost) {
583
+ LogError(`No active ${processingType} cost configuration priced in ${usageKind} for Model: ${modelID}, ` +
584
+ `Vendor: ${vendorID}`);
585
+ return null;
586
+ }
587
+ const calculator = this.GetPriceCalculator(activeCost);
588
+ if (!calculator) {
589
+ return null;
590
+ }
591
+ // Belt-and-braces after a kind-filtered selection: the filter reads the cost row's usage
592
+ // type, this compares the DRIVER's measure, so a unit type whose usage type and driver
593
+ // disagree is caught here rather than mispriced.
594
+ if (calculator.UnitKind !== usageKind) {
595
+ LogError(`Cost row for Model ${modelID} / Vendor ${vendorID} is priced in ${calculator.UnitKind} but the run ` +
596
+ `reported usage in ${usageKind}; refusing to price it. Correct the cost row's unit type.`);
597
+ return null;
598
+ }
599
+ const normalized = usageKind === 'Tokens'
600
+ ? {
601
+ input: usage.promptTokens ?? 0,
602
+ output: usage.completionTokens ?? 0,
603
+ cacheRead: usage.cacheReadTokens ?? 0,
604
+ cacheWrite: usage.cacheWriteTokens ?? 0
605
+ }
606
+ : { input: usage.inputUnits ?? 0, output: usage.outputUnits ?? 0 };
607
+ return { cost: calculator.CalculateCost(activeCost, normalized), currency: activeCost.Currency };
608
+ }
609
+ /**
610
+ * The base measure a cost row prices in, resolved through its price unit type.
611
+ *
612
+ * Null when the row's `UnitTypeID` is not in the loaded catalog — a stale cache or a deleted row.
613
+ * Callers must treat that as "unknown measure" and refuse, never as `Tokens`: a cost row whose
614
+ * unit type cannot be resolved cannot be priced, and defaulting is how seconds get charged at a
615
+ * per-million-tokens rate.
616
+ */
617
+ CostRowUsageKind(cost) {
618
+ const priceUnitType = this.ModelPriceUnitTypes.find(put => UUIDsEqual(put.ID, cost.UnitTypeID));
619
+ // `UsageType` is the denormalized name CodeGen adds to the view for the UsageTypeID foreign
620
+ // key, so this needs no third lookup into the usage-type catalog.
621
+ return priceUnitType?.UsageType ?? null;
622
+ }
623
+ /**
624
+ * Resolves the price unit type driver a cost row is priced by, logging and returning null when
625
+ * the row points at a unit type this deployment has no calculator for.
626
+ */
627
+ GetPriceCalculator(activeCost) {
628
+ const priceUnitType = this.ModelPriceUnitTypes.find(put => UUIDsEqual(put.ID, activeCost.UnitTypeID));
629
+ if (!priceUnitType) {
630
+ LogError(`Price unit type not found: ${activeCost.UnitTypeID}`);
631
+ return null;
632
+ }
633
+ // TryCreateInstance, never CreateInstance: the latter FALLS BACK to `new BasePriceUnitType()`
634
+ // for an unregistered key, so `if (!calculator)` was a dead branch that installed a hollow
635
+ // object whose CalculateNormalizedCost is `undefined` — a TypeError thrown later from inside
636
+ // the cost math instead of an honest "no driver for this unit type" here. `BasePriceUnitType`
637
+ // is additionally marked `@RequiresSubclass()`, so the fallback is refused at the factory;
638
+ // this call site reports it rather than throwing, because a missing driver is a data problem
639
+ // to be logged and skipped, not an invariant break.
640
+ // The row is passed as a constructor argument so a driver CAN be configured by data rather
641
+ // than by code — `LinearPriceUnitType` reads its measure and divisor straight off it, which
642
+ // is what lets a new linear billing unit ship as one seeded row. Inert for every hardcoded
643
+ // driver, and for any subclass outside this repo, since extra arguments are ignored.
644
+ const resolution = MJGlobal.Instance.ClassFactory.TryCreateInstance(BasePriceUnitType, priceUnitType.DriverClass, priceUnitType);
645
+ if (!resolution.Resolved || !resolution.Instance) {
646
+ LogError(`Price unit type '${priceUnitType.Name}' names driver class '${priceUnitType.DriverClass}', which is ` +
647
+ `not registered; runs priced by it cannot be costed. ${resolution.Reason ?? ''}`.trim());
648
+ return null;
649
+ }
650
+ return resolution.Instance;
651
+ }
502
652
  get Agents() {
503
653
  return this.GetConfigData('_agents');
504
654
  }
@@ -1003,6 +1153,35 @@ let AIEngineBase = AIEngineBase_1 = class AIEngineBase extends BaseEngine {
1003
1153
  get ModelPriceUnitTypes() {
1004
1154
  return this.GetConfigData('_modelPriceUnitTypes');
1005
1155
  }
1156
+ /**
1157
+ * The base-measure catalog: Tokens, Seconds, Characters, Images.
1158
+ *
1159
+ * Distinct from {@link ModelPriceUnitTypes}, which is the BILLING measure and owns the pricing
1160
+ * driver. A usage type says what a quantity counts; a price unit type says how it is charged
1161
+ * for. Audio is recorded in Seconds and billed by TimePerHour.
1162
+ */
1163
+ get UsageTypes() {
1164
+ return this.GetConfigData('_usageTypes');
1165
+ }
1166
+ /**
1167
+ * The name of a usage type, or null when the id is absent or unknown.
1168
+ *
1169
+ * Returns the NAME rather than the row because every consumer wants the measure, and the
1170
+ * pricing drivers are keyed on the measure name — `ModelUsageUnitKind` — not on a foreign key.
1171
+ * Keeping the id at the storage boundary is what lets the driver layer stay ignorant of how
1172
+ * the catalog happens to be persisted.
1173
+ *
1174
+ * A null for an id that IS set means the catalog does not contain it — a cache that predates the
1175
+ * row, or a row that was deleted. Callers must treat that as "unknown measure" and refuse to
1176
+ * price, never as "Tokens": silently defaulting is what turns a misconfiguration into a
1177
+ * confidently-wrong cost of zero.
1178
+ */
1179
+ UsageTypeName(usageTypeID) {
1180
+ if (!usageTypeID) {
1181
+ return null;
1182
+ }
1183
+ return this.UsageTypes.find((ut) => UUIDsEqual(ut.ID, usageTypeID))?.Name ?? null;
1184
+ }
1006
1185
  get Configurations() {
1007
1186
  return this.GetConfigData('_configurations');
1008
1187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAIEngine.js","sourceRoot":"","sources":["../src/BaseAIEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAIEngine.js","sourceRoot":"","sources":["../src/BaseAIEngine.ts"],"names":[],"mappings":"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"}