@aster-cloud/aster-lang-ts 1.5.0 → 2.0.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 (349) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/scripts/aster.js +5 -12
  3. package/dist/scripts/aster.js.map +1 -1
  4. package/dist/scripts/emit-classfiles.js +3 -1
  5. package/dist/scripts/emit-classfiles.js.map +1 -1
  6. package/dist/scripts/generate-core-ir-types.d.ts +16 -0
  7. package/dist/scripts/generate-core-ir-types.d.ts.map +1 -0
  8. package/dist/scripts/generate-core-ir-types.js +116 -0
  9. package/dist/scripts/generate-core-ir-types.js.map +1 -0
  10. package/dist/scripts/golden.js +1 -1
  11. package/dist/scripts/golden.js.map +1 -1
  12. package/dist/src/ast/ast_visitor.d.ts +27 -27
  13. package/dist/src/ast/ast_visitor.d.ts.map +1 -1
  14. package/dist/src/ast/ast_visitor.js.map +1 -1
  15. package/dist/src/browser.d.ts +7 -0
  16. package/dist/src/browser.d.ts.map +1 -1
  17. package/dist/src/browser.js +6 -1
  18. package/dist/src/browser.js.map +1 -1
  19. package/dist/src/cli/policy-converter.js +6 -10
  20. package/dist/src/cli/policy-converter.js.map +1 -1
  21. package/dist/src/cli/utils/core-ir-file.d.ts +8 -0
  22. package/dist/src/cli/utils/core-ir-file.d.ts.map +1 -0
  23. package/dist/src/cli/utils/core-ir-file.js +29 -0
  24. package/dist/src/cli/utils/core-ir-file.js.map +1 -0
  25. package/dist/src/cnl-printer.d.ts.map +1 -1
  26. package/dist/src/cnl-printer.js +13 -3
  27. package/dist/src/cnl-printer.js.map +1 -1
  28. package/dist/src/compile-pipeline.js +1 -1
  29. package/dist/src/compile-pipeline.js.map +1 -1
  30. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -1
  31. package/dist/src/config/lexicons/diagnostic-overlays.generated.js +18 -6
  32. package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -1
  33. package/dist/src/core/canonical-decimal.d.ts +3 -0
  34. package/dist/src/core/canonical-decimal.d.ts.map +1 -0
  35. package/dist/src/core/canonical-decimal.js +19 -0
  36. package/dist/src/core/canonical-decimal.js.map +1 -0
  37. package/dist/src/core/canonical-json.d.ts +59 -0
  38. package/dist/src/core/canonical-json.d.ts.map +1 -0
  39. package/dist/src/core/canonical-json.js +250 -0
  40. package/dist/src/core/canonical-json.js.map +1 -0
  41. package/dist/src/core/core-ir-v2.generated.d.ts +807 -0
  42. package/dist/src/core/core-ir-v2.generated.d.ts.map +1 -0
  43. package/dist/src/core/core-ir-v2.generated.js +6 -0
  44. package/dist/src/core/core-ir-v2.generated.js.map +1 -0
  45. package/dist/src/core/core-ir-v2.schema.generated.d.ts +6 -0
  46. package/dist/src/core/core-ir-v2.schema.generated.d.ts.map +1 -0
  47. package/dist/src/core/core-ir-v2.schema.generated.js +2636 -0
  48. package/dist/src/core/core-ir-v2.schema.generated.js.map +1 -0
  49. package/dist/src/core/core_ir.d.ts +27 -11
  50. package/dist/src/core/core_ir.d.ts.map +1 -1
  51. package/dist/src/core/core_ir.js +118 -63
  52. package/dist/src/core/core_ir.js.map +1 -1
  53. package/dist/src/core/index.d.ts +4 -3
  54. package/dist/src/core/index.d.ts.map +1 -1
  55. package/dist/src/core/index.js +3 -2
  56. package/dist/src/core/index.js.map +1 -1
  57. package/dist/src/core/inferred_fields.d.ts +9 -11
  58. package/dist/src/core/inferred_fields.d.ts.map +1 -1
  59. package/dist/src/core/inferred_fields.js +7 -28
  60. package/dist/src/core/inferred_fields.js.map +1 -1
  61. package/dist/src/core/interpreter.js +16 -35
  62. package/dist/src/core/interpreter.js.map +1 -1
  63. package/dist/src/core/pretty_core.d.ts.map +1 -1
  64. package/dist/src/core/pretty_core.js +6 -10
  65. package/dist/src/core/pretty_core.js.map +1 -1
  66. package/dist/src/core/read-core-ir.d.ts +15 -0
  67. package/dist/src/core/read-core-ir.d.ts.map +1 -0
  68. package/dist/src/core/read-core-ir.js +69 -0
  69. package/dist/src/core/read-core-ir.js.map +1 -0
  70. package/dist/src/core/resolution-mark.d.ts +3 -4
  71. package/dist/src/core/resolution-mark.d.ts.map +1 -1
  72. package/dist/src/core/resolution-mark.js +2 -3
  73. package/dist/src/core/resolution-mark.js.map +1 -1
  74. package/dist/src/core/resolve-typed-references.d.ts.map +1 -1
  75. package/dist/src/core/resolve-typed-references.js +11 -27
  76. package/dist/src/core/resolve-typed-references.js.map +1 -1
  77. package/dist/src/core/serialize-core-ir.d.ts +13 -0
  78. package/dist/src/core/serialize-core-ir.d.ts.map +1 -0
  79. package/dist/src/core/serialize-core-ir.js +125 -0
  80. package/dist/src/core/serialize-core-ir.js.map +1 -0
  81. package/dist/src/core/visitor.d.ts.map +1 -1
  82. package/dist/src/core/visitor.js +4 -1
  83. package/dist/src/core/visitor.js.map +1 -1
  84. package/dist/src/diagnostics/error_codes.d.ts +2 -0
  85. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  86. package/dist/src/diagnostics/error_codes.js +16 -0
  87. package/dist/src/diagnostics/error_codes.js.map +1 -1
  88. package/dist/src/effects/declared-effects.d.ts +17 -0
  89. package/dist/src/effects/declared-effects.d.ts.map +1 -0
  90. package/dist/src/effects/declared-effects.js +27 -0
  91. package/dist/src/effects/declared-effects.js.map +1 -0
  92. package/dist/src/effects/effect_inference.d.ts.map +1 -1
  93. package/dist/src/effects/effect_inference.js +14 -10
  94. package/dist/src/effects/effect_inference.js.map +1 -1
  95. package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
  96. package/dist/src/effects/effect_inference_browser.js +14 -9
  97. package/dist/src/effects/effect_inference_browser.js.map +1 -1
  98. package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
  99. package/dist/src/frontend/keyword-translator.js +3 -0
  100. package/dist/src/frontend/keyword-translator.js.map +1 -1
  101. package/dist/src/frontend/lexer.d.ts.map +1 -1
  102. package/dist/src/frontend/lexer.js +7 -3
  103. package/dist/src/frontend/lexer.js.map +1 -1
  104. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
  105. package/dist/src/frontend/resolve-declarations.js +3 -23
  106. package/dist/src/frontend/resolve-declarations.js.map +1 -1
  107. package/dist/src/governance/controls-registry.data.js +2 -2
  108. package/dist/src/governance/controls-registry.data.js.map +1 -1
  109. package/dist/src/governance/input-refs.js +5 -8
  110. package/dist/src/governance/input-refs.js.map +1 -1
  111. package/dist/src/index.d.ts +5 -0
  112. package/dist/src/index.d.ts.map +1 -1
  113. package/dist/src/index.js +4 -0
  114. package/dist/src/index.js.map +1 -1
  115. package/dist/src/jvm/emitter.d.ts.map +1 -1
  116. package/dist/src/jvm/emitter.js +20 -29
  117. package/dist/src/jvm/emitter.js.map +1 -1
  118. package/dist/src/lower_to_core.d.ts +2 -1
  119. package/dist/src/lower_to_core.d.ts.map +1 -1
  120. package/dist/src/lower_to_core.js +150 -300
  121. package/dist/src/lower_to_core.js.map +1 -1
  122. package/dist/src/lsp/pii_diagnostics.d.ts.map +1 -1
  123. package/dist/src/lsp/pii_diagnostics.js +3 -8
  124. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  125. package/dist/src/mapping/mapping-ir.d.ts +3 -3
  126. package/dist/src/mapping/mapping-ir.js +3 -3
  127. package/dist/src/nodeid/node-id-map.d.ts +6 -15
  128. package/dist/src/nodeid/node-id-map.d.ts.map +1 -1
  129. package/dist/src/nodeid/node-id-map.js +6 -15
  130. package/dist/src/nodeid/node-id-map.js.map +1 -1
  131. package/dist/src/parser/constraint-parser.js +25 -6
  132. package/dist/src/parser/constraint-parser.js.map +1 -1
  133. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  134. package/dist/src/parser/decl-parser.js +30 -59
  135. package/dist/src/parser/decl-parser.js.map +1 -1
  136. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  137. package/dist/src/parser/expr-stmt-parser.js +3 -2
  138. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  139. package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
  140. package/dist/src/parser/field-variant-parser.js +6 -0
  141. package/dist/src/parser/field-variant-parser.js.map +1 -1
  142. package/dist/src/parser/parse-issue.d.ts +2 -0
  143. package/dist/src/parser/parse-issue.d.ts.map +1 -1
  144. package/dist/src/parser/parse-issue.js +2 -0
  145. package/dist/src/parser/parse-issue.js.map +1 -1
  146. package/dist/src/parser/type-parser.d.ts +1 -1
  147. package/dist/src/parser/type-parser.d.ts.map +1 -1
  148. package/dist/src/parser/type-parser.js +19 -2
  149. package/dist/src/parser/type-parser.js.map +1 -1
  150. package/dist/src/stability/stability_gate.d.ts +1 -1
  151. package/dist/src/stability/stability_gate.d.ts.map +1 -1
  152. package/dist/src/stability/stability_gate.js +2 -26
  153. package/dist/src/stability/stability_gate.js.map +1 -1
  154. package/dist/src/typecheck/async.d.ts.map +1 -1
  155. package/dist/src/typecheck/async.js +4 -1
  156. package/dist/src/typecheck/async.js.map +1 -1
  157. package/dist/src/typecheck/browser.d.ts.map +1 -1
  158. package/dist/src/typecheck/browser.js +4 -3
  159. package/dist/src/typecheck/browser.js.map +1 -1
  160. package/dist/src/typecheck/capabilities.d.ts.map +1 -1
  161. package/dist/src/typecheck/capabilities.js +3 -2
  162. package/dist/src/typecheck/capabilities.js.map +1 -1
  163. package/dist/src/typecheck/context.d.ts +5 -5
  164. package/dist/src/typecheck/context.d.ts.map +1 -1
  165. package/dist/src/typecheck/context.js.map +1 -1
  166. package/dist/src/typecheck/diagnostics.d.ts +2 -2
  167. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  168. package/dist/src/typecheck/diagnostics.js.map +1 -1
  169. package/dist/src/typecheck/effects.js +7 -7
  170. package/dist/src/typecheck/effects.js.map +1 -1
  171. package/dist/src/typecheck/expression.d.ts +4 -4
  172. package/dist/src/typecheck/expression.d.ts.map +1 -1
  173. package/dist/src/typecheck/expression.js +1 -1
  174. package/dist/src/typecheck/expression.js.map +1 -1
  175. package/dist/src/typecheck/generics.d.ts +2 -2
  176. package/dist/src/typecheck/generics.d.ts.map +1 -1
  177. package/dist/src/typecheck/generics.js +23 -12
  178. package/dist/src/typecheck/generics.js.map +1 -1
  179. package/dist/src/typecheck/governance.d.ts +1 -1
  180. package/dist/src/typecheck/governance.d.ts.map +1 -1
  181. package/dist/src/typecheck/governance.js +1 -1
  182. package/dist/src/typecheck/governance.js.map +1 -1
  183. package/dist/src/typecheck/module.d.ts.map +1 -1
  184. package/dist/src/typecheck/module.js +7 -6
  185. package/dist/src/typecheck/module.js.map +1 -1
  186. package/dist/src/typecheck/pattern.d.ts +2 -2
  187. package/dist/src/typecheck/pattern.d.ts.map +1 -1
  188. package/dist/src/typecheck/pattern.js +12 -46
  189. package/dist/src/typecheck/pattern.js.map +1 -1
  190. package/dist/src/typecheck/pure.d.ts +19 -19
  191. package/dist/src/typecheck/pure.d.ts.map +1 -1
  192. package/dist/src/typecheck/pure.js.map +1 -1
  193. package/dist/src/typecheck/statement.d.ts +6 -6
  194. package/dist/src/typecheck/statement.d.ts.map +1 -1
  195. package/dist/src/typecheck/statement.js +17 -20
  196. package/dist/src/typecheck/statement.js.map +1 -1
  197. package/dist/src/typecheck/symbol_table.d.ts +2 -2
  198. package/dist/src/typecheck/symbol_table.d.ts.map +1 -1
  199. package/dist/src/typecheck/symbol_table.js.map +1 -1
  200. package/dist/src/typecheck/type_system.d.ts +4 -4
  201. package/dist/src/typecheck/type_system.d.ts.map +1 -1
  202. package/dist/src/typecheck/type_system.js +1 -1
  203. package/dist/src/typecheck/type_system.js.map +1 -1
  204. package/dist/src/typecheck/workflow.d.ts +3 -3
  205. package/dist/src/typecheck/workflow.d.ts.map +1 -1
  206. package/dist/src/typecheck/workflow.js.map +1 -1
  207. package/dist/src/typecheck-pii.d.ts.map +1 -1
  208. package/dist/src/typecheck-pii.js +2 -13
  209. package/dist/src/typecheck-pii.js.map +1 -1
  210. package/dist/src/types.d.ts +160 -172
  211. package/dist/src/types.d.ts.map +1 -1
  212. package/dist/src/types.js.map +1 -1
  213. package/dist/src/version.d.ts +3 -3
  214. package/dist/src/version.js +3 -3
  215. package/dist/test/helpers/core-ir-v2.d.ts +5 -0
  216. package/dist/test/helpers/core-ir-v2.d.ts.map +1 -0
  217. package/dist/test/helpers/core-ir-v2.js +123 -0
  218. package/dist/test/helpers/core-ir-v2.js.map +1 -0
  219. package/dist/test/helpers/locales-core-ir.d.ts +7 -0
  220. package/dist/test/helpers/locales-core-ir.d.ts.map +1 -0
  221. package/dist/test/helpers/locales-core-ir.js +15 -0
  222. package/dist/test/helpers/locales-core-ir.js.map +1 -0
  223. package/dist/test/helpers/test-factories.d.ts +5 -5
  224. package/dist/test/helpers/test-factories.d.ts.map +1 -1
  225. package/dist/test/helpers/test-factories.js +9 -8
  226. package/dist/test/helpers/test-factories.js.map +1 -1
  227. package/dist/test/integration/pipeline/pipeline.test.js +1 -1
  228. package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
  229. package/dist/test/integration/vocabulary-resolution.test.js +1 -1
  230. package/dist/test/integration/vocabulary-resolution.test.js.map +1 -1
  231. package/dist/test/regression/type-checker-golden.test.js +1 -1
  232. package/dist/test/regression/type-checker-golden.test.js.map +1 -1
  233. package/dist/test/type-checker/pii-propagation.test.js +7 -6
  234. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  235. package/dist/test/types/core-ir-v2.test-d.d.ts +28 -0
  236. package/dist/test/types/core-ir-v2.test-d.d.ts.map +1 -0
  237. package/dist/test/types/core-ir-v2.test-d.js +5 -0
  238. package/dist/test/types/core-ir-v2.test-d.js.map +1 -0
  239. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +4 -3
  240. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -1
  241. package/dist/test/unit/canonicalizer/article-declaration-names.test.js +1 -1
  242. package/dist/test/unit/canonicalizer/article-declaration-names.test.js.map +1 -1
  243. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js +2 -1
  244. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js.map +1 -1
  245. package/dist/test/unit/core/canonical-json.test.d.ts +2 -0
  246. package/dist/test/unit/core/canonical-json.test.d.ts.map +1 -0
  247. package/dist/test/unit/core/canonical-json.test.js +38 -0
  248. package/dist/test/unit/core/canonical-json.test.js.map +1 -0
  249. package/dist/test/unit/core/caseless-pattern-name.test.js +6 -8
  250. package/dist/test/unit/core/caseless-pattern-name.test.js.map +1 -1
  251. package/dist/test/unit/core/core-ir-conformance.test.d.ts +2 -0
  252. package/dist/test/unit/core/core-ir-conformance.test.d.ts.map +1 -0
  253. package/dist/test/unit/core/core-ir-conformance.test.js +39 -0
  254. package/dist/test/unit/core/core-ir-conformance.test.js.map +1 -0
  255. package/dist/test/unit/core/core-ir-schema-parity.test.d.ts +2 -0
  256. package/dist/test/unit/core/core-ir-schema-parity.test.d.ts.map +1 -0
  257. package/dist/test/unit/core/core-ir-schema-parity.test.js +25 -0
  258. package/dist/test/unit/core/core-ir-schema-parity.test.js.map +1 -0
  259. package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts +2 -0
  260. package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts.map +1 -0
  261. package/dist/test/unit/core/core-ir-v2-outputs.test.js +128 -0
  262. package/dist/test/unit/core/core-ir-v2-outputs.test.js.map +1 -0
  263. package/dist/test/unit/core/read-core-ir.test.d.ts +2 -0
  264. package/dist/test/unit/core/read-core-ir.test.d.ts.map +1 -0
  265. package/dist/test/unit/core/read-core-ir.test.js +129 -0
  266. package/dist/test/unit/core/read-core-ir.test.js.map +1 -0
  267. package/dist/test/unit/core/resolve-typed-references.test.js +19 -16
  268. package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -1
  269. package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js +5 -5
  270. package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js.map +1 -1
  271. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js +3 -2
  272. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js.map +1 -1
  273. package/dist/test/unit/effect/effect-inference.test.js +17 -13
  274. package/dist/test/unit/effect/effect-inference.test.js.map +1 -1
  275. package/dist/test/unit/emitter/emitter.test.js +47 -46
  276. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  277. package/dist/test/unit/formatter-corpus-roundtrip.test.js +5 -1
  278. package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
  279. package/dist/test/unit/formatter-roundtrip.test.js +5 -4
  280. package/dist/test/unit/formatter-roundtrip.test.js.map +1 -1
  281. package/dist/test/unit/frontend/resolve-declarations.test.js +13 -14
  282. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
  283. package/dist/test/unit/governance/governance-check.test.js +1 -1
  284. package/dist/test/unit/governance/governance-check.test.js.map +1 -1
  285. package/dist/test/unit/governance/input-refs-parity.test.js +1 -1
  286. package/dist/test/unit/governance/input-refs-parity.test.js.map +1 -1
  287. package/dist/test/unit/governance/input-refs.test.js +2 -2
  288. package/dist/test/unit/governance/input-refs.test.js.map +1 -1
  289. package/dist/test/unit/governance/no-profile-ir-unchanged.test.js +6 -6
  290. package/dist/test/unit/governance/no-profile-ir-unchanged.test.js.map +1 -1
  291. package/dist/test/unit/governance/profile-check.test.js +14 -6
  292. package/dist/test/unit/governance/profile-check.test.js.map +1 -1
  293. package/dist/test/unit/interpreter/interpreter.test.js +23 -21
  294. package/dist/test/unit/interpreter/interpreter.test.js.map +1 -1
  295. package/dist/test/unit/interpreter/scope-writeback.test.js +28 -27
  296. package/dist/test/unit/interpreter/scope-writeback.test.js.map +1 -1
  297. package/dist/test/unit/keyword-aliases.test.js +1 -1
  298. package/dist/test/unit/lowering/core-ir-v2.test.d.ts +2 -0
  299. package/dist/test/unit/lowering/core-ir-v2.test.d.ts.map +1 -0
  300. package/dist/test/unit/lowering/core-ir-v2.test.js +253 -0
  301. package/dist/test/unit/lowering/core-ir-v2.test.js.map +1 -0
  302. package/dist/test/unit/lowering/lowering.test.js +19 -14
  303. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  304. package/dist/test/unit/lsp/pii-diagnostics.test.js +33 -30
  305. package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
  306. package/dist/test/unit/lsp/utils.test.js +5 -4
  307. package/dist/test/unit/lsp/utils.test.js.map +1 -1
  308. package/dist/test/unit/parser/effect-unknown-name.test.js +7 -7
  309. package/dist/test/unit/parser/effect-unknown-name.test.js.map +1 -1
  310. package/dist/test/unit/parser/entry-annotations.test.js +2 -1
  311. package/dist/test/unit/parser/entry-annotations.test.js.map +1 -1
  312. package/dist/test/unit/parser/func-type.test.js +3 -3
  313. package/dist/test/unit/parser/func-type.test.js.map +1 -1
  314. package/dist/test/unit/parser/governance-sugar.test.js +4 -4
  315. package/dist/test/unit/parser/governance-sugar.test.js.map +1 -1
  316. package/dist/test/unit/parser/parser.test.js +5 -4
  317. package/dist/test/unit/parser/parser.test.js.map +1 -1
  318. package/dist/test/unit/rule-call-checks.test.js +2 -1
  319. package/dist/test/unit/rule-call-checks.test.js.map +1 -1
  320. package/dist/test/unit/typecheck/async-discipline-extended.test.js +11 -10
  321. package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
  322. package/dist/test/unit/typecheck/effect-prefix-injection.test.js +3 -2
  323. package/dist/test/unit/typecheck/effect-prefix-injection.test.js.map +1 -1
  324. package/dist/test/unit/typecheck/function-return-inference.test.js +33 -32
  325. package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -1
  326. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +5 -4
  327. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -1
  328. package/dist/test/unit/typecheck/regression-fixes.test.js +110 -112
  329. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  330. package/dist/test/unit/typecheck/symbol-table.test.js +3 -2
  331. package/dist/test/unit/typecheck/symbol-table.test.js.map +1 -1
  332. package/dist/test/unit/typecheck/type-system-extended.test.js +6 -5
  333. package/dist/test/unit/typecheck/type-system-extended.test.js.map +1 -1
  334. package/dist/test/unit/typecheck/type-system.test.js +20 -19
  335. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  336. package/dist/test/unit/typecheck/typecheck-advanced.test.js +19 -18
  337. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  338. package/dist/test/unit/typecheck/untyped-field-dynamic.test.js +6 -4
  339. package/dist/test/unit/typecheck/untyped-field-dynamic.test.js.map +1 -1
  340. package/dist/test/unit/version.test.js +3 -3
  341. package/package.json +4 -3
  342. package/dist/src/core/core_ir_json.d.ts +0 -62
  343. package/dist/src/core/core_ir_json.d.ts.map +0 -1
  344. package/dist/src/core/core_ir_json.js +0 -81
  345. package/dist/src/core/core_ir_json.js.map +0 -1
  346. package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts +0 -2
  347. package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts.map +0 -1
  348. package/dist/test/unit/core_ir_json/core_ir_json.test.js +0 -218
  349. package/dist/test/unit/core_ir_json/core_ir_json.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostic-overlays.generated.js","sourceRoot":"","sources":["../../../../src/config/lexicons/diagnostic-overlays.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostic-overlays.generated.js","sourceRoot":"","sources":["../../../../src/config/lexicons/diagnostic-overlays.generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** 把字面量原文(可带符号与指数,如 `-0.0`、`1e-7`、`1E3`)转成规范十进制串。 */
2
+ export declare function canonicalDecimalFromLiteral(raw: string): string;
3
+ //# sourceMappingURL=canonical-decimal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-decimal.d.ts","sourceRoot":"","sources":["../../../src/core/canonical-decimal.ts"],"names":[],"mappings":"AAUA,qDAAqD;AACrD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/D"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 源码数值字面量 → 规范十进制串(ADR 0055 §5),用于 `Double.value` 与 `Range.min/max`。
3
+ *
4
+ * 规则:无指数、无前导零、无尾随零,小数部分全零时省略小数点,`-0` 归一为 `"0"`。
5
+ * 结果满足 schema `$defs/CanonicalDecimal` 的 pattern。值取自字面量**原文**,经 decimal.js
6
+ * 任意精度十进制求出,不经二进制浮点:`123456789012345678901.5` 原样保留,经 double 则会变成
7
+ * `123456789012345680000`。与 Java 侧 `BigDecimal.stripTrailingZeros().toPlainString()` 对应。
8
+ */
9
+ import Decimal from 'decimal.js';
10
+ /** 把字面量原文(可带符号与指数,如 `-0.0`、`1e-7`、`1E3`)转成规范十进制串。 */
11
+ export function canonicalDecimalFromLiteral(raw) {
12
+ const value = new Decimal(raw);
13
+ if (!value.isFinite()) {
14
+ throw new RangeError(`数值字面量不是有限值:${raw}`);
15
+ }
16
+ // decimal.js 的 toFixed() 不带参数时按普通记数法输出全部有效位且不舍入,已去尾随零。
17
+ return value.isZero() ? '0' : value.toFixed();
18
+ }
19
+ //# sourceMappingURL=canonical-decimal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-decimal.js","sourceRoot":"","sources":["../../../src/core/canonical-decimal.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,qDAAqD;AACrD,MAAM,UAAU,2BAA2B,CAAC,GAAW;IACrD,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,uDAAuD;IACvD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAChD,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Canonical JSON 序列化(ADR 0030 附录 A.2;Core IR v2 规范字节,ADR 0055 §5)。
3
+ *
4
+ * 从 aster-cloud `src/lib/canonical-json.ts` 移植,与 core `aster.core.canonical.CanonicalJson`
5
+ * 字节一致,由 test/unit/core/canonical-json.test.ts 用 core `CanonicalJsonParityTest` 的同一份
6
+ * golden 夹具守护。与 cloud 原件的唯一差别:不含 `canonicalHash`(它依赖 `node:crypto`,
7
+ * 本模块要进浏览器入口);需要哈希的调用方按 `sha256(CANONICALIZATION_VERSION + "\n" + canonicalJson(v))` 自行计算。
8
+ *
9
+ * 以下为 cloud 原件的说明——
10
+ *
11
+ * 决策级持久层的 `canonicalInputHash` / `canonicalOutputHash` / `traceHash` 都基于本模块:
12
+ * 只有在**确定性的** canonical 形式下逐字节比对才有意义(否则 key 顺序 / Decimal 表示 /
13
+ * null 处理的差异会污染 old↔new toolchain 的漂移判定,把无害差异误报成 regression)。
14
+ *
15
+ * 设计铁律(ADR 附录 A.2):
16
+ * - object key 按 Unicode code point 升序;array 保序。
17
+ * - `null` 显式输出;**missing ≠ null**;不丢空对象 / 空数组 / false / 0 / ""。
18
+ * - string 原值不做 trim / case-fold。
19
+ * - number 须 finite;NaN / Infinity 拒绝(NON_CANONICAL_NUMBER)。
20
+ * - Decimal **类型感知**:仅当 typeCtx 声明某路径为 Decimal 时才做 decimal canonical
21
+ * (无 exponent / 无前导 + / 无无意义前导零 / 无 trailing zero / `-0`→`0` / 整数无 `.0`)。
22
+ * - JSON `1` ≠ string `"1"`(不全局转换数字字符串)。
23
+ *
24
+ * 纯模块:无 Node-only API 依赖,无 DB / 网络 / 环境读取。
25
+ */
26
+ /** 当前 canonical 算法版本,写进 hash 前缀 + Execution.canonicalizationVersion。变更算法必 bump。 */
27
+ export declare const CANONICALIZATION_VERSION = "aster-canonical-json/v1";
28
+ /** canonical 化失败原因(对齐 Execution.replayabilityReasons 的 NON_REPLAYABLE 语义)。 */
29
+ export type CanonicalErrorReason = 'NON_CANONICAL_NUMBER' | 'NON_INTEGER_NUMBER' | 'UNSUPPORTED_VALUE' | 'DECIMAL_TOO_LARGE';
30
+ export declare class CanonicalJsonError extends Error {
31
+ readonly reason: CanonicalErrorReason;
32
+ /** 出错值所在的 JSON 路径(如 `input.amount`),便于诊断。 */
33
+ readonly path: string;
34
+ constructor(reason: CanonicalErrorReason, message: string,
35
+ /** 出错值所在的 JSON 路径(如 `input.amount`),便于诊断。 */
36
+ path: string);
37
+ }
38
+ /**
39
+ * 类型上下文:声明哪些字段路径是 Decimal,须做 decimal canonical。
40
+ *
41
+ * 路径用点号连接(array 元素用 `[]` 通配,如 `applicants[].income`)。M1 只支持
42
+ * 精确路径 + `[]` 通配;无 typeCtx 时所有 number 按 JSON number 处理(IEEE-754 规范化)。
43
+ * Decimal 值在 JSON 里应以 **string** 承载(避免 IEEE-754 精度损失),typeCtx 标注后
44
+ * 按 decimal 规范化;若声明为 Decimal 的路径出现 number,也接受并规范化其字符串形式。
45
+ */
46
+ export interface CanonicalTypeContext {
47
+ /** 声明为 Decimal 的字段路径集合(`[]` 表示任意 array 下标)。 */
48
+ decimalPaths: ReadonlySet<string>;
49
+ }
50
+ /** 按 Unicode code point 比较(正确处理代理对,避免 code unit 序在补充平面字符上的偏差)。 */
51
+ export declare function compareByCodePoint(a: string, b: string): number;
52
+ /**
53
+ * 把任意 JSON 值序列化为 canonical 字符串(确定性、跨实现可复现)。
54
+ * @throws CanonicalJsonError 遇到 NaN/Infinity/非法 Decimal/非 JSON 值。
55
+ */
56
+ export declare function canonicalJson(value: unknown, ctx?: CanonicalTypeContext): string;
57
+ /** 便捷构造 typeCtx(从 Decimal 路径数组)。 */
58
+ export declare function decimalTypeContext(decimalPaths: readonly string[]): CanonicalTypeContext;
59
+ //# sourceMappingURL=canonical-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-json.d.ts","sourceRoot":"","sources":["../../../src/core/canonical-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,4BAA4B,CAAC;AAElE,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAC5B,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AASxB,qBAAa,kBAAmB,SAAQ,KAAK;aAEzB,MAAM,EAAE,oBAAoB;IAE5C,6CAA6C;aAC7B,IAAI,EAAE,MAAM;gBAHZ,MAAM,EAAE,oBAAoB,EAC5C,OAAO,EAAE,MAAM;IACf,6CAA6C;IAC7B,IAAI,EAAE,MAAM;CAK/B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC;AAuND,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAU/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAEhF;AAED,oCAAoC;AACpC,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,oBAAoB,CAExF"}
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Canonical JSON 序列化(ADR 0030 附录 A.2;Core IR v2 规范字节,ADR 0055 §5)。
3
+ *
4
+ * 从 aster-cloud `src/lib/canonical-json.ts` 移植,与 core `aster.core.canonical.CanonicalJson`
5
+ * 字节一致,由 test/unit/core/canonical-json.test.ts 用 core `CanonicalJsonParityTest` 的同一份
6
+ * golden 夹具守护。与 cloud 原件的唯一差别:不含 `canonicalHash`(它依赖 `node:crypto`,
7
+ * 本模块要进浏览器入口);需要哈希的调用方按 `sha256(CANONICALIZATION_VERSION + "\n" + canonicalJson(v))` 自行计算。
8
+ *
9
+ * 以下为 cloud 原件的说明——
10
+ *
11
+ * 决策级持久层的 `canonicalInputHash` / `canonicalOutputHash` / `traceHash` 都基于本模块:
12
+ * 只有在**确定性的** canonical 形式下逐字节比对才有意义(否则 key 顺序 / Decimal 表示 /
13
+ * null 处理的差异会污染 old↔new toolchain 的漂移判定,把无害差异误报成 regression)。
14
+ *
15
+ * 设计铁律(ADR 附录 A.2):
16
+ * - object key 按 Unicode code point 升序;array 保序。
17
+ * - `null` 显式输出;**missing ≠ null**;不丢空对象 / 空数组 / false / 0 / ""。
18
+ * - string 原值不做 trim / case-fold。
19
+ * - number 须 finite;NaN / Infinity 拒绝(NON_CANONICAL_NUMBER)。
20
+ * - Decimal **类型感知**:仅当 typeCtx 声明某路径为 Decimal 时才做 decimal canonical
21
+ * (无 exponent / 无前导 + / 无无意义前导零 / 无 trailing zero / `-0`→`0` / 整数无 `.0`)。
22
+ * - JSON `1` ≠ string `"1"`(不全局转换数字字符串)。
23
+ *
24
+ * 纯模块:无 Node-only API 依赖,无 DB / 网络 / 环境读取。
25
+ */
26
+ /** 当前 canonical 算法版本,写进 hash 前缀 + Execution.canonicalizationVersion。变更算法必 bump。 */
27
+ export const CANONICALIZATION_VERSION = 'aster-canonical-json/v1';
28
+ /**
29
+ * Decimal 展开的资源上限(防大指数 DoS / RangeError)。金融金额远在此范围内,
30
+ * 超限统一报 DECIMAL_TOO_LARGE 而非非受控异常(Codex 审查 L1#3)。
31
+ */
32
+ const MAX_DECIMAL_DIGITS = 4096;
33
+ const MAX_DECIMAL_EXPONENT = 4096;
34
+ export class CanonicalJsonError extends Error {
35
+ reason;
36
+ path;
37
+ constructor(reason, message,
38
+ /** 出错值所在的 JSON 路径(如 `input.amount`),便于诊断。 */
39
+ path) {
40
+ super(`${reason} at ${path}: ${message}`);
41
+ this.reason = reason;
42
+ this.path = path;
43
+ this.name = 'CanonicalJsonError';
44
+ }
45
+ }
46
+ /** 把具体 array 下标路径归一为 `[]` 通配,用于 typeCtx 匹配。 */
47
+ function normalizePathForMatch(path) {
48
+ return path.replace(/\[\d+\]/g, '[]');
49
+ }
50
+ function isDecimalPath(path, ctx) {
51
+ if (!ctx)
52
+ return false;
53
+ return ctx.decimalPaths.has(normalizePathForMatch(path));
54
+ }
55
+ /**
56
+ * 规范化 JSON string(TS 侧用 JSON.stringify 转义;code point 保序,不做业务变换)。
57
+ *
58
+ * ★Java parity 注意(Codex L1#2):本实现的转义策略 = JS `JSON.stringify`(短转义 \n\t 等 /
59
+ * U+0000..001F / 不转义 `/` / 不转义 U+2028 U+2029 / lone surrogate 输出 \udxxx)。Java 权威
60
+ * 侧**不能**依赖 Jackson/Gson 默认转义自动对齐——须实现逐 code point 的 canonical string writer
61
+ * 复刻此策略,并由 TS↔Java golden fixture 固化(发布前 parity gate,见 ADR 0030 附录 A)。
62
+ * 此处不声明「已跨实现保证」,只声明「TS 侧策略确定」。
63
+ */
64
+ function canonicalString(value) {
65
+ return JSON.stringify(value);
66
+ }
67
+ /**
68
+ * 规范化普通 JSON number(非 Decimal 路径)——★双引擎地基铁律:**只允许 safe integer**。
69
+ *
70
+ * 原因(Codex 审查 L1#1/L4):JS `Number#toString()` 与 Java `Double.toString()` 对同一
71
+ * IEEE-754 浮点(如 `1e21`/`0.1`/`1e-7`)产生**不同字符串表示** → 双引擎 hash 不一致,
72
+ * 直接打穿「回放不误报漂移」的地基。金融决策里所有小数/金额本就应走 Decimal(string 承载 +
73
+ * typeCtx),用 IEEE-754 float 表示金额是错误姿势。故非 Decimal number 强制 safe integer,
74
+ * 小数一律要求走 Decimal 路径(否则报 NON_INTEGER_NUMBER,调用方须补 typeCtx 声明)。
75
+ */
76
+ function canonicalNumber(value, path) {
77
+ if (!Number.isFinite(value)) {
78
+ throw new CanonicalJsonError('NON_CANONICAL_NUMBER', `number 非 finite: ${value}`, path);
79
+ }
80
+ // -0 归一为 0(ADR:-0→0)。safe integer 范围内 -0 === 0,toString 即 "0"。
81
+ const normalized = value === 0 ? 0 : value;
82
+ if (!Number.isSafeInteger(normalized)) {
83
+ throw new CanonicalJsonError('NON_INTEGER_NUMBER', `非 Decimal number 只允许 safe integer(小数/超范围须走 Decimal string + typeCtx 声明): ${value}`, path);
84
+ }
85
+ // safe integer 的 toString 跨引擎一致(十进制整数无表示歧义)。
86
+ return normalized.toString();
87
+ }
88
+ /**
89
+ * 规范化 Decimal 值(decimal canonical form):
90
+ * 无 exponent / 无前导 `+` / 无无意义前导零 / 无 trailing zero / `-0`→`0` / 整数无 `.0`。
91
+ * 接受 string(推荐,避免精度损失)或 number(会先转 string)。
92
+ */
93
+ function canonicalDecimal(raw, path) {
94
+ // Decimal number 入参先转其整数字符串(number 已受 safe-integer 约束时才可能到这;
95
+ // 但 Decimal 路径的 number 允许非整数——用 JS 表示转字符串后再规范化)。
96
+ // string 入参:★不 trim(与「string 不 trim」铁律一致,Codex L1#4)——含空白即非法。
97
+ let s;
98
+ if (typeof raw === 'number') {
99
+ // ★Decimal 路径也只接受 safe integer number(Codex 复审 #1 闭环):非整数 JS number
100
+ // 走 Number#toString() 会重新引入跨引擎表示/精度隐患。精确 Decimal 必须以 string 承载。
101
+ if (!Number.isFinite(raw)) {
102
+ throw new CanonicalJsonError('NON_CANONICAL_NUMBER', `Decimal number 非 finite: ${raw}`, path);
103
+ }
104
+ if (!Number.isSafeInteger(raw === 0 ? 0 : raw)) {
105
+ throw new CanonicalJsonError('NON_INTEGER_NUMBER', `Decimal 路径的 number 只允许 safe integer;精确小数须以 string 承载(避免 IEEE-754 精度损失): ${raw}`, path);
106
+ }
107
+ s = (raw === 0 ? 0 : raw).toString();
108
+ }
109
+ else {
110
+ s = raw;
111
+ }
112
+ // 允许可选符号 + 整数部分 + 可选小数部分 + 可选指数(无前后空白)。
113
+ const m = /^([+-]?)(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(s);
114
+ if (!m) {
115
+ throw new CanonicalJsonError('NON_CANONICAL_NUMBER', `Decimal 格式非法: ${JSON.stringify(raw)}`, path);
116
+ }
117
+ const sign = m[1] === '-' ? '-' : '';
118
+ let intPart = m[2] ?? '0';
119
+ let fracPart = m[3] ?? '';
120
+ const expStr = m[4] ?? '0';
121
+ // 资源上限:拒绝大指数 / 超长数字串(防 DoS / RangeError,Codex L1#3)。
122
+ if (expStr.length > 10) {
123
+ throw new CanonicalJsonError('DECIMAL_TOO_LARGE', `Decimal 指数过大: ${expStr}`, path);
124
+ }
125
+ const exp = parseInt(expStr, 10);
126
+ if (Math.abs(exp) > MAX_DECIMAL_EXPONENT) {
127
+ throw new CanonicalJsonError('DECIMAL_TOO_LARGE', `Decimal 指数超限(${exp} > ±${MAX_DECIMAL_EXPONENT})`, path);
128
+ }
129
+ // 展开指数:把 int.frac 视为无小数点的数字串,用 exp 决定小数点位置。
130
+ let digits = intPart + fracPart;
131
+ let pointPos = intPart.length + exp; // 小数点在 digits 中的位置(从左数)。
132
+ // 展开后总位数上限(防 1e4096 类构造出超长串)。
133
+ const expandedLen = pointPos <= 0
134
+ ? (1 - pointPos) + digits.length
135
+ : Math.max(pointPos, digits.length);
136
+ if (expandedLen > MAX_DECIMAL_DIGITS) {
137
+ throw new CanonicalJsonError('DECIMAL_TOO_LARGE', `Decimal 展开位数超限(${expandedLen} > ${MAX_DECIMAL_DIGITS})`, path);
138
+ }
139
+ if (pointPos <= 0) {
140
+ digits = '0'.repeat(1 - pointPos) + digits;
141
+ pointPos = 1;
142
+ }
143
+ if (pointPos >= digits.length) {
144
+ digits = digits + '0'.repeat(pointPos - digits.length);
145
+ }
146
+ intPart = digits.slice(0, pointPos);
147
+ fracPart = digits.slice(pointPos);
148
+ // 去无意义前导零(保留至少一位)。
149
+ intPart = intPart.replace(/^0+(?=\d)/, '');
150
+ // 去 trailing zero。
151
+ fracPart = fracPart.replace(/0+$/, '');
152
+ const body = fracPart.length > 0 ? `${intPart}.${fracPart}` : intPart;
153
+ // -0 归一为 0。
154
+ if (sign === '-' && /^0(?:\.0*)?$/.test(body)) {
155
+ return intPart; // "0"
156
+ }
157
+ return sign + body;
158
+ }
159
+ function canonicalizeValue(value, path, ctx) {
160
+ if (value === null)
161
+ return 'null';
162
+ const t = typeof value;
163
+ if (t === 'boolean')
164
+ return value ? 'true' : 'false';
165
+ if (t === 'number') {
166
+ if (isDecimalPath(path, ctx)) {
167
+ return canonicalDecimal(value, path);
168
+ }
169
+ return canonicalNumber(value, path);
170
+ }
171
+ if (t === 'string') {
172
+ if (isDecimalPath(path, ctx)) {
173
+ // Decimal 路径上的 string 承载精确值 → decimal canonical。
174
+ return canonicalDecimal(value, path);
175
+ }
176
+ return canonicalString(value);
177
+ }
178
+ if (Array.isArray(value)) {
179
+ // array 保序;元素路径用 `[i]`(typeCtx 匹配时归一为 `[]`)。
180
+ // ★拒绝 sparse array holes(Codex L2):map 会跳过 hole 产生非法/歧义 canonical,
181
+ // 用显式 `i in value` 检测,hole 直接 UNSUPPORTED_VALUE。
182
+ const parts = [];
183
+ for (let i = 0; i < value.length; i++) {
184
+ // own-property 检测(非 `i in value`,后者会把原型链索引当存在,Codex 复审 #3)。
185
+ if (!Object.prototype.hasOwnProperty.call(value, i)) {
186
+ throw new CanonicalJsonError('UNSUPPORTED_VALUE', `sparse array hole at index ${i}`, `${path}[${i}]`);
187
+ }
188
+ parts.push(canonicalizeValue(value[i], `${path}[${i}]`, ctx));
189
+ }
190
+ return `[${parts.join(',')}]`;
191
+ }
192
+ if (t === 'object') {
193
+ // ★只接受 plain object(Codex L2):Date/Map/Set/RegExp 等 typeof 也是 object,
194
+ // Object.keys 为空会被静默 canonical 成 `{}`,吞掉语义差异 → 显式拒绝非 plain object。
195
+ if (!isPlainObject(value)) {
196
+ throw new CanonicalJsonError('UNSUPPORTED_VALUE', `非 plain object(Date/Map/Set/RegExp/class 实例等不支持,须先转纯 JSON): ${Object.prototype.toString.call(value)}`, path);
197
+ }
198
+ // object key 按 Unicode code point 升序(含代理对,见 compareByCodePoint)。
199
+ const obj = value;
200
+ const keys = Object.keys(obj).sort(compareByCodePoint);
201
+ const parts = keys.map((k) => {
202
+ // 路径用 `.` 连接(与 typeCtx decimalPaths 写法一致,如 `applicants[].income`)。
203
+ // ★已知限制(Codex L3):JSON key 含 `.` 或 `[` 时路径会与 typeCtx 语法歧义。
204
+ // M1 缓解:Decimal 字段路径应从 schema/typed 模型自动导出(非手写散落),金融 input
205
+ // 字段名不含 `.`/`[`。含特殊字符 key 的子孙退化为普通处理——普通 number 走 safe-integer
206
+ // 铁律、string 保原值,不会静默精度漂移。M2 改 tokenized path array 彻底消歧义。
207
+ const childPath = path === '' ? k : `${path}.${k}`;
208
+ // value 显式输出(missing≠null:只有实际存在的 key 才输出)。
209
+ return `${canonicalString(k)}:${canonicalizeValue(obj[k], childPath, ctx)}`;
210
+ });
211
+ return `{${parts.join(',')}}`;
212
+ }
213
+ // undefined / function / symbol / bigint 等非 JSON 值。
214
+ throw new CanonicalJsonError('UNSUPPORTED_VALUE', `不支持的值类型: ${t}`, path);
215
+ }
216
+ /**
217
+ * 判断是否 plain object(对象字面量 / `Object.create(null)`),排除 Date/Map/Set/RegExp/
218
+ * class 实例等——它们 typeof 也是 'object' 但非纯 JSON 容器(Codex L2)。
219
+ */
220
+ function isPlainObject(value) {
221
+ if (value === null || typeof value !== 'object')
222
+ return false;
223
+ const proto = Object.getPrototypeOf(value);
224
+ return proto === Object.prototype || proto === null;
225
+ }
226
+ /** 按 Unicode code point 比较(正确处理代理对,避免 code unit 序在补充平面字符上的偏差)。 */
227
+ export function compareByCodePoint(a, b) {
228
+ const ai = Array.from(a);
229
+ const bi = Array.from(b);
230
+ const n = Math.min(ai.length, bi.length);
231
+ for (let i = 0; i < n; i++) {
232
+ const ca = ai[i].codePointAt(0);
233
+ const cb = bi[i].codePointAt(0);
234
+ if (ca !== cb)
235
+ return ca - cb;
236
+ }
237
+ return ai.length - bi.length;
238
+ }
239
+ /**
240
+ * 把任意 JSON 值序列化为 canonical 字符串(确定性、跨实现可复现)。
241
+ * @throws CanonicalJsonError 遇到 NaN/Infinity/非法 Decimal/非 JSON 值。
242
+ */
243
+ export function canonicalJson(value, ctx) {
244
+ return canonicalizeValue(value, '', ctx);
245
+ }
246
+ /** 便捷构造 typeCtx(从 Decimal 路径数组)。 */
247
+ export function decimalTypeContext(decimalPaths) {
248
+ return { decimalPaths: new Set(decimalPaths.map(normalizePathForMatch)) };
249
+ }
250
+ //# sourceMappingURL=canonical-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-json.js","sourceRoot":"","sources":["../../../src/core/canonical-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAC;AASlE;;;GAGG;AACH,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEzB;IAGA;IAJlB,YACkB,MAA4B,EAC5C,OAAe;IACf,6CAA6C;IAC7B,IAAY;QAE5B,KAAK,CAAC,GAAG,MAAM,OAAO,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAL1B,WAAM,GAAN,MAAM,CAAsB;QAG5B,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAeD,+CAA+C;AAC/C,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,GAAqC;IACxE,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,KAAa,EAAE,IAAY;IAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,EAAE,oBAAoB,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;IACD,+DAA+D;IAC/D,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,kBAAkB,CAC1B,oBAAoB,EACpB,4EAA4E,KAAK,EAAE,EACnF,IAAI,CACL,CAAC;IACJ,CAAC;IACD,6CAA6C;IAC7C,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAoB,EAAE,IAAY;IAC1D,6DAA6D;IAC7D,iDAAiD;IACjD,8DAA8D;IAC9D,IAAI,CAAS,CAAC;IACd,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,oEAAoE;QACpE,gEAAgE;QAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,EAAE,4BAA4B,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,kBAAkB,CAC1B,oBAAoB,EACpB,2EAA2E,GAAG,EAAE,EAChF,IAAI,CACL,CAAC;QACJ,CAAC;QACD,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,CAAC,GAAG,GAAG,CAAC;IACV,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,GAAG,+CAA+C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,kBAAkB,CAAC,sBAAsB,EAAE,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAC1B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAE3B,qDAAqD;IACrD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,iBAAiB,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,oBAAoB,EAAE,CAAC;QACzC,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,OAAO,oBAAoB,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7G,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAChC,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,yBAAyB;IAE9D,8BAA8B;IAC9B,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM;QAChC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACrC,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,kBAAkB,WAAW,MAAM,kBAAkB,GAAG,EAAE,IAAI,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC;QAC3C,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElC,mBAAmB;IACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3C,mBAAmB;IACnB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEvC,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACtE,YAAY;IACZ,IAAI,IAAI,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC,CAAC,MAAM;IACxB,CAAC;IACD,OAAO,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAc,EACd,IAAY,EACZ,GAAqC;IAErC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAElC,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC;IAEvB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAErD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnB,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,gBAAgB,CAAC,KAAe,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,eAAe,CAAC,KAAe,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnB,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7B,iDAAiD;YACjD,OAAO,gBAAgB,CAAC,KAAe,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,eAAe,CAAC,KAAe,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,6CAA6C;QAC7C,mEAAmE;QACnE,iDAAiD;QACjD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,4DAA4D;YAC5D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YACxG,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnB,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,kBAAkB,CAC1B,mBAAmB,EACnB,+DAA+D,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EACtG,IAAI,CACL,CAAC;QACJ,CAAC;QACD,iEAAiE;QACjE,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,mEAAmE;YACnE,2DAA2D;YAC3D,2DAA2D;YAC3D,+DAA+D;YAC/D,0DAA0D;YAC1D,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YACnD,4CAA4C;YAC5C,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,CAAC;IAED,oDAAoD;IACpD,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,kBAAkB,CAAC,CAAS,EAAE,CAAS;IACrD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;QAClC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,GAA0B;IACtE,OAAO,iBAAiB,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,kBAAkB,CAAC,YAA+B;IAChE,OAAO,EAAE,YAAY,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC"}