@open-captable-protocol/canton 0.2.247 → 0.2.249

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.
Files changed (150) hide show
  1. package/dist/OcpClient.d.ts +3 -1
  2. package/dist/OcpClient.d.ts.map +1 -1
  3. package/dist/OcpClient.js +2 -1
  4. package/dist/OcpClient.js.map +1 -1
  5. package/dist/functions/OpenCapTable/capTable/archiveCapTable.d.ts +59 -0
  6. package/dist/functions/OpenCapTable/capTable/archiveCapTable.d.ts.map +1 -0
  7. package/dist/functions/OpenCapTable/capTable/archiveCapTable.js +70 -0
  8. package/dist/functions/OpenCapTable/capTable/archiveCapTable.js.map +1 -0
  9. package/dist/functions/OpenCapTable/capTable/damlToOcf.d.ts.map +1 -1
  10. package/dist/functions/OpenCapTable/capTable/damlToOcf.js +2 -0
  11. package/dist/functions/OpenCapTable/capTable/damlToOcf.js.map +1 -1
  12. package/dist/functions/OpenCapTable/capTable/index.d.ts +1 -0
  13. package/dist/functions/OpenCapTable/capTable/index.d.ts.map +1 -1
  14. package/dist/functions/OpenCapTable/capTable/index.js +5 -1
  15. package/dist/functions/OpenCapTable/capTable/index.js.map +1 -1
  16. package/dist/functions/OpenCapTable/capTable/ocfToDaml.d.ts.map +1 -1
  17. package/dist/functions/OpenCapTable/capTable/ocfToDaml.js +3 -2
  18. package/dist/functions/OpenCapTable/capTable/ocfToDaml.js.map +1 -1
  19. package/dist/functions/OpenCapTable/convertibleConversion/convertibleConversionDataToDaml.d.ts.map +1 -1
  20. package/dist/functions/OpenCapTable/convertibleConversion/convertibleConversionDataToDaml.js +4 -1
  21. package/dist/functions/OpenCapTable/convertibleConversion/convertibleConversionDataToDaml.js.map +1 -1
  22. package/dist/functions/OpenCapTable/convertibleConversion/damlToOcf.d.ts +4 -1
  23. package/dist/functions/OpenCapTable/convertibleConversion/damlToOcf.d.ts.map +1 -1
  24. package/dist/functions/OpenCapTable/convertibleConversion/damlToOcf.js +4 -1
  25. package/dist/functions/OpenCapTable/convertibleConversion/damlToOcf.js.map +1 -1
  26. package/dist/functions/OpenCapTable/convertibleConversion/getConvertibleConversionAsOcf.d.ts.map +1 -1
  27. package/dist/functions/OpenCapTable/convertibleConversion/getConvertibleConversionAsOcf.js +29 -2
  28. package/dist/functions/OpenCapTable/convertibleConversion/getConvertibleConversionAsOcf.js.map +1 -1
  29. package/dist/functions/OpenCapTable/equityCompensationIssuance/createEquityCompensationIssuance.d.ts +5 -1
  30. package/dist/functions/OpenCapTable/equityCompensationIssuance/createEquityCompensationIssuance.d.ts.map +1 -1
  31. package/dist/functions/OpenCapTable/equityCompensationIssuance/createEquityCompensationIssuance.js +6 -4
  32. package/dist/functions/OpenCapTable/equityCompensationIssuance/createEquityCompensationIssuance.js.map +1 -1
  33. package/dist/functions/OpenCapTable/equityCompensationRelease/damlToOcf.d.ts +5 -2
  34. package/dist/functions/OpenCapTable/equityCompensationRelease/damlToOcf.d.ts.map +1 -1
  35. package/dist/functions/OpenCapTable/equityCompensationRelease/damlToOcf.js +2 -2
  36. package/dist/functions/OpenCapTable/equityCompensationRelease/damlToOcf.js.map +1 -1
  37. package/dist/functions/OpenCapTable/equityCompensationRelease/equityCompensationReleaseDataToDaml.d.ts.map +1 -1
  38. package/dist/functions/OpenCapTable/equityCompensationRelease/equityCompensationReleaseDataToDaml.js +2 -2
  39. package/dist/functions/OpenCapTable/equityCompensationRelease/equityCompensationReleaseDataToDaml.js.map +1 -1
  40. package/dist/functions/OpenCapTable/equityCompensationRepricing/damlToOcf.d.ts +4 -1
  41. package/dist/functions/OpenCapTable/equityCompensationRepricing/damlToOcf.d.ts.map +1 -1
  42. package/dist/functions/OpenCapTable/equityCompensationRepricing/damlToOcf.js +1 -1
  43. package/dist/functions/OpenCapTable/equityCompensationRepricing/damlToOcf.js.map +1 -1
  44. package/dist/functions/OpenCapTable/equityCompensationRepricing/equityCompensationRepricingDataToDaml.js +1 -1
  45. package/dist/functions/OpenCapTable/equityCompensationRepricing/equityCompensationRepricingDataToDaml.js.map +1 -1
  46. package/dist/functions/OpenCapTable/issuer/createIssuer.d.ts +3 -1
  47. package/dist/functions/OpenCapTable/issuer/createIssuer.d.ts.map +1 -1
  48. package/dist/functions/OpenCapTable/issuer/createIssuer.js +28 -3
  49. package/dist/functions/OpenCapTable/issuer/createIssuer.js.map +1 -1
  50. package/dist/functions/OpenCapTable/planSecurityIssuance/planSecurityIssuanceDataToDaml.d.ts.map +1 -1
  51. package/dist/functions/OpenCapTable/planSecurityIssuance/planSecurityIssuanceDataToDaml.js +36 -20
  52. package/dist/functions/OpenCapTable/planSecurityIssuance/planSecurityIssuanceDataToDaml.js.map +1 -1
  53. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/damlToOcf.d.ts +3 -1
  54. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/damlToOcf.d.ts.map +1 -1
  55. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/damlToOcf.js +5 -1
  56. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/damlToOcf.js.map +1 -1
  57. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/getStakeholderRelationshipChangeEventAsOcf.d.ts.map +1 -1
  58. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/getStakeholderRelationshipChangeEventAsOcf.js +56 -4
  59. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/getStakeholderRelationshipChangeEventAsOcf.js.map +1 -1
  60. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/stakeholderRelationshipChangeEventDataToDaml.d.ts.map +1 -1
  61. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/stakeholderRelationshipChangeEventDataToDaml.js +24 -1
  62. package/dist/functions/OpenCapTable/stakeholderRelationshipChangeEvent/stakeholderRelationshipChangeEventDataToDaml.js.map +1 -1
  63. package/dist/functions/OpenCapTable/stakeholderStatusChangeEvent/damlToOcf.d.ts.map +1 -1
  64. package/dist/functions/OpenCapTable/stakeholderStatusChangeEvent/damlToOcf.js +1 -0
  65. package/dist/functions/OpenCapTable/stakeholderStatusChangeEvent/damlToOcf.js.map +1 -1
  66. package/dist/functions/OpenCapTable/stakeholderStatusChangeEvent/getStakeholderStatusChangeEventAsOcf.d.ts.map +1 -1
  67. package/dist/functions/OpenCapTable/stakeholderStatusChangeEvent/getStakeholderStatusChangeEventAsOcf.js +41 -3
  68. package/dist/functions/OpenCapTable/stakeholderStatusChangeEvent/getStakeholderStatusChangeEventAsOcf.js.map +1 -1
  69. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/damlToStockClassConversionRatioAdjustment.d.ts.map +1 -1
  70. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/damlToStockClassConversionRatioAdjustment.js +13 -2
  71. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/damlToStockClassConversionRatioAdjustment.js.map +1 -1
  72. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/getStockClassConversionRatioAdjustmentAsOcf.d.ts +12 -2
  73. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/getStockClassConversionRatioAdjustmentAsOcf.d.ts.map +1 -1
  74. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/getStockClassConversionRatioAdjustmentAsOcf.js +13 -2
  75. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/getStockClassConversionRatioAdjustmentAsOcf.js.map +1 -1
  76. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/stockClassConversionRatioAdjustmentDataToDaml.d.ts.map +1 -1
  77. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/stockClassConversionRatioAdjustmentDataToDaml.js +34 -4
  78. package/dist/functions/OpenCapTable/stockClassConversionRatioAdjustment/stockClassConversionRatioAdjustmentDataToDaml.js.map +1 -1
  79. package/dist/functions/OpenCapTable/stockClassSplit/damlToStockClassSplit.d.ts.map +1 -1
  80. package/dist/functions/OpenCapTable/stockClassSplit/damlToStockClassSplit.js +4 -2
  81. package/dist/functions/OpenCapTable/stockClassSplit/damlToStockClassSplit.js.map +1 -1
  82. package/dist/functions/OpenCapTable/stockClassSplit/getStockClassSplitAsOcf.d.ts +4 -2
  83. package/dist/functions/OpenCapTable/stockClassSplit/getStockClassSplitAsOcf.d.ts.map +1 -1
  84. package/dist/functions/OpenCapTable/stockClassSplit/getStockClassSplitAsOcf.js +4 -2
  85. package/dist/functions/OpenCapTable/stockClassSplit/getStockClassSplitAsOcf.js.map +1 -1
  86. package/dist/functions/OpenCapTable/stockClassSplit/stockClassSplitDataToDaml.d.ts.map +1 -1
  87. package/dist/functions/OpenCapTable/stockClassSplit/stockClassSplitDataToDaml.js +18 -4
  88. package/dist/functions/OpenCapTable/stockClassSplit/stockClassSplitDataToDaml.js.map +1 -1
  89. package/dist/functions/OpenCapTable/stockConsolidation/damlToStockConsolidation.d.ts +1 -1
  90. package/dist/functions/OpenCapTable/stockConsolidation/damlToStockConsolidation.js +2 -2
  91. package/dist/functions/OpenCapTable/stockConsolidation/damlToStockConsolidation.js.map +1 -1
  92. package/dist/functions/OpenCapTable/stockConsolidation/getStockConsolidationAsOcf.d.ts +1 -1
  93. package/dist/functions/OpenCapTable/stockConsolidation/getStockConsolidationAsOcf.d.ts.map +1 -1
  94. package/dist/functions/OpenCapTable/stockConsolidation/getStockConsolidationAsOcf.js +1 -3
  95. package/dist/functions/OpenCapTable/stockConsolidation/getStockConsolidationAsOcf.js.map +1 -1
  96. package/dist/functions/OpenCapTable/stockConsolidation/stockConsolidationDataToDaml.d.ts.map +1 -1
  97. package/dist/functions/OpenCapTable/stockConsolidation/stockConsolidationDataToDaml.js +8 -7
  98. package/dist/functions/OpenCapTable/stockConsolidation/stockConsolidationDataToDaml.js.map +1 -1
  99. package/dist/functions/OpenCapTable/stockConversion/damlToOcf.d.ts +1 -1
  100. package/dist/functions/OpenCapTable/stockConversion/damlToOcf.d.ts.map +1 -1
  101. package/dist/functions/OpenCapTable/stockConversion/damlToOcf.js +1 -1
  102. package/dist/functions/OpenCapTable/stockConversion/damlToOcf.js.map +1 -1
  103. package/dist/functions/OpenCapTable/stockConversion/getStockConversionAsOcf.d.ts +3 -3
  104. package/dist/functions/OpenCapTable/stockConversion/getStockConversionAsOcf.d.ts.map +1 -1
  105. package/dist/functions/OpenCapTable/stockConversion/getStockConversionAsOcf.js +7 -7
  106. package/dist/functions/OpenCapTable/stockConversion/getStockConversionAsOcf.js.map +1 -1
  107. package/dist/functions/OpenCapTable/stockConversion/stockConversionDataToDaml.js +1 -1
  108. package/dist/functions/OpenCapTable/stockConversion/stockConversionDataToDaml.js.map +1 -1
  109. package/dist/functions/OpenCapTable/stockPlanReturnToPool/damlToOcf.d.ts +1 -0
  110. package/dist/functions/OpenCapTable/stockPlanReturnToPool/damlToOcf.d.ts.map +1 -1
  111. package/dist/functions/OpenCapTable/stockPlanReturnToPool/damlToOcf.js +1 -0
  112. package/dist/functions/OpenCapTable/stockPlanReturnToPool/damlToOcf.js.map +1 -1
  113. package/dist/functions/OpenCapTable/stockPlanReturnToPool/stockPlanReturnToPoolDataToDaml.d.ts.map +1 -1
  114. package/dist/functions/OpenCapTable/stockPlanReturnToPool/stockPlanReturnToPoolDataToDaml.js +1 -0
  115. package/dist/functions/OpenCapTable/stockPlanReturnToPool/stockPlanReturnToPoolDataToDaml.js.map +1 -1
  116. package/dist/functions/OpenCapTable/warrantExercise/damlToOcf.d.ts.map +1 -1
  117. package/dist/functions/OpenCapTable/warrantExercise/damlToOcf.js +7 -9
  118. package/dist/functions/OpenCapTable/warrantExercise/damlToOcf.js.map +1 -1
  119. package/dist/functions/OpenCapTable/warrantExercise/getWarrantExerciseAsOcf.d.ts +1 -3
  120. package/dist/functions/OpenCapTable/warrantExercise/getWarrantExerciseAsOcf.d.ts.map +1 -1
  121. package/dist/functions/OpenCapTable/warrantExercise/getWarrantExerciseAsOcf.js +0 -1
  122. package/dist/functions/OpenCapTable/warrantExercise/getWarrantExerciseAsOcf.js.map +1 -1
  123. package/dist/functions/OpenCapTable/warrantExercise/warrantExerciseDataToDaml.d.ts.map +1 -1
  124. package/dist/functions/OpenCapTable/warrantExercise/warrantExerciseDataToDaml.js +1 -2
  125. package/dist/functions/OpenCapTable/warrantExercise/warrantExerciseDataToDaml.js.map +1 -1
  126. package/dist/types/native.d.ts +92 -29
  127. package/dist/types/native.d.ts.map +1 -1
  128. package/dist/utils/cantonOcfExtractor.d.ts.map +1 -1
  129. package/dist/utils/cantonOcfExtractor.js +8 -3
  130. package/dist/utils/cantonOcfExtractor.js.map +1 -1
  131. package/dist/utils/index.d.ts +1 -0
  132. package/dist/utils/index.d.ts.map +1 -1
  133. package/dist/utils/index.js +1 -0
  134. package/dist/utils/index.js.map +1 -1
  135. package/dist/utils/ocfComparison.d.ts +1 -1
  136. package/dist/utils/ocfComparison.d.ts.map +1 -1
  137. package/dist/utils/ocfComparison.js +1 -0
  138. package/dist/utils/ocfComparison.js.map +1 -1
  139. package/dist/utils/ocfZodSchemas.d.ts +92 -0
  140. package/dist/utils/ocfZodSchemas.d.ts.map +1 -0
  141. package/dist/utils/ocfZodSchemas.js +444 -0
  142. package/dist/utils/ocfZodSchemas.js.map +1 -0
  143. package/dist/utils/planSecurityAliases.d.ts +22 -2
  144. package/dist/utils/planSecurityAliases.d.ts.map +1 -1
  145. package/dist/utils/planSecurityAliases.js +426 -5
  146. package/dist/utils/planSecurityAliases.js.map +1 -1
  147. package/dist/utils/replicationHelpers.d.ts.map +1 -1
  148. package/dist/utils/replicationHelpers.js +3 -0
  149. package/dist/utils/replicationHelpers.js.map +1 -1
  150. package/package.json +5 -4
@@ -0,0 +1,444 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.OCF_OBJECT_SCHEMA_PATHS = void 0;
7
+ exports.resolveOcfSchemaDir = resolveOcfSchemaDir;
8
+ exports.getOcfSchema = getOcfSchema;
9
+ exports.parseOcfObject = parseOcfObject;
10
+ exports.parseOcfEntityInput = parseOcfEntityInput;
11
+ exports.resetOcfSchemaRegistryForTests = resetOcfSchemaRegistryForTests;
12
+ const ajv_1 = __importDefault(require("ajv"));
13
+ const ajv_formats_1 = __importDefault(require("ajv-formats"));
14
+ const fs_1 = __importDefault(require("fs"));
15
+ const path_1 = __importDefault(require("path"));
16
+ const zod_1 = require("zod");
17
+ const errors_1 = require("../errors");
18
+ const planSecurityAliases_1 = require("./planSecurityAliases");
19
+ /**
20
+ * Canonical source-of-truth OCF object schema paths.
21
+ *
22
+ * Paths are relative to `<OCF_SCHEMA_DIR>/objects`.
23
+ * Source: https://github.com/Open-Cap-Table-Coalition/Open-Cap-Format-OCF/tree/main/schema
24
+ */
25
+ exports.OCF_OBJECT_SCHEMA_PATHS = {
26
+ // Core objects
27
+ ISSUER: 'Issuer.schema.json',
28
+ STAKEHOLDER: 'Stakeholder.schema.json',
29
+ STOCK_CLASS: 'StockClass.schema.json',
30
+ STOCK_LEGEND_TEMPLATE: 'StockLegendTemplate.schema.json',
31
+ STOCK_PLAN: 'StockPlan.schema.json',
32
+ VALUATION: 'Valuation.schema.json',
33
+ VESTING_TERMS: 'VestingTerms.schema.json',
34
+ FINANCING: 'Financing.schema.json',
35
+ DOCUMENT: 'Document.schema.json',
36
+ // Stakeholder change events
37
+ CE_STAKEHOLDER_RELATIONSHIP: 'transactions/change_event/StakeholderRelationshipChangeEvent.schema.json',
38
+ CE_STAKEHOLDER_STATUS: 'transactions/change_event/StakeholderStatusChangeEvent.schema.json',
39
+ // Adjustments
40
+ TX_ISSUER_AUTHORIZED_SHARES_ADJUSTMENT: 'transactions/adjustment/IssuerAuthorizedSharesAdjustment.schema.json',
41
+ TX_STOCK_CLASS_CONVERSION_RATIO_ADJUSTMENT: 'transactions/adjustment/StockClassConversionRatioAdjustment.schema.json',
42
+ TX_STOCK_CLASS_AUTHORIZED_SHARES_ADJUSTMENT: 'transactions/adjustment/StockClassAuthorizedSharesAdjustment.schema.json',
43
+ TX_STOCK_CLASS_SPLIT: 'transactions/split/StockClassSplit.schema.json',
44
+ TX_STOCK_PLAN_POOL_ADJUSTMENT: 'transactions/adjustment/StockPlanPoolAdjustment.schema.json',
45
+ TX_STOCK_PLAN_RETURN_TO_POOL: 'transactions/return_to_pool/StockPlanReturnToPool.schema.json',
46
+ // Convertibles
47
+ TX_CONVERTIBLE_ACCEPTANCE: 'transactions/acceptance/ConvertibleAcceptance.schema.json',
48
+ TX_CONVERTIBLE_CANCELLATION: 'transactions/cancellation/ConvertibleCancellation.schema.json',
49
+ TX_CONVERTIBLE_CONVERSION: 'transactions/conversion/ConvertibleConversion.schema.json',
50
+ TX_CONVERTIBLE_ISSUANCE: 'transactions/issuance/ConvertibleIssuance.schema.json',
51
+ TX_CONVERTIBLE_RETRACTION: 'transactions/retraction/ConvertibleRetraction.schema.json',
52
+ TX_CONVERTIBLE_TRANSFER: 'transactions/transfer/ConvertibleTransfer.schema.json',
53
+ // Equity compensation
54
+ TX_EQUITY_COMPENSATION_ACCEPTANCE: 'transactions/acceptance/EquityCompensationAcceptance.schema.json',
55
+ TX_EQUITY_COMPENSATION_CANCELLATION: 'transactions/cancellation/EquityCompensationCancellation.schema.json',
56
+ TX_EQUITY_COMPENSATION_EXERCISE: 'transactions/exercise/EquityCompensationExercise.schema.json',
57
+ TX_EQUITY_COMPENSATION_ISSUANCE: 'transactions/issuance/EquityCompensationIssuance.schema.json',
58
+ TX_EQUITY_COMPENSATION_RELEASE: 'transactions/release/EquityCompensationRelease.schema.json',
59
+ TX_EQUITY_COMPENSATION_RETRACTION: 'transactions/retraction/EquityCompensationRetraction.schema.json',
60
+ TX_EQUITY_COMPENSATION_TRANSFER: 'transactions/transfer/EquityCompensationTransfer.schema.json',
61
+ TX_EQUITY_COMPENSATION_REPRICING: 'transactions/repricing/EquityCompensationRepricing.schema.json',
62
+ // PlanSecurity compatibility wrappers
63
+ TX_PLAN_SECURITY_ACCEPTANCE: 'transactions/acceptance/PlanSecurityAcceptance.schema.json',
64
+ TX_PLAN_SECURITY_CANCELLATION: 'transactions/cancellation/PlanSecurityCancellation.schema.json',
65
+ TX_PLAN_SECURITY_EXERCISE: 'transactions/exercise/PlanSecurityExercise.schema.json',
66
+ TX_PLAN_SECURITY_ISSUANCE: 'transactions/issuance/PlanSecurityIssuance.schema.json',
67
+ TX_PLAN_SECURITY_RELEASE: 'transactions/release/PlanSecurityRelease.schema.json',
68
+ TX_PLAN_SECURITY_RETRACTION: 'transactions/retraction/PlanSecurityRetraction.schema.json',
69
+ TX_PLAN_SECURITY_TRANSFER: 'transactions/transfer/PlanSecurityTransfer.schema.json',
70
+ // Stock
71
+ TX_STOCK_ACCEPTANCE: 'transactions/acceptance/StockAcceptance.schema.json',
72
+ TX_STOCK_CANCELLATION: 'transactions/cancellation/StockCancellation.schema.json',
73
+ TX_STOCK_CONVERSION: 'transactions/conversion/StockConversion.schema.json',
74
+ TX_STOCK_ISSUANCE: 'transactions/issuance/StockIssuance.schema.json',
75
+ TX_STOCK_REISSUANCE: 'transactions/reissuance/StockReissuance.schema.json',
76
+ TX_STOCK_CONSOLIDATION: 'transactions/consolidation/StockConsolidation.schema.json',
77
+ TX_STOCK_REPURCHASE: 'transactions/repurchase/StockRepurchase.schema.json',
78
+ TX_STOCK_RETRACTION: 'transactions/retraction/StockRetraction.schema.json',
79
+ TX_STOCK_TRANSFER: 'transactions/transfer/StockTransfer.schema.json',
80
+ // Warrants
81
+ TX_WARRANT_ACCEPTANCE: 'transactions/acceptance/WarrantAcceptance.schema.json',
82
+ TX_WARRANT_CANCELLATION: 'transactions/cancellation/WarrantCancellation.schema.json',
83
+ TX_WARRANT_EXERCISE: 'transactions/exercise/WarrantExercise.schema.json',
84
+ TX_WARRANT_ISSUANCE: 'transactions/issuance/WarrantIssuance.schema.json',
85
+ TX_WARRANT_RETRACTION: 'transactions/retraction/WarrantRetraction.schema.json',
86
+ TX_WARRANT_TRANSFER: 'transactions/transfer/WarrantTransfer.schema.json',
87
+ // Vesting
88
+ TX_VESTING_ACCELERATION: 'transactions/vesting/VestingAcceleration.schema.json',
89
+ TX_VESTING_START: 'transactions/vesting/VestingStart.schema.json',
90
+ TX_VESTING_EVENT: 'transactions/vesting/VestingEvent.schema.json',
91
+ };
92
+ /**
93
+ * Legacy object_type aliases accepted as input and normalized to canonical schema keys.
94
+ */
95
+ const LEGACY_OBJECT_TYPE_ALIASES = {
96
+ TX_STAKEHOLDER_RELATIONSHIP_CHANGE_EVENT: 'CE_STAKEHOLDER_RELATIONSHIP',
97
+ TX_STAKEHOLDER_STATUS_CHANGE_EVENT: 'CE_STAKEHOLDER_STATUS',
98
+ };
99
+ /**
100
+ * Canonical object_type expected for each SDK entity type.
101
+ */
102
+ const ENTITY_TYPE_TO_OBJECT_TYPE = {
103
+ issuer: 'ISSUER',
104
+ stakeholder: 'STAKEHOLDER',
105
+ stockClass: 'STOCK_CLASS',
106
+ stockLegendTemplate: 'STOCK_LEGEND_TEMPLATE',
107
+ stockPlan: 'STOCK_PLAN',
108
+ vestingTerms: 'VESTING_TERMS',
109
+ valuation: 'VALUATION',
110
+ document: 'DOCUMENT',
111
+ stockIssuance: 'TX_STOCK_ISSUANCE',
112
+ stockCancellation: 'TX_STOCK_CANCELLATION',
113
+ stockTransfer: 'TX_STOCK_TRANSFER',
114
+ stockAcceptance: 'TX_STOCK_ACCEPTANCE',
115
+ stockConversion: 'TX_STOCK_CONVERSION',
116
+ stockRepurchase: 'TX_STOCK_REPURCHASE',
117
+ stockReissuance: 'TX_STOCK_REISSUANCE',
118
+ stockRetraction: 'TX_STOCK_RETRACTION',
119
+ stockConsolidation: 'TX_STOCK_CONSOLIDATION',
120
+ stockClassAuthorizedSharesAdjustment: 'TX_STOCK_CLASS_AUTHORIZED_SHARES_ADJUSTMENT',
121
+ stockClassConversionRatioAdjustment: 'TX_STOCK_CLASS_CONVERSION_RATIO_ADJUSTMENT',
122
+ stockClassSplit: 'TX_STOCK_CLASS_SPLIT',
123
+ issuerAuthorizedSharesAdjustment: 'TX_ISSUER_AUTHORIZED_SHARES_ADJUSTMENT',
124
+ stockPlanPoolAdjustment: 'TX_STOCK_PLAN_POOL_ADJUSTMENT',
125
+ stockPlanReturnToPool: 'TX_STOCK_PLAN_RETURN_TO_POOL',
126
+ convertibleIssuance: 'TX_CONVERTIBLE_ISSUANCE',
127
+ convertibleCancellation: 'TX_CONVERTIBLE_CANCELLATION',
128
+ convertibleTransfer: 'TX_CONVERTIBLE_TRANSFER',
129
+ convertibleAcceptance: 'TX_CONVERTIBLE_ACCEPTANCE',
130
+ convertibleConversion: 'TX_CONVERTIBLE_CONVERSION',
131
+ convertibleRetraction: 'TX_CONVERTIBLE_RETRACTION',
132
+ warrantIssuance: 'TX_WARRANT_ISSUANCE',
133
+ warrantCancellation: 'TX_WARRANT_CANCELLATION',
134
+ warrantTransfer: 'TX_WARRANT_TRANSFER',
135
+ warrantAcceptance: 'TX_WARRANT_ACCEPTANCE',
136
+ warrantExercise: 'TX_WARRANT_EXERCISE',
137
+ warrantRetraction: 'TX_WARRANT_RETRACTION',
138
+ equityCompensationIssuance: 'TX_EQUITY_COMPENSATION_ISSUANCE',
139
+ equityCompensationCancellation: 'TX_EQUITY_COMPENSATION_CANCELLATION',
140
+ equityCompensationTransfer: 'TX_EQUITY_COMPENSATION_TRANSFER',
141
+ equityCompensationAcceptance: 'TX_EQUITY_COMPENSATION_ACCEPTANCE',
142
+ equityCompensationExercise: 'TX_EQUITY_COMPENSATION_EXERCISE',
143
+ equityCompensationRelease: 'TX_EQUITY_COMPENSATION_RELEASE',
144
+ equityCompensationRetraction: 'TX_EQUITY_COMPENSATION_RETRACTION',
145
+ equityCompensationRepricing: 'TX_EQUITY_COMPENSATION_REPRICING',
146
+ // PlanSecurity aliases canonicalize to equity compensation
147
+ planSecurityIssuance: 'TX_EQUITY_COMPENSATION_ISSUANCE',
148
+ planSecurityCancellation: 'TX_EQUITY_COMPENSATION_CANCELLATION',
149
+ planSecurityTransfer: 'TX_EQUITY_COMPENSATION_TRANSFER',
150
+ planSecurityAcceptance: 'TX_EQUITY_COMPENSATION_ACCEPTANCE',
151
+ planSecurityExercise: 'TX_EQUITY_COMPENSATION_EXERCISE',
152
+ planSecurityRelease: 'TX_EQUITY_COMPENSATION_RELEASE',
153
+ planSecurityRetraction: 'TX_EQUITY_COMPENSATION_RETRACTION',
154
+ vestingAcceleration: 'TX_VESTING_ACCELERATION',
155
+ vestingEvent: 'TX_VESTING_EVENT',
156
+ vestingStart: 'TX_VESTING_START',
157
+ stakeholderRelationshipChangeEvent: 'CE_STAKEHOLDER_RELATIONSHIP',
158
+ stakeholderStatusChangeEvent: 'CE_STAKEHOLDER_STATUS',
159
+ // Included in object schemas though not currently modeled as SDK entity operations
160
+ // (kept here only to satisfy totality of Record<OcfEntityType,...>)
161
+ };
162
+ const OBJECTS_DIR_RELATIVE_PATH = 'objects';
163
+ const SCHEMA_FILE_SUFFIX = '.schema.json';
164
+ let cachedAjv = null;
165
+ let cachedSchemaRootDir = null;
166
+ const validatorCache = new Map();
167
+ const zodSchemaCache = new Map();
168
+ /**
169
+ * Resolve the local OCF schema directory.
170
+ */
171
+ function resolveOcfSchemaDir() {
172
+ const candidates = [
173
+ process.env.OCP_OCF_SCHEMA_DIR,
174
+ path_1.default.resolve(__dirname, '../../libs/Open-Cap-Format-OCF/schema'),
175
+ path_1.default.resolve(__dirname, '../../Open-Cap-Format-OCF/schema'),
176
+ ].filter((candidate) => typeof candidate === 'string' && candidate.length > 0);
177
+ for (const candidate of candidates) {
178
+ const objectsDir = path_1.default.join(candidate, OBJECTS_DIR_RELATIVE_PATH);
179
+ if (fs_1.default.existsSync(objectsDir)) {
180
+ return candidate;
181
+ }
182
+ }
183
+ throw new errors_1.OcpValidationError('ocfSchemaDir', `OCF schema directory not found. Set OCP_OCF_SCHEMA_DIR or initialize submodule with ` +
184
+ `"git submodule update --init --recursive libs/Open-Cap-Format-OCF".`, {
185
+ code: errors_1.OcpErrorCodes.REQUIRED_FIELD_MISSING,
186
+ expectedType: 'existing directory containing schema/objects/*.schema.json',
187
+ receivedValue: candidates,
188
+ });
189
+ }
190
+ function listSchemaFilesRecursively(directory) {
191
+ const results = [];
192
+ const entries = fs_1.default.readdirSync(directory, { withFileTypes: true });
193
+ for (const entry of entries) {
194
+ const fullPath = path_1.default.join(directory, entry.name);
195
+ if (entry.isDirectory()) {
196
+ results.push(...listSchemaFilesRecursively(fullPath));
197
+ }
198
+ else if (entry.isFile() && entry.name.endsWith(SCHEMA_FILE_SUFFIX)) {
199
+ results.push(fullPath);
200
+ }
201
+ }
202
+ return results;
203
+ }
204
+ function readJsonFile(filePath) {
205
+ const content = fs_1.default.readFileSync(filePath, 'utf8');
206
+ const parsed = JSON.parse(content);
207
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
208
+ throw new errors_1.OcpValidationError('schemaFile', `Schema file is not a JSON object: ${filePath}`, {
209
+ code: errors_1.OcpErrorCodes.INVALID_FORMAT,
210
+ receivedValue: parsed,
211
+ });
212
+ }
213
+ return parsed;
214
+ }
215
+ function ensureAjvInitialized() {
216
+ if (cachedAjv && cachedSchemaRootDir) {
217
+ return { ajv: cachedAjv, schemaRootDir: cachedSchemaRootDir };
218
+ }
219
+ const schemaRootDir = resolveOcfSchemaDir();
220
+ const ajv = new ajv_1.default({
221
+ allErrors: true,
222
+ strict: false,
223
+ validateFormats: true,
224
+ });
225
+ (0, ajv_formats_1.default)(ajv);
226
+ const schemaFiles = listSchemaFilesRecursively(schemaRootDir);
227
+ for (const schemaFile of schemaFiles) {
228
+ const schema = readJsonFile(schemaFile);
229
+ const schemaId = schema.$id;
230
+ if (typeof schemaId === 'string' && schemaId.length > 0) {
231
+ ajv.addSchema(schema, schemaId);
232
+ }
233
+ }
234
+ cachedAjv = ajv;
235
+ cachedSchemaRootDir = schemaRootDir;
236
+ return { ajv, schemaRootDir };
237
+ }
238
+ function resolveSchemaObjectType(objectType) {
239
+ if (Object.prototype.hasOwnProperty.call(exports.OCF_OBJECT_SCHEMA_PATHS, objectType)) {
240
+ return objectType;
241
+ }
242
+ const alias = LEGACY_OBJECT_TYPE_ALIASES[objectType];
243
+ if (alias) {
244
+ return alias;
245
+ }
246
+ throw new errors_1.OcpValidationError('object_type', `Unsupported OCF object_type: ${objectType}`, {
247
+ code: errors_1.OcpErrorCodes.UNKNOWN_ENUM_VALUE,
248
+ expectedType: Object.keys(exports.OCF_OBJECT_SCHEMA_PATHS).join(' | '),
249
+ receivedValue: objectType,
250
+ });
251
+ }
252
+ function getAjvValidator(objectType) {
253
+ const cached = validatorCache.get(objectType);
254
+ if (cached) {
255
+ return cached;
256
+ }
257
+ const { ajv, schemaRootDir } = ensureAjvInitialized();
258
+ const relativeSchemaPath = exports.OCF_OBJECT_SCHEMA_PATHS[objectType];
259
+ const schemaPath = path_1.default.join(schemaRootDir, OBJECTS_DIR_RELATIVE_PATH, relativeSchemaPath);
260
+ if (!fs_1.default.existsSync(schemaPath)) {
261
+ throw new errors_1.OcpValidationError('schemaPath', `Schema file not found for object_type ${objectType}`, {
262
+ code: errors_1.OcpErrorCodes.REQUIRED_FIELD_MISSING,
263
+ receivedValue: schemaPath,
264
+ });
265
+ }
266
+ const schema = readJsonFile(schemaPath);
267
+ const schemaId = schema.$id;
268
+ let validator;
269
+ if (typeof schemaId === 'string' && schemaId.length > 0) {
270
+ validator = ajv.getSchema(schemaId);
271
+ }
272
+ validator ?? (validator = ajv.compile(schema));
273
+ validatorCache.set(objectType, validator);
274
+ return validator;
275
+ }
276
+ function jsonPointerToPath(pointer) {
277
+ if (!pointer || pointer === '/')
278
+ return [];
279
+ return pointer
280
+ .split('/')
281
+ .filter((segment) => segment.length > 0)
282
+ .map((segment) => decodeURIComponent(segment))
283
+ .map((segment) => (/^\d+$/.test(segment) ? Number(segment) : segment));
284
+ }
285
+ function ajvErrorToPath(error) {
286
+ const pathFromPointer = jsonPointerToPath(error.instancePath);
287
+ if (error.keyword === 'required' && 'missingProperty' in error.params) {
288
+ const { missingProperty } = error.params;
289
+ if (typeof missingProperty === 'string' && missingProperty.length > 0) {
290
+ return [...pathFromPointer, missingProperty];
291
+ }
292
+ }
293
+ return pathFromPointer;
294
+ }
295
+ function formatAjvError(error) {
296
+ const instancePath = error.instancePath && error.instancePath.length > 0 ? error.instancePath : '/';
297
+ const message = error.message ?? 'schema validation failed';
298
+ const params = JSON.stringify(error.params);
299
+ return `${instancePath}: ${message} ${params}`;
300
+ }
301
+ function convertZodErrorToValidationError(error, contextField) {
302
+ if (error.issues.length === 0) {
303
+ return new errors_1.OcpValidationError(contextField, 'OCF schema validation failed', {
304
+ code: errors_1.OcpErrorCodes.INVALID_FORMAT,
305
+ receivedValue: error.issues,
306
+ });
307
+ }
308
+ const firstIssue = error.issues[0];
309
+ const firstIssuePath = firstIssue.path.join('.');
310
+ const issuePath = firstIssuePath.length > 0 ? firstIssuePath : contextField;
311
+ const issueMessage = error.issues
312
+ .map((issue) => {
313
+ const issuePathValue = issue.path.join('.');
314
+ const formattedIssuePath = issuePathValue.length > 0 ? issuePathValue : contextField;
315
+ return `[${formattedIssuePath}] ${issue.message}`;
316
+ })
317
+ .join('; ');
318
+ const finalIssueMessage = issueMessage.length > 0 ? issueMessage : 'OCF schema validation failed';
319
+ return new errors_1.OcpValidationError(issuePath, finalIssueMessage, {
320
+ code: errors_1.OcpErrorCodes.INVALID_FORMAT,
321
+ receivedValue: error.issues,
322
+ });
323
+ }
324
+ function createSchemaForObjectType(objectType) {
325
+ const validator = getAjvValidator(objectType);
326
+ return zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).superRefine((value, ctx) => {
327
+ const valid = validator(value);
328
+ if (valid)
329
+ return;
330
+ const errors = validator.errors ?? [];
331
+ for (const error of errors) {
332
+ ctx.addIssue({
333
+ code: 'custom',
334
+ path: ajvErrorToPath(error),
335
+ message: formatAjvError(error),
336
+ });
337
+ }
338
+ });
339
+ }
340
+ /**
341
+ * Get strict Zod schema for an OCF object type.
342
+ */
343
+ function getOcfSchema(objectType) {
344
+ const resolvedObjectType = resolveSchemaObjectType(objectType);
345
+ const cached = zodSchemaCache.get(resolvedObjectType);
346
+ if (cached) {
347
+ return cached;
348
+ }
349
+ const schema = createSchemaForObjectType(resolvedObjectType);
350
+ zodSchemaCache.set(resolvedObjectType, schema);
351
+ return schema;
352
+ }
353
+ function isRecord(value) {
354
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
355
+ }
356
+ function isParsedEntityType(value, expectedObjectType) {
357
+ return value.object_type === expectedObjectType;
358
+ }
359
+ /**
360
+ * Parse and validate an arbitrary OCF JSON object.
361
+ *
362
+ * Deprecated/legacy aliases are normalized to canonical latest forms prior to strict validation.
363
+ */
364
+ function parseOcfObject(input) {
365
+ if (!isRecord(input)) {
366
+ throw new errors_1.OcpValidationError('ocfObject', 'Expected a JSON object', {
367
+ code: errors_1.OcpErrorCodes.INVALID_TYPE,
368
+ expectedType: 'Record<string, unknown>',
369
+ receivedValue: input,
370
+ });
371
+ }
372
+ let normalized;
373
+ try {
374
+ normalized = (0, planSecurityAliases_1.normalizeOcfData)(input);
375
+ }
376
+ catch (error) {
377
+ if (error instanceof errors_1.OcpValidationError) {
378
+ throw error;
379
+ }
380
+ const message = error instanceof Error ? error.message : 'Failed to normalize OCF data';
381
+ throw new errors_1.OcpValidationError('ocfObject', message, {
382
+ code: errors_1.OcpErrorCodes.INVALID_FORMAT,
383
+ receivedValue: input,
384
+ });
385
+ }
386
+ const objectType = normalized.object_type;
387
+ if (typeof objectType !== 'string' || objectType.length === 0) {
388
+ throw new errors_1.OcpValidationError('object_type', 'Required field is missing or invalid', {
389
+ code: errors_1.OcpErrorCodes.REQUIRED_FIELD_MISSING,
390
+ expectedType: 'string',
391
+ receivedValue: objectType,
392
+ });
393
+ }
394
+ const schema = getOcfSchema(objectType);
395
+ try {
396
+ return schema.parse(normalized);
397
+ }
398
+ catch (error) {
399
+ if (error instanceof zod_1.ZodError) {
400
+ throw convertZodErrorToValidationError(error, 'ocfObject');
401
+ }
402
+ throw error;
403
+ }
404
+ }
405
+ /**
406
+ * Parse and validate OCF input for a specific SDK entity type.
407
+ *
408
+ * If object_type is missing, the canonical object_type for the entity is injected before validation.
409
+ */
410
+ function parseOcfEntityInput(entityType, input) {
411
+ if (!isRecord(input)) {
412
+ throw new errors_1.OcpValidationError(`${entityType}`, 'Expected a JSON object', {
413
+ code: errors_1.OcpErrorCodes.INVALID_TYPE,
414
+ expectedType: 'Record<string, unknown>',
415
+ receivedValue: input,
416
+ });
417
+ }
418
+ const expectedObjectType = ENTITY_TYPE_TO_OBJECT_TYPE[entityType];
419
+ const objectInput = input;
420
+ const withObjectType = typeof objectInput.object_type === 'string' && objectInput.object_type.length > 0
421
+ ? objectInput
422
+ : { ...objectInput, object_type: expectedObjectType };
423
+ const parsed = parseOcfObject(withObjectType);
424
+ if (!isParsedEntityType(parsed, expectedObjectType)) {
425
+ const receivedObjectType = parsed.object_type;
426
+ const receivedObjectTypeMessage = typeof receivedObjectType === 'string' ? receivedObjectType : JSON.stringify(receivedObjectType);
427
+ throw new errors_1.OcpValidationError('object_type', `Entity type "${entityType}" expects object_type "${expectedObjectType}", received "${receivedObjectTypeMessage}"`, {
428
+ code: errors_1.OcpErrorCodes.INVALID_FORMAT,
429
+ expectedType: expectedObjectType,
430
+ receivedValue: receivedObjectType,
431
+ });
432
+ }
433
+ return parsed;
434
+ }
435
+ /**
436
+ * Clear schema caches (test utility).
437
+ */
438
+ function resetOcfSchemaRegistryForTests() {
439
+ cachedAjv = null;
440
+ cachedSchemaRootDir = null;
441
+ validatorCache.clear();
442
+ zodSchemaCache.clear();
443
+ }
444
+ //# sourceMappingURL=ocfZodSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocfZodSchemas.js","sourceRoot":"","sources":["../../src/utils/ocfZodSchemas.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,22 @@ export declare const PLAN_SECURITY_OBJECT_TYPE_MAP: {
33
33
  readonly TX_PLAN_SECURITY_RETRACTION: "TX_EQUITY_COMPENSATION_RETRACTION";
34
34
  readonly TX_PLAN_SECURITY_TRANSFER: "TX_EQUITY_COMPENSATION_TRANSFER";
35
35
  };
36
+ /**
37
+ * Legacy object_type aliases from older OCF event naming.
38
+ *
39
+ * Canonical OCF v2 names:
40
+ * - CE_STAKEHOLDER_RELATIONSHIP
41
+ * - CE_STAKEHOLDER_STATUS
42
+ */
43
+ export declare const LEGACY_OBJECT_TYPE_MAP: {
44
+ readonly TX_STAKEHOLDER_RELATIONSHIP_CHANGE_EVENT: "CE_STAKEHOLDER_RELATIONSHIP";
45
+ readonly TX_STAKEHOLDER_STATUS_CHANGE_EVENT: "CE_STAKEHOLDER_STATUS";
46
+ };
36
47
  /** PlanSecurity entity type string union */
37
48
  export type PlanSecurityEntityType = keyof typeof PLAN_SECURITY_TO_EQUITY_COMPENSATION_MAP;
38
49
  /** PlanSecurity object_type string union */
39
50
  export type PlanSecurityObjectType = keyof typeof PLAN_SECURITY_OBJECT_TYPE_MAP;
51
+ export type LegacyObjectType = keyof typeof LEGACY_OBJECT_TYPE_MAP;
40
52
  /**
41
53
  * Check if an entity type is a PlanSecurity alias.
42
54
  *
@@ -51,6 +63,10 @@ export declare function isPlanSecurityEntityType(type: string): type is PlanSecu
51
63
  * @returns True if the object_type is a PlanSecurity alias
52
64
  */
53
65
  export declare function isPlanSecurityObjectType(objectType: string): objectType is PlanSecurityObjectType;
66
+ /**
67
+ * Check if an object_type is a legacy alias.
68
+ */
69
+ export declare function isLegacyObjectType(objectType: string): objectType is LegacyObjectType;
54
70
  /**
55
71
  * Normalize a PlanSecurity entity type to its EquityCompensation equivalent.
56
72
  *
@@ -88,8 +104,12 @@ export declare function normalizeObjectType<T extends string>(objectType: T): st
88
104
  * 1. Converts PlanSecurity object_type to EquityCompensation equivalent
89
105
  * 2. Normalizes quantity_source based on quantity presence (see normalizeQuantitySource)
90
106
  * 3. Strips Document fields that the DAML contract does not model (e.g. `date`)
91
- * 4. Canonicalizes Stakeholder relationships (`current_relationship` -> `current_relationships`)
92
- * 5. Canonicalizes StockPlan class IDs (`stock_class_id` -> `stock_class_ids`)
107
+ * 4. Canonicalizes deprecated issuance aliases (`plan_security_type`/`option_grant_type`)
108
+ * 5. Canonicalizes Stakeholder relationships (`current_relationship` -> `current_relationships`)
109
+ * 6. Canonicalizes StockPlan class IDs (`stock_class_id` -> `stock_class_ids`)
110
+ * 7. Canonicalizes StockConversion quantity (`quantity` -> `quantity_converted`)
111
+ * 8. Canonicalizes StockClassSplit legacy ratio fields
112
+ * 9. Canonicalizes StockClassConversionRatioAdjustment legacy ratio fields
93
113
  *
94
114
  * @param data - The OCF data object that may contain an object_type field
95
115
  * @returns The data with normalized fields (shallow copy if modified)
@@ -1 +1 @@
1
- {"version":3,"file":"planSecurityAliases.d.ts","sourceRoot":"","sources":["../../src/utils/planSecurityAliases.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,eAAO,MAAM,wCAAwC;;;;;;;;CAQ3C,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;CAQhC,CAAC;AAEX,4CAA4C;AAC5C,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,wCAAwC,CAAC;AAE3F,4CAA4C;AAC5C,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,6BAA6B,CAAC;AAEhF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,sBAAsB,CAErF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB,CAEjG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAKrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,CAK3E;AA+LD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAuB9E"}
1
+ {"version":3,"file":"planSecurityAliases.d.ts","sourceRoot":"","sources":["../../src/utils/planSecurityAliases.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,eAAO,MAAM,wCAAwC;;;;;;;;CAQ3C,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;CAQhC,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,4CAA4C;AAC5C,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,wCAAwC,CAAC;AAE3F,4CAA4C;AAC5C,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,6BAA6B,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,sBAAsB,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,sBAAsB,CAErF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,sBAAsB,CAEjG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,IAAI,gBAAgB,CAErF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAKrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,MAAM,CAQ3E;AAmpBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAiD9E"}