@pdtf/schemas 3.6.0-dev.3 → 3.6.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/charming-napier-57a77c/LICENSE +21 -0
  2. package/charming-napier-57a77c/README.md +430 -0
  3. package/charming-napier-57a77c/docs/sef25-extensions-ui-spec.md +355 -0
  4. package/charming-napier-57a77c/index.js +654 -0
  5. package/charming-napier-57a77c/package-lock.json +7297 -0
  6. package/charming-napier-57a77c/package.json +41 -0
  7. package/charming-napier-57a77c/src/examples/v1/exampleAddParticipantVouch.json +32 -0
  8. package/charming-napier-57a77c/src/examples/v1/exampleDocumentedVouch.json +40 -0
  9. package/charming-napier-57a77c/src/examples/v1/exampleElectronicRecord.json +30 -0
  10. package/charming-napier-57a77c/src/examples/v1/exampleTransaction.json +878 -0
  11. package/charming-napier-57a77c/src/examples/v1/exampleVouch.json +25 -0
  12. package/charming-napier-57a77c/src/examples/v2/exampleTransaction.json +901 -0
  13. package/charming-napier-57a77c/src/examples/v3/exampleAddParticipantVouch.json +38 -0
  14. package/charming-napier-57a77c/src/examples/v3/exampleCustomOverlay.json +55 -0
  15. package/charming-napier-57a77c/src/examples/v3/exampleCustomOverlay2.json +93 -0
  16. package/charming-napier-57a77c/src/examples/v3/exampleDocumentedVouch.json +47 -0
  17. package/charming-napier-57a77c/src/examples/v3/exampleElectronicRecord.json +36 -0
  18. package/charming-napier-57a77c/src/examples/v3/exampleTransaction.json +1038 -0
  19. package/charming-napier-57a77c/src/examples/v3/exampleVouch.json +32 -0
  20. package/charming-napier-57a77c/src/mappings/SendPropertyDetailsRequestSchema.json +1588 -0
  21. package/charming-napier-57a77c/src/mappings/adf.js +198 -0
  22. package/charming-napier-57a77c/src/schemas/v1/GeoJSON.json +1279 -0
  23. package/charming-napier-57a77c/src/schemas/v1/baspiNotes.html +102 -0
  24. package/charming-napier-57a77c/src/schemas/v1/energy-performance-certificate.json +124 -0
  25. package/charming-napier-57a77c/src/schemas/v1/freehold-information.json +2051 -0
  26. package/charming-napier-57a77c/src/schemas/v1/leasehold-information.json +2064 -0
  27. package/charming-napier-57a77c/src/schemas/v1/legal-information.json +1045 -0
  28. package/charming-napier-57a77c/src/schemas/v1/material-facts.json +2109 -0
  29. package/charming-napier-57a77c/src/schemas/v1/pdtf-transaction-search-results.json +40 -0
  30. package/charming-napier-57a77c/src/schemas/v1/pdtf-transaction.json +191 -0
  31. package/charming-napier-57a77c/src/schemas/v1/searches/drainage-and-water.json +261 -0
  32. package/charming-napier-57a77c/src/schemas/v1/searches/local-land-charges.json +69 -0
  33. package/charming-napier-57a77c/src/schemas/v1/searches/local-searches-required.json +857 -0
  34. package/charming-napier-57a77c/src/schemas/v1/searches.json +237 -0
  35. package/charming-napier-57a77c/src/schemas/v1/title-deed.json +841 -0
  36. package/charming-napier-57a77c/src/schemas/v2/baspiNotes.html +102 -0
  37. package/charming-napier-57a77c/src/schemas/v2/combined.json +37731 -0
  38. package/charming-napier-57a77c/src/schemas/v2/overlays/baspi.json +8132 -0
  39. package/charming-napier-57a77c/src/schemas/v2/overlays/con29DW.json +705 -0
  40. package/charming-napier-57a77c/src/schemas/v2/overlays/con29R.json +2956 -0
  41. package/charming-napier-57a77c/src/schemas/v2/overlays/fme1.json +1259 -0
  42. package/charming-napier-57a77c/src/schemas/v2/overlays/llc1.json +25 -0
  43. package/charming-napier-57a77c/src/schemas/v2/overlays/lpe1.json +2171 -0
  44. package/charming-napier-57a77c/src/schemas/v2/overlays/nts.json +326 -0
  45. package/charming-napier-57a77c/src/schemas/v2/overlays/oc1.json +2799 -0
  46. package/charming-napier-57a77c/src/schemas/v2/overlays/piq.json +3419 -0
  47. package/charming-napier-57a77c/src/schemas/v2/overlays/rds.json +3736 -0
  48. package/charming-napier-57a77c/src/schemas/v2/overlays/ta10.json +5306 -0
  49. package/charming-napier-57a77c/src/schemas/v2/overlays/ta6.json +4533 -0
  50. package/charming-napier-57a77c/src/schemas/v2/overlays/ta7.json +1045 -0
  51. package/charming-napier-57a77c/src/schemas/v2/pdtf-transaction.json +34351 -0
  52. package/charming-napier-57a77c/src/schemas/v2/skeleton.json +3973 -0
  53. package/charming-napier-57a77c/src/schemas/v3/combined.json +48153 -0
  54. package/charming-napier-57a77c/src/schemas/v3/compactSkeleton.txt +4457 -0
  55. package/charming-napier-57a77c/src/schemas/v3/overlays/README.md +299 -0
  56. package/charming-napier-57a77c/src/schemas/v3/overlays/baspi4.json +8027 -0
  57. package/charming-napier-57a77c/src/schemas/v3/overlays/baspi5.json +8177 -0
  58. package/charming-napier-57a77c/src/schemas/v3/overlays/con29DW.json +716 -0
  59. package/charming-napier-57a77c/src/schemas/v3/overlays/con29R.json +2981 -0
  60. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ac.json +333 -0
  61. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/as.json +74 -0
  62. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/dk.json +32 -0
  63. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/dr.json +73 -0
  64. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/er.json +85 -0
  65. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/fd.json +75 -0
  66. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/hi.json +51 -0
  67. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/hs.json +73 -0
  68. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ic.json +59 -0
  69. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/jk.json +96 -0
  70. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/la.json +85 -0
  71. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/lc.json +75 -0
  72. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ma.json +90 -0
  73. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/mc.json +38 -0
  74. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/mi.json +69 -0
  75. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/nd.json +43 -0
  76. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/oa.json +24 -0
  77. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/oc.json +57 -0
  78. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/pc.json +37 -0
  79. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ph.json +194 -0
  80. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/rw.json +68 -0
  81. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sb.json +73 -0
  82. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sc.json +129 -0
  83. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sd.json +63 -0
  84. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sf.json +74 -0
  85. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/sl.json +68 -0
  86. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/ta.json +240 -0
  87. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/tf.json +103 -0
  88. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/tr.json +73 -0
  89. package/charming-napier-57a77c/src/schemas/v3/overlays/extensions/wg.json +350 -0
  90. package/charming-napier-57a77c/src/schemas/v3/overlays/fme1.json +1266 -0
  91. package/charming-napier-57a77c/src/schemas/v3/overlays/llc1.json +25 -0
  92. package/charming-napier-57a77c/src/schemas/v3/overlays/lpe1.json +2199 -0
  93. package/charming-napier-57a77c/src/schemas/v3/overlays/nts.json +2157 -0
  94. package/charming-napier-57a77c/src/schemas/v3/overlays/nts2.json +2742 -0
  95. package/charming-napier-57a77c/src/schemas/v3/overlays/ntsl.json +1813 -0
  96. package/charming-napier-57a77c/src/schemas/v3/overlays/ntsl2.json +2217 -0
  97. package/charming-napier-57a77c/src/schemas/v3/overlays/oc1.json +2817 -0
  98. package/charming-napier-57a77c/src/schemas/v3/overlays/piq.json +3321 -0
  99. package/charming-napier-57a77c/src/schemas/v3/overlays/rds.json +3665 -0
  100. package/charming-napier-57a77c/src/schemas/v3/overlays/sef25.json +1639 -0
  101. package/charming-napier-57a77c/src/schemas/v3/overlays/sr24.json +38 -0
  102. package/charming-napier-57a77c/src/schemas/v3/overlays/ta10.json +4654 -0
  103. package/charming-napier-57a77c/src/schemas/v3/overlays/ta6.json +4568 -0
  104. package/charming-napier-57a77c/src/schemas/v3/overlays/ta6ed6.json +6537 -0
  105. package/charming-napier-57a77c/src/schemas/v3/overlays/ta7.json +1537 -0
  106. package/charming-napier-57a77c/src/schemas/v3/overlays/ta7ed5.json +1551 -0
  107. package/charming-napier-57a77c/src/schemas/v3/pdtf-transaction.json +41229 -0
  108. package/charming-napier-57a77c/src/schemas/v3/skeleton.json +5703 -0
  109. package/charming-napier-57a77c/src/schemas/verifiedClaims/README.md +21 -0
  110. package/charming-napier-57a77c/src/schemas/verifiedClaims/pdtf-verified-claims.json +447 -0
  111. package/charming-napier-57a77c/src/tests/v3/buyerCircumstances.test.js +543 -0
  112. package/charming-napier-57a77c/src/tests/v3/caching.test.js +591 -0
  113. package/charming-napier-57a77c/src/tests/v3/enquiries.test.js +1096 -0
  114. package/charming-napier-57a77c/src/tests/v3/extensionOverlays.test.js +1599 -0
  115. package/charming-napier-57a77c/src/tests/v3/offers.test.js +823 -0
  116. package/charming-napier-57a77c/src/tests/v3/patternProperties.test.js +688 -0
  117. package/charming-napier-57a77c/src/tests/v3/ta6ed6.test.js +2374 -0
  118. package/charming-napier-57a77c/src/tests/v3/ta7ed5.test.js +600 -0
  119. package/charming-napier-57a77c/src/tests/v3/transactionSchema.test.js +646 -0
  120. package/charming-napier-57a77c/src/tests/v3/verifiedClaimsValidator.test.js +195 -0
  121. package/charming-napier-57a77c/src/utils/compactSkeleton.js +84 -0
  122. package/charming-napier-57a77c/src/utils/countTokens.js +67 -0
  123. package/charming-napier-57a77c/src/utils/extractExtensionOverlays.js +624 -0
  124. package/charming-napier-57a77c/src/utils/extractOverlay.js +381 -0
  125. package/charming-napier-57a77c/src/utils/extractProperties.js +44 -0
  126. package/charming-napier-57a77c/src/utils/listPathTitles.js +36 -0
  127. package/charming-napier-57a77c/src/utils/minimalSkeleton.js +85 -0
  128. package/charming-napier-57a77c/src/utils/pathList.csv +903 -0
  129. package/charming-napier-57a77c/src/utils/pathSkeleton.js +181 -0
  130. package/keen-dewdney-6ae15b/LICENSE +21 -0
  131. package/keen-dewdney-6ae15b/README.md +334 -0
  132. package/keen-dewdney-6ae15b/index.js +557 -0
  133. package/keen-dewdney-6ae15b/package-lock.json +7296 -0
  134. package/keen-dewdney-6ae15b/package.json +39 -0
  135. package/keen-dewdney-6ae15b/src/examples/v1/exampleAddParticipantVouch.json +32 -0
  136. package/keen-dewdney-6ae15b/src/examples/v1/exampleDocumentedVouch.json +40 -0
  137. package/keen-dewdney-6ae15b/src/examples/v1/exampleElectronicRecord.json +30 -0
  138. package/keen-dewdney-6ae15b/src/examples/v1/exampleTransaction.json +878 -0
  139. package/keen-dewdney-6ae15b/src/examples/v1/exampleVouch.json +25 -0
  140. package/keen-dewdney-6ae15b/src/examples/v2/exampleTransaction.json +901 -0
  141. package/keen-dewdney-6ae15b/src/examples/v3/exampleAddParticipantVouch.json +35 -0
  142. package/keen-dewdney-6ae15b/src/examples/v3/exampleCustomOverlay.json +55 -0
  143. package/keen-dewdney-6ae15b/src/examples/v3/exampleCustomOverlay2.json +93 -0
  144. package/keen-dewdney-6ae15b/src/examples/v3/exampleDocumentedVouch.json +44 -0
  145. package/keen-dewdney-6ae15b/src/examples/v3/exampleElectronicRecord.json +33 -0
  146. package/keen-dewdney-6ae15b/src/examples/v3/exampleTransaction.json +1034 -0
  147. package/keen-dewdney-6ae15b/src/examples/v3/exampleVouch.json +29 -0
  148. package/keen-dewdney-6ae15b/src/mappings/SendPropertyDetailsRequestSchema.json +1588 -0
  149. package/keen-dewdney-6ae15b/src/mappings/adf.js +198 -0
  150. package/keen-dewdney-6ae15b/src/schemas/v1/GeoJSON.json +1279 -0
  151. package/keen-dewdney-6ae15b/src/schemas/v1/baspiNotes.html +102 -0
  152. package/keen-dewdney-6ae15b/src/schemas/v1/energy-performance-certificate.json +124 -0
  153. package/keen-dewdney-6ae15b/src/schemas/v1/freehold-information.json +2051 -0
  154. package/keen-dewdney-6ae15b/src/schemas/v1/leasehold-information.json +2064 -0
  155. package/keen-dewdney-6ae15b/src/schemas/v1/legal-information.json +1045 -0
  156. package/keen-dewdney-6ae15b/src/schemas/v1/material-facts.json +2109 -0
  157. package/keen-dewdney-6ae15b/src/schemas/v1/pdtf-transaction-search-results.json +40 -0
  158. package/keen-dewdney-6ae15b/src/schemas/v1/pdtf-transaction.json +191 -0
  159. package/keen-dewdney-6ae15b/src/schemas/v1/searches/drainage-and-water.json +261 -0
  160. package/keen-dewdney-6ae15b/src/schemas/v1/searches/local-land-charges.json +69 -0
  161. package/keen-dewdney-6ae15b/src/schemas/v1/searches/local-searches-required.json +857 -0
  162. package/keen-dewdney-6ae15b/src/schemas/v1/searches.json +237 -0
  163. package/keen-dewdney-6ae15b/src/schemas/v1/title-deed.json +841 -0
  164. package/keen-dewdney-6ae15b/src/schemas/v2/baspiNotes.html +102 -0
  165. package/keen-dewdney-6ae15b/src/schemas/v2/combined.json +37731 -0
  166. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/baspi.json +8132 -0
  167. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/con29DW.json +705 -0
  168. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/con29R.json +2956 -0
  169. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/fme1.json +1259 -0
  170. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/llc1.json +25 -0
  171. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/lpe1.json +2171 -0
  172. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/nts.json +326 -0
  173. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/oc1.json +2799 -0
  174. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/piq.json +3419 -0
  175. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/rds.json +3736 -0
  176. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/ta10.json +5306 -0
  177. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/ta6.json +4533 -0
  178. package/keen-dewdney-6ae15b/src/schemas/v2/overlays/ta7.json +1045 -0
  179. package/keen-dewdney-6ae15b/src/schemas/v2/pdtf-transaction.json +34351 -0
  180. package/keen-dewdney-6ae15b/src/schemas/v2/skeleton.json +3973 -0
  181. package/keen-dewdney-6ae15b/src/schemas/v3/combined.json +41720 -0
  182. package/keen-dewdney-6ae15b/src/schemas/v3/compactSkeleton.txt +3325 -0
  183. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/README.md +299 -0
  184. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/baspi4.json +7872 -0
  185. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/baspi5.json +8019 -0
  186. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/con29DW.json +716 -0
  187. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/con29R.json +2981 -0
  188. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/as.json +72 -0
  189. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/dr.json +73 -0
  190. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/er.json +83 -0
  191. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/fd.json +72 -0
  192. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/hi.json +48 -0
  193. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/hs.json +71 -0
  194. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/jk.json +76 -0
  195. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/la.json +83 -0
  196. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/ma.json +87 -0
  197. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/mc.json +36 -0
  198. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/oa.json +22 -0
  199. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/oc.json +55 -0
  200. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/sb.json +71 -0
  201. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/sf.json +72 -0
  202. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/sl.json +66 -0
  203. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/extensions/tf.json +100 -0
  204. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/fme1.json +1264 -0
  205. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/llc1.json +25 -0
  206. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/lpe1.json +2226 -0
  207. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/nts.json +2090 -0
  208. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/nts2.json +2678 -0
  209. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ntsl.json +1746 -0
  210. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ntsl2.json +2153 -0
  211. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/oc1.json +2817 -0
  212. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/piq.json +3276 -0
  213. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/rds.json +3552 -0
  214. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/sr24.json +38 -0
  215. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ta10.json +4642 -0
  216. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ta6.json +4501 -0
  217. package/keen-dewdney-6ae15b/src/schemas/v3/overlays/ta7.json +1435 -0
  218. package/keen-dewdney-6ae15b/src/schemas/v3/pdtf-transaction.json +37225 -0
  219. package/keen-dewdney-6ae15b/src/schemas/v3/skeleton.json +4323 -0
  220. package/keen-dewdney-6ae15b/src/schemas/verifiedClaims/README.md +12 -0
  221. package/keen-dewdney-6ae15b/src/schemas/verifiedClaims/pdtf-verified-claims.json +431 -0
  222. package/keen-dewdney-6ae15b/src/tests/v3/caching.test.js +591 -0
  223. package/keen-dewdney-6ae15b/src/tests/v3/extensionOverlays.test.js +525 -0
  224. package/keen-dewdney-6ae15b/src/tests/v3/transactionSchema.test.js +574 -0
  225. package/keen-dewdney-6ae15b/src/tests/v3/verifiedClaimsValidator.test.js +128 -0
  226. package/keen-dewdney-6ae15b/src/utils/compactSkeleton.js +84 -0
  227. package/keen-dewdney-6ae15b/src/utils/countTokens.js +67 -0
  228. package/keen-dewdney-6ae15b/src/utils/extractExtensionOverlays.js +362 -0
  229. package/keen-dewdney-6ae15b/src/utils/extractOverlay.js +290 -0
  230. package/keen-dewdney-6ae15b/src/utils/extractProperties.js +44 -0
  231. package/keen-dewdney-6ae15b/src/utils/listPathTitles.js +36 -0
  232. package/keen-dewdney-6ae15b/src/utils/minimalSkeleton.js +85 -0
  233. package/keen-dewdney-6ae15b/src/utils/pathList.csv +903 -0
  234. package/keen-dewdney-6ae15b/src/utils/pathSkeleton.js +181 -0
  235. package/package.json +1 -1
  236. package/src/schemas/v3/combined.json +8 -15
  237. package/src/schemas/v3/overlays/baspi4.json +12 -7
  238. package/src/schemas/v3/overlays/baspi5.json +12 -7
  239. package/src/schemas/v3/overlays/extensions/ac.json +2 -1
  240. package/src/schemas/v3/overlays/extensions/dk.json +3 -2
  241. package/src/schemas/v3/overlays/extensions/ic.json +2 -1
  242. package/src/schemas/v3/overlays/extensions/lc.json +3 -2
  243. package/src/schemas/v3/overlays/extensions/mi.json +2 -1
  244. package/src/schemas/v3/overlays/extensions/nd.json +3 -2
  245. package/src/schemas/v3/overlays/extensions/pc.json +3 -2
  246. package/src/schemas/v3/overlays/extensions/ph.json +2 -1
  247. package/src/schemas/v3/overlays/extensions/rw.json +4 -3
  248. package/src/schemas/v3/overlays/extensions/sc.json +8 -4
  249. package/src/schemas/v3/overlays/extensions/sd.json +3 -2
  250. package/src/schemas/v3/overlays/extensions/tr.json +3 -2
  251. package/src/schemas/v3/overlays/extensions/wg.json +2 -1
  252. package/src/schemas/v3/overlays/lpe1.json +1 -1
  253. package/src/schemas/v3/overlays/nts.json +3 -1
  254. package/src/schemas/v3/overlays/nts2.json +3 -1
  255. package/src/schemas/v3/overlays/ntsl.json +3 -1
  256. package/src/schemas/v3/overlays/ntsl2.json +3 -1
  257. package/src/schemas/v3/overlays/piq.json +7 -5
  258. package/src/schemas/v3/overlays/rds.json +9 -6
  259. package/src/schemas/v3/overlays/ta10.json +0 -9
  260. package/src/schemas/v3/overlays/ta6.json +8 -4
  261. package/src/schemas/v3/overlays/ta6ed6.json +4 -2
  262. package/src/schemas/v3/pdtf-transaction.json +15 -18
  263. package/src/utils/extractExtensionOverlays.js +10 -1
@@ -0,0 +1,290 @@
1
+ const { dereference } = require("@jdw/jst");
2
+ const traverse = require("traverse");
3
+ const jp = require("jsonpointer");
4
+ const fs = require("fs");
5
+ const merge = require("deepmerge");
6
+
7
+ const combinedSchema = require("../schemas/v3/combined.json");
8
+
9
+ const extractFields = [
10
+ "baspi4",
11
+ "baspi5",
12
+ "nts",
13
+ "nts2",
14
+ "ntsl",
15
+ "ntsl2",
16
+ "ta6",
17
+ "ta7",
18
+ "ta10",
19
+ "lpe1",
20
+ "fme1",
21
+ "piq",
22
+ "con29R",
23
+ "con29DW",
24
+ "llc1",
25
+ "rds",
26
+ "oc1",
27
+ "sr24",
28
+ ];
29
+
30
+ const flattenSkeleton = (schema) => {
31
+ if (!schema) return undefined;
32
+
33
+ // Handle arrays - mark with special notation
34
+ if (schema.type === "array" && schema.items) {
35
+ const itemSchema = flattenSkeleton(schema.items);
36
+ // Use array notation to indicate this is an array
37
+ return [itemSchema];
38
+ }
39
+
40
+ // Handle primitives - return type indicator
41
+ if (schema.type && !schema.properties && !schema.oneOf && !schema.items) {
42
+ // Return a type indicator for primitive types
43
+ if (schema.type === "string") return "string";
44
+ if (schema.type === "number") return "number";
45
+ if (schema.type === "integer") return "integer";
46
+ if (schema.type === "boolean") return "boolean";
47
+ if (schema.type === "null") return "null";
48
+ }
49
+
50
+ let returnStructure = {};
51
+
52
+ // Handle object properties
53
+ if (schema.properties) {
54
+ Object.keys(schema.properties).forEach((key) => {
55
+ returnStructure[key] = flattenSkeleton(schema.properties[key]);
56
+ });
57
+ }
58
+
59
+ // Handle oneOf - merge all possible properties
60
+ if (schema.oneOf) {
61
+ schema.oneOf.forEach((aOneOf) => {
62
+ if (aOneOf.properties) {
63
+ Object.entries(aOneOf.properties).forEach(([key, value]) => {
64
+ // If property already exists and differs, mark as variant
65
+ const newValue = flattenSkeleton(value);
66
+ if (returnStructure[key] && JSON.stringify(returnStructure[key]) !== JSON.stringify(newValue)) {
67
+ // For primitive types, just mark as variant type
68
+ if (typeof returnStructure[key] === "string" || typeof newValue === "string") {
69
+ returnStructure[key] = "variant";
70
+ } else {
71
+ // For complex types, merge properties
72
+ returnStructure[key] = { ...returnStructure[key], ...newValue, _variants: true };
73
+ }
74
+ } else {
75
+ returnStructure[key] = newValue;
76
+ }
77
+ });
78
+ }
79
+ });
80
+ }
81
+
82
+ // Return empty object for objects without properties
83
+ return Object.keys(returnStructure).length > 0 ? returnStructure : {};
84
+ };
85
+
86
+ const extractOverlay = (sourceSchema, ref) => {
87
+ const refName = `${ref}Ref`;
88
+ const returnSchema = {
89
+ $schema: "http://json-schema.org/draft-07/schema#",
90
+ $id: `https://trust.propdata.org.uk/schemas/v3/overlays/${ref}.json`,
91
+ };
92
+ traverse(sourceSchema).forEach(function (element) {
93
+ let path = "/" + this.path.join("/");
94
+ if (path === "/") path = "";
95
+ if (element[refName]) {
96
+ jp.set(returnSchema, `${path}/${refName}`, element[refName]);
97
+
98
+ if (element.discriminator) {
99
+ jp.set(returnSchema, `${path}/discriminator`, element.discriminator);
100
+ const { propertyName } = element.discriminator;
101
+ element.oneOf.forEach((oneOf, index) => {
102
+ const discriminatorProperty = oneOf.properties[propertyName];
103
+ // must be an enum
104
+ const discriminatorEnumPath = `${path}/oneOf/${index}/properties/${propertyName}/enum`;
105
+ // if a refEnum use that
106
+ const refEnum = `${ref}Enum`;
107
+ if (discriminatorProperty[refEnum]) {
108
+ jp.set(
109
+ returnSchema,
110
+ discriminatorEnumPath,
111
+ discriminatorProperty[refEnum]
112
+ );
113
+ } else {
114
+ // use the base enum
115
+ jp.set(
116
+ returnSchema,
117
+ discriminatorEnumPath,
118
+ discriminatorProperty.enum
119
+ );
120
+ }
121
+ });
122
+ }
123
+
124
+ // also handle discriminator properties nested in items
125
+ if (element.items?.discriminator) {
126
+ jp.set(
127
+ returnSchema,
128
+ `${path}/items/discriminator`,
129
+ element.items.discriminator
130
+ );
131
+ const { propertyName } = element.items.discriminator;
132
+ element.items.oneOf.forEach((oneOf, index) => {
133
+ const discriminatorProperty = oneOf.properties[propertyName];
134
+ // must be an enum
135
+ const discriminatorEnumPath = `${path}/items/oneOf/${index}/properties/${propertyName}/enum`;
136
+ // if a refEnum use that
137
+ const refEnum = `${ref}Enum`;
138
+ if (discriminatorProperty[refEnum]) {
139
+ jp.set(
140
+ returnSchema,
141
+ discriminatorEnumPath,
142
+ discriminatorProperty[refEnum]
143
+ );
144
+ } else {
145
+ // use the base enum
146
+ jp.set(
147
+ returnSchema,
148
+ discriminatorEnumPath,
149
+ discriminatorProperty.enum
150
+ );
151
+ }
152
+ });
153
+ }
154
+ }
155
+
156
+ const refRequired = `${ref}Required`;
157
+ if (element[refRequired]) {
158
+ jp.set(returnSchema, `${path}/required`, element[refRequired]);
159
+ }
160
+
161
+ const refTitle = `${ref}Title`;
162
+ if (element[refTitle]) {
163
+ jp.set(returnSchema, `${path}/title`, element[refTitle]);
164
+ }
165
+
166
+ const refDescription = `${ref}Description`;
167
+ if (element[refDescription]) {
168
+ jp.set(returnSchema, `${path}/description`, element[refDescription]);
169
+ }
170
+
171
+ const refEnum = `${ref}Enum`;
172
+ if (element[refEnum]) {
173
+ jp.set(returnSchema, `${path}/enum`, element[refEnum]);
174
+ }
175
+ });
176
+ return returnSchema;
177
+ };
178
+
179
+ const deleteProperties = (sourceSchema, propertyNames) => {
180
+ traverse(sourceSchema).forEach(function (element) {
181
+ if (propertyNames.includes(this.key)) {
182
+ this.delete(true); // true = stop here
183
+ }
184
+ });
185
+ return sourceSchema;
186
+ };
187
+
188
+ const overlays = {};
189
+
190
+ extractFields.forEach((key) => {
191
+ let overlay = extractOverlay(combinedSchema, key);
192
+ overlays[key] = overlay;
193
+ const fileName = `../schemas/v3/overlays/${key}.json`;
194
+ fs.writeFileSync(fileName, JSON.stringify(overlay, null, 2));
195
+ console.log(`Overlay ${key} written to ${fileName}`);
196
+ });
197
+
198
+ const coreSchema = deleteProperties(combinedSchema, [
199
+ "discriminator",
200
+ ...extractFields.map((item) => `${item}Ref`),
201
+ ...extractFields.map((item) => `${item}Required`),
202
+ ...extractFields.map((item) => `${item}Title`),
203
+ ...extractFields.map((item) => `${item}Enum`),
204
+ ]);
205
+
206
+ fs.writeFileSync(
207
+ "../schemas/v3/pdtf-transaction.json",
208
+ JSON.stringify(coreSchema, null, 2)
209
+ );
210
+ console.log("Core schema written to ../schemas/v3/pdtf-transaction.json");
211
+
212
+ const skeletonSchema = deleteProperties(coreSchema, [
213
+ "$schema",
214
+ "$id",
215
+ "title",
216
+ "description",
217
+ "required",
218
+ "enum",
219
+ "minItems",
220
+ "minLength",
221
+ "format",
222
+ "minimum",
223
+ "maximum",
224
+ ]);
225
+
226
+ const skeletonSchemaFlattened = flattenSkeleton(skeletonSchema);
227
+
228
+ fs.writeFileSync(
229
+ "../schemas/v3/skeleton.json",
230
+ JSON.stringify(skeletonSchemaFlattened, null, 2)
231
+ );
232
+ console.log("Flat Skeleton schema written to ../schemas/v3/skeleton.json");
233
+
234
+ // Generate compact skeleton format for better token efficiency
235
+ const toCompact = (obj, indent = "") => {
236
+ if (typeof obj === "string") {
237
+ // Skip type indicators entirely
238
+ return "";
239
+ }
240
+
241
+ if (Array.isArray(obj)) {
242
+ if (obj.length === 0) return "[]";
243
+ // Array with content
244
+ const inner = toCompact(obj[0], indent);
245
+ if (inner === "") {
246
+ return "[]"; // Array of primitives
247
+ }
248
+ return `[\n${inner}\n${indent}]`;
249
+ }
250
+
251
+ if (obj && typeof obj === "object") {
252
+ const keys = Object.keys(obj);
253
+ if (keys.length === 0) return "";
254
+
255
+ // Process each key
256
+ const lines = [];
257
+ keys.forEach(k => {
258
+ const val = toCompact(obj[k], indent + " ");
259
+
260
+ if (val === "") {
261
+ // Leaf node - just show the property name
262
+ lines.push(`${indent} ${k}`);
263
+ } else if (val === "[]") {
264
+ // Array property
265
+ lines.push(`${indent} ${k}[]`);
266
+ } else if (val.startsWith("[")) {
267
+ // Array with nested content - simple concatenation
268
+ lines.push(`${indent} ${k}${val}`);
269
+ } else {
270
+ // Object property - show name on its own line, content below
271
+ lines.push(`${indent} ${k}`);
272
+ lines.push(val);
273
+ }
274
+ });
275
+
276
+ return lines.length > 0 ? lines.join("\n") : "";
277
+ }
278
+
279
+ return "";
280
+ };
281
+
282
+ // Since toCompact returns lines without wrapping braces, add them for the root
283
+ const innerContent = toCompact(skeletonSchemaFlattened, "");
284
+ const compactSkeleton = innerContent ? innerContent : "";
285
+
286
+ fs.writeFileSync(
287
+ "../schemas/v3/compactSkeleton.txt",
288
+ compactSkeleton
289
+ );
290
+ console.log("Compact Skeleton written to ../schemas/v3/compactSkeleton.txt");
@@ -0,0 +1,44 @@
1
+ const { dereference } = require("@jdw/jst");
2
+ const traverse = require("traverse");
3
+ const jp = require("jsonpointer");
4
+ const fs = require("fs");
5
+ const merge = require("deepmerge");
6
+
7
+ const combinedSchema = require("../schemas/v2/combined.json");
8
+
9
+ const overlay = "baspiUI";
10
+ const keys = [
11
+ "isDependent",
12
+ "component",
13
+ "htmlClass",
14
+ "addButtonLabelFirst",
15
+ "addButtonLabelSubsequent",
16
+ ];
17
+
18
+ const returnSchema = {
19
+ $schema: "http://json-schema.org/draft-07/schema#",
20
+ $id: `https://trust.propdata.org.uk/schemas/v2/overlays/${overlay}.json`,
21
+ };
22
+
23
+ traverse(combinedSchema).forEach(function (element) {
24
+ let path = "/" + this.path.join("/");
25
+ if (path === "/") path = "";
26
+ if (keys.includes(this.key)) {
27
+ jp.set(returnSchema, path, element);
28
+ }
29
+ });
30
+
31
+ const fileName = `../schemas/v2/overlays/${overlay}.json`;
32
+ fs.writeFileSync(fileName, JSON.stringify(returnSchema, null, 2));
33
+ console.log(`Overlay ${overlay} written to ${overlay}`);
34
+
35
+ traverse(combinedSchema).forEach(function (element) {
36
+ if (keys.includes(this.key)) {
37
+ this.delete(true); // true = stop here
38
+ }
39
+ });
40
+
41
+ fs.writeFileSync(
42
+ "../schemas/v2/combined.json",
43
+ JSON.stringify(combinedSchema, null, 2)
44
+ );
@@ -0,0 +1,36 @@
1
+ const traverse = require("traverse");
2
+ const fs = require("fs");
3
+
4
+ const combinedSchema = require("../schemas/v3/combined.json");
5
+
6
+ const includeFields = [
7
+ "ntsRef",
8
+ "nts-sefRef",
9
+ "ntslRef",
10
+ "ta6Ref",
11
+ "ta7Ref",
12
+ "ta10Ref",
13
+ ];
14
+
15
+ let pathCsv = "";
16
+
17
+ traverse(combinedSchema).forEach(function (element) {
18
+ let path = "/" + this.path.join("/");
19
+ if (path === "/") path = "";
20
+ if (includeFields.some((field) => element[field]) && element.title) {
21
+ const filteredPath = path
22
+ .split("/")
23
+ .filter(
24
+ (segment) =>
25
+ segment !== "properties" &&
26
+ segment !== "oneOf" &&
27
+ segment !== "items" &&
28
+ isNaN(segment)
29
+ )
30
+ .join("/");
31
+ const line = `"/${filteredPath}", "${element.title}"\n`;
32
+ pathCsv += line;
33
+ }
34
+ });
35
+
36
+ fs.writeFileSync("./pathList.csv", pathCsv);
@@ -0,0 +1,85 @@
1
+ const fs = require("fs");
2
+
3
+ // Read the current skeleton
4
+ const skeleton = require("../schemas/v3/skeleton.json");
5
+
6
+ // Ultra-minimal format: use indentation only, no brackets
7
+ const toMinimal = (obj, prefix = "", isArrayItem = false) => {
8
+ const lines = [];
9
+
10
+ if (typeof obj === "string") {
11
+ // Type indicators - single letter
12
+ const typeMap = {
13
+ "string": "s",
14
+ "number": "n",
15
+ "integer": "i",
16
+ "boolean": "b",
17
+ "variant": "v"
18
+ };
19
+ return typeMap[obj] || obj;
20
+ }
21
+
22
+ if (Array.isArray(obj)) {
23
+ lines.push(prefix + "[]");
24
+ if (obj.length > 0) {
25
+ const itemLines = toMinimal(obj[0], prefix + " ", true);
26
+ lines.push(...(Array.isArray(itemLines) ? itemLines : [itemLines]));
27
+ }
28
+ return lines;
29
+ }
30
+
31
+ if (obj && typeof obj === "object") {
32
+ const keys = Object.keys(obj);
33
+ if (keys.length === 0) {
34
+ return prefix + "{}";
35
+ }
36
+
37
+ keys.forEach((key, index) => {
38
+ const val = obj[key];
39
+ const keyPrefix = prefix + key;
40
+
41
+ if (typeof val === "string") {
42
+ const type = toMinimal(val);
43
+ lines.push(keyPrefix + ":" + type);
44
+ } else if (Array.isArray(val)) {
45
+ const arrLines = toMinimal(val, keyPrefix);
46
+ lines.push(...arrLines);
47
+ } else if (val && typeof val === "object" && Object.keys(val).length > 0) {
48
+ lines.push(keyPrefix);
49
+ const subLines = toMinimal(val, prefix + " ");
50
+ lines.push(...(Array.isArray(subLines) ? subLines : [subLines]));
51
+ } else {
52
+ lines.push(keyPrefix);
53
+ }
54
+ });
55
+
56
+ return lines;
57
+ }
58
+
59
+ return prefix + String(obj);
60
+ };
61
+
62
+ // Generate minimal version
63
+ const minimalLines = toMinimal(skeleton);
64
+ const minimal = minimalLines.join("\n");
65
+
66
+ // Write minimal version
67
+ fs.writeFileSync("../schemas/v3/minimalSkeleton.txt", minimal);
68
+
69
+ console.log("Minimal skeleton written to ../schemas/v3/minimalSkeleton.txt");
70
+ console.log(`Size: ${minimal.length} bytes`);
71
+ console.log(`Lines: ${minimalLines.length}`);
72
+
73
+ // Count tokens
74
+ try {
75
+ const GPT3Encoder = require('gpt-3-encoder');
76
+ const encoded = GPT3Encoder.encode(minimal);
77
+ console.log(`Tokens (GPT-3): ${encoded.length}`);
78
+ console.log(`Reduction: ${((1 - encoded.length / 78734) * 100).toFixed(1)}% fewer tokens than JSON skeleton`);
79
+
80
+ // Show sample
81
+ console.log("\nFirst 20 lines:");
82
+ console.log(minimalLines.slice(0, 20).join("\n"));
83
+ } catch (e) {
84
+ console.log(`Estimated tokens: ~${Math.ceil(minimal.length / 4)}`);
85
+ }