@blue-labs/language 4.1.2 → 5.0.0-rc.1

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 (199) hide show
  1. package/dist/Blue-B7SYp5QY.mjs +8237 -0
  2. package/dist/Blue-CTQkRrnu.js +98 -0
  3. package/dist/conformance.d.ts +3 -0
  4. package/dist/conformance.d.ts.map +1 -0
  5. package/dist/conformance.js +6 -0
  6. package/dist/conformance.mjs +1258 -0
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -27
  10. package/dist/index.mjs +679 -6799
  11. package/dist/lib/Blue.d.ts +5 -2
  12. package/dist/lib/Blue.d.ts.map +1 -1
  13. package/dist/lib/conformance/BlueConformanceSuiteRunner.d.ts +68 -0
  14. package/dist/lib/conformance/BlueConformanceSuiteRunner.d.ts.map +1 -0
  15. package/dist/lib/conformance/BlueLanguageConformanceReport.d.ts +37 -0
  16. package/dist/lib/conformance/BlueLanguageConformanceReport.d.ts.map +1 -0
  17. package/dist/lib/conformance/JavaBlueIdCalculator.d.ts +19 -0
  18. package/dist/lib/conformance/JavaBlueIdCalculator.d.ts.map +1 -0
  19. package/dist/lib/conformance/conformance-expect.d.ts +17 -0
  20. package/dist/lib/conformance/conformance-expect.d.ts.map +1 -0
  21. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/.gitkeep +1 -0
  22. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_double_1e0.yaml +6 -0
  23. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_double_negative_zero.yaml +14 -0
  24. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_double_overflow_rejected.yaml +9 -0
  25. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_empty_list.yaml +6 -0
  26. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_empty_object_list_element_rejected.yaml +10 -0
  27. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_empty_placeholder.yaml +10 -0
  28. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_integer_1_vs_double_1_0.yaml +7 -0
  29. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_invalid_this_placeholder_rejected.yaml +7 -0
  30. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_large_integer_quoted_explicit_integer.yaml +10 -0
  31. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_list_sugar_equivalence.yaml +12 -0
  32. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_malformed_empty_rejected.yaml +8 -0
  33. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_null_list_element_rejected.yaml +10 -0
  34. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_object_field_null_removal.yaml +8 -0
  35. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_payload_only_scalar_typed_identity.yaml +11 -0
  36. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_plain_blueid_validation.yaml +7 -0
  37. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_pos_rejected.yaml +10 -0
  38. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_previous_invalid_blueid_rejected.yaml +11 -0
  39. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_replace_rejected.yaml +10 -0
  40. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_root_empty_object.yaml +6 -0
  41. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_root_list.yaml +8 -0
  42. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_root_null_rejected.yaml +6 -0
  43. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_root_pure_reference.yaml +7 -0
  44. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_root_scalar.yaml +6 -0
  45. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_scalar_sugar_equivalence.yaml +8 -0
  46. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_type_alias_rejected_in_direct_blueid_input.yaml +9 -0
  47. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/blueid/B_unquoted_large_integer_rejected.yaml +7 -0
  48. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/circular/C_circular_reference_set_ids.yaml +14 -0
  49. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/circular/C_duplicate_preliminary_ids_deterministic_or_rejected.yaml +12 -0
  50. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/circular/C_this_placeholder_rejected_outside_cyclic_api.yaml +7 -0
  51. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/circular/C_three_document_cycle_stable_order.yaml +18 -0
  52. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/circular/C_zero_blueid_rejected_in_final_input.yaml +7 -0
  53. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/lint/L_no_profile_era_language_conformance_terms.yaml +45 -0
  54. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/manifest.yaml +234 -0
  55. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_collapse_does_not_produce_mixed_blueid.yaml +10 -0
  56. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_collapse_nested_subtree_preserves_node_blueid.yaml +10 -0
  57. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_collapse_preserves_node_blueid.yaml +9 -0
  58. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_expand_missing_nested_content_fails.yaml +9 -0
  59. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_expand_nested_reference_preserves_node_blueid.yaml +14 -0
  60. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_expand_preserves_node_blueid.yaml +11 -0
  61. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_expand_wrong_nested_provider_content_fails.yaml +12 -0
  62. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_provider_missing_content_fails.yaml +9 -0
  63. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/provider/F_provider_wrong_blueid_rejected.yaml +13 -0
  64. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/registry/changingCoreTypeDescriptionChangesBlueId.yaml +9 -0
  65. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/registry/coreRegistryBooleanNodeHashesToPublishedBlueId.yaml +7 -0
  66. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/registry/coreRegistryDictionaryNodeHashesToPublishedBlueId.yaml +7 -0
  67. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/registry/coreRegistryDoubleNodeHashesToPublishedBlueId.yaml +7 -0
  68. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/registry/coreRegistryIntegerNodeHashesToPublishedBlueId.yaml +7 -0
  69. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/registry/coreRegistryListNodeHashesToPublishedBlueId.yaml +7 -0
  70. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/registry/coreRegistryTextNodeHashesToPublishedBlueId.yaml +7 -0
  71. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_blue_imports.yaml +15 -0
  72. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_blue_imports_type_itemType_keyType_valueType.yaml +24 -0
  73. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_canonical_overlay_no_previous_no_pos.yaml +18 -0
  74. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_canonicalization_deterministic_for_same_resolved_view.yaml +11 -0
  75. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_child_field_labels_materialize_until_overridden.yaml +26 -0
  76. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_contracts_canonicalization_deterministic.yaml +18 -0
  77. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_contracts_merge_as_content.yaml +21 -0
  78. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_core_type_compatibility_nominal_by_blueid.yaml +11 -0
  79. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_enum_integer_vs_double.yaml +14 -0
  80. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_inherited_append_only_policy.yaml +16 -0
  81. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_inherited_item_type.yaml +13 -0
  82. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_inherited_keyType_valueType.yaml +16 -0
  83. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_instance_field_kept.yaml +11 -0
  84. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_provider_reference_canonicalizes_back.yaml +13 -0
  85. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_provider_reference_with_overlay_keeps_overlay.yaml +16 -0
  86. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_schema_double_multiple_of_exact.yaml +17 -0
  87. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_schema_double_multiple_of_rejects_decimal_approximation.yaml +12 -0
  88. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_schema_enum_order_and_duplicates_canonical.yaml +26 -0
  89. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_schema_integer_multiple_of_lcm_merge.yaml +17 -0
  90. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_schema_large_integer_minimum_with_type_alias.yaml +15 -0
  91. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_schema_value_shapes.yaml +10 -0
  92. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_schema_wrong_kind_keywords_rejected.yaml +10 -0
  93. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_source_empty_object_list_to_empty.yaml +14 -0
  94. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_source_null_list_to_empty.yaml +14 -0
  95. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_source_recursive_empty_object_list_to_empty.yaml +15 -0
  96. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_top_level_type_name_description_not_inherited.yaml +21 -0
  97. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_type_aliases_removed_from_canonical_overlay.yaml +15 -0
  98. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_type_derived_field_removed.yaml +11 -0
  99. package/dist/lib/conformance/fixtures/blue-language-1.0/fixtures/resolver/R_view_path_root_is_empty_string.yaml +25 -0
  100. package/dist/lib/conformance/fixtures/blue-language-1.0/language/1.0/spec.md +2932 -0
  101. package/dist/lib/conformance/fixtures/blue-language-1.0/registry/blue-language-1.0/Boolean.blue +6 -0
  102. package/dist/lib/conformance/fixtures/blue-language-1.0/registry/blue-language-1.0/Dictionary.blue +17 -0
  103. package/dist/lib/conformance/fixtures/blue-language-1.0/registry/blue-language-1.0/Double.blue +12 -0
  104. package/dist/lib/conformance/fixtures/blue-language-1.0/registry/blue-language-1.0/Integer.blue +11 -0
  105. package/dist/lib/conformance/fixtures/blue-language-1.0/registry/blue-language-1.0/List.blue +14 -0
  106. package/dist/lib/conformance/fixtures/blue-language-1.0/registry/blue-language-1.0/Text.blue +9 -0
  107. package/dist/lib/conformance/fixtures/blue-language-1.0/registry/blue-language-1.0/manifest.yaml +8 -0
  108. package/dist/lib/errors/BlueError.d.ts +23 -1
  109. package/dist/lib/errors/BlueError.d.ts.map +1 -1
  110. package/dist/lib/identity/CyclicSetIdentityService.d.ts +1 -1
  111. package/dist/lib/identity/CyclicSetIdentityService.d.ts.map +1 -1
  112. package/dist/lib/identity/SemanticIdentityService.d.ts.map +1 -1
  113. package/dist/lib/index.d.ts +3 -0
  114. package/dist/lib/index.d.ts.map +1 -1
  115. package/dist/lib/mapping/ComplexObjectConverter.d.ts.map +1 -1
  116. package/dist/lib/mapping/ConverterFactory.d.ts.map +1 -1
  117. package/dist/lib/mapping/ValueConverter.d.ts.map +1 -1
  118. package/dist/lib/merge/Merger.d.ts +4 -0
  119. package/dist/lib/merge/Merger.d.ts.map +1 -1
  120. package/dist/lib/merge/MergingProcessor.d.ts +10 -0
  121. package/dist/lib/merge/MergingProcessor.d.ts.map +1 -1
  122. package/dist/lib/merge/processors/DictionaryProcessor.d.ts.map +1 -1
  123. package/dist/lib/merge/processors/ListProcessor.d.ts +2 -0
  124. package/dist/lib/merge/processors/ListProcessor.d.ts.map +1 -1
  125. package/dist/lib/merge/processors/SchemaPropagator.d.ts +13 -0
  126. package/dist/lib/merge/processors/SchemaPropagator.d.ts.map +1 -0
  127. package/dist/lib/merge/processors/SchemaVerifier.d.ts +16 -0
  128. package/dist/lib/merge/processors/SchemaVerifier.d.ts.map +1 -0
  129. package/dist/lib/merge/processors/SequentialMergingProcessor.d.ts +2 -0
  130. package/dist/lib/merge/processors/SequentialMergingProcessor.d.ts.map +1 -1
  131. package/dist/lib/merge/processors/TypeAssigner.d.ts.map +1 -1
  132. package/dist/lib/merge/processors/ValuePropagator.d.ts.map +1 -1
  133. package/dist/lib/merge/processors/index.d.ts +2 -0
  134. package/dist/lib/merge/processors/index.d.ts.map +1 -1
  135. package/dist/lib/merge/utils/default.d.ts.map +1 -1
  136. package/dist/lib/model/Node.d.ts +18 -1
  137. package/dist/lib/model/Node.d.ts.map +1 -1
  138. package/dist/lib/model/NodeDeserializer.d.ts +5 -0
  139. package/dist/lib/model/NodeDeserializer.d.ts.map +1 -1
  140. package/dist/lib/model/ResolvedNode.d.ts.map +1 -1
  141. package/dist/lib/model/Schema.d.ts +14 -0
  142. package/dist/lib/model/Schema.d.ts.map +1 -0
  143. package/dist/lib/model/index.d.ts +1 -0
  144. package/dist/lib/model/index.d.ts.map +1 -1
  145. package/dist/lib/preprocess/Preprocessor.d.ts +8 -1
  146. package/dist/lib/preprocess/Preprocessor.d.ts.map +1 -1
  147. package/dist/lib/provider/InMemoryNodeProvider.d.ts.map +1 -1
  148. package/dist/lib/provider/RepositoryBasedNodeProvider.d.ts +2 -0
  149. package/dist/lib/provider/RepositoryBasedNodeProvider.d.ts.map +1 -1
  150. package/dist/lib/provider/VerifyingNodeProvider.d.ts +14 -0
  151. package/dist/lib/provider/VerifyingNodeProvider.d.ts.map +1 -0
  152. package/dist/lib/repository/BuiltinRuntimeTypes.d.ts +360 -0
  153. package/dist/lib/repository/BuiltinRuntimeTypes.d.ts.map +1 -0
  154. package/dist/lib/repository/RepositoryContentCanonicalizer.d.ts.map +1 -1
  155. package/dist/lib/repository/RepositoryRuntime.d.ts +1 -1
  156. package/dist/lib/repository/RepositoryRuntime.d.ts.map +1 -1
  157. package/dist/lib/snapshot/CanonicalOverlayPatchEngine.d.ts +6 -0
  158. package/dist/lib/snapshot/CanonicalOverlayPatchEngine.d.ts.map +1 -0
  159. package/dist/lib/snapshot/FrozenNode.d.ts +80 -0
  160. package/dist/lib/snapshot/FrozenNode.d.ts.map +1 -0
  161. package/dist/lib/snapshot/FrozenNodeToBlueIdInput.d.ts +5 -0
  162. package/dist/lib/snapshot/FrozenNodeToBlueIdInput.d.ts.map +1 -0
  163. package/dist/lib/snapshot/ResolvedReferenceCache.d.ts +8 -0
  164. package/dist/lib/snapshot/ResolvedReferenceCache.d.ts.map +1 -0
  165. package/dist/lib/snapshot/ResolvedSnapshot.d.ts +8 -0
  166. package/dist/lib/snapshot/ResolvedSnapshot.d.ts.map +1 -0
  167. package/dist/lib/snapshot/index.d.ts +6 -0
  168. package/dist/lib/snapshot/index.d.ts.map +1 -0
  169. package/dist/lib/types/BlueRepository.d.ts +1 -1
  170. package/dist/lib/utils/BlueIdCalculator.d.ts +19 -1
  171. package/dist/lib/utils/BlueIdCalculator.d.ts.map +1 -1
  172. package/dist/lib/utils/BlueIds.d.ts +9 -1
  173. package/dist/lib/utils/BlueIds.d.ts.map +1 -1
  174. package/dist/lib/utils/BlueNumbers.d.ts +7 -0
  175. package/dist/lib/utils/BlueNumbers.d.ts.map +1 -0
  176. package/dist/lib/utils/ListControls.d.ts.map +1 -1
  177. package/dist/lib/utils/MergeReverser.d.ts +10 -0
  178. package/dist/lib/utils/MergeReverser.d.ts.map +1 -1
  179. package/dist/lib/utils/NodePatch/patch-utils.d.ts +1 -1
  180. package/dist/lib/utils/NodeProviderWrapper.d.ts +4 -0
  181. package/dist/lib/utils/NodeProviderWrapper.d.ts.map +1 -1
  182. package/dist/lib/utils/NodeToBlueIdInput.d.ts +34 -0
  183. package/dist/lib/utils/NodeToBlueIdInput.d.ts.map +1 -0
  184. package/dist/lib/utils/NodeToMapListOrValue.d.ts.map +1 -1
  185. package/dist/lib/utils/NodeTransformer.d.ts.map +1 -1
  186. package/dist/lib/utils/NodeTypeMatcher.d.ts +27 -1
  187. package/dist/lib/utils/NodeTypeMatcher.d.ts.map +1 -1
  188. package/dist/lib/utils/NodeTypes.d.ts +1 -0
  189. package/dist/lib/utils/NodeTypes.d.ts.map +1 -1
  190. package/dist/lib/utils/Properties.d.ts +97 -10
  191. package/dist/lib/utils/Properties.d.ts.map +1 -1
  192. package/dist/lib/utils/TypeSchema.d.ts +0 -1
  193. package/dist/lib/utils/TypeSchema.d.ts.map +1 -1
  194. package/dist/lib/utils/index.d.ts +4 -1
  195. package/dist/lib/utils/index.d.ts.map +1 -1
  196. package/dist/schema/jsonBlue.d.ts +1 -1
  197. package/dist/schema/utils.d.ts.map +1 -1
  198. package/dist/utils/yamlBlue/type/float.d.ts.map +1 -1
  199. package/package.json +8 -3
@@ -2,7 +2,7 @@ import { JsonBlueValue } from '../schema';
2
2
  import { BlueNode } from './model';
3
3
  import { ResolvedBlueNode } from './model/ResolvedNode';
4
4
  import { NodeProvider } from './NodeProvider';
5
- import { TypeSchemaResolver } from './utils';
5
+ import { NodeTypeMatcherOptions, TypeSchemaResolver } from './utils';
6
6
  import { ZodTypeDef, ZodType, AnyZodObject } from 'zod';
7
7
  import { UrlContentFetcher, UrlFetchStrategy } from './provider/UrlContentFetcher';
8
8
  import { BlueIdsMappingGenerator, BlueIdsRecord } from './preprocess/utils/BlueIdsMappingGenerator';
@@ -73,8 +73,10 @@ export declare class Blue {
73
73
  restoreInlineTypes(node: BlueNode): BlueNode;
74
74
  extend(node: BlueNode, limits: Limits): void;
75
75
  jsonValueToNode(json: unknown): BlueNode;
76
+ jsonValueToNodeUnchecked(json: unknown): BlueNode;
76
77
  jsonValueToNodeAsync(json: unknown): Promise<BlueNode>;
77
78
  yamlToNode(yaml: string): BlueNode;
79
+ yamlToNodeUnchecked(yaml: string): BlueNode;
78
80
  yamlToNodeAsync(yaml: string): Promise<BlueNode>;
79
81
  private prepareForBlueIdCalculation;
80
82
  calculateBlueId: (value: JsonBlueValue | BlueNode | BlueNode[]) => Promise<string>;
@@ -151,6 +153,7 @@ export declare class Blue {
151
153
  * @returns true if URL fetching is enabled, false otherwise
152
154
  */
153
155
  isPreprocessingDirectivesFetchForUrlsEnabled(): boolean;
156
+ private includeBuiltinRuntimeTypesRepository;
154
157
  getPreprocessingAliases(): Map<string, string>;
155
158
  setPreprocessingAliases(aliases: Map<string, string>): Blue;
156
159
  /**
@@ -200,7 +203,7 @@ export declare class Blue {
200
203
  * @param type - The BlueNode type to check against.
201
204
  * @returns true if the node matches the type, false otherwise.
202
205
  */
203
- isTypeOfNode(node: BlueNode, type: BlueNode): boolean;
206
+ isTypeOfNode(node: BlueNode, type: BlueNode, options?: NodeTypeMatcherOptions): boolean;
204
207
  /**
205
208
  * Sets the global limits for this Blue instance.
206
209
  * These limits will be combined with method-specific limits when resolving or extending nodes.
@@ -1 +1 @@
1
- {"version":3,"file":"Blue.d.ts","sourceRoot":"","sources":["../../src/lib/Blue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAoB,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAOL,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAIxD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,uBAAuB,EACvB,aAAa,EACd,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,MAAM,EAAuB,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQ5D,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,qBAAa,IAAI;IACf,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,yBAAyB,CAA4B;IAC7D,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAmB;IACxC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,OAAO,GAAE,WAAgB;IAkDrC;;;;;;OAMG;IACI,UAAU,CACf,IAAI,EAAE,QAAQ,EACd,iBAAiB,GAAE,gBAAgB,GAAG,iBAA8B;IAStE;;;OAGG;IACI,UAAU,CACf,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,gBAAgB,GAAG,iBAA8B;IAWtD,kBAAkB,CACvB,MAAM,GAAG,OAAO,EAChB,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,GAAG,MAAM,EACd,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM;IAOvD,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAE,MAAkB,GAAG,gBAAgB;IAa5E;;;;;;;OAOG;IACI,kBAAkB,CAAC,YAAY,EAAE,QAAQ,GAAG,gBAAgB;IAOnE;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ;IAI7B;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAO9B;;;;;;OAMG;IACI,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAQ5C,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;IAKrC,eAAe,CAAC,IAAI,EAAE,OAAO;IASvB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAW5D,UAAU,CAAC,IAAI,EAAE,MAAM;IAQjB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ7D,OAAO,CAAC,2BAA2B,CAkBjC;IAEK,eAAe,GACpB,OAAO,aAAa,GAAG,QAAQ,GAAG,QAAQ,EAAE,qBAO5C;IAEF,OAAO,CAAC,+BAA+B,CAerC;IAEK,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,GAAG,QAAQ,EAAE;IAQvE;;;;;;;;;OASG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IASpE,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI3D,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAS9B,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAUxD,SAAS,CACd,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,GACxC,QAAQ;IAIJ,eAAe,IAAI,YAAY;IAI/B,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IASxD,OAAO,CAAC,uBAAuB;IAWxB,qBAAqB,IAAI,kBAAkB,GAAG,IAAI;IAIlD,qBAAqB,CAC1B,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,GAC5C,IAAI;IAMA,oBAAoB,IAAI,iBAAiB;IAIzC,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAKpE;;;;;;OAMG;IACI,yCAAyC,IAAI,IAAI;IAKxD;;;;;;OAMG;IACI,4CAA4C,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAK5E;;;;;OAKG;IACI,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKtD;;;;;OAKG;IACI,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKzD;;;;;OAKG;IACI,4BAA4B,IAAI,MAAM,EAAE;IAI/C;;;;OAIG;IACI,0CAA0C,IAAI,IAAI;IAKzD;;;;OAIG;IACI,4CAA4C,IAAI,OAAO;IAIvD,uBAAuB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI9C,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAKlE;;;;OAIG;IACI,eAAe,CAAC,GAAG,kBAAkB,EAAE,aAAa,EAAE,GAAG,IAAI;IAKpE;;;OAGG;IACI,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxD;;;OAGG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAIpC;;;OAGG;IACI,0BAA0B,IAAI,uBAAuB;IAI5D;;;;;;;OAOG;IACI,QAAQ,CACb,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QACR,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GACA,OAAO;IAQV;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAa9D;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;IAIlD;;;;;;OAMG;IACI,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKzD;;;;OAIG;IACI,eAAe,IAAI,MAAM;IAIhC,OAAO,CAAC,0BAA0B;IAmBlC,OAAO,CAAC,gCAAgC;IAkBxC,OAAO,CAAC,uBAAuB;CAWhC"}
1
+ {"version":3,"file":"Blue.d.ts","sourceRoot":"","sources":["../../src/lib/Blue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { BlueLanguageErrorCategory } from '../errors/BlueError';
2
+ import { BlueLanguageConformanceReport, BlueLanguageFixtureEntry } from './BlueLanguageConformanceReport';
3
+ export type FixtureBlueLanguageErrorCategory = BlueLanguageErrorCategory;
4
+ export interface LanguageFixtureEntry {
5
+ readonly id: string;
6
+ readonly category: string;
7
+ readonly path: string;
8
+ }
9
+ export interface LanguageFixtureSpec {
10
+ readonly id: string;
11
+ readonly category: string;
12
+ readonly operation: string;
13
+ readonly description?: string;
14
+ readonly expectError?: boolean;
15
+ readonly expectedErrorCategory?: FixtureBlueLanguageErrorCategory;
16
+ readonly expectedErrorCategories?: FixtureBlueLanguageErrorCategory[];
17
+ readonly provider?: unknown;
18
+ readonly input?: unknown;
19
+ readonly source?: unknown;
20
+ readonly document?: unknown;
21
+ readonly documents?: unknown;
22
+ readonly left?: unknown;
23
+ readonly right?: unknown;
24
+ readonly assertions?: ViewPathAssertion[];
25
+ readonly expectedNodeBlueId?: string;
26
+ readonly expectedContentBlueId?: string;
27
+ readonly expectedBlueIds?: string[];
28
+ readonly expectedPublishedBlueId?: string;
29
+ readonly expectedParsed?: unknown;
30
+ readonly expectedPreprocessed?: unknown;
31
+ readonly expectedResolved?: unknown;
32
+ readonly expectedCanonicalOverlay?: unknown;
33
+ readonly expectedExpanded?: unknown;
34
+ readonly expectedCollapsed?: unknown;
35
+ readonly alsoEquivalentTo?: unknown;
36
+ readonly alsoDifferentFrom?: unknown;
37
+ readonly registryKind?: string;
38
+ readonly registryKey?: string;
39
+ readonly semanticDescriptionIdentityBearing?: boolean;
40
+ readonly mutation?: RegistryMutation;
41
+ readonly expectBlueIdChanged?: boolean;
42
+ readonly publishableFiles?: string[];
43
+ readonly requiredHeadings?: string[];
44
+ readonly forbiddenJoinedTerms?: ForbiddenJoinedTerm[];
45
+ readonly matchRule?: string;
46
+ }
47
+ interface RegistryMutation {
48
+ readonly field: string;
49
+ readonly append?: string;
50
+ }
51
+ interface ForbiddenJoinedTerm {
52
+ readonly tokens: string[];
53
+ readonly joiner: string;
54
+ }
55
+ interface ViewPathAssertion {
56
+ readonly path: string;
57
+ readonly expectedRoot?: boolean;
58
+ readonly expectedNode?: unknown;
59
+ }
60
+ export declare function languageConformanceFixtureEntries(): LanguageFixtureEntry[];
61
+ export interface ConformanceOptions {
62
+ readonly mutateFixture?: (entry: BlueLanguageFixtureEntry, spec: LanguageFixtureSpec) => LanguageFixtureSpec;
63
+ }
64
+ export declare function runLanguageConformanceSuite(options?: ConformanceOptions): Promise<BlueLanguageConformanceReport>;
65
+ export declare function runLanguageFixtureEntry(entry: LanguageFixtureEntry, mutateFixture?: (entry: LanguageFixtureEntry, spec: LanguageFixtureSpec) => LanguageFixtureSpec): void;
66
+ export declare function runLanguageFixtureSpec(spec: LanguageFixtureSpec): void;
67
+ export {};
68
+ //# sourceMappingURL=BlueConformanceSuiteRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlueConformanceSuiteRunner.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/BlueConformanceSuiteRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export declare const BLUE_LANGUAGE_1_0_FIXTURE_PACKAGE_IDENTITY = "sha256:3387cb4b6626fc56cec91d584b2df7f37c229e396dee990750ac50e762a1bc1d";
2
+ export declare const BLUE_LANGUAGE_1_0_FIXTURE_COUNT = 77;
3
+ export interface BlueLanguageConformanceFailure {
4
+ readonly fixtureId: string;
5
+ readonly category: string;
6
+ readonly operation: string;
7
+ readonly message: string;
8
+ readonly cause?: string;
9
+ readonly classification?: string;
10
+ }
11
+ export declare class BlueLanguageConformanceReport {
12
+ readonly specVersion: string;
13
+ readonly fixturePackageIdentity: string;
14
+ private readonly passedIds;
15
+ private readonly failed;
16
+ private readonly identityMatches;
17
+ private readonly requiredCoverage;
18
+ private readonly exactFixtureSet;
19
+ constructor(specVersion: string, fixturePackageIdentity: string, passedIds: readonly string[], failed: readonly BlueLanguageConformanceFailure[], identityMatches: boolean, requiredCoverage: boolean, exactFixtureSet: boolean);
20
+ fixturePackageIdentityMatchesFixtureFiles(): boolean;
21
+ hasRequiredFixtureCoverage(): boolean;
22
+ hasExactRequiredFixtureSet(): boolean;
23
+ passedFixtureIds(): string[];
24
+ failedFixtureIds(): string[];
25
+ failures(): BlueLanguageConformanceFailure[];
26
+ }
27
+ export interface BlueLanguageFixtureEntry {
28
+ readonly id: string;
29
+ readonly category: string;
30
+ readonly path: string;
31
+ readonly operation?: string;
32
+ }
33
+ export declare function fixturePackageIdentityMatchesFixtureFiles(): boolean;
34
+ export declare function hasRequiredFixtureCoverage(): boolean;
35
+ export declare function hasExactRequiredFixtureSet(): boolean;
36
+ export declare function loadLanguageConformanceFixtureEntries(): BlueLanguageFixtureEntry[];
37
+ //# sourceMappingURL=BlueLanguageConformanceReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlueLanguageConformanceReport.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/BlueLanguageConformanceReport.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,0CAA0C,4EACoB,CAAC;AAE5E,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAElD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,6BAA6B;IAEtC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,sBAAsB,EAAE,MAAM;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBANvB,WAAW,EAAE,MAAM,EACnB,sBAAsB,EAAE,MAAM,EACtB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,MAAM,EAAE,SAAS,8BAA8B,EAAE,EACjD,eAAe,EAAE,OAAO,EACxB,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,OAAO;IAG3C,yCAAyC,IAAI,OAAO;IAIpD,0BAA0B,IAAI,OAAO;IAIrC,0BAA0B,IAAI,OAAO;IAIrC,gBAAgB,IAAI,MAAM,EAAE;IAI5B,gBAAgB,IAAI,MAAM,EAAE;IAI5B,QAAQ,IAAI,8BAA8B,EAAE;CAG7C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAiBD,wBAAgB,yCAAyC,IAAI,OAAO,CAKnE;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAKpD;AAED,wBAAgB,0BAA0B,IAAI,OAAO,CAWpD;AAED,wBAAgB,qCAAqC,IAAI,wBAAwB,EAAE,CAmBlF"}
@@ -0,0 +1,19 @@
1
+ import { BlueNode } from '../model/Node';
2
+ import { BlueIdInputValue } from '../utils/NodeToBlueIdInput';
3
+ export declare class JavaBlueIdCalculator {
4
+ private static readonly hashProvider;
5
+ static calculateBlueIdSync(node: BlueNode): string;
6
+ static calculateBlueIdAllowingCyclicPlaceholdersSync(node: BlueNode): string;
7
+ static calculateListBlueIdSync(nodes: BlueNode[]): string;
8
+ static calculateListBlueIdAllowingCyclicPlaceholdersSync(nodes: BlueNode[]): string;
9
+ static calculateInputSync(input: BlueIdInputValue): string;
10
+ private static calculateCleaned;
11
+ private static calculateMap;
12
+ private static calculateList;
13
+ private static cleanRoot;
14
+ private static cleanObjectField;
15
+ private static isPreviousControl;
16
+ private static previousBlueId;
17
+ private static isScalar;
18
+ }
19
+ //# sourceMappingURL=JavaBlueIdCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JavaBlueIdCalculator.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/JavaBlueIdCalculator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AAkBpC,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA8B;WAEpD,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;WAI3C,6CAA6C,CACzD,IAAI,EAAE,QAAQ,GACb,MAAM;WAMK,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;WAMlD,iDAAiD,CAC7D,KAAK,EAAE,QAAQ,EAAE,GAChB,MAAM;WAQK,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIjE,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAU/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAsB3B,OAAO,CAAC,MAAM,CAAC,aAAa;IAmB5B,OAAO,CAAC,MAAM,CAAC,SAAS;IAoBxB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsB/B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAmBhC,OAAO,CAAC,MAAM,CAAC,cAAc;IAO7B,OAAO,CAAC,MAAM,CAAC,QAAQ;CASxB"}
@@ -0,0 +1,17 @@
1
+ export declare function expect(actual: unknown, message?: string): ConformanceExpect;
2
+ declare class ConformanceExpect {
3
+ private readonly actual;
4
+ private readonly message?;
5
+ readonly not: NegatedConformanceExpect;
6
+ constructor(actual: unknown, message?: string | undefined);
7
+ toBe(expected: unknown): void;
8
+ toEqual(expected: unknown): void;
9
+ }
10
+ declare class NegatedConformanceExpect {
11
+ private readonly actual;
12
+ private readonly message?;
13
+ constructor(actual: unknown, message?: string | undefined);
14
+ toBe(expected: unknown): void;
15
+ }
16
+ export {};
17
+ //# sourceMappingURL=conformance-expect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conformance-expect.d.ts","sourceRoot":"","sources":["../../../src/lib/conformance/conformance-expect.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAE3E;AAED,cAAM,iBAAiB;IAInB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAJ3B,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC;gBAGpB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,YAAA;IAKnC,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7B,OAAO,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;CAGjC;AAED,cAAM,wBAAwB;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBADR,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,YAAA;IAGnC,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;CAG9B"}
@@ -0,0 +1,6 @@
1
+ id: B_double_1e0
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: exponent notation 1e0 is inferred as Double
5
+ input: 1e0
6
+ expectedNodeBlueId: 8BCB5pcQa5PAHvBa2FSzEWe9MZ5YEirsuymGaE2BM3MA
@@ -0,0 +1,14 @@
1
+ id: B_double_negative_zero
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: Double negative zero canonicalizes to numeric payload 0 while retaining
5
+ Double type
6
+ input:
7
+ type:
8
+ blueId: 9eWaHYz2vKrFofdHTHAizNNu8xP6QE3WQ5y7DGrGZvyJ
9
+ value: -0.0
10
+ expectedNodeBlueId: EMyry1HoEveRhdWaq554hVrrciRW1731ik3bXLLyN36U
11
+ alsoEquivalentTo:
12
+ type:
13
+ blueId: 9eWaHYz2vKrFofdHTHAizNNu8xP6QE3WQ5y7DGrGZvyJ
14
+ value: 0.0
@@ -0,0 +1,9 @@
1
+ id: B_double_overflow_rejected
2
+ category: BlueId
3
+ operation: parseBlueIdInput
4
+ description: Double overflow is rejected as a non-finite numeric token
5
+ expectError: true
6
+ input:
7
+ type:
8
+ blueId: 9eWaHYz2vKrFofdHTHAizNNu8xP6QE3WQ5y7DGrGZvyJ
9
+ value: 1e999
@@ -0,0 +1,6 @@
1
+ id: B_empty_list
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: empty list remains hashable as list content
5
+ input: []
6
+ expectedNodeBlueId: 4mfDwwrpfVGMwKn82vsr4rVX484P8DAMy5RNEVXqsy9h
@@ -0,0 +1,10 @@
1
+ id: B_empty_object_list_element_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: direct BlueId Input rejects empty-object list elements
5
+ expectError: true
6
+ input:
7
+ items:
8
+ - A
9
+ - {}
10
+ - B
@@ -0,0 +1,10 @@
1
+ id: B_empty_placeholder
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: exact empty placeholder hashes as positional list content
5
+ input:
6
+ items:
7
+ - value: A
8
+ - $empty: true
9
+ - value: B
10
+ expectedNodeBlueId: 8maN5MoWw9kJrGp4y4gwa7R3N53xv5RuPzVKnP1CmKgf
@@ -0,0 +1,7 @@
1
+ id: B_integer_1_vs_double_1_0
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: integer 1 and double 1.0 have distinct BlueIds
5
+ input: 1.0
6
+ expectedNodeBlueId: 8BCB5pcQa5PAHvBa2FSzEWe9MZ5YEirsuymGaE2BM3MA
7
+ alsoDifferentFrom: 1
@@ -0,0 +1,7 @@
1
+ id: B_invalid_this_placeholder_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: this#k placeholders are rejected outside cyclic calculation APIs
5
+ expectError: true
6
+ input:
7
+ blueId: this#0
@@ -0,0 +1,10 @@
1
+ id: B_large_integer_quoted_explicit_integer
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: large integers use quoted canonical decimal strings with explicit Integer
5
+ type
6
+ input:
7
+ type:
8
+ blueId: E2LM6qgzWG9ttagq2xTmiZkgYEAgkYedFCmU9v7NnVEq
9
+ value: '9007199254740992'
10
+ expectedNodeBlueId: wXgWtTwBfUZdEeHyA3DnsuiwxczE57E6HvUBNRs1Pyz
@@ -0,0 +1,12 @@
1
+ id: B_list_sugar_equivalence
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: surface list and wrapped items list are equivalent
5
+ input:
6
+ - A
7
+ - B
8
+ expectedNodeBlueId: 49W45qY1LKK66NNRDF8k3W75zd8mj48Fh9wBs31ZNceB
9
+ alsoEquivalentTo:
10
+ items:
11
+ - A
12
+ - B
@@ -0,0 +1,8 @@
1
+ id: B_malformed_empty_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: malformed empty placeholders are rejected
5
+ expectError: true
6
+ input:
7
+ items:
8
+ - $empty: false
@@ -0,0 +1,10 @@
1
+ id: B_null_list_element_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: direct BlueId Input rejects null list elements
5
+ expectError: true
6
+ input:
7
+ items:
8
+ - A
9
+ - null
10
+ - B
@@ -0,0 +1,8 @@
1
+ id: B_object_field_null_removal
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: object field null is removed during direct BlueId cleaning
5
+ input:
6
+ x: null
7
+ expectedNodeBlueId: 5ajuwjHoLj33yG5t5UFsJtUb3vnRaJQEMPqSLz6VyoHK
8
+ alsoEquivalentTo: {}
@@ -0,0 +1,11 @@
1
+ id: B_payload_only_scalar_typed_identity
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: payload-only scalar hashing uses typed scalar identity form, not raw
5
+ JSON scalar hashing
6
+ input: 1
7
+ expectedNodeBlueId: GhNUbi6oXA1HArr2uTqwpcgegPv8kxUuj11riBtoMJXz
8
+ alsoDifferentFrom:
9
+ type:
10
+ blueId: 9eWaHYz2vKrFofdHTHAizNNu8xP6QE3WQ5y7DGrGZvyJ
11
+ value: 1.0
@@ -0,0 +1,7 @@
1
+ id: B_plain_blueid_validation
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: invalid plain BlueId reference is rejected
5
+ expectError: true
6
+ input:
7
+ blueId: not-a-real-blueid
@@ -0,0 +1,10 @@
1
+ id: B_pos_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: direct BlueId Input rejects $pos overlays
5
+ expectError: true
6
+ expectedErrorCategory: InvalidBlueIdInput
7
+ input:
8
+ items:
9
+ - $pos: 0
10
+ value: A
@@ -0,0 +1,11 @@
1
+ id: B_previous_invalid_blueid_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: previous anchors must use plain valid BlueIds
5
+ expectError: true
6
+ expectedErrorCategory: ListControlViolation
7
+ input:
8
+ items:
9
+ - $previous:
10
+ blueId: not-a-real-blueid
11
+ - A
@@ -0,0 +1,10 @@
1
+ id: B_replace_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: direct BlueId Input rejects $replace overlays
5
+ expectError: true
6
+ input:
7
+ items:
8
+ - $pos: 0
9
+ $replace:
10
+ value: A
@@ -0,0 +1,6 @@
1
+ id: B_root_empty_object
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: root empty object remains hashable
5
+ input: {}
6
+ expectedNodeBlueId: 5ajuwjHoLj33yG5t5UFsJtUb3vnRaJQEMPqSLz6VyoHK
@@ -0,0 +1,8 @@
1
+ id: B_root_list
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: root list is valid BlueId Input
5
+ input:
6
+ - A
7
+ - B
8
+ expectedNodeBlueId: 49W45qY1LKK66NNRDF8k3W75zd8mj48Fh9wBs31ZNceB
@@ -0,0 +1,6 @@
1
+ id: B_root_null_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: root null is not valid BlueId Input
5
+ expectError: true
6
+ input: null
@@ -0,0 +1,7 @@
1
+ id: B_root_pure_reference
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: root pure reference hashes to its plain BlueId
5
+ input:
6
+ blueId: GX7CFUmSDrE2MzptunLCCdZwnuwwrenRQqEnHL4x3uoC
7
+ expectedNodeBlueId: GX7CFUmSDrE2MzptunLCCdZwnuwwrenRQqEnHL4x3uoC
@@ -0,0 +1,6 @@
1
+ id: B_root_scalar
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: root scalar is valid BlueId Input
5
+ input: hello
6
+ expectedNodeBlueId: 7CUvDJwdfytCjadRG1KLL2GrttK2LfdNvEA8HycjMCcv
@@ -0,0 +1,8 @@
1
+ id: B_scalar_sugar_equivalence
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: scalar sugar and wrapped scalar are equivalent
5
+ input: 1
6
+ expectedNodeBlueId: GhNUbi6oXA1HArr2uTqwpcgegPv8kxUuj11riBtoMJXz
7
+ alsoEquivalentTo:
8
+ value: 1
@@ -0,0 +1,9 @@
1
+ id: B_type_alias_rejected_in_direct_blueid_input
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: direct BlueId input rejects unresolved aliases in type-position fields
5
+ expectError: true
6
+ expectedErrorCategory: InvalidBlueIdInput
7
+ input:
8
+ type: Integer
9
+ value: 1
@@ -0,0 +1,7 @@
1
+ id: B_unquoted_large_integer_rejected
2
+ category: BlueId
3
+ operation: calculateBlueId
4
+ description: unquoted integers outside the safe interoperable range are rejected
5
+ expectError: true
6
+ input:
7
+ value: 9007199254740992
@@ -0,0 +1,14 @@
1
+ id: C_circular_reference_set_ids
2
+ category: Circular
3
+ operation: calculateCircularSetBlueIds
4
+ description: circular sets produce final MASTER member BlueIds
5
+ documents:
6
+ - name: A
7
+ next:
8
+ blueId: this#1
9
+ - name: B
10
+ next:
11
+ blueId: this#0
12
+ expectedBlueIds:
13
+ - C18ETfS2A7MNmBGo67MYaQrRL9TrUSGwvvEu6KoMqC2R#0
14
+ - C18ETfS2A7MNmBGo67MYaQrRL9TrUSGwvvEu6KoMqC2R#1
@@ -0,0 +1,12 @@
1
+ id: C_duplicate_preliminary_ids_deterministic_or_rejected
2
+ category: Circular
3
+ operation: calculateCircularSetBlueIds
4
+ description: duplicate preliminary cyclic members without identity-bearing disambiguators
5
+ are rejected
6
+ documents:
7
+ - next:
8
+ blueId: this#1
9
+ - next:
10
+ blueId: this#0
11
+ expectError: true
12
+ expectedErrorCategory: CircularSetError
@@ -0,0 +1,7 @@
1
+ id: C_this_placeholder_rejected_outside_cyclic_api
2
+ category: Circular
3
+ operation: calculateBlueId
4
+ description: this#k placeholders are rejected by ordinary Node BlueId input
5
+ expectError: true
6
+ input:
7
+ blueId: this#0
@@ -0,0 +1,18 @@
1
+ id: C_three_document_cycle_stable_order
2
+ category: Circular
3
+ operation: calculateCircularSetBlueIds
4
+ description: three-document circular set returns final IDs in original input order
5
+ documents:
6
+ - name: A
7
+ next:
8
+ blueId: this#1
9
+ - name: B
10
+ next:
11
+ blueId: this#2
12
+ - name: C
13
+ next:
14
+ blueId: this#0
15
+ expectedBlueIds:
16
+ - 8vSb4nj6vqUPCySQMaVQKbaHKANXpPhucCrEA6hCxHCf#1
17
+ - 8vSb4nj6vqUPCySQMaVQKbaHKANXpPhucCrEA6hCxHCf#2
18
+ - 8vSb4nj6vqUPCySQMaVQKbaHKANXpPhucCrEA6hCxHCf#0
@@ -0,0 +1,7 @@
1
+ id: C_zero_blueid_rejected_in_final_input
2
+ category: Circular
3
+ operation: calculateBlueId
4
+ description: ZERO_BLUEID placeholders are rejected by finalized Node BlueId input
5
+ expectError: true
6
+ input:
7
+ blueId: '00000000000000000000000000000000000000000000'
@@ -0,0 +1,45 @@
1
+ id: L_no_profile_era_language_conformance_terms
2
+ category: DocumentationLint
3
+ operation: lintPublishableDocumentation
4
+ description: publishable Blue Language 1.0 files use the single conformance target
5
+ and canonical section 1 heading
6
+ publishableFiles:
7
+ - language/1.0/spec.md
8
+ requiredHeadings:
9
+ - '## 1. Scope, Goals, Versioning, and Conformance'
10
+ forbiddenJoinedTerms:
11
+ - tokens:
12
+ - Conformance
13
+ - Profiles
14
+ joiner: ' '
15
+ - tokens:
16
+ - BlueId
17
+ - Profile
18
+ joiner: ' '
19
+ - tokens:
20
+ - Resolver
21
+ - Profile
22
+ joiner: ' '
23
+ - tokens:
24
+ - Language
25
+ - Full
26
+ - Profile
27
+ joiner: ' '
28
+ - tokens:
29
+ - profile
30
+ - relative
31
+ joiner: '-'
32
+ - tokens:
33
+ - preprocessing
34
+ - profile
35
+ joiner: ' '
36
+ - tokens:
37
+ - profile
38
+ - supported
39
+ joiner: '-'
40
+ - tokens:
41
+ - profile
42
+ - specific
43
+ joiner: '-'
44
+ matchRule: Join tokens with the listed joiner and reject any case-sensitive match
45
+ in publishableFiles.