@agent-finops/core 0.9.2 → 0.9.4

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.
@@ -8,8 +8,8 @@ declare const financialEvidenceWithAmountSchema: z.ZodEnum<{
8
8
  }>;
9
9
  export declare const receiptModeValues: readonly ["local", "connected", "mixed", "sample"];
10
10
  export declare const receiptModeSchema: z.ZodEnum<{
11
- local: "local";
12
11
  mixed: "mixed";
12
+ local: "local";
13
13
  sample: "sample";
14
14
  connected: "connected";
15
15
  }>;
@@ -26,8 +26,8 @@ export type ReceiptSourceKind = z.infer<typeof receiptSourceKindSchema>;
26
26
  export declare const receiptProvenanceOriginValues: readonly ["provider_reported", "locally_observed", "user_declared", "sample"];
27
27
  export declare const receiptProvenanceOriginSchema: z.ZodEnum<{
28
28
  provider_reported: "provider_reported";
29
- user_declared: "user_declared";
30
29
  sample: "sample";
30
+ user_declared: "user_declared";
31
31
  locally_observed: "locally_observed";
32
32
  }>;
33
33
  export type ReceiptProvenanceOrigin = z.infer<typeof receiptProvenanceOriginSchema>;
@@ -40,9 +40,9 @@ export declare const receiptTransformationSchema: z.ZodEnum<{
40
40
  export type ReceiptTransformation = z.infer<typeof receiptTransformationSchema>;
41
41
  export declare const receiptAccountingBasisValues: readonly ["provider_billed", "api_equivalent", "user_declared"];
42
42
  export declare const receiptAccountingBasisSchema: z.ZodEnum<{
43
- user_declared: "user_declared";
44
- provider_billed: "provider_billed";
45
43
  api_equivalent: "api_equivalent";
44
+ provider_billed: "provider_billed";
45
+ user_declared: "user_declared";
46
46
  }>;
47
47
  export type ReceiptAccountingBasis = z.infer<typeof receiptAccountingBasisSchema>;
48
48
  export declare const receiptMappingGapCodeValues: readonly ["cost_unsplit", "cost_unpriced", "model_unmapped", "provider_unmapped", "source_record_unmapped"];
@@ -57,9 +57,9 @@ export type ReceiptMappingGapCode = z.infer<typeof receiptMappingGapCodeSchema>;
57
57
  export declare const receiptFreshnessSchema: z.ZodPipe<z.ZodObject<{
58
58
  status: z.ZodEnum<{
59
59
  error: "error";
60
- fresh: "fresh";
61
- stale: "stale";
62
60
  not_checked: "not_checked";
61
+ stale: "stale";
62
+ fresh: "fresh";
63
63
  }>;
64
64
  checkedAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
65
65
  latestEvidenceAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
@@ -68,9 +68,9 @@ export declare const receiptFreshnessSchema: z.ZodPipe<z.ZodObject<{
68
68
  errorCode?: string | undefined;
69
69
  latestEvidenceAt?: string | undefined;
70
70
  checkedAt?: string | undefined;
71
- status: "error" | "fresh" | "stale" | "not_checked";
71
+ status: "error" | "not_checked" | "stale" | "fresh";
72
72
  }, {
73
- status: "error" | "fresh" | "stale" | "not_checked";
73
+ status: "error" | "not_checked" | "stale" | "fresh";
74
74
  checkedAt?: string | undefined;
75
75
  latestEvidenceAt?: string | undefined;
76
76
  errorCode?: string | undefined;
@@ -95,9 +95,9 @@ export declare const receiptSourceSchema: z.ZodObject<{
95
95
  freshness: z.ZodPipe<z.ZodObject<{
96
96
  status: z.ZodEnum<{
97
97
  error: "error";
98
- fresh: "fresh";
99
- stale: "stale";
100
98
  not_checked: "not_checked";
99
+ stale: "stale";
100
+ fresh: "fresh";
101
101
  }>;
102
102
  checkedAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
103
103
  latestEvidenceAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
@@ -106,9 +106,9 @@ export declare const receiptSourceSchema: z.ZodObject<{
106
106
  errorCode?: string | undefined;
107
107
  latestEvidenceAt?: string | undefined;
108
108
  checkedAt?: string | undefined;
109
- status: "error" | "fresh" | "stale" | "not_checked";
109
+ status: "error" | "not_checked" | "stale" | "fresh";
110
110
  }, {
111
- status: "error" | "fresh" | "stale" | "not_checked";
111
+ status: "error" | "not_checked" | "stale" | "fresh";
112
112
  checkedAt?: string | undefined;
113
113
  latestEvidenceAt?: string | undefined;
114
114
  errorCode?: string | undefined;
@@ -125,8 +125,8 @@ export declare function createReceiptSourceRecordReference(sourceId: string, sou
125
125
  export declare const receiptProvenanceSchema: z.ZodObject<{
126
126
  origin: z.ZodEnum<{
127
127
  provider_reported: "provider_reported";
128
- user_declared: "user_declared";
129
128
  sample: "sample";
129
+ user_declared: "user_declared";
130
130
  locally_observed: "locally_observed";
131
131
  }>;
132
132
  transformations: z.ZodArray<z.ZodEnum<{
@@ -147,9 +147,9 @@ export declare const receiptTokenUsageLineSchema: z.ZodObject<{
147
147
  sourceId: z.ZodString;
148
148
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
149
149
  granularity: z.ZodEnum<{
150
- session: "session";
151
150
  call: "call";
152
151
  invocation: "invocation";
152
+ session: "session";
153
153
  daily_aggregate: "daily_aggregate";
154
154
  usage_bucket: "usage_bucket";
155
155
  billing_bucket: "billing_bucket";
@@ -159,8 +159,8 @@ export declare const receiptTokenUsageLineSchema: z.ZodObject<{
159
159
  provenance: z.ZodObject<{
160
160
  origin: z.ZodEnum<{
161
161
  provider_reported: "provider_reported";
162
- user_declared: "user_declared";
163
162
  sample: "sample";
163
+ user_declared: "user_declared";
164
164
  locally_observed: "locally_observed";
165
165
  }>;
166
166
  transformations: z.ZodArray<z.ZodEnum<{
@@ -180,9 +180,9 @@ export declare const receiptFinancialCostLineSchema: z.ZodObject<{
180
180
  amountUsd: z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>;
181
181
  currency: z.ZodLiteral<"USD">;
182
182
  accountingBasis: z.ZodEnum<{
183
- user_declared: "user_declared";
184
- provider_billed: "provider_billed";
185
183
  api_equivalent: "api_equivalent";
184
+ provider_billed: "provider_billed";
185
+ user_declared: "user_declared";
186
186
  }>;
187
187
  financialEvidence: z.ZodEnum<{
188
188
  estimated: "estimated";
@@ -193,9 +193,9 @@ export declare const receiptFinancialCostLineSchema: z.ZodObject<{
193
193
  sourceId: z.ZodString;
194
194
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
195
195
  granularity: z.ZodEnum<{
196
- session: "session";
197
196
  call: "call";
198
197
  invocation: "invocation";
198
+ session: "session";
199
199
  daily_aggregate: "daily_aggregate";
200
200
  usage_bucket: "usage_bucket";
201
201
  billing_bucket: "billing_bucket";
@@ -205,8 +205,8 @@ export declare const receiptFinancialCostLineSchema: z.ZodObject<{
205
205
  provenance: z.ZodObject<{
206
206
  origin: z.ZodEnum<{
207
207
  provider_reported: "provider_reported";
208
- user_declared: "user_declared";
209
208
  sample: "sample";
209
+ user_declared: "user_declared";
210
210
  locally_observed: "locally_observed";
211
211
  }>;
212
212
  transformations: z.ZodArray<z.ZodEnum<{
@@ -232,9 +232,9 @@ export declare const receiptLineSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
232
232
  sourceId: z.ZodString;
233
233
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
234
234
  granularity: z.ZodEnum<{
235
- session: "session";
236
235
  call: "call";
237
236
  invocation: "invocation";
237
+ session: "session";
238
238
  daily_aggregate: "daily_aggregate";
239
239
  usage_bucket: "usage_bucket";
240
240
  billing_bucket: "billing_bucket";
@@ -244,8 +244,8 @@ export declare const receiptLineSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
244
244
  provenance: z.ZodObject<{
245
245
  origin: z.ZodEnum<{
246
246
  provider_reported: "provider_reported";
247
- user_declared: "user_declared";
248
247
  sample: "sample";
248
+ user_declared: "user_declared";
249
249
  locally_observed: "locally_observed";
250
250
  }>;
251
251
  transformations: z.ZodArray<z.ZodEnum<{
@@ -263,9 +263,9 @@ export declare const receiptLineSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
263
263
  amountUsd: z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>;
264
264
  currency: z.ZodLiteral<"USD">;
265
265
  accountingBasis: z.ZodEnum<{
266
- user_declared: "user_declared";
267
- provider_billed: "provider_billed";
268
266
  api_equivalent: "api_equivalent";
267
+ provider_billed: "provider_billed";
268
+ user_declared: "user_declared";
269
269
  }>;
270
270
  financialEvidence: z.ZodEnum<{
271
271
  estimated: "estimated";
@@ -276,9 +276,9 @@ export declare const receiptLineSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
276
276
  sourceId: z.ZodString;
277
277
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
278
278
  granularity: z.ZodEnum<{
279
- session: "session";
280
279
  call: "call";
281
280
  invocation: "invocation";
281
+ session: "session";
282
282
  daily_aggregate: "daily_aggregate";
283
283
  usage_bucket: "usage_bucket";
284
284
  billing_bucket: "billing_bucket";
@@ -288,8 +288,8 @@ export declare const receiptLineSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
288
288
  provenance: z.ZodObject<{
289
289
  origin: z.ZodEnum<{
290
290
  provider_reported: "provider_reported";
291
- user_declared: "user_declared";
292
291
  sample: "sample";
292
+ user_declared: "user_declared";
293
293
  locally_observed: "locally_observed";
294
294
  }>;
295
295
  transformations: z.ZodArray<z.ZodEnum<{
@@ -326,9 +326,9 @@ export declare const receiptMappingGapSchema: z.ZodPipe<z.ZodObject<{
326
326
  export type ReceiptMappingGap = z.infer<typeof receiptMappingGapSchema>;
327
327
  export declare const receiptCostTotalSchema: z.ZodObject<{
328
328
  accountingBasis: z.ZodEnum<{
329
- user_declared: "user_declared";
330
- provider_billed: "provider_billed";
331
329
  api_equivalent: "api_equivalent";
330
+ provider_billed: "provider_billed";
331
+ user_declared: "user_declared";
332
332
  }>;
333
333
  financialEvidence: z.ZodEnum<{
334
334
  estimated: "estimated";
@@ -345,8 +345,8 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
345
345
  schemaVersion: z.ZodLiteral<"0.1.0">;
346
346
  generatedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
347
347
  mode: z.ZodEnum<{
348
- local: "local";
349
348
  mixed: "mixed";
349
+ local: "local";
350
350
  sample: "sample";
351
351
  connected: "connected";
352
352
  }>;
@@ -374,9 +374,9 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
374
374
  freshness: z.ZodPipe<z.ZodObject<{
375
375
  status: z.ZodEnum<{
376
376
  error: "error";
377
- fresh: "fresh";
378
- stale: "stale";
379
377
  not_checked: "not_checked";
378
+ stale: "stale";
379
+ fresh: "fresh";
380
380
  }>;
381
381
  checkedAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
382
382
  latestEvidenceAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
@@ -385,9 +385,9 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
385
385
  errorCode?: string | undefined;
386
386
  latestEvidenceAt?: string | undefined;
387
387
  checkedAt?: string | undefined;
388
- status: "error" | "fresh" | "stale" | "not_checked";
388
+ status: "error" | "not_checked" | "stale" | "fresh";
389
389
  }, {
390
- status: "error" | "fresh" | "stale" | "not_checked";
390
+ status: "error" | "not_checked" | "stale" | "fresh";
391
391
  checkedAt?: string | undefined;
392
392
  latestEvidenceAt?: string | undefined;
393
393
  errorCode?: string | undefined;
@@ -404,9 +404,9 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
404
404
  sourceId: z.ZodString;
405
405
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
406
406
  granularity: z.ZodEnum<{
407
- session: "session";
408
407
  call: "call";
409
408
  invocation: "invocation";
409
+ session: "session";
410
410
  daily_aggregate: "daily_aggregate";
411
411
  usage_bucket: "usage_bucket";
412
412
  billing_bucket: "billing_bucket";
@@ -416,8 +416,8 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
416
416
  provenance: z.ZodObject<{
417
417
  origin: z.ZodEnum<{
418
418
  provider_reported: "provider_reported";
419
- user_declared: "user_declared";
420
419
  sample: "sample";
420
+ user_declared: "user_declared";
421
421
  locally_observed: "locally_observed";
422
422
  }>;
423
423
  transformations: z.ZodArray<z.ZodEnum<{
@@ -435,9 +435,9 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
435
435
  amountUsd: z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>;
436
436
  currency: z.ZodLiteral<"USD">;
437
437
  accountingBasis: z.ZodEnum<{
438
- user_declared: "user_declared";
439
- provider_billed: "provider_billed";
440
438
  api_equivalent: "api_equivalent";
439
+ provider_billed: "provider_billed";
440
+ user_declared: "user_declared";
441
441
  }>;
442
442
  financialEvidence: z.ZodEnum<{
443
443
  estimated: "estimated";
@@ -448,9 +448,9 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
448
448
  sourceId: z.ZodString;
449
449
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
450
450
  granularity: z.ZodEnum<{
451
- session: "session";
452
451
  call: "call";
453
452
  invocation: "invocation";
453
+ session: "session";
454
454
  daily_aggregate: "daily_aggregate";
455
455
  usage_bucket: "usage_bucket";
456
456
  billing_bucket: "billing_bucket";
@@ -460,8 +460,8 @@ declare const receiptBodyObjectSchema: z.ZodObject<{
460
460
  provenance: z.ZodObject<{
461
461
  origin: z.ZodEnum<{
462
462
  provider_reported: "provider_reported";
463
- user_declared: "user_declared";
464
463
  sample: "sample";
464
+ user_declared: "user_declared";
465
465
  locally_observed: "locally_observed";
466
466
  }>;
467
467
  transformations: z.ZodArray<z.ZodEnum<{
@@ -500,8 +500,8 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
500
500
  schemaVersion: z.ZodLiteral<"0.1.0">;
501
501
  generatedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
502
502
  mode: z.ZodEnum<{
503
- local: "local";
504
503
  mixed: "mixed";
504
+ local: "local";
505
505
  sample: "sample";
506
506
  connected: "connected";
507
507
  }>;
@@ -529,9 +529,9 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
529
529
  freshness: z.ZodPipe<z.ZodObject<{
530
530
  status: z.ZodEnum<{
531
531
  error: "error";
532
- fresh: "fresh";
533
- stale: "stale";
534
532
  not_checked: "not_checked";
533
+ stale: "stale";
534
+ fresh: "fresh";
535
535
  }>;
536
536
  checkedAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
537
537
  latestEvidenceAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
@@ -540,9 +540,9 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
540
540
  errorCode?: string | undefined;
541
541
  latestEvidenceAt?: string | undefined;
542
542
  checkedAt?: string | undefined;
543
- status: "error" | "fresh" | "stale" | "not_checked";
543
+ status: "error" | "not_checked" | "stale" | "fresh";
544
544
  }, {
545
- status: "error" | "fresh" | "stale" | "not_checked";
545
+ status: "error" | "not_checked" | "stale" | "fresh";
546
546
  checkedAt?: string | undefined;
547
547
  latestEvidenceAt?: string | undefined;
548
548
  errorCode?: string | undefined;
@@ -559,9 +559,9 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
559
559
  sourceId: z.ZodString;
560
560
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
561
561
  granularity: z.ZodEnum<{
562
- session: "session";
563
562
  call: "call";
564
563
  invocation: "invocation";
564
+ session: "session";
565
565
  daily_aggregate: "daily_aggregate";
566
566
  usage_bucket: "usage_bucket";
567
567
  billing_bucket: "billing_bucket";
@@ -571,8 +571,8 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
571
571
  provenance: z.ZodObject<{
572
572
  origin: z.ZodEnum<{
573
573
  provider_reported: "provider_reported";
574
- user_declared: "user_declared";
575
574
  sample: "sample";
575
+ user_declared: "user_declared";
576
576
  locally_observed: "locally_observed";
577
577
  }>;
578
578
  transformations: z.ZodArray<z.ZodEnum<{
@@ -590,9 +590,9 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
590
590
  amountUsd: z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>;
591
591
  currency: z.ZodLiteral<"USD">;
592
592
  accountingBasis: z.ZodEnum<{
593
- user_declared: "user_declared";
594
- provider_billed: "provider_billed";
595
593
  api_equivalent: "api_equivalent";
594
+ provider_billed: "provider_billed";
595
+ user_declared: "user_declared";
596
596
  }>;
597
597
  financialEvidence: z.ZodEnum<{
598
598
  estimated: "estimated";
@@ -603,9 +603,9 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
603
603
  sourceId: z.ZodString;
604
604
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
605
605
  granularity: z.ZodEnum<{
606
- session: "session";
607
606
  call: "call";
608
607
  invocation: "invocation";
608
+ session: "session";
609
609
  daily_aggregate: "daily_aggregate";
610
610
  usage_bucket: "usage_bucket";
611
611
  billing_bucket: "billing_bucket";
@@ -615,8 +615,8 @@ export declare const agentEconomicsReceiptV0DraftSchema: z.ZodObject<{
615
615
  provenance: z.ZodObject<{
616
616
  origin: z.ZodEnum<{
617
617
  provider_reported: "provider_reported";
618
- user_declared: "user_declared";
619
618
  sample: "sample";
619
+ user_declared: "user_declared";
620
620
  locally_observed: "locally_observed";
621
621
  }>;
622
622
  transformations: z.ZodArray<z.ZodEnum<{
@@ -657,8 +657,8 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
657
657
  schemaVersion: z.ZodLiteral<"0.1.0">;
658
658
  generatedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
659
659
  mode: z.ZodEnum<{
660
- local: "local";
661
660
  mixed: "mixed";
661
+ local: "local";
662
662
  sample: "sample";
663
663
  connected: "connected";
664
664
  }>;
@@ -686,9 +686,9 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
686
686
  freshness: z.ZodPipe<z.ZodObject<{
687
687
  status: z.ZodEnum<{
688
688
  error: "error";
689
- fresh: "fresh";
690
- stale: "stale";
691
689
  not_checked: "not_checked";
690
+ stale: "stale";
691
+ fresh: "fresh";
692
692
  }>;
693
693
  checkedAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
694
694
  latestEvidenceAt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
@@ -697,9 +697,9 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
697
697
  errorCode?: string | undefined;
698
698
  latestEvidenceAt?: string | undefined;
699
699
  checkedAt?: string | undefined;
700
- status: "error" | "fresh" | "stale" | "not_checked";
700
+ status: "error" | "not_checked" | "stale" | "fresh";
701
701
  }, {
702
- status: "error" | "fresh" | "stale" | "not_checked";
702
+ status: "error" | "not_checked" | "stale" | "fresh";
703
703
  checkedAt?: string | undefined;
704
704
  latestEvidenceAt?: string | undefined;
705
705
  errorCode?: string | undefined;
@@ -716,9 +716,9 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
716
716
  sourceId: z.ZodString;
717
717
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
718
718
  granularity: z.ZodEnum<{
719
- session: "session";
720
719
  call: "call";
721
720
  invocation: "invocation";
721
+ session: "session";
722
722
  daily_aggregate: "daily_aggregate";
723
723
  usage_bucket: "usage_bucket";
724
724
  billing_bucket: "billing_bucket";
@@ -728,8 +728,8 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
728
728
  provenance: z.ZodObject<{
729
729
  origin: z.ZodEnum<{
730
730
  provider_reported: "provider_reported";
731
- user_declared: "user_declared";
732
731
  sample: "sample";
732
+ user_declared: "user_declared";
733
733
  locally_observed: "locally_observed";
734
734
  }>;
735
735
  transformations: z.ZodArray<z.ZodEnum<{
@@ -747,9 +747,9 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
747
747
  amountUsd: z.ZodPipe<z.ZodNumber, z.ZodTransform<number, number>>;
748
748
  currency: z.ZodLiteral<"USD">;
749
749
  accountingBasis: z.ZodEnum<{
750
- user_declared: "user_declared";
751
- provider_billed: "provider_billed";
752
750
  api_equivalent: "api_equivalent";
751
+ provider_billed: "provider_billed";
752
+ user_declared: "user_declared";
753
753
  }>;
754
754
  financialEvidence: z.ZodEnum<{
755
755
  estimated: "estimated";
@@ -760,9 +760,9 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
760
760
  sourceId: z.ZodString;
761
761
  observedAt: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
762
762
  granularity: z.ZodEnum<{
763
- session: "session";
764
763
  call: "call";
765
764
  invocation: "invocation";
765
+ session: "session";
766
766
  daily_aggregate: "daily_aggregate";
767
767
  usage_bucket: "usage_bucket";
768
768
  billing_bucket: "billing_bucket";
@@ -772,8 +772,8 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
772
772
  provenance: z.ZodObject<{
773
773
  origin: z.ZodEnum<{
774
774
  provider_reported: "provider_reported";
775
- user_declared: "user_declared";
776
775
  sample: "sample";
776
+ user_declared: "user_declared";
777
777
  locally_observed: "locally_observed";
778
778
  }>;
779
779
  transformations: z.ZodArray<z.ZodEnum<{
@@ -809,9 +809,9 @@ export declare const agentEconomicsReceiptV0Schema: z.ZodObject<{
809
809
  id: z.ZodString;
810
810
  costTotals: z.ZodArray<z.ZodObject<{
811
811
  accountingBasis: z.ZodEnum<{
812
- user_declared: "user_declared";
813
- provider_billed: "provider_billed";
814
812
  api_equivalent: "api_equivalent";
813
+ provider_billed: "provider_billed";
814
+ user_declared: "user_declared";
815
815
  }>;
816
816
  financialEvidence: z.ZodEnum<{
817
817
  estimated: "estimated";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * One intentionally pragmatic normalizer for waitlist and receipt-email
3
+ * boundaries. It prevents header/control injection without pretending to be
4
+ * a mailbox-verification system; ownership still requires an explicit flow.
5
+ */
6
+ export declare function normalizeAibillEmailAddress(value: string): string | undefined;
7
+ //# sourceMappingURL=emailAddress.d.ts.map
@@ -0,0 +1,16 @@
1
+ const controlCharacters = /[\u0000-\u001F\u007F]/u;
2
+ const pragmaticEmailAddress = /^[^\s@]+@[^\s@]+\.[^\s@]+$/u;
3
+ /**
4
+ * One intentionally pragmatic normalizer for waitlist and receipt-email
5
+ * boundaries. It prevents header/control injection without pretending to be
6
+ * a mailbox-verification system; ownership still requires an explicit flow.
7
+ */
8
+ export function normalizeAibillEmailAddress(value) {
9
+ const normalized = value.trim().toLowerCase();
10
+ if (normalized.length < 3 || normalized.length > 254)
11
+ return undefined;
12
+ if (controlCharacters.test(normalized))
13
+ return undefined;
14
+ return pragmaticEmailAddress.test(normalized) ? normalized : undefined;
15
+ }
16
+ //# sourceMappingURL=emailAddress.js.map
@@ -7,7 +7,7 @@
7
7
  * matched top-down; first match wins. Unknown models return undefined so
8
8
  * callers can label the record "missing" instead of inventing a number.
9
9
  */
10
- export declare const PRICING_TABLE_AS_OF = "2026-08-16";
10
+ export declare const PRICING_TABLE_AS_OF = "2026-08-25";
11
11
  export type TokenUsage = {
12
12
  /** Billable, uncached input tokens. */
13
13
  inputTokens: number;
@@ -7,7 +7,7 @@
7
7
  * matched top-down; first match wins. Unknown models return undefined so
8
8
  * callers can label the record "missing" instead of inventing a number.
9
9
  */
10
- export const PRICING_TABLE_AS_OF = "2026-08-16";
10
+ export const PRICING_TABLE_AS_OF = "2026-08-25";
11
11
  const pricingRules = [
12
12
  // Anthropic
13
13
  { match: /^claude-fable-5/i, inputPerM: 10, outputPerM: 50 },
@@ -93,14 +93,35 @@ const pricingRules = [
93
93
  // DeepSeek (official API list prices)
94
94
  { match: /^deepseek-chat|^deepseek-v3/i, inputPerM: 0.27, outputPerM: 1.1 },
95
95
  { match: /^deepseek-reasoner|^deepseek-r1/i, inputPerM: 0.55, outputPerM: 2.19 },
96
- // Moonshot / Kimi (official API list prices)
97
- { match: /^kimi-k2|^moonshot/i, inputPerM: 0.6, outputPerM: 2.5 },
96
+ // Moonshot / Kimi (official list prices, platform.kimi.ai/docs/pricing/*,
97
+ // fetched 2026-08-25; cache-hit input is a distinct published rate). Order
98
+ // matters: k2.7-code-highspeed before its k2.7-code prefix, dot families
99
+ // before the legacy K2 rule.
100
+ // ^kimi-k3 also covers the Anthropic-style "kimi-k3[1m]" context suffix.
101
+ { match: /^kimi-k3/i, inputPerM: 3, outputPerM: 15, cacheReadPerM: 0.3 },
102
+ { match: /^kimi-k2\.7-code-highspeed/i, inputPerM: 1.9, outputPerM: 8, cacheReadPerM: 0.38 },
103
+ { match: /^kimi-k2\.7-code/i, inputPerM: 0.95, outputPerM: 4, cacheReadPerM: 0.19 },
104
+ { match: /^kimi-k2\.6/i, inputPerM: 0.95, outputPerM: 4, cacheReadPerM: 0.16 },
105
+ // Legacy K2 (kimi-k2, kimi-k2-*) and moonshot-v1-* (sunset 2026-08-31 —
106
+ // still prices past transcripts). Deliberately does NOT match the dot
107
+ // families above: 0.9.3's `^kimi-k2` prefix silently priced kimi-k2.7-code
108
+ // at these old K2 rates (~$0.60/$2.50 vs the real $0.95/$4.00).
109
+ { match: /^kimi-k2(?:$|-)|^moonshot/i, inputPerM: 0.6, outputPerM: 2.5 },
98
110
  // xAI / Grok (official API list prices)
99
111
  { match: /^grok-4|^grok-3$/i, inputPerM: 3, outputPerM: 15 },
100
112
  { match: /^grok-3-mini/i, inputPerM: 0.3, outputPerM: 0.5 },
101
113
  // Open-weight models with NO canonical price (llama, qwen, mistral, glm):
102
114
  // hosting rates vary several-fold by provider, so we deliberately return
103
115
  // undefined -> costConfidence "missing" instead of inventing a number.
116
+ //
117
+ // Deliberate deferrals (2026-08-25 CN-provider review), same honest path:
118
+ // - First-party Qwen commercial models (qwen3.x-max/plus/flash): the
119
+ // canonical Model Studio price list is console-gated and aggregator
120
+ // numbers have been wrong for this vendor family before — no rule until
121
+ // a canonical price is verified.
122
+ // - deepseek-v4-* (api-docs.deepseek.com/quick_start/pricing): published
123
+ // rates are time-of-day (off-peak = half price, up to 2x swing), so any
124
+ // flat number here would be dishonest; needs timestamp-aware pricing.
104
125
  ];
105
126
  export function findPricingRule(model) {
106
127
  return pricingRules.find((rule) => rule.match.test(model));
package/dist/planMath.js CHANGED
@@ -50,7 +50,7 @@ export function computePlanChecks(records, detectedPlans = []) {
50
50
  if (detectedKnown) {
51
51
  // The label comes from local metadata or an explicit override. It is not
52
52
  // independently verified against the provider account.
53
- valueMultiple = Math.round((monthly / detectedKnown.monthlyUsd) * 10) / 10;
53
+ valueMultiple = roundValueMultiple(monthly / detectedKnown.monthlyUsd);
54
54
  const savingsVsApi = roundMoney(monthly - detectedKnown.monthlyUsd);
55
55
  effectiveSavings = savingsVsApi > 0 ? savingsVsApi : undefined;
56
56
  headline =
@@ -81,7 +81,7 @@ export function computePlanChecks(records, detectedPlans = []) {
81
81
  }
82
82
  else {
83
83
  const covered = suggested && typeof savings === "number" && savings > 0;
84
- valueMultiple = covered ? Math.round((monthly / suggested.monthlyUsd) * 10) / 10 : undefined;
84
+ valueMultiple = covered ? roundValueMultiple(monthly / suggested.monthlyUsd) : undefined;
85
85
  effectiveSavings = covered ? savings : undefined;
86
86
  if (!suggested) {
87
87
  headline = `${agent}: ~${formatUsd(monthly)}/mo at API rates (${basis}).`;
@@ -115,4 +115,16 @@ function formatUsd(value) {
115
115
  return "<$0.01";
116
116
  return `$${value.toFixed(2)}`;
117
117
  }
118
+ /**
119
+ * Display rounding for the plan-price multiple. One decimal at >= 1x
120
+ * ("~24.3x" stays as-is); TWO decimals below 1x so a small-but-real
121
+ * multiple never renders "~0x" (founder's live case: $9.63/mo vs a
122
+ * $200/mo plan printed "~0x" — now "~0.05x"), floored at 0.01 for any
123
+ * positive ratio so the tilde always marks a nonzero approximation.
124
+ */
125
+ function roundValueMultiple(ratio) {
126
+ if (ratio >= 1)
127
+ return Math.round(ratio * 10) / 10;
128
+ return Math.max(0.01, Math.round(ratio * 100) / 100);
129
+ }
118
130
  //# sourceMappingURL=planMath.js.map