@uwmd/core 1.5.0 → 1.6.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/dist/browser.d.ts CHANGED
@@ -45,7 +45,7 @@ export type { DCFDerivation } from './dcf.js';
45
45
  export { evaluateCalc, parseExpression, evaluate, BUILTINS, CalcError, calcError } from './calc/index.js';
46
46
  export type { CalcValue, Builtin, CalcErrorCode } from './calc/index.js';
47
47
  export { quantizeDecimal, resolveRoundTo, DEFAULT_ROUND_TO, DEFAULT_ROUND_TO_BY_UNIT, MAX_ROUND_TO, } from './calc/index.js';
48
- export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, HOSPITALITY_PACK, SENIOR_HOUSING_PACK, STUDENT_HOUSING_PACK, LAND_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, emitCalcExcelFormula, ExcelEmitError, } from './packs/index.js';
48
+ export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, HOSPITALITY_PACK, SENIOR_HOUSING_PACK, STUDENT_HOUSING_PACK, LAND_PACK, MIXED_USE_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, emitCalcExcelFormula, ExcelEmitError, } from './packs/index.js';
49
49
  export type { ExcelEmitOptions } from './packs/index.js';
50
50
  export { loadModuleManifest, createModuleRegistry, getModuleCalculationsForAssetClass, ModuleRegistryError, } from './modules.js';
51
51
  export type { ModuleRegistry, LoadModuleOptions, CreateModuleRegistryOptions } from './modules.js';
@@ -77,7 +77,7 @@ export { rankGaps } from './refinement.js';
77
77
  export type { RankGapsOptions, RankGapsResult, RankedGap, OutputSensitivity, NonMonotonicWarning, } from './refinement.js';
78
78
  export { inferGaps, summarizeGaps, readGapsContent } from './gaps.js';
79
79
  export type { GapItem, GapSummary, GapsContent, GapReason, InferGapsOptions } from './gaps.js';
80
- export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, HOSPITALITY_DEFAULTS, SENIOR_HOUSING_DEFAULTS, STUDENT_HOUSING_DEFAULTS, LAND_DEFAULTS, } from './defaults.js';
80
+ export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, HOSPITALITY_DEFAULTS, SENIOR_HOUSING_DEFAULTS, STUDENT_HOUSING_DEFAULTS, LAND_DEFAULTS, MIXED_USE_DEFAULTS, } from './defaults.js';
81
81
  export type { AssetClassDefaults, DefaultRange, DefaultUnit } from './defaults.js';
82
82
  export { getExprDependencies, extractDependencyGraph } from './calc/dependencies.js';
83
83
  export type { DependencyGraph, ExtractDependencyGraphOptions } from './calc/dependencies.js';
@@ -92,4 +92,6 @@ export type { InitOptions } from './init.js';
92
92
  export { CORE_PACKAGE_NAME, CORE_VERSION } from './version.js';
93
93
  export { UW_RECEIPT_VERSION, SUPPORTED_RECEIPT_VERSIONS, ROLLUP_FUNCTIONS, PORTFOLIO_ROLLUP_SECTION, verifyRollup, evaluateRollup, validateRollupAggregate, UW_LITE_CANONICALIZATION, UW_LITE_CANONICALIZATION_VERSION, UWX_CANONICALIZATION, UWX_CANONICALIZATION_VERSION, RECEIPT_RESULT_TOLERANCE, BUILTIN_POLICY_SET, BUILTIN_POLICY_SET_VERSION, ReceiptError, resolveReceiptSubject, computeReceiptResults, computeResultsDigest, issueReceipt, receiptSigningPayload, verifyReceipt, assertUWReceipt, } from './receipts.js';
94
94
  export type { UWReceipt, UWReceiptSubject, UWReceiptResult, UWReceiptComputation, UWReceiptPolicy, UWReceiptSignature, UWReceiptCanonicalization, UWReceiptVerdict, UWReceiptIssue, UWReceiptIssueCode, UWReceiptVerification, UWReceiptInputProvenance, UWReceiptInputSource, UWReceiptInputResolver, RollupFn, UWRollupAggregate, RollupMember, RollupAggregateResult, RollupVerification, ReceiptErrorCode, ReceiptSignatureVerifier, ReceiptSubjectOptions, ReceiptSubjectResolution, ReceiptIssuanceOptions, ReceiptVerificationOptions, } from './receipts.js';
95
+ export { verifyCapitalStack, recomputeSizing, trancheAnnualDebtService, isDebtTranche, capitalStackContext, CAPITAL_STACK_SIZING_DECIMALS, } from './capital-stack.js';
96
+ export type { Tranche, TrancheClass, Accrual, SizingFn, SizingFigure, CapitalStack, CapitalStackContext, CapitalStackVerdict, CapitalStackIssueCode, CapitalStackIssue, SizingResult, CapitalStackVerification, } from './capital-stack.js';
95
97
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACrE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,WAAW,EACX,mBAAmB,EACnB,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,oCAAoC,EACpC,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EACV,OAAO,EACP,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChE,YAAY,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1G,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzE,OAAO,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,kCAAkC,EAClC,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAInG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,6BAA6B,EAC7B,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,eAAe,EACf,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAOhD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EACV,eAAe,EACf,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACtE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC/F,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAE7F,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EACL,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAK7C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,wBAAwB,EACxB,gCAAgC,EAChC,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/dist/browser.js CHANGED
@@ -39,7 +39,7 @@ export { evaluateCalc, parseExpression, evaluate, BUILTINS, CalcError, calcError
39
39
  // The §VIII.5 quantization boundary — browser-safe, and the web editor needs it
40
40
  // to quantize hand-overridden fields the same way pack results are quantized.
41
41
  export { quantizeDecimal, resolveRoundTo, DEFAULT_ROUND_TO, DEFAULT_ROUND_TO_BY_UNIT, MAX_ROUND_TO, } from './calc/index.js';
42
- export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, HOSPITALITY_PACK, SENIOR_HOUSING_PACK, STUDENT_HOUSING_PACK, LAND_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, emitCalcExcelFormula, ExcelEmitError, } from './packs/index.js';
42
+ export { MULTIFAMILY_PACK, OFFICE_PACK, RETAIL_PACK, INDUSTRIAL_PACK, SELF_STORAGE_PACK, HOSPITALITY_PACK, SENIOR_HOUSING_PACK, STUDENT_HOUSING_PACK, LAND_PACK, MIXED_USE_PACK, getPackForAssetClass, emitFromAst, emitExcelFormula, emitCalcExcelFormula, ExcelEmitError, } from './packs/index.js';
43
43
  export { loadModuleManifest, createModuleRegistry, getModuleCalculationsForAssetClass, ModuleRegistryError, } from './modules.js';
44
44
  // ─── RFC 0018: document profiles, lease abstracts, deal packages ─────────────
45
45
  // All browser-safe: no I/O, no network, no hashing implementation imported.
@@ -63,7 +63,7 @@ export { generateBlankUWFile } from './init.js';
63
63
  export { resolveValue, readInFile } from './cascade.js';
64
64
  export { rankGaps } from './refinement.js';
65
65
  export { inferGaps, summarizeGaps, readGapsContent } from './gaps.js';
66
- export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, HOSPITALITY_DEFAULTS, SENIOR_HOUSING_DEFAULTS, STUDENT_HOUSING_DEFAULTS, LAND_DEFAULTS, } from './defaults.js';
66
+ export { getAssetClassDefaults, getDefaultRange, listDefaultedFields, MULTIFAMILY_DEFAULTS, OFFICE_DEFAULTS, RETAIL_DEFAULTS, INDUSTRIAL_DEFAULTS, SELF_STORAGE_DEFAULTS, HOSPITALITY_DEFAULTS, SENIOR_HOUSING_DEFAULTS, STUDENT_HOUSING_DEFAULTS, LAND_DEFAULTS, MIXED_USE_DEFAULTS, } from './defaults.js';
67
67
  export { getExprDependencies, extractDependencyGraph } from './calc/dependencies.js';
68
68
  export { DEFAULT_THRESHOLDS, ASSET_CLASSES } from './types.js';
69
69
  export { formatCurrency, formatPercent, formatRatio, formatCount, formatDate, formatNull, formatValue, formatPercentCsv, formatNumberCsv, } from './format.js';
@@ -73,4 +73,5 @@ export { PROTOCOL_VERSION, FORMAT_VERSION, DEFAULT_NUMBER_FORMAT, DEFAULT_DATE_F
73
73
  // is bundled here.
74
74
  export { CORE_PACKAGE_NAME, CORE_VERSION } from './version.js';
75
75
  export { UW_RECEIPT_VERSION, SUPPORTED_RECEIPT_VERSIONS, ROLLUP_FUNCTIONS, PORTFOLIO_ROLLUP_SECTION, verifyRollup, evaluateRollup, validateRollupAggregate, UW_LITE_CANONICALIZATION, UW_LITE_CANONICALIZATION_VERSION, UWX_CANONICALIZATION, UWX_CANONICALIZATION_VERSION, RECEIPT_RESULT_TOLERANCE, BUILTIN_POLICY_SET, BUILTIN_POLICY_SET_VERSION, ReceiptError, resolveReceiptSubject, computeReceiptResults, computeResultsDigest, issueReceipt, receiptSigningPayload, verifyReceipt, assertUWReceipt, } from './receipts.js';
76
+ export { verifyCapitalStack, recomputeSizing, trancheAnnualDebtService, isDebtTranche, capitalStackContext, CAPITAL_STACK_SIZING_DECIMALS, } from './capital-stack.js';
76
77
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import type { ParsedUWFile } from './types.js';
2
+ /** A tranche's type. Closed and non-extensible. */
3
+ export type TrancheClass = 'senior_debt' | 'mezzanine_debt' | 'preferred_equity' | 'common_equity' | 'bridge' | 'seller_financing' | 'other_debt';
4
+ /** Cash-pay vs PIK. Accrued obligations do not enter cash coverage. */
5
+ export type Accrual = 'cash' | 'accrued';
6
+ /** One layer of the capital stack (UW_FORMAT_SPEC §4.24). */
7
+ export interface Tranche {
8
+ id: string;
9
+ class: TrancheClass;
10
+ position: number;
11
+ amount: number;
12
+ rate?: number | null;
13
+ accrual?: Accrual | null;
14
+ amortization_months?: number | null;
15
+ io_months?: number | null;
16
+ term_months?: number | null;
17
+ }
18
+ /** The closed sizing function vocabulary. */
19
+ export type SizingFn = 'coverage' | 'blended_coverage' | 'debt_yield_through' | 'ltc_through' | 'ltv_through' | 'weighted_cost';
20
+ /** One stated sizing figure a verifier recomputes. */
21
+ export interface SizingFigure {
22
+ id: string;
23
+ fn: SizingFn;
24
+ /** Single-tranche selector: a tranche id, or `*` for the whole stack. */
25
+ over?: string;
26
+ /** Cumulative selector: a position; covers all tranches at or above it. */
27
+ through?: number;
28
+ value: number;
29
+ }
30
+ /** The `capital_stack` section content. */
31
+ export interface CapitalStack {
32
+ tranches: Tranche[];
33
+ sizing?: SizingFigure[];
34
+ }
35
+ /** The property-level inputs the sizing figures divide. */
36
+ export interface CapitalStackContext {
37
+ /** `noi_model.net_operating_income`. */
38
+ noi: number | null;
39
+ /** Total cost / total capitalization, for `ltc_through`. */
40
+ total_cost?: number | null;
41
+ /** Underwritten value, for `ltv_through`. */
42
+ total_value?: number | null;
43
+ }
44
+ export type CapitalStackVerdict = 'verified' | 'failed' | 'unverifiable';
45
+ export type CapitalStackIssueCode =
46
+ /** A stated sizing figure disagrees with recomputation. */
47
+ 'CS-SIZING-DISAGREES'
48
+ /** A sizing figure reads inputs the document does not supply — undecided, never zero. */
49
+ | 'CS-SIZING-UNEVALUABLE';
50
+ export interface CapitalStackIssue {
51
+ code: CapitalStackIssueCode;
52
+ severity: 'failure' | 'indeterminate';
53
+ message: string;
54
+ expected?: string;
55
+ actual?: string;
56
+ }
57
+ export interface SizingResult {
58
+ id: string;
59
+ fn: SizingFn;
60
+ stated: number;
61
+ recomputed: number | null;
62
+ agrees: boolean;
63
+ }
64
+ export interface CapitalStackVerification {
65
+ verdict: CapitalStackVerdict;
66
+ issues: CapitalStackIssue[];
67
+ sizing: SizingResult[];
68
+ }
69
+ /** Debt-class tranches, whose balances make up "debt" for a debt-yield/LTC. */
70
+ export declare function isDebtTranche(t: Tranche): boolean;
71
+ /**
72
+ * A tranche's annual CASH debt service — what enters coverage. An accrued/PIK
73
+ * tranche pays nothing in cash (returns 0). Common equity has no service.
74
+ * A debt or preferred tranche with no `rate` is uncomputable (returns null).
75
+ *
76
+ * Debt: the fully-amortizing constant when `amortization_months > 0`, otherwise
77
+ * interest-only (`amount × rate`). `io_months` describes when amortization
78
+ * begins — a multi-period schedule concern (RFC 0026 Phase 2) — and does not
79
+ * change this stabilized annual constant. Preferred equity that is cash-pay
80
+ * contributes its current return (`amount × rate`).
81
+ */
82
+ export declare function trancheAnnualDebtService(t: Tranche): number | null;
83
+ /**
84
+ * The decimal quantum each sizing figure is compared at, keyed by `fn`. Coverage
85
+ * ratios are stated to 2 places (a DSCR reads as 1.85); rates and yields to 4.
86
+ * An author who states a correctly-rounded value verifies and a materially wrong
87
+ * one does not. Exported so an emitting surface (the Excel workbook's sizing
88
+ * block) quantizes at the same boundary this verifier does, rather than keeping
89
+ * its own copy of the table.
90
+ */
91
+ export declare const CAPITAL_STACK_SIZING_DECIMALS: Readonly<Record<SizingFn, number>>;
92
+ /**
93
+ * Recompute one sizing figure over the tranches. Returns null when the figure
94
+ * reads an input the document does not supply (a missing NOI, an absent
95
+ * cost/value, a division by a zero denominator, or a selector that resolves to
96
+ * no tranche) — never a misleading zero.
97
+ */
98
+ export declare function recomputeSizing(fig: SizingFigure, tranches: readonly Tranche[], ctx: CapitalStackContext): number | null;
99
+ /**
100
+ * Recompute every stated sizing figure and report a three-state verdict:
101
+ * - a figure disagrees beyond its quantum → `failed` (CS-SIZING-DISAGREES)
102
+ * - a figure reads an input the document does not supply → `unverifiable`
103
+ * - otherwise → `verified`
104
+ *
105
+ * A `verified` stack means the stated sizing follows deterministically from the
106
+ * tranche terms as they stand. It does not mean the terms are the right terms.
107
+ */
108
+ export declare function verifyCapitalStack(stack: CapitalStack, ctx: CapitalStackContext): CapitalStackVerification;
109
+ /**
110
+ * Pull the property-level sizing inputs from a parsed document: NOI from
111
+ * `noi_model`, total cost from `sources_uses` (uses total), and underwritten
112
+ * value from `valuation`. Any absent input becomes `null`, which makes the
113
+ * figures that need it `unverifiable` rather than wrong.
114
+ */
115
+ export declare function capitalStackContext(parsed: ParsedUWFile): CapitalStackContext;
116
+ //# sourceMappingURL=capital-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capital-stack.d.ts","sourceRoot":"","sources":["../src/capital-stack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,227 @@
1
+ // Capital stack — state-and-verify sizing (RFC 0026, UW_FORMAT_SPEC §4.24).
2
+ //
3
+ // A deal states an ordered array of typed capital tranches and the stack-aware
4
+ // sizing figures a lender underwrites to (per-tranche and blended coverage,
5
+ // attachment-point debt yield, LTC/LTV by layer, weighted cost of capital). This
6
+ // module recomputes each stated figure over a FIXED, CLOSED function vocabulary
7
+ // and reports a three-state verdict — the same state-and-verify shape RFC 0021 §6
8
+ // uses for portfolio rollups (`verifyRollup`).
9
+ //
10
+ // This deliberately does NOT touch the Tier-3 calc engine. The sandbox has no
11
+ // iteration or array indexing (RFC 0019 §1), so a variable-length tranche array
12
+ // is not addressable by a pack formula. A deterministic TypeScript verifier is
13
+ // not so constrained: it walks the array directly, exactly as `verifyRollup`
14
+ // walks a variable member list. Browser-safe; performs no I/O.
15
+ //
16
+ // Scope (RFC 0026 v1): tranche representation, the sizing vocabulary below, and
17
+ // preferred-equity cash-vs-accrued. The multi-period distribution waterfall
18
+ // (promote, hurdles, tiers, catch-up) is out of scope and refused by the
19
+ // validator (CS-WATERFALL-UNSUPPORTED); it needs a hold-period cash-flow
20
+ // primitive the format does not yet have (RFC 0026 §E).
21
+ import { getSection, deepGet } from './parser.js';
22
+ // ─── Tranche classification + debt service ───────────────────────────────────
23
+ const DEBT_CLASSES = new Set([
24
+ 'senior_debt',
25
+ 'mezzanine_debt',
26
+ 'bridge',
27
+ 'seller_financing',
28
+ 'other_debt',
29
+ ]);
30
+ /** Debt-class tranches, whose balances make up "debt" for a debt-yield/LTC. */
31
+ export function isDebtTranche(t) {
32
+ return DEBT_CLASSES.has(t.class);
33
+ }
34
+ /**
35
+ * A tranche's annual CASH debt service — what enters coverage. An accrued/PIK
36
+ * tranche pays nothing in cash (returns 0). Common equity has no service.
37
+ * A debt or preferred tranche with no `rate` is uncomputable (returns null).
38
+ *
39
+ * Debt: the fully-amortizing constant when `amortization_months > 0`, otherwise
40
+ * interest-only (`amount × rate`). `io_months` describes when amortization
41
+ * begins — a multi-period schedule concern (RFC 0026 Phase 2) — and does not
42
+ * change this stabilized annual constant. Preferred equity that is cash-pay
43
+ * contributes its current return (`amount × rate`).
44
+ */
45
+ export function trancheAnnualDebtService(t) {
46
+ if (t.accrual === 'accrued')
47
+ return 0;
48
+ if (t.class === 'common_equity')
49
+ return 0;
50
+ if (t.rate === null || t.rate === undefined)
51
+ return null;
52
+ if (t.class === 'preferred_equity')
53
+ return t.amount * t.rate;
54
+ const amort = t.amortization_months ?? 0;
55
+ if (amort <= 0)
56
+ return t.amount * t.rate; // interest-only / non-amortizing
57
+ const mr = t.rate / 12;
58
+ const monthly = mr === 0 ? t.amount / amort : (t.amount * mr) / (1 - (1 + mr) ** -amort);
59
+ return monthly * 12;
60
+ }
61
+ // ─── Sizing recomputation ────────────────────────────────────────────────────
62
+ /**
63
+ * The decimal quantum each sizing figure is compared at, keyed by `fn`. Coverage
64
+ * ratios are stated to 2 places (a DSCR reads as 1.85); rates and yields to 4.
65
+ * An author who states a correctly-rounded value verifies and a materially wrong
66
+ * one does not. Exported so an emitting surface (the Excel workbook's sizing
67
+ * block) quantizes at the same boundary this verifier does, rather than keeping
68
+ * its own copy of the table.
69
+ */
70
+ export const CAPITAL_STACK_SIZING_DECIMALS = {
71
+ coverage: 2,
72
+ blended_coverage: 2,
73
+ debt_yield_through: 4,
74
+ ltc_through: 4,
75
+ ltv_through: 4,
76
+ weighted_cost: 4,
77
+ };
78
+ function roundTo(value, decimals) {
79
+ const f = 10 ** decimals;
80
+ return Math.round(value * f) / f;
81
+ }
82
+ function agrees(stated, recomputed, fn) {
83
+ const dp = CAPITAL_STACK_SIZING_DECIMALS[fn];
84
+ return roundTo(stated, dp) === roundTo(recomputed, dp);
85
+ }
86
+ /** Sum a value over the tranches at or above a position; null if any is null. */
87
+ function sumThrough(tranches, position, value) {
88
+ let total = 0;
89
+ for (const t of tranches) {
90
+ if (t.position > position)
91
+ continue;
92
+ const v = value(t);
93
+ if (v === null)
94
+ return null;
95
+ total += v;
96
+ }
97
+ return total;
98
+ }
99
+ /**
100
+ * Recompute one sizing figure over the tranches. Returns null when the figure
101
+ * reads an input the document does not supply (a missing NOI, an absent
102
+ * cost/value, a division by a zero denominator, or a selector that resolves to
103
+ * no tranche) — never a misleading zero.
104
+ */
105
+ export function recomputeSizing(fig, tranches, ctx) {
106
+ const noi = ctx.noi;
107
+ switch (fig.fn) {
108
+ case 'coverage': {
109
+ const t = tranches.find((x) => x.id === fig.over);
110
+ if (!t || noi === null)
111
+ return null;
112
+ const ds = trancheAnnualDebtService(t);
113
+ if (ds === null || ds === 0)
114
+ return null;
115
+ return noi / ds;
116
+ }
117
+ case 'blended_coverage': {
118
+ if (fig.through === undefined || noi === null)
119
+ return null;
120
+ const ds = sumThrough(tranches, fig.through, trancheAnnualDebtService);
121
+ if (ds === null || ds === 0)
122
+ return null;
123
+ return noi / ds;
124
+ }
125
+ case 'debt_yield_through': {
126
+ if (fig.through === undefined || noi === null)
127
+ return null;
128
+ const bal = sumThrough(tranches, fig.through, (t) => (isDebtTranche(t) ? t.amount : 0));
129
+ if (bal === null || bal === 0)
130
+ return null;
131
+ return noi / bal;
132
+ }
133
+ case 'ltc_through':
134
+ case 'ltv_through': {
135
+ if (fig.through === undefined)
136
+ return null;
137
+ const denom = fig.fn === 'ltc_through' ? ctx.total_cost : ctx.total_value;
138
+ if (denom === null || denom === undefined || denom === 0)
139
+ return null;
140
+ const bal = sumThrough(tranches, fig.through, (t) => (isDebtTranche(t) ? t.amount : 0));
141
+ if (bal === null)
142
+ return null;
143
+ return bal / denom;
144
+ }
145
+ case 'weighted_cost': {
146
+ let weighted = 0;
147
+ let base = 0;
148
+ for (const t of tranches) {
149
+ if (t.rate === null || t.rate === undefined)
150
+ continue;
151
+ weighted += t.amount * t.rate;
152
+ base += t.amount;
153
+ }
154
+ if (base === 0)
155
+ return null;
156
+ return weighted / base;
157
+ }
158
+ default:
159
+ return null;
160
+ }
161
+ }
162
+ // ─── Verification ────────────────────────────────────────────────────────────
163
+ /**
164
+ * Recompute every stated sizing figure and report a three-state verdict:
165
+ * - a figure disagrees beyond its quantum → `failed` (CS-SIZING-DISAGREES)
166
+ * - a figure reads an input the document does not supply → `unverifiable`
167
+ * - otherwise → `verified`
168
+ *
169
+ * A `verified` stack means the stated sizing follows deterministically from the
170
+ * tranche terms as they stand. It does not mean the terms are the right terms.
171
+ */
172
+ export function verifyCapitalStack(stack, ctx) {
173
+ const issues = [];
174
+ const results = [];
175
+ const tranches = stack.tranches ?? [];
176
+ for (const fig of stack.sizing ?? []) {
177
+ const recomputed = recomputeSizing(fig, tranches, ctx);
178
+ if (recomputed === null) {
179
+ results.push({ id: fig.id, fn: fig.fn, stated: fig.value, recomputed: null, agrees: false });
180
+ issues.push({
181
+ code: 'CS-SIZING-UNEVALUABLE',
182
+ severity: 'indeterminate',
183
+ message: `Sizing figure '${fig.id}' (${fig.fn}) reads an input the document does not supply, so it cannot be verified.`,
184
+ });
185
+ continue;
186
+ }
187
+ const ok = agrees(fig.value, recomputed, fig.fn);
188
+ results.push({ id: fig.id, fn: fig.fn, stated: fig.value, recomputed, agrees: ok });
189
+ if (!ok) {
190
+ issues.push({
191
+ code: 'CS-SIZING-DISAGREES',
192
+ severity: 'failure',
193
+ message: `Sizing figure '${fig.id}' states ${fig.value} but ${fig.fn} recomputes to ${recomputed}.`,
194
+ expected: String(fig.value),
195
+ actual: String(recomputed),
196
+ });
197
+ }
198
+ }
199
+ if (issues.some((i) => i.severity === 'failure')) {
200
+ return { verdict: 'failed', issues, sizing: results };
201
+ }
202
+ if (issues.some((i) => i.severity === 'indeterminate')) {
203
+ return { verdict: 'unverifiable', issues, sizing: results };
204
+ }
205
+ return { verdict: 'verified', issues, sizing: results };
206
+ }
207
+ /**
208
+ * Pull the property-level sizing inputs from a parsed document: NOI from
209
+ * `noi_model`, total cost from `sources_uses` (uses total), and underwritten
210
+ * value from `valuation`. Any absent input becomes `null`, which makes the
211
+ * figures that need it `unverifiable` rather than wrong.
212
+ */
213
+ export function capitalStackContext(parsed) {
214
+ const num = (section, path) => {
215
+ const block = getSection(parsed, section);
216
+ if (!block)
217
+ return null;
218
+ const v = deepGet(block.content, path);
219
+ return typeof v === 'number' && Number.isFinite(v) ? v : null;
220
+ };
221
+ return {
222
+ noi: num('noi_model', 'net_operating_income'),
223
+ total_cost: num('sources_uses', 'uses.total') ?? num('sources_uses', 'total_uses'),
224
+ total_value: num('valuation', 'underwritten_value') ?? num('valuation', 'purchase_price'),
225
+ };
226
+ }
227
+ //# sourceMappingURL=capital-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capital-stack.js","sourceRoot":"","sources":["../src/capital-stack.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,+CAA+C;AAC/C,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,+DAA+D;AAC/D,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,yEAAyE;AACzE,yEAAyE;AACzE,wDAAwD;AAGxD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAgGlD,gFAAgF;AAEhF,MAAM,YAAY,GAA8B,IAAI,GAAG,CAAC;IACtD,aAAa;IACb,gBAAgB;IAChB,QAAQ;IACR,kBAAkB;IAClB,YAAY;CACb,CAAC,CAAC;AAEH,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,CAAU;IACjD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe;QAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB;QAAE,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;IAE7D,MAAM,KAAK,GAAG,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,iCAAiC;IAC3E,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzF,OAAO,OAAO,GAAG,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAuC;IAC/E,QAAQ,EAAE,CAAC;IACX,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF,SAAS,OAAO,CAAC,KAAa,EAAE,QAAgB;IAC9C,MAAM,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAY;IAC9D,MAAM,EAAE,GAAG,6BAA6B,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,iFAAiF;AACjF,SAAS,UAAU,CACjB,QAA4B,EAC5B,QAAgB,EAChB,KAAoC;IAEpC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,QAAQ,GAAG,QAAQ;YAAE,SAAS;QACpC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAiB,EACjB,QAA4B,EAC5B,GAAwB;IAExB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC;QACf,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACpC,MAAM,EAAE,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzC,OAAO,GAAG,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC3D,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACvE,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzC,OAAO,GAAG,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC3D,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3C,OAAO,GAAG,GAAG,GAAG,CAAC;QACnB,CAAC;QACD,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;YAC1E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACtE,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC9B,OAAO,GAAG,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;oBAAE,SAAS;gBACtD,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC9B,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5B,OAAO,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAmB,EACnB,GAAwB;IAExB,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,uBAAuB;gBAC7B,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,kBAAkB,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,0EAA0E;aACxH,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,kBAAkB,GAAG,CAAC,EAAE,YAAY,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,EAAE,kBAAkB,UAAU,GAAG;gBACnG,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC3B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,IAAY,EAAiB,EAAE;QAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAkC,EAAE,IAAI,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC,CAAC;IACF,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,sBAAsB,CAAC;QAC7C,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC;QAClF,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC;KAC1F,CAAC;AACJ,CAAC"}
@@ -133,6 +133,24 @@ export declare const STUDENT_HOUSING_DEFAULTS: AssetClassDefaults;
133
133
  * not committee underwriting.
134
134
  */
135
135
  export declare const LAND_DEFAULTS: AssetClassDefaults;
136
+ /**
137
+ * Mixed-use asset-class defaults, v1.0.0.
138
+ *
139
+ * Deliberately narrow. A mixed-use property composes other uses (RFC 0019), and
140
+ * the *mix-dependent* assumptions — vacancy, expense ratio, exit cap — have no
141
+ * single right value across a blend; those resolve per component against each
142
+ * component class's own table (RFC 0019 §5). This table therefore carries only
143
+ * the **mix-independent** terms that attach to the whole property and its single
144
+ * loan: financing (LTV, rate, amortization, IO) and acquisition closing costs.
145
+ * They are driven by the debt market and the transaction, not by the use mix.
146
+ *
147
+ * The table exists at all — rather than leaving `mixed_use` with no defaults —
148
+ * because the cascade has no shared/base table below `asset_class_default`; the
149
+ * only fallback is the host-supplied `global_default`/`system_default`, which
150
+ * carries no ranges and no citations. Omitting this table would give mixed-use
151
+ * financing terms strictly weaker provenance than every other class.
152
+ */
153
+ export declare const MIXED_USE_DEFAULTS: AssetClassDefaults;
136
154
  /**
137
155
  * Look up the published defaults for an asset class. Returns null when no
138
156
  * table is registered (callers should fall through to `global_default` /
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,+DAA+D;IAC/D,MAAM,EAAE,qBAAqB,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACxC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBA6FlC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,kBA6G7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,kBA6G7B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,kBA6GjC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAqGnC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBAqHlC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBA6HrC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAqHtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,kBAqG3B,CAAC;AAcF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAEpF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAG5F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,+DAA+D;IAC/D,MAAM,EAAE,qBAAqB,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACxC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACtC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBA6FlC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,kBA6G7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,kBA6G7B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,EAAE,kBA6GjC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAqGnC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,kBAqHlC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,EAAE,kBA6HrC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,kBAqHtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,kBAqG3B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAgDhC,CAAC;AAeF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAEpF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAG5F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE"}
package/dist/defaults.js CHANGED
@@ -1096,6 +1096,69 @@ export const LAND_DEFAULTS = {
1096
1096
  },
1097
1097
  },
1098
1098
  };
1099
+ /**
1100
+ * Mixed-use asset-class defaults, v1.0.0.
1101
+ *
1102
+ * Deliberately narrow. A mixed-use property composes other uses (RFC 0019), and
1103
+ * the *mix-dependent* assumptions — vacancy, expense ratio, exit cap — have no
1104
+ * single right value across a blend; those resolve per component against each
1105
+ * component class's own table (RFC 0019 §5). This table therefore carries only
1106
+ * the **mix-independent** terms that attach to the whole property and its single
1107
+ * loan: financing (LTV, rate, amortization, IO) and acquisition closing costs.
1108
+ * They are driven by the debt market and the transaction, not by the use mix.
1109
+ *
1110
+ * The table exists at all — rather than leaving `mixed_use` with no defaults —
1111
+ * because the cascade has no shared/base table below `asset_class_default`; the
1112
+ * only fallback is the host-supplied `global_default`/`system_default`, which
1113
+ * carries no ranges and no citations. Omitting this table would give mixed-use
1114
+ * financing terms strictly weaker provenance than every other class.
1115
+ */
1116
+ export const MIXED_USE_DEFAULTS = {
1117
+ asset_class: 'mixed_use',
1118
+ version: '1.0.0',
1119
+ fields: {
1120
+ 'debt_structure.ltv_pct': {
1121
+ low: 0.55,
1122
+ central: 0.63,
1123
+ high: 0.7,
1124
+ unit: 'percent',
1125
+ source: 'asset_class_default',
1126
+ citation: 'Mixed-use leverage band; sits below stabilized multifamily because the commercial component caps agency-style proceeds',
1127
+ },
1128
+ 'debt_structure.rate_pct': {
1129
+ low: 0.062,
1130
+ central: 0.071,
1131
+ high: 0.08,
1132
+ unit: 'percent',
1133
+ source: 'asset_class_default',
1134
+ citation: 'Bank / debt-fund 5-7yr fixed quote band for mixed-use, mid-2026 rate environment (a touch wide of pure agency multifamily)',
1135
+ },
1136
+ 'debt_structure.amortization_months': {
1137
+ low: 300,
1138
+ central: 360,
1139
+ high: 360,
1140
+ unit: 'months',
1141
+ source: 'asset_class_default',
1142
+ citation: 'Standard 25-30 yr amortization for stabilized income property',
1143
+ },
1144
+ 'debt_structure.io_months': {
1145
+ low: 0,
1146
+ central: 0,
1147
+ high: 36,
1148
+ unit: 'months',
1149
+ source: 'asset_class_default',
1150
+ citation: 'Partial-IO availability on mixed-use bank/debt-fund loans (0-3 yr)',
1151
+ },
1152
+ 'sources_uses.closing_costs_pct': {
1153
+ low: 0.018,
1154
+ central: 0.028,
1155
+ high: 0.04,
1156
+ unit: 'percent',
1157
+ source: 'asset_class_default',
1158
+ citation: 'Acquisition closing cost band (title, legal, debt fees, taxes); modestly higher for dual-use diligence',
1159
+ },
1160
+ },
1161
+ };
1099
1162
  const REGISTRY = Object.freeze({
1100
1163
  multifamily: MULTIFAMILY_DEFAULTS,
1101
1164
  office: OFFICE_DEFAULTS,
@@ -1106,6 +1169,7 @@ const REGISTRY = Object.freeze({
1106
1169
  senior_housing: SENIOR_HOUSING_DEFAULTS,
1107
1170
  student_housing: STUDENT_HOUSING_DEFAULTS,
1108
1171
  land: LAND_DEFAULTS,
1172
+ mixed_use: MIXED_USE_DEFAULTS,
1109
1173
  });
1110
1174
  /**
1111
1175
  * Look up the published defaults for an asset class. Returns null when no