@utilix-tech/sdk 0.78.0 → 0.79.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
4
4
 
5
+ ## 0.79.0
6
+ - Add `calculateRealRateOfReturn` (real-rate-of-return-calculator): apply the Fisher equation to solve for whichever of the nominal rate, inflation rate, or inflation-adjusted real rate is missing, given exactly two of the three.
7
+ - Add `calculateRetryBackoffSchedule` (retry-backoff-calculator): compute the full sequence of delays an exponential-backoff retry policy would actually produce, optionally capped and with full/equal jitter ranges, plus the total best-case and worst-case wait across all retries.
8
+
5
9
  ## 0.78.0
6
10
  - Add `ndjsonToCsv` (ndjson-to-csv): convert newline-delimited JSON (one flat object per line) into CSV, inferring the header row from the union of keys across all lines.
7
11
 
package/README.md CHANGED
@@ -356,7 +356,7 @@ formatIso8601Duration(90061); // { iso: "P1DT1H1M1S", ... }
356
356
  ### `/units`: Conversions
357
357
 
358
358
  ```ts
359
- import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance, validateVin, validateIsin, calculateLoanPrepaymentPenalty } from "@utilix-tech/sdk/units";
359
+ import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance, validateVin, validateIsin, calculateLoanPrepaymentPenalty, calculateRealRateOfReturn } from "@utilix-tech/sdk/units";
360
360
 
361
361
  // File sizes
362
362
  convertBytes(1073741824, "GB"); // 1
@@ -530,6 +530,10 @@ calculateMortgagePoints(300000, 6.5, 360, 1, 0.25);
530
530
  // Loan prepayment penalty: dollar cost of paying a loan off early
531
531
  calculateLoanPrepaymentPenalty(10000, "percent-of-balance", { penaltyPercent: 2 });
532
532
  // { payoffBalance: 10000, penaltyAmount: 200, effectivePenaltyPercent: 2, totalPayoffCost: 10200 }
533
+
534
+ // Real rate of return: pass any TWO of nominalRatePercent, inflationRatePercent, realRatePercent
535
+ calculateRealRateOfReturn({ nominalRatePercent: 5, inflationRatePercent: 2 });
536
+ // { nominalRatePercent: 5, inflationRatePercent: 2, realRatePercent: 2.9412, solvedFor: "realRatePercent", ... }
533
537
  ```
534
538
 
535
539
  ---
@@ -1019,14 +1023,14 @@ readMidiInfo(new Uint8Array(midiBytes));
1019
1023
  | `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert, NDJSON record deduplicator, SRT/WebVTT subtitles, Markdown front matter parser, YAML anchor/alias resolver, CSV column type inferencer, Markdown table column aligner |
1020
1024
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, entropy estimator, fake data, CSP nonce generator |
1021
1025
  | `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
1022
- | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN/VIN/ISIN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator, mortgage discount points break-even calculator, loan prepayment penalty calculator, data transfer time / required bandwidth estimator |
1026
+ | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN/VIN/ISIN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator, mortgage discount points break-even calculator, loan prepayment penalty calculator, data transfer time / required bandwidth estimator, real rate of return (Fisher equation) calculator |
1023
1027
  | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser, Cookie header byte-size budget calculator |
1024
1028
  | `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header, TOTP/HOTP code generator, webhook HMAC signature verifier |
1025
1029
  | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator, package.json dependency range auditor, regex capture group/backreference visualizer, SVG sprite symbol extractor, ARIA role & attribute validator |
1026
1030
  | `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
1027
1031
  | `@utilix-tech/sdk/css` | CSS gradient, box-shadow, border-radius, keyframe animation generators |
1028
1032
  | `@utilix-tech/sdk/misc` | SVG optimize/sanitize, file size format, Unicode inspector |
1029
- | `@utilix-tech/sdk/ai_agent` | Token estimate/trim, chunk text, extract URLs/JSON/keywords, sanitize HTML, flatten/merge JSON, dedupe lines, validate schema, PII/secret/injection detect, vector similarity, few-shot prompt formatter, tool-definition schema linter |
1033
+ | `@utilix-tech/sdk/ai_agent` | Token estimate/trim, chunk text, extract URLs/JSON/keywords, sanitize HTML, flatten/merge JSON, dedupe lines, validate schema, PII/secret/injection detect, vector similarity, few-shot prompt formatter, tool-definition schema linter, retry/backoff schedule calculator |
1030
1034
  | `@utilix-tech/sdk/media` | Image format & dimension reading from raw bytes (PNG, JPEG, GIF, WebP, BMP); PDF metadata reading; PDF page dimension/orientation listing; WAV audio info; ID3 tags; ICO favicon inspection; FLAC metadata reading; MP4/WebM video info; GIF frame/loop inspection |
1031
1035
 
1032
1036
  ---
@@ -9,6 +9,7 @@
9
9
  * - prompt-injection : detectPromptInjection
10
10
  * - json-repair : repairJson
11
11
  * - few-shot-formatter : formatFewShotExamples
12
+ * - retry-backoff-calculator : calculateRetryBackoffSchedule
12
13
  */
13
14
  interface ModelPricing {
14
15
  model: string;
@@ -374,6 +375,40 @@ interface ToolSchemaLintResult {
374
375
  declare function lintToolSchema(jsonText: string): ToolSchemaLintResult | {
375
376
  error: string;
376
377
  };
378
+ type RetryJitterMode = 'none' | 'full' | 'equal';
379
+ interface RetryBackoffInput {
380
+ baseDelayMs: number;
381
+ multiplier: number;
382
+ maxRetries: number;
383
+ maxDelayMs?: number | null;
384
+ jitter?: RetryJitterMode;
385
+ }
386
+ interface RetryBackoffAttempt {
387
+ attempt: number;
388
+ nominalDelayMs: number;
389
+ minDelayMs: number;
390
+ maxDelayMs: number;
391
+ }
392
+ interface RetryBackoffResult {
393
+ attempts: RetryBackoffAttempt[];
394
+ jitter: RetryJitterMode;
395
+ totalBestCaseMs: number;
396
+ totalWorstCaseMs: number;
397
+ }
398
+ /**
399
+ * Compute the full sequence of delays an exponential-backoff retry policy
400
+ * would actually produce: baseDelayMs * multiplier^(attempt-1), optionally
401
+ * capped at maxDelayMs, for each of maxRetries attempts. With jitter
402
+ * enabled, each attempt gets a [min, max] delay range instead of a single
403
+ * value ("full" jitter is uniform between 0 and the nominal delay; "equal"
404
+ * jitter is uniform between half the nominal delay and the full value),
405
+ * and the totals sum the worst case (always the nominal/max delay) against
406
+ * the best case (the minimum possible delay at every attempt). Pure
407
+ * arithmetic — it doesn't execute any retries or make any request.
408
+ */
409
+ declare function calculateRetryBackoffSchedule(input: RetryBackoffInput): RetryBackoffResult | {
410
+ error: string;
411
+ };
377
412
 
378
413
  type ai_agent_ChunkStrategy = ChunkStrategy;
379
414
  type ai_agent_CompressHtmlResult = CompressHtmlResult;
@@ -407,6 +442,10 @@ type ai_agent_PiiFinding = PiiFinding;
407
442
  type ai_agent_PiiType = PiiType;
408
443
  type ai_agent_RankedChunk = RankedChunk;
409
444
  type ai_agent_RelevanceResult = RelevanceResult;
445
+ type ai_agent_RetryBackoffAttempt = RetryBackoffAttempt;
446
+ type ai_agent_RetryBackoffInput = RetryBackoffInput;
447
+ type ai_agent_RetryBackoffResult = RetryBackoffResult;
448
+ type ai_agent_RetryJitterMode = RetryJitterMode;
410
449
  type ai_agent_SanitizeResult = SanitizeResult;
411
450
  type ai_agent_SecretDetectResult = SecretDetectResult;
412
451
  type ai_agent_SecretFinding = SecretFinding;
@@ -424,6 +463,7 @@ type ai_agent_UrlMatch = UrlMatch;
424
463
  type ai_agent_ValidationError = ValidationError;
425
464
  type ai_agent_ValidationResult = ValidationResult;
426
465
  type ai_agent_VectorSimilarityResult = VectorSimilarityResult;
466
+ declare const ai_agent_calculateRetryBackoffSchedule: typeof calculateRetryBackoffSchedule;
427
467
  declare const ai_agent_chunkText: typeof chunkText;
428
468
  declare const ai_agent_compressHtml: typeof compressHtml;
429
469
  declare const ai_agent_compressJson: typeof compressJson;
@@ -456,7 +496,7 @@ declare const ai_agent_unflattenJson: typeof unflattenJson;
456
496
  declare const ai_agent_validateJsonSchema: typeof validateJsonSchema;
457
497
  declare const ai_agent_vectorSimilarity: typeof vectorSimilarity;
458
498
  declare namespace ai_agent {
459
- export { type ai_agent_ChunkStrategy as ChunkStrategy, type ai_agent_CompressHtmlResult as CompressHtmlResult, type ai_agent_CompressJsonResult as CompressJsonResult, type ai_agent_CompressMarkdownResult as CompressMarkdownResult, type ai_agent_CostEstimate as CostEstimate, type ai_agent_DedupeResult as DedupeResult, type ai_agent_DedupeStrategy as DedupeStrategy, type ai_agent_DiffEntry2 as DiffEntry2, type ai_agent_DiffOp2 as DiffOp2, type ai_agent_DiffResult2 as DiffResult2, type ai_agent_Entity2 as Entity2, type ai_agent_EntityType2 as EntityType2, type ai_agent_ExtractJsonResult as ExtractJsonResult, type ai_agent_ExtractKeywordsResult as ExtractKeywordsResult, type ai_agent_ExtractUrlsResult as ExtractUrlsResult, type ai_agent_FewShotExample as FewShotExample, type ai_agent_FewShotFormat as FewShotFormat, type ai_agent_FewShotFormatResult as FewShotFormatResult, type ai_agent_InjectionDetectResult as InjectionDetectResult, type ai_agent_InjectionFinding as InjectionFinding, type ai_agent_JsonBlock as JsonBlock, type ai_agent_JsonRepairResult as JsonRepairResult, type ai_agent_Keyword as Keyword, ai_agent_MODEL_PRICING as MODEL_PRICING, type ai_agent_MergeResult as MergeResult, type ai_agent_MergeStrategy as MergeStrategy, type ai_agent_ModelPricing as ModelPricing, type ai_agent_PiiDetectResult as PiiDetectResult, type ai_agent_PiiFinding as PiiFinding, type ai_agent_PiiType as PiiType, type ai_agent_RankedChunk as RankedChunk, type ai_agent_RelevanceResult as RelevanceResult, type ai_agent_SanitizeResult as SanitizeResult, type ai_agent_SecretDetectResult as SecretDetectResult, type ai_agent_SecretFinding as SecretFinding, type ai_agent_SecretType as SecretType, type ai_agent_SummaryResult as SummaryResult, type ai_agent_TableResult2 as TableResult2, type ai_agent_TextChunk as TextChunk, type ai_agent_TokenEstimate as TokenEstimate, type ai_agent_TokenEstimateResult as TokenEstimateResult, type ai_agent_ToolSchemaIssue as ToolSchemaIssue, type ai_agent_ToolSchemaLintResult as ToolSchemaLintResult, type ai_agent_TrimResult as TrimResult, type ai_agent_TrimStrategy as TrimStrategy, type ai_agent_UrlMatch as UrlMatch, type ai_agent_ValidationError as ValidationError, type ai_agent_ValidationResult as ValidationResult, type ai_agent_VectorSimilarityResult as VectorSimilarityResult, ai_agent_chunkText as chunkText, ai_agent_compressHtml as compressHtml, ai_agent_compressJson as compressJson, ai_agent_compressMarkdown as compressMarkdown, ai_agent_deduplicateLines as deduplicateLines, ai_agent_detectPii as detectPii, ai_agent_detectPromptInjection as detectPromptInjection, ai_agent_detectSecrets as detectSecrets, ai_agent_diffJson as diffJson, ai_agent_estimateCost as estimateCost, ai_agent_estimateTokens as estimateTokens, ai_agent_expandQuery as expandQuery, ai_agent_extractEntities as extractEntities, ai_agent_extractJson as extractJson, ai_agent_extractKeywords as extractKeywords, ai_agent_extractTables as extractTables, ai_agent_extractUrls as extractUrls, ai_agent_flattenJson as flattenJson, ai_agent_formatFewShotExamples as formatFewShotExamples, ai_agent_lintToolSchema as lintToolSchema, ai_agent_mergeJson as mergeJson, ai_agent_redactPii as redactPii, ai_agent_repairJson as repairJson, ai_agent_rerankChunks as rerankChunks, ai_agent_sanitizeHtml as sanitizeHtml, ai_agent_scoreRelevance as scoreRelevance, ai_agent_summarizeForLlm as summarizeForLlm, ai_agent_trimToTokens as trimToTokens, ai_agent_unflattenJson as unflattenJson, ai_agent_validateJsonSchema as validateJsonSchema, ai_agent_vectorSimilarity as vectorSimilarity };
499
+ export { type ai_agent_ChunkStrategy as ChunkStrategy, type ai_agent_CompressHtmlResult as CompressHtmlResult, type ai_agent_CompressJsonResult as CompressJsonResult, type ai_agent_CompressMarkdownResult as CompressMarkdownResult, type ai_agent_CostEstimate as CostEstimate, type ai_agent_DedupeResult as DedupeResult, type ai_agent_DedupeStrategy as DedupeStrategy, type ai_agent_DiffEntry2 as DiffEntry2, type ai_agent_DiffOp2 as DiffOp2, type ai_agent_DiffResult2 as DiffResult2, type ai_agent_Entity2 as Entity2, type ai_agent_EntityType2 as EntityType2, type ai_agent_ExtractJsonResult as ExtractJsonResult, type ai_agent_ExtractKeywordsResult as ExtractKeywordsResult, type ai_agent_ExtractUrlsResult as ExtractUrlsResult, type ai_agent_FewShotExample as FewShotExample, type ai_agent_FewShotFormat as FewShotFormat, type ai_agent_FewShotFormatResult as FewShotFormatResult, type ai_agent_InjectionDetectResult as InjectionDetectResult, type ai_agent_InjectionFinding as InjectionFinding, type ai_agent_JsonBlock as JsonBlock, type ai_agent_JsonRepairResult as JsonRepairResult, type ai_agent_Keyword as Keyword, ai_agent_MODEL_PRICING as MODEL_PRICING, type ai_agent_MergeResult as MergeResult, type ai_agent_MergeStrategy as MergeStrategy, type ai_agent_ModelPricing as ModelPricing, type ai_agent_PiiDetectResult as PiiDetectResult, type ai_agent_PiiFinding as PiiFinding, type ai_agent_PiiType as PiiType, type ai_agent_RankedChunk as RankedChunk, type ai_agent_RelevanceResult as RelevanceResult, type ai_agent_RetryBackoffAttempt as RetryBackoffAttempt, type ai_agent_RetryBackoffInput as RetryBackoffInput, type ai_agent_RetryBackoffResult as RetryBackoffResult, type ai_agent_RetryJitterMode as RetryJitterMode, type ai_agent_SanitizeResult as SanitizeResult, type ai_agent_SecretDetectResult as SecretDetectResult, type ai_agent_SecretFinding as SecretFinding, type ai_agent_SecretType as SecretType, type ai_agent_SummaryResult as SummaryResult, type ai_agent_TableResult2 as TableResult2, type ai_agent_TextChunk as TextChunk, type ai_agent_TokenEstimate as TokenEstimate, type ai_agent_TokenEstimateResult as TokenEstimateResult, type ai_agent_ToolSchemaIssue as ToolSchemaIssue, type ai_agent_ToolSchemaLintResult as ToolSchemaLintResult, type ai_agent_TrimResult as TrimResult, type ai_agent_TrimStrategy as TrimStrategy, type ai_agent_UrlMatch as UrlMatch, type ai_agent_ValidationError as ValidationError, type ai_agent_ValidationResult as ValidationResult, type ai_agent_VectorSimilarityResult as VectorSimilarityResult, ai_agent_calculateRetryBackoffSchedule as calculateRetryBackoffSchedule, ai_agent_chunkText as chunkText, ai_agent_compressHtml as compressHtml, ai_agent_compressJson as compressJson, ai_agent_compressMarkdown as compressMarkdown, ai_agent_deduplicateLines as deduplicateLines, ai_agent_detectPii as detectPii, ai_agent_detectPromptInjection as detectPromptInjection, ai_agent_detectSecrets as detectSecrets, ai_agent_diffJson as diffJson, ai_agent_estimateCost as estimateCost, ai_agent_estimateTokens as estimateTokens, ai_agent_expandQuery as expandQuery, ai_agent_extractEntities as extractEntities, ai_agent_extractJson as extractJson, ai_agent_extractKeywords as extractKeywords, ai_agent_extractTables as extractTables, ai_agent_extractUrls as extractUrls, ai_agent_flattenJson as flattenJson, ai_agent_formatFewShotExamples as formatFewShotExamples, ai_agent_lintToolSchema as lintToolSchema, ai_agent_mergeJson as mergeJson, ai_agent_redactPii as redactPii, ai_agent_repairJson as repairJson, ai_agent_rerankChunks as rerankChunks, ai_agent_sanitizeHtml as sanitizeHtml, ai_agent_scoreRelevance as scoreRelevance, ai_agent_summarizeForLlm as summarizeForLlm, ai_agent_trimToTokens as trimToTokens, ai_agent_unflattenJson as unflattenJson, ai_agent_validateJsonSchema as validateJsonSchema, ai_agent_vectorSimilarity as vectorSimilarity };
460
500
  }
461
501
 
462
- export { compressMarkdown as $, type SummaryResult as A, type TextChunk as B, type ChunkStrategy as C, type DedupeResult as D, type Entity2 as E, type FewShotExample as F, type TokenEstimate as G, type TokenEstimateResult as H, type InjectionDetectResult as I, type JsonBlock as J, type Keyword as K, type ToolSchemaIssue as L, MODEL_PRICING as M, type ToolSchemaLintResult as N, type TrimResult as O, type PiiDetectResult as P, type TrimStrategy as Q, type RankedChunk as R, type SanitizeResult as S, type TableResult2 as T, type UrlMatch as U, type ValidationError as V, type ValidationResult as W, type VectorSimilarityResult as X, chunkText as Y, compressHtml as Z, compressJson as _, ai_agent as a, deduplicateLines as a0, detectPii as a1, detectPromptInjection as a2, detectSecrets as a3, diffJson as a4, estimateCost as a5, estimateTokens as a6, expandQuery as a7, extractEntities as a8, extractJson as a9, extractKeywords as aa, extractTables as ab, extractUrls as ac, flattenJson as ad, formatFewShotExamples as ae, lintToolSchema as af, mergeJson as ag, redactPii as ah, repairJson as ai, rerankChunks as aj, sanitizeHtml as ak, scoreRelevance as al, summarizeForLlm as am, trimToTokens as an, unflattenJson as ao, validateJsonSchema as ap, vectorSimilarity as aq, type CompressHtmlResult as b, type CompressJsonResult as c, type CompressMarkdownResult as d, type CostEstimate as e, type DedupeStrategy as f, type DiffEntry2 as g, type DiffOp2 as h, type DiffResult2 as i, type EntityType2 as j, type ExtractJsonResult as k, type ExtractKeywordsResult as l, type ExtractUrlsResult as m, type FewShotFormat as n, type FewShotFormatResult as o, type InjectionFinding as p, type JsonRepairResult as q, type MergeResult as r, type MergeStrategy as s, type ModelPricing as t, type PiiFinding as u, type PiiType as v, type RelevanceResult as w, type SecretDetectResult as x, type SecretFinding as y, type SecretType as z };
502
+ export { type VectorSimilarityResult as $, type RetryJitterMode as A, type SecretDetectResult as B, type ChunkStrategy as C, type DedupeResult as D, type Entity2 as E, type FewShotExample as F, type SecretFinding as G, type SecretType as H, type InjectionDetectResult as I, type JsonBlock as J, type Keyword as K, type SummaryResult as L, MODEL_PRICING as M, type TextChunk as N, type TokenEstimate as O, type PiiDetectResult as P, type TokenEstimateResult as Q, type RankedChunk as R, type SanitizeResult as S, type TableResult2 as T, type ToolSchemaIssue as U, type ToolSchemaLintResult as V, type TrimResult as W, type TrimStrategy as X, type UrlMatch as Y, type ValidationError as Z, type ValidationResult as _, ai_agent as a, calculateRetryBackoffSchedule as a0, chunkText as a1, compressHtml as a2, compressJson as a3, compressMarkdown as a4, deduplicateLines as a5, detectPii as a6, detectPromptInjection as a7, detectSecrets as a8, diffJson as a9, estimateCost as aa, estimateTokens as ab, expandQuery as ac, extractEntities as ad, extractJson as ae, extractKeywords as af, extractTables as ag, extractUrls as ah, flattenJson as ai, formatFewShotExamples as aj, lintToolSchema as ak, mergeJson as al, redactPii as am, repairJson as an, rerankChunks as ao, sanitizeHtml as ap, scoreRelevance as aq, summarizeForLlm as ar, trimToTokens as as, unflattenJson as at, validateJsonSchema as au, vectorSimilarity as av, type CompressHtmlResult as b, type CompressJsonResult as c, type CompressMarkdownResult as d, type CostEstimate as e, type DedupeStrategy as f, type DiffEntry2 as g, type DiffOp2 as h, type DiffResult2 as i, type EntityType2 as j, type ExtractJsonResult as k, type ExtractKeywordsResult as l, type ExtractUrlsResult as m, type FewShotFormat as n, type FewShotFormatResult as o, type InjectionFinding as p, type JsonRepairResult as q, type MergeResult as r, type MergeStrategy as s, type ModelPricing as t, type PiiFinding as u, type PiiType as v, type RelevanceResult as w, type RetryBackoffAttempt as x, type RetryBackoffInput as y, type RetryBackoffResult as z };
@@ -9,6 +9,7 @@
9
9
  * - prompt-injection : detectPromptInjection
10
10
  * - json-repair : repairJson
11
11
  * - few-shot-formatter : formatFewShotExamples
12
+ * - retry-backoff-calculator : calculateRetryBackoffSchedule
12
13
  */
13
14
  interface ModelPricing {
14
15
  model: string;
@@ -374,6 +375,40 @@ interface ToolSchemaLintResult {
374
375
  declare function lintToolSchema(jsonText: string): ToolSchemaLintResult | {
375
376
  error: string;
376
377
  };
378
+ type RetryJitterMode = 'none' | 'full' | 'equal';
379
+ interface RetryBackoffInput {
380
+ baseDelayMs: number;
381
+ multiplier: number;
382
+ maxRetries: number;
383
+ maxDelayMs?: number | null;
384
+ jitter?: RetryJitterMode;
385
+ }
386
+ interface RetryBackoffAttempt {
387
+ attempt: number;
388
+ nominalDelayMs: number;
389
+ minDelayMs: number;
390
+ maxDelayMs: number;
391
+ }
392
+ interface RetryBackoffResult {
393
+ attempts: RetryBackoffAttempt[];
394
+ jitter: RetryJitterMode;
395
+ totalBestCaseMs: number;
396
+ totalWorstCaseMs: number;
397
+ }
398
+ /**
399
+ * Compute the full sequence of delays an exponential-backoff retry policy
400
+ * would actually produce: baseDelayMs * multiplier^(attempt-1), optionally
401
+ * capped at maxDelayMs, for each of maxRetries attempts. With jitter
402
+ * enabled, each attempt gets a [min, max] delay range instead of a single
403
+ * value ("full" jitter is uniform between 0 and the nominal delay; "equal"
404
+ * jitter is uniform between half the nominal delay and the full value),
405
+ * and the totals sum the worst case (always the nominal/max delay) against
406
+ * the best case (the minimum possible delay at every attempt). Pure
407
+ * arithmetic — it doesn't execute any retries or make any request.
408
+ */
409
+ declare function calculateRetryBackoffSchedule(input: RetryBackoffInput): RetryBackoffResult | {
410
+ error: string;
411
+ };
377
412
 
378
413
  type ai_agent_ChunkStrategy = ChunkStrategy;
379
414
  type ai_agent_CompressHtmlResult = CompressHtmlResult;
@@ -407,6 +442,10 @@ type ai_agent_PiiFinding = PiiFinding;
407
442
  type ai_agent_PiiType = PiiType;
408
443
  type ai_agent_RankedChunk = RankedChunk;
409
444
  type ai_agent_RelevanceResult = RelevanceResult;
445
+ type ai_agent_RetryBackoffAttempt = RetryBackoffAttempt;
446
+ type ai_agent_RetryBackoffInput = RetryBackoffInput;
447
+ type ai_agent_RetryBackoffResult = RetryBackoffResult;
448
+ type ai_agent_RetryJitterMode = RetryJitterMode;
410
449
  type ai_agent_SanitizeResult = SanitizeResult;
411
450
  type ai_agent_SecretDetectResult = SecretDetectResult;
412
451
  type ai_agent_SecretFinding = SecretFinding;
@@ -424,6 +463,7 @@ type ai_agent_UrlMatch = UrlMatch;
424
463
  type ai_agent_ValidationError = ValidationError;
425
464
  type ai_agent_ValidationResult = ValidationResult;
426
465
  type ai_agent_VectorSimilarityResult = VectorSimilarityResult;
466
+ declare const ai_agent_calculateRetryBackoffSchedule: typeof calculateRetryBackoffSchedule;
427
467
  declare const ai_agent_chunkText: typeof chunkText;
428
468
  declare const ai_agent_compressHtml: typeof compressHtml;
429
469
  declare const ai_agent_compressJson: typeof compressJson;
@@ -456,7 +496,7 @@ declare const ai_agent_unflattenJson: typeof unflattenJson;
456
496
  declare const ai_agent_validateJsonSchema: typeof validateJsonSchema;
457
497
  declare const ai_agent_vectorSimilarity: typeof vectorSimilarity;
458
498
  declare namespace ai_agent {
459
- export { type ai_agent_ChunkStrategy as ChunkStrategy, type ai_agent_CompressHtmlResult as CompressHtmlResult, type ai_agent_CompressJsonResult as CompressJsonResult, type ai_agent_CompressMarkdownResult as CompressMarkdownResult, type ai_agent_CostEstimate as CostEstimate, type ai_agent_DedupeResult as DedupeResult, type ai_agent_DedupeStrategy as DedupeStrategy, type ai_agent_DiffEntry2 as DiffEntry2, type ai_agent_DiffOp2 as DiffOp2, type ai_agent_DiffResult2 as DiffResult2, type ai_agent_Entity2 as Entity2, type ai_agent_EntityType2 as EntityType2, type ai_agent_ExtractJsonResult as ExtractJsonResult, type ai_agent_ExtractKeywordsResult as ExtractKeywordsResult, type ai_agent_ExtractUrlsResult as ExtractUrlsResult, type ai_agent_FewShotExample as FewShotExample, type ai_agent_FewShotFormat as FewShotFormat, type ai_agent_FewShotFormatResult as FewShotFormatResult, type ai_agent_InjectionDetectResult as InjectionDetectResult, type ai_agent_InjectionFinding as InjectionFinding, type ai_agent_JsonBlock as JsonBlock, type ai_agent_JsonRepairResult as JsonRepairResult, type ai_agent_Keyword as Keyword, ai_agent_MODEL_PRICING as MODEL_PRICING, type ai_agent_MergeResult as MergeResult, type ai_agent_MergeStrategy as MergeStrategy, type ai_agent_ModelPricing as ModelPricing, type ai_agent_PiiDetectResult as PiiDetectResult, type ai_agent_PiiFinding as PiiFinding, type ai_agent_PiiType as PiiType, type ai_agent_RankedChunk as RankedChunk, type ai_agent_RelevanceResult as RelevanceResult, type ai_agent_SanitizeResult as SanitizeResult, type ai_agent_SecretDetectResult as SecretDetectResult, type ai_agent_SecretFinding as SecretFinding, type ai_agent_SecretType as SecretType, type ai_agent_SummaryResult as SummaryResult, type ai_agent_TableResult2 as TableResult2, type ai_agent_TextChunk as TextChunk, type ai_agent_TokenEstimate as TokenEstimate, type ai_agent_TokenEstimateResult as TokenEstimateResult, type ai_agent_ToolSchemaIssue as ToolSchemaIssue, type ai_agent_ToolSchemaLintResult as ToolSchemaLintResult, type ai_agent_TrimResult as TrimResult, type ai_agent_TrimStrategy as TrimStrategy, type ai_agent_UrlMatch as UrlMatch, type ai_agent_ValidationError as ValidationError, type ai_agent_ValidationResult as ValidationResult, type ai_agent_VectorSimilarityResult as VectorSimilarityResult, ai_agent_chunkText as chunkText, ai_agent_compressHtml as compressHtml, ai_agent_compressJson as compressJson, ai_agent_compressMarkdown as compressMarkdown, ai_agent_deduplicateLines as deduplicateLines, ai_agent_detectPii as detectPii, ai_agent_detectPromptInjection as detectPromptInjection, ai_agent_detectSecrets as detectSecrets, ai_agent_diffJson as diffJson, ai_agent_estimateCost as estimateCost, ai_agent_estimateTokens as estimateTokens, ai_agent_expandQuery as expandQuery, ai_agent_extractEntities as extractEntities, ai_agent_extractJson as extractJson, ai_agent_extractKeywords as extractKeywords, ai_agent_extractTables as extractTables, ai_agent_extractUrls as extractUrls, ai_agent_flattenJson as flattenJson, ai_agent_formatFewShotExamples as formatFewShotExamples, ai_agent_lintToolSchema as lintToolSchema, ai_agent_mergeJson as mergeJson, ai_agent_redactPii as redactPii, ai_agent_repairJson as repairJson, ai_agent_rerankChunks as rerankChunks, ai_agent_sanitizeHtml as sanitizeHtml, ai_agent_scoreRelevance as scoreRelevance, ai_agent_summarizeForLlm as summarizeForLlm, ai_agent_trimToTokens as trimToTokens, ai_agent_unflattenJson as unflattenJson, ai_agent_validateJsonSchema as validateJsonSchema, ai_agent_vectorSimilarity as vectorSimilarity };
499
+ export { type ai_agent_ChunkStrategy as ChunkStrategy, type ai_agent_CompressHtmlResult as CompressHtmlResult, type ai_agent_CompressJsonResult as CompressJsonResult, type ai_agent_CompressMarkdownResult as CompressMarkdownResult, type ai_agent_CostEstimate as CostEstimate, type ai_agent_DedupeResult as DedupeResult, type ai_agent_DedupeStrategy as DedupeStrategy, type ai_agent_DiffEntry2 as DiffEntry2, type ai_agent_DiffOp2 as DiffOp2, type ai_agent_DiffResult2 as DiffResult2, type ai_agent_Entity2 as Entity2, type ai_agent_EntityType2 as EntityType2, type ai_agent_ExtractJsonResult as ExtractJsonResult, type ai_agent_ExtractKeywordsResult as ExtractKeywordsResult, type ai_agent_ExtractUrlsResult as ExtractUrlsResult, type ai_agent_FewShotExample as FewShotExample, type ai_agent_FewShotFormat as FewShotFormat, type ai_agent_FewShotFormatResult as FewShotFormatResult, type ai_agent_InjectionDetectResult as InjectionDetectResult, type ai_agent_InjectionFinding as InjectionFinding, type ai_agent_JsonBlock as JsonBlock, type ai_agent_JsonRepairResult as JsonRepairResult, type ai_agent_Keyword as Keyword, ai_agent_MODEL_PRICING as MODEL_PRICING, type ai_agent_MergeResult as MergeResult, type ai_agent_MergeStrategy as MergeStrategy, type ai_agent_ModelPricing as ModelPricing, type ai_agent_PiiDetectResult as PiiDetectResult, type ai_agent_PiiFinding as PiiFinding, type ai_agent_PiiType as PiiType, type ai_agent_RankedChunk as RankedChunk, type ai_agent_RelevanceResult as RelevanceResult, type ai_agent_RetryBackoffAttempt as RetryBackoffAttempt, type ai_agent_RetryBackoffInput as RetryBackoffInput, type ai_agent_RetryBackoffResult as RetryBackoffResult, type ai_agent_RetryJitterMode as RetryJitterMode, type ai_agent_SanitizeResult as SanitizeResult, type ai_agent_SecretDetectResult as SecretDetectResult, type ai_agent_SecretFinding as SecretFinding, type ai_agent_SecretType as SecretType, type ai_agent_SummaryResult as SummaryResult, type ai_agent_TableResult2 as TableResult2, type ai_agent_TextChunk as TextChunk, type ai_agent_TokenEstimate as TokenEstimate, type ai_agent_TokenEstimateResult as TokenEstimateResult, type ai_agent_ToolSchemaIssue as ToolSchemaIssue, type ai_agent_ToolSchemaLintResult as ToolSchemaLintResult, type ai_agent_TrimResult as TrimResult, type ai_agent_TrimStrategy as TrimStrategy, type ai_agent_UrlMatch as UrlMatch, type ai_agent_ValidationError as ValidationError, type ai_agent_ValidationResult as ValidationResult, type ai_agent_VectorSimilarityResult as VectorSimilarityResult, ai_agent_calculateRetryBackoffSchedule as calculateRetryBackoffSchedule, ai_agent_chunkText as chunkText, ai_agent_compressHtml as compressHtml, ai_agent_compressJson as compressJson, ai_agent_compressMarkdown as compressMarkdown, ai_agent_deduplicateLines as deduplicateLines, ai_agent_detectPii as detectPii, ai_agent_detectPromptInjection as detectPromptInjection, ai_agent_detectSecrets as detectSecrets, ai_agent_diffJson as diffJson, ai_agent_estimateCost as estimateCost, ai_agent_estimateTokens as estimateTokens, ai_agent_expandQuery as expandQuery, ai_agent_extractEntities as extractEntities, ai_agent_extractJson as extractJson, ai_agent_extractKeywords as extractKeywords, ai_agent_extractTables as extractTables, ai_agent_extractUrls as extractUrls, ai_agent_flattenJson as flattenJson, ai_agent_formatFewShotExamples as formatFewShotExamples, ai_agent_lintToolSchema as lintToolSchema, ai_agent_mergeJson as mergeJson, ai_agent_redactPii as redactPii, ai_agent_repairJson as repairJson, ai_agent_rerankChunks as rerankChunks, ai_agent_sanitizeHtml as sanitizeHtml, ai_agent_scoreRelevance as scoreRelevance, ai_agent_summarizeForLlm as summarizeForLlm, ai_agent_trimToTokens as trimToTokens, ai_agent_unflattenJson as unflattenJson, ai_agent_validateJsonSchema as validateJsonSchema, ai_agent_vectorSimilarity as vectorSimilarity };
460
500
  }
461
501
 
462
- export { compressMarkdown as $, type SummaryResult as A, type TextChunk as B, type ChunkStrategy as C, type DedupeResult as D, type Entity2 as E, type FewShotExample as F, type TokenEstimate as G, type TokenEstimateResult as H, type InjectionDetectResult as I, type JsonBlock as J, type Keyword as K, type ToolSchemaIssue as L, MODEL_PRICING as M, type ToolSchemaLintResult as N, type TrimResult as O, type PiiDetectResult as P, type TrimStrategy as Q, type RankedChunk as R, type SanitizeResult as S, type TableResult2 as T, type UrlMatch as U, type ValidationError as V, type ValidationResult as W, type VectorSimilarityResult as X, chunkText as Y, compressHtml as Z, compressJson as _, ai_agent as a, deduplicateLines as a0, detectPii as a1, detectPromptInjection as a2, detectSecrets as a3, diffJson as a4, estimateCost as a5, estimateTokens as a6, expandQuery as a7, extractEntities as a8, extractJson as a9, extractKeywords as aa, extractTables as ab, extractUrls as ac, flattenJson as ad, formatFewShotExamples as ae, lintToolSchema as af, mergeJson as ag, redactPii as ah, repairJson as ai, rerankChunks as aj, sanitizeHtml as ak, scoreRelevance as al, summarizeForLlm as am, trimToTokens as an, unflattenJson as ao, validateJsonSchema as ap, vectorSimilarity as aq, type CompressHtmlResult as b, type CompressJsonResult as c, type CompressMarkdownResult as d, type CostEstimate as e, type DedupeStrategy as f, type DiffEntry2 as g, type DiffOp2 as h, type DiffResult2 as i, type EntityType2 as j, type ExtractJsonResult as k, type ExtractKeywordsResult as l, type ExtractUrlsResult as m, type FewShotFormat as n, type FewShotFormatResult as o, type InjectionFinding as p, type JsonRepairResult as q, type MergeResult as r, type MergeStrategy as s, type ModelPricing as t, type PiiFinding as u, type PiiType as v, type RelevanceResult as w, type SecretDetectResult as x, type SecretFinding as y, type SecretType as z };
502
+ export { type VectorSimilarityResult as $, type RetryJitterMode as A, type SecretDetectResult as B, type ChunkStrategy as C, type DedupeResult as D, type Entity2 as E, type FewShotExample as F, type SecretFinding as G, type SecretType as H, type InjectionDetectResult as I, type JsonBlock as J, type Keyword as K, type SummaryResult as L, MODEL_PRICING as M, type TextChunk as N, type TokenEstimate as O, type PiiDetectResult as P, type TokenEstimateResult as Q, type RankedChunk as R, type SanitizeResult as S, type TableResult2 as T, type ToolSchemaIssue as U, type ToolSchemaLintResult as V, type TrimResult as W, type TrimStrategy as X, type UrlMatch as Y, type ValidationError as Z, type ValidationResult as _, ai_agent as a, calculateRetryBackoffSchedule as a0, chunkText as a1, compressHtml as a2, compressJson as a3, compressMarkdown as a4, deduplicateLines as a5, detectPii as a6, detectPromptInjection as a7, detectSecrets as a8, diffJson as a9, estimateCost as aa, estimateTokens as ab, expandQuery as ac, extractEntities as ad, extractJson as ae, extractKeywords as af, extractTables as ag, extractUrls as ah, flattenJson as ai, formatFewShotExamples as aj, lintToolSchema as ak, mergeJson as al, redactPii as am, repairJson as an, rerankChunks as ao, sanitizeHtml as ap, scoreRelevance as aq, summarizeForLlm as ar, trimToTokens as as, unflattenJson as at, validateJsonSchema as au, vectorSimilarity as av, type CompressHtmlResult as b, type CompressJsonResult as c, type CompressMarkdownResult as d, type CostEstimate as e, type DedupeStrategy as f, type DiffEntry2 as g, type DiffOp2 as h, type DiffResult2 as i, type EntityType2 as j, type ExtractJsonResult as k, type ExtractKeywordsResult as l, type ExtractUrlsResult as m, type FewShotFormat as n, type FewShotFormatResult as o, type InjectionFinding as p, type JsonRepairResult as q, type MergeResult as r, type MergeStrategy as s, type ModelPricing as t, type PiiFinding as u, type PiiType as v, type RelevanceResult as w, type RetryBackoffAttempt as x, type RetryBackoffInput as y, type RetryBackoffResult as z };
@@ -4,6 +4,7 @@ import { __export } from './chunk-MLKGABMK.js';
4
4
  var ai_agent_exports = {};
5
5
  __export(ai_agent_exports, {
6
6
  MODEL_PRICING: () => MODEL_PRICING,
7
+ calculateRetryBackoffSchedule: () => calculateRetryBackoffSchedule,
7
8
  chunkText: () => chunkText,
8
9
  compressHtml: () => compressHtml,
9
10
  compressJson: () => compressJson,
@@ -1116,5 +1117,61 @@ function lintToolSchema(jsonText) {
1116
1117
  const valid = !issues.some((i) => i.severity === "error");
1117
1118
  return { toolCount: normalized.length, issues, valid };
1118
1119
  }
1120
+ function calculateRetryBackoffSchedule(input) {
1121
+ const { baseDelayMs, multiplier, maxRetries, maxDelayMs, jitter = "none" } = input;
1122
+ if (!Number.isFinite(baseDelayMs) || baseDelayMs <= 0) {
1123
+ return { error: "baseDelayMs must be a finite number greater than zero" };
1124
+ }
1125
+ if (!Number.isFinite(multiplier) || multiplier < 1) {
1126
+ return { error: "multiplier must be a finite number of at least 1" };
1127
+ }
1128
+ if (!Number.isInteger(maxRetries) || maxRetries < 1 || maxRetries > 50) {
1129
+ return { error: "maxRetries must be a whole number between 1 and 50" };
1130
+ }
1131
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
1132
+ if (!Number.isFinite(maxDelayMs) || maxDelayMs <= 0) {
1133
+ return { error: "maxDelayMs must be a finite number greater than zero when provided" };
1134
+ }
1135
+ }
1136
+ if (jitter !== "none" && jitter !== "full" && jitter !== "equal") {
1137
+ return { error: "jitter must be one of 'none', 'full', or 'equal'" };
1138
+ }
1139
+ const round0 = (n) => Math.round(n);
1140
+ const attempts = [];
1141
+ let totalBestCaseMs = 0;
1142
+ let totalWorstCaseMs = 0;
1143
+ for (let i = 1; i <= maxRetries; i++) {
1144
+ let nominal = baseDelayMs * Math.pow(multiplier, i - 1);
1145
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
1146
+ nominal = Math.min(nominal, maxDelayMs);
1147
+ }
1148
+ let minDelay;
1149
+ let maxDelay;
1150
+ if (jitter === "full") {
1151
+ minDelay = 0;
1152
+ maxDelay = nominal;
1153
+ } else if (jitter === "equal") {
1154
+ minDelay = nominal / 2;
1155
+ maxDelay = nominal;
1156
+ } else {
1157
+ minDelay = nominal;
1158
+ maxDelay = nominal;
1159
+ }
1160
+ attempts.push({
1161
+ attempt: i,
1162
+ nominalDelayMs: round0(nominal),
1163
+ minDelayMs: round0(minDelay),
1164
+ maxDelayMs: round0(maxDelay)
1165
+ });
1166
+ totalBestCaseMs += minDelay;
1167
+ totalWorstCaseMs += maxDelay;
1168
+ }
1169
+ return {
1170
+ attempts,
1171
+ jitter,
1172
+ totalBestCaseMs: round0(totalBestCaseMs),
1173
+ totalWorstCaseMs: round0(totalWorstCaseMs)
1174
+ };
1175
+ }
1119
1176
 
1120
- export { MODEL_PRICING, ai_agent_exports, chunkText, compressHtml, compressJson, compressMarkdown, deduplicateLines, detectPii, detectPromptInjection, detectSecrets, diffJson, estimateCost, estimateTokens, expandQuery, extractEntities, extractJson, extractKeywords, extractTables, extractUrls, flattenJson, formatFewShotExamples, lintToolSchema, mergeJson, redactPii, repairJson, rerankChunks, sanitizeHtml, scoreRelevance, summarizeForLlm, trimToTokens, unflattenJson, validateJsonSchema, vectorSimilarity };
1177
+ export { MODEL_PRICING, ai_agent_exports, calculateRetryBackoffSchedule, chunkText, compressHtml, compressJson, compressMarkdown, deduplicateLines, detectPii, detectPromptInjection, detectSecrets, diffJson, estimateCost, estimateTokens, expandQuery, extractEntities, extractJson, extractKeywords, extractTables, extractUrls, flattenJson, formatFewShotExamples, lintToolSchema, mergeJson, redactPii, repairJson, rerankChunks, sanitizeHtml, scoreRelevance, summarizeForLlm, trimToTokens, unflattenJson, validateJsonSchema, vectorSimilarity };
@@ -44,6 +44,7 @@ __export(units_exports, {
44
44
  calculateMovingAverages: () => calculateMovingAverages,
45
45
  calculatePaybackPeriod: () => calculatePaybackPeriod,
46
46
  calculatePercentageChange: () => calculatePercentageChange,
47
+ calculateRealRateOfReturn: () => calculateRealRateOfReturn,
47
48
  calculateRequiredBandwidth: () => calculateRequiredBandwidth,
48
49
  calculateRoi: () => calculateRoi,
49
50
  calculateRuleOf72: () => calculateRuleOf72,
@@ -2762,5 +2763,49 @@ function calculateRequiredBandwidth(fileSize, fileSizeUnit, targetSeconds) {
2762
2763
  requiredMBps: requiredBitsPerSecond / 8 / 1e6
2763
2764
  };
2764
2765
  }
2766
+ var _REAL_RATE_FIELDS = ["nominalRatePercent", "inflationRatePercent", "realRatePercent"];
2767
+ function calculateRealRateOfReturn(input) {
2768
+ const provided = (v) => typeof v === "number" && Number.isFinite(v);
2769
+ const given = _REAL_RATE_FIELDS.filter((f) => provided(input[f]));
2770
+ if (given.length !== 2) {
2771
+ return { error: `Provide exactly two of nominalRatePercent, inflationRatePercent, realRatePercent (got ${given.length})` };
2772
+ }
2773
+ for (const f of given) {
2774
+ const v = input[f];
2775
+ if (v <= -100) return { error: `${f} must be greater than -100` };
2776
+ }
2777
+ const has = (f) => given.includes(f);
2778
+ const nominal0 = input.nominalRatePercent;
2779
+ const inflation0 = input.inflationRatePercent;
2780
+ const real0 = input.realRatePercent;
2781
+ let nominalRatePercent;
2782
+ let inflationRatePercent;
2783
+ let realRatePercent;
2784
+ let solvedFor;
2785
+ if (has("nominalRatePercent") && has("inflationRatePercent")) {
2786
+ nominalRatePercent = nominal0;
2787
+ inflationRatePercent = inflation0;
2788
+ realRatePercent = ((1 + nominal0 / 100) / (1 + inflation0 / 100) - 1) * 100;
2789
+ solvedFor = "realRatePercent";
2790
+ } else if (has("realRatePercent") && has("inflationRatePercent")) {
2791
+ realRatePercent = real0;
2792
+ inflationRatePercent = inflation0;
2793
+ nominalRatePercent = ((1 + real0 / 100) * (1 + inflation0 / 100) - 1) * 100;
2794
+ solvedFor = "nominalRatePercent";
2795
+ } else {
2796
+ nominalRatePercent = nominal0;
2797
+ realRatePercent = real0;
2798
+ inflationRatePercent = ((1 + nominal0 / 100) / (1 + real0 / 100) - 1) * 100;
2799
+ solvedFor = "inflationRatePercent";
2800
+ }
2801
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
2802
+ return {
2803
+ nominalRatePercent: round4(nominalRatePercent),
2804
+ inflationRatePercent: round4(inflationRatePercent),
2805
+ realRatePercent: round4(realRatePercent),
2806
+ given,
2807
+ solvedFor
2808
+ };
2809
+ }
2765
2810
 
2766
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRequiredBandwidth, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateTransferTime, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx };
2811
+ export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRealRateOfReturn, calculateRequiredBandwidth, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateTransferTime, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx };
package/dist/index.cjs CHANGED
@@ -8706,6 +8706,7 @@ __export(units_exports, {
8706
8706
  calculateMovingAverages: () => calculateMovingAverages,
8707
8707
  calculatePaybackPeriod: () => calculatePaybackPeriod,
8708
8708
  calculatePercentageChange: () => calculatePercentageChange,
8709
+ calculateRealRateOfReturn: () => calculateRealRateOfReturn,
8709
8710
  calculateRequiredBandwidth: () => calculateRequiredBandwidth,
8710
8711
  calculateRoi: () => calculateRoi,
8711
8712
  calculateRuleOf72: () => calculateRuleOf72,
@@ -11424,6 +11425,50 @@ function calculateRequiredBandwidth(fileSize, fileSizeUnit, targetSeconds) {
11424
11425
  requiredMBps: requiredBitsPerSecond / 8 / 1e6
11425
11426
  };
11426
11427
  }
11428
+ var _REAL_RATE_FIELDS = ["nominalRatePercent", "inflationRatePercent", "realRatePercent"];
11429
+ function calculateRealRateOfReturn(input) {
11430
+ const provided = (v) => typeof v === "number" && Number.isFinite(v);
11431
+ const given = _REAL_RATE_FIELDS.filter((f) => provided(input[f]));
11432
+ if (given.length !== 2) {
11433
+ return { error: `Provide exactly two of nominalRatePercent, inflationRatePercent, realRatePercent (got ${given.length})` };
11434
+ }
11435
+ for (const f of given) {
11436
+ const v = input[f];
11437
+ if (v <= -100) return { error: `${f} must be greater than -100` };
11438
+ }
11439
+ const has = (f) => given.includes(f);
11440
+ const nominal0 = input.nominalRatePercent;
11441
+ const inflation0 = input.inflationRatePercent;
11442
+ const real0 = input.realRatePercent;
11443
+ let nominalRatePercent;
11444
+ let inflationRatePercent;
11445
+ let realRatePercent;
11446
+ let solvedFor;
11447
+ if (has("nominalRatePercent") && has("inflationRatePercent")) {
11448
+ nominalRatePercent = nominal0;
11449
+ inflationRatePercent = inflation0;
11450
+ realRatePercent = ((1 + nominal0 / 100) / (1 + inflation0 / 100) - 1) * 100;
11451
+ solvedFor = "realRatePercent";
11452
+ } else if (has("realRatePercent") && has("inflationRatePercent")) {
11453
+ realRatePercent = real0;
11454
+ inflationRatePercent = inflation0;
11455
+ nominalRatePercent = ((1 + real0 / 100) * (1 + inflation0 / 100) - 1) * 100;
11456
+ solvedFor = "nominalRatePercent";
11457
+ } else {
11458
+ nominalRatePercent = nominal0;
11459
+ realRatePercent = real0;
11460
+ inflationRatePercent = ((1 + nominal0 / 100) / (1 + real0 / 100) - 1) * 100;
11461
+ solvedFor = "inflationRatePercent";
11462
+ }
11463
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
11464
+ return {
11465
+ nominalRatePercent: round4(nominalRatePercent),
11466
+ inflationRatePercent: round4(inflationRatePercent),
11467
+ realRatePercent: round4(realRatePercent),
11468
+ given,
11469
+ solvedFor
11470
+ };
11471
+ }
11427
11472
 
11428
11473
  // src/tools/network.ts
11429
11474
  var network_exports = {};
@@ -23928,6 +23973,7 @@ function generateMetaHtml2(tags) {
23928
23973
  var ai_agent_exports = {};
23929
23974
  __export(ai_agent_exports, {
23930
23975
  MODEL_PRICING: () => MODEL_PRICING,
23976
+ calculateRetryBackoffSchedule: () => calculateRetryBackoffSchedule,
23931
23977
  chunkText: () => chunkText,
23932
23978
  compressHtml: () => compressHtml,
23933
23979
  compressJson: () => compressJson,
@@ -25040,6 +25086,62 @@ function lintToolSchema(jsonText) {
25040
25086
  const valid = !issues.some((i) => i.severity === "error");
25041
25087
  return { toolCount: normalized.length, issues, valid };
25042
25088
  }
25089
+ function calculateRetryBackoffSchedule(input) {
25090
+ const { baseDelayMs, multiplier, maxRetries, maxDelayMs, jitter = "none" } = input;
25091
+ if (!Number.isFinite(baseDelayMs) || baseDelayMs <= 0) {
25092
+ return { error: "baseDelayMs must be a finite number greater than zero" };
25093
+ }
25094
+ if (!Number.isFinite(multiplier) || multiplier < 1) {
25095
+ return { error: "multiplier must be a finite number of at least 1" };
25096
+ }
25097
+ if (!Number.isInteger(maxRetries) || maxRetries < 1 || maxRetries > 50) {
25098
+ return { error: "maxRetries must be a whole number between 1 and 50" };
25099
+ }
25100
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
25101
+ if (!Number.isFinite(maxDelayMs) || maxDelayMs <= 0) {
25102
+ return { error: "maxDelayMs must be a finite number greater than zero when provided" };
25103
+ }
25104
+ }
25105
+ if (jitter !== "none" && jitter !== "full" && jitter !== "equal") {
25106
+ return { error: "jitter must be one of 'none', 'full', or 'equal'" };
25107
+ }
25108
+ const round0 = (n) => Math.round(n);
25109
+ const attempts = [];
25110
+ let totalBestCaseMs = 0;
25111
+ let totalWorstCaseMs = 0;
25112
+ for (let i = 1; i <= maxRetries; i++) {
25113
+ let nominal = baseDelayMs * Math.pow(multiplier, i - 1);
25114
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
25115
+ nominal = Math.min(nominal, maxDelayMs);
25116
+ }
25117
+ let minDelay;
25118
+ let maxDelay;
25119
+ if (jitter === "full") {
25120
+ minDelay = 0;
25121
+ maxDelay = nominal;
25122
+ } else if (jitter === "equal") {
25123
+ minDelay = nominal / 2;
25124
+ maxDelay = nominal;
25125
+ } else {
25126
+ minDelay = nominal;
25127
+ maxDelay = nominal;
25128
+ }
25129
+ attempts.push({
25130
+ attempt: i,
25131
+ nominalDelayMs: round0(nominal),
25132
+ minDelayMs: round0(minDelay),
25133
+ maxDelayMs: round0(maxDelay)
25134
+ });
25135
+ totalBestCaseMs += minDelay;
25136
+ totalWorstCaseMs += maxDelay;
25137
+ }
25138
+ return {
25139
+ attempts,
25140
+ jitter,
25141
+ totalBestCaseMs: round0(totalBestCaseMs),
25142
+ totalWorstCaseMs: round0(totalWorstCaseMs)
25143
+ };
25144
+ }
25043
25145
 
25044
25146
  // src/tools/media.ts
25045
25147
  var media_exports = {};
package/dist/index.d.cts CHANGED
@@ -5,14 +5,14 @@ export { t as text } from './text-CNn3whZA.cjs';
5
5
  export { d as data } from './data-DIyBrJ6l.cjs';
6
6
  export { g as generators } from './generators-DAXXrMvG.cjs';
7
7
  export { t as time } from './time-KqJjdqII.cjs';
8
- export { u as units } from './units-BqegyALA.cjs';
8
+ export { u as units } from './units-D7YRRwei.cjs';
9
9
  export { n as network } from './network-BskZe1n2.cjs';
10
10
  export { a as api } from './api-CQnIUrVB.cjs';
11
11
  export { c as code } from './code-46xO9xFf.cjs';
12
12
  export { c as color } from './color-tPwZCr9H.cjs';
13
13
  export { c as css } from './css-Cf7AMGM-.cjs';
14
14
  export { m as misc } from './misc-CA3N198T.cjs';
15
- export { a as ai_agent } from './ai_agent-CmrVjvYH.cjs';
15
+ export { a as ai_agent } from './ai_agent-DeCy0oZK.cjs';
16
16
  export { m as media } from './media-DF8BS-iA.cjs';
17
17
 
18
18
  declare const version = "0.1.0";
package/dist/index.d.ts CHANGED
@@ -5,14 +5,14 @@ export { t as text } from './text-CNn3whZA.js';
5
5
  export { d as data } from './data-DIyBrJ6l.js';
6
6
  export { g as generators } from './generators-DAXXrMvG.js';
7
7
  export { t as time } from './time-KqJjdqII.js';
8
- export { u as units } from './units-BqegyALA.js';
8
+ export { u as units } from './units-D7YRRwei.js';
9
9
  export { n as network } from './network-BskZe1n2.js';
10
10
  export { a as api } from './api-CQnIUrVB.js';
11
11
  export { c as code } from './code-46xO9xFf.js';
12
12
  export { c as color } from './color-tPwZCr9H.js';
13
13
  export { c as css } from './css-Cf7AMGM-.js';
14
14
  export { m as misc } from './misc-CA3N198T.js';
15
- export { a as ai_agent } from './ai_agent-CmrVjvYH.js';
15
+ export { a as ai_agent } from './ai_agent-DeCy0oZK.js';
16
16
  export { m as media } from './media-DF8BS-iA.js';
17
17
 
18
18
  declare const version = "0.1.0";
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  export { media_exports as media } from './chunk-ZWFZRDQ4.js';
2
- export { units_exports as units } from './chunk-RP574L5Z.js';
2
+ export { units_exports as units } from './chunk-OFLNVDNX.js';
3
3
  export { network_exports as network } from './chunk-KWS4ZCYG.js';
4
4
  export { api_exports as api } from './chunk-U2HREMZU.js';
5
5
  export { code_exports as code } from './chunk-XT2BQWXT.js';
6
6
  export { color_exports as color } from './chunk-BPVAB4P2.js';
7
7
  export { css_exports as css } from './chunk-6YPV2AB5.js';
8
8
  export { misc_exports as misc } from './chunk-GX7H6TAX.js';
9
- export { ai_agent_exports as ai_agent } from './chunk-EKIXOA7B.js';
9
+ export { ai_agent_exports as ai_agent } from './chunk-HJLGUNSO.js';
10
10
  export { json_exports as json } from './chunk-34C6GXCC.js';
11
11
  export { encoding_exports as encoding } from './chunk-DOWQZUTP.js';
12
12
  export { hashing_exports as hashing } from './chunk-PET2CGTH.js';
@@ -1081,8 +1081,65 @@ function lintToolSchema(jsonText) {
1081
1081
  const valid = !issues.some((i) => i.severity === "error");
1082
1082
  return { toolCount: normalized.length, issues, valid };
1083
1083
  }
1084
+ function calculateRetryBackoffSchedule(input) {
1085
+ const { baseDelayMs, multiplier, maxRetries, maxDelayMs, jitter = "none" } = input;
1086
+ if (!Number.isFinite(baseDelayMs) || baseDelayMs <= 0) {
1087
+ return { error: "baseDelayMs must be a finite number greater than zero" };
1088
+ }
1089
+ if (!Number.isFinite(multiplier) || multiplier < 1) {
1090
+ return { error: "multiplier must be a finite number of at least 1" };
1091
+ }
1092
+ if (!Number.isInteger(maxRetries) || maxRetries < 1 || maxRetries > 50) {
1093
+ return { error: "maxRetries must be a whole number between 1 and 50" };
1094
+ }
1095
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
1096
+ if (!Number.isFinite(maxDelayMs) || maxDelayMs <= 0) {
1097
+ return { error: "maxDelayMs must be a finite number greater than zero when provided" };
1098
+ }
1099
+ }
1100
+ if (jitter !== "none" && jitter !== "full" && jitter !== "equal") {
1101
+ return { error: "jitter must be one of 'none', 'full', or 'equal'" };
1102
+ }
1103
+ const round0 = (n) => Math.round(n);
1104
+ const attempts = [];
1105
+ let totalBestCaseMs = 0;
1106
+ let totalWorstCaseMs = 0;
1107
+ for (let i = 1; i <= maxRetries; i++) {
1108
+ let nominal = baseDelayMs * Math.pow(multiplier, i - 1);
1109
+ if (maxDelayMs !== void 0 && maxDelayMs !== null) {
1110
+ nominal = Math.min(nominal, maxDelayMs);
1111
+ }
1112
+ let minDelay;
1113
+ let maxDelay;
1114
+ if (jitter === "full") {
1115
+ minDelay = 0;
1116
+ maxDelay = nominal;
1117
+ } else if (jitter === "equal") {
1118
+ minDelay = nominal / 2;
1119
+ maxDelay = nominal;
1120
+ } else {
1121
+ minDelay = nominal;
1122
+ maxDelay = nominal;
1123
+ }
1124
+ attempts.push({
1125
+ attempt: i,
1126
+ nominalDelayMs: round0(nominal),
1127
+ minDelayMs: round0(minDelay),
1128
+ maxDelayMs: round0(maxDelay)
1129
+ });
1130
+ totalBestCaseMs += minDelay;
1131
+ totalWorstCaseMs += maxDelay;
1132
+ }
1133
+ return {
1134
+ attempts,
1135
+ jitter,
1136
+ totalBestCaseMs: round0(totalBestCaseMs),
1137
+ totalWorstCaseMs: round0(totalWorstCaseMs)
1138
+ };
1139
+ }
1084
1140
 
1085
1141
  exports.MODEL_PRICING = MODEL_PRICING;
1142
+ exports.calculateRetryBackoffSchedule = calculateRetryBackoffSchedule;
1086
1143
  exports.chunkText = chunkText;
1087
1144
  exports.compressHtml = compressHtml;
1088
1145
  exports.compressJson = compressJson;
@@ -1 +1 @@
1
- export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, S as SanitizeResult, x as SecretDetectResult, y as SecretFinding, z as SecretType, A as SummaryResult, T as TableResult2, B as TextChunk, G as TokenEstimate, H as TokenEstimateResult, L as ToolSchemaIssue, N as ToolSchemaLintResult, O as TrimResult, Q as TrimStrategy, U as UrlMatch, V as ValidationError, W as ValidationResult, X as VectorSimilarityResult, Y as chunkText, Z as compressHtml, _ as compressJson, $ as compressMarkdown, a0 as deduplicateLines, a1 as detectPii, a2 as detectPromptInjection, a3 as detectSecrets, a4 as diffJson, a5 as estimateCost, a6 as estimateTokens, a7 as expandQuery, a8 as extractEntities, a9 as extractJson, aa as extractKeywords, ab as extractTables, ac as extractUrls, ad as flattenJson, ae as formatFewShotExamples, af as lintToolSchema, ag as mergeJson, ah as redactPii, ai as repairJson, aj as rerankChunks, ak as sanitizeHtml, al as scoreRelevance, am as summarizeForLlm, an as trimToTokens, ao as unflattenJson, ap as validateJsonSchema, aq as vectorSimilarity } from '../ai_agent-CmrVjvYH.cjs';
1
+ export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, x as RetryBackoffAttempt, y as RetryBackoffInput, z as RetryBackoffResult, A as RetryJitterMode, S as SanitizeResult, B as SecretDetectResult, G as SecretFinding, H as SecretType, L as SummaryResult, T as TableResult2, N as TextChunk, O as TokenEstimate, Q as TokenEstimateResult, U as ToolSchemaIssue, V as ToolSchemaLintResult, W as TrimResult, X as TrimStrategy, Y as UrlMatch, Z as ValidationError, _ as ValidationResult, $ as VectorSimilarityResult, a0 as calculateRetryBackoffSchedule, a1 as chunkText, a2 as compressHtml, a3 as compressJson, a4 as compressMarkdown, a5 as deduplicateLines, a6 as detectPii, a7 as detectPromptInjection, a8 as detectSecrets, a9 as diffJson, aa as estimateCost, ab as estimateTokens, ac as expandQuery, ad as extractEntities, ae as extractJson, af as extractKeywords, ag as extractTables, ah as extractUrls, ai as flattenJson, aj as formatFewShotExamples, ak as lintToolSchema, al as mergeJson, am as redactPii, an as repairJson, ao as rerankChunks, ap as sanitizeHtml, aq as scoreRelevance, ar as summarizeForLlm, as as trimToTokens, at as unflattenJson, au as validateJsonSchema, av as vectorSimilarity } from '../ai_agent-DeCy0oZK.cjs';
@@ -1 +1 @@
1
- export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, S as SanitizeResult, x as SecretDetectResult, y as SecretFinding, z as SecretType, A as SummaryResult, T as TableResult2, B as TextChunk, G as TokenEstimate, H as TokenEstimateResult, L as ToolSchemaIssue, N as ToolSchemaLintResult, O as TrimResult, Q as TrimStrategy, U as UrlMatch, V as ValidationError, W as ValidationResult, X as VectorSimilarityResult, Y as chunkText, Z as compressHtml, _ as compressJson, $ as compressMarkdown, a0 as deduplicateLines, a1 as detectPii, a2 as detectPromptInjection, a3 as detectSecrets, a4 as diffJson, a5 as estimateCost, a6 as estimateTokens, a7 as expandQuery, a8 as extractEntities, a9 as extractJson, aa as extractKeywords, ab as extractTables, ac as extractUrls, ad as flattenJson, ae as formatFewShotExamples, af as lintToolSchema, ag as mergeJson, ah as redactPii, ai as repairJson, aj as rerankChunks, ak as sanitizeHtml, al as scoreRelevance, am as summarizeForLlm, an as trimToTokens, ao as unflattenJson, ap as validateJsonSchema, aq as vectorSimilarity } from '../ai_agent-CmrVjvYH.js';
1
+ export { C as ChunkStrategy, b as CompressHtmlResult, c as CompressJsonResult, d as CompressMarkdownResult, e as CostEstimate, D as DedupeResult, f as DedupeStrategy, g as DiffEntry2, h as DiffOp2, i as DiffResult2, E as Entity2, j as EntityType2, k as ExtractJsonResult, l as ExtractKeywordsResult, m as ExtractUrlsResult, F as FewShotExample, n as FewShotFormat, o as FewShotFormatResult, I as InjectionDetectResult, p as InjectionFinding, J as JsonBlock, q as JsonRepairResult, K as Keyword, M as MODEL_PRICING, r as MergeResult, s as MergeStrategy, t as ModelPricing, P as PiiDetectResult, u as PiiFinding, v as PiiType, R as RankedChunk, w as RelevanceResult, x as RetryBackoffAttempt, y as RetryBackoffInput, z as RetryBackoffResult, A as RetryJitterMode, S as SanitizeResult, B as SecretDetectResult, G as SecretFinding, H as SecretType, L as SummaryResult, T as TableResult2, N as TextChunk, O as TokenEstimate, Q as TokenEstimateResult, U as ToolSchemaIssue, V as ToolSchemaLintResult, W as TrimResult, X as TrimStrategy, Y as UrlMatch, Z as ValidationError, _ as ValidationResult, $ as VectorSimilarityResult, a0 as calculateRetryBackoffSchedule, a1 as chunkText, a2 as compressHtml, a3 as compressJson, a4 as compressMarkdown, a5 as deduplicateLines, a6 as detectPii, a7 as detectPromptInjection, a8 as detectSecrets, a9 as diffJson, aa as estimateCost, ab as estimateTokens, ac as expandQuery, ad as extractEntities, ae as extractJson, af as extractKeywords, ag as extractTables, ah as extractUrls, ai as flattenJson, aj as formatFewShotExamples, ak as lintToolSchema, al as mergeJson, am as redactPii, an as repairJson, ao as rerankChunks, ap as sanitizeHtml, aq as scoreRelevance, ar as summarizeForLlm, as as trimToTokens, at as unflattenJson, au as validateJsonSchema, av as vectorSimilarity } from '../ai_agent-DeCy0oZK.js';
@@ -1,2 +1,2 @@
1
- export { MODEL_PRICING, chunkText, compressHtml, compressJson, compressMarkdown, deduplicateLines, detectPii, detectPromptInjection, detectSecrets, diffJson, estimateCost, estimateTokens, expandQuery, extractEntities, extractJson, extractKeywords, extractTables, extractUrls, flattenJson, formatFewShotExamples, lintToolSchema, mergeJson, redactPii, repairJson, rerankChunks, sanitizeHtml, scoreRelevance, summarizeForLlm, trimToTokens, unflattenJson, validateJsonSchema, vectorSimilarity } from '../chunk-EKIXOA7B.js';
1
+ export { MODEL_PRICING, calculateRetryBackoffSchedule, chunkText, compressHtml, compressJson, compressMarkdown, deduplicateLines, detectPii, detectPromptInjection, detectSecrets, diffJson, estimateCost, estimateTokens, expandQuery, extractEntities, extractJson, extractKeywords, extractTables, extractUrls, flattenJson, formatFewShotExamples, lintToolSchema, mergeJson, redactPii, repairJson, rerankChunks, sanitizeHtml, scoreRelevance, summarizeForLlm, trimToTokens, unflattenJson, validateJsonSchema, vectorSimilarity } from '../chunk-HJLGUNSO.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -2651,6 +2651,50 @@ function calculateRequiredBandwidth(fileSize, fileSizeUnit, targetSeconds) {
2651
2651
  requiredMBps: requiredBitsPerSecond / 8 / 1e6
2652
2652
  };
2653
2653
  }
2654
+ var _REAL_RATE_FIELDS = ["nominalRatePercent", "inflationRatePercent", "realRatePercent"];
2655
+ function calculateRealRateOfReturn(input) {
2656
+ const provided = (v) => typeof v === "number" && Number.isFinite(v);
2657
+ const given = _REAL_RATE_FIELDS.filter((f) => provided(input[f]));
2658
+ if (given.length !== 2) {
2659
+ return { error: `Provide exactly two of nominalRatePercent, inflationRatePercent, realRatePercent (got ${given.length})` };
2660
+ }
2661
+ for (const f of given) {
2662
+ const v = input[f];
2663
+ if (v <= -100) return { error: `${f} must be greater than -100` };
2664
+ }
2665
+ const has = (f) => given.includes(f);
2666
+ const nominal0 = input.nominalRatePercent;
2667
+ const inflation0 = input.inflationRatePercent;
2668
+ const real0 = input.realRatePercent;
2669
+ let nominalRatePercent;
2670
+ let inflationRatePercent;
2671
+ let realRatePercent;
2672
+ let solvedFor;
2673
+ if (has("nominalRatePercent") && has("inflationRatePercent")) {
2674
+ nominalRatePercent = nominal0;
2675
+ inflationRatePercent = inflation0;
2676
+ realRatePercent = ((1 + nominal0 / 100) / (1 + inflation0 / 100) - 1) * 100;
2677
+ solvedFor = "realRatePercent";
2678
+ } else if (has("realRatePercent") && has("inflationRatePercent")) {
2679
+ realRatePercent = real0;
2680
+ inflationRatePercent = inflation0;
2681
+ nominalRatePercent = ((1 + real0 / 100) * (1 + inflation0 / 100) - 1) * 100;
2682
+ solvedFor = "nominalRatePercent";
2683
+ } else {
2684
+ nominalRatePercent = nominal0;
2685
+ realRatePercent = real0;
2686
+ inflationRatePercent = ((1 + nominal0 / 100) / (1 + real0 / 100) - 1) * 100;
2687
+ solvedFor = "inflationRatePercent";
2688
+ }
2689
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
2690
+ return {
2691
+ nominalRatePercent: round4(nominalRatePercent),
2692
+ inflationRatePercent: round4(inflationRatePercent),
2693
+ realRatePercent: round4(realRatePercent),
2694
+ given,
2695
+ solvedFor
2696
+ };
2697
+ }
2654
2698
 
2655
2699
  exports.BASE_LABELS = BASE_LABELS;
2656
2700
  exports.BASE_PREFIXES = BASE_PREFIXES;
@@ -2693,6 +2737,7 @@ exports.calculateMortgagePoints = calculateMortgagePoints;
2693
2737
  exports.calculateMovingAverages = calculateMovingAverages;
2694
2738
  exports.calculatePaybackPeriod = calculatePaybackPeriod;
2695
2739
  exports.calculatePercentageChange = calculatePercentageChange;
2740
+ exports.calculateRealRateOfReturn = calculateRealRateOfReturn;
2696
2741
  exports.calculateRequiredBandwidth = calculateRequiredBandwidth;
2697
2742
  exports.calculateRoi = calculateRoi;
2698
2743
  exports.calculateRuleOf72 = calculateRuleOf72;
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RequiredBandwidthResult, aD as RoiInput, aE as RoiResult, aF as RuleOf72Direction, aG as RuleOf72Result, aH as SavingsGoalInput, aI as SavingsGoalMode, aJ as SavingsGoalResult, aK as SemverVersion, aL as SimpleInterestResult, aM as SubnetInfo, aN as SuccessiveDiscountResult, aO as SuccessiveDiscountStep, aP as TaxDirection, aQ as TaxEquivalentYieldDirection, aR as TaxEquivalentYieldResult, aS as TaxResult, aT as TimeValueDirection, aU as TimeValueResult, aV as TipSplitResult, aW as TransferSpeedUnit, aX as TransferTimeResult, aY as USD_DENOMINATIONS, aZ as UnitPriceItem, a_ as UnitPriceResult, a$ as UtilizationTier, b0 as VideoBitrateInput, b1 as VideoBitrateMode, b2 as VideoBitrateResult, b3 as ViewportConvertResult, b4 as VinValidationResult, b5 as applySuccessiveDiscounts, b6 as autoFormat, b7 as bumpVersion, b8 as calcAspectRatio, b9 as calcSubnet, ba as calculateBlendedLoanRate, bb as calculateBreakEven, bc as calculateCashBreakdown, bd as calculateCashRounding, be as calculateCdMaturity, bf as calculateChange, bg as calculateCompoundInterest, bh as calculateCreditUtilization, bi as calculateDebtToIncomeRatio, bj as calculateDepreciationSchedule, bk as calculateDiscount, bl as calculateEmi, bm as calculateExtraPaymentPayoff, bn as calculateFreelancerRate, bo as calculateGpa, bp as calculateLoan, bq as calculateLoanPrepaymentPenalty, br as calculateLoanRefinance, bs as calculateMarginMarkup, bt as calculateMortgagePoints, bu as calculateMovingAverages, bv as calculatePaybackPeriod, bw as calculatePercentageChange, bx as calculateRequiredBandwidth, by as calculateRoi, bz as calculateRuleOf72, bA as calculateSavingsGoal, bB as calculateSimpleInterest, bC as calculateTax, bD as calculateTaxEquivalentYield, bE as calculateTimeValue, bF as calculateTipSplit, bG as calculateTransferTime, bH as calculateVideoBitrate, bI as compareSemver, bJ as compareUnitPrices, bK as convert, bL as convertAprApy, bM as convertBytes, bN as convertIp, bO as coverBox, bP as decimalToIp, bQ as decimalToIpCidr, bR as describePermissions, bS as fitIntoBox, bT as formatNumber, bU as formatValue, bV as formatVwValue, bW as formatWithSeparator, bX as gcd, bY as ipFromBinary, bZ as ipFromDecimal, b_ as ipFromHex, b$ as ipToBinary, c0 as ipToDecimal, c1 as ipToDecimalCidr, c2 as ipToHex, c3 as ipToOctal, c4 as isValid, c5 as isValidCidr, c6 as isValidIp, c7 as isValidIpv4, c8 as marginToMarkup, c9 as markupToMargin, ca as octalToPermissions, cb as parseFileSize, cc as parseInput, cd as parseNumberString, ce as parseSemver, cf as permissionsToChmod, cg as permissionsToOctal, ch as permissionsToSymbolic, ci as planDebtPayoff, cj as ptToPx, ck as pxToAll, cl as pxToViewport, cm as remToPx, cn as satisfiesRange, co as scaleByHeight, cp as scaleByWidth, cq as sortVersions, cr as splitSubnet, cs as symbolicToPermissions, ct as validateBarcode, cu as validateCardNumber, cv as validateIban, cw as validateIsbn, cx as validateIsin, cy as validateVin, cz as viewportToPx } from '../units-BqegyALA.cjs';
1
+ export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RealRateField, aD as RealRateOfReturnInput, aE as RealRateOfReturnResult, aF as RequiredBandwidthResult, aG as RoiInput, aH as RoiResult, aI as RuleOf72Direction, aJ as RuleOf72Result, aK as SavingsGoalInput, aL as SavingsGoalMode, aM as SavingsGoalResult, aN as SemverVersion, aO as SimpleInterestResult, aP as SubnetInfo, aQ as SuccessiveDiscountResult, aR as SuccessiveDiscountStep, aS as TaxDirection, aT as TaxEquivalentYieldDirection, aU as TaxEquivalentYieldResult, aV as TaxResult, aW as TimeValueDirection, aX as TimeValueResult, aY as TipSplitResult, aZ as TransferSpeedUnit, a_ as TransferTimeResult, a$ as USD_DENOMINATIONS, b0 as UnitPriceItem, b1 as UnitPriceResult, b2 as UtilizationTier, b3 as VideoBitrateInput, b4 as VideoBitrateMode, b5 as VideoBitrateResult, b6 as ViewportConvertResult, b7 as VinValidationResult, b8 as applySuccessiveDiscounts, b9 as autoFormat, ba as bumpVersion, bb as calcAspectRatio, bc as calcSubnet, bd as calculateBlendedLoanRate, be as calculateBreakEven, bf as calculateCashBreakdown, bg as calculateCashRounding, bh as calculateCdMaturity, bi as calculateChange, bj as calculateCompoundInterest, bk as calculateCreditUtilization, bl as calculateDebtToIncomeRatio, bm as calculateDepreciationSchedule, bn as calculateDiscount, bo as calculateEmi, bp as calculateExtraPaymentPayoff, bq as calculateFreelancerRate, br as calculateGpa, bs as calculateLoan, bt as calculateLoanPrepaymentPenalty, bu as calculateLoanRefinance, bv as calculateMarginMarkup, bw as calculateMortgagePoints, bx as calculateMovingAverages, by as calculatePaybackPeriod, bz as calculatePercentageChange, bA as calculateRealRateOfReturn, bB as calculateRequiredBandwidth, bC as calculateRoi, bD as calculateRuleOf72, bE as calculateSavingsGoal, bF as calculateSimpleInterest, bG as calculateTax, bH as calculateTaxEquivalentYield, bI as calculateTimeValue, bJ as calculateTipSplit, bK as calculateTransferTime, bL as calculateVideoBitrate, bM as compareSemver, bN as compareUnitPrices, bO as convert, bP as convertAprApy, bQ as convertBytes, bR as convertIp, bS as coverBox, bT as decimalToIp, bU as decimalToIpCidr, bV as describePermissions, bW as fitIntoBox, bX as formatNumber, bY as formatValue, bZ as formatVwValue, b_ as formatWithSeparator, b$ as gcd, c0 as ipFromBinary, c1 as ipFromDecimal, c2 as ipFromHex, c3 as ipToBinary, c4 as ipToDecimal, c5 as ipToDecimalCidr, c6 as ipToHex, c7 as ipToOctal, c8 as isValid, c9 as isValidCidr, ca as isValidIp, cb as isValidIpv4, cc as marginToMarkup, cd as markupToMargin, ce as octalToPermissions, cf as parseFileSize, cg as parseInput, ch as parseNumberString, ci as parseSemver, cj as permissionsToChmod, ck as permissionsToOctal, cl as permissionsToSymbolic, cm as planDebtPayoff, cn as ptToPx, co as pxToAll, cp as pxToViewport, cq as remToPx, cr as satisfiesRange, cs as scaleByHeight, ct as scaleByWidth, cu as sortVersions, cv as splitSubnet, cw as symbolicToPermissions, cx as validateBarcode, cy as validateCardNumber, cz as validateIban, cA as validateIsbn, cB as validateIsin, cC as validateVin, cD as viewportToPx } from '../units-D7YRRwei.cjs';
@@ -1 +1 @@
1
- export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RequiredBandwidthResult, aD as RoiInput, aE as RoiResult, aF as RuleOf72Direction, aG as RuleOf72Result, aH as SavingsGoalInput, aI as SavingsGoalMode, aJ as SavingsGoalResult, aK as SemverVersion, aL as SimpleInterestResult, aM as SubnetInfo, aN as SuccessiveDiscountResult, aO as SuccessiveDiscountStep, aP as TaxDirection, aQ as TaxEquivalentYieldDirection, aR as TaxEquivalentYieldResult, aS as TaxResult, aT as TimeValueDirection, aU as TimeValueResult, aV as TipSplitResult, aW as TransferSpeedUnit, aX as TransferTimeResult, aY as USD_DENOMINATIONS, aZ as UnitPriceItem, a_ as UnitPriceResult, a$ as UtilizationTier, b0 as VideoBitrateInput, b1 as VideoBitrateMode, b2 as VideoBitrateResult, b3 as ViewportConvertResult, b4 as VinValidationResult, b5 as applySuccessiveDiscounts, b6 as autoFormat, b7 as bumpVersion, b8 as calcAspectRatio, b9 as calcSubnet, ba as calculateBlendedLoanRate, bb as calculateBreakEven, bc as calculateCashBreakdown, bd as calculateCashRounding, be as calculateCdMaturity, bf as calculateChange, bg as calculateCompoundInterest, bh as calculateCreditUtilization, bi as calculateDebtToIncomeRatio, bj as calculateDepreciationSchedule, bk as calculateDiscount, bl as calculateEmi, bm as calculateExtraPaymentPayoff, bn as calculateFreelancerRate, bo as calculateGpa, bp as calculateLoan, bq as calculateLoanPrepaymentPenalty, br as calculateLoanRefinance, bs as calculateMarginMarkup, bt as calculateMortgagePoints, bu as calculateMovingAverages, bv as calculatePaybackPeriod, bw as calculatePercentageChange, bx as calculateRequiredBandwidth, by as calculateRoi, bz as calculateRuleOf72, bA as calculateSavingsGoal, bB as calculateSimpleInterest, bC as calculateTax, bD as calculateTaxEquivalentYield, bE as calculateTimeValue, bF as calculateTipSplit, bG as calculateTransferTime, bH as calculateVideoBitrate, bI as compareSemver, bJ as compareUnitPrices, bK as convert, bL as convertAprApy, bM as convertBytes, bN as convertIp, bO as coverBox, bP as decimalToIp, bQ as decimalToIpCidr, bR as describePermissions, bS as fitIntoBox, bT as formatNumber, bU as formatValue, bV as formatVwValue, bW as formatWithSeparator, bX as gcd, bY as ipFromBinary, bZ as ipFromDecimal, b_ as ipFromHex, b$ as ipToBinary, c0 as ipToDecimal, c1 as ipToDecimalCidr, c2 as ipToHex, c3 as ipToOctal, c4 as isValid, c5 as isValidCidr, c6 as isValidIp, c7 as isValidIpv4, c8 as marginToMarkup, c9 as markupToMargin, ca as octalToPermissions, cb as parseFileSize, cc as parseInput, cd as parseNumberString, ce as parseSemver, cf as permissionsToChmod, cg as permissionsToOctal, ch as permissionsToSymbolic, ci as planDebtPayoff, cj as ptToPx, ck as pxToAll, cl as pxToViewport, cm as remToPx, cn as satisfiesRange, co as scaleByHeight, cp as scaleByWidth, cq as sortVersions, cr as splitSubnet, cs as symbolicToPermissions, ct as validateBarcode, cu as validateCardNumber, cv as validateIban, cw as validateIsbn, cx as validateIsin, cy as validateVin, cz as viewportToPx } from '../units-BqegyALA.js';
1
+ export { A as AmortizationRow, a as AprApyDirection, b as AprApyResult, c as AspectRatioResult, B as BASE_LABELS, d as BASE_PREFIXES, e as BYTE_UNITS, f as BarcodeFormat, g as BarcodeValidationResult, h as BaseConvertResult, i as BlendedLoanRateResult, j as BreakEvenInput, k as BreakEvenResult, l as ByteConvertResult, m as ByteUnit, C as COMMON_CURRENCIES, n as COMMON_LOCALES, o as COMMON_PERMISSIONS, p as COMMON_RATIOS, q as COMMON_SIZES, r as COMMON_TAX_RATES, s as COMMON_TIP_PERCENTAGES, t as COMMON_VIEWPORTS, v as CardValidationResult, w as CashBreakdownResult, x as CashChangeResult, y as CashDenominationItem, z as CashRoundingMode, D as CashRoundingResult, E as CdMaturityResult, F as CompareUnitPricesResult, G as CompoundInterestResult, H as CompoundYearRow, I as CreditAccountInput, J as CreditAccountResult, K as CreditUtilizationResult, L as DebtItemInput, M as DebtItemResult, N as DebtPayoffComparison, O as DebtPayoffInput, P as DebtPayoffPlanResult, Q as DebtPayoffScheduleEntry, R as DebtPayoffStrategy, S as DebtPayoffStrategyResult, T as DebtToIncomeRatioResult, U as DepreciationMethod, V as DepreciationResult, W as DepreciationYear, X as Dimensions, Y as DiscountField, Z as DiscountInput, _ as DiscountResult, $ as DtiTier, a0 as EmiResult, a1 as EmiTenureUnit, a2 as EmiYearlyBreakdownRow, a3 as ExtraPaymentPayoffResult, a4 as FilePermissions, a5 as FileSizeUnit, a6 as FormatOptions, a7 as FreelancerRateInput, a8 as FreelancerRateResult, a9 as GPA_GRADE_POINTS, aa as GpaCourse, ab as GpaCourseResult, ac as GpaResult, ad as IbanValidationResult, ae as IpConversion, af as IsbnFormat, ag as IsbnResult, ah as IsinValidationResult, ai as LoanBalanceInput, aj as LoanBalanceResult, ak as LoanPrepaymentPenaltyResult, al as LoanRefinanceResult, am as LoanResult, an as MarginMarkupField, ao as MarginMarkupInput, ap as MarginMarkupResult, aq as MortgagePointsResult, ar as MovingAveragePoint, as as MovingAverageResult, at as NotationStyle, au as NumberBase, av as PaybackPeriodInput, aw as PaybackPeriodResult, ax as PercentChangeDirection, ay as PercentageChangeResult, az as Permission, aA as PrepaymentPenaltyType, aB as PxConvertResult, aC as RealRateField, aD as RealRateOfReturnInput, aE as RealRateOfReturnResult, aF as RequiredBandwidthResult, aG as RoiInput, aH as RoiResult, aI as RuleOf72Direction, aJ as RuleOf72Result, aK as SavingsGoalInput, aL as SavingsGoalMode, aM as SavingsGoalResult, aN as SemverVersion, aO as SimpleInterestResult, aP as SubnetInfo, aQ as SuccessiveDiscountResult, aR as SuccessiveDiscountStep, aS as TaxDirection, aT as TaxEquivalentYieldDirection, aU as TaxEquivalentYieldResult, aV as TaxResult, aW as TimeValueDirection, aX as TimeValueResult, aY as TipSplitResult, aZ as TransferSpeedUnit, a_ as TransferTimeResult, a$ as USD_DENOMINATIONS, b0 as UnitPriceItem, b1 as UnitPriceResult, b2 as UtilizationTier, b3 as VideoBitrateInput, b4 as VideoBitrateMode, b5 as VideoBitrateResult, b6 as ViewportConvertResult, b7 as VinValidationResult, b8 as applySuccessiveDiscounts, b9 as autoFormat, ba as bumpVersion, bb as calcAspectRatio, bc as calcSubnet, bd as calculateBlendedLoanRate, be as calculateBreakEven, bf as calculateCashBreakdown, bg as calculateCashRounding, bh as calculateCdMaturity, bi as calculateChange, bj as calculateCompoundInterest, bk as calculateCreditUtilization, bl as calculateDebtToIncomeRatio, bm as calculateDepreciationSchedule, bn as calculateDiscount, bo as calculateEmi, bp as calculateExtraPaymentPayoff, bq as calculateFreelancerRate, br as calculateGpa, bs as calculateLoan, bt as calculateLoanPrepaymentPenalty, bu as calculateLoanRefinance, bv as calculateMarginMarkup, bw as calculateMortgagePoints, bx as calculateMovingAverages, by as calculatePaybackPeriod, bz as calculatePercentageChange, bA as calculateRealRateOfReturn, bB as calculateRequiredBandwidth, bC as calculateRoi, bD as calculateRuleOf72, bE as calculateSavingsGoal, bF as calculateSimpleInterest, bG as calculateTax, bH as calculateTaxEquivalentYield, bI as calculateTimeValue, bJ as calculateTipSplit, bK as calculateTransferTime, bL as calculateVideoBitrate, bM as compareSemver, bN as compareUnitPrices, bO as convert, bP as convertAprApy, bQ as convertBytes, bR as convertIp, bS as coverBox, bT as decimalToIp, bU as decimalToIpCidr, bV as describePermissions, bW as fitIntoBox, bX as formatNumber, bY as formatValue, bZ as formatVwValue, b_ as formatWithSeparator, b$ as gcd, c0 as ipFromBinary, c1 as ipFromDecimal, c2 as ipFromHex, c3 as ipToBinary, c4 as ipToDecimal, c5 as ipToDecimalCidr, c6 as ipToHex, c7 as ipToOctal, c8 as isValid, c9 as isValidCidr, ca as isValidIp, cb as isValidIpv4, cc as marginToMarkup, cd as markupToMargin, ce as octalToPermissions, cf as parseFileSize, cg as parseInput, ch as parseNumberString, ci as parseSemver, cj as permissionsToChmod, ck as permissionsToOctal, cl as permissionsToSymbolic, cm as planDebtPayoff, cn as ptToPx, co as pxToAll, cp as pxToViewport, cq as remToPx, cr as satisfiesRange, cs as scaleByHeight, ct as scaleByWidth, cu as sortVersions, cv as splitSubnet, cw as symbolicToPermissions, cx as validateBarcode, cy as validateCardNumber, cz as validateIban, cA as validateIsbn, cB as validateIsin, cC as validateVin, cD as viewportToPx } from '../units-D7YRRwei.js';
@@ -1,2 +1,2 @@
1
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRequiredBandwidth, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateTransferTime, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx } from '../chunk-RP574L5Z.js';
1
+ export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanPrepaymentPenalty, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRealRateOfReturn, calculateRequiredBandwidth, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateTransferTime, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx } from '../chunk-OFLNVDNX.js';
2
2
  import '../chunk-MLKGABMK.js';
@@ -46,6 +46,7 @@
46
46
  * - mortgage-points-calculator : calculateMortgagePoints
47
47
  * - loan-prepayment-penalty-calculator : calculateLoanPrepaymentPenalty
48
48
  * - data-transfer-time-estimator : calculateTransferTime, calculateRequiredBandwidth
49
+ * - real-rate-of-return-calculator : calculateRealRateOfReturn
49
50
  */
50
51
  interface PxConvertResult {
51
52
  px: number;
@@ -1317,6 +1318,28 @@ interface RequiredBandwidthResult {
1317
1318
  declare function calculateRequiredBandwidth(fileSize: number, fileSizeUnit: FileSizeUnit, targetSeconds: number): RequiredBandwidthResult | {
1318
1319
  error: string;
1319
1320
  };
1321
+ type RealRateField = "nominalRatePercent" | "inflationRatePercent" | "realRatePercent";
1322
+ interface RealRateOfReturnInput {
1323
+ nominalRatePercent?: number | null;
1324
+ inflationRatePercent?: number | null;
1325
+ realRatePercent?: number | null;
1326
+ }
1327
+ interface RealRateOfReturnResult {
1328
+ nominalRatePercent: number;
1329
+ inflationRatePercent: number;
1330
+ realRatePercent: number;
1331
+ given: RealRateField[];
1332
+ solvedFor: RealRateField;
1333
+ }
1334
+ /**
1335
+ * Apply the Fisher equation, (1 + nominal) = (1 + real) * (1 + inflation),
1336
+ * to solve for whichever of the nominal rate, inflation rate, or
1337
+ * inflation-adjusted real rate is missing, given the other two (all as
1338
+ * percents). Pure closed-form arithmetic, no live inflation data.
1339
+ */
1340
+ declare function calculateRealRateOfReturn(input: RealRateOfReturnInput): RealRateOfReturnResult | {
1341
+ error: string;
1342
+ };
1320
1343
 
1321
1344
  type units_AmortizationRow = AmortizationRow;
1322
1345
  type units_AprApyDirection = AprApyDirection;
@@ -1409,6 +1432,9 @@ type units_PercentageChangeResult = PercentageChangeResult;
1409
1432
  type units_Permission = Permission;
1410
1433
  type units_PrepaymentPenaltyType = PrepaymentPenaltyType;
1411
1434
  type units_PxConvertResult = PxConvertResult;
1435
+ type units_RealRateField = RealRateField;
1436
+ type units_RealRateOfReturnInput = RealRateOfReturnInput;
1437
+ type units_RealRateOfReturnResult = RealRateOfReturnResult;
1412
1438
  type units_RequiredBandwidthResult = RequiredBandwidthResult;
1413
1439
  type units_RoiInput = RoiInput;
1414
1440
  type units_RoiResult = RoiResult;
@@ -1468,6 +1494,7 @@ declare const units_calculateMortgagePoints: typeof calculateMortgagePoints;
1468
1494
  declare const units_calculateMovingAverages: typeof calculateMovingAverages;
1469
1495
  declare const units_calculatePaybackPeriod: typeof calculatePaybackPeriod;
1470
1496
  declare const units_calculatePercentageChange: typeof calculatePercentageChange;
1497
+ declare const units_calculateRealRateOfReturn: typeof calculateRealRateOfReturn;
1471
1498
  declare const units_calculateRequiredBandwidth: typeof calculateRequiredBandwidth;
1472
1499
  declare const units_calculateRoi: typeof calculateRoi;
1473
1500
  declare const units_calculateRuleOf72: typeof calculateRuleOf72;
@@ -1536,7 +1563,7 @@ declare const units_validateIsin: typeof validateIsin;
1536
1563
  declare const units_validateVin: typeof validateVin;
1537
1564
  declare const units_viewportToPx: typeof viewportToPx;
1538
1565
  declare namespace units {
1539
- export { type units_AmortizationRow as AmortizationRow, type units_AprApyDirection as AprApyDirection, type units_AprApyResult as AprApyResult, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_BlendedLoanRateResult as BlendedLoanRateResult, type units_BreakEvenInput as BreakEvenInput, type units_BreakEvenResult as BreakEvenResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CashBreakdownResult as CashBreakdownResult, type units_CashChangeResult as CashChangeResult, type units_CashDenominationItem as CashDenominationItem, type units_CashRoundingMode as CashRoundingMode, type units_CashRoundingResult as CashRoundingResult, type units_CdMaturityResult as CdMaturityResult, type units_CompareUnitPricesResult as CompareUnitPricesResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_CreditAccountInput as CreditAccountInput, type units_CreditAccountResult as CreditAccountResult, type units_CreditUtilizationResult as CreditUtilizationResult, type units_DebtItemInput as DebtItemInput, type units_DebtItemResult as DebtItemResult, type units_DebtPayoffComparison as DebtPayoffComparison, type units_DebtPayoffInput as DebtPayoffInput, type units_DebtPayoffPlanResult as DebtPayoffPlanResult, type units_DebtPayoffScheduleEntry as DebtPayoffScheduleEntry, type units_DebtPayoffStrategy as DebtPayoffStrategy, type units_DebtPayoffStrategyResult as DebtPayoffStrategyResult, type units_DebtToIncomeRatioResult as DebtToIncomeRatioResult, type units_DepreciationMethod as DepreciationMethod, type units_DepreciationResult as DepreciationResult, type units_DepreciationYear as DepreciationYear, type units_Dimensions as Dimensions, type units_DiscountField as DiscountField, type units_DiscountInput as DiscountInput, type units_DiscountResult as DiscountResult, type units_DtiTier as DtiTier, type units_EmiResult as EmiResult, type units_EmiTenureUnit as EmiTenureUnit, type units_EmiYearlyBreakdownRow as EmiYearlyBreakdownRow, type units_ExtraPaymentPayoffResult as ExtraPaymentPayoffResult, type units_FilePermissions as FilePermissions, type units_FileSizeUnit as FileSizeUnit, type units_FormatOptions as FormatOptions, type units_FreelancerRateInput as FreelancerRateInput, type units_FreelancerRateResult as FreelancerRateResult, units_GPA_GRADE_POINTS as GPA_GRADE_POINTS, type units_GpaCourse as GpaCourse, type units_GpaCourseResult as GpaCourseResult, type units_GpaResult as GpaResult, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_IsinValidationResult as IsinValidationResult, type units_LoanBalanceInput as LoanBalanceInput, type units_LoanBalanceResult as LoanBalanceResult, type units_LoanPrepaymentPenaltyResult as LoanPrepaymentPenaltyResult, type units_LoanRefinanceResult as LoanRefinanceResult, type units_LoanResult as LoanResult, type units_MarginMarkupField as MarginMarkupField, type units_MarginMarkupInput as MarginMarkupInput, type units_MarginMarkupResult as MarginMarkupResult, type units_MortgagePointsResult as MortgagePointsResult, type units_MovingAveragePoint as MovingAveragePoint, type units_MovingAverageResult as MovingAverageResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_PaybackPeriodInput as PaybackPeriodInput, type units_PaybackPeriodResult as PaybackPeriodResult, type units_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PrepaymentPenaltyType as PrepaymentPenaltyType, type units_PxConvertResult as PxConvertResult, type units_RequiredBandwidthResult as RequiredBandwidthResult, type units_RoiInput as RoiInput, type units_RoiResult as RoiResult, type units_RuleOf72Direction as RuleOf72Direction, type units_RuleOf72Result as RuleOf72Result, type units_SavingsGoalInput as SavingsGoalInput, type units_SavingsGoalMode as SavingsGoalMode, type units_SavingsGoalResult as SavingsGoalResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_SuccessiveDiscountResult as SuccessiveDiscountResult, type units_SuccessiveDiscountStep as SuccessiveDiscountStep, type units_TaxDirection as TaxDirection, type units_TaxEquivalentYieldDirection as TaxEquivalentYieldDirection, type units_TaxEquivalentYieldResult as TaxEquivalentYieldResult, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, type units_TipSplitResult as TipSplitResult, type units_TransferSpeedUnit as TransferSpeedUnit, type units_TransferTimeResult as TransferTimeResult, units_USD_DENOMINATIONS as USD_DENOMINATIONS, type units_UnitPriceItem as UnitPriceItem, type units_UnitPriceResult as UnitPriceResult, type units_UtilizationTier as UtilizationTier, type units_VideoBitrateInput as VideoBitrateInput, type units_VideoBitrateMode as VideoBitrateMode, type units_VideoBitrateResult as VideoBitrateResult, type units_ViewportConvertResult as ViewportConvertResult, type units_VinValidationResult as VinValidationResult, units_applySuccessiveDiscounts as applySuccessiveDiscounts, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateBlendedLoanRate as calculateBlendedLoanRate, units_calculateBreakEven as calculateBreakEven, units_calculateCashBreakdown as calculateCashBreakdown, units_calculateCashRounding as calculateCashRounding, units_calculateCdMaturity as calculateCdMaturity, units_calculateChange as calculateChange, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateCreditUtilization as calculateCreditUtilization, units_calculateDebtToIncomeRatio as calculateDebtToIncomeRatio, units_calculateDepreciationSchedule as calculateDepreciationSchedule, units_calculateDiscount as calculateDiscount, units_calculateEmi as calculateEmi, units_calculateExtraPaymentPayoff as calculateExtraPaymentPayoff, units_calculateFreelancerRate as calculateFreelancerRate, units_calculateGpa as calculateGpa, units_calculateLoan as calculateLoan, units_calculateLoanPrepaymentPenalty as calculateLoanPrepaymentPenalty, units_calculateLoanRefinance as calculateLoanRefinance, units_calculateMarginMarkup as calculateMarginMarkup, units_calculateMortgagePoints as calculateMortgagePoints, units_calculateMovingAverages as calculateMovingAverages, units_calculatePaybackPeriod as calculatePaybackPeriod, units_calculatePercentageChange as calculatePercentageChange, units_calculateRequiredBandwidth as calculateRequiredBandwidth, units_calculateRoi as calculateRoi, units_calculateRuleOf72 as calculateRuleOf72, units_calculateSavingsGoal as calculateSavingsGoal, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTaxEquivalentYield as calculateTaxEquivalentYield, units_calculateTimeValue as calculateTimeValue, units_calculateTipSplit as calculateTipSplit, units_calculateTransferTime as calculateTransferTime, units_calculateVideoBitrate as calculateVideoBitrate, units_compareSemver as compareSemver, units_compareUnitPrices as compareUnitPrices, units_convert as convert, units_convertAprApy as convertAprApy, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_marginToMarkup as marginToMarkup, units_markupToMargin as markupToMargin, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_planDebtPayoff as planDebtPayoff, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_validateIsin as validateIsin, units_validateVin as validateVin, units_viewportToPx as viewportToPx };
1566
+ export { type units_AmortizationRow as AmortizationRow, type units_AprApyDirection as AprApyDirection, type units_AprApyResult as AprApyResult, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_BlendedLoanRateResult as BlendedLoanRateResult, type units_BreakEvenInput as BreakEvenInput, type units_BreakEvenResult as BreakEvenResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CashBreakdownResult as CashBreakdownResult, type units_CashChangeResult as CashChangeResult, type units_CashDenominationItem as CashDenominationItem, type units_CashRoundingMode as CashRoundingMode, type units_CashRoundingResult as CashRoundingResult, type units_CdMaturityResult as CdMaturityResult, type units_CompareUnitPricesResult as CompareUnitPricesResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_CreditAccountInput as CreditAccountInput, type units_CreditAccountResult as CreditAccountResult, type units_CreditUtilizationResult as CreditUtilizationResult, type units_DebtItemInput as DebtItemInput, type units_DebtItemResult as DebtItemResult, type units_DebtPayoffComparison as DebtPayoffComparison, type units_DebtPayoffInput as DebtPayoffInput, type units_DebtPayoffPlanResult as DebtPayoffPlanResult, type units_DebtPayoffScheduleEntry as DebtPayoffScheduleEntry, type units_DebtPayoffStrategy as DebtPayoffStrategy, type units_DebtPayoffStrategyResult as DebtPayoffStrategyResult, type units_DebtToIncomeRatioResult as DebtToIncomeRatioResult, type units_DepreciationMethod as DepreciationMethod, type units_DepreciationResult as DepreciationResult, type units_DepreciationYear as DepreciationYear, type units_Dimensions as Dimensions, type units_DiscountField as DiscountField, type units_DiscountInput as DiscountInput, type units_DiscountResult as DiscountResult, type units_DtiTier as DtiTier, type units_EmiResult as EmiResult, type units_EmiTenureUnit as EmiTenureUnit, type units_EmiYearlyBreakdownRow as EmiYearlyBreakdownRow, type units_ExtraPaymentPayoffResult as ExtraPaymentPayoffResult, type units_FilePermissions as FilePermissions, type units_FileSizeUnit as FileSizeUnit, type units_FormatOptions as FormatOptions, type units_FreelancerRateInput as FreelancerRateInput, type units_FreelancerRateResult as FreelancerRateResult, units_GPA_GRADE_POINTS as GPA_GRADE_POINTS, type units_GpaCourse as GpaCourse, type units_GpaCourseResult as GpaCourseResult, type units_GpaResult as GpaResult, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_IsinValidationResult as IsinValidationResult, type units_LoanBalanceInput as LoanBalanceInput, type units_LoanBalanceResult as LoanBalanceResult, type units_LoanPrepaymentPenaltyResult as LoanPrepaymentPenaltyResult, type units_LoanRefinanceResult as LoanRefinanceResult, type units_LoanResult as LoanResult, type units_MarginMarkupField as MarginMarkupField, type units_MarginMarkupInput as MarginMarkupInput, type units_MarginMarkupResult as MarginMarkupResult, type units_MortgagePointsResult as MortgagePointsResult, type units_MovingAveragePoint as MovingAveragePoint, type units_MovingAverageResult as MovingAverageResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_PaybackPeriodInput as PaybackPeriodInput, type units_PaybackPeriodResult as PaybackPeriodResult, type units_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PrepaymentPenaltyType as PrepaymentPenaltyType, type units_PxConvertResult as PxConvertResult, type units_RealRateField as RealRateField, type units_RealRateOfReturnInput as RealRateOfReturnInput, type units_RealRateOfReturnResult as RealRateOfReturnResult, type units_RequiredBandwidthResult as RequiredBandwidthResult, type units_RoiInput as RoiInput, type units_RoiResult as RoiResult, type units_RuleOf72Direction as RuleOf72Direction, type units_RuleOf72Result as RuleOf72Result, type units_SavingsGoalInput as SavingsGoalInput, type units_SavingsGoalMode as SavingsGoalMode, type units_SavingsGoalResult as SavingsGoalResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_SuccessiveDiscountResult as SuccessiveDiscountResult, type units_SuccessiveDiscountStep as SuccessiveDiscountStep, type units_TaxDirection as TaxDirection, type units_TaxEquivalentYieldDirection as TaxEquivalentYieldDirection, type units_TaxEquivalentYieldResult as TaxEquivalentYieldResult, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, type units_TipSplitResult as TipSplitResult, type units_TransferSpeedUnit as TransferSpeedUnit, type units_TransferTimeResult as TransferTimeResult, units_USD_DENOMINATIONS as USD_DENOMINATIONS, type units_UnitPriceItem as UnitPriceItem, type units_UnitPriceResult as UnitPriceResult, type units_UtilizationTier as UtilizationTier, type units_VideoBitrateInput as VideoBitrateInput, type units_VideoBitrateMode as VideoBitrateMode, type units_VideoBitrateResult as VideoBitrateResult, type units_ViewportConvertResult as ViewportConvertResult, type units_VinValidationResult as VinValidationResult, units_applySuccessiveDiscounts as applySuccessiveDiscounts, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateBlendedLoanRate as calculateBlendedLoanRate, units_calculateBreakEven as calculateBreakEven, units_calculateCashBreakdown as calculateCashBreakdown, units_calculateCashRounding as calculateCashRounding, units_calculateCdMaturity as calculateCdMaturity, units_calculateChange as calculateChange, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateCreditUtilization as calculateCreditUtilization, units_calculateDebtToIncomeRatio as calculateDebtToIncomeRatio, units_calculateDepreciationSchedule as calculateDepreciationSchedule, units_calculateDiscount as calculateDiscount, units_calculateEmi as calculateEmi, units_calculateExtraPaymentPayoff as calculateExtraPaymentPayoff, units_calculateFreelancerRate as calculateFreelancerRate, units_calculateGpa as calculateGpa, units_calculateLoan as calculateLoan, units_calculateLoanPrepaymentPenalty as calculateLoanPrepaymentPenalty, units_calculateLoanRefinance as calculateLoanRefinance, units_calculateMarginMarkup as calculateMarginMarkup, units_calculateMortgagePoints as calculateMortgagePoints, units_calculateMovingAverages as calculateMovingAverages, units_calculatePaybackPeriod as calculatePaybackPeriod, units_calculatePercentageChange as calculatePercentageChange, units_calculateRealRateOfReturn as calculateRealRateOfReturn, units_calculateRequiredBandwidth as calculateRequiredBandwidth, units_calculateRoi as calculateRoi, units_calculateRuleOf72 as calculateRuleOf72, units_calculateSavingsGoal as calculateSavingsGoal, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTaxEquivalentYield as calculateTaxEquivalentYield, units_calculateTimeValue as calculateTimeValue, units_calculateTipSplit as calculateTipSplit, units_calculateTransferTime as calculateTransferTime, units_calculateVideoBitrate as calculateVideoBitrate, units_compareSemver as compareSemver, units_compareUnitPrices as compareUnitPrices, units_convert as convert, units_convertAprApy as convertAprApy, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_marginToMarkup as marginToMarkup, units_markupToMargin as markupToMargin, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_planDebtPayoff as planDebtPayoff, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_validateIsin as validateIsin, units_validateVin as validateVin, units_viewportToPx as viewportToPx };
1540
1567
  }
1541
1568
 
1542
- export { type DtiTier as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type CashRoundingResult as D, type CdMaturityResult as E, type CompareUnitPricesResult as F, type CompoundInterestResult as G, type CompoundYearRow as H, type CreditAccountInput as I, type CreditAccountResult as J, type CreditUtilizationResult as K, type DebtItemInput as L, type DebtItemResult as M, type DebtPayoffComparison as N, type DebtPayoffInput as O, type DebtPayoffPlanResult as P, type DebtPayoffScheduleEntry as Q, type DebtPayoffStrategy as R, type DebtPayoffStrategyResult as S, type DebtToIncomeRatioResult as T, type DepreciationMethod as U, type DepreciationResult as V, type DepreciationYear as W, type Dimensions as X, type DiscountField as Y, type DiscountInput as Z, type DiscountResult as _, type AprApyDirection as a, type UtilizationTier as a$, type EmiResult as a0, type EmiTenureUnit as a1, type EmiYearlyBreakdownRow as a2, type ExtraPaymentPayoffResult as a3, type FilePermissions as a4, type FileSizeUnit as a5, type FormatOptions as a6, type FreelancerRateInput as a7, type FreelancerRateResult as a8, GPA_GRADE_POINTS as a9, type PrepaymentPenaltyType as aA, type PxConvertResult as aB, type RequiredBandwidthResult as aC, type RoiInput as aD, type RoiResult as aE, type RuleOf72Direction as aF, type RuleOf72Result as aG, type SavingsGoalInput as aH, type SavingsGoalMode as aI, type SavingsGoalResult as aJ, type SemverVersion as aK, type SimpleInterestResult as aL, type SubnetInfo as aM, type SuccessiveDiscountResult as aN, type SuccessiveDiscountStep as aO, type TaxDirection as aP, type TaxEquivalentYieldDirection as aQ, type TaxEquivalentYieldResult as aR, type TaxResult as aS, type TimeValueDirection as aT, type TimeValueResult as aU, type TipSplitResult as aV, type TransferSpeedUnit as aW, type TransferTimeResult as aX, USD_DENOMINATIONS as aY, type UnitPriceItem as aZ, type UnitPriceResult as a_, type GpaCourse as aa, type GpaCourseResult as ab, type GpaResult as ac, type IbanValidationResult as ad, type IpConversion as ae, type IsbnFormat as af, type IsbnResult as ag, type IsinValidationResult as ah, type LoanBalanceInput as ai, type LoanBalanceResult as aj, type LoanPrepaymentPenaltyResult as ak, type LoanRefinanceResult as al, type LoanResult as am, type MarginMarkupField as an, type MarginMarkupInput as ao, type MarginMarkupResult as ap, type MortgagePointsResult as aq, type MovingAveragePoint as ar, type MovingAverageResult as as, type NotationStyle as at, type NumberBase as au, type PaybackPeriodInput as av, type PaybackPeriodResult as aw, type PercentChangeDirection as ax, type PercentageChangeResult as ay, type Permission as az, type AprApyResult as b, ipToBinary as b$, type VideoBitrateInput as b0, type VideoBitrateMode as b1, type VideoBitrateResult as b2, type ViewportConvertResult as b3, type VinValidationResult as b4, applySuccessiveDiscounts as b5, autoFormat as b6, bumpVersion as b7, calcAspectRatio as b8, calcSubnet as b9, calculateSavingsGoal as bA, calculateSimpleInterest as bB, calculateTax as bC, calculateTaxEquivalentYield as bD, calculateTimeValue as bE, calculateTipSplit as bF, calculateTransferTime as bG, calculateVideoBitrate as bH, compareSemver as bI, compareUnitPrices as bJ, convert as bK, convertAprApy as bL, convertBytes as bM, convertIp as bN, coverBox as bO, decimalToIp as bP, decimalToIpCidr as bQ, describePermissions as bR, fitIntoBox as bS, formatNumber as bT, formatValue as bU, formatVwValue as bV, formatWithSeparator as bW, gcd as bX, ipFromBinary as bY, ipFromDecimal as bZ, ipFromHex as b_, calculateBlendedLoanRate as ba, calculateBreakEven as bb, calculateCashBreakdown as bc, calculateCashRounding as bd, calculateCdMaturity as be, calculateChange as bf, calculateCompoundInterest as bg, calculateCreditUtilization as bh, calculateDebtToIncomeRatio as bi, calculateDepreciationSchedule as bj, calculateDiscount as bk, calculateEmi as bl, calculateExtraPaymentPayoff as bm, calculateFreelancerRate as bn, calculateGpa as bo, calculateLoan as bp, calculateLoanPrepaymentPenalty as bq, calculateLoanRefinance as br, calculateMarginMarkup as bs, calculateMortgagePoints as bt, calculateMovingAverages as bu, calculatePaybackPeriod as bv, calculatePercentageChange as bw, calculateRequiredBandwidth as bx, calculateRoi as by, calculateRuleOf72 as bz, type AspectRatioResult as c, ipToDecimal as c0, ipToDecimalCidr as c1, ipToHex as c2, ipToOctal as c3, isValid as c4, isValidCidr as c5, isValidIp as c6, isValidIpv4 as c7, marginToMarkup as c8, markupToMargin as c9, octalToPermissions as ca, parseFileSize as cb, parseInput as cc, parseNumberString as cd, parseSemver as ce, permissionsToChmod as cf, permissionsToOctal as cg, permissionsToSymbolic as ch, planDebtPayoff as ci, ptToPx as cj, pxToAll as ck, pxToViewport as cl, remToPx as cm, satisfiesRange as cn, scaleByHeight as co, scaleByWidth as cp, sortVersions as cq, splitSubnet as cr, symbolicToPermissions as cs, validateBarcode as ct, validateCardNumber as cu, validateIban as cv, validateIsbn as cw, validateIsin as cx, validateVin as cy, viewportToPx as cz, BASE_PREFIXES as d, BYTE_UNITS as e, type BarcodeFormat as f, type BarcodeValidationResult as g, type BaseConvertResult as h, type BlendedLoanRateResult as i, type BreakEvenInput as j, type BreakEvenResult as k, type ByteConvertResult as l, type ByteUnit as m, COMMON_LOCALES as n, COMMON_PERMISSIONS as o, COMMON_RATIOS as p, COMMON_SIZES as q, COMMON_TAX_RATES as r, COMMON_TIP_PERCENTAGES as s, COMMON_VIEWPORTS as t, units as u, type CardValidationResult as v, type CashBreakdownResult as w, type CashChangeResult as x, type CashDenominationItem as y, type CashRoundingMode as z };
1569
+ export { type DtiTier as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type CashRoundingResult as D, type CdMaturityResult as E, type CompareUnitPricesResult as F, type CompoundInterestResult as G, type CompoundYearRow as H, type CreditAccountInput as I, type CreditAccountResult as J, type CreditUtilizationResult as K, type DebtItemInput as L, type DebtItemResult as M, type DebtPayoffComparison as N, type DebtPayoffInput as O, type DebtPayoffPlanResult as P, type DebtPayoffScheduleEntry as Q, type DebtPayoffStrategy as R, type DebtPayoffStrategyResult as S, type DebtToIncomeRatioResult as T, type DepreciationMethod as U, type DepreciationResult as V, type DepreciationYear as W, type Dimensions as X, type DiscountField as Y, type DiscountInput as Z, type DiscountResult as _, type AprApyDirection as a, USD_DENOMINATIONS as a$, type EmiResult as a0, type EmiTenureUnit as a1, type EmiYearlyBreakdownRow as a2, type ExtraPaymentPayoffResult as a3, type FilePermissions as a4, type FileSizeUnit as a5, type FormatOptions as a6, type FreelancerRateInput as a7, type FreelancerRateResult as a8, GPA_GRADE_POINTS as a9, type PrepaymentPenaltyType as aA, type PxConvertResult as aB, type RealRateField as aC, type RealRateOfReturnInput as aD, type RealRateOfReturnResult as aE, type RequiredBandwidthResult as aF, type RoiInput as aG, type RoiResult as aH, type RuleOf72Direction as aI, type RuleOf72Result as aJ, type SavingsGoalInput as aK, type SavingsGoalMode as aL, type SavingsGoalResult as aM, type SemverVersion as aN, type SimpleInterestResult as aO, type SubnetInfo as aP, type SuccessiveDiscountResult as aQ, type SuccessiveDiscountStep as aR, type TaxDirection as aS, type TaxEquivalentYieldDirection as aT, type TaxEquivalentYieldResult as aU, type TaxResult as aV, type TimeValueDirection as aW, type TimeValueResult as aX, type TipSplitResult as aY, type TransferSpeedUnit as aZ, type TransferTimeResult as a_, type GpaCourse as aa, type GpaCourseResult as ab, type GpaResult as ac, type IbanValidationResult as ad, type IpConversion as ae, type IsbnFormat as af, type IsbnResult as ag, type IsinValidationResult as ah, type LoanBalanceInput as ai, type LoanBalanceResult as aj, type LoanPrepaymentPenaltyResult as ak, type LoanRefinanceResult as al, type LoanResult as am, type MarginMarkupField as an, type MarginMarkupInput as ao, type MarginMarkupResult as ap, type MortgagePointsResult as aq, type MovingAveragePoint as ar, type MovingAverageResult as as, type NotationStyle as at, type NumberBase as au, type PaybackPeriodInput as av, type PaybackPeriodResult as aw, type PercentChangeDirection as ax, type PercentageChangeResult as ay, type Permission as az, type AprApyResult as b, gcd as b$, type UnitPriceItem as b0, type UnitPriceResult as b1, type UtilizationTier as b2, type VideoBitrateInput as b3, type VideoBitrateMode as b4, type VideoBitrateResult as b5, type ViewportConvertResult as b6, type VinValidationResult as b7, applySuccessiveDiscounts as b8, autoFormat as b9, calculateRealRateOfReturn as bA, calculateRequiredBandwidth as bB, calculateRoi as bC, calculateRuleOf72 as bD, calculateSavingsGoal as bE, calculateSimpleInterest as bF, calculateTax as bG, calculateTaxEquivalentYield as bH, calculateTimeValue as bI, calculateTipSplit as bJ, calculateTransferTime as bK, calculateVideoBitrate as bL, compareSemver as bM, compareUnitPrices as bN, convert as bO, convertAprApy as bP, convertBytes as bQ, convertIp as bR, coverBox as bS, decimalToIp as bT, decimalToIpCidr as bU, describePermissions as bV, fitIntoBox as bW, formatNumber as bX, formatValue as bY, formatVwValue as bZ, formatWithSeparator as b_, bumpVersion as ba, calcAspectRatio as bb, calcSubnet as bc, calculateBlendedLoanRate as bd, calculateBreakEven as be, calculateCashBreakdown as bf, calculateCashRounding as bg, calculateCdMaturity as bh, calculateChange as bi, calculateCompoundInterest as bj, calculateCreditUtilization as bk, calculateDebtToIncomeRatio as bl, calculateDepreciationSchedule as bm, calculateDiscount as bn, calculateEmi as bo, calculateExtraPaymentPayoff as bp, calculateFreelancerRate as bq, calculateGpa as br, calculateLoan as bs, calculateLoanPrepaymentPenalty as bt, calculateLoanRefinance as bu, calculateMarginMarkup as bv, calculateMortgagePoints as bw, calculateMovingAverages as bx, calculatePaybackPeriod as by, calculatePercentageChange as bz, type AspectRatioResult as c, ipFromBinary as c0, ipFromDecimal as c1, ipFromHex as c2, ipToBinary as c3, ipToDecimal as c4, ipToDecimalCidr as c5, ipToHex as c6, ipToOctal as c7, isValid as c8, isValidCidr as c9, validateIsbn as cA, validateIsin as cB, validateVin as cC, viewportToPx as cD, isValidIp as ca, isValidIpv4 as cb, marginToMarkup as cc, markupToMargin as cd, octalToPermissions as ce, parseFileSize as cf, parseInput as cg, parseNumberString as ch, parseSemver as ci, permissionsToChmod as cj, permissionsToOctal as ck, permissionsToSymbolic as cl, planDebtPayoff as cm, ptToPx as cn, pxToAll as co, pxToViewport as cp, remToPx as cq, satisfiesRange as cr, scaleByHeight as cs, scaleByWidth as ct, sortVersions as cu, splitSubnet as cv, symbolicToPermissions as cw, validateBarcode as cx, validateCardNumber as cy, validateIban as cz, BASE_PREFIXES as d, BYTE_UNITS as e, type BarcodeFormat as f, type BarcodeValidationResult as g, type BaseConvertResult as h, type BlendedLoanRateResult as i, type BreakEvenInput as j, type BreakEvenResult as k, type ByteConvertResult as l, type ByteUnit as m, COMMON_LOCALES as n, COMMON_PERMISSIONS as o, COMMON_RATIOS as p, COMMON_SIZES as q, COMMON_TAX_RATES as r, COMMON_TIP_PERCENTAGES as s, COMMON_VIEWPORTS as t, units as u, type CardValidationResult as v, type CashBreakdownResult as w, type CashChangeResult as x, type CashDenominationItem as y, type CashRoundingMode as z };
@@ -46,6 +46,7 @@
46
46
  * - mortgage-points-calculator : calculateMortgagePoints
47
47
  * - loan-prepayment-penalty-calculator : calculateLoanPrepaymentPenalty
48
48
  * - data-transfer-time-estimator : calculateTransferTime, calculateRequiredBandwidth
49
+ * - real-rate-of-return-calculator : calculateRealRateOfReturn
49
50
  */
50
51
  interface PxConvertResult {
51
52
  px: number;
@@ -1317,6 +1318,28 @@ interface RequiredBandwidthResult {
1317
1318
  declare function calculateRequiredBandwidth(fileSize: number, fileSizeUnit: FileSizeUnit, targetSeconds: number): RequiredBandwidthResult | {
1318
1319
  error: string;
1319
1320
  };
1321
+ type RealRateField = "nominalRatePercent" | "inflationRatePercent" | "realRatePercent";
1322
+ interface RealRateOfReturnInput {
1323
+ nominalRatePercent?: number | null;
1324
+ inflationRatePercent?: number | null;
1325
+ realRatePercent?: number | null;
1326
+ }
1327
+ interface RealRateOfReturnResult {
1328
+ nominalRatePercent: number;
1329
+ inflationRatePercent: number;
1330
+ realRatePercent: number;
1331
+ given: RealRateField[];
1332
+ solvedFor: RealRateField;
1333
+ }
1334
+ /**
1335
+ * Apply the Fisher equation, (1 + nominal) = (1 + real) * (1 + inflation),
1336
+ * to solve for whichever of the nominal rate, inflation rate, or
1337
+ * inflation-adjusted real rate is missing, given the other two (all as
1338
+ * percents). Pure closed-form arithmetic, no live inflation data.
1339
+ */
1340
+ declare function calculateRealRateOfReturn(input: RealRateOfReturnInput): RealRateOfReturnResult | {
1341
+ error: string;
1342
+ };
1320
1343
 
1321
1344
  type units_AmortizationRow = AmortizationRow;
1322
1345
  type units_AprApyDirection = AprApyDirection;
@@ -1409,6 +1432,9 @@ type units_PercentageChangeResult = PercentageChangeResult;
1409
1432
  type units_Permission = Permission;
1410
1433
  type units_PrepaymentPenaltyType = PrepaymentPenaltyType;
1411
1434
  type units_PxConvertResult = PxConvertResult;
1435
+ type units_RealRateField = RealRateField;
1436
+ type units_RealRateOfReturnInput = RealRateOfReturnInput;
1437
+ type units_RealRateOfReturnResult = RealRateOfReturnResult;
1412
1438
  type units_RequiredBandwidthResult = RequiredBandwidthResult;
1413
1439
  type units_RoiInput = RoiInput;
1414
1440
  type units_RoiResult = RoiResult;
@@ -1468,6 +1494,7 @@ declare const units_calculateMortgagePoints: typeof calculateMortgagePoints;
1468
1494
  declare const units_calculateMovingAverages: typeof calculateMovingAverages;
1469
1495
  declare const units_calculatePaybackPeriod: typeof calculatePaybackPeriod;
1470
1496
  declare const units_calculatePercentageChange: typeof calculatePercentageChange;
1497
+ declare const units_calculateRealRateOfReturn: typeof calculateRealRateOfReturn;
1471
1498
  declare const units_calculateRequiredBandwidth: typeof calculateRequiredBandwidth;
1472
1499
  declare const units_calculateRoi: typeof calculateRoi;
1473
1500
  declare const units_calculateRuleOf72: typeof calculateRuleOf72;
@@ -1536,7 +1563,7 @@ declare const units_validateIsin: typeof validateIsin;
1536
1563
  declare const units_validateVin: typeof validateVin;
1537
1564
  declare const units_viewportToPx: typeof viewportToPx;
1538
1565
  declare namespace units {
1539
- export { type units_AmortizationRow as AmortizationRow, type units_AprApyDirection as AprApyDirection, type units_AprApyResult as AprApyResult, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_BlendedLoanRateResult as BlendedLoanRateResult, type units_BreakEvenInput as BreakEvenInput, type units_BreakEvenResult as BreakEvenResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CashBreakdownResult as CashBreakdownResult, type units_CashChangeResult as CashChangeResult, type units_CashDenominationItem as CashDenominationItem, type units_CashRoundingMode as CashRoundingMode, type units_CashRoundingResult as CashRoundingResult, type units_CdMaturityResult as CdMaturityResult, type units_CompareUnitPricesResult as CompareUnitPricesResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_CreditAccountInput as CreditAccountInput, type units_CreditAccountResult as CreditAccountResult, type units_CreditUtilizationResult as CreditUtilizationResult, type units_DebtItemInput as DebtItemInput, type units_DebtItemResult as DebtItemResult, type units_DebtPayoffComparison as DebtPayoffComparison, type units_DebtPayoffInput as DebtPayoffInput, type units_DebtPayoffPlanResult as DebtPayoffPlanResult, type units_DebtPayoffScheduleEntry as DebtPayoffScheduleEntry, type units_DebtPayoffStrategy as DebtPayoffStrategy, type units_DebtPayoffStrategyResult as DebtPayoffStrategyResult, type units_DebtToIncomeRatioResult as DebtToIncomeRatioResult, type units_DepreciationMethod as DepreciationMethod, type units_DepreciationResult as DepreciationResult, type units_DepreciationYear as DepreciationYear, type units_Dimensions as Dimensions, type units_DiscountField as DiscountField, type units_DiscountInput as DiscountInput, type units_DiscountResult as DiscountResult, type units_DtiTier as DtiTier, type units_EmiResult as EmiResult, type units_EmiTenureUnit as EmiTenureUnit, type units_EmiYearlyBreakdownRow as EmiYearlyBreakdownRow, type units_ExtraPaymentPayoffResult as ExtraPaymentPayoffResult, type units_FilePermissions as FilePermissions, type units_FileSizeUnit as FileSizeUnit, type units_FormatOptions as FormatOptions, type units_FreelancerRateInput as FreelancerRateInput, type units_FreelancerRateResult as FreelancerRateResult, units_GPA_GRADE_POINTS as GPA_GRADE_POINTS, type units_GpaCourse as GpaCourse, type units_GpaCourseResult as GpaCourseResult, type units_GpaResult as GpaResult, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_IsinValidationResult as IsinValidationResult, type units_LoanBalanceInput as LoanBalanceInput, type units_LoanBalanceResult as LoanBalanceResult, type units_LoanPrepaymentPenaltyResult as LoanPrepaymentPenaltyResult, type units_LoanRefinanceResult as LoanRefinanceResult, type units_LoanResult as LoanResult, type units_MarginMarkupField as MarginMarkupField, type units_MarginMarkupInput as MarginMarkupInput, type units_MarginMarkupResult as MarginMarkupResult, type units_MortgagePointsResult as MortgagePointsResult, type units_MovingAveragePoint as MovingAveragePoint, type units_MovingAverageResult as MovingAverageResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_PaybackPeriodInput as PaybackPeriodInput, type units_PaybackPeriodResult as PaybackPeriodResult, type units_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PrepaymentPenaltyType as PrepaymentPenaltyType, type units_PxConvertResult as PxConvertResult, type units_RequiredBandwidthResult as RequiredBandwidthResult, type units_RoiInput as RoiInput, type units_RoiResult as RoiResult, type units_RuleOf72Direction as RuleOf72Direction, type units_RuleOf72Result as RuleOf72Result, type units_SavingsGoalInput as SavingsGoalInput, type units_SavingsGoalMode as SavingsGoalMode, type units_SavingsGoalResult as SavingsGoalResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_SuccessiveDiscountResult as SuccessiveDiscountResult, type units_SuccessiveDiscountStep as SuccessiveDiscountStep, type units_TaxDirection as TaxDirection, type units_TaxEquivalentYieldDirection as TaxEquivalentYieldDirection, type units_TaxEquivalentYieldResult as TaxEquivalentYieldResult, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, type units_TipSplitResult as TipSplitResult, type units_TransferSpeedUnit as TransferSpeedUnit, type units_TransferTimeResult as TransferTimeResult, units_USD_DENOMINATIONS as USD_DENOMINATIONS, type units_UnitPriceItem as UnitPriceItem, type units_UnitPriceResult as UnitPriceResult, type units_UtilizationTier as UtilizationTier, type units_VideoBitrateInput as VideoBitrateInput, type units_VideoBitrateMode as VideoBitrateMode, type units_VideoBitrateResult as VideoBitrateResult, type units_ViewportConvertResult as ViewportConvertResult, type units_VinValidationResult as VinValidationResult, units_applySuccessiveDiscounts as applySuccessiveDiscounts, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateBlendedLoanRate as calculateBlendedLoanRate, units_calculateBreakEven as calculateBreakEven, units_calculateCashBreakdown as calculateCashBreakdown, units_calculateCashRounding as calculateCashRounding, units_calculateCdMaturity as calculateCdMaturity, units_calculateChange as calculateChange, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateCreditUtilization as calculateCreditUtilization, units_calculateDebtToIncomeRatio as calculateDebtToIncomeRatio, units_calculateDepreciationSchedule as calculateDepreciationSchedule, units_calculateDiscount as calculateDiscount, units_calculateEmi as calculateEmi, units_calculateExtraPaymentPayoff as calculateExtraPaymentPayoff, units_calculateFreelancerRate as calculateFreelancerRate, units_calculateGpa as calculateGpa, units_calculateLoan as calculateLoan, units_calculateLoanPrepaymentPenalty as calculateLoanPrepaymentPenalty, units_calculateLoanRefinance as calculateLoanRefinance, units_calculateMarginMarkup as calculateMarginMarkup, units_calculateMortgagePoints as calculateMortgagePoints, units_calculateMovingAverages as calculateMovingAverages, units_calculatePaybackPeriod as calculatePaybackPeriod, units_calculatePercentageChange as calculatePercentageChange, units_calculateRequiredBandwidth as calculateRequiredBandwidth, units_calculateRoi as calculateRoi, units_calculateRuleOf72 as calculateRuleOf72, units_calculateSavingsGoal as calculateSavingsGoal, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTaxEquivalentYield as calculateTaxEquivalentYield, units_calculateTimeValue as calculateTimeValue, units_calculateTipSplit as calculateTipSplit, units_calculateTransferTime as calculateTransferTime, units_calculateVideoBitrate as calculateVideoBitrate, units_compareSemver as compareSemver, units_compareUnitPrices as compareUnitPrices, units_convert as convert, units_convertAprApy as convertAprApy, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_marginToMarkup as marginToMarkup, units_markupToMargin as markupToMargin, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_planDebtPayoff as planDebtPayoff, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_validateIsin as validateIsin, units_validateVin as validateVin, units_viewportToPx as viewportToPx };
1566
+ export { type units_AmortizationRow as AmortizationRow, type units_AprApyDirection as AprApyDirection, type units_AprApyResult as AprApyResult, type units_AspectRatioResult as AspectRatioResult, units_BASE_LABELS as BASE_LABELS, units_BASE_PREFIXES as BASE_PREFIXES, units_BYTE_UNITS as BYTE_UNITS, type units_BarcodeFormat as BarcodeFormat, type units_BarcodeValidationResult as BarcodeValidationResult, type units_BaseConvertResult as BaseConvertResult, type units_BlendedLoanRateResult as BlendedLoanRateResult, type units_BreakEvenInput as BreakEvenInput, type units_BreakEvenResult as BreakEvenResult, type units_ByteConvertResult as ByteConvertResult, type units_ByteUnit as ByteUnit, units_COMMON_CURRENCIES as COMMON_CURRENCIES, units_COMMON_LOCALES as COMMON_LOCALES, units_COMMON_PERMISSIONS as COMMON_PERMISSIONS, units_COMMON_RATIOS as COMMON_RATIOS, units_COMMON_SIZES as COMMON_SIZES, units_COMMON_TAX_RATES as COMMON_TAX_RATES, units_COMMON_TIP_PERCENTAGES as COMMON_TIP_PERCENTAGES, units_COMMON_VIEWPORTS as COMMON_VIEWPORTS, type units_CardValidationResult as CardValidationResult, type units_CashBreakdownResult as CashBreakdownResult, type units_CashChangeResult as CashChangeResult, type units_CashDenominationItem as CashDenominationItem, type units_CashRoundingMode as CashRoundingMode, type units_CashRoundingResult as CashRoundingResult, type units_CdMaturityResult as CdMaturityResult, type units_CompareUnitPricesResult as CompareUnitPricesResult, type units_CompoundInterestResult as CompoundInterestResult, type units_CompoundYearRow as CompoundYearRow, type units_CreditAccountInput as CreditAccountInput, type units_CreditAccountResult as CreditAccountResult, type units_CreditUtilizationResult as CreditUtilizationResult, type units_DebtItemInput as DebtItemInput, type units_DebtItemResult as DebtItemResult, type units_DebtPayoffComparison as DebtPayoffComparison, type units_DebtPayoffInput as DebtPayoffInput, type units_DebtPayoffPlanResult as DebtPayoffPlanResult, type units_DebtPayoffScheduleEntry as DebtPayoffScheduleEntry, type units_DebtPayoffStrategy as DebtPayoffStrategy, type units_DebtPayoffStrategyResult as DebtPayoffStrategyResult, type units_DebtToIncomeRatioResult as DebtToIncomeRatioResult, type units_DepreciationMethod as DepreciationMethod, type units_DepreciationResult as DepreciationResult, type units_DepreciationYear as DepreciationYear, type units_Dimensions as Dimensions, type units_DiscountField as DiscountField, type units_DiscountInput as DiscountInput, type units_DiscountResult as DiscountResult, type units_DtiTier as DtiTier, type units_EmiResult as EmiResult, type units_EmiTenureUnit as EmiTenureUnit, type units_EmiYearlyBreakdownRow as EmiYearlyBreakdownRow, type units_ExtraPaymentPayoffResult as ExtraPaymentPayoffResult, type units_FilePermissions as FilePermissions, type units_FileSizeUnit as FileSizeUnit, type units_FormatOptions as FormatOptions, type units_FreelancerRateInput as FreelancerRateInput, type units_FreelancerRateResult as FreelancerRateResult, units_GPA_GRADE_POINTS as GPA_GRADE_POINTS, type units_GpaCourse as GpaCourse, type units_GpaCourseResult as GpaCourseResult, type units_GpaResult as GpaResult, type units_IbanValidationResult as IbanValidationResult, type units_IpConversion as IpConversion, type units_IsbnFormat as IsbnFormat, type units_IsbnResult as IsbnResult, type units_IsinValidationResult as IsinValidationResult, type units_LoanBalanceInput as LoanBalanceInput, type units_LoanBalanceResult as LoanBalanceResult, type units_LoanPrepaymentPenaltyResult as LoanPrepaymentPenaltyResult, type units_LoanRefinanceResult as LoanRefinanceResult, type units_LoanResult as LoanResult, type units_MarginMarkupField as MarginMarkupField, type units_MarginMarkupInput as MarginMarkupInput, type units_MarginMarkupResult as MarginMarkupResult, type units_MortgagePointsResult as MortgagePointsResult, type units_MovingAveragePoint as MovingAveragePoint, type units_MovingAverageResult as MovingAverageResult, type units_NotationStyle as NotationStyle, type units_NumberBase as NumberBase, type units_PaybackPeriodInput as PaybackPeriodInput, type units_PaybackPeriodResult as PaybackPeriodResult, type units_PercentChangeDirection as PercentChangeDirection, type units_PercentageChangeResult as PercentageChangeResult, type units_Permission as Permission, type units_PrepaymentPenaltyType as PrepaymentPenaltyType, type units_PxConvertResult as PxConvertResult, type units_RealRateField as RealRateField, type units_RealRateOfReturnInput as RealRateOfReturnInput, type units_RealRateOfReturnResult as RealRateOfReturnResult, type units_RequiredBandwidthResult as RequiredBandwidthResult, type units_RoiInput as RoiInput, type units_RoiResult as RoiResult, type units_RuleOf72Direction as RuleOf72Direction, type units_RuleOf72Result as RuleOf72Result, type units_SavingsGoalInput as SavingsGoalInput, type units_SavingsGoalMode as SavingsGoalMode, type units_SavingsGoalResult as SavingsGoalResult, type units_SemverVersion as SemverVersion, type units_SimpleInterestResult as SimpleInterestResult, type units_SubnetInfo as SubnetInfo, type units_SuccessiveDiscountResult as SuccessiveDiscountResult, type units_SuccessiveDiscountStep as SuccessiveDiscountStep, type units_TaxDirection as TaxDirection, type units_TaxEquivalentYieldDirection as TaxEquivalentYieldDirection, type units_TaxEquivalentYieldResult as TaxEquivalentYieldResult, type units_TaxResult as TaxResult, type units_TimeValueDirection as TimeValueDirection, type units_TimeValueResult as TimeValueResult, type units_TipSplitResult as TipSplitResult, type units_TransferSpeedUnit as TransferSpeedUnit, type units_TransferTimeResult as TransferTimeResult, units_USD_DENOMINATIONS as USD_DENOMINATIONS, type units_UnitPriceItem as UnitPriceItem, type units_UnitPriceResult as UnitPriceResult, type units_UtilizationTier as UtilizationTier, type units_VideoBitrateInput as VideoBitrateInput, type units_VideoBitrateMode as VideoBitrateMode, type units_VideoBitrateResult as VideoBitrateResult, type units_ViewportConvertResult as ViewportConvertResult, type units_VinValidationResult as VinValidationResult, units_applySuccessiveDiscounts as applySuccessiveDiscounts, units_autoFormat as autoFormat, units_bumpVersion as bumpVersion, units_calcAspectRatio as calcAspectRatio, units_calcSubnet as calcSubnet, units_calculateBlendedLoanRate as calculateBlendedLoanRate, units_calculateBreakEven as calculateBreakEven, units_calculateCashBreakdown as calculateCashBreakdown, units_calculateCashRounding as calculateCashRounding, units_calculateCdMaturity as calculateCdMaturity, units_calculateChange as calculateChange, units_calculateCompoundInterest as calculateCompoundInterest, units_calculateCreditUtilization as calculateCreditUtilization, units_calculateDebtToIncomeRatio as calculateDebtToIncomeRatio, units_calculateDepreciationSchedule as calculateDepreciationSchedule, units_calculateDiscount as calculateDiscount, units_calculateEmi as calculateEmi, units_calculateExtraPaymentPayoff as calculateExtraPaymentPayoff, units_calculateFreelancerRate as calculateFreelancerRate, units_calculateGpa as calculateGpa, units_calculateLoan as calculateLoan, units_calculateLoanPrepaymentPenalty as calculateLoanPrepaymentPenalty, units_calculateLoanRefinance as calculateLoanRefinance, units_calculateMarginMarkup as calculateMarginMarkup, units_calculateMortgagePoints as calculateMortgagePoints, units_calculateMovingAverages as calculateMovingAverages, units_calculatePaybackPeriod as calculatePaybackPeriod, units_calculatePercentageChange as calculatePercentageChange, units_calculateRealRateOfReturn as calculateRealRateOfReturn, units_calculateRequiredBandwidth as calculateRequiredBandwidth, units_calculateRoi as calculateRoi, units_calculateRuleOf72 as calculateRuleOf72, units_calculateSavingsGoal as calculateSavingsGoal, units_calculateSimpleInterest as calculateSimpleInterest, units_calculateTax as calculateTax, units_calculateTaxEquivalentYield as calculateTaxEquivalentYield, units_calculateTimeValue as calculateTimeValue, units_calculateTipSplit as calculateTipSplit, units_calculateTransferTime as calculateTransferTime, units_calculateVideoBitrate as calculateVideoBitrate, units_compareSemver as compareSemver, units_compareUnitPrices as compareUnitPrices, units_convert as convert, units_convertAprApy as convertAprApy, units_convertBytes as convertBytes, units_convertIp as convertIp, units_coverBox as coverBox, units_decimalToIp as decimalToIp, units_decimalToIpCidr as decimalToIpCidr, units_describePermissions as describePermissions, units_fitIntoBox as fitIntoBox, units_formatNumber as formatNumber, units_formatValue as formatValue, units_formatVwValue as formatVwValue, units_formatWithSeparator as formatWithSeparator, units_gcd as gcd, units_ipFromBinary as ipFromBinary, units_ipFromDecimal as ipFromDecimal, units_ipFromHex as ipFromHex, units_ipToBinary as ipToBinary, units_ipToDecimal as ipToDecimal, units_ipToDecimalCidr as ipToDecimalCidr, units_ipToHex as ipToHex, units_ipToOctal as ipToOctal, units_isValid as isValid, units_isValidCidr as isValidCidr, units_isValidIp as isValidIp, units_isValidIpv4 as isValidIpv4, units_marginToMarkup as marginToMarkup, units_markupToMargin as markupToMargin, units_octalToPermissions as octalToPermissions, units_parseFileSize as parseFileSize, units_parseInput as parseInput, units_parseNumberString as parseNumberString, units_parseSemver as parseSemver, units_permissionsToChmod as permissionsToChmod, units_permissionsToOctal as permissionsToOctal, units_permissionsToSymbolic as permissionsToSymbolic, units_planDebtPayoff as planDebtPayoff, units_ptToPx as ptToPx, units_pxToAll as pxToAll, units_pxToViewport as pxToViewport, units_remToPx as remToPx, units_satisfiesRange as satisfiesRange, units_scaleByHeight as scaleByHeight, units_scaleByWidth as scaleByWidth, units_sortVersions as sortVersions, units_splitSubnet as splitSubnet, units_symbolicToPermissions as symbolicToPermissions, units_validateBarcode as validateBarcode, units_validateCardNumber as validateCardNumber, units_validateIban as validateIban, units_validateIsbn as validateIsbn, units_validateIsin as validateIsin, units_validateVin as validateVin, units_viewportToPx as viewportToPx };
1540
1567
  }
1541
1568
 
1542
- export { type DtiTier as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type CashRoundingResult as D, type CdMaturityResult as E, type CompareUnitPricesResult as F, type CompoundInterestResult as G, type CompoundYearRow as H, type CreditAccountInput as I, type CreditAccountResult as J, type CreditUtilizationResult as K, type DebtItemInput as L, type DebtItemResult as M, type DebtPayoffComparison as N, type DebtPayoffInput as O, type DebtPayoffPlanResult as P, type DebtPayoffScheduleEntry as Q, type DebtPayoffStrategy as R, type DebtPayoffStrategyResult as S, type DebtToIncomeRatioResult as T, type DepreciationMethod as U, type DepreciationResult as V, type DepreciationYear as W, type Dimensions as X, type DiscountField as Y, type DiscountInput as Z, type DiscountResult as _, type AprApyDirection as a, type UtilizationTier as a$, type EmiResult as a0, type EmiTenureUnit as a1, type EmiYearlyBreakdownRow as a2, type ExtraPaymentPayoffResult as a3, type FilePermissions as a4, type FileSizeUnit as a5, type FormatOptions as a6, type FreelancerRateInput as a7, type FreelancerRateResult as a8, GPA_GRADE_POINTS as a9, type PrepaymentPenaltyType as aA, type PxConvertResult as aB, type RequiredBandwidthResult as aC, type RoiInput as aD, type RoiResult as aE, type RuleOf72Direction as aF, type RuleOf72Result as aG, type SavingsGoalInput as aH, type SavingsGoalMode as aI, type SavingsGoalResult as aJ, type SemverVersion as aK, type SimpleInterestResult as aL, type SubnetInfo as aM, type SuccessiveDiscountResult as aN, type SuccessiveDiscountStep as aO, type TaxDirection as aP, type TaxEquivalentYieldDirection as aQ, type TaxEquivalentYieldResult as aR, type TaxResult as aS, type TimeValueDirection as aT, type TimeValueResult as aU, type TipSplitResult as aV, type TransferSpeedUnit as aW, type TransferTimeResult as aX, USD_DENOMINATIONS as aY, type UnitPriceItem as aZ, type UnitPriceResult as a_, type GpaCourse as aa, type GpaCourseResult as ab, type GpaResult as ac, type IbanValidationResult as ad, type IpConversion as ae, type IsbnFormat as af, type IsbnResult as ag, type IsinValidationResult as ah, type LoanBalanceInput as ai, type LoanBalanceResult as aj, type LoanPrepaymentPenaltyResult as ak, type LoanRefinanceResult as al, type LoanResult as am, type MarginMarkupField as an, type MarginMarkupInput as ao, type MarginMarkupResult as ap, type MortgagePointsResult as aq, type MovingAveragePoint as ar, type MovingAverageResult as as, type NotationStyle as at, type NumberBase as au, type PaybackPeriodInput as av, type PaybackPeriodResult as aw, type PercentChangeDirection as ax, type PercentageChangeResult as ay, type Permission as az, type AprApyResult as b, ipToBinary as b$, type VideoBitrateInput as b0, type VideoBitrateMode as b1, type VideoBitrateResult as b2, type ViewportConvertResult as b3, type VinValidationResult as b4, applySuccessiveDiscounts as b5, autoFormat as b6, bumpVersion as b7, calcAspectRatio as b8, calcSubnet as b9, calculateSavingsGoal as bA, calculateSimpleInterest as bB, calculateTax as bC, calculateTaxEquivalentYield as bD, calculateTimeValue as bE, calculateTipSplit as bF, calculateTransferTime as bG, calculateVideoBitrate as bH, compareSemver as bI, compareUnitPrices as bJ, convert as bK, convertAprApy as bL, convertBytes as bM, convertIp as bN, coverBox as bO, decimalToIp as bP, decimalToIpCidr as bQ, describePermissions as bR, fitIntoBox as bS, formatNumber as bT, formatValue as bU, formatVwValue as bV, formatWithSeparator as bW, gcd as bX, ipFromBinary as bY, ipFromDecimal as bZ, ipFromHex as b_, calculateBlendedLoanRate as ba, calculateBreakEven as bb, calculateCashBreakdown as bc, calculateCashRounding as bd, calculateCdMaturity as be, calculateChange as bf, calculateCompoundInterest as bg, calculateCreditUtilization as bh, calculateDebtToIncomeRatio as bi, calculateDepreciationSchedule as bj, calculateDiscount as bk, calculateEmi as bl, calculateExtraPaymentPayoff as bm, calculateFreelancerRate as bn, calculateGpa as bo, calculateLoan as bp, calculateLoanPrepaymentPenalty as bq, calculateLoanRefinance as br, calculateMarginMarkup as bs, calculateMortgagePoints as bt, calculateMovingAverages as bu, calculatePaybackPeriod as bv, calculatePercentageChange as bw, calculateRequiredBandwidth as bx, calculateRoi as by, calculateRuleOf72 as bz, type AspectRatioResult as c, ipToDecimal as c0, ipToDecimalCidr as c1, ipToHex as c2, ipToOctal as c3, isValid as c4, isValidCidr as c5, isValidIp as c6, isValidIpv4 as c7, marginToMarkup as c8, markupToMargin as c9, octalToPermissions as ca, parseFileSize as cb, parseInput as cc, parseNumberString as cd, parseSemver as ce, permissionsToChmod as cf, permissionsToOctal as cg, permissionsToSymbolic as ch, planDebtPayoff as ci, ptToPx as cj, pxToAll as ck, pxToViewport as cl, remToPx as cm, satisfiesRange as cn, scaleByHeight as co, scaleByWidth as cp, sortVersions as cq, splitSubnet as cr, symbolicToPermissions as cs, validateBarcode as ct, validateCardNumber as cu, validateIban as cv, validateIsbn as cw, validateIsin as cx, validateVin as cy, viewportToPx as cz, BASE_PREFIXES as d, BYTE_UNITS as e, type BarcodeFormat as f, type BarcodeValidationResult as g, type BaseConvertResult as h, type BlendedLoanRateResult as i, type BreakEvenInput as j, type BreakEvenResult as k, type ByteConvertResult as l, type ByteUnit as m, COMMON_LOCALES as n, COMMON_PERMISSIONS as o, COMMON_RATIOS as p, COMMON_SIZES as q, COMMON_TAX_RATES as r, COMMON_TIP_PERCENTAGES as s, COMMON_VIEWPORTS as t, units as u, type CardValidationResult as v, type CashBreakdownResult as w, type CashChangeResult as x, type CashDenominationItem as y, type CashRoundingMode as z };
1569
+ export { type DtiTier as $, type AmortizationRow as A, BASE_LABELS as B, COMMON_CURRENCIES as C, type CashRoundingResult as D, type CdMaturityResult as E, type CompareUnitPricesResult as F, type CompoundInterestResult as G, type CompoundYearRow as H, type CreditAccountInput as I, type CreditAccountResult as J, type CreditUtilizationResult as K, type DebtItemInput as L, type DebtItemResult as M, type DebtPayoffComparison as N, type DebtPayoffInput as O, type DebtPayoffPlanResult as P, type DebtPayoffScheduleEntry as Q, type DebtPayoffStrategy as R, type DebtPayoffStrategyResult as S, type DebtToIncomeRatioResult as T, type DepreciationMethod as U, type DepreciationResult as V, type DepreciationYear as W, type Dimensions as X, type DiscountField as Y, type DiscountInput as Z, type DiscountResult as _, type AprApyDirection as a, USD_DENOMINATIONS as a$, type EmiResult as a0, type EmiTenureUnit as a1, type EmiYearlyBreakdownRow as a2, type ExtraPaymentPayoffResult as a3, type FilePermissions as a4, type FileSizeUnit as a5, type FormatOptions as a6, type FreelancerRateInput as a7, type FreelancerRateResult as a8, GPA_GRADE_POINTS as a9, type PrepaymentPenaltyType as aA, type PxConvertResult as aB, type RealRateField as aC, type RealRateOfReturnInput as aD, type RealRateOfReturnResult as aE, type RequiredBandwidthResult as aF, type RoiInput as aG, type RoiResult as aH, type RuleOf72Direction as aI, type RuleOf72Result as aJ, type SavingsGoalInput as aK, type SavingsGoalMode as aL, type SavingsGoalResult as aM, type SemverVersion as aN, type SimpleInterestResult as aO, type SubnetInfo as aP, type SuccessiveDiscountResult as aQ, type SuccessiveDiscountStep as aR, type TaxDirection as aS, type TaxEquivalentYieldDirection as aT, type TaxEquivalentYieldResult as aU, type TaxResult as aV, type TimeValueDirection as aW, type TimeValueResult as aX, type TipSplitResult as aY, type TransferSpeedUnit as aZ, type TransferTimeResult as a_, type GpaCourse as aa, type GpaCourseResult as ab, type GpaResult as ac, type IbanValidationResult as ad, type IpConversion as ae, type IsbnFormat as af, type IsbnResult as ag, type IsinValidationResult as ah, type LoanBalanceInput as ai, type LoanBalanceResult as aj, type LoanPrepaymentPenaltyResult as ak, type LoanRefinanceResult as al, type LoanResult as am, type MarginMarkupField as an, type MarginMarkupInput as ao, type MarginMarkupResult as ap, type MortgagePointsResult as aq, type MovingAveragePoint as ar, type MovingAverageResult as as, type NotationStyle as at, type NumberBase as au, type PaybackPeriodInput as av, type PaybackPeriodResult as aw, type PercentChangeDirection as ax, type PercentageChangeResult as ay, type Permission as az, type AprApyResult as b, gcd as b$, type UnitPriceItem as b0, type UnitPriceResult as b1, type UtilizationTier as b2, type VideoBitrateInput as b3, type VideoBitrateMode as b4, type VideoBitrateResult as b5, type ViewportConvertResult as b6, type VinValidationResult as b7, applySuccessiveDiscounts as b8, autoFormat as b9, calculateRealRateOfReturn as bA, calculateRequiredBandwidth as bB, calculateRoi as bC, calculateRuleOf72 as bD, calculateSavingsGoal as bE, calculateSimpleInterest as bF, calculateTax as bG, calculateTaxEquivalentYield as bH, calculateTimeValue as bI, calculateTipSplit as bJ, calculateTransferTime as bK, calculateVideoBitrate as bL, compareSemver as bM, compareUnitPrices as bN, convert as bO, convertAprApy as bP, convertBytes as bQ, convertIp as bR, coverBox as bS, decimalToIp as bT, decimalToIpCidr as bU, describePermissions as bV, fitIntoBox as bW, formatNumber as bX, formatValue as bY, formatVwValue as bZ, formatWithSeparator as b_, bumpVersion as ba, calcAspectRatio as bb, calcSubnet as bc, calculateBlendedLoanRate as bd, calculateBreakEven as be, calculateCashBreakdown as bf, calculateCashRounding as bg, calculateCdMaturity as bh, calculateChange as bi, calculateCompoundInterest as bj, calculateCreditUtilization as bk, calculateDebtToIncomeRatio as bl, calculateDepreciationSchedule as bm, calculateDiscount as bn, calculateEmi as bo, calculateExtraPaymentPayoff as bp, calculateFreelancerRate as bq, calculateGpa as br, calculateLoan as bs, calculateLoanPrepaymentPenalty as bt, calculateLoanRefinance as bu, calculateMarginMarkup as bv, calculateMortgagePoints as bw, calculateMovingAverages as bx, calculatePaybackPeriod as by, calculatePercentageChange as bz, type AspectRatioResult as c, ipFromBinary as c0, ipFromDecimal as c1, ipFromHex as c2, ipToBinary as c3, ipToDecimal as c4, ipToDecimalCidr as c5, ipToHex as c6, ipToOctal as c7, isValid as c8, isValidCidr as c9, validateIsbn as cA, validateIsin as cB, validateVin as cC, viewportToPx as cD, isValidIp as ca, isValidIpv4 as cb, marginToMarkup as cc, markupToMargin as cd, octalToPermissions as ce, parseFileSize as cf, parseInput as cg, parseNumberString as ch, parseSemver as ci, permissionsToChmod as cj, permissionsToOctal as ck, permissionsToSymbolic as cl, planDebtPayoff as cm, ptToPx as cn, pxToAll as co, pxToViewport as cp, remToPx as cq, satisfiesRange as cr, scaleByHeight as cs, scaleByWidth as ct, sortVersions as cu, splitSubnet as cv, symbolicToPermissions as cw, validateBarcode as cx, validateCardNumber as cy, validateIban as cz, BASE_PREFIXES as d, BYTE_UNITS as e, type BarcodeFormat as f, type BarcodeValidationResult as g, type BaseConvertResult as h, type BlendedLoanRateResult as i, type BreakEvenInput as j, type BreakEvenResult as k, type ByteConvertResult as l, type ByteUnit as m, COMMON_LOCALES as n, COMMON_PERMISSIONS as o, COMMON_RATIOS as p, COMMON_SIZES as q, COMMON_TAX_RATES as r, COMMON_TIP_PERCENTAGES as s, COMMON_VIEWPORTS as t, units as u, type CardValidationResult as v, type CashBreakdownResult as w, type CashChangeResult as x, type CashDenominationItem as y, type CashRoundingMode as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilix-tech/sdk",
3
- "version": "0.78.0",
3
+ "version": "0.79.0",
4
4
  "description": "154+ developer utility tools for Node.js: JSON, encoding, hashing, color, CSS, network and more. Runs locally, no API key required.",
5
5
  "author": "Utilix <hello@utilix.tech>",
6
6
  "license": "MIT",