@flaks/onerecord 0.2.0 → 0.3.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.
Files changed (275) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/MIGRATING.md +114 -0
  3. package/README.md +42 -34
  4. package/dist/classes/account-number/schema.d.ts +2 -7
  5. package/dist/classes/account-number/schema.d.ts.map +1 -1
  6. package/dist/classes/account-number/schema.js +7 -4
  7. package/dist/classes/account-number/schema.js.map +1 -1
  8. package/dist/classes/co2-emissions/codec.d.ts +4 -0
  9. package/dist/classes/co2-emissions/codec.d.ts.map +1 -0
  10. package/dist/classes/co2-emissions/codec.js +11 -0
  11. package/dist/classes/co2-emissions/codec.js.map +1 -0
  12. package/dist/classes/co2-emissions/deserialize.d.ts +5 -0
  13. package/dist/classes/co2-emissions/deserialize.d.ts.map +1 -0
  14. package/dist/classes/co2-emissions/deserialize.js +64 -0
  15. package/dist/classes/co2-emissions/deserialize.js.map +1 -0
  16. package/dist/classes/co2-emissions/index.d.ts +6 -0
  17. package/dist/classes/co2-emissions/index.d.ts.map +1 -0
  18. package/dist/classes/co2-emissions/index.js +5 -0
  19. package/dist/classes/co2-emissions/index.js.map +1 -0
  20. package/dist/classes/co2-emissions/schema.d.ts +18 -0
  21. package/dist/classes/co2-emissions/schema.d.ts.map +1 -0
  22. package/dist/classes/co2-emissions/schema.js +12 -0
  23. package/dist/classes/co2-emissions/schema.js.map +1 -0
  24. package/dist/classes/co2-emissions/serialize.d.ts +6 -0
  25. package/dist/classes/co2-emissions/serialize.d.ts.map +1 -0
  26. package/dist/classes/co2-emissions/serialize.js +28 -0
  27. package/dist/classes/co2-emissions/serialize.js.map +1 -0
  28. package/dist/classes/company/codec.d.ts +4 -0
  29. package/dist/classes/company/codec.d.ts.map +1 -0
  30. package/dist/classes/company/codec.js +11 -0
  31. package/dist/classes/company/codec.js.map +1 -0
  32. package/dist/classes/company/deserialize.d.ts +5 -0
  33. package/dist/classes/company/deserialize.d.ts.map +1 -0
  34. package/dist/classes/company/deserialize.js +64 -0
  35. package/dist/classes/company/deserialize.js.map +1 -0
  36. package/dist/classes/company/index.d.ts +6 -0
  37. package/dist/classes/company/index.d.ts.map +1 -0
  38. package/dist/classes/company/index.js +5 -0
  39. package/dist/classes/company/index.js.map +1 -0
  40. package/dist/classes/company/schema.d.ts +23 -0
  41. package/dist/classes/company/schema.d.ts.map +1 -0
  42. package/dist/classes/company/schema.js +23 -0
  43. package/dist/classes/company/schema.js.map +1 -0
  44. package/dist/classes/company/serialize.d.ts +6 -0
  45. package/dist/classes/company/serialize.d.ts.map +1 -0
  46. package/dist/classes/company/serialize.js +28 -0
  47. package/dist/classes/company/serialize.js.map +1 -0
  48. package/dist/classes/customs-information/codec.d.ts +4 -0
  49. package/dist/classes/customs-information/codec.d.ts.map +1 -0
  50. package/dist/classes/customs-information/codec.js +11 -0
  51. package/dist/classes/customs-information/codec.js.map +1 -0
  52. package/dist/classes/customs-information/deserialize.d.ts +5 -0
  53. package/dist/classes/customs-information/deserialize.d.ts.map +1 -0
  54. package/dist/classes/customs-information/deserialize.js +64 -0
  55. package/dist/classes/customs-information/deserialize.js.map +1 -0
  56. package/dist/classes/customs-information/index.d.ts +6 -0
  57. package/dist/classes/customs-information/index.d.ts.map +1 -0
  58. package/dist/classes/customs-information/index.js +5 -0
  59. package/dist/classes/customs-information/index.js.map +1 -0
  60. package/dist/classes/customs-information/schema.d.ts +18 -0
  61. package/dist/classes/customs-information/schema.d.ts.map +1 -0
  62. package/dist/classes/customs-information/schema.js +17 -0
  63. package/dist/classes/customs-information/schema.js.map +1 -0
  64. package/dist/classes/customs-information/serialize.d.ts +6 -0
  65. package/dist/classes/customs-information/serialize.d.ts.map +1 -0
  66. package/dist/classes/customs-information/serialize.js +28 -0
  67. package/dist/classes/customs-information/serialize.js.map +1 -0
  68. package/dist/classes/insurance/codec.d.ts +4 -0
  69. package/dist/classes/insurance/codec.d.ts.map +1 -0
  70. package/dist/classes/insurance/codec.js +11 -0
  71. package/dist/classes/insurance/codec.js.map +1 -0
  72. package/dist/classes/insurance/deserialize.d.ts +5 -0
  73. package/dist/classes/insurance/deserialize.d.ts.map +1 -0
  74. package/dist/classes/insurance/deserialize.js +64 -0
  75. package/dist/classes/insurance/deserialize.js.map +1 -0
  76. package/dist/classes/insurance/index.d.ts +6 -0
  77. package/dist/classes/insurance/index.d.ts.map +1 -0
  78. package/dist/classes/insurance/index.js +5 -0
  79. package/dist/classes/insurance/index.js.map +1 -0
  80. package/dist/classes/insurance/schema.d.ts +17 -0
  81. package/dist/classes/insurance/schema.d.ts.map +1 -0
  82. package/dist/classes/insurance/schema.js +11 -0
  83. package/dist/classes/insurance/schema.js.map +1 -0
  84. package/dist/classes/insurance/serialize.d.ts +6 -0
  85. package/dist/classes/insurance/serialize.d.ts.map +1 -0
  86. package/dist/classes/insurance/serialize.js +28 -0
  87. package/dist/classes/insurance/serialize.js.map +1 -0
  88. package/dist/classes/line-item-package/codec.d.ts +4 -0
  89. package/dist/classes/line-item-package/codec.d.ts.map +1 -0
  90. package/dist/classes/line-item-package/codec.js +11 -0
  91. package/dist/classes/line-item-package/codec.js.map +1 -0
  92. package/dist/classes/line-item-package/deserialize.d.ts +5 -0
  93. package/dist/classes/line-item-package/deserialize.d.ts.map +1 -0
  94. package/dist/classes/line-item-package/deserialize.js +64 -0
  95. package/dist/classes/line-item-package/deserialize.js.map +1 -0
  96. package/dist/classes/line-item-package/index.d.ts +6 -0
  97. package/dist/classes/line-item-package/index.d.ts.map +1 -0
  98. package/dist/classes/line-item-package/index.js +5 -0
  99. package/dist/classes/line-item-package/index.js.map +1 -0
  100. package/dist/classes/line-item-package/schema.d.ts +22 -0
  101. package/dist/classes/line-item-package/schema.d.ts.map +1 -0
  102. package/dist/classes/line-item-package/schema.js +12 -0
  103. package/dist/classes/line-item-package/schema.js.map +1 -0
  104. package/dist/classes/line-item-package/serialize.d.ts +6 -0
  105. package/dist/classes/line-item-package/serialize.d.ts.map +1 -0
  106. package/dist/classes/line-item-package/serialize.js +28 -0
  107. package/dist/classes/line-item-package/serialize.js.map +1 -0
  108. package/dist/classes/other-charge/codec.d.ts +4 -0
  109. package/dist/classes/other-charge/codec.d.ts.map +1 -0
  110. package/dist/classes/other-charge/codec.js +11 -0
  111. package/dist/classes/other-charge/codec.js.map +1 -0
  112. package/dist/classes/other-charge/deserialize.d.ts +5 -0
  113. package/dist/classes/other-charge/deserialize.d.ts.map +1 -0
  114. package/dist/classes/other-charge/deserialize.js +64 -0
  115. package/dist/classes/other-charge/deserialize.js.map +1 -0
  116. package/dist/classes/other-charge/index.d.ts +6 -0
  117. package/dist/classes/other-charge/index.d.ts.map +1 -0
  118. package/dist/classes/other-charge/index.js +5 -0
  119. package/dist/classes/other-charge/index.js.map +1 -0
  120. package/dist/classes/other-charge/schema.d.ts +27 -0
  121. package/dist/classes/other-charge/schema.d.ts.map +1 -0
  122. package/dist/classes/other-charge/schema.js +14 -0
  123. package/dist/classes/other-charge/schema.js.map +1 -0
  124. package/dist/classes/other-charge/serialize.d.ts +6 -0
  125. package/dist/classes/other-charge/serialize.d.ts.map +1 -0
  126. package/dist/classes/other-charge/serialize.js +28 -0
  127. package/dist/classes/other-charge/serialize.js.map +1 -0
  128. package/dist/classes/party/schema.d.ts +9 -1
  129. package/dist/classes/party/schema.d.ts.map +1 -1
  130. package/dist/classes/party/schema.js +5 -2
  131. package/dist/classes/party/schema.js.map +1 -1
  132. package/dist/classes/piece/schema.d.ts +11 -0
  133. package/dist/classes/piece/schema.d.ts.map +1 -1
  134. package/dist/classes/piece/schema.js +10 -0
  135. package/dist/classes/piece/schema.js.map +1 -1
  136. package/dist/classes/regulated-entity/codec.d.ts +4 -0
  137. package/dist/classes/regulated-entity/codec.d.ts.map +1 -0
  138. package/dist/classes/regulated-entity/codec.js +11 -0
  139. package/dist/classes/regulated-entity/codec.js.map +1 -0
  140. package/dist/classes/regulated-entity/deserialize.d.ts +5 -0
  141. package/dist/classes/regulated-entity/deserialize.d.ts.map +1 -0
  142. package/dist/classes/regulated-entity/deserialize.js +64 -0
  143. package/dist/classes/regulated-entity/deserialize.js.map +1 -0
  144. package/dist/classes/regulated-entity/index.d.ts +6 -0
  145. package/dist/classes/regulated-entity/index.d.ts.map +1 -0
  146. package/dist/classes/regulated-entity/index.js +5 -0
  147. package/dist/classes/regulated-entity/index.js.map +1 -0
  148. package/dist/classes/regulated-entity/schema.d.ts +19 -0
  149. package/dist/classes/regulated-entity/schema.d.ts.map +1 -0
  150. package/dist/classes/regulated-entity/schema.js +12 -0
  151. package/dist/classes/regulated-entity/schema.js.map +1 -0
  152. package/dist/classes/regulated-entity/serialize.d.ts +6 -0
  153. package/dist/classes/regulated-entity/serialize.d.ts.map +1 -0
  154. package/dist/classes/regulated-entity/serialize.js +28 -0
  155. package/dist/classes/regulated-entity/serialize.js.map +1 -0
  156. package/dist/classes/security-declaration/codec.d.ts +4 -0
  157. package/dist/classes/security-declaration/codec.d.ts.map +1 -0
  158. package/dist/classes/security-declaration/codec.js +11 -0
  159. package/dist/classes/security-declaration/codec.js.map +1 -0
  160. package/dist/classes/security-declaration/deserialize.d.ts +5 -0
  161. package/dist/classes/security-declaration/deserialize.d.ts.map +1 -0
  162. package/dist/classes/security-declaration/deserialize.js +64 -0
  163. package/dist/classes/security-declaration/deserialize.js.map +1 -0
  164. package/dist/classes/security-declaration/index.d.ts +6 -0
  165. package/dist/classes/security-declaration/index.d.ts.map +1 -0
  166. package/dist/classes/security-declaration/index.js +5 -0
  167. package/dist/classes/security-declaration/index.js.map +1 -0
  168. package/dist/classes/security-declaration/schema.d.ts +44 -0
  169. package/dist/classes/security-declaration/schema.d.ts.map +1 -0
  170. package/dist/classes/security-declaration/schema.js +21 -0
  171. package/dist/classes/security-declaration/schema.js.map +1 -0
  172. package/dist/classes/security-declaration/serialize.d.ts +6 -0
  173. package/dist/classes/security-declaration/serialize.d.ts.map +1 -0
  174. package/dist/classes/security-declaration/serialize.js +28 -0
  175. package/dist/classes/security-declaration/serialize.js.map +1 -0
  176. package/dist/classes/shared/value.d.ts +44 -0
  177. package/dist/classes/shared/value.d.ts.map +1 -0
  178. package/dist/classes/shared/value.js +39 -0
  179. package/dist/classes/shared/value.js.map +1 -0
  180. package/dist/classes/shipment/schema.d.ts +31 -8
  181. package/dist/classes/shipment/schema.d.ts.map +1 -1
  182. package/dist/classes/shipment/schema.js +15 -5
  183. package/dist/classes/shipment/schema.js.map +1 -1
  184. package/dist/classes/transport-movement/schema.d.ts +22 -0
  185. package/dist/classes/transport-movement/schema.d.ts.map +1 -1
  186. package/dist/classes/transport-movement/schema.js +7 -0
  187. package/dist/classes/transport-movement/schema.js.map +1 -1
  188. package/dist/classes/uld/codec.d.ts +4 -0
  189. package/dist/classes/uld/codec.d.ts.map +1 -0
  190. package/dist/classes/uld/codec.js +11 -0
  191. package/dist/classes/uld/codec.js.map +1 -0
  192. package/dist/classes/uld/deserialize.d.ts +5 -0
  193. package/dist/classes/uld/deserialize.d.ts.map +1 -0
  194. package/dist/classes/uld/deserialize.js +64 -0
  195. package/dist/classes/uld/deserialize.js.map +1 -0
  196. package/dist/classes/uld/index.d.ts +6 -0
  197. package/dist/classes/uld/index.d.ts.map +1 -0
  198. package/dist/classes/uld/index.js +5 -0
  199. package/dist/classes/uld/index.js.map +1 -0
  200. package/dist/classes/uld/schema.d.ts +31 -0
  201. package/dist/classes/uld/schema.d.ts.map +1 -0
  202. package/dist/classes/uld/schema.js +29 -0
  203. package/dist/classes/uld/schema.js.map +1 -0
  204. package/dist/classes/uld/serialize.d.ts +6 -0
  205. package/dist/classes/uld/serialize.d.ts.map +1 -0
  206. package/dist/classes/uld/serialize.js +28 -0
  207. package/dist/classes/uld/serialize.js.map +1 -0
  208. package/dist/classes/waybill/schema.d.ts +45 -5
  209. package/dist/classes/waybill/schema.d.ts.map +1 -1
  210. package/dist/classes/waybill/schema.js +28 -7
  211. package/dist/classes/waybill/schema.js.map +1 -1
  212. package/dist/classes/waybill-line-item/codec.d.ts +4 -0
  213. package/dist/classes/waybill-line-item/codec.d.ts.map +1 -0
  214. package/dist/classes/waybill-line-item/codec.js +11 -0
  215. package/dist/classes/waybill-line-item/codec.js.map +1 -0
  216. package/dist/classes/waybill-line-item/deserialize.d.ts +5 -0
  217. package/dist/classes/waybill-line-item/deserialize.d.ts.map +1 -0
  218. package/dist/classes/waybill-line-item/deserialize.js +64 -0
  219. package/dist/classes/waybill-line-item/deserialize.js.map +1 -0
  220. package/dist/classes/waybill-line-item/index.d.ts +6 -0
  221. package/dist/classes/waybill-line-item/index.d.ts.map +1 -0
  222. package/dist/classes/waybill-line-item/index.js +5 -0
  223. package/dist/classes/waybill-line-item/index.js.map +1 -0
  224. package/dist/classes/waybill-line-item/schema.d.ts +44 -0
  225. package/dist/classes/waybill-line-item/schema.d.ts.map +1 -0
  226. package/dist/classes/waybill-line-item/schema.js +22 -0
  227. package/dist/classes/waybill-line-item/schema.js.map +1 -0
  228. package/dist/classes/waybill-line-item/serialize.d.ts +6 -0
  229. package/dist/classes/waybill-line-item/serialize.d.ts.map +1 -0
  230. package/dist/classes/waybill-line-item/serialize.js +28 -0
  231. package/dist/classes/waybill-line-item/serialize.js.map +1 -0
  232. package/dist/codecs.d.ts +10 -1
  233. package/dist/codecs.d.ts.map +1 -1
  234. package/dist/codecs.js +10 -1
  235. package/dist/codecs.js.map +1 -1
  236. package/dist/codes/enums.d.ts +35 -0
  237. package/dist/codes/enums.d.ts.map +1 -1
  238. package/dist/codes/enums.js +4 -0
  239. package/dist/codes/enums.js.map +1 -1
  240. package/dist/codes/index.d.ts +1 -1
  241. package/dist/codes/index.d.ts.map +1 -1
  242. package/dist/codes/index.js +1 -1
  243. package/dist/codes/index.js.map +1 -1
  244. package/dist/dispatch/domain-constraints.d.ts +13 -8
  245. package/dist/dispatch/domain-constraints.d.ts.map +1 -1
  246. package/dist/dispatch/domain-constraints.js +14 -24
  247. package/dist/dispatch/domain-constraints.js.map +1 -1
  248. package/dist/dispatch/field-types.d.ts +2 -3
  249. package/dist/dispatch/field-types.d.ts.map +1 -1
  250. package/dist/dispatch/field-types.js +60 -13
  251. package/dist/dispatch/field-types.js.map +1 -1
  252. package/dist/dispatch/graph-walk.d.ts.map +1 -1
  253. package/dist/dispatch/graph-walk.js +9 -8
  254. package/dist/dispatch/graph-walk.js.map +1 -1
  255. package/dist/facade.d.ts +12 -3
  256. package/dist/facade.d.ts.map +1 -1
  257. package/dist/factory-classes.d.ts +27 -6
  258. package/dist/factory-classes.d.ts.map +1 -1
  259. package/dist/factory-classes.js +27 -6
  260. package/dist/factory-classes.js.map +1 -1
  261. package/dist/index.d.ts +20 -2
  262. package/dist/index.d.ts.map +1 -1
  263. package/dist/index.js +20 -2
  264. package/dist/index.js.map +1 -1
  265. package/dist/iri/zod-safe-iri.d.ts +18 -2
  266. package/dist/iri/zod-safe-iri.d.ts.map +1 -1
  267. package/dist/iri/zod-safe-iri.js +14 -2
  268. package/dist/iri/zod-safe-iri.js.map +1 -1
  269. package/dist/types/index.d.ts +10 -1
  270. package/dist/types/index.d.ts.map +1 -1
  271. package/dist/version.d.ts +9 -4
  272. package/dist/version.d.ts.map +1 -1
  273. package/dist/version.js +18 -6
  274. package/dist/version.js.map +1 -1
  275. package/package.json +7 -6
@@ -4,8 +4,8 @@ import type { SafeIri } from './strategy.js';
4
4
  import { type ValidateIriOpts } from './validate.js';
5
5
  /**
6
6
  * Zod helper for IRI-shaped fields. Use in every per-class schema for IRI fields:
7
- * shipmentInformation: safeIri().optional()
8
- * containedPieces: z.array(safeIri()).min(1).optional()
7
+ * shipment: safeIri().optional()
8
+ * pieces: z.array(safeIri()).min(1).optional()
9
9
  *
10
10
  * On failure, emits a `custom` Zod issue with a structured `params` payload
11
11
  * tagged with `__safe_iri__: true`. Per-class deserializers walk the Zod
@@ -36,12 +36,28 @@ export declare function extractInvalidIriIssue(issue: {
36
36
  * lifted to ParseError (or null if none). Per-class deserializers prefer this
37
37
  * to the per-issue helper because the negative-test catalogue asserts
38
38
  * `r.error.kind === 'invalid_iri'` on the FIRST IRI failure.
39
+ *
40
+ * Recurses into `invalid_union` nested error sets so that safeIri failures
41
+ * inside a z.union() arm are still surfaced correctly (e.g. partyDetails IdRef
42
+ * union — see 3.2-rc2 :partyDetails TTL:1881, :Party restriction TTL:8080).
39
43
  */
40
44
  export declare function findInvalidIriInIssues(issues: ReadonlyArray<{
41
45
  code?: string;
42
46
  message?: string;
43
47
  path: ReadonlyArray<PropertyKey>;
44
48
  params?: unknown;
49
+ errors?: ReadonlyArray<ReadonlyArray<{
50
+ code?: string;
51
+ message?: string;
52
+ path: ReadonlyArray<PropertyKey>;
53
+ params?: unknown;
54
+ errors?: ReadonlyArray<ReadonlyArray<{
55
+ code?: string;
56
+ message?: string;
57
+ path: ReadonlyArray<PropertyKey>;
58
+ params?: unknown;
59
+ }>>;
60
+ }>>;
45
61
  }>, envelopePathPrefix?: string): Extract<ParseError, {
46
62
  kind: 'invalid_iri';
47
63
  }> | null;
@@ -1 +1 @@
1
- {"version":3,"file":"zod-safe-iri.d.ts","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,eAAe,CAAA;AAejE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,eAAoB,2DAiBjD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9F,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAAG,IAAI,CAWrD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,EACF,kBAAkB,SAAM,GACvB,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAAG,IAAI,CAUrD"}
1
+ {"version":3,"file":"zod-safe-iri.d.ts","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,eAAe,CAAA;AAejE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,GAAE,eAAoB,2DAiBjD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9F,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAAG,IAAI,CAWrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,aAAa,CACpB,aAAa,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,MAAM,CAAC,EAAE,aAAa,CACpB,aAAa,CAAC;YACZ,IAAI,CAAC,EAAE,MAAM,CAAA;YACb,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;YAChC,MAAM,CAAC,EAAE,OAAO,CAAA;SACjB,CAAC,CACH,CAAA;KACF,CAAC,CACH,CAAA;CACF,CAAC,EACF,kBAAkB,SAAM,GACvB,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAAG,IAAI,CAiBrD"}
@@ -8,8 +8,8 @@ import { validateIri } from './validate.js';
8
8
  const SAFE_IRI_PARAMS_MARKER = '__safe_iri__';
9
9
  /**
10
10
  * Zod helper for IRI-shaped fields. Use in every per-class schema for IRI fields:
11
- * shipmentInformation: safeIri().optional()
12
- * containedPieces: z.array(safeIri()).min(1).optional()
11
+ * shipment: safeIri().optional()
12
+ * pieces: z.array(safeIri()).min(1).optional()
13
13
  *
14
14
  * On failure, emits a `custom` Zod issue with a structured `params` payload
15
15
  * tagged with `__safe_iri__: true`. Per-class deserializers walk the Zod
@@ -64,6 +64,10 @@ export function extractInvalidIriIssue(issue, path) {
64
64
  * lifted to ParseError (or null if none). Per-class deserializers prefer this
65
65
  * to the per-issue helper because the negative-test catalogue asserts
66
66
  * `r.error.kind === 'invalid_iri'` on the FIRST IRI failure.
67
+ *
68
+ * Recurses into `invalid_union` nested error sets so that safeIri failures
69
+ * inside a z.union() arm are still surfaced correctly (e.g. partyDetails IdRef
70
+ * union — see 3.2-rc2 :partyDetails TTL:1881, :Party restriction TTL:8080).
67
71
  */
68
72
  export function findInvalidIriInIssues(issues, envelopePathPrefix = '$') {
69
73
  for (const issue of issues) {
@@ -73,6 +77,14 @@ export function findInvalidIriInIssues(issues, envelopePathPrefix = '$') {
73
77
  const extracted = extractInvalidIriIssue(issue, dotted);
74
78
  if (extracted)
75
79
  return extracted;
80
+ // Recurse into invalid_union nested error sets
81
+ if (issue.code === 'invalid_union' && Array.isArray(issue.errors)) {
82
+ for (const nestedIssues of issue.errors) {
83
+ const nested = findInvalidIriInIssues(nestedIssues, dotted);
84
+ if (nested)
85
+ return nested;
86
+ }
87
+ }
76
88
  }
77
89
  return null;
78
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zod-safe-iri.js","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAA;AAEjE;;;GAGG;AACH,MAAM,sBAAsB,GAAG,cAAuB,CAAA;AAStD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE;IAChD,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAW,EAAE;QAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,4EAA4E;YAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA;YAC5E,MAAM,MAAM,GAAuB;gBACjC,CAAC,sBAAsB,CAAC,EAAE,IAAI;gBAC9B,IAAI,EAAE,aAAa;gBACnB,GAAG,EAAE,CAAC;gBACN,MAAM;aACP,CAAA;YACD,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAA;YAChE,OAAO,CAAC,CAAC,KAAc,CAAA;QACzB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA8F,EAC9F,IAAY;IAEZ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,MAAiD,CAAA;IACjE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,WAAW;QAC/B,IAAI;KACL,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAKE,EACF,kBAAkB,GAAG,GAAG;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,GAAG,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACjE,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACvD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAA;IACjC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"zod-safe-iri.js","sourceRoot":"","sources":["../../src/iri/zod-safe-iri.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAwB,WAAW,EAAE,MAAM,eAAe,CAAA;AAEjE;;;GAGG;AACH,MAAM,sBAAsB,GAAG,cAAuB,CAAA;AAStD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE;IAChD,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAW,EAAE;QAC9C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,4EAA4E;YAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA;YAC5E,MAAM,MAAM,GAAuB;gBACjC,CAAC,sBAAsB,CAAC,EAAE,IAAI;gBAC9B,IAAI,EAAE,aAAa;gBACnB,GAAG,EAAE,CAAC;gBACN,MAAM;aACP,CAAA;YACD,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAA;YAChE,OAAO,CAAC,CAAC,KAAc,CAAA;QACzB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAA8F,EAC9F,IAAY;IAEZ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,MAAiD,CAAA;IACjE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,WAAW;QAC/B,IAAI;KACL,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAqBE,EACF,kBAAkB,GAAG,GAAG;IAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,GAAG,kBAAkB,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACjE,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACvD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAA;QAC/B,+CAA+C;QAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;gBAC3D,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -9,6 +9,7 @@ export type { AccessDelegationRequest, JsonLdAccessDelegationRequest, } from '..
9
9
  export type { AccountNumber, JsonLdAccountNumber } from '../classes/account-number/index.js';
10
10
  export type { Address, JsonLdAddress } from '../classes/address/index.js';
11
11
  export type { Booking, JsonLdBooking } from '../classes/booking/index.js';
12
+ export type { CO2Emissions, JsonLdCO2Emissions } from '../classes/co2-emissions/index.js';
12
13
  export type { BookingOption, JsonLdBookingOption } from '../classes/booking-option/index.js';
13
14
  export type { BookingOptionRequest, JsonLdBookingOptionRequest, } from '../classes/booking-option-request/index.js';
14
15
  export type { BookingPreferences, JsonLdBookingPreferences, } from '../classes/booking-preferences/index.js';
@@ -18,13 +19,17 @@ export type { BookingShipment, JsonLdBookingShipment } from '../classes/booking-
18
19
  export type { BookingTimes, JsonLdBookingTimes } from '../classes/booking-times/index.js';
19
20
  export type { Change, JsonLdChange } from '../classes/change/index.js';
20
21
  export type { ChangeRequest, JsonLdChangeRequest } from '../classes/change-request/index.js';
22
+ export type { Company, JsonLdCompany } from '../classes/company/index.js';
23
+ export type { CustomsInformation, JsonLdCustomsInformation, } from '../classes/customs-information/index.js';
21
24
  export type { HandlingService, JsonLdHandlingService } from '../classes/handling-service/index.js';
25
+ export type { Insurance, JsonLdInsurance } from '../classes/insurance/index.js';
26
+ export type { JsonLdLineItemPackage, LineItemPackage } from '../classes/line-item-package/index.js';
22
27
  export type { JsonLdLocation, Location } from '../classes/location/index.js';
23
28
  export type { JsonLdLogisticsEvent, LogisticsEvent } from '../classes/logistics-event/index.js';
24
29
  export type { JsonLdMovementTime, MovementTime } from '../classes/movement-time/index.js';
25
30
  export type { JsonLdNotification, Notification } from '../classes/notification/index.js';
26
31
  export type { JsonLdOperation, Operation } from '../classes/operation/index.js';
27
- export type { JsonLdOrganization, Organization } from '../classes/organization/index.js';
32
+ export type { JsonLdOtherCharge, OtherCharge } from '../classes/other-charge/index.js';
28
33
  export type { JsonLdParty, Party } from '../classes/party/index.js';
29
34
  export type { JsonLdPerson, Person } from '../classes/person/index.js';
30
35
  export type { JsonLdPiece, Piece } from '../classes/piece/index.js';
@@ -33,7 +38,11 @@ export type { JsonLdShipment, Shipment } from '../classes/shipment/index.js';
33
38
  export type { JsonLdSubscription, Subscription } from '../classes/subscription/index.js';
34
39
  export type { JsonLdSubscriptionRequest, SubscriptionRequest, } from '../classes/subscription-request/index.js';
35
40
  export type { JsonLdTransportMovement, TransportMovement, } from '../classes/transport-movement/index.js';
41
+ export type { JsonLdRegulatedEntity, RegulatedEntity, } from '../classes/regulated-entity/index.js';
42
+ export type { JsonLdSecurityDeclaration, SecurityDeclaration, } from '../classes/security-declaration/index.js';
43
+ export type { JsonLdULD, ULD } from '../classes/uld/index.js';
36
44
  export type { JsonLdVerification, UnverifiedVerification, Verification, } from '../classes/verification/index.js';
37
45
  export type { JsonLdVerificationRequest, VerificationRequest, } from '../classes/verification-request/index.js';
38
46
  export type { JsonLdWaybill, Waybill } from '../classes/waybill/index.js';
47
+ export type { JsonLdWaybillLineItem, WaybillLineItem, } from '../classes/waybill-line-item/index.js';
39
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export { CARGO_CONTEXT_IRI, API_CONTEXT_IRI, ALLOWED_CONTEXTS, assertContextAllowed, } from './context.js';
2
- export declare const __VERSION__: "0.0.0-prerelease";
3
- export declare const CARGO_ONTOLOGY_VERSION: "3.2";
2
+ export declare const __VERSION__: "0.3.0";
3
+ export declare const CARGO_ONTOLOGY_VERSION: "3.2.0";
4
4
  export declare const API_SPEC_VERSION: "2.2.0";
5
5
  import type { ServerInformation } from './classes/server-information/index.js';
6
6
  /**
7
- * Hard-fail if the consumer's expected ontology version does not match
8
- * the mapper's pin. Use at consumer startup to surface mismatch loudly.
7
+ * Hard-fail if the consumer's expected ontology version is not in the
8
+ * accepted set. Use at consumer startup to surface mismatch loudly.
9
+ * Accepts '3.2.0' (canonical) and '3.2' (legacy alias). Rejects all others
10
+ * including '3.2.1' (master-only, not endorsed).
9
11
  */
10
12
  export declare function assertOntologyVersion(expected: string): void;
11
13
  export interface ServerCompatibility {
@@ -18,6 +20,9 @@ export interface ServerCompatibility {
18
20
  * Inspect a deserialized `ServerInformation` and report compatibility with
19
21
  * this mapper's ontology pin. Returns structured result rather than throwing
20
22
  * so consumers can warn-and-continue or hard-fail per their policy.
23
+ *
24
+ * Compatible iff `cargoOntologyVersion` is in the accepted set
25
+ * ('3.2.0' or '3.2'). null or any other value (including '3.2.1') → false.
21
26
  */
22
27
  export declare function checkServerInformation(si: ServerInformation): ServerCompatibility;
23
28
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,WAAW,EAAG,kBAA2B,CAAA;AACtD,eAAO,MAAM,sBAAsB,EAAG,KAAc,CAAA;AACpD,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAA;AAGhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAG9E;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAY5D;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,iBAAiB,GAAG,mBAAmB,CAuBjF"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,eAAO,MAAM,WAAW,EAAG,OAAgB,CAAA;AAC3C,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAA;AACtD,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAA;AAUhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAG9E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAY5D;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAA;IACnB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,iBAAiB,GAAG,mBAAmB,CAuBjF"}
package/dist/version.js CHANGED
@@ -1,14 +1,23 @@
1
1
  // src/version.ts
2
2
  export { CARGO_CONTEXT_IRI, API_CONTEXT_IRI, ALLOWED_CONTEXTS, assertContextAllowed, } from './context.js';
3
- export const __VERSION__ = '0.0.0-prerelease';
4
- export const CARGO_ONTOLOGY_VERSION = '3.2';
3
+ export const __VERSION__ = '0.3.0';
4
+ export const CARGO_ONTOLOGY_VERSION = '3.2.0';
5
5
  export const API_SPEC_VERSION = '2.2.0';
6
6
  /**
7
- * Hard-fail if the consumer's expected ontology version does not match
8
- * the mapper's pin. Use at consumer startup to surface mismatch loudly.
7
+ * Exact-alias accepted set for ontology version checks.
8
+ * '3.2' is the legacy short-form alias for '3.2.0' (same endorsed standard).
9
+ * '3.2.1' is master-only (not endorsed) and is intentionally rejected.
10
+ * NOT a prefix/startsWith check — only the listed exact strings pass.
11
+ */
12
+ const ACCEPTED_ONTOLOGY_VERSIONS = new Set(['3.2.0', '3.2']);
13
+ /**
14
+ * Hard-fail if the consumer's expected ontology version is not in the
15
+ * accepted set. Use at consumer startup to surface mismatch loudly.
16
+ * Accepts '3.2.0' (canonical) and '3.2' (legacy alias). Rejects all others
17
+ * including '3.2.1' (master-only, not endorsed).
9
18
  */
10
19
  export function assertOntologyVersion(expected) {
11
- if (expected !== CARGO_ONTOLOGY_VERSION) {
20
+ if (!ACCEPTED_ONTOLOGY_VERSIONS.has(expected)) {
12
21
  const error = {
13
22
  kind: 'incompatible_ontology_version',
14
23
  serverVersion: expected,
@@ -21,6 +30,9 @@ export function assertOntologyVersion(expected) {
21
30
  * Inspect a deserialized `ServerInformation` and report compatibility with
22
31
  * this mapper's ontology pin. Returns structured result rather than throwing
23
32
  * so consumers can warn-and-continue or hard-fail per their policy.
33
+ *
34
+ * Compatible iff `cargoOntologyVersion` is in the accepted set
35
+ * ('3.2.0' or '3.2'). null or any other value (including '3.2.1') → false.
24
36
  */
25
37
  export function checkServerInformation(si) {
26
38
  const serverOntologyVersion = si.cargoOntologyVersion ?? null;
@@ -32,7 +44,7 @@ export function checkServerInformation(si) {
32
44
  reason: 'ServerInformation did not advertise cargoOntologyVersion',
33
45
  };
34
46
  }
35
- if (serverOntologyVersion !== CARGO_ONTOLOGY_VERSION) {
47
+ if (!ACCEPTED_ONTOLOGY_VERSIONS.has(serverOntologyVersion)) {
36
48
  return {
37
49
  compatible: false,
38
50
  mapperOntologyVersion: CARGO_ONTOLOGY_VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,MAAM,CAAC,MAAM,WAAW,GAAG,kBAA2B,CAAA;AACtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAc,CAAA;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAA;AAMhD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAe;YACxB,IAAI,EAAE,+BAA+B;YACrC,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,sBAAsB;SACtC,CAAA;QACD,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,WAAW,sBAAsB,EAAE,EACtF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;AACH,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAqB;IAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAC,oBAAoB,IAAI,IAAI,CAAA;IAC7D,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,sBAAsB;YAC7C,qBAAqB,EAAE,IAAI;YAC3B,MAAM,EAAE,0DAA0D;SACnE,CAAA;IACH,CAAC;IACD,IAAI,qBAAqB,KAAK,sBAAsB,EAAE,CAAC;QACrD,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,sBAAsB;YAC7C,qBAAqB;YACrB,MAAM,EAAE,uCAAuC,qBAAqB,sBAAsB,sBAAsB,EAAE;SACnH,CAAA;IACH,CAAC;IACD,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB;KACtB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAA;AAErB,MAAM,CAAC,MAAM,WAAW,GAAG,OAAgB,CAAA;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAgB,CAAA;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAK5D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAe;YACxB,IAAI,EAAE,+BAA+B;YACrC,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,sBAAsB;SACtC,CAAA;QACD,MAAM,IAAI,KAAK,CACb,2CAA2C,QAAQ,WAAW,sBAAsB,EAAE,EACtF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;AACH,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAqB;IAC1D,MAAM,qBAAqB,GAAG,EAAE,CAAC,oBAAoB,IAAI,IAAI,CAAA;IAC7D,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,sBAAsB;YAC7C,qBAAqB,EAAE,IAAI;YAC3B,MAAM,EAAE,0DAA0D;SACnE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC3D,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,qBAAqB,EAAE,sBAAsB;YAC7C,qBAAqB;YACrB,MAAM,EAAE,uCAAuC,qBAAqB,sBAAsB,sBAAsB,EAAE;SACnH,CAAA;IACH,CAAC;IACD,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,qBAAqB,EAAE,sBAAsB;QAC7C,qBAAqB;KACtB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flaks/onerecord",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Zero-dependency Zod-first JSON-LD mapper for IATA OneRecord cargo data model 3.2 + API spec 2.2.0",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -63,11 +63,8 @@
63
63
  "test:bench": "vitest bench",
64
64
  "test:contract": "vitest run --config vitest.contract.config.ts",
65
65
  "test:property": "vitest run test/property",
66
- "audit:bun": "bun audit",
67
- "audit:osv": "npx --yes osv-scanner@latest --lockfile=bun.lock",
68
- "audit": "bun run audit:bun; bun run audit:osv",
69
- "secrets:scan": "npx --yes gitleaks@latest detect --source . --no-banner",
70
- "api:check": "npx --yes @arethetypeswrong/cli@latest --pack ."
66
+ "audit": "bun audit",
67
+ "api:check": "attw --pack . --ignore-rules no-resolution cjs-resolves-to-esm"
71
68
  },
72
69
  "dependencies": {
73
70
  "zod": "^4.0.0"
@@ -83,5 +80,9 @@
83
80
  },
84
81
  "publishConfig": {
85
82
  "access": "public"
83
+ },
84
+ "overrides": {
85
+ "vite": "^6.4.2",
86
+ "esbuild": "^0.25.0"
86
87
  }
87
88
  }