ttsc 0.30.4 → 0.31.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 (2089) hide show
  1. package/cmd/graphbench/main.go +2 -3
  2. package/cmd/graphdump/main.go +42 -16
  3. package/cmd/graphdump/run_declares_the_capability_its_output_carries_test.go +32 -18
  4. package/cmd/graphdump/run_reports_an_unknown_flag_without_exiting_the_process_test.go +10 -9
  5. package/cmd/graphdump/run_reports_an_unloadable_project_without_printing_a_dump_test.go +8 -7
  6. package/cmd/platform/command_operation_families_test.go +192 -0
  7. package/cmd/platform/main.go +11 -1
  8. package/cmd/ttsc/api_compile.go +166 -46
  9. package/cmd/ttsc/api_compile_branches_test.go +97 -10
  10. package/cmd/ttsc/api_transform.go +134 -46
  11. package/cmd/ttsc/api_transform_branches_test.go +10 -7
  12. package/cmd/ttsc/build.go +177 -68
  13. package/cmd/ttsc/build_branches_test.go +35 -7
  14. package/cmd/ttsc/cli_command_operation_families_test.go +1287 -0
  15. package/cmd/ttsc/cli_contract_helpers_test.go +82 -0
  16. package/cmd/ttsc/compiler_argument_cwd_test.go +57 -0
  17. package/cmd/ttsc/filter.go +31 -14
  18. package/cmd/ttsc/filter_resolves_flag_names_case_insensitively_test.go +10 -13
  19. package/cmd/ttsc/filter_strips_unknown_forwarded_flag_test.go +10 -16
  20. package/cmd/ttsc/flags_gen.go +2 -2
  21. package/cmd/ttsc/helpers_test.go +67 -10
  22. package/cmd/ttsc/main.go +122 -21
  23. package/cmd/ttsc/main_alias_branches_test.go +35 -9
  24. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/ambient.d.ts +1 -0
  25. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/main.ts +2 -0
  26. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/mytype.ts +1 -0
  27. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/tsconfig.base.json +3 -0
  28. package/cmd/ttsc/testdata/cli_operation_families/TestAPITransformEnvelopeCarriesReferenceGraph/tsconfig.json +5 -0
  29. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/index.ts +1 -0
  30. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/decorated/main.ts +10 -0
  31. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/decorated/types.ts +3 -0
  32. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/helpers.ts +1 -0
  33. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/isolated.ts +1 -0
  34. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/main.ts +7 -0
  35. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/src/nested/model.ts +1 -0
  36. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPICompileAndTransform/tsconfig.json +14 -0
  37. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPITransformUsesCurrentDirectory/index.ts +1 -0
  38. package/cmd/ttsc/testdata/cli_operation_families/TestCLIAPITransformUsesCurrentDirectory/tsconfig.json +7 -0
  39. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildAllowsUnusedTypeParametersOnOverloadSignatures/index.ts +4 -0
  40. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildAllowsUnusedTypeParametersOnOverloadSignatures/tsconfig.json +11 -0
  41. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSemanticDiagnostics/index.ts +2 -0
  42. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSemanticDiagnostics/tsconfig.json +9 -0
  43. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSyntacticDiagnostics/index.ts +2 -0
  44. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksSyntacticDiagnostics/tsconfig.json +8 -0
  45. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksUnusedParameters/index.ts +3 -0
  46. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildBlocksUnusedParameters/tsconfig.json +10 -0
  47. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildEmitErrorRejectsManifest/index.ts +1 -0
  48. package/cmd/ttsc/testdata/cli_operation_families/TestCLIProjectBuildEmitErrorRejectsManifest/tsconfig.json +1 -0
  49. package/cmd/ttsc/testdata/cli_operation_families/TestCLIReportsDiagnosticsWithoutEmit/index.ts +1 -0
  50. package/cmd/ttsc/testdata/cli_operation_families/TestCLIReportsDiagnosticsWithoutEmit/tsconfig.json +8 -0
  51. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/emit.json +8 -0
  52. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/flag-shaped.json +7 -0
  53. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/index.ts +2 -0
  54. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/nested/tsconfig.app.json +11 -0
  55. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/outside.json +8 -0
  56. package/cmd/ttsc/testdata/cli_operation_families/shared-value-one/project/tsconfig.json +8 -0
  57. package/cmd/ttscgraph/auxiliary_identity_state_tracks_retargets_not_source_contents_test.go +26 -15
  58. package/cmd/ttscgraph/disk_realpath_other.go +2 -0
  59. package/cmd/ttscgraph/dump.go +46 -29
  60. package/cmd/ttscgraph/prepared_projection.go +61 -0
  61. package/cmd/ttscgraph/projection_fixture_test.go +96 -0
  62. package/cmd/ttscgraph/run_dump_claims_artifacts_only_when_it_asked_test.go +30 -5
  63. package/cmd/ttscgraph/run_dump_declares_the_capability_its_output_carries_test.go +6 -1
  64. package/cmd/ttscgraph/run_dump_emits_only_checker_verified_member_relations_test.go +12 -5
  65. package/cmd/ttscgraph/run_dump_prints_the_graph_as_json_test.go +17 -12
  66. package/cmd/ttscgraph/run_help_version_and_bad_flags_exit_codes_test.go +8 -3
  67. package/cmd/ttscgraph/serve.go +116 -79
  68. package/cmd/ttscgraph/serve_adopts_a_republished_artifact_set_test.go +16 -167
  69. package/cmd/ttscgraph/serve_adopts_a_republished_set_over_the_shard_protocol_test.go +122 -0
  70. package/cmd/ttscgraph/serve_answers_a_project_that_implements_its_own_ambient_declaration_test.go +35 -7
  71. package/cmd/ttscgraph/serve_early_error_encode_failure_is_observable_test.go +5 -0
  72. package/cmd/ttscgraph/serve_error_response_still_names_its_mode_test.go +10 -5
  73. package/cmd/ttscgraph/serve_git_ignore_projection_test.go +150 -0
  74. package/cmd/ttscgraph/serve_keeps_a_startup_set_a_client_never_mentions_test.go +69 -0
  75. package/cmd/ttscgraph/serve_object_members_refresh_without_identity_collisions_test.go +82 -0
  76. package/cmd/ttscgraph/serve_phase_trace_accounts_for_load_failure_test.go +9 -3
  77. package/cmd/ttscgraph/serve_phase_trace_is_opt_in_and_payload_free_test.go +12 -6
  78. package/cmd/ttscgraph/serve_projects_an_artifact_no_source_owns_test.go +13 -16
  79. package/cmd/ttscgraph/serve_protocol_fails_the_stream_on_an_unaddressable_request_line_test.go +10 -9
  80. package/cmd/ttscgraph/serve_protocol_negotiates_incremental_shards_test.go +37 -2
  81. package/cmd/ttscgraph/serve_protocol_retries_session_creation_test.go +7 -2
  82. package/cmd/ttscgraph/serve_protocol_reuses_session_test.go +13 -3
  83. package/cmd/ttscgraph/serve_session_applies_source_edit_incrementally_test.go +12 -7
  84. package/cmd/ttscgraph/serve_session_fails_closed_on_deleted_config_test.go +12 -7
  85. package/cmd/ttscgraph/serve_session_fails_closed_on_invalid_config_test.go +8 -3
  86. package/cmd/ttscgraph/serve_session_keeps_base_url_fallback_unchanged_test.go +7 -2
  87. package/cmd/ttscgraph/serve_session_keeps_change_detection_live_after_initial_dump_error_test.go +66 -0
  88. package/cmd/ttscgraph/serve_session_keeps_esm_directory_candidate_unchanged_test.go +12 -3
  89. package/cmd/ttscgraph/serve_session_keeps_exports_blocked_file_candidates_unchanged_test.go +8 -3
  90. package/cmd/ttscgraph/serve_session_keeps_inactive_conditional_export_unchanged_test.go +12 -3
  91. package/cmd/ttscgraph/serve_session_keeps_lower_priority_module_candidate_unchanged_test.go +14 -8
  92. package/cmd/ttscgraph/serve_session_keeps_lower_priority_paths_pattern_unchanged_test.go +12 -3
  93. package/cmd/ttscgraph/serve_session_keeps_missing_literal_root_unchanged_test.go +7 -2
  94. package/cmd/ttscgraph/serve_session_keeps_nonlongest_root_dirs_candidate_unchanged_test.go +12 -3
  95. package/cmd/ttscgraph/serve_session_rebuilds_import_graph_change_test.go +17 -8
  96. package/cmd/ttscgraph/serve_session_reloads_commonjs_package_entry_for_esm_test.go +11 -2
  97. package/cmd/ttscgraph/serve_session_reloads_created_literal_root_test.go +7 -2
  98. package/cmd/ttscgraph/serve_session_reloads_extended_config_change_test.go +9 -4
  99. package/cmd/ttscgraph/serve_session_reloads_module_suffix_candidate_test.go +13 -4
  100. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_conditional_export_test.go +13 -8
  101. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_config_types_test.go +7 -2
  102. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_excluded_import_test.go +11 -3
  103. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_package_export_test.go +11 -2
  104. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_package_import_test.go +11 -2
  105. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_path_alias_test.go +11 -2
  106. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_reference_path_test.go +11 -2
  107. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_root_dirs_target_test.go +11 -2
  108. package/cmd/ttscgraph/serve_session_reloads_newly_resolved_type_reference_test.go +11 -2
  109. package/cmd/ttscgraph/serve_session_reloads_root_file_set_test.go +11 -5
  110. package/cmd/ttscgraph/serve_session_reloads_source_deleted_during_load_test.go +16 -9
  111. package/cmd/ttscgraph/serve_session_reloads_superseding_module_candidates_test.go +18 -13
  112. package/cmd/ttscgraph/serve_session_reloads_transitive_project_reference_test.go +14 -5
  113. package/cmd/ttscgraph/serve_session_reloads_when_program_plugin_linked_test.go +13 -8
  114. package/cmd/ttscgraph/serve_session_retries_a_pending_dump_before_unchanged_test.go +62 -0
  115. package/cmd/ttscgraph/serve_session_reuses_unchanged_preamble_source_test.go +21 -0
  116. package/cmd/ttscgraph/serve_session_reuses_unchanged_snapshot_test.go +12 -7
  117. package/cmd/ttscgraph/serve_session_revisits_source_edited_during_load_test.go +18 -8
  118. package/cmd/ttscgraph/serve_session_tolerates_os_invalid_resolution_candidate_test.go +13 -9
  119. package/cmd/ttscgraph/serve_session_tracks_all_module_specifier_forms_test.go +12 -3
  120. package/cmd/ttscgraph/serve_session_tracks_diamond_project_references_once_test.go +12 -8
  121. package/cmd/ttscgraph/serve_shards.go +356 -279
  122. package/cmd/ttscgraph/serve_shards_abandoned_generation_converges_on_retry_test.go +41 -16
  123. package/cmd/ttscgraph/serve_shards_delete_removed_source_test.go +14 -4
  124. package/cmd/ttscgraph/serve_shards_external_endpoints_test.go +18 -2
  125. package/cmd/ttscgraph/serve_shards_keep_source_distributed_dependencies_at_the_boundary_test.go +36 -5
  126. package/cmd/ttscgraph/serve_shards_match_full_dump_oracle_test.go +12 -3
  127. package/cmd/ttscgraph/serve_shards_merge_pending_and_new_edits_test.go +36 -3
  128. package/cmd/ttscgraph/serve_shards_prune_unreferenced_external_endpoints_test.go +18 -2
  129. package/cmd/ttscgraph/serve_shards_publish_created_source_test.go +16 -13
  130. package/cmd/ttscgraph/serve_shards_rebuild_declaration_edit_test.go +14 -4
  131. package/cmd/ttscgraph/serve_shards_refresh_cross_file_implementation_test.go +24 -5
  132. package/cmd/ttscgraph/serve_shards_refresh_dependent_diagnostics_test.go +30 -7
  133. package/cmd/ttscgraph/serve_shards_rename_moves_source_identity_test.go +14 -11
  134. package/cmd/ttscgraph/serve_shards_retry_preserves_committed_generation_test.go +17 -7
  135. package/cmd/ttscgraph/serve_shards_reuse_unaffected_sources_test.go +21 -7
  136. package/cmd/ttscgraph/serve_snapshot_proves_its_program_without_a_second_read_test.go +57 -16
  137. package/cmd/ttscgraph/serve_source_encoding_test.go +133 -0
  138. package/cmd/ttscserver/command_operation_families_test.go +207 -0
  139. package/cmd/ttscserver/main.go +121 -39
  140. package/cmd/ttscserver/resolve_launch_uses_native_flag_authority_test.go +147 -0
  141. package/cmd/ttscserver/run_lsp_forwards_execute_command_advertisement_flags_test.go +7 -0
  142. package/cmd/ttscserver/run_lsp_prefers_tsgo_flag_test.go +13 -1
  143. package/cmd/ttscserver/run_lsp_reports_getwd_error_test.go +5 -0
  144. package/cmd/ttscserver/run_lsp_reports_server_error_test.go +10 -3
  145. package/cmd/ttscserver/run_lsp_uses_native_plugin_manifest_source_test.go +13 -10
  146. package/cmd/ttscserver/run_lsp_uses_tsgo_environment_test.go +10 -3
  147. package/driver/authored_region_maps_positions_around_the_preamble_test.go +95 -0
  148. package/driver/build_information_uses_selected_output_identity_test.go +148 -0
  149. package/driver/check_observations.go +67 -0
  150. package/driver/config_discovery.go +93 -24
  151. package/driver/declaration_shape.go +9 -0
  152. package/driver/diagnostics_preamble.go +8 -7
  153. package/driver/emit_containment.go +29 -8
  154. package/driver/emit_plugin.go +106 -36
  155. package/driver/emit_plugin_output.go +26 -2
  156. package/driver/emit_provenance.go +155 -0
  157. package/driver/graph.go +54 -20
  158. package/driver/host.go +26 -3
  159. package/driver/input_observation.go +78 -16
  160. package/driver/input_observation_test.go +34 -11
  161. package/driver/lsp.go +401 -30
  162. package/driver/overlay.go +69 -2
  163. package/driver/plugins.go +256 -24
  164. package/driver/private_result.go +43 -0
  165. package/driver/program.go +439 -95
  166. package/driver/resolution_candidates.go +63 -14
  167. package/driver/resolution_candidates_test.go +28 -0
  168. package/driver/resolutioninputs/recorder.cjs +1149 -0
  169. package/driver/resolutioninputs/resolutioninputs.go +37 -0
  170. package/driver/rewrite.go +373 -420
  171. package/driver/session.go +80 -12
  172. package/driver/sourcemap_preamble.go +38 -16
  173. package/driver/transform_dependencies.go +38 -10
  174. package/driver/transform_dependencies_declares_every_file_without_a_contributor_test.go +9 -8
  175. package/driver/transform_dependencies_drops_a_self_reported_dependency_test.go +7 -6
  176. package/driver/transform_dependencies_keys_a_reported_path_like_the_envelope_test.go +9 -9
  177. package/driver/transform_dependencies_requires_every_contributor_to_declare_test.go +10 -5
  178. package/driver/transform_dependencies_stays_silent_for_an_undeclared_contributor_test.go +8 -6
  179. package/driver/transform_dependencies_withdraws_completeness_after_an_unusable_dependency_test.go +9 -5
  180. package/driver/transform_source_map.go +388 -0
  181. package/driver/windowsjunction/create_preserves_existing_directory_windows_test.go +48 -0
  182. package/driver/windowsjunction/create_treats_paths_as_data_windows_test.go +55 -0
  183. package/driver/windowsjunction/windowsjunction.go +17 -1
  184. package/go.mod +10 -10
  185. package/go.sum +10 -10
  186. package/internal/cwd/cwd.go +13 -0
  187. package/internal/e2etrace/artifact.go +147 -0
  188. package/internal/e2etrace/completion_hints.go +35 -0
  189. package/internal/e2etrace/completion_hints_test.go +76 -0
  190. package/internal/e2etrace/e2etrace.go +303 -0
  191. package/internal/e2etrace/output.go +50 -0
  192. package/internal/graph/artifacts.go +69 -12
  193. package/internal/graph/artifacts_index_what_a_plugin_published_test.go +19 -8
  194. package/internal/graph/artifacts_survive_a_partial_rebuild_test.go +11 -12
  195. package/internal/graph/assigned_implementations_of_declaration_file_symbols_leave_no_edge_source_test.go +10 -12
  196. package/internal/graph/assigned_implementations_of_node_modules_symbols_leave_no_edge_source_test.go +7 -1
  197. package/internal/graph/build.go +122 -38
  198. package/internal/graph/build_files_reuses_committed_cross_file_endpoints_test.go +9 -3
  199. package/internal/graph/build_keeps_source_distributed_dependencies_at_the_external_boundary_test.go +10 -1
  200. package/internal/graph/build_records_a_node_per_top_level_declaration_test.go +10 -4
  201. package/internal/graph/build_releases_the_scratch_it_no_longer_reads_test.go +22 -15
  202. package/internal/graph/decorators.go +18 -0
  203. package/internal/graph/decorators_capture_name_and_literal_arguments_test.go +9 -4
  204. package/internal/graph/diagnostics.go +21 -8
  205. package/internal/graph/doc_refs_are_the_use_the_checker_already_counts_test.go +25 -13
  206. package/internal/graph/doc_refs_resolve_documentation_links_test.go +19 -15
  207. package/internal/graph/doc_tags.go +28 -19
  208. package/internal/graph/doc_tags_are_claimed_before_they_are_read_test.go +16 -6
  209. package/internal/graph/doc_tags_capture_every_unrecognized_tag_test.go +9 -2
  210. package/internal/graph/doc_tags_read_only_what_the_parser_attached_test.go +12 -8
  211. package/internal/graph/doc_tags_stop_at_the_external_boundary_test.go +11 -1
  212. package/internal/graph/doc_tags_survive_line_endings_and_repeated_blocks_test.go +16 -6
  213. package/internal/graph/dump.go +200 -51
  214. package/internal/graph/dump_checkout_paths_are_stable_test.go +9 -2
  215. package/internal/graph/dump_diagnostics_ride_the_generation_that_built_it_test.go +10 -11
  216. package/internal/graph/dump_evidence_skips_leading_trivia_test.go +8 -2
  217. package/internal/graph/dump_is_a_function_of_the_source_test.go +12 -13
  218. package/internal/graph/dump_never_serializes_a_list_as_null_test.go +9 -9
  219. package/internal/graph/dump_path_mapper_caches_alias_resolution_test.go +10 -2
  220. package/internal/graph/dump_path_mapper_rejects_unportable_roots_and_collisions_test.go +53 -0
  221. package/internal/graph/{dump_paths_are_portable_and_injective_test.go → dump_path_mapper_uses_portable_coordinates_test.go} +8 -43
  222. package/internal/graph/dump_paths.go +61 -25
  223. package/internal/graph/dump_paths_canonicalize_windows_short_root_test.go +45 -8
  224. package/internal/graph/dump_rejects_provenance_only_path_errors_test.go +5 -0
  225. package/internal/graph/dump_serializes_the_full_graph_test.go +13 -19
  226. package/internal/graph/dump_symlink_project_publishes_matching_base_test.go +8 -0
  227. package/internal/graph/dump_uses_ecma_line_terminators_test.go +12 -6
  228. package/internal/graph/duplicate_variable_object_members_keep_first_declaration_test.go +11 -8
  229. package/internal/graph/edge_spans_point_to_resolved_usage_test.go +13 -5
  230. package/internal/graph/edges.go +44 -47
  231. package/internal/graph/edges_cover_class_level_references_test.go +14 -11
  232. package/internal/graph/enum_initializer_calls_are_edges_test.go +13 -3
  233. package/internal/graph/enum_members_carry_their_names_on_the_enum_node_test.go +19 -26
  234. package/internal/graph/exports.go +3 -5
  235. package/internal/graph/file_diagnostics_match_tsgo_code_and_location_test.go +9 -4
  236. package/internal/graph/file_diagnostics_report_code_column_and_message_test.go +11 -5
  237. package/internal/graph/function_locals_do_not_collide_test.go +27 -7
  238. package/internal/graph/gitignore.go +25 -12
  239. package/internal/graph/graph.go +167 -52
  240. package/internal/graph/heritage_edges_cover_implements_and_interface_extends_test.go +11 -3
  241. package/internal/graph/heritage_edges_keep_extends_and_implements_to_same_base_test.go +6 -0
  242. package/internal/graph/heritage_edges_record_extends_versus_implements_origin_test.go +9 -3
  243. package/internal/graph/heritage_edges_traverse_barrels_and_stop_at_external_leaves_test.go +11 -4
  244. package/internal/graph/line_model.go +44 -25
  245. package/internal/graph/literals.go +6 -7
  246. package/internal/graph/literals_are_absent_when_the_type_admits_more_than_it_can_name_test.go +10 -5
  247. package/internal/graph/literals_cover_enum_members_the_graph_has_no_nodes_for_test.go +15 -17
  248. package/internal/graph/literals_do_not_depend_on_declaration_line_wrapping_test.go +10 -9
  249. package/internal/graph/literals_render_every_value_in_typescript_source_form_test.go +11 -11
  250. package/internal/graph/literals_resolve_through_alias_indirection_test.go +11 -11
  251. package/internal/graph/member_relation_edges_follow_checker_validity_test.go +11 -2
  252. package/internal/graph/member_relation_edges_preserve_checker_boundaries_test.go +11 -1
  253. package/internal/graph/member_relation_edges_reject_checker_invalid_pairs_test.go +12 -7
  254. package/internal/graph/namespace_dotted_form_qualifies_deeply_test.go +12 -3
  255. package/internal/graph/namespace_members_become_qualified_nodes_and_edges_test.go +12 -2
  256. package/internal/graph/node_identity_is_position_invariant_test.go +8 -2
  257. package/internal/graph/node_ids_preserve_hash_bearing_components_test.go +10 -2
  258. package/internal/graph/node_modifiers_emit_union_strings_test.go +13 -12
  259. package/internal/graph/nodes_are_marked_exported_through_the_export_table_test.go +12 -14
  260. package/internal/graph/object_literal_declarations_resolve_calls_test.go +170 -0
  261. package/internal/graph/object_literal_members_ride_on_the_snapshot_test.go +14 -13
  262. package/internal/graph/object_member_signatures_preserve_literal_whitespace_test.go +11 -7
  263. package/internal/graph/object_members.go +100 -1
  264. package/internal/graph/overload_implementation_replaces_signature_test.go +13 -2
  265. package/internal/graph/property_member_edges_remain_owner_visible_test.go +9 -3
  266. package/internal/graph/provenance.go +172 -87
  267. package/internal/graph/resolve.go +46 -12
  268. package/internal/graph/resolve_prefers_implementation_declaration_test.go +10 -2
  269. package/internal/graph/resolve_unwraps_barrel_reexport_to_real_declaration_test.go +16 -20
  270. package/internal/graph/source.go +16 -6
  271. package/internal/graph/source_texts_cover_every_resident_program_source_test.go +11 -7
  272. package/internal/graph/type_ref_edges_cover_typeof_as_satisfies_test.go +21 -2
  273. package/internal/graph/type_ref_edges_resolve_named_types_across_files_test.go +8 -3
  274. package/internal/graph/value_access_edges_cover_properties_test.go +11 -3
  275. package/internal/graph/value_call_edges_attribute_function_assignments_to_members_test.go +10 -4
  276. package/internal/graph/value_call_edges_cover_jsx_components_test.go +12 -8
  277. package/internal/graph/value_call_edges_cover_methods_and_constructors_test.go +12 -9
  278. package/internal/graph/value_call_edges_cover_variable_bound_callables_test.go +9 -3
  279. package/internal/graph/value_call_edges_do_not_double_record_invoked_member_access_test.go +10 -3
  280. package/internal/graph/value_call_edges_record_construct_versus_call_origin_test.go +12 -9
  281. package/internal/graph/value_call_edges_resolve_across_files_and_dedupe_test.go +10 -3
  282. package/internal/graph/value_call_edges_skip_self_and_unresolved_test.go +16 -5
  283. package/internal/graph/wire_node_ids_share_alias_resolution_test.go +10 -4
  284. package/internal/graphsymbols/position_helpers_follow_ecma_line_terminators_test.go +16 -4
  285. package/internal/graphsymbols/provider.go +278 -113
  286. package/internal/lspserver/lsp_clean_didopen_refreshes_compiler_state_test.go +14 -12
  287. package/internal/lspserver/lsp_completion_gate_never_refuses_a_matching_line_test.go +7 -1
  288. package/internal/lspserver/lsp_completion_hints_longest_trigger_wins_test.go +30 -5
  289. package/internal/lspserver/lsp_completion_hints_nearest_trigger_wins_test.go +5 -0
  290. package/internal/lspserver/lsp_completion_merges_into_upstream_response_test.go +23 -10
  291. package/internal/lspserver/lsp_completion_nearest_hint_replaces_nearest_filter_test.go +7 -1
  292. package/internal/lspserver/lsp_completion_preserves_completion_list_extensions_test.go +13 -5
  293. package/internal/lspserver/lsp_completion_refuses_hints_inside_a_string_literal_test.go +11 -7
  294. package/internal/lspserver/lsp_completion_replaces_full_filter_in_rank_order_test.go +12 -2
  295. package/internal/lspserver/lsp_completion_request.go +5 -26
  296. package/internal/lspserver/lsp_completion_scope.go +13 -10
  297. package/internal/lspserver/lsp_completion_scope_bench_test.go +11 -5
  298. package/internal/lspserver/lsp_completion_scope_classifies_regex_statement_and_operator_boundaries_test.go +8 -1
  299. package/internal/lspserver/lsp_completion_scope_ignores_jsdoc_bytes_in_literals_test.go +11 -10
  300. package/internal/lspserver/lsp_completion_scope_refuses_regex_hints_test.go +7 -3
  301. package/internal/lspserver/lsp_completion_trigger_uses_last_rune_test.go +6 -0
  302. package/internal/lspserver/lsp_deleted_watched_file_withdraws_plugin_diagnostics_test.go +11 -10
  303. package/internal/lspserver/lsp_didsave_keeps_the_incremental_changed_uri_path_test.go +12 -9
  304. package/internal/lspserver/lsp_document_diagnostics_omits_cached_project_when_current_result_has_none_test.go +17 -5
  305. package/internal/lspserver/lsp_envelope.go +84 -11
  306. package/internal/lspserver/lsp_executable_project_input_change_requests_launcher_restart_test.go +12 -9
  307. package/internal/lspserver/lsp_external_watched_change_retains_program_test.go +8 -2
  308. package/internal/lspserver/lsp_frame.go +42 -10
  309. package/internal/lspserver/lsp_hints_absence_is_not_an_error_test.go +16 -15
  310. package/internal/lspserver/lsp_hints_refresh_coalesces_concurrent_requests_test.go +21 -12
  311. package/internal/lspserver/lsp_hints_refresh_ignores_a_superseded_generation_test.go +20 -12
  312. package/internal/lspserver/lsp_hints_refresh_keeps_each_producer_isolated_test.go +30 -9
  313. package/internal/lspserver/lsp_hints_refresh_replaces_the_session_snapshot_test.go +25 -18
  314. package/internal/lspserver/lsp_hints_refresh_scheduled_by_editor_events_test.go +12 -12
  315. package/internal/lspserver/lsp_hints_refresh_serves_completion_while_running_test.go +21 -8
  316. package/internal/lspserver/lsp_index_byte_from_bounds_its_search_start_test.go +9 -7
  317. package/internal/lspserver/lsp_initialize_constrains_position_encoding_to_utf16_test.go +57 -21
  318. package/internal/lspserver/lsp_late_completion_trigger_is_reported_once_test.go +16 -17
  319. package/internal/lspserver/lsp_native_completion_hints_decode_flat_lint_wire_test.go +8 -2
  320. package/internal/lspserver/lsp_native_completion_hints_grouped_compatibility_boundary_test.go +5 -0
  321. package/internal/lspserver/lsp_native_plugin_source.go +381 -202
  322. package/internal/lspserver/lsp_native_plugin_source_ends_the_session_on_a_selection_input_test.go +234 -0
  323. package/internal/lspserver/lsp_native_reply_policies_test.go +475 -0
  324. package/internal/lspserver/lsp_native_reply_policy.go +232 -0
  325. package/internal/lspserver/lsp_native_resident.go +171 -57
  326. package/internal/lspserver/lsp_plugin.go +372 -68
  327. package/internal/lspserver/lsp_plugin_completion_resolve_stays_local_test.go +13 -4
  328. package/internal/lspserver/lsp_plugin_selection_inputs.go +283 -0
  329. package/internal/lspserver/lsp_plugin_selection_inputs_follow_directory_case_semantics_windows_test.go +81 -0
  330. package/internal/lspserver/lsp_position_conversions_span_astral_and_combining_runes_test.go +33 -11
  331. package/internal/lspserver/lsp_project_context_transport_identity_test.go +14 -2
  332. package/internal/lspserver/lsp_project_diagnostics.go +25 -4
  333. package/internal/lspserver/lsp_project_diagnostics_capability_is_independent_test.go +13 -2
  334. package/internal/lspserver/lsp_project_diagnostics_program_input_overlap_refreshes_all_producers_test.go +14 -4
  335. package/internal/lspserver/lsp_project_diagnostics_refresh_accumulates_owner_freshness_test.go +8 -2
  336. package/internal/lspserver/lsp_project_diagnostics_refresh_keeps_each_producer_last_good_test.go +10 -5
  337. package/internal/lspserver/lsp_project_diagnostics_refreshes_only_input_owners_test.go +14 -2
  338. package/internal/lspserver/lsp_project_diagnostics_resume_preserves_generation_test.go +8 -2
  339. package/internal/lspserver/lsp_project_diagnostics_translates_relative_client_project_test.go +15 -11
  340. package/internal/lspserver/lsp_project_input_ownership_resolves_declared_spellings_test.go +17 -8
  341. package/internal/lspserver/lsp_project_input_path_key_windows.go +16 -16
  342. package/internal/lspserver/lsp_project_input_path_key_windows_test.go +34 -18
  343. package/internal/lspserver/lsp_project_input_registration.go +5 -1
  344. package/internal/lspserver/lsp_project_input_registration_rechecks_selection_baseline_test.go +10 -4
  345. package/internal/lspserver/lsp_project_input_registration_reconciles_rejected_pending_request_test.go +5 -0
  346. package/internal/lspserver/lsp_project_input_registration_shapes_patterns_test.go +9 -3
  347. package/internal/lspserver/lsp_project_input_watchers_anchor_missing_paths_test.go +8 -3
  348. package/internal/lspserver/lsp_project_inputs.go +203 -59
  349. package/internal/lspserver/lsp_project_inputs_match_missing_exact_and_glob_test.go +10 -6
  350. package/internal/lspserver/lsp_project_inputs_reject_invalid_and_foreign_snapshots_test.go +25 -2
  351. package/internal/lspserver/lsp_proxy.go +239 -80
  352. package/internal/lspserver/lsp_refresh.go +16 -1
  353. package/internal/lspserver/lsp_reload_directories_compare_immediate_topology_test.go +66 -19
  354. package/internal/lspserver/lsp_reload_directories_separate_glob_territory_test.go +26 -6
  355. package/internal/lspserver/lsp_reload_file_fingerprint_preserves_raw_symlink_target_test.go +12 -6
  356. package/internal/lspserver/lsp_reload_fingerprints_read_a_junction_as_a_link_test.go +76 -0
  357. package/internal/lspserver/lsp_resident_falls_back_when_serve_unsupported_test.go +20 -13
  358. package/internal/lspserver/lsp_resident_invalidation_broadcasts_program_input_overlap_test.go +9 -4
  359. package/internal/lspserver/lsp_resident_invalidation_targets_project_input_owners_test.go +6 -1
  360. package/internal/lspserver/lsp_resident_maps_verb_args_test.go +5 -0
  361. package/internal/lspserver/lsp_same_transport_entries_are_deduplicated_test.go +10 -1
  362. package/internal/lspserver/lsp_server.go +124 -21
  363. package/internal/lspserver/lsp_symbols.go +92 -13
  364. package/internal/lspserver/lsp_watched_file_changes_reach_compiler_caches_test.go +11 -10
  365. package/internal/sourceprocess/complete_group.go +70 -0
  366. package/internal/sourceprocess/complete_group_preserves_original_wait_and_requires_independent_absence_test.go +145 -0
  367. package/internal/sourceprocess/contain_unix.go +143 -0
  368. package/internal/sourceprocess/contain_windows.go +439 -0
  369. package/internal/sourceprocess/darwin_group_retirement_preserves_phase_evidence_test.go +287 -0
  370. package/internal/sourceprocess/observe_exit_darwin.go +57 -0
  371. package/internal/sourceprocess/observe_exit_linux.go +27 -0
  372. package/internal/sourceprocess/observe_exit_other.go +11 -0
  373. package/internal/sourceprocess/reap_linux.go +31 -0
  374. package/internal/sourceprocess/reap_other.go +10 -0
  375. package/internal/sourceprocess/request_preserves_native_command_inputs_test.go +86 -0
  376. package/internal/sourceprocess/run.go +216 -0
  377. package/internal/sourceprocess/started_windows.go +41 -0
  378. package/internal/sourceprocess/target_windows.go +211 -0
  379. package/internal/sourceprocess/windows_job_accounting_rejects_invalid_boundary_test.go +97 -0
  380. package/internal/sourceprocess/windows_started_publication_distinguishes_pending_from_refusal_test.go +76 -0
  381. package/internal/sourceprocess/windows_target_owns_suspended_admission_test.go +179 -0
  382. package/internal/watchhelper/run.go +42 -0
  383. package/internal/watchhelper/run_linux.go +323 -0
  384. package/internal/watchhelper/run_linux_test.go +418 -0
  385. package/internal/watchhelper/run_other.go +16 -0
  386. package/internal/watchhelper/run_windows.go +471 -0
  387. package/internal/watchhelper/watchhelper.go +106 -0
  388. package/internal/watchhelper/windows_notifications_preserve_mutations_without_access_noise_test.go +506 -0
  389. package/lib/TtscCompiler.d.ts +118 -21
  390. package/lib/TtscCompiler.js +175 -179
  391. package/lib/TtscCompiler.js.map +1 -1
  392. package/lib/TtscService.d.ts +66 -18
  393. package/lib/TtscService.js +81 -24
  394. package/lib/TtscService.js.map +1 -1
  395. package/lib/TtscServiceRequestOptions.d.ts +21 -0
  396. package/lib/TtscServiceRequestOptions.js +3 -0
  397. package/lib/TtscServiceRequestOptions.js.map +1 -0
  398. package/lib/compiler/internal/CapturedProcessOutput.d.ts +61 -0
  399. package/lib/compiler/internal/CapturedProcessOutput.js +3 -0
  400. package/lib/compiler/internal/CapturedProcessOutput.js.map +1 -0
  401. package/lib/compiler/internal/CompilerArgumentsInspection.d.ts +53 -0
  402. package/lib/compiler/internal/CompilerArgumentsInspection.js +173 -0
  403. package/lib/compiler/internal/CompilerArgumentsInspection.js.map +1 -0
  404. package/lib/compiler/internal/EmitOwnershipIndex.d.ts +92 -0
  405. package/lib/compiler/internal/EmitOwnershipIndex.js +215 -0
  406. package/lib/compiler/internal/EmitOwnershipIndex.js.map +1 -0
  407. package/lib/compiler/internal/PrivateCompilerOutput.d.ts +67 -0
  408. package/lib/compiler/internal/PrivateCompilerOutput.js +245 -0
  409. package/lib/compiler/internal/PrivateCompilerOutput.js.map +1 -0
  410. package/lib/compiler/internal/ResidentCheckProcess.d.ts +127 -0
  411. package/lib/compiler/internal/ResidentCheckProcess.js +403 -0
  412. package/lib/compiler/internal/ResidentCheckProcess.js.map +1 -0
  413. package/lib/compiler/internal/ResidentCheckProcessOptions.d.ts +29 -0
  414. package/lib/compiler/internal/ResidentCheckProcessOptions.js +3 -0
  415. package/lib/compiler/internal/ResidentCheckProcessOptions.js.map +1 -0
  416. package/lib/compiler/internal/ResidentCheckRequest.d.ts +37 -0
  417. package/lib/compiler/internal/ResidentCheckRequest.js +3 -0
  418. package/lib/compiler/internal/ResidentCheckRequest.js.map +1 -0
  419. package/lib/compiler/internal/ResidentCheckResult.d.ts +23 -0
  420. package/lib/compiler/internal/ResidentCheckResult.js +3 -0
  421. package/lib/compiler/internal/ResidentCheckResult.js.map +1 -0
  422. package/lib/compiler/internal/ResidentCheckTelemetry.d.ts +33 -0
  423. package/lib/compiler/internal/ResidentCheckTelemetry.js +3 -0
  424. package/lib/compiler/internal/ResidentCheckTelemetry.js.map +1 -0
  425. package/lib/compiler/internal/ResidentReplyKind.d.ts +18 -0
  426. package/lib/compiler/internal/ResidentReplyKind.js +3 -0
  427. package/lib/compiler/internal/ResidentReplyKind.js.map +1 -0
  428. package/lib/compiler/internal/ResidentTransformProcess.d.ts +83 -0
  429. package/lib/compiler/internal/ResidentTransformProcess.js +261 -0
  430. package/lib/compiler/internal/ResidentTransformProcess.js.map +1 -0
  431. package/lib/compiler/internal/ResidentTransformProcessOptions.d.ts +27 -0
  432. package/lib/compiler/internal/ResidentTransformProcessOptions.js +3 -0
  433. package/lib/compiler/internal/ResidentTransformProcessOptions.js.map +1 -0
  434. package/lib/compiler/internal/ResidentTransformReply.d.ts +51 -0
  435. package/lib/compiler/internal/ResidentTransformReply.js +79 -0
  436. package/lib/compiler/internal/ResidentTransformReply.js.map +1 -0
  437. package/lib/compiler/internal/ResidentTransformRequestOptions.d.ts +16 -0
  438. package/lib/compiler/internal/ResidentTransformRequestOptions.js +3 -0
  439. package/lib/compiler/internal/ResidentTransformRequestOptions.js.map +1 -0
  440. package/lib/compiler/internal/ResidentTransformRequests.d.ts +102 -0
  441. package/lib/compiler/internal/ResidentTransformRequests.js +172 -0
  442. package/lib/compiler/internal/ResidentTransformRequests.js.map +1 -0
  443. package/lib/compiler/internal/StartedResidentTransform.d.ts +27 -0
  444. package/lib/compiler/internal/StartedResidentTransform.js +3 -0
  445. package/lib/compiler/internal/StartedResidentTransform.js.map +1 -0
  446. package/lib/compiler/internal/TransformProjectWorkerReply.d.ts +34 -0
  447. package/lib/compiler/internal/TransformProjectWorkerReply.js +3 -0
  448. package/lib/compiler/internal/TransformProjectWorkerReply.js.map +1 -0
  449. package/lib/compiler/internal/TransformProjectWorkerRequest.d.ts +39 -0
  450. package/lib/compiler/internal/TransformProjectWorkerRequest.js +3 -0
  451. package/lib/compiler/internal/TransformProjectWorkerRequest.js.map +1 -0
  452. package/lib/compiler/internal/build/BuildExecution.d.ts +359 -0
  453. package/lib/compiler/internal/build/BuildExecution.js +977 -0
  454. package/lib/compiler/internal/build/BuildExecution.js.map +1 -0
  455. package/lib/compiler/internal/build/BuildTiming.d.ts +99 -0
  456. package/lib/compiler/internal/build/BuildTiming.js +113 -0
  457. package/lib/compiler/internal/build/BuildTiming.js.map +1 -0
  458. package/lib/compiler/internal/build/CompilerDiagnostics.d.ts +82 -0
  459. package/lib/compiler/internal/build/CompilerDiagnostics.js +270 -0
  460. package/lib/compiler/internal/build/CompilerDiagnostics.js.map +1 -0
  461. package/lib/compiler/internal/build/NativePluginArguments.d.ts +114 -0
  462. package/lib/compiler/internal/build/NativePluginArguments.js +255 -0
  463. package/lib/compiler/internal/build/NativePluginArguments.js.map +1 -0
  464. package/lib/compiler/internal/build/PassthroughFlags.d.ts +137 -0
  465. package/lib/compiler/internal/build/PassthroughFlags.js +213 -0
  466. package/lib/compiler/internal/build/PassthroughFlags.js.map +1 -0
  467. package/lib/compiler/internal/build/PluginFailureDiagnostics.d.ts +48 -0
  468. package/lib/compiler/internal/build/PluginFailureDiagnostics.js +68 -0
  469. package/lib/compiler/internal/build/PluginFailureDiagnostics.js.map +1 -0
  470. package/lib/compiler/internal/build/ResidentCheckEntryPlan.d.ts +38 -0
  471. package/lib/compiler/internal/build/ResidentCheckEntryPlan.js +3 -0
  472. package/lib/compiler/internal/build/ResidentCheckEntryPlan.js.map +1 -0
  473. package/lib/compiler/internal/build/ResidentCheckWatchChange.d.ts +30 -0
  474. package/lib/compiler/internal/build/ResidentCheckWatchChange.js +3 -0
  475. package/lib/compiler/internal/build/ResidentCheckWatchChange.js.map +1 -0
  476. package/lib/compiler/internal/build/ResidentCheckWatchSession.d.ts +113 -0
  477. package/lib/compiler/internal/build/ResidentCheckWatchSession.js +378 -0
  478. package/lib/compiler/internal/build/ResidentCheckWatchSession.js.map +1 -0
  479. package/lib/compiler/internal/build/RunBuildOptions.d.ts +130 -0
  480. package/lib/compiler/internal/build/RunBuildOptions.js +3 -0
  481. package/lib/compiler/internal/build/RunBuildOptions.js.map +1 -0
  482. package/lib/compiler/internal/build/TsgoArguments.d.ts +168 -0
  483. package/lib/compiler/internal/build/TsgoArguments.js +324 -0
  484. package/lib/compiler/internal/build/TsgoArguments.js.map +1 -0
  485. package/lib/compiler/internal/build/appendBuildOutput.d.ts +41 -0
  486. package/lib/compiler/internal/build/appendBuildOutput.js +182 -0
  487. package/lib/compiler/internal/build/appendBuildOutput.js.map +1 -0
  488. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.d.ts +20 -0
  489. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.js +40 -0
  490. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.js.map +1 -0
  491. package/lib/compiler/internal/build/createProcessDiagnostic.d.ts +19 -0
  492. package/lib/compiler/internal/build/createProcessDiagnostic.js +30 -0
  493. package/lib/compiler/internal/build/createProcessDiagnostic.js.map +1 -0
  494. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.d.ts +22 -0
  495. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.js +59 -0
  496. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.js.map +1 -0
  497. package/lib/compiler/internal/build/mergeProjectInputSnapshots.d.ts +28 -0
  498. package/lib/compiler/internal/build/mergeProjectInputSnapshots.js +121 -0
  499. package/lib/compiler/internal/build/mergeProjectInputSnapshots.js.map +1 -0
  500. package/lib/compiler/internal/build/normalizeBuildOutput.d.ts +29 -0
  501. package/lib/compiler/internal/build/normalizeBuildOutput.js +72 -0
  502. package/lib/compiler/internal/build/normalizeBuildOutput.js.map +1 -0
  503. package/lib/compiler/internal/build/parseProjectInputSnapshot.d.ts +26 -0
  504. package/lib/compiler/internal/build/parseProjectInputSnapshot.js +68 -0
  505. package/lib/compiler/internal/build/parseProjectInputSnapshot.js.map +1 -0
  506. package/lib/compiler/internal/build/planResidentCheckEntries.d.ts +21 -0
  507. package/lib/compiler/internal/build/planResidentCheckEntries.js +45 -0
  508. package/lib/compiler/internal/build/planResidentCheckEntries.js.map +1 -0
  509. package/lib/compiler/internal/build/privateRuntimeRootDir.d.ts +20 -0
  510. package/lib/compiler/internal/build/privateRuntimeRootDir.js +35 -0
  511. package/lib/compiler/internal/build/privateRuntimeRootDir.js.map +1 -0
  512. package/lib/compiler/internal/build/residentCheckRequest.d.ts +22 -0
  513. package/lib/compiler/internal/build/residentCheckRequest.js +42 -0
  514. package/lib/compiler/internal/build/residentCheckRequest.js.map +1 -0
  515. package/lib/compiler/internal/build/runBuild.d.ts +22 -0
  516. package/lib/compiler/internal/build/runBuild.js +44 -0
  517. package/lib/compiler/internal/build/runBuild.js.map +1 -0
  518. package/lib/compiler/internal/build/runExternalEmitProvenance.d.ts +61 -0
  519. package/lib/compiler/internal/build/runExternalEmitProvenance.js +451 -0
  520. package/lib/compiler/internal/build/runExternalEmitProvenance.js.map +1 -0
  521. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.d.ts +18 -0
  522. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.js +28 -0
  523. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.js.map +1 -0
  524. package/lib/compiler/internal/buildNativeCompiler.d.ts +16 -1
  525. package/lib/compiler/internal/buildNativeCompiler.js +14 -2
  526. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  527. package/lib/compiler/internal/captureProcessOutput.d.ts +23 -23
  528. package/lib/compiler/internal/captureProcessOutput.js +38 -26
  529. package/lib/compiler/internal/captureProcessOutput.js.map +1 -1
  530. package/lib/compiler/internal/compileProjectInMemory.d.ts +30 -7
  531. package/lib/compiler/internal/compileProjectInMemory.js +103 -83
  532. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  533. package/lib/compiler/internal/ensureExecutable.d.ts +15 -0
  534. package/lib/compiler/internal/ensureExecutable.js +40 -0
  535. package/lib/compiler/internal/ensureExecutable.js.map +1 -0
  536. package/lib/compiler/internal/findNearestGoMod.d.ts +23 -0
  537. package/lib/compiler/internal/findNearestGoMod.js +48 -0
  538. package/lib/compiler/internal/findNearestGoMod.js.map +1 -0
  539. package/lib/compiler/internal/isOutsideRelativePath.d.ts +18 -0
  540. package/lib/compiler/internal/isOutsideRelativePath.js +30 -0
  541. package/lib/compiler/internal/isOutsideRelativePath.js.map +1 -0
  542. package/lib/compiler/internal/outputText.d.ts +16 -0
  543. package/lib/compiler/internal/outputText.js +25 -0
  544. package/lib/compiler/internal/outputText.js.map +1 -0
  545. package/lib/compiler/internal/packageRootDir.d.ts +25 -0
  546. package/lib/compiler/internal/packageRootDir.js +47 -0
  547. package/lib/compiler/internal/packageRootDir.js.map +1 -0
  548. package/lib/compiler/internal/parseNativeTransformOutput.d.ts +88 -0
  549. package/lib/compiler/internal/parseNativeTransformOutput.js +552 -0
  550. package/lib/compiler/internal/parseNativeTransformOutput.js.map +1 -0
  551. package/lib/compiler/internal/project/CompilerProjectSelection.d.ts +80 -0
  552. package/lib/compiler/internal/project/CompilerProjectSelection.js +187 -0
  553. package/lib/compiler/internal/project/CompilerProjectSelection.js.map +1 -0
  554. package/lib/compiler/internal/project/ConfigJsonText.d.ts +50 -0
  555. package/lib/compiler/internal/project/ConfigJsonText.js +61 -0
  556. package/lib/compiler/internal/project/ConfigJsonText.js.map +1 -0
  557. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.d.ts +48 -0
  558. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.js +119 -0
  559. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.js.map +1 -0
  560. package/lib/compiler/internal/project/createNativeProjectContextArgs.d.ts +11 -8
  561. package/lib/compiler/internal/project/createNativeProjectContextArgs.js +15 -17
  562. package/lib/compiler/internal/project/createNativeProjectContextArgs.js.map +1 -1
  563. package/lib/compiler/internal/project/createNativeProjectContextJson.d.ts +19 -0
  564. package/lib/compiler/internal/project/createNativeProjectContextJson.js +27 -0
  565. package/lib/compiler/internal/project/createNativeProjectContextJson.js.map +1 -0
  566. package/lib/compiler/internal/project/parseJsonc.d.ts +42 -0
  567. package/lib/compiler/internal/project/parseJsonc.js +317 -0
  568. package/lib/compiler/internal/project/parseJsonc.js.map +1 -0
  569. package/lib/compiler/internal/project/readJsonFile.d.ts +21 -0
  570. package/lib/compiler/internal/project/readJsonFile.js +38 -0
  571. package/lib/compiler/internal/project/readJsonFile.js.map +1 -0
  572. package/lib/compiler/internal/project/readJsoncFile.d.ts +20 -0
  573. package/lib/compiler/internal/project/readJsoncFile.js +47 -0
  574. package/lib/compiler/internal/project/readJsoncFile.js.map +1 -0
  575. package/lib/compiler/internal/project/readProjectConfig.d.ts +29 -2
  576. package/lib/compiler/internal/project/readProjectConfig.js +105 -168
  577. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  578. package/lib/compiler/internal/project/resolveOwningProjectConfig.d.ts +65 -0
  579. package/lib/compiler/internal/project/resolveOwningProjectConfig.js +248 -0
  580. package/lib/compiler/internal/project/resolveOwningProjectConfig.js.map +1 -0
  581. package/lib/compiler/internal/project/resolveProjectConfig.d.ts +17 -14
  582. package/lib/compiler/internal/project/resolveProjectConfig.js +19 -122
  583. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  584. package/lib/compiler/internal/project/resolveProjectIdentity.d.ts +32 -0
  585. package/lib/compiler/internal/project/resolveProjectIdentity.js +144 -0
  586. package/lib/compiler/internal/project/resolveProjectIdentity.js.map +1 -0
  587. package/lib/compiler/internal/project/resolveTsconfigExtends.d.ts +38 -0
  588. package/lib/compiler/internal/project/resolveTsconfigExtends.js +163 -0
  589. package/lib/compiler/internal/project/resolveTsconfigExtends.js.map +1 -0
  590. package/lib/compiler/internal/project/selectReferencedProject.d.ts +26 -0
  591. package/lib/compiler/internal/project/selectReferencedProject.js +48 -0
  592. package/lib/compiler/internal/project/selectReferencedProject.js.map +1 -0
  593. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.d.ts +34 -0
  594. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.js +55 -0
  595. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.js.map +1 -0
  596. package/lib/compiler/internal/readEffectiveCompilerOptions.d.ts +54 -0
  597. package/lib/compiler/internal/readEffectiveCompilerOptions.js +116 -0
  598. package/lib/compiler/internal/readEffectiveCompilerOptions.js.map +1 -0
  599. package/lib/compiler/internal/resolveBinary.d.ts +17 -1
  600. package/lib/compiler/internal/resolveBinary.js +24 -9
  601. package/lib/compiler/internal/resolveBinary.js.map +1 -1
  602. package/lib/compiler/internal/resolveTsgo.d.ts +22 -7
  603. package/lib/compiler/internal/resolveTsgo.js +25 -9
  604. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  605. package/lib/compiler/internal/runNativeCheckWithObservations.d.ts +41 -0
  606. package/lib/compiler/internal/runNativeCheckWithObservations.js +185 -0
  607. package/lib/compiler/internal/runNativeCheckWithObservations.js.map +1 -0
  608. package/lib/compiler/internal/runSingleFileEmit.d.ts +26 -5
  609. package/lib/compiler/internal/runSingleFileEmit.js +82 -27
  610. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  611. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.d.ts +2 -0
  612. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.js +6 -0
  613. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.js.map +1 -0
  614. package/lib/compiler/internal/sharedHost/SidecarEnvironment.d.ts +90 -0
  615. package/lib/compiler/internal/sharedHost/SidecarEnvironment.js +153 -0
  616. package/lib/compiler/internal/sharedHost/SidecarEnvironment.js.map +1 -0
  617. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.d.ts +7 -0
  618. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.js +11 -0
  619. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.js.map +1 -0
  620. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.d.ts +7 -0
  621. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.js +11 -0
  622. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.js.map +1 -0
  623. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.d.ts +24 -0
  624. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.js +46 -0
  625. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.js.map +1 -0
  626. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.d.ts +15 -0
  627. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.js +23 -0
  628. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.js.map +1 -0
  629. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.d.ts +23 -0
  630. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.js +33 -0
  631. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.js.map +1 -0
  632. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.d.ts +27 -0
  633. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.js +41 -0
  634. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.js.map +1 -0
  635. package/lib/compiler/internal/sharedHost/isLinkedTransform.d.ts +16 -0
  636. package/lib/compiler/internal/sharedHost/isLinkedTransform.js +21 -0
  637. package/lib/compiler/internal/sharedHost/isLinkedTransform.js.map +1 -0
  638. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.d.ts +19 -0
  639. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.js +25 -0
  640. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.js.map +1 -0
  641. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.d.ts +25 -0
  642. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.js +35 -0
  643. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.js.map +1 -0
  644. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.d.ts +26 -0
  645. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.js +36 -0
  646. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.js.map +1 -0
  647. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.d.ts +22 -0
  648. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.js +32 -0
  649. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.js.map +1 -0
  650. package/lib/compiler/internal/spawnNative.d.ts +15 -16
  651. package/lib/compiler/internal/spawnNative.js +17 -45
  652. package/lib/compiler/internal/spawnNative.js.map +1 -1
  653. package/lib/compiler/internal/startResidentTransform.d.ts +26 -17
  654. package/lib/compiler/internal/startResidentTransform.js +51 -36
  655. package/lib/compiler/internal/startResidentTransform.js.map +1 -1
  656. package/lib/compiler/internal/transformProjectInMemory.d.ts +42 -5
  657. package/lib/compiler/internal/transformProjectInMemory.js +189 -469
  658. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  659. package/lib/compiler/internal/transformProjectInWorker.d.ts +49 -0
  660. package/lib/compiler/internal/transformProjectInWorker.js +168 -0
  661. package/lib/compiler/internal/transformProjectInWorker.js.map +1 -0
  662. package/lib/compiler/internal/transformProjectWorker.js +37 -0
  663. package/lib/compiler/internal/transformProjectWorker.js.map +1 -0
  664. package/lib/flags/AnySubcommand.d.ts +18 -0
  665. package/lib/flags/AnySubcommand.js +3 -0
  666. package/lib/flags/AnySubcommand.js.map +1 -0
  667. package/lib/flags/COMPILER_ENUM_WHITESPACE.d.ts +2 -0
  668. package/lib/flags/COMPILER_ENUM_WHITESPACE.js +38 -0
  669. package/lib/flags/COMPILER_ENUM_WHITESPACE.js.map +1 -0
  670. package/lib/flags/COMPILER_OPTIONS.d.ts +6 -0
  671. package/lib/flags/COMPILER_OPTIONS.js +509 -0
  672. package/lib/flags/COMPILER_OPTIONS.js.map +1 -0
  673. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.d.ts +2 -0
  674. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js +13 -0
  675. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js.map +1 -0
  676. package/lib/flags/COMPILER_OPTION_KINDS.d.ts +2 -0
  677. package/lib/flags/COMPILER_OPTION_KINDS.js +14 -0
  678. package/lib/flags/COMPILER_OPTION_KINDS.js.map +1 -0
  679. package/lib/flags/CompilerOptionSpec.d.ts +27 -0
  680. package/lib/flags/CompilerOptionSpec.js +3 -0
  681. package/lib/flags/CompilerOptionSpec.js.map +1 -0
  682. package/lib/flags/FLAG_BY_TOKEN.d.ts +8 -0
  683. package/lib/flags/FLAG_BY_TOKEN.js +34 -0
  684. package/lib/flags/FLAG_BY_TOKEN.js.map +1 -0
  685. package/lib/flags/FLAG_SCHEMA.d.ts +35 -0
  686. package/lib/flags/{schema.js → FLAG_SCHEMA.js} +47 -153
  687. package/lib/flags/FLAG_SCHEMA.js.map +1 -0
  688. package/lib/flags/FlagKind.d.ts +22 -0
  689. package/lib/flags/FlagKind.js +3 -0
  690. package/lib/flags/FlagKind.js.map +1 -0
  691. package/lib/flags/FlagLayer.d.ts +19 -0
  692. package/lib/flags/FlagLayer.js +3 -0
  693. package/lib/flags/FlagLayer.js.map +1 -0
  694. package/lib/flags/FlagSpec.d.ts +104 -0
  695. package/lib/flags/FlagSpec.js +3 -0
  696. package/lib/flags/FlagSpec.js.map +1 -0
  697. package/lib/flags/ParseOptions.d.ts +92 -0
  698. package/lib/flags/ParseOptions.js +3 -0
  699. package/lib/flags/ParseOptions.js.map +1 -0
  700. package/lib/flags/ParseResult.d.ts +37 -0
  701. package/lib/flags/ParseResult.js +3 -0
  702. package/lib/flags/ParseResult.js.map +1 -0
  703. package/lib/flags/TtscSubcommand.d.ts +14 -0
  704. package/lib/flags/TtscSubcommand.js +3 -0
  705. package/lib/flags/TtscSubcommand.js.map +1 -0
  706. package/lib/flags/TtsxSubcommand.d.ts +13 -0
  707. package/lib/flags/TtsxSubcommand.js +3 -0
  708. package/lib/flags/TtsxSubcommand.js.map +1 -0
  709. package/lib/flags/ValueValidator.d.ts +14 -0
  710. package/lib/flags/ValueValidator.js +3 -0
  711. package/lib/flags/ValueValidator.js.map +1 -0
  712. package/lib/flags/buildGoAllowList.d.ts +18 -0
  713. package/lib/flags/buildGoAllowList.js +45 -0
  714. package/lib/flags/buildGoAllowList.js.map +1 -0
  715. package/lib/flags/flagsForSubcommand.d.ts +18 -0
  716. package/lib/flags/flagsForSubcommand.js +23 -0
  717. package/lib/flags/flagsForSubcommand.js.map +1 -0
  718. package/lib/flags/getBoolean.d.ts +19 -0
  719. package/lib/flags/getBoolean.js +27 -0
  720. package/lib/flags/getBoolean.js.map +1 -0
  721. package/lib/flags/getNumber.d.ts +16 -0
  722. package/lib/flags/getNumber.js +24 -0
  723. package/lib/flags/getNumber.js.map +1 -0
  724. package/lib/flags/getString.d.ts +16 -0
  725. package/lib/flags/getString.js +24 -0
  726. package/lib/flags/getString.js.map +1 -0
  727. package/lib/flags/getStringList.d.ts +19 -0
  728. package/lib/flags/getStringList.js +24 -0
  729. package/lib/flags/getStringList.js.map +1 -0
  730. package/lib/flags/normalizeCompilerEnumValue.d.ts +20 -0
  731. package/lib/flags/normalizeCompilerEnumValue.js +40 -0
  732. package/lib/flags/normalizeCompilerEnumValue.js.map +1 -0
  733. package/lib/flags/normalizeFlagToken.d.ts +28 -0
  734. package/lib/flags/normalizeFlagToken.js +38 -0
  735. package/lib/flags/normalizeFlagToken.js.map +1 -0
  736. package/lib/flags/parseFlags.d.ts +18 -0
  737. package/lib/flags/parseFlags.js +288 -0
  738. package/lib/flags/parseFlags.js.map +1 -0
  739. package/lib/flags/readCompilerOptionOccurrence.d.ts +34 -0
  740. package/lib/flags/readCompilerOptionOccurrence.js +81 -0
  741. package/lib/flags/readCompilerOptionOccurrence.js.map +1 -0
  742. package/lib/flags/readCompilerOptionValues.d.ts +33 -0
  743. package/lib/flags/readCompilerOptionValues.js +58 -0
  744. package/lib/flags/readCompilerOptionValues.js.map +1 -0
  745. package/lib/flags/resolveFlagSpec.d.ts +21 -0
  746. package/lib/flags/resolveFlagSpec.js +32 -0
  747. package/lib/flags/resolveFlagSpec.js.map +1 -0
  748. package/lib/index.d.ts +8 -3
  749. package/lib/index.js +10 -3
  750. package/lib/index.js.map +1 -1
  751. package/lib/internal/CanonicalTempDirectoryOperations.d.ts +73 -0
  752. package/lib/internal/CanonicalTempDirectoryOperations.js +3 -0
  753. package/lib/internal/CanonicalTempDirectoryOperations.js.map +1 -0
  754. package/lib/internal/CompilerContextSnapshot.d.ts +66 -0
  755. package/lib/internal/CompilerContextSnapshot.js +121 -0
  756. package/lib/internal/CompilerContextSnapshot.js.map +1 -0
  757. package/lib/internal/CompilerResultAdapter.d.ts +129 -0
  758. package/lib/internal/CompilerResultAdapter.js +247 -0
  759. package/lib/internal/CompilerResultAdapter.js.map +1 -0
  760. package/lib/internal/E2ETrace.d.ts +219 -0
  761. package/lib/internal/E2ETrace.js +541 -0
  762. package/lib/internal/E2ETrace.js.map +1 -0
  763. package/lib/internal/IJavaScriptRuntimeCapabilities.d.ts +48 -0
  764. package/lib/internal/IJavaScriptRuntimeCapabilities.js +3 -0
  765. package/lib/internal/IJavaScriptRuntimeCapabilities.js.map +1 -0
  766. package/lib/internal/OwnedNativeProcess.d.ts +66 -0
  767. package/lib/internal/OwnedNativeProcess.js +317 -0
  768. package/lib/internal/OwnedNativeProcess.js.map +1 -0
  769. package/lib/internal/OwnedSynchronousProcess.d.ts +158 -0
  770. package/lib/internal/OwnedSynchronousProcess.js +171 -0
  771. package/lib/internal/OwnedSynchronousProcess.js.map +1 -0
  772. package/lib/internal/RetireLockDirectoryOperations.d.ts +77 -0
  773. package/lib/internal/RetireLockDirectoryOperations.js +3 -0
  774. package/lib/internal/RetireLockDirectoryOperations.js.map +1 -0
  775. package/lib/internal/SafeCacheCleanupTarget.d.ts +39 -0
  776. package/lib/internal/SafeCacheCleanupTarget.js +3 -0
  777. package/lib/internal/SafeCacheCleanupTarget.js.map +1 -0
  778. package/lib/internal/SourceNativeRetirement.d.ts +384 -0
  779. package/lib/internal/SourceNativeRetirement.js +892 -0
  780. package/lib/internal/SourceNativeRetirement.js.map +1 -0
  781. package/lib/internal/SpawnSyncOutputFiles.d.ts +28 -0
  782. package/lib/internal/SpawnSyncOutputFiles.js +3 -0
  783. package/lib/internal/SpawnSyncOutputFiles.js.map +1 -0
  784. package/lib/internal/cacheEntryExists.d.ts +13 -0
  785. package/lib/internal/cacheEntryExists.js +32 -0
  786. package/lib/internal/cacheEntryExists.js.map +1 -0
  787. package/lib/internal/createCanonicalTempDirectory.d.ts +23 -13
  788. package/lib/internal/createCanonicalTempDirectory.js +31 -12
  789. package/lib/internal/createCanonicalTempDirectory.js.map +1 -1
  790. package/lib/internal/isContendedCandidateRename.d.ts +27 -0
  791. package/lib/internal/isContendedCandidateRename.js +37 -0
  792. package/lib/internal/isContendedCandidateRename.js.map +1 -0
  793. package/lib/internal/isSpawnSyncFdExhaustion.d.ts +16 -0
  794. package/lib/internal/isSpawnSyncFdExhaustion.js +23 -0
  795. package/lib/internal/isSpawnSyncFdExhaustion.js.map +1 -0
  796. package/lib/internal/javascriptRuntimeCapabilities.d.ts +20 -0
  797. package/lib/internal/javascriptRuntimeCapabilities.js +142 -0
  798. package/lib/internal/javascriptRuntimeCapabilities.js.map +1 -0
  799. package/lib/internal/nativeBinary.d.ts +11 -0
  800. package/lib/internal/nativeBinary.js +16 -0
  801. package/lib/internal/nativeBinary.js.map +1 -0
  802. package/lib/internal/parseWindowsDirectoryCaseSensitivity.d.ts +24 -0
  803. package/lib/internal/parseWindowsDirectoryCaseSensitivity.js +47 -0
  804. package/lib/internal/parseWindowsDirectoryCaseSensitivity.js.map +1 -0
  805. package/lib/internal/pathIdentity/FilesystemPathIdentity.d.ts +43 -0
  806. package/lib/internal/pathIdentity/FilesystemPathIdentity.js +3 -0
  807. package/lib/internal/pathIdentity/FilesystemPathIdentity.js.map +1 -0
  808. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.d.ts +176 -0
  809. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.js +3 -0
  810. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.js.map +1 -0
  811. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.d.ts +100 -0
  812. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.js +3 -0
  813. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.js.map +1 -0
  814. package/lib/internal/pathIdentity/ProjectInputPathIdentity.d.ts +20 -0
  815. package/lib/internal/pathIdentity/ProjectInputPathIdentity.js +3 -0
  816. package/lib/internal/pathIdentity/ProjectInputPathIdentity.js.map +1 -0
  817. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.d.ts +20 -0
  818. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.js +3 -0
  819. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.js.map +1 -0
  820. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.d.ts +20 -0
  821. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.js +3 -0
  822. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.js.map +1 -0
  823. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.d.ts +25 -0
  824. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.js +336 -0
  825. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.js.map +1 -0
  826. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.d.ts +28 -0
  827. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.js +33 -0
  828. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.js.map +1 -0
  829. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.d.ts +20 -0
  830. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.js +33 -0
  831. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.js.map +1 -0
  832. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.d.ts +15 -0
  833. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.js +22 -0
  834. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.js.map +1 -0
  835. package/lib/internal/pathIdentity/resolveFilesystemPath.d.ts +22 -0
  836. package/lib/internal/pathIdentity/resolveFilesystemPath.js +44 -0
  837. package/lib/internal/pathIdentity/resolveFilesystemPath.js.map +1 -0
  838. package/lib/internal/pathIdentity/resolvePhysicalPath.d.ts +21 -0
  839. package/lib/internal/pathIdentity/resolvePhysicalPath.js +35 -0
  840. package/lib/internal/pathIdentity/resolvePhysicalPath.js.map +1 -0
  841. package/lib/internal/pathIdentity/resolveProjectInputPath.d.ts +14 -0
  842. package/lib/internal/pathIdentity/resolveProjectInputPath.js +21 -0
  843. package/lib/internal/pathIdentity/resolveProjectInputPath.js.map +1 -0
  844. package/lib/internal/pluginSource.d.ts +26 -0
  845. package/lib/internal/pluginSource.js +43 -0
  846. package/lib/internal/pluginSource.js.map +1 -0
  847. package/lib/internal/projectInputPathIdentity.d.ts +27 -31
  848. package/lib/internal/projectInputPathIdentity.js +37 -275
  849. package/lib/internal/projectInputPathIdentity.js.map +1 -1
  850. package/lib/internal/resolveNodeBinary.d.ts +9 -7
  851. package/lib/internal/resolveNodeBinary.js +14 -144
  852. package/lib/internal/resolveNodeBinary.js.map +1 -1
  853. package/lib/internal/resolveSafeCacheCleanupTargets.d.ts +27 -8
  854. package/lib/internal/resolveSafeCacheCleanupTargets.js +44 -11
  855. package/lib/internal/resolveSafeCacheCleanupTargets.js.map +1 -1
  856. package/lib/internal/restoreCompilerError.d.ts +21 -0
  857. package/lib/internal/restoreCompilerError.js +164 -0
  858. package/lib/internal/restoreCompilerError.js.map +1 -0
  859. package/lib/internal/retireLockDirectory.d.ts +45 -0
  860. package/lib/internal/retireLockDirectory.js +152 -0
  861. package/lib/internal/retireLockDirectory.js.map +1 -0
  862. package/lib/internal/runHoldingLock.d.ts +30 -0
  863. package/lib/internal/runHoldingLock.js +53 -0
  864. package/lib/internal/runHoldingLock.js.map +1 -0
  865. package/lib/internal/runtimeExecutableIdentity.d.ts +20 -0
  866. package/lib/internal/runtimeExecutableIdentity.js +171 -0
  867. package/lib/internal/runtimeExecutableIdentity.js.map +1 -0
  868. package/lib/internal/serializeCompilerError.d.ts +28 -0
  869. package/lib/internal/serializeCompilerError.js +138 -0
  870. package/lib/internal/serializeCompilerError.js.map +1 -0
  871. package/lib/internal/spawnSyncResilient.d.ts +21 -10
  872. package/lib/internal/spawnSyncResilient.js +31 -147
  873. package/lib/internal/spawnSyncResilient.js.map +1 -1
  874. package/lib/internal/spawnSyncWithLowDescriptors.d.ts +30 -0
  875. package/lib/internal/spawnSyncWithLowDescriptors.js +194 -0
  876. package/lib/internal/spawnSyncWithLowDescriptors.js.map +1 -0
  877. package/lib/internal/tsconfig.d.ts +16 -0
  878. package/lib/internal/tsconfig.js +33 -0
  879. package/lib/internal/tsconfig.js.map +1 -0
  880. package/lib/launcher/internal/PendingResidentCheckWatchChanges.d.ts +56 -0
  881. package/lib/launcher/internal/PendingResidentCheckWatchChanges.js +97 -0
  882. package/lib/launcher/internal/PendingResidentCheckWatchChanges.js.map +1 -0
  883. package/lib/launcher/internal/TtscBuildMode.d.ts +14 -0
  884. package/lib/launcher/internal/TtscBuildMode.js +3 -0
  885. package/lib/launcher/internal/TtscBuildMode.js.map +1 -0
  886. package/lib/launcher/internal/TtsxEntryOptions.d.ts +50 -0
  887. package/lib/launcher/internal/TtsxEntryOptions.js +94 -0
  888. package/lib/launcher/internal/TtsxEntryOptions.js.map +1 -0
  889. package/lib/launcher/internal/assertNoSolutionBuild.d.ts +17 -10
  890. package/lib/launcher/internal/assertNoSolutionBuild.js +16 -9
  891. package/lib/launcher/internal/assertNoSolutionBuild.js.map +1 -1
  892. package/lib/launcher/internal/assertTtsxNoWatch.d.ts +25 -0
  893. package/lib/launcher/internal/assertTtsxNoWatch.js +46 -0
  894. package/lib/launcher/internal/assertTtsxNoWatch.js.map +1 -0
  895. package/lib/launcher/internal/buildSingleRootProject.d.ts +108 -0
  896. package/lib/launcher/internal/buildSingleRootProject.js +229 -0
  897. package/lib/launcher/internal/buildSingleRootProject.js.map +1 -0
  898. package/lib/launcher/internal/getCompilerVersionText.d.ts +14 -1
  899. package/lib/launcher/internal/getCompilerVersionText.js +21 -6
  900. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  901. package/lib/launcher/internal/inlineServedSourceMap.d.ts +35 -0
  902. package/lib/launcher/internal/inlineServedSourceMap.js +255 -0
  903. package/lib/launcher/internal/inlineServedSourceMap.js.map +1 -0
  904. package/lib/launcher/internal/linkVirtualEntry.d.ts +31 -0
  905. package/lib/launcher/internal/linkVirtualEntry.js +87 -0
  906. package/lib/launcher/internal/linkVirtualEntry.js.map +1 -0
  907. package/lib/launcher/internal/parseCommonJsExports.d.ts +17 -0
  908. package/lib/launcher/internal/{commonJsExportMetadata.js → parseCommonJsExports.js} +13 -3
  909. package/lib/launcher/internal/parseCommonJsExports.js.map +1 -0
  910. package/lib/launcher/internal/parseTtscBuildArgs.d.ts +34 -0
  911. package/lib/launcher/internal/parseTtscBuildArgs.js +97 -0
  912. package/lib/launcher/internal/parseTtscBuildArgs.js.map +1 -0
  913. package/lib/launcher/internal/parseTtsxCLI.d.ts +35 -0
  914. package/lib/launcher/internal/parseTtsxCLI.js +187 -0
  915. package/lib/launcher/internal/parseTtsxCLI.js.map +1 -0
  916. package/lib/launcher/internal/prepareExecution.d.ts +49 -5
  917. package/lib/launcher/internal/prepareExecution.js +360 -324
  918. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  919. package/lib/launcher/internal/prepareTtscBuildMode.d.ts +23 -0
  920. package/lib/launcher/internal/prepareTtscBuildMode.js +58 -0
  921. package/lib/launcher/internal/prepareTtscBuildMode.js.map +1 -0
  922. package/lib/launcher/internal/resolveCacheDir.d.ts +12 -3
  923. package/lib/launcher/internal/resolveCacheDir.js +12 -3
  924. package/lib/launcher/internal/resolveCacheDir.js.map +1 -1
  925. package/lib/launcher/internal/resolveSingleFileOutput.d.ts +35 -0
  926. package/lib/launcher/internal/resolveSingleFileOutput.js +115 -0
  927. package/lib/launcher/internal/resolveSingleFileOutput.js.map +1 -0
  928. package/lib/launcher/internal/resolveTtscserverBinary.d.ts +15 -3
  929. package/lib/launcher/internal/resolveTtscserverBinary.js +19 -5
  930. package/lib/launcher/internal/resolveTtscserverBinary.js.map +1 -1
  931. package/lib/launcher/internal/runTtsc.d.ts +23 -23
  932. package/lib/launcher/internal/runTtsc.js +336 -286
  933. package/lib/launcher/internal/runTtsc.js.map +1 -1
  934. package/lib/launcher/internal/runTtsx.d.ts +32 -4
  935. package/lib/launcher/internal/runTtsx.js +286 -138
  936. package/lib/launcher/internal/runTtsx.js.map +1 -1
  937. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.d.ts +92 -0
  938. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.js +354 -0
  939. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.js.map +1 -0
  940. package/lib/launcher/internal/runtime/DependencyBuildAdmission.d.ts +72 -0
  941. package/lib/launcher/internal/runtime/DependencyBuildAdmission.js +120 -0
  942. package/lib/launcher/internal/runtime/DependencyBuildAdmission.js.map +1 -0
  943. package/lib/launcher/internal/runtime/DependencyBuildGeneration.d.ts +185 -0
  944. package/lib/launcher/internal/runtime/DependencyBuildGeneration.js +153 -0
  945. package/lib/launcher/internal/runtime/DependencyBuildGeneration.js.map +1 -0
  946. package/lib/launcher/internal/runtime/DependencyBuildLockFence.d.ts +22 -0
  947. package/lib/launcher/internal/runtime/DependencyBuildLockFence.js +3 -0
  948. package/lib/launcher/internal/runtime/DependencyBuildLockFence.js.map +1 -0
  949. package/lib/launcher/internal/runtime/DependencyBuildLockLease.d.ts +22 -0
  950. package/lib/launcher/internal/runtime/DependencyBuildLockLease.js +3 -0
  951. package/lib/launcher/internal/runtime/DependencyBuildLockLease.js.map +1 -0
  952. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.d.ts +41 -0
  953. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.js +3 -0
  954. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.js.map +1 -0
  955. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.d.ts +83 -0
  956. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.js +126 -0
  957. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.js.map +1 -0
  958. package/lib/launcher/internal/runtime/OwnedProjectSource.d.ts +112 -0
  959. package/lib/launcher/internal/runtime/OwnedProjectSource.js +59 -0
  960. package/lib/launcher/internal/runtime/OwnedProjectSource.js.map +1 -0
  961. package/lib/launcher/internal/runtime/OwningModuleOptions.d.ts +21 -0
  962. package/lib/launcher/internal/runtime/OwningModuleOptions.js +3 -0
  963. package/lib/launcher/internal/runtime/OwningModuleOptions.js.map +1 -0
  964. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.d.ts +89 -0
  965. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.js +115 -0
  966. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.js.map +1 -0
  967. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.d.ts +168 -0
  968. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.js +251 -0
  969. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.js.map +1 -0
  970. package/lib/launcher/internal/runtime/ResolveResult.d.ts +24 -0
  971. package/lib/launcher/internal/runtime/ResolveResult.js +3 -0
  972. package/lib/launcher/internal/runtime/ResolveResult.js.map +1 -0
  973. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.d.ts +38 -0
  974. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.js +60 -0
  975. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.js.map +1 -0
  976. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.d.ts +22 -0
  977. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.js +3 -0
  978. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.js.map +1 -0
  979. package/lib/launcher/internal/runtime/RuntimeFilesystem.d.ts +52 -0
  980. package/lib/launcher/internal/runtime/RuntimeFilesystem.js +73 -0
  981. package/lib/launcher/internal/runtime/RuntimeFilesystem.js.map +1 -0
  982. package/lib/launcher/internal/runtime/RuntimeHookOptions.d.ts +22 -0
  983. package/lib/launcher/internal/runtime/RuntimeHookOptions.js +3 -0
  984. package/lib/launcher/internal/runtime/RuntimeHookOptions.js.map +1 -0
  985. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.d.ts +53 -0
  986. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.js +88 -0
  987. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.js.map +1 -0
  988. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.d.ts +78 -0
  989. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.js +256 -0
  990. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.js.map +1 -0
  991. package/lib/launcher/internal/runtime/RuntimeManifest.d.ts +65 -0
  992. package/lib/launcher/internal/runtime/RuntimeManifest.js +3 -0
  993. package/lib/launcher/internal/runtime/RuntimeManifest.js.map +1 -0
  994. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.d.ts +95 -0
  995. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.js +268 -0
  996. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.js.map +1 -0
  997. package/lib/launcher/internal/runtime/RuntimeModuleFormat.d.ts +60 -0
  998. package/lib/launcher/internal/runtime/RuntimeModuleFormat.js +249 -0
  999. package/lib/launcher/internal/runtime/RuntimeModuleFormat.js.map +1 -0
  1000. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.d.ts +50 -0
  1001. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.js +134 -0
  1002. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.js.map +1 -0
  1003. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.d.ts +11 -0
  1004. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.js +15 -0
  1005. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.js.map +1 -0
  1006. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.d.ts +22 -0
  1007. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.js +74 -0
  1008. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.js.map +1 -0
  1009. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.d.ts +30 -0
  1010. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.js +83 -0
  1011. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.js.map +1 -0
  1012. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.d.ts +30 -0
  1013. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.js +52 -0
  1014. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.js.map +1 -0
  1015. package/lib/launcher/internal/runtime/commonJsExportNames.d.ts +21 -0
  1016. package/lib/launcher/internal/runtime/commonJsExportNames.js +68 -0
  1017. package/lib/launcher/internal/runtime/commonJsExportNames.js.map +1 -0
  1018. package/lib/launcher/internal/runtime/commonJsImportFacade.d.ts +32 -0
  1019. package/lib/launcher/internal/runtime/commonJsImportFacade.js +56 -0
  1020. package/lib/launcher/internal/runtime/commonJsImportFacade.js.map +1 -0
  1021. package/lib/launcher/internal/runtime/dependencyCacheKey.d.ts +36 -0
  1022. package/lib/launcher/internal/runtime/dependencyCacheKey.js +57 -0
  1023. package/lib/launcher/internal/runtime/dependencyCacheKey.js.map +1 -0
  1024. package/lib/launcher/internal/runtime/dependencyCacheRoot.d.ts +32 -0
  1025. package/lib/launcher/internal/runtime/dependencyCacheRoot.js +98 -0
  1026. package/lib/launcher/internal/runtime/dependencyCacheRoot.js.map +1 -0
  1027. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.d.ts +23 -0
  1028. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.js +126 -0
  1029. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.js.map +1 -0
  1030. package/lib/launcher/internal/runtime/installRuntimeHooks.d.ts +58 -0
  1031. package/lib/launcher/internal/runtime/installRuntimeHooks.js +1988 -0
  1032. package/lib/launcher/internal/runtime/installRuntimeHooks.js.map +1 -0
  1033. package/lib/launcher/internal/runtime/interopProbe.d.ts +8 -0
  1034. package/lib/launcher/internal/runtime/interopProbe.js +3 -0
  1035. package/lib/launcher/internal/runtime/interopProbe.js.map +1 -0
  1036. package/lib/launcher/internal/runtime/isLocalProcessGone.d.ts +33 -0
  1037. package/lib/launcher/internal/runtime/isLocalProcessGone.js +60 -0
  1038. package/lib/launcher/internal/runtime/isLocalProcessGone.js.map +1 -0
  1039. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.d.ts +28 -0
  1040. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.js +50 -0
  1041. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.js.map +1 -0
  1042. package/lib/launcher/internal/runtime/projectModuleOptions.d.ts +16 -0
  1043. package/lib/launcher/internal/runtime/projectModuleOptions.js +28 -0
  1044. package/lib/launcher/internal/runtime/projectModuleOptions.js.map +1 -0
  1045. package/lib/launcher/internal/runtime/readDependencyCache.d.ts +28 -0
  1046. package/lib/launcher/internal/runtime/readDependencyCache.js +83 -0
  1047. package/lib/launcher/internal/runtime/readDependencyCache.js.map +1 -0
  1048. package/lib/launcher/internal/runtime/realPath.d.ts +22 -0
  1049. package/lib/launcher/internal/runtime/realPath.js +37 -0
  1050. package/lib/launcher/internal/runtime/realPath.js.map +1 -0
  1051. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.d.ts +17 -0
  1052. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.js +23 -0
  1053. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.js.map +1 -0
  1054. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.d.ts +17 -0
  1055. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.js +23 -0
  1056. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.js.map +1 -0
  1057. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.d.ts +34 -0
  1058. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.js +88 -0
  1059. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.js.map +1 -0
  1060. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.d.ts +20 -0
  1061. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.js +30 -0
  1062. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.js.map +1 -0
  1063. package/lib/launcher/internal/runtime/runtimeRunKey.d.ts +24 -0
  1064. package/lib/launcher/internal/runtime/runtimeRunKey.js +36 -0
  1065. package/lib/launcher/internal/runtime/runtimeRunKey.js.map +1 -0
  1066. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.d.ts +21 -0
  1067. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.js +29 -0
  1068. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.js.map +1 -0
  1069. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.d.ts +35 -0
  1070. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.js +76 -0
  1071. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.js.map +1 -0
  1072. package/lib/launcher/internal/runtimeCompilerArgs.d.ts +35 -6
  1073. package/lib/launcher/internal/runtimeCompilerArgs.js +87 -58
  1074. package/lib/launcher/internal/runtimeCompilerArgs.js.map +1 -1
  1075. package/lib/launcher/internal/runtimeEmitProfile.d.ts +39 -0
  1076. package/lib/launcher/internal/runtimeEmitProfile.js +56 -0
  1077. package/lib/launcher/internal/runtimeEmitProfile.js.map +1 -0
  1078. package/lib/launcher/internal/runtimeHookPreload.js +4 -4
  1079. package/lib/launcher/internal/runtimeHookPreload.js.map +1 -1
  1080. package/lib/launcher/internal/runtimeOwnerPreload.d.ts +1 -0
  1081. package/lib/launcher/internal/runtimeOwnerPreload.js +43 -0
  1082. package/lib/launcher/internal/runtimeOwnerPreload.js.map +1 -0
  1083. package/lib/launcher/internal/singleRootProjectConfig.d.ts +34 -0
  1084. package/lib/launcher/internal/singleRootProjectConfig.js +39 -0
  1085. package/lib/launcher/internal/singleRootProjectConfig.js.map +1 -0
  1086. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.d.ts +61 -0
  1087. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.js +3 -0
  1088. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.js.map +1 -0
  1089. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.d.ts +95 -0
  1090. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.js +270 -0
  1091. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.js.map +1 -0
  1092. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.d.ts +46 -0
  1093. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js +91 -0
  1094. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js.map +1 -0
  1095. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.d.ts +21 -0
  1096. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.js +39 -0
  1097. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.js.map +1 -0
  1098. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.d.ts +18 -0
  1099. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.js +27 -0
  1100. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.js.map +1 -0
  1101. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.d.ts +26 -0
  1102. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.js +62 -0
  1103. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.js.map +1 -0
  1104. package/lib/launcher/internal/ttscserver/needsStdio.d.ts +17 -0
  1105. package/lib/launcher/internal/ttscserver/needsStdio.js +36 -0
  1106. package/lib/launcher/internal/ttscserver/needsStdio.js.map +1 -0
  1107. package/lib/launcher/internal/ttscserver/runTtscserver.d.ts +25 -0
  1108. package/lib/launcher/internal/ttscserver/runTtscserver.js +439 -0
  1109. package/lib/launcher/internal/ttscserver/runTtscserver.js.map +1 -0
  1110. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.d.ts +29 -0
  1111. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.js +3 -0
  1112. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.js.map +1 -0
  1113. package/lib/launcher/internal/watch/DirectoryWatcher.d.ts +44 -0
  1114. package/lib/launcher/internal/watch/DirectoryWatcher.js +3 -0
  1115. package/lib/launcher/internal/watch/DirectoryWatcher.js.map +1 -0
  1116. package/lib/launcher/internal/watch/FseventsStreams.d.ts +87 -0
  1117. package/lib/launcher/internal/watch/FseventsStreams.js +266 -0
  1118. package/lib/launcher/internal/watch/FseventsStreams.js.map +1 -0
  1119. package/lib/launcher/internal/watch/ProjectInputWatchRules.d.ts +92 -0
  1120. package/lib/launcher/internal/watch/ProjectInputWatchRules.js +163 -0
  1121. package/lib/launcher/internal/watch/ProjectInputWatchRules.js.map +1 -0
  1122. package/lib/launcher/internal/watch/WatchInputChange.d.ts +29 -0
  1123. package/lib/launcher/internal/watch/WatchInputChange.js +3 -0
  1124. package/lib/launcher/internal/watch/WatchInputChange.js.map +1 -0
  1125. package/lib/launcher/internal/watch/WatchPaths.d.ts +101 -0
  1126. package/lib/launcher/internal/watch/WatchPaths.js +150 -0
  1127. package/lib/launcher/internal/watch/WatchPaths.js.map +1 -0
  1128. package/lib/launcher/internal/watch/WatchTopology.d.ts +384 -0
  1129. package/lib/launcher/internal/{watchTopology.js → watch/WatchTopology.js} +726 -799
  1130. package/lib/launcher/internal/watch/WatchTopology.js.map +1 -0
  1131. package/lib/launcher/internal/watch/literalGlobRoot.d.ts +22 -0
  1132. package/lib/launcher/internal/watch/literalGlobRoot.js +45 -0
  1133. package/lib/launcher/internal/watch/literalGlobRoot.js.map +1 -0
  1134. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.d.ts +40 -0
  1135. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.js +69 -0
  1136. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.js.map +1 -0
  1137. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.d.ts +19 -0
  1138. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.js +52 -0
  1139. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.js.map +1 -0
  1140. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.d.ts +21 -0
  1141. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.js +55 -0
  1142. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.js.map +1 -0
  1143. package/lib/launcher/internal/watch/projectInputEventShouldNotify.d.ts +21 -0
  1144. package/lib/launcher/internal/watch/projectInputEventShouldNotify.js +23 -0
  1145. package/lib/launcher/internal/watch/projectInputEventShouldNotify.js.map +1 -0
  1146. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.d.ts +27 -0
  1147. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.js +54 -0
  1148. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.js.map +1 -0
  1149. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.d.ts +26 -0
  1150. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.js +100 -0
  1151. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.js.map +1 -0
  1152. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.d.ts +37 -0
  1153. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.js +54 -0
  1154. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.js.map +1 -0
  1155. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.d.ts +23 -0
  1156. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.js +67 -0
  1157. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.js.map +1 -0
  1158. package/lib/launcher/internal/watch/projectInputWatchDirectories.d.ts +22 -0
  1159. package/lib/launcher/internal/watch/projectInputWatchDirectories.js +30 -0
  1160. package/lib/launcher/internal/watch/projectInputWatchDirectories.js.map +1 -0
  1161. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.d.ts +22 -0
  1162. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.js +45 -0
  1163. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.js.map +1 -0
  1164. package/lib/launcher/internal/watch/syncWatchers.d.ts +25 -0
  1165. package/lib/launcher/internal/watch/syncWatchers.js +61 -0
  1166. package/lib/launcher/internal/watch/syncWatchers.js.map +1 -0
  1167. package/lib/launcher/internal/watch/watchDirectory.d.ts +28 -0
  1168. package/lib/launcher/internal/watch/watchDirectory.js +46 -0
  1169. package/lib/launcher/internal/watch/watchDirectory.js.map +1 -0
  1170. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.d.ts +28 -0
  1171. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.js +38 -0
  1172. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.js.map +1 -0
  1173. package/lib/launcher/ttscserver.js +1 -1
  1174. package/lib/launcher/ttscserver.js.map +1 -1
  1175. package/lib/launcher/ttsx.js +2 -3
  1176. package/lib/launcher/ttsx.js.map +1 -1
  1177. package/lib/plugin/CapabilityPluginResolver.d.ts +140 -0
  1178. package/lib/plugin/CapabilityPluginResolver.js +400 -0
  1179. package/lib/plugin/CapabilityPluginResolver.js.map +1 -0
  1180. package/lib/plugin/ITtscCapabilityPlugin.d.ts +87 -0
  1181. package/lib/plugin/ITtscCapabilityPlugin.js +3 -0
  1182. package/lib/plugin/ITtscCapabilityPlugin.js.map +1 -0
  1183. package/lib/plugin/internal/CapabilityPluginResult.d.ts +66 -0
  1184. package/lib/plugin/internal/CapabilityPluginResult.js +86 -0
  1185. package/lib/plugin/internal/CapabilityPluginResult.js.map +1 -0
  1186. package/lib/plugin/internal/CapabilityResolutionFormat.d.ts +114 -0
  1187. package/lib/plugin/internal/CapabilityResolutionFormat.js +229 -0
  1188. package/lib/plugin/internal/CapabilityResolutionFormat.js.map +1 -0
  1189. package/lib/plugin/internal/ITtscCapabilityPluginSource.d.ts +35 -0
  1190. package/lib/plugin/internal/ITtscCapabilityPluginSource.js +3 -0
  1191. package/lib/plugin/internal/ITtscCapabilityPluginSource.js.map +1 -0
  1192. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.d.ts +49 -0
  1193. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.js +3 -0
  1194. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.js.map +1 -0
  1195. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.d.ts +21 -0
  1196. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.js +3 -0
  1197. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.js.map +1 -0
  1198. package/lib/plugin/internal/capabilityPluginWorker.d.ts +1 -0
  1199. package/lib/plugin/internal/capabilityPluginWorker.js +178 -0
  1200. package/lib/plugin/internal/capabilityPluginWorker.js.map +1 -0
  1201. package/lib/plugin/internal/decodeCapabilityCommandReply.d.ts +23 -0
  1202. package/lib/plugin/internal/decodeCapabilityCommandReply.js +25 -0
  1203. package/lib/plugin/internal/decodeCapabilityCommandReply.js.map +1 -0
  1204. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.d.ts +15 -0
  1205. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.js +182 -0
  1206. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.js.map +1 -0
  1207. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.d.ts +11 -0
  1208. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.js +62 -0
  1209. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.js.map +1 -0
  1210. package/lib/plugin/internal/load/PluginDescriptorAdmission.d.ts +46 -0
  1211. package/lib/plugin/internal/load/PluginDescriptorAdmission.js +72 -0
  1212. package/lib/plugin/internal/load/PluginDescriptorAdmission.js.map +1 -0
  1213. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.d.ts +154 -0
  1214. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js +317 -0
  1215. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js.map +1 -0
  1216. package/lib/plugin/internal/load/PluginPackageResolution.d.ts +208 -0
  1217. package/lib/plugin/internal/load/PluginPackageResolution.js +593 -0
  1218. package/lib/plugin/internal/load/PluginPackageResolution.js.map +1 -0
  1219. package/lib/plugin/internal/load/ProjectPluginEntries.d.ts +60 -0
  1220. package/lib/plugin/internal/load/ProjectPluginEntries.js +164 -0
  1221. package/lib/plugin/internal/load/ProjectPluginEntries.js.map +1 -0
  1222. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.d.ts +13 -0
  1223. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.js +21 -0
  1224. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.js.map +1 -0
  1225. package/lib/plugin/internal/load/collectProjectHostInputs.d.ts +16 -0
  1226. package/lib/plugin/internal/load/collectProjectHostInputs.js +66 -0
  1227. package/lib/plugin/internal/load/collectProjectHostInputs.js.map +1 -0
  1228. package/lib/plugin/internal/load/composePluginSources.d.ts +20 -0
  1229. package/lib/plugin/internal/load/composePluginSources.js +95 -0
  1230. package/lib/plugin/internal/load/composePluginSources.js.map +1 -0
  1231. package/lib/plugin/internal/load/declaresHostInputReads.d.ts +24 -0
  1232. package/lib/plugin/internal/load/declaresHostInputReads.js +48 -0
  1233. package/lib/plugin/internal/load/declaresHostInputReads.js.map +1 -0
  1234. package/lib/plugin/internal/load/hasProjectPluginEntries.d.ts +21 -0
  1235. package/lib/plugin/internal/load/hasProjectPluginEntries.js +29 -0
  1236. package/lib/plugin/internal/load/hasProjectPluginEntries.js.map +1 -0
  1237. package/lib/plugin/internal/load/hashHostInputPaths.d.ts +17 -0
  1238. package/lib/plugin/internal/load/hashHostInputPaths.js +46 -0
  1239. package/lib/plugin/internal/load/hashHostInputPaths.js.map +1 -0
  1240. package/lib/plugin/internal/load/isRelativePluginSpecifier.d.ts +22 -0
  1241. package/lib/plugin/internal/load/isRelativePluginSpecifier.js +33 -0
  1242. package/lib/plugin/internal/load/isRelativePluginSpecifier.js.map +1 -0
  1243. package/lib/plugin/internal/load/loadProjectPlugins.d.ts +112 -0
  1244. package/lib/plugin/internal/load/loadProjectPlugins.js +1640 -0
  1245. package/lib/plugin/internal/load/loadProjectPlugins.js.map +1 -0
  1246. package/lib/plugin/internal/load/moduleResolutionBaseSelects.d.ts +42 -0
  1247. package/lib/plugin/internal/load/moduleResolutionBaseSelects.js +51 -0
  1248. package/lib/plugin/internal/load/moduleResolutionBaseSelects.js.map +1 -0
  1249. package/lib/plugin/internal/load/observeImportSearchRoots.d.ts +29 -0
  1250. package/lib/plugin/internal/load/observeImportSearchRoots.js +38 -0
  1251. package/lib/plugin/internal/load/observeImportSearchRoots.js.map +1 -0
  1252. package/lib/plugin/internal/load/pluginLabel.d.ts +15 -0
  1253. package/lib/plugin/internal/load/pluginLabel.js +25 -0
  1254. package/lib/plugin/internal/load/pluginLabel.js.map +1 -0
  1255. package/lib/plugin/internal/load/realpathHostInput.d.ts +14 -0
  1256. package/lib/plugin/internal/load/realpathHostInput.js +29 -0
  1257. package/lib/plugin/internal/load/realpathHostInput.js.map +1 -0
  1258. package/lib/plugin/internal/load/realpathHostInputPaths.d.ts +17 -0
  1259. package/lib/plugin/internal/load/realpathHostInputPaths.js +28 -0
  1260. package/lib/plugin/internal/load/realpathHostInputPaths.js.map +1 -0
  1261. package/lib/plugin/internal/load/rejectJsTransformFunctions.d.ts +13 -0
  1262. package/lib/plugin/internal/load/rejectJsTransformFunctions.js +22 -0
  1263. package/lib/plugin/internal/load/rejectJsTransformFunctions.js.map +1 -0
  1264. package/lib/plugin/internal/load/requirePluginSource.d.ts +14 -0
  1265. package/lib/plugin/internal/load/requirePluginSource.js +38 -0
  1266. package/lib/plugin/internal/load/requirePluginSource.js.map +1 -0
  1267. package/lib/plugin/internal/load/resolveNativeSource.d.ts +29 -0
  1268. package/lib/plugin/internal/load/resolveNativeSource.js +37 -0
  1269. package/lib/plugin/internal/load/resolveNativeSource.js.map +1 -0
  1270. package/lib/plugin/internal/load/validatePluginContributors.d.ts +22 -0
  1271. package/lib/plugin/internal/load/validatePluginContributors.js +86 -0
  1272. package/lib/plugin/internal/load/validatePluginContributors.js.map +1 -0
  1273. package/lib/plugin/internal/load/validatePluginSource.d.ts +14 -0
  1274. package/lib/plugin/internal/load/validatePluginSource.js +21 -0
  1275. package/lib/plugin/internal/load/validatePluginSource.js.map +1 -0
  1276. package/lib/plugin/internal/load/visitImportMappedCandidates.d.ts +36 -0
  1277. package/lib/plugin/internal/load/visitImportMappedCandidates.js +45 -0
  1278. package/lib/plugin/internal/load/visitImportMappedCandidates.js.map +1 -0
  1279. package/lib/plugin/internal/pluginDescriptorFailureReason.d.ts +23 -0
  1280. package/lib/plugin/internal/pluginDescriptorFailureReason.js +43 -0
  1281. package/lib/plugin/internal/pluginDescriptorFailureReason.js.map +1 -0
  1282. package/lib/plugin/internal/pluginDescriptorProcessFailure.d.ts +28 -0
  1283. package/lib/plugin/internal/pluginDescriptorProcessFailure.js +37 -0
  1284. package/lib/plugin/internal/pluginDescriptorProcessFailure.js.map +1 -0
  1285. package/lib/plugin/internal/readCapabilityResolution.d.ts +42 -0
  1286. package/lib/plugin/internal/readCapabilityResolution.js +158 -0
  1287. package/lib/plugin/internal/readCapabilityResolution.js.map +1 -0
  1288. package/lib/plugin/internal/receiveCapabilityFailure.d.ts +21 -0
  1289. package/lib/plugin/internal/receiveCapabilityFailure.js +28 -0
  1290. package/lib/plugin/internal/receiveCapabilityFailure.js.map +1 -0
  1291. package/lib/plugin/internal/source/CachePrunePolicy.d.ts +42 -0
  1292. package/lib/plugin/internal/source/CachePrunePolicy.js +47 -0
  1293. package/lib/plugin/internal/source/CachePrunePolicy.js.map +1 -0
  1294. package/lib/plugin/internal/source/GoBuildCacheCoordination.d.ts +159 -0
  1295. package/lib/plugin/internal/source/GoBuildCacheCoordination.js +475 -0
  1296. package/lib/plugin/internal/source/GoBuildCacheCoordination.js.map +1 -0
  1297. package/lib/plugin/internal/source/GoEnvironmentReading.d.ts +42 -0
  1298. package/lib/plugin/internal/source/GoEnvironmentReading.js +110 -0
  1299. package/lib/plugin/internal/source/GoEnvironmentReading.js.map +1 -0
  1300. package/lib/plugin/internal/source/GoSourceInputs.d.ts +124 -0
  1301. package/lib/plugin/internal/source/GoSourceInputs.js +180 -0
  1302. package/lib/plugin/internal/source/GoSourceInputs.js.map +1 -0
  1303. package/lib/plugin/internal/source/GoToolResolution.d.ts +125 -0
  1304. package/lib/plugin/internal/source/GoToolResolution.js +278 -0
  1305. package/lib/plugin/internal/source/GoToolResolution.js.map +1 -0
  1306. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.d.ts +30 -0
  1307. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.js +3 -0
  1308. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.js.map +1 -0
  1309. package/lib/plugin/internal/source/IPluginCachePruneOptions.d.ts +33 -0
  1310. package/lib/plugin/internal/source/IPluginCachePruneOptions.js +3 -0
  1311. package/lib/plugin/internal/source/IPluginCachePruneOptions.js.map +1 -0
  1312. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.d.ts +27 -0
  1313. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.js +3 -0
  1314. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.js.map +1 -0
  1315. package/lib/plugin/internal/source/ITtscBuildContributor.d.ts +18 -0
  1316. package/lib/plugin/internal/source/ITtscBuildContributor.js +3 -0
  1317. package/lib/plugin/internal/source/ITtscBuildContributor.js.map +1 -0
  1318. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.d.ts +25 -0
  1319. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.js +3 -0
  1320. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.js.map +1 -0
  1321. package/lib/plugin/internal/source/NativeSourcePackages.d.ts +155 -0
  1322. package/lib/plugin/internal/source/NativeSourcePackages.js +330 -0
  1323. package/lib/plugin/internal/source/NativeSourcePackages.js.map +1 -0
  1324. package/lib/plugin/internal/source/PluginBinaryUse.d.ts +66 -0
  1325. package/lib/plugin/internal/source/PluginBinaryUse.js +163 -0
  1326. package/lib/plugin/internal/source/PluginBinaryUse.js.map +1 -0
  1327. package/lib/plugin/internal/source/PluginBinaryWaitResult.d.ts +34 -0
  1328. package/lib/plugin/internal/source/PluginBinaryWaitResult.js +3 -0
  1329. package/lib/plugin/internal/source/PluginBinaryWaitResult.js.map +1 -0
  1330. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.d.ts +111 -0
  1331. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js +243 -0
  1332. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js.map +1 -0
  1333. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.d.ts +130 -0
  1334. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js +215 -0
  1335. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js.map +1 -0
  1336. package/lib/plugin/internal/source/PluginBuildLockFence.d.ts +25 -0
  1337. package/lib/plugin/internal/source/PluginBuildLockFence.js +3 -0
  1338. package/lib/plugin/internal/source/PluginBuildLockFence.js.map +1 -0
  1339. package/lib/plugin/internal/source/PluginBuildLockLease.d.ts +29 -0
  1340. package/lib/plugin/internal/source/PluginBuildLockLease.js +3 -0
  1341. package/lib/plugin/internal/source/PluginBuildLockLease.js.map +1 -0
  1342. package/lib/plugin/internal/source/PluginBuildLockObservation.d.ts +42 -0
  1343. package/lib/plugin/internal/source/PluginBuildLockObservation.js +3 -0
  1344. package/lib/plugin/internal/source/PluginBuildLockObservation.js.map +1 -0
  1345. package/lib/plugin/internal/source/PluginBuildLockOwner.d.ts +126 -0
  1346. package/lib/plugin/internal/source/PluginBuildLockOwner.js +165 -0
  1347. package/lib/plugin/internal/source/PluginBuildLockOwner.js.map +1 -0
  1348. package/lib/plugin/internal/source/PluginBuildLockProtocol.d.ts +234 -0
  1349. package/lib/plugin/internal/source/PluginBuildLockProtocol.js +287 -0
  1350. package/lib/plugin/internal/source/PluginBuildLockProtocol.js.map +1 -0
  1351. package/lib/plugin/internal/source/SourceBuildCacheLayout.d.ts +183 -0
  1352. package/lib/plugin/internal/source/SourceBuildCacheLayout.js +291 -0
  1353. package/lib/plugin/internal/source/SourceBuildCacheLayout.js.map +1 -0
  1354. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.d.ts +32 -0
  1355. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.js +3 -0
  1356. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.js.map +1 -0
  1357. package/lib/plugin/internal/source/SourcePluginAdmission.d.ts +80 -0
  1358. package/lib/plugin/internal/source/SourcePluginAdmission.js +114 -0
  1359. package/lib/plugin/internal/source/SourcePluginAdmission.js.map +1 -0
  1360. package/lib/plugin/internal/source/SourcePluginWorkspace.d.ts +153 -0
  1361. package/lib/plugin/internal/source/SourcePluginWorkspace.js +394 -0
  1362. package/lib/plugin/internal/source/SourcePluginWorkspace.js.map +1 -0
  1363. package/lib/plugin/internal/source/acquirePluginBuildLock.d.ts +35 -0
  1364. package/lib/plugin/internal/source/acquirePluginBuildLock.js +176 -0
  1365. package/lib/plugin/internal/source/acquirePluginBuildLock.js.map +1 -0
  1366. package/lib/plugin/internal/source/autoQuoteGoModToken.d.ts +24 -0
  1367. package/lib/plugin/internal/source/autoQuoteGoModToken.js +110 -0
  1368. package/lib/plugin/internal/source/autoQuoteGoModToken.js.map +1 -0
  1369. package/lib/plugin/internal/source/buildSourcePlugin.d.ts +89 -0
  1370. package/lib/plugin/internal/source/buildSourcePlugin.js +862 -0
  1371. package/lib/plugin/internal/source/buildSourcePlugin.js.map +1 -0
  1372. package/lib/plugin/internal/source/collectPluginSourceDirectories.d.ts +30 -0
  1373. package/lib/plugin/internal/source/collectPluginSourceDirectories.js +77 -0
  1374. package/lib/plugin/internal/source/collectPluginSourceDirectories.js.map +1 -0
  1375. package/lib/plugin/internal/source/collectPluginSourceFiles.d.ts +40 -0
  1376. package/lib/plugin/internal/source/collectPluginSourceFiles.js +95 -0
  1377. package/lib/plugin/internal/source/collectPluginSourceFiles.js.map +1 -0
  1378. package/lib/plugin/internal/source/computeCacheKey.d.ts +75 -0
  1379. package/lib/plugin/internal/source/computeCacheKey.js +122 -0
  1380. package/lib/plugin/internal/source/computeCacheKey.js.map +1 -0
  1381. package/lib/plugin/internal/source/copiesPluginSourceEntry.d.ts +33 -0
  1382. package/lib/plugin/internal/source/copiesPluginSourceEntry.js +57 -0
  1383. package/lib/plugin/internal/source/copiesPluginSourceEntry.js.map +1 -0
  1384. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.d.ts +22 -0
  1385. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.js +60 -0
  1386. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.js.map +1 -0
  1387. package/lib/plugin/internal/source/ensureExecutableGoToolchain.d.ts +25 -0
  1388. package/lib/plugin/internal/source/ensureExecutableGoToolchain.js +96 -0
  1389. package/lib/plugin/internal/source/ensureExecutableGoToolchain.js.map +1 -0
  1390. package/lib/plugin/internal/source/formatDuration.d.ts +18 -0
  1391. package/lib/plugin/internal/source/formatDuration.js +36 -0
  1392. package/lib/plugin/internal/source/formatDuration.js.map +1 -0
  1393. package/lib/plugin/internal/source/formatGoWorkPath.d.ts +35 -0
  1394. package/lib/plugin/internal/source/formatGoWorkPath.js +42 -0
  1395. package/lib/plugin/internal/source/formatGoWorkPath.js.map +1 -0
  1396. package/lib/plugin/internal/source/hashPluginBuildEnvironment.d.ts +47 -0
  1397. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js +597 -0
  1398. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js.map +1 -0
  1399. package/lib/plugin/internal/source/inspectPluginBuildLock.d.ts +29 -0
  1400. package/lib/plugin/internal/source/inspectPluginBuildLock.js +285 -0
  1401. package/lib/plugin/internal/source/inspectPluginBuildLock.js.map +1 -0
  1402. package/lib/plugin/internal/source/isPathWithin.d.ts +16 -0
  1403. package/lib/plugin/internal/source/isPathWithin.js +28 -0
  1404. package/lib/plugin/internal/source/isPathWithin.js.map +1 -0
  1405. package/lib/plugin/internal/source/legacyGlobalCacheTargets.d.ts +24 -0
  1406. package/lib/plugin/internal/source/legacyGlobalCacheTargets.js +60 -0
  1407. package/lib/plugin/internal/source/legacyGlobalCacheTargets.js.map +1 -0
  1408. package/lib/plugin/internal/source/pluginBuildEnvironment.d.ts +31 -0
  1409. package/lib/plugin/internal/source/pluginBuildEnvironment.js +47 -0
  1410. package/lib/plugin/internal/source/pluginBuildEnvironment.js.map +1 -0
  1411. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.d.ts +1 -0
  1412. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js +24 -0
  1413. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js.map +1 -0
  1414. package/lib/plugin/internal/source/pluginBuildVersions.d.ts +31 -0
  1415. package/lib/plugin/internal/source/pluginBuildVersions.js +65 -0
  1416. package/lib/plugin/internal/source/pluginBuildVersions.js.map +1 -0
  1417. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.d.ts +41 -0
  1418. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js +74 -0
  1419. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js.map +1 -0
  1420. package/lib/plugin/internal/source/pluginSourceCovers.d.ts +32 -0
  1421. package/lib/plugin/internal/source/pluginSourceCovers.js +54 -0
  1422. package/lib/plugin/internal/source/pluginSourceCovers.js.map +1 -0
  1423. package/lib/plugin/internal/source/pluginSourceDigest.d.ts +40 -0
  1424. package/lib/plugin/internal/source/pluginSourceDigest.js +60 -0
  1425. package/lib/plugin/internal/source/pluginSourceDigest.js.map +1 -0
  1426. package/lib/plugin/internal/source/pluginSourceFilesSignature.d.ts +38 -0
  1427. package/lib/plugin/internal/source/pluginSourceFilesSignature.js +53 -0
  1428. package/lib/plugin/internal/source/pluginSourceFilesSignature.js.map +1 -0
  1429. package/lib/plugin/internal/source/pluginSourceState.d.ts +47 -0
  1430. package/lib/plugin/internal/source/pluginSourceState.js +63 -0
  1431. package/lib/plugin/internal/source/pluginSourceState.js.map +1 -0
  1432. package/lib/plugin/internal/source/pluginSourceStateHolds.d.ts +34 -0
  1433. package/lib/plugin/internal/source/pluginSourceStateHolds.js +45 -0
  1434. package/lib/plugin/internal/source/pluginSourceStateHolds.js.map +1 -0
  1435. package/lib/plugin/internal/source/processPluginBuildEnvironment.d.ts +33 -0
  1436. package/lib/plugin/internal/source/processPluginBuildEnvironment.js +40 -0
  1437. package/lib/plugin/internal/source/processPluginBuildEnvironment.js.map +1 -0
  1438. package/lib/plugin/internal/source/pruneCacheFileRoot.d.ts +34 -0
  1439. package/lib/plugin/internal/source/pruneCacheFileRoot.js +120 -0
  1440. package/lib/plugin/internal/source/pruneCacheFileRoot.js.map +1 -0
  1441. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.d.ts +28 -0
  1442. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.js +185 -0
  1443. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.js.map +1 -0
  1444. package/lib/plugin/internal/source/prunePluginCacheRoot.d.ts +46 -0
  1445. package/lib/plugin/internal/source/prunePluginCacheRoot.js +446 -0
  1446. package/lib/plugin/internal/source/prunePluginCacheRoot.js.map +1 -0
  1447. package/lib/plugin/internal/source/prunesPluginSourceDirectory.d.ts +21 -0
  1448. package/lib/plugin/internal/source/prunesPluginSourceDirectory.js +28 -0
  1449. package/lib/plugin/internal/source/prunesPluginSourceDirectory.js.map +1 -0
  1450. package/lib/plugin/internal/source/reclaimPluginBuildLock.d.ts +23 -0
  1451. package/lib/plugin/internal/source/reclaimPluginBuildLock.js +48 -0
  1452. package/lib/plugin/internal/source/reclaimPluginBuildLock.js.map +1 -0
  1453. package/lib/plugin/internal/source/recordCacheFileUse.d.ts +22 -0
  1454. package/lib/plugin/internal/source/recordCacheFileUse.js +43 -0
  1455. package/lib/plugin/internal/source/recordCacheFileUse.js.map +1 -0
  1456. package/lib/plugin/internal/source/releasePluginBuildLock.d.ts +33 -0
  1457. package/lib/plugin/internal/source/releasePluginBuildLock.js +100 -0
  1458. package/lib/plugin/internal/source/releasePluginBuildLock.js.map +1 -0
  1459. package/lib/plugin/internal/source/resolveCleanTargets.d.ts +26 -0
  1460. package/lib/plugin/internal/source/resolveCleanTargets.js +73 -0
  1461. package/lib/plugin/internal/source/resolveCleanTargets.js.map +1 -0
  1462. package/lib/plugin/internal/source/resolveGoCompiler.d.ts +29 -0
  1463. package/lib/plugin/internal/source/resolveGoCompiler.js +62 -0
  1464. package/lib/plugin/internal/source/resolveGoCompiler.js.map +1 -0
  1465. package/lib/plugin/internal/source/resolvePluginCacheRoot.d.ts +21 -0
  1466. package/lib/plugin/internal/source/resolvePluginCacheRoot.js +31 -0
  1467. package/lib/plugin/internal/source/resolvePluginCacheRoot.js.map +1 -0
  1468. package/lib/plugin/internal/source/resolvePluginGoModule.d.ts +34 -0
  1469. package/lib/plugin/internal/source/resolvePluginGoModule.js +65 -0
  1470. package/lib/plugin/internal/source/resolvePluginGoModule.js.map +1 -0
  1471. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.d.ts +21 -0
  1472. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.js +236 -0
  1473. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.js.map +1 -0
  1474. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.d.ts +29 -0
  1475. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.js +68 -0
  1476. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.js.map +1 -0
  1477. package/lib/plugin/internal/source/spawnGoTool.d.ts +22 -0
  1478. package/lib/plugin/internal/source/spawnGoTool.js +164 -0
  1479. package/lib/plugin/internal/source/spawnGoTool.js.map +1 -0
  1480. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.d.ts +27 -0
  1481. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.js +48 -0
  1482. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.js.map +1 -0
  1483. package/lib/plugin/internal/source/waitForPluginBinary.d.ts +36 -0
  1484. package/lib/plugin/internal/source/waitForPluginBinary.js +94 -0
  1485. package/lib/plugin/internal/source/waitForPluginBinary.js.map +1 -0
  1486. package/lib/plugin/internal/source/windowsGoCommandArgs.d.ts +17 -0
  1487. package/lib/plugin/internal/source/windowsGoCommandArgs.js +23 -0
  1488. package/lib/plugin/internal/source/windowsGoCommandArgs.js.map +1 -0
  1489. package/lib/plugin/internal/source/withGoBuildCacheLease.d.ts +37 -0
  1490. package/lib/plugin/internal/source/withGoBuildCacheLease.js +87 -0
  1491. package/lib/plugin/internal/source/withGoBuildCacheLease.js.map +1 -0
  1492. package/lib/plugin/internal/writeCapabilityResolution.d.ts +80 -0
  1493. package/lib/plugin/internal/writeCapabilityResolution.js +196 -0
  1494. package/lib/plugin/internal/writeCapabilityResolution.js.map +1 -0
  1495. package/lib/plugin/resolveCapabilityPlugins.d.ts +53 -32
  1496. package/lib/plugin/resolveCapabilityPlugins.js +209 -38
  1497. package/lib/plugin/resolveCapabilityPlugins.js.map +1 -1
  1498. package/lib/register.js +20 -5
  1499. package/lib/register.js.map +1 -1
  1500. package/lib/structures/ITtscCompilerContext.d.ts +29 -11
  1501. package/lib/structures/ITtscCompilerDiagnostic.d.ts +24 -7
  1502. package/lib/structures/ITtscCompilerResult.d.ts +75 -25
  1503. package/lib/structures/ITtscCompilerTransformation.d.ts +287 -64
  1504. package/lib/structures/ITtscPlugin.d.ts +24 -8
  1505. package/lib/structures/ITtscPluginCapabilities.d.ts +55 -5
  1506. package/lib/structures/ITtscPluginContributor.d.ts +19 -8
  1507. package/lib/structures/ITtscPluginFactoryContext.d.ts +12 -3
  1508. package/lib/structures/ITtscProjectPluginConfig.d.ts +35 -10
  1509. package/lib/structures/TtscPluginStage.d.ts +9 -0
  1510. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +19 -5
  1511. package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +29 -3
  1512. package/lib/structures/internal/ITtscProjectIdentity.d.ts +21 -6
  1513. package/lib/structures/internal/ITtscProjectInputSnapshot.d.ts +23 -8
  1514. package/lib/structures/internal/ITtscProjectLocatorOptions.d.ts +18 -4
  1515. package/lib/structures/internal/TtscBuildOptions.d.ts +33 -14
  1516. package/lib/structures/internal/TtscBuildResult.d.ts +63 -4
  1517. package/lib/structures/internal/TtscCommonOptions.d.ts +47 -14
  1518. package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +46 -5
  1519. package/package.json +26 -12
  1520. package/shim/ast/enums_gen.go +4 -2
  1521. package/shim/ast/go.mod +5 -5
  1522. package/shim/ast/go.sum +10 -10
  1523. package/shim/ast/lint.go +1088 -20
  1524. package/shim/ast/parent.go +38 -22
  1525. package/shim/ast/safe_text.go +48 -26
  1526. package/shim/ast/shim.go +1307 -20
  1527. package/shim/ast/test/next_jsdoc_comment_location_reaches_variable_statement_test.go +51 -0
  1528. package/shim/ast/test/node_text_joins_multi_hop_qualified_name_test.go +24 -9
  1529. package/shim/ast/test/node_text_joins_one_hop_qualified_name_test.go +9 -5
  1530. package/shim/ast/test/node_text_returns_empty_for_nil_test.go +13 -5
  1531. package/shim/ast/test/node_text_returns_identifier_text_test.go +12 -5
  1532. package/shim/ast/test/node_text_skips_empty_qualified_left_test.go +35 -5
  1533. package/shim/astnav/go.mod +5 -5
  1534. package/shim/astnav/go.sum +12 -10
  1535. package/shim/astnav/shim.go +9 -0
  1536. package/shim/bundled/go.mod +7 -1
  1537. package/shim/bundled/go.sum +12 -0
  1538. package/shim/checker/enums_gen.go +4 -2
  1539. package/shim/checker/extra-shim.json +6 -0
  1540. package/shim/checker/go.mod +5 -5
  1541. package/shim/checker/go.sum +10 -10
  1542. package/shim/checker/node_builder_fields_gen.go +19 -0
  1543. package/shim/checker/shim.go +827 -114
  1544. package/shim/compiler/emit_sourcemap.go +68 -29
  1545. package/shim/compiler/emitassemble.go +36 -2
  1546. package/shim/compiler/emithook.go +13 -3
  1547. package/shim/compiler/go.mod +5 -5
  1548. package/shim/compiler/go.sum +10 -10
  1549. package/shim/compiler/incremental.go +56 -20
  1550. package/shim/compiler/resolution.go +92 -9
  1551. package/shim/core/enums_gen.go +2 -2
  1552. package/shim/core/go.mod +6 -1
  1553. package/shim/core/go.sum +10 -0
  1554. package/shim/core/modulekind.go +9 -0
  1555. package/shim/core/shim.go +157 -6
  1556. package/shim/diagnosticwriter/go.mod +10 -1
  1557. package/shim/diagnosticwriter/go.sum +20 -0
  1558. package/shim/diagnosticwriter/lint.go +188 -10
  1559. package/shim/diagnosticwriter/shim.go +14 -0
  1560. package/shim/lsp/go.mod +5 -5
  1561. package/shim/lsp/go.sum +10 -10
  1562. package/shim/lsp/shim.go +78 -2
  1563. package/shim/parser/go.mod +10 -1
  1564. package/shim/parser/go.sum +22 -0
  1565. package/shim/printer/emithost.go +46 -1
  1566. package/shim/printer/go.mod +5 -5
  1567. package/shim/printer/go.sum +10 -10
  1568. package/shim/printer/shim.go +114 -7
  1569. package/shim/printer/sourcemap.go +55 -0
  1570. package/shim/scanner/go.mod +10 -1
  1571. package/shim/scanner/go.sum +20 -0
  1572. package/shim/scanner/regexp.go +19 -4
  1573. package/shim/scanner/shim.go +3 -0
  1574. package/shim/stringutil/extra-shim.json +1 -0
  1575. package/shim/stringutil/go.mod +5 -0
  1576. package/shim/stringutil/go.sum +2 -0
  1577. package/shim/stringutil/shim.go +119 -0
  1578. package/shim/transformers/go.mod +5 -5
  1579. package/shim/transformers/go.sum +12 -10
  1580. package/shim/transformers/shim.go +12 -3
  1581. package/shim/tsoptions/command_line_raw.go +44 -0
  1582. package/shim/tsoptions/go.mod +10 -1
  1583. package/shim/tsoptions/go.sum +22 -0
  1584. package/shim/tsoptions/shim.go +1 -1
  1585. package/shim/tspath/go.mod +1 -1
  1586. package/shim/tspath/go.sum +6 -0
  1587. package/shim/vfs/cachedvfs/go.mod +3 -1
  1588. package/shim/vfs/cachedvfs/go.sum +12 -0
  1589. package/shim/vfs/decode.go +26 -0
  1590. package/shim/vfs/decode_test.go +42 -0
  1591. package/shim/vfs/go.mod +7 -1
  1592. package/shim/vfs/go.sum +12 -0
  1593. package/shim/vfs/osvfs/go.mod +7 -1
  1594. package/shim/vfs/osvfs/go.sum +12 -0
  1595. package/src/TtscCompiler.ts +223 -234
  1596. package/src/TtscService.ts +87 -31
  1597. package/src/TtscServiceRequestOptions.ts +21 -0
  1598. package/src/compiler/internal/CapturedProcessOutput.ts +69 -0
  1599. package/src/compiler/internal/CompilerArgumentsInspection.ts +184 -0
  1600. package/src/compiler/internal/EmitOwnershipIndex.ts +254 -0
  1601. package/src/compiler/internal/PrivateCompilerOutput.ts +330 -0
  1602. package/src/compiler/internal/ResidentCheckProcess.ts +445 -0
  1603. package/src/compiler/internal/ResidentCheckProcessOptions.ts +32 -0
  1604. package/src/compiler/internal/ResidentCheckRequest.ts +39 -0
  1605. package/src/compiler/internal/ResidentCheckResult.ts +24 -0
  1606. package/src/compiler/internal/ResidentCheckTelemetry.ts +36 -0
  1607. package/src/compiler/internal/ResidentReplyKind.ts +18 -0
  1608. package/src/compiler/internal/ResidentTransformProcess.ts +299 -0
  1609. package/src/compiler/internal/ResidentTransformProcessOptions.ts +30 -0
  1610. package/src/compiler/internal/ResidentTransformReply.ts +79 -0
  1611. package/src/compiler/internal/ResidentTransformRequestOptions.ts +16 -0
  1612. package/src/compiler/internal/ResidentTransformRequests.ts +198 -0
  1613. package/src/compiler/internal/StartedResidentTransform.ts +29 -0
  1614. package/src/compiler/internal/TransformProjectWorkerReply.ts +37 -0
  1615. package/src/compiler/internal/TransformProjectWorkerRequest.ts +42 -0
  1616. package/src/compiler/internal/build/BuildExecution.ts +1261 -0
  1617. package/src/compiler/internal/build/BuildTiming.ts +145 -0
  1618. package/src/compiler/internal/build/CompilerDiagnostics.ts +307 -0
  1619. package/src/compiler/internal/build/NativePluginArguments.ts +302 -0
  1620. package/src/compiler/internal/build/PassthroughFlags.ts +229 -0
  1621. package/src/compiler/internal/build/PluginFailureDiagnostics.ts +70 -0
  1622. package/src/compiler/internal/build/ResidentCheckEntryPlan.ts +42 -0
  1623. package/src/compiler/internal/build/ResidentCheckWatchChange.ts +33 -0
  1624. package/src/compiler/internal/build/ResidentCheckWatchSession.ts +501 -0
  1625. package/src/compiler/internal/build/RunBuildOptions.ts +145 -0
  1626. package/src/compiler/internal/build/TsgoArguments.ts +349 -0
  1627. package/src/compiler/internal/build/appendBuildOutput.ts +218 -0
  1628. package/src/compiler/internal/build/bufferResidentCheckEntryRequests.ts +52 -0
  1629. package/src/compiler/internal/build/createProcessDiagnostic.ts +32 -0
  1630. package/src/compiler/internal/build/isAbsoluteLocalProjectInputPath.ts +55 -0
  1631. package/src/compiler/internal/build/mergeProjectInputSnapshots.ts +147 -0
  1632. package/src/compiler/internal/build/normalizeBuildOutput.ts +89 -0
  1633. package/src/compiler/internal/build/parseProjectInputSnapshot.ts +91 -0
  1634. package/src/compiler/internal/build/planResidentCheckEntries.ts +55 -0
  1635. package/src/compiler/internal/build/privateRuntimeRootDir.ts +33 -0
  1636. package/src/compiler/internal/build/residentCheckRequest.ts +41 -0
  1637. package/src/compiler/internal/build/runBuild.ts +61 -0
  1638. package/src/compiler/internal/build/runExternalEmitProvenance.ts +566 -0
  1639. package/src/compiler/internal/build/takeResidentCheckEntryRequest.ts +31 -0
  1640. package/src/compiler/internal/buildNativeCompiler.ts +19 -2
  1641. package/src/compiler/internal/captureProcessOutput.ts +37 -39
  1642. package/src/compiler/internal/compileProjectInMemory.ts +139 -92
  1643. package/src/compiler/internal/ensureExecutable.ts +32 -0
  1644. package/src/compiler/internal/findNearestGoMod.ts +43 -0
  1645. package/src/compiler/internal/isOutsideRelativePath.ts +26 -0
  1646. package/src/compiler/internal/outputText.ts +21 -0
  1647. package/src/compiler/internal/packageRootDir.ts +43 -0
  1648. package/src/compiler/internal/parseNativeTransformOutput.ts +722 -0
  1649. package/src/compiler/internal/project/CompilerProjectSelection.ts +204 -0
  1650. package/src/compiler/internal/project/ConfigJsonText.ts +55 -0
  1651. package/src/compiler/internal/project/compilerUsesCaseSensitiveFileNames.ts +124 -0
  1652. package/src/compiler/internal/project/createNativeProjectContextArgs.ts +14 -19
  1653. package/src/compiler/internal/project/createNativeProjectContextJson.ts +28 -0
  1654. package/src/compiler/internal/project/parseJsonc.ts +318 -0
  1655. package/src/compiler/internal/project/readJsonFile.ts +34 -0
  1656. package/src/compiler/internal/project/readJsoncFile.ts +46 -0
  1657. package/src/compiler/internal/project/readProjectConfig.ts +137 -200
  1658. package/src/compiler/internal/project/resolveOwningProjectConfig.ts +278 -0
  1659. package/src/compiler/internal/project/resolveProjectConfig.ts +18 -127
  1660. package/src/compiler/internal/project/resolveProjectIdentity.ts +153 -0
  1661. package/src/compiler/internal/project/resolveTsconfigExtends.ts +175 -0
  1662. package/src/compiler/internal/project/selectReferencedProject.ts +54 -0
  1663. package/src/compiler/internal/project/tsconfigExtendsFileCandidates.ts +54 -0
  1664. package/src/compiler/internal/readEffectiveCompilerOptions.ts +126 -0
  1665. package/src/compiler/internal/resolveBinary.ts +25 -9
  1666. package/src/compiler/internal/resolveTsgo.ts +31 -11
  1667. package/src/compiler/internal/runNativeCheckWithObservations.ts +211 -0
  1668. package/src/compiler/internal/runSingleFileEmit.ts +92 -27
  1669. package/src/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.ts +2 -0
  1670. package/src/compiler/internal/sharedHost/SidecarEnvironment.ts +151 -0
  1671. package/src/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.ts +7 -0
  1672. package/src/compiler/internal/sharedHost/TSGO_ARGS_ENV.ts +7 -0
  1673. package/src/compiler/internal/sharedHost/assertSharedHostCompatibility.ts +48 -0
  1674. package/src/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.ts +27 -0
  1675. package/src/compiler/internal/sharedHost/clearInheritedTsgoArgs.ts +41 -0
  1676. package/src/compiler/internal/sharedHost/inheritedSidecarEnv.ts +45 -0
  1677. package/src/compiler/internal/sharedHost/isLinkedTransform.ts +19 -0
  1678. package/src/compiler/internal/sharedHost/linkedTransformPlugins.ts +25 -0
  1679. package/src/compiler/internal/sharedHost/publishLinkedTransformPlugins.ts +42 -0
  1680. package/src/compiler/internal/sharedHost/resolvePluginConfigDir.ts +33 -0
  1681. package/src/compiler/internal/sharedHost/selectSharedHostPlugin.ts +35 -0
  1682. package/src/compiler/internal/spawnNative.ts +16 -39
  1683. package/src/compiler/internal/startResidentTransform.ts +66 -53
  1684. package/src/compiler/internal/transformProjectInMemory.ts +347 -635
  1685. package/src/compiler/internal/transformProjectInWorker.ts +170 -0
  1686. package/src/compiler/internal/transformProjectWorker.ts +43 -0
  1687. package/src/flags/AnySubcommand.ts +19 -0
  1688. package/src/flags/COMPILER_ENUM_WHITESPACE.ts +35 -0
  1689. package/src/flags/COMPILER_OPTIONS.ts +512 -0
  1690. package/src/flags/COMPILER_OPTION_ASCII_FOLDS.ts +13 -0
  1691. package/src/flags/COMPILER_OPTION_KINDS.ts +14 -0
  1692. package/src/flags/CompilerOptionSpec.ts +30 -0
  1693. package/src/flags/FLAG_BY_TOKEN.ts +40 -0
  1694. package/src/flags/{schema.ts → FLAG_SCHEMA.ts} +43 -318
  1695. package/src/flags/FlagKind.ts +22 -0
  1696. package/src/flags/FlagLayer.ts +24 -0
  1697. package/src/flags/FlagSpec.ts +118 -0
  1698. package/src/flags/ParseOptions.ts +103 -0
  1699. package/src/flags/ParseResult.ts +44 -0
  1700. package/src/flags/TtscSubcommand.ts +22 -0
  1701. package/src/flags/TtsxSubcommand.ts +13 -0
  1702. package/src/flags/ValueValidator.ts +14 -0
  1703. package/src/flags/buildGoAllowList.ts +43 -0
  1704. package/src/flags/flagsForSubcommand.ts +22 -0
  1705. package/src/flags/getBoolean.ts +27 -0
  1706. package/src/flags/getNumber.ts +24 -0
  1707. package/src/flags/getString.ts +24 -0
  1708. package/src/flags/getStringList.ts +24 -0
  1709. package/src/flags/normalizeCompilerEnumValue.ts +41 -0
  1710. package/src/flags/normalizeFlagToken.ts +38 -0
  1711. package/src/flags/parseFlags.ts +371 -0
  1712. package/src/flags/readCompilerOptionOccurrence.ts +107 -0
  1713. package/src/flags/readCompilerOptionValues.ts +68 -0
  1714. package/src/flags/resolveFlagSpec.ts +29 -0
  1715. package/src/index.ts +9 -3
  1716. package/src/internal/CanonicalTempDirectoryOperations.ts +73 -0
  1717. package/src/internal/CompilerContextSnapshot.ts +139 -0
  1718. package/src/internal/CompilerResultAdapter.ts +320 -0
  1719. package/src/internal/E2ETrace.ts +674 -0
  1720. package/src/internal/IJavaScriptRuntimeCapabilities.ts +50 -0
  1721. package/src/internal/OwnedNativeProcess.ts +417 -0
  1722. package/src/internal/OwnedSynchronousProcess.ts +220 -0
  1723. package/src/internal/RetireLockDirectoryOperations.ts +81 -0
  1724. package/src/internal/SafeCacheCleanupTarget.ts +41 -0
  1725. package/src/internal/SourceNativeRetirement.ts +1109 -0
  1726. package/src/internal/SpawnSyncOutputFiles.ts +29 -0
  1727. package/src/internal/cacheEntryExists.ts +24 -0
  1728. package/src/internal/createCanonicalTempDirectory.ts +35 -18
  1729. package/src/internal/isContendedCandidateRename.ts +35 -0
  1730. package/src/internal/isSpawnSyncFdExhaustion.ts +19 -0
  1731. package/src/internal/javascriptRuntimeCapabilities.ts +166 -0
  1732. package/src/internal/nativeBinary.ts +11 -0
  1733. package/src/internal/parseWindowsDirectoryCaseSensitivity.ts +50 -0
  1734. package/src/internal/pathIdentity/FilesystemPathIdentity.ts +44 -0
  1735. package/src/internal/pathIdentity/FilesystemPathIdentityContext.ts +182 -0
  1736. package/src/internal/pathIdentity/FilesystemPathIdentityOperations.ts +106 -0
  1737. package/src/internal/pathIdentity/ProjectInputPathIdentity.ts +21 -0
  1738. package/src/internal/pathIdentity/ProjectInputPathIdentityContext.ts +21 -0
  1739. package/src/internal/pathIdentity/ProjectInputPathIdentityOperations.ts +22 -0
  1740. package/src/internal/pathIdentity/createFilesystemPathIdentityContext.ts +437 -0
  1741. package/src/internal/pathIdentity/createProjectInputPathIdentityContext.ts +34 -0
  1742. package/src/internal/pathIdentity/isFilesystemPathIdentityWithin.ts +32 -0
  1743. package/src/internal/pathIdentity/isProjectInputPathIdentityWithin.ts +22 -0
  1744. package/src/internal/pathIdentity/resolveFilesystemPath.ts +43 -0
  1745. package/src/internal/pathIdentity/resolvePhysicalPath.ts +31 -0
  1746. package/src/internal/pathIdentity/resolveProjectInputPath.ts +18 -0
  1747. package/src/internal/pluginSource.ts +26 -0
  1748. package/src/internal/projectInputPathIdentity.ts +26 -387
  1749. package/src/internal/resolveNodeBinary.ts +13 -165
  1750. package/src/internal/resolveSafeCacheCleanupTargets.ts +51 -19
  1751. package/src/internal/restoreCompilerError.ts +175 -0
  1752. package/src/internal/retireLockDirectory.ts +166 -0
  1753. package/src/internal/runHoldingLock.ts +55 -0
  1754. package/src/internal/runtimeExecutableIdentity.ts +212 -0
  1755. package/src/internal/serializeCompilerError.ts +145 -0
  1756. package/src/internal/spawnSyncResilient.ts +36 -182
  1757. package/src/internal/spawnSyncWithLowDescriptors.ts +227 -0
  1758. package/src/internal/tsconfig.ts +16 -0
  1759. package/src/launcher/internal/PendingResidentCheckWatchChanges.ts +94 -0
  1760. package/src/launcher/internal/TtscBuildMode.ts +14 -0
  1761. package/src/launcher/internal/TtsxEntryOptions.ts +92 -0
  1762. package/src/launcher/internal/assertNoSolutionBuild.ts +17 -10
  1763. package/src/launcher/internal/assertTtsxNoWatch.ts +49 -0
  1764. package/src/launcher/internal/buildSingleRootProject.ts +303 -0
  1765. package/src/launcher/internal/getCompilerVersionText.ts +20 -5
  1766. package/src/launcher/internal/inlineServedSourceMap.ts +294 -0
  1767. package/src/launcher/internal/linkVirtualEntry.ts +88 -0
  1768. package/src/launcher/internal/{commonJsExportMetadata.ts → parseCommonJsExports.ts} +12 -2
  1769. package/src/launcher/internal/parseTtscBuildArgs.ts +103 -0
  1770. package/src/launcher/internal/parseTtsxCLI.ts +183 -0
  1771. package/src/launcher/internal/prepareExecution.ts +474 -362
  1772. package/src/launcher/internal/prepareTtscBuildMode.ts +64 -0
  1773. package/src/launcher/internal/resolveCacheDir.ts +12 -3
  1774. package/src/launcher/internal/resolveSingleFileOutput.ts +145 -0
  1775. package/src/launcher/internal/resolveTtscserverBinary.ts +20 -5
  1776. package/src/launcher/internal/runTtsc.ts +394 -326
  1777. package/src/launcher/internal/runTtsx.ts +349 -151
  1778. package/src/launcher/internal/runtime/CommonJsRuntimeSource.ts +365 -0
  1779. package/src/launcher/internal/runtime/DependencyBuildAdmission.ts +159 -0
  1780. package/src/launcher/internal/runtime/DependencyBuildGeneration.ts +236 -0
  1781. package/src/launcher/internal/runtime/DependencyBuildLockFence.ts +22 -0
  1782. package/src/launcher/internal/runtime/DependencyBuildLockLease.ts +22 -0
  1783. package/src/launcher/internal/runtime/DependencyBuildLockObservation.ts +49 -0
  1784. package/src/launcher/internal/runtime/DependencyBuildLockProtocol.ts +137 -0
  1785. package/src/launcher/internal/runtime/OwnedProjectSource.ts +140 -0
  1786. package/src/launcher/internal/runtime/OwningModuleOptions.ts +22 -0
  1787. package/src/launcher/internal/runtime/PluginDescriptorInputObservation.ts +112 -0
  1788. package/src/launcher/internal/runtime/ProcessOwnedDirectory.ts +325 -0
  1789. package/src/launcher/internal/runtime/ResolveResult.ts +26 -0
  1790. package/src/launcher/internal/runtime/RuntimeEmitProvenance.ts +58 -0
  1791. package/src/launcher/internal/runtime/RuntimeEntryPreparer.ts +23 -0
  1792. package/src/launcher/internal/runtime/RuntimeFilesystem.ts +64 -0
  1793. package/src/launcher/internal/runtime/RuntimeHookOptions.ts +23 -0
  1794. package/src/launcher/internal/runtime/RuntimeIsolatedEmit.ts +88 -0
  1795. package/src/launcher/internal/runtime/RuntimeLoaderCapabilities.ts +256 -0
  1796. package/src/launcher/internal/runtime/RuntimeManifest.ts +77 -0
  1797. package/src/launcher/internal/runtime/RuntimeManifestRegistry.ts +309 -0
  1798. package/src/launcher/internal/runtime/RuntimeModuleFormat.ts +275 -0
  1799. package/src/launcher/internal/runtime/RuntimeProjectOwnership.ts +139 -0
  1800. package/src/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.ts +11 -0
  1801. package/src/launcher/internal/runtime/acquireDependencyBuildLock.ts +97 -0
  1802. package/src/launcher/internal/runtime/checkNodeRuntimeSupport.ts +94 -0
  1803. package/src/launcher/internal/runtime/claimRuntimeProjectDirectory.ts +54 -0
  1804. package/src/launcher/internal/runtime/commonJsExportNames.ts +57 -0
  1805. package/src/launcher/internal/runtime/commonJsImportFacade.ts +62 -0
  1806. package/src/launcher/internal/runtime/dependencyCacheKey.ts +82 -0
  1807. package/src/launcher/internal/runtime/dependencyCacheRoot.ts +112 -0
  1808. package/src/launcher/internal/runtime/inspectDependencyBuildLock.ts +162 -0
  1809. package/src/launcher/internal/runtime/installRuntimeHooks.ts +2442 -0
  1810. package/src/launcher/internal/runtime/interopProbe.ts +8 -0
  1811. package/src/launcher/internal/runtime/isLocalProcessGone.ts +67 -0
  1812. package/src/launcher/internal/runtime/observeMappedDescriptorResolution.ts +74 -0
  1813. package/src/launcher/internal/runtime/projectModuleOptions.ts +28 -0
  1814. package/src/launcher/internal/runtime/readDependencyCache.ts +89 -0
  1815. package/src/launcher/internal/runtime/realPath.ts +30 -0
  1816. package/src/launcher/internal/runtime/reclaimDependencyBuildLock.ts +27 -0
  1817. package/src/launcher/internal/runtime/releaseDependencyBuildLock.ts +27 -0
  1818. package/src/launcher/internal/runtime/resolveRuntimeCleanTargets.ts +93 -0
  1819. package/src/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.ts +32 -0
  1820. package/src/launcher/internal/runtime/runtimeRunKey.ts +31 -0
  1821. package/src/launcher/internal/runtime/selectRuntimePluginPolicy.ts +28 -0
  1822. package/src/launcher/internal/runtime/withRuntimeDirectoryLock.ts +92 -0
  1823. package/src/launcher/internal/runtimeCompilerArgs.ts +91 -62
  1824. package/src/launcher/internal/runtimeEmitProfile.ts +70 -0
  1825. package/src/launcher/internal/runtimeHookPreload.ts +3 -3
  1826. package/src/launcher/internal/runtimeOwnerPreload.ts +43 -0
  1827. package/src/launcher/internal/singleRootProjectConfig.ts +38 -0
  1828. package/src/launcher/internal/ttscserver/ILSPPluginSelectionInputs.ts +65 -0
  1829. package/src/launcher/internal/ttscserver/LSPProjectInputDigest.ts +331 -0
  1830. package/src/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.ts +107 -0
  1831. package/src/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.ts +41 -0
  1832. package/src/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.ts +36 -0
  1833. package/src/launcher/internal/ttscserver/materializeLSPPluginManifest.ts +60 -0
  1834. package/src/launcher/internal/ttscserver/needsStdio.ts +32 -0
  1835. package/src/launcher/internal/ttscserver/runTtscserver.ts +592 -0
  1836. package/src/launcher/internal/watch/CompilerDirectoryWatchEventPlan.ts +31 -0
  1837. package/src/launcher/internal/watch/DirectoryWatcher.ts +45 -0
  1838. package/src/launcher/internal/watch/FseventsStreams.ts +303 -0
  1839. package/src/launcher/internal/watch/ProjectInputWatchRules.ts +179 -0
  1840. package/src/launcher/internal/watch/WatchInputChange.ts +31 -0
  1841. package/src/launcher/internal/watch/WatchPaths.ts +156 -0
  1842. package/src/launcher/internal/{watchTopology.ts → watch/WatchTopology.ts} +867 -962
  1843. package/src/launcher/internal/watch/literalGlobRoot.ts +40 -0
  1844. package/src/launcher/internal/watch/planCompilerDirectoryWatchEvent.ts +83 -0
  1845. package/src/launcher/internal/watch/projectInputActiveWatchDirectories.ts +47 -0
  1846. package/src/launcher/internal/watch/projectInputAvailableWatchDirectory.ts +56 -0
  1847. package/src/launcher/internal/watch/projectInputEventShouldNotify.ts +23 -0
  1848. package/src/launcher/internal/watch/projectInputMembershipInvalidatesProgram.ts +63 -0
  1849. package/src/launcher/internal/watch/projectInputReloadEventShouldNotify.ts +127 -0
  1850. package/src/launcher/internal/watch/projectInputReplacementStrandsWatchers.ts +57 -0
  1851. package/src/launcher/internal/watch/projectInputTopologyMayAffect.ts +73 -0
  1852. package/src/launcher/internal/watch/projectInputWatchDirectories.ts +33 -0
  1853. package/src/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.ts +49 -0
  1854. package/src/launcher/internal/watch/syncWatchers.ts +64 -0
  1855. package/src/launcher/internal/watch/watchDirectory.ts +53 -0
  1856. package/src/launcher/internal/watch/watchDirectoryThroughFsWatch.ts +47 -0
  1857. package/src/launcher/ttscserver.ts +1 -1
  1858. package/src/launcher/ttsx.ts +2 -3
  1859. package/src/plugin/CapabilityPluginResolver.ts +549 -0
  1860. package/src/plugin/ITtscCapabilityPlugin.ts +93 -0
  1861. package/src/plugin/internal/CapabilityPluginResult.ts +99 -0
  1862. package/src/plugin/internal/CapabilityResolutionFormat.ts +248 -0
  1863. package/src/plugin/internal/ITtscCapabilityPluginSource.ts +37 -0
  1864. package/src/plugin/internal/ITtscCapabilityResolutionEntry.ts +57 -0
  1865. package/src/plugin/internal/ITtscCapabilityResolutionPlugin.ts +22 -0
  1866. package/src/plugin/internal/capabilityPluginWorker.ts +216 -0
  1867. package/src/plugin/internal/decodeCapabilityCommandReply.ts +27 -0
  1868. package/src/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.ts +182 -0
  1869. package/src/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.ts +59 -0
  1870. package/src/plugin/internal/load/PluginDescriptorAdmission.ts +75 -0
  1871. package/src/plugin/internal/load/PluginDescriptorEvaluationCache.ts +432 -0
  1872. package/src/plugin/internal/load/PluginPackageResolution.ts +711 -0
  1873. package/src/plugin/internal/load/ProjectPluginEntries.ts +232 -0
  1874. package/src/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.ts +34 -0
  1875. package/src/plugin/internal/load/collectProjectHostInputs.ts +88 -0
  1876. package/src/plugin/internal/load/composePluginSources.ts +121 -0
  1877. package/src/plugin/internal/load/declaresHostInputReads.ts +52 -0
  1878. package/src/plugin/internal/load/hasProjectPluginEntries.ts +33 -0
  1879. package/src/plugin/internal/load/hashHostInputPaths.ts +44 -0
  1880. package/src/plugin/internal/load/isRelativePluginSpecifier.ts +31 -0
  1881. package/src/plugin/internal/load/loadProjectPlugins.ts +2334 -0
  1882. package/src/plugin/internal/load/moduleResolutionBaseSelects.ts +59 -0
  1883. package/src/plugin/internal/load/observeImportSearchRoots.ts +42 -0
  1884. package/src/plugin/internal/load/pluginLabel.ts +28 -0
  1885. package/src/plugin/internal/load/realpathHostInput.ts +22 -0
  1886. package/src/plugin/internal/load/realpathHostInputPaths.ts +27 -0
  1887. package/src/plugin/internal/load/rejectJsTransformFunctions.ts +23 -0
  1888. package/src/plugin/internal/load/requirePluginSource.ts +34 -0
  1889. package/src/plugin/internal/load/resolveNativeSource.ts +42 -0
  1890. package/src/plugin/internal/load/validatePluginContributors.ts +102 -0
  1891. package/src/plugin/internal/load/validatePluginSource.ts +19 -0
  1892. package/src/plugin/internal/load/visitImportMappedCandidates.ts +63 -0
  1893. package/src/plugin/internal/pluginDescriptorFailureReason.ts +35 -0
  1894. package/src/plugin/internal/pluginDescriptorProcessFailure.ts +48 -0
  1895. package/src/plugin/internal/readCapabilityResolution.ts +193 -0
  1896. package/src/plugin/internal/receiveCapabilityFailure.ts +27 -0
  1897. package/src/plugin/internal/source/CachePrunePolicy.ts +47 -0
  1898. package/src/plugin/internal/source/GoBuildCacheCoordination.ts +588 -0
  1899. package/src/plugin/internal/source/GoEnvironmentReading.ts +109 -0
  1900. package/src/plugin/internal/source/GoSourceInputs.ts +182 -0
  1901. package/src/plugin/internal/source/GoToolResolution.ts +312 -0
  1902. package/src/plugin/internal/source/IGoBuildCachePruneOptions.ts +34 -0
  1903. package/src/plugin/internal/source/IPluginCachePruneOptions.ts +38 -0
  1904. package/src/plugin/internal/source/IPluginModuleReplaceDirectory.ts +30 -0
  1905. package/src/plugin/internal/source/ITtscBuildContributor.ts +19 -0
  1906. package/src/plugin/internal/source/ITtscSourceBuildCachePaths.ts +28 -0
  1907. package/src/plugin/internal/source/NativeSourcePackages.ts +428 -0
  1908. package/src/plugin/internal/source/PluginBinaryUse.ts +159 -0
  1909. package/src/plugin/internal/source/PluginBinaryWaitResult.ts +34 -0
  1910. package/src/plugin/internal/source/PluginBuildEnvironmentReadings.ts +273 -0
  1911. package/src/plugin/internal/source/PluginBuildEnvironmentWitness.ts +243 -0
  1912. package/src/plugin/internal/source/PluginBuildLockFence.ts +26 -0
  1913. package/src/plugin/internal/source/PluginBuildLockLease.ts +31 -0
  1914. package/src/plugin/internal/source/PluginBuildLockObservation.ts +48 -0
  1915. package/src/plugin/internal/source/PluginBuildLockOwner.ts +225 -0
  1916. package/src/plugin/internal/source/PluginBuildLockProtocol.ts +342 -0
  1917. package/src/plugin/internal/source/SourceBuildCacheLayout.ts +303 -0
  1918. package/src/plugin/internal/source/SourceBuildFilesystemOperations.ts +32 -0
  1919. package/src/plugin/internal/source/SourcePluginAdmission.ts +127 -0
  1920. package/src/plugin/internal/source/SourcePluginWorkspace.ts +564 -0
  1921. package/src/plugin/internal/source/acquirePluginBuildLock.ts +222 -0
  1922. package/src/plugin/internal/source/autoQuoteGoModToken.ts +113 -0
  1923. package/src/plugin/internal/source/buildSourcePlugin.ts +1225 -0
  1924. package/src/plugin/internal/source/collectPluginSourceDirectories.ts +70 -0
  1925. package/src/plugin/internal/source/collectPluginSourceFiles.ts +90 -0
  1926. package/src/plugin/internal/source/computeCacheKey.ts +208 -0
  1927. package/src/plugin/internal/source/copiesPluginSourceEntry.ts +52 -0
  1928. package/src/plugin/internal/source/createExternalSourceSnapshotLayout.ts +66 -0
  1929. package/src/plugin/internal/source/ensureExecutableGoToolchain.ts +87 -0
  1930. package/src/plugin/internal/source/formatDuration.ts +32 -0
  1931. package/src/plugin/internal/source/formatGoWorkPath.ts +42 -0
  1932. package/src/plugin/internal/source/hashPluginBuildEnvironment.ts +735 -0
  1933. package/src/plugin/internal/source/inspectPluginBuildLock.ts +330 -0
  1934. package/src/plugin/internal/source/isPathWithin.ts +24 -0
  1935. package/src/plugin/internal/source/legacyGlobalCacheTargets.ts +71 -0
  1936. package/src/plugin/internal/source/pluginBuildEnvironment.ts +59 -0
  1937. package/src/plugin/internal/source/pluginBuildEnvironmentWorker.ts +30 -0
  1938. package/src/plugin/internal/source/pluginBuildVersions.ts +75 -0
  1939. package/src/plugin/internal/source/pluginModuleReplaceDirectories.ts +84 -0
  1940. package/src/plugin/internal/source/pluginSourceCovers.ts +54 -0
  1941. package/src/plugin/internal/source/pluginSourceDigest.ts +55 -0
  1942. package/src/plugin/internal/source/pluginSourceFilesSignature.ts +54 -0
  1943. package/src/plugin/internal/source/pluginSourceState.ts +69 -0
  1944. package/src/plugin/internal/source/pluginSourceStateHolds.ts +45 -0
  1945. package/src/plugin/internal/source/processPluginBuildEnvironment.ts +40 -0
  1946. package/src/plugin/internal/source/pruneCacheFileRoot.ts +134 -0
  1947. package/src/plugin/internal/source/pruneGoBuildCacheRoot.ts +228 -0
  1948. package/src/plugin/internal/source/prunePluginCacheRoot.ts +507 -0
  1949. package/src/plugin/internal/source/prunesPluginSourceDirectory.ts +25 -0
  1950. package/src/plugin/internal/source/reclaimPluginBuildLock.ts +63 -0
  1951. package/src/plugin/internal/source/recordCacheFileUse.ts +35 -0
  1952. package/src/plugin/internal/source/releasePluginBuildLock.ts +125 -0
  1953. package/src/plugin/internal/source/resolveCleanTargets.ts +84 -0
  1954. package/src/plugin/internal/source/resolveGoCompiler.ts +92 -0
  1955. package/src/plugin/internal/source/resolvePluginCacheRoot.ts +32 -0
  1956. package/src/plugin/internal/source/resolvePluginGoModule.ts +69 -0
  1957. package/src/plugin/internal/source/resolveSourceBuildCachePaths.ts +276 -0
  1958. package/src/plugin/internal/source/selectPluginModuleReplaceDirectories.ts +80 -0
  1959. package/src/plugin/internal/source/spawnGoTool.ts +204 -0
  1960. package/src/plugin/internal/source/touchPluginCacheEntryInUse.ts +44 -0
  1961. package/src/plugin/internal/source/waitForPluginBinary.ts +123 -0
  1962. package/src/plugin/internal/source/windowsGoCommandArgs.ts +19 -0
  1963. package/src/plugin/internal/source/withGoBuildCacheLease.ts +101 -0
  1964. package/src/plugin/internal/writeCapabilityResolution.ts +266 -0
  1965. package/src/plugin/resolveCapabilityPlugins.ts +242 -77
  1966. package/src/register.ts +20 -7
  1967. package/src/structures/ITtscCompilerContext.ts +29 -11
  1968. package/src/structures/ITtscCompilerDiagnostic.ts +24 -7
  1969. package/src/structures/ITtscCompilerResult.ts +75 -25
  1970. package/src/structures/ITtscCompilerTransformation.ts +304 -64
  1971. package/src/structures/ITtscPlugin.ts +24 -8
  1972. package/src/structures/ITtscPluginCapabilities.ts +58 -5
  1973. package/src/structures/ITtscPluginContributor.ts +19 -8
  1974. package/src/structures/ITtscPluginFactoryContext.ts +12 -3
  1975. package/src/structures/ITtscProjectPluginConfig.ts +35 -10
  1976. package/src/structures/TtscPluginStage.ts +9 -0
  1977. package/src/structures/internal/ITtscLoadedNativePlugin.ts +27 -5
  1978. package/src/structures/internal/ITtscParsedProjectConfig.ts +37 -3
  1979. package/src/structures/internal/ITtscProjectIdentity.ts +27 -6
  1980. package/src/structures/internal/ITtscProjectInputSnapshot.ts +31 -8
  1981. package/src/structures/internal/ITtscProjectLocatorOptions.ts +21 -4
  1982. package/src/structures/internal/TtscBuildOptions.ts +38 -14
  1983. package/src/structures/internal/TtscBuildResult.ts +74 -4
  1984. package/src/structures/internal/TtscCommonOptions.ts +59 -14
  1985. package/src/structures/internal/TtscSingleFileEmitOptions.ts +55 -5
  1986. package/tools/gen_shims/main.go +124 -11
  1987. package/tools/gen_shims/package_load_admission_rejects_incomplete_results_test.go +61 -0
  1988. package/tools/gen_shims/private_field_support_preserves_upstream_layout_test.go +104 -0
  1989. package/tools/shim_audit/enum_generation_preserves_existing_family_members_test.go +182 -0
  1990. package/tools/shim_audit/enum_generation_refuses_removed_public_members_test.go +93 -0
  1991. package/tools/shim_audit/main.go +166 -31
  1992. package/tools/shim_audit/main_test.go +35 -0
  1993. package/tools/shim_audit/producer_exemptions_require_rationale_test.go +5 -0
  1994. package/tools/shim_audit/producer_surface_includes_exposed_methods_test.go +5 -0
  1995. package/tools/shim_audit/producer_surface_rejects_unproducible_reference_test.go +5 -0
  1996. package/tools/shim_audit/shim_dir_coverage_rejects_unregistered_shims_test.go +71 -0
  1997. package/utility/command.go +48 -0
  1998. package/utility/flags_gen.go +2 -2
  1999. package/utility/host.go +282 -66
  2000. package/utility/preamble_output.go +245 -0
  2001. package/utility/preamble_output_test.go +90 -0
  2002. package/utility/serve.go +61 -18
  2003. package/cmd/ttscgraph/serve_graph_snapshot_version_matches_typescript_client_test.go +0 -32
  2004. package/cmd/ttscgraph/serve_protocol_version_matches_the_typescript_client_test.go +0 -48
  2005. package/cmd/ttscgraph/serve_session_retries_failed_dump_test.go +0 -103
  2006. package/internal/graph/dump_schema_version_matches_the_typescript_client_test.go +0 -48
  2007. package/internal/graph/edge_kinds_names_every_declared_kind_test.go +0 -49
  2008. package/internal/graph/graph_kind_contracts_match_their_producers_test.go +0 -121
  2009. package/internal/lspserver/lsp_launcher_reload_directory_fingerprint_parity_windows_test.go +0 -94
  2010. package/internal/lspserver/lsp_project_diagnostics_resident_unsupported_falls_back_test.go +0 -123
  2011. package/lib/compiler/internal/paths.d.ts +0 -27
  2012. package/lib/compiler/internal/paths.js +0 -70
  2013. package/lib/compiler/internal/paths.js.map +0 -1
  2014. package/lib/compiler/internal/project/readConfigJson.d.ts +0 -30
  2015. package/lib/compiler/internal/project/readConfigJson.js +0 -208
  2016. package/lib/compiler/internal/project/readConfigJson.js.map +0 -1
  2017. package/lib/compiler/internal/residentCheckProcess.d.ts +0 -44
  2018. package/lib/compiler/internal/residentCheckProcess.js +0 -213
  2019. package/lib/compiler/internal/residentCheckProcess.js.map +0 -1
  2020. package/lib/compiler/internal/residentTransformProcess.d.ts +0 -65
  2021. package/lib/compiler/internal/residentTransformProcess.js +0 -330
  2022. package/lib/compiler/internal/residentTransformProcess.js.map +0 -1
  2023. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +0 -25
  2024. package/lib/compiler/internal/resolveEmittedJavaScript.js +0 -165
  2025. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +0 -1
  2026. package/lib/compiler/internal/runBuild.d.ts +0 -152
  2027. package/lib/compiler/internal/runBuild.js +0 -1694
  2028. package/lib/compiler/internal/runBuild.js.map +0 -1
  2029. package/lib/compiler/internal/sharedHostHelpers.d.ts +0 -79
  2030. package/lib/compiler/internal/sharedHostHelpers.js +0 -134
  2031. package/lib/compiler/internal/sharedHostHelpers.js.map +0 -1
  2032. package/lib/flags/parser.d.ts +0 -97
  2033. package/lib/flags/parser.js +0 -293
  2034. package/lib/flags/parser.js.map +0 -1
  2035. package/lib/flags/schema.d.ts +0 -191
  2036. package/lib/flags/schema.js.map +0 -1
  2037. package/lib/internal/windowsDirectoryCaseSensitivity.d.ts +0 -10
  2038. package/lib/internal/windowsDirectoryCaseSensitivity.js +0 -34
  2039. package/lib/internal/windowsDirectoryCaseSensitivity.js.map +0 -1
  2040. package/lib/launcher/internal/commonJsExportMetadata.d.ts +0 -7
  2041. package/lib/launcher/internal/commonJsExportMetadata.js.map +0 -1
  2042. package/lib/launcher/internal/registerRuntimeHooks.js +0 -59
  2043. package/lib/launcher/internal/registerRuntimeHooks.js.map +0 -1
  2044. package/lib/launcher/internal/runTtscserver.d.ts +0 -35
  2045. package/lib/launcher/internal/runTtscserver.js +0 -661
  2046. package/lib/launcher/internal/runTtscserver.js.map +0 -1
  2047. package/lib/launcher/internal/runtimeHooks.d.ts +0 -198
  2048. package/lib/launcher/internal/runtimeHooks.js +0 -2579
  2049. package/lib/launcher/internal/runtimeHooks.js.map +0 -1
  2050. package/lib/launcher/internal/servedSourceMap.d.ts +0 -25
  2051. package/lib/launcher/internal/servedSourceMap.js +0 -164
  2052. package/lib/launcher/internal/servedSourceMap.js.map +0 -1
  2053. package/lib/launcher/internal/singleFileOutput.d.ts +0 -16
  2054. package/lib/launcher/internal/singleFileOutput.js +0 -103
  2055. package/lib/launcher/internal/singleFileOutput.js.map +0 -1
  2056. package/lib/launcher/internal/watchTopology.d.ts +0 -329
  2057. package/lib/launcher/internal/watchTopology.js.map +0 -1
  2058. package/lib/plugin/internal/buildSourcePlugin.d.ts +0 -298
  2059. package/lib/plugin/internal/buildSourcePlugin.js +0 -3087
  2060. package/lib/plugin/internal/buildSourcePlugin.js.map +0 -1
  2061. package/lib/plugin/internal/capabilityResolutionCache.d.ts +0 -76
  2062. package/lib/plugin/internal/capabilityResolutionCache.js +0 -224
  2063. package/lib/plugin/internal/capabilityResolutionCache.js.map +0 -1
  2064. package/lib/plugin/internal/descriptorProcessFailure.d.ts +0 -36
  2065. package/lib/plugin/internal/descriptorProcessFailure.js +0 -62
  2066. package/lib/plugin/internal/descriptorProcessFailure.js.map +0 -1
  2067. package/lib/plugin/internal/loadProjectPlugins.d.ts +0 -75
  2068. package/lib/plugin/internal/loadProjectPlugins.js +0 -2405
  2069. package/lib/plugin/internal/loadProjectPlugins.js.map +0 -1
  2070. package/src/compiler/internal/paths.ts +0 -68
  2071. package/src/compiler/internal/project/readConfigJson.ts +0 -209
  2072. package/src/compiler/internal/residentCheckProcess.ts +0 -259
  2073. package/src/compiler/internal/residentTransformProcess.ts +0 -406
  2074. package/src/compiler/internal/resolveEmittedJavaScript.ts +0 -197
  2075. package/src/compiler/internal/runBuild.ts +0 -2345
  2076. package/src/compiler/internal/sharedHostHelpers.ts +0 -154
  2077. package/src/flags/parser.ts +0 -459
  2078. package/src/internal/windowsDirectoryCaseSensitivity.ts +0 -33
  2079. package/src/launcher/internal/registerRuntimeHooks.ts +0 -68
  2080. package/src/launcher/internal/runTtscserver.ts +0 -842
  2081. package/src/launcher/internal/runtimeHooks.ts +0 -3197
  2082. package/src/launcher/internal/servedSourceMap.ts +0 -183
  2083. package/src/launcher/internal/singleFileOutput.ts +0 -133
  2084. package/src/plugin/internal/buildSourcePlugin.ts +0 -3993
  2085. package/src/plugin/internal/capabilityResolutionCache.ts +0 -305
  2086. package/src/plugin/internal/descriptorProcessFailure.ts +0 -69
  2087. package/src/plugin/internal/loadProjectPlugins.ts +0 -3073
  2088. package/tools/shim_audit/shim_dir_coverage_test.go +0 -25
  2089. /package/lib/{launcher/internal/registerRuntimeHooks.d.ts → compiler/internal/transformProjectWorker.d.ts} +0 -0
@@ -0,0 +1,1109 @@
1
+ import crypto from "node:crypto";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+
5
+ import { E2ETrace } from "./E2ETrace";
6
+ import { OwnedSynchronousProcess } from "./OwnedSynchronousProcess";
7
+
8
+ /**
9
+ * Preserve source-build resources until their native boundary has retired.
10
+ *
11
+ * Guards are published before command admission. Pending and uncertified
12
+ * boundaries protect inputs from cooperating collectors even after their Node
13
+ * owner disappears. Neither PID absence nor elapsed time grants reclamation.
14
+ * Older compiler versions do not implement these guards and cannot safely share
15
+ * quarantined roots. External deletion is outside this protocol.
16
+ *
17
+ * @evidence contracts/common.md#principled-implementation Exact pre-admission guards protect inputs until the original native boundary certifies closure; PID absence and age never grant authority.
18
+ * @evidence contracts/common.md#clear-and-simple-design One protocol owns admission, deferred cleanup and collector checks; native containment remains with the command owner.
19
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Durable pending records remain conservative when unknown diagnostics cannot be published.
20
+ * @evidence contracts/common.md#meaningful-documentation Native prose states cooperative-version limits and the absence of disk-only recovery authority.
21
+ * @evidence contracts/portability.md#os-neutral-implementation Node realpath, lstat and argv-independent JSON paths represent actual filesystem roots; later namespace replacement remains outside the retained-handle premise.
22
+ * @evidence contracts/performance.md#efficient-algorithms Member operations own scans and publication costs; the namespace itself executes no algorithm.
23
+ * @evidence contracts/performance.md#reuse-equivalent-work Guards carry ownership, not reusable compiler results.
24
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Unknown boundaries intentionally retain inputs without an age bound; losing the original closure capability requires operator-confirmed external closure.
25
+ */
26
+ export namespace SourceNativeRetirement {
27
+ /**
28
+ * Original task capability retained for qualified recovery. Losing this
29
+ * object leaves durable guards and requires external closure confirmation;
30
+ * loading guard bytes does not manufacture native reclamation authority.
31
+ *
32
+ * @evidence contracts/common.md#principled-implementation Original task identity, resources, admitted boundaries and cleanup callbacks express separate ownership states.
33
+ * @evidence contracts/common.md#clear-and-simple-design Maps index roots and boundary tokens while the FIFO preserves normal finally order.
34
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Disk metadata cannot construct this original task capability or certify process closure.
35
+ * @evidence contracts/common.md#meaningful-documentation Field prose explains original authority and the consequence of losing it.
36
+ * @evidence contracts/portability.md#os-neutral-implementation Resources contain observed physical native roots; command retirement authority is an in-memory capability.
37
+ * @evidence contracts/performance.md#efficient-algorithms This type declares state without executing an algorithm.
38
+ * @evidence contracts/performance.md#reuse-equivalent-work Task identity permits no equivalent-result sharing.
39
+ * @evidence contracts/performance.md#bound-retention-and-release-resources The type acquires no resources itself; begin, settle and recover own their lifetimes.
40
+ */
41
+ export interface Scope {
42
+ /** Identity supplied by the original worker request owner. */
43
+ taskToken: string;
44
+
45
+ /** Currently registered physical roots and their retained input paths. */
46
+ resources: Map<string, Resource>;
47
+
48
+ /** Original native admission capabilities, never reconstructed from disk. */
49
+ boundaries: Map<string, Boundary>;
50
+
51
+ /** Original cleanup callbacks, in normal finally-unwinding order. */
52
+ deferred: Array<() => void>;
53
+
54
+ /**
55
+ * Optional task-local publication primitives for an explicit filesystem
56
+ * boundary oracle. Omitted tasks use Node's original synchronous APIs.
57
+ * Implementations must preserve exclusive-open and real descriptor
58
+ * meaning.
59
+ */
60
+ guardFileOperations?: Pick<
61
+ typeof fs,
62
+ "openSync" | "writeFileSync" | "closeSync" | "renameSync" | "rmSync"
63
+ >;
64
+ }
65
+
66
+ /**
67
+ * Allocate an empty task capability without acquiring a filesystem guard.
68
+ *
69
+ * @evidence contracts/common.md#principled-implementation A nonempty task token distinguishes the original admission owner and starts with no native commands.
70
+ * @evidence contracts/common.md#clear-and-simple-design Two maps and one FIFO separate registration, boundary state and deferred cleanup.
71
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Allocation grants no native closure certificate from PID or elapsed time.
72
+ * @evidence contracts/common.md#meaningful-documentation Native prose identifies allocation without filesystem acquisition.
73
+ * @evidence contracts/portability.md#os-neutral-implementation Allocation handles opaque identity and collections without native operations.
74
+ * @evidence contracts/performance.md#efficient-algorithms One object and three empty collections take constant initial space.
75
+ * @evidence contracts/performance.md#reuse-equivalent-work Each task receives distinct mutable ownership state rather than a shared result.
76
+ * @evidence contracts/performance.md#bound-retention-and-release-resources The caller owns the returned capability; no filesystem or process handle is acquired.
77
+ */
78
+ export function createScope(taskToken: string): Scope {
79
+ if (taskToken.length === 0)
80
+ throw new Error("ttsc: empty native task identity");
81
+ return {
82
+ taskToken,
83
+ resources: new Map(),
84
+ boundaries: new Map(),
85
+ deferred: [],
86
+ };
87
+ }
88
+
89
+ /**
90
+ * Install one synchronous task; promises do not extend its lexical lifetime.
91
+ *
92
+ * @evidence contracts/common.md#principled-implementation Finally restores the predecessor even when task work throws.
93
+ * @evidence contracts/common.md#clear-and-simple-design One lexical saved reference supports nested synchronous scopes.
94
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts An asynchronously returned value cannot extend this synchronous authority implicitly.
95
+ * @evidence contracts/common.md#meaningful-documentation Native prose states the synchronous lifetime and promise limitation.
96
+ * @evidence contracts/portability.md#os-neutral-implementation Scope sequencing has no native path or process representation.
97
+ * @evidence contracts/performance.md#efficient-algorithms One reference save and restore surround delegated callback cost.
98
+ * @evidence contracts/performance.md#reuse-equivalent-work Every effectful callback runs independently; this operation caches no answer.
99
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Restoration releases the global reference while the original caller retains its task capability.
100
+ */
101
+ export function run<T>(scope: Scope, task: () => T): T {
102
+ const previous = current;
103
+ current = scope;
104
+ try {
105
+ return task();
106
+ } finally {
107
+ current = previous;
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Register inputs before their first native command. Additional paths merge
113
+ * with the same held generation; conflicting generation authority is refused.
114
+ * Ordinary synchronous callers acquire no new protocol state.
115
+ *
116
+ * @evidence contracts/common.md#principled-implementation Physical root identity and generation/nonce consistency bind additional paths to the same held resource.
117
+ * @evidence contracts/common.md#clear-and-simple-design A root-indexed map merges paths while retaining one generation capability.
118
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Registration is opt-in and cannot silently substitute a conflicting generation.
119
+ * @evidence contracts/common.md#meaningful-documentation Native prose explains registration timing, merging and ordinary-call behavior.
120
+ * @evidence contracts/portability.md#os-neutral-implementation Native realpath resolves existing root aliases; retained path spellings use Node path resolution.
121
+ * @evidence contracts/performance.md#efficient-algorithms Merging scans existing and incoming path strings once through a Set; map lookup uses the physical root key.
122
+ * @evidence contracts/performance.md#reuse-equivalent-work Repeated registration shares the same root entry only when supplied generation authority agrees.
123
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Task resource entries persist until safe forget or scope reclamation; native guards snapshot registrations at admission.
124
+ */
125
+ export function register(resource: {
126
+ /** Existing physical root where cooperating cleanup observes guards. */
127
+ fenceRoot: string;
128
+
129
+ /** Exact inputs retained and disclosed in terminal diagnostics. */
130
+ retainedPaths: readonly string[];
131
+
132
+ /** Held source-key or shared-cache lease generation, when applicable. */
133
+ generation?: string;
134
+
135
+ /** Original source-key task completion capability, when applicable. */
136
+ completionNonce?: string;
137
+ }): void {
138
+ if (current === undefined) return;
139
+ const root = physicalRoot(resource.fenceRoot);
140
+ const previous = current.resources.get(root);
141
+ if (
142
+ previous !== undefined &&
143
+ ((resource.generation !== undefined &&
144
+ previous.generation !== undefined &&
145
+ resource.generation !== previous.generation) ||
146
+ (resource.completionNonce !== undefined &&
147
+ previous.completionNonce !== undefined &&
148
+ resource.completionNonce !== previous.completionNonce))
149
+ )
150
+ throw new Error(
151
+ `ttsc: conflicting native resource generation at ${root}`,
152
+ );
153
+ current.resources.set(root, {
154
+ fenceRoot: root,
155
+ retainedPaths: [
156
+ ...new Set([
157
+ ...(previous?.retainedPaths ?? []),
158
+ ...resource.retainedPaths.map((entry) => path.resolve(entry)),
159
+ ]),
160
+ ],
161
+ generation: resource.generation ?? previous?.generation,
162
+ completionNonce: resource.completionNonce ?? previous?.completionNonce,
163
+ });
164
+ }
165
+
166
+ /**
167
+ * Register an explicitly selected shared Go cache only in an owned task.
168
+ * Ordinary synchronous consumers retain their existing directory behavior.
169
+ * This adds lifetime protection, without claiming eviction ownership or
170
+ * restricting independent builders that share the cache.
171
+ *
172
+ * @evidence contracts/common.md#principled-implementation Scoped native work creates or resolves the selected Go root before registration so its eventual guard protects the same physical input directory.
173
+ * @evidence contracts/common.md#clear-and-simple-design One helper confines scoped-only directory materialization and registration; ordinary unmanaged callbacks keep their prior path.
174
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Lifetime guard metadata does not convert a user cache into an evictable compiler-owned cache or serialize independent builds.
175
+ * @evidence contracts/common.md#meaningful-documentation Native prose distinguishes lifetime protection, eviction ownership and unchanged ordinary synchronous behavior.
176
+ * @evidence contracts/portability.md#os-neutral-implementation Node recursive mkdir and delegated native realpath preserve existing physical aliases without choosing case policy from an OS name.
177
+ * @evidence contracts/performance.md#efficient-algorithms One directory creation observation and delegated root registration scale with path depth and retained path text.
178
+ * @evidenceExclude contracts/performance.md#reuse-equivalent-work Shared cache ownership permits concurrent builds but authorizes no compiler-result reuse in this helper.
179
+ * @evidence contracts/performance.md#bound-retention-and-release-resources No process or persistent handle is acquired; the scope owns the root entry and each admitted boundary owns its guard until certified retirement.
180
+ */
181
+ export function registerSharedRoot(root: string): void {
182
+ if (current === undefined) return;
183
+ fs.mkdirSync(root, { recursive: true });
184
+ register({ fenceRoot: root, retainedPaths: [root] });
185
+ }
186
+
187
+ /**
188
+ * Forget a safely released registration, never another generation's inputs.
189
+ *
190
+ * @evidence contracts/common.md#principled-implementation Safe tasks remove only the matching registered generation.
191
+ * @evidence contracts/common.md#clear-and-simple-design The current scope and one physical root lookup keep ownership local.
192
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Unresolved native ownership prevents forgetting instead of treating cleanup as complete.
193
+ * @evidence contracts/common.md#meaningful-documentation Native prose states safe release and exact-generation exclusion.
194
+ * @evidence contracts/portability.md#os-neutral-implementation Native realpath supplies the same physical root spelling used at registration.
195
+ * @evidence contracts/performance.md#efficient-algorithms One physical resolution and map lookup perform the removal.
196
+ * @evidence contracts/performance.md#reuse-equivalent-work Removing ownership state does not reuse a computed build result.
197
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Safe forgetting drops the scope entry; admitted boundaries retain their original resource snapshots.
198
+ */
199
+ export function forget(fenceRoot: string, generation?: string): void {
200
+ if (current === undefined || !canRelease()) return;
201
+ const root = physicalRoot(fenceRoot);
202
+ const resource = current.resources.get(root);
203
+ if (
204
+ resource !== undefined &&
205
+ (generation === undefined || resource.generation === generation)
206
+ )
207
+ current.resources.delete(root);
208
+ }
209
+
210
+ /**
211
+ * Publish every input guard before the native owner may admit a command.
212
+ * Partial publication failure admits no native work and rolls back only this
213
+ * boundary's guards. A failed rollback remains a visible protected record. An
214
+ * unresolved earlier command closes further admission in the same task.
215
+ * Exclusive open registers ownership before any write or close can fail.
216
+ * Failed close/rollback preserves original errors and exact paths for the
217
+ * task owner even if a legacy resolver converts the result to unavailable.
218
+ *
219
+ * @evidence contracts/common.md#principled-implementation All registered guards are written before command admission; publication failure rolls back only files whose exclusive open actually succeeded, including partial writes; close/rollback errors remain original aggregate members.
220
+ * @evidence contracts/common.md#clear-and-simple-design One boundary snapshots registered resources and tracks its exact guard paths.
221
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Publication refusal admits no command; rollback failure stays visible rather than claiming clean release.
222
+ * @evidence contracts/common.md#meaningful-documentation Native prose explains publication ordering and partial-failure effects.
223
+ * @evidence contracts/portability.md#os-neutral-implementation Native directory validation rejects guard links; an actual exclusive descriptor establishes creation ownership before writing, while EEXIST cannot grant deletion authority.
224
+ * @evidence contracts/performance.md#efficient-algorithms For R registered roots, publication writes R records whose bytes scale with retained path text.
225
+ * @evidence contracts/performance.md#reuse-equivalent-work Fresh boundary tokens prohibit accidental reuse of an effectful admission.
226
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Each boundary owns one guard per root from exclusive open until certified settlement or successful pre-admission rollback; failed close/rollback is reported across legacy catches, and unknown descriptor closure is never claimed or blindly retried.
227
+ */
228
+ export function begin(boundaryToken: string): void {
229
+ if (current === undefined) return;
230
+ if (!canRelease())
231
+ throw new Error(
232
+ "ttsc: native admission is closed while an earlier boundary has unresolved retirement",
233
+ );
234
+ if (boundaryToken.length === 0 || current.boundaries.has(boundaryToken))
235
+ throw new Error("ttsc: native boundary identity was empty or reused");
236
+ const boundary: Boundary = {
237
+ token: boundaryToken,
238
+ state: "not-started",
239
+ resources: [...current.resources.values()],
240
+ files: [],
241
+ candidates: new Set(),
242
+ };
243
+ current.boundaries.set(boundaryToken, boundary);
244
+ try {
245
+ for (const resource of boundary.resources) {
246
+ const directory = guardDirectory(resource.fenceRoot, true)!;
247
+ const file = path.join(
248
+ directory,
249
+ `${digest(current.taskToken)}-${digest(boundaryToken)}.json`,
250
+ );
251
+ writeGuard(
252
+ file,
253
+ current.taskToken,
254
+ boundary,
255
+ resource,
256
+ "pending",
257
+ true,
258
+ );
259
+ }
260
+ boundary.state = "pending";
261
+ } catch (error) {
262
+ const failures: unknown[] = [error];
263
+ const operations = current.guardFileOperations ?? fs;
264
+ const retained: string[] = [];
265
+ const owned = [...boundary.files];
266
+ for (const file of boundary.files) {
267
+ try {
268
+ operations.rmSync(file, { force: true });
269
+ } catch (failure) {
270
+ failures.push(failure);
271
+ retained.push(file);
272
+ }
273
+ }
274
+ boundary.files = retained;
275
+ const failure = new AggregateError(
276
+ failures,
277
+ `ttsc: native guard publication failed before admission; created guards: ${JSON.stringify(owned)}; retained guards: ${JSON.stringify(retained)}; retained paths: ${JSON.stringify(boundary.resources.flatMap((resource) => resource.retainedPaths))}`,
278
+ );
279
+ if (
280
+ failures.length > 1 ||
281
+ (error instanceof GuardPublicationError && error.cleanupFailed)
282
+ )
283
+ OwnedSynchronousProcess.reportFailure(failure);
284
+ throw failure;
285
+ }
286
+ }
287
+
288
+ /**
289
+ * Accept the original boundary owner's classified outcome. A certified
290
+ * terminal outcome is immutable, so a surrounding catch cannot turn a joined
291
+ * command back into unknown. Unknown remains protected if diagnostic writes
292
+ * fail; the pre-admission pending guard already protects its inputs.
293
+ * Candidate close/removal failures retain their original errors and reach the
294
+ * owned task even when later resolver code catches the thrown outcome.
295
+ * Successful removal relinquishes that pathname immediately; only failed
296
+ * removals retain retry authority, and all roots are attempted before
297
+ * failure.
298
+ *
299
+ * @evidence contracts/common.md#principled-implementation Only the original boundary accepts a classified result; safe certificates cannot become unknown through a surrounding catch.
300
+ * @evidence contracts/common.md#clear-and-simple-design The state transition and exact guard-file list centralize completion and unknown publication.
301
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts An unknown diagnostic write failure retains the pre-admission guard instead of inferring native closure.
302
+ * @evidence contracts/common.md#meaningful-documentation Native prose states immutable safe outcomes and failure-safe unknown protection.
303
+ * @evidence contracts/portability.md#os-neutral-implementation Node exclusive temporary writes and rename publish metadata; native I/O refusal is propagated.
304
+ * @evidence contracts/performance.md#efficient-algorithms Unknown publication visits registered guard files and serialized path bytes; certified cleanup scans each still-owned guard and failed candidate once before aggregating refusals.
305
+ * @evidence contracts/performance.md#reuse-equivalent-work Repeated identical safe outcomes retry cleanup, while conflicting certificates are rejected.
306
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Joined or never-started outcomes relinquish each successfully removed guard or candidate pathname and retain only failed removals for retry; original cleanup failures reach the owned task across legacy catches. Unknown retains guards and failed owned candidates until qualified recovery.
307
+ */
308
+ export function settle(
309
+ boundaryToken: string,
310
+ retirement: "joined" | "not-started" | "unknown",
311
+ reason?: string,
312
+ ): void {
313
+ if (current === undefined) return;
314
+ const boundary = current.boundaries.get(boundaryToken);
315
+ if (boundary === undefined)
316
+ throw new Error("ttsc: native outcome has no admitted boundary");
317
+ if (
318
+ (boundary.state === "joined" || boundary.state === "not-started") &&
319
+ retirement === "unknown"
320
+ )
321
+ return;
322
+ if (
323
+ (boundary.state === "joined" || boundary.state === "not-started") &&
324
+ retirement !== boundary.state
325
+ )
326
+ throw new Error(
327
+ "ttsc: certified native retirement outcome cannot change",
328
+ );
329
+ if (retirement === "unknown") {
330
+ boundary.state = "unknown";
331
+ boundary.reason =
332
+ reason ?? "native process-tree retirement was not confirmed";
333
+ const failures: unknown[] = [];
334
+ for (let index = 0; index < boundary.resources.length; index++) {
335
+ try {
336
+ writeGuard(
337
+ boundary.files[index]!,
338
+ current.taskToken,
339
+ boundary,
340
+ boundary.resources[index]!,
341
+ "unknown",
342
+ );
343
+ } catch (error) {
344
+ failures.push(error);
345
+ }
346
+ }
347
+ if (failures.length !== 0) {
348
+ const failure = new AggregateError(failures, diagnostic(boundary));
349
+ if (
350
+ failures.some(
351
+ (error) =>
352
+ error instanceof GuardPublicationError && error.cleanupFailed,
353
+ )
354
+ )
355
+ OwnedSynchronousProcess.reportFailure(failure);
356
+ throw failure;
357
+ }
358
+ return;
359
+ }
360
+ boundary.state = retirement;
361
+ const failures: unknown[] = [];
362
+ const retained: string[] = [];
363
+ const retainedCandidates = new Set<string>();
364
+ const operations = current.guardFileOperations ?? fs;
365
+ for (const file of [...boundary.files, ...boundary.candidates]) {
366
+ try {
367
+ operations.rmSync(file, { force: true });
368
+ } catch (error) {
369
+ failures.push(error);
370
+ if (boundary.candidates.has(file)) retainedCandidates.add(file);
371
+ else retained.push(file);
372
+ }
373
+ }
374
+ boundary.files = retained;
375
+ boundary.candidates = retainedCandidates;
376
+ if (failures.length !== 0) {
377
+ const failure = new AggregateError(
378
+ failures,
379
+ `ttsc: certified native guard cleanup failed; retained guards: ${JSON.stringify([...retained, ...retainedCandidates])}; retained paths: ${JSON.stringify(boundary.resources.flatMap((resource) => resource.retainedPaths))}`,
380
+ );
381
+ OwnedSynchronousProcess.reportFailure(failure);
382
+ throw failure;
383
+ }
384
+ }
385
+
386
+ /**
387
+ * Run safe cleanup now or retain its original capability after unknown
388
+ * retirement. Deferred callbacks are not treated as completed cleanup. A
389
+ * cleanup refusal is recorded for the task owner before it is rethrown, so a
390
+ * surrounding discovery catch cannot turn resource loss into success.
391
+ *
392
+ * @evidence contracts/common.md#principled-implementation Cleanup executes only when all admitted boundaries certify safety; otherwise its original callback is retained. An immediate refusal remains the same thrown error and is recorded in the asynchronous task owner's failure ledger.
393
+ * @evidence contracts/common.md#clear-and-simple-design One predicate chooses immediate execution or FIFO deferral.
394
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Deferral is never reported as completed cleanup.
395
+ * @evidence contracts/common.md#meaningful-documentation Native prose distinguishes retained authority from successful release.
396
+ * @evidence contracts/portability.md#os-neutral-implementation The callback owns native details; this operation sequences opaque cleanup capabilities.
397
+ * @evidence contracts/performance.md#efficient-algorithms One safety scan over task boundaries precedes constant-time append or delegated cleanup.
398
+ * @evidence contracts/performance.md#reuse-equivalent-work Effectful cleanup callbacks are not deduplicated by matching return values.
399
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Deferred callbacks remain with the original scope until qualified recovery succeeds; unknown has no age-based eviction.
400
+ */
401
+ export function release(cleanup: () => void): void {
402
+ if (current !== undefined && !canRelease()) current.deferred.push(cleanup);
403
+ else {
404
+ try {
405
+ cleanup();
406
+ } catch (error) {
407
+ OwnedSynchronousProcess.reportFailure(error);
408
+ throw error;
409
+ }
410
+ }
411
+ }
412
+
413
+ /**
414
+ * Release one destructible resource using its observed registration identity.
415
+ *
416
+ * Capture the original scope, physical key and registration while the root
417
+ * still exists. Cleanup can then remove that root without another realpath.
418
+ * Only successful cleanup drops the exact captured registration; a failed
419
+ * cleanup or a replacement registration remains owned. Unknown boundaries
420
+ * defer the same callback and identity through the original release protocol.
421
+ *
422
+ * The optional task failure distinguishes an earlier thrown undefined from
423
+ * no earlier failure. It is combined with a cleanup refusal, never rethrown
424
+ * after successful cleanup or deferred recovery. Ordinary unscoped callers
425
+ * perform cleanup without observing or inventing a registration.
426
+ *
427
+ * Enabled private tracing observes the original callback's execution, not
428
+ * its deferral. Scalar own error properties are read without invoking
429
+ * getters; reflection or sink failures leave the original outcome intact.
430
+ * Synchronous trace writes can change scheduling and prove only that run.
431
+ *
432
+ * @evidence contracts/common.md#principled-implementation Physical identity and the exact resource object are captured before destruction; only successful cleanup removes that identical registration from the original scope, while failure and replacement retain ownership.
433
+ * @evidence contracts/common.md#clear-and-simple-design One operation combines destructive cleanup with registration release, using the existing release/recover protocol instead of making each caller order physical lookup around removal.
434
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts A missing scoped root fails its real observation without guessing an identity or weakening forget; ordinary unscoped calls acquire no protocol state, and original task/cleanup errors remain separate aggregate members when both fail.
435
+ * @evidence contracts/common.md#meaningful-documentation Native paragraphs explain capture timing, replacement and failure retention, unknown deferral, thrown undefined, successful recovery and passive trace limits; they do not claim an atomic namespace or retained directory handle.
436
+ * @evidence contracts/portability.md#os-neutral-implementation Native realpath observes aliases before destruction and the captured map key avoids resolving a removed path; later namespace replacement remains outside the caller's ownership premise.
437
+ * @evidence contracts/performance.md#efficient-algorithms Scoped capture performs one native physical lookup and map observation before the existing boundary safety scan; cleanup costs are delegated and the final identity comparison/map removal does not enumerate resources. Enabled tracing alone allocates an observer, projects five error properties and visits the scope's B boundaries, with synchronous encoding and IO proportional to their recorded text.
438
+ * @evidence contracts/performance.md#reuse-equivalent-work The captured object proves only this release's original registration, never reusable compiler results; a reentrant replacement is retained rather than treated as equivalent ownership.
439
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Failed cleanup retains its registration; unknown boundaries retain the original callback through FIFO recovery, whose failed callback remains queued. Immediate cleanup failure follows release's reporting contract without creating a new automatic retry, and successful cleanup drops only its original entry. An enabled observer shares that callback's lifetime; bounded trace storage has no resource-release authority.
440
+ */
441
+ export function releaseResource(
442
+ fenceRoot: string,
443
+ cleanup: () => void,
444
+ taskFailure?: { error: unknown },
445
+ ): void {
446
+ const scope = current;
447
+ const failure = (error: unknown): unknown =>
448
+ taskFailure === undefined
449
+ ? error
450
+ : new AggregateError(
451
+ [taskFailure.error, error],
452
+ "ttsc: task and resource cleanup failed",
453
+ { cause: taskFailure.error },
454
+ );
455
+ let root: string | undefined;
456
+ try {
457
+ root = scope === undefined ? undefined : physicalRoot(fenceRoot);
458
+ } catch (error) {
459
+ const combined = failure(error);
460
+ OwnedSynchronousProcess.reportFailure(combined);
461
+ throw combined;
462
+ }
463
+ const resource = root === undefined ? undefined : scope!.resources.get(root);
464
+ const observe = !process.env.TTSC_E2E_TRACE
465
+ ? undefined
466
+ : (phase: string, error?: unknown): void => {
467
+ try {
468
+ const detail: Record<string, string | number | boolean | null | undefined> = {};
469
+ if (error !== null && (typeof error === "object" || typeof error === "function"))
470
+ for (const field of ["code", "errno", "syscall", "path", "dest"]) {
471
+ const descriptor = Object.getOwnPropertyDescriptor(error, field);
472
+ const value: unknown = descriptor?.value;
473
+ if (typeof value === "string" || typeof value === "number")
474
+ detail[field] = value;
475
+ }
476
+ E2ETrace.capabilityResolution(phase, {
477
+ taskToken: scope?.taskToken,
478
+ resourceRoot: root ?? fenceRoot,
479
+ ...detail,
480
+ });
481
+ if (phase === "source-resource-cleanup-started" && scope !== undefined)
482
+ for (const [boundary, state] of scope.boundaries)
483
+ E2ETrace.capabilityResolution("source-resource-cleanup-boundary", {
484
+ taskToken: scope.taskToken,
485
+ resourceRoot: root,
486
+ boundary,
487
+ retirement: state.state,
488
+ });
489
+ } catch {
490
+ // Diagnostic reflection and IO cannot replace original cleanup.
491
+ }
492
+ };
493
+ release(() => {
494
+ observe?.("source-resource-cleanup-started");
495
+ try {
496
+ cleanup();
497
+ } catch (error) {
498
+ observe?.("source-resource-cleanup-threw", error);
499
+ throw failure(error);
500
+ }
501
+ observe?.("source-resource-cleanup-returned");
502
+ if (
503
+ scope !== undefined &&
504
+ root !== undefined &&
505
+ scope.resources.get(root) === resource
506
+ )
507
+ scope.resources.delete(root);
508
+ });
509
+ }
510
+
511
+ /**
512
+ * Observe the installed task's native closure authority without throwing.
513
+ *
514
+ * @evidence contracts/common.md#principled-implementation Every boundary must be joined or never started before cleanup is safe.
515
+ * @evidence contracts/common.md#clear-and-simple-design One task-local predicate serves every release consumer.
516
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts No PID, clock or unavailable plugin result supplies closure proof.
517
+ * @evidence contracts/common.md#meaningful-documentation Native prose identifies a nonthrowing authority observation.
518
+ * @evidence contracts/portability.md#os-neutral-implementation The predicate inspects discriminants without native operations.
519
+ * @evidence contracts/performance.md#efficient-algorithms The scan stops at the first unresolved boundary and takes at most the task boundary count.
520
+ * @evidence contracts/performance.md#reuse-equivalent-work Mutable boundary state is inspected anew, not cached.
521
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Observation allocates transient iteration state and acquires no resource.
522
+ */
523
+ export function canRelease(): boolean {
524
+ if (current === undefined) return true;
525
+ for (const boundary of current.boundaries.values())
526
+ if (boundary.state === "unknown" || boundary.state === "pending")
527
+ return false;
528
+ return true;
529
+ }
530
+
531
+ /**
532
+ * Retry deferred cleanup only with the original task and boundary capability.
533
+ * The caller must supply actual qualified native closure, not a timer or PID
534
+ * observation. No disk-only recovery capability is created by this API.
535
+ *
536
+ * @evidence contracts/common.md#principled-implementation Only the original scope and exact boundary token can apply qualified closure and retry original cleanup. Failed callbacks remain at the FIFO head, preserve their original thrown error and report it to the current asynchronous task owner before propagation.
537
+ * @evidence contracts/common.md#clear-and-simple-design Certified settlement precedes FIFO cleanup, and a throwing callback remains at the head for retry.
538
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Timers and PID observations cannot manufacture recovery authority; losing it leaves terminal quarantine.
539
+ * @evidence contracts/common.md#meaningful-documentation Native prose states caller proof requirements and excludes disk-only recovery.
540
+ * @evidence contracts/portability.md#os-neutral-implementation Settlement and callbacks own native filesystem effects; this coordinator preserves their actual failures.
541
+ * @evidence contracts/performance.md#efficient-algorithms Settlement scans every still-owned guard and candidate before reporting cleanup failures; deferred callbacks run in FIFO order until the first callback failure.
542
+ * @evidence contracts/performance.md#reuse-equivalent-work A previously certified identical outcome can retry failed cleanup without rerunning successful callbacks.
543
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Successful callbacks are removed once; failures retain the original capability for another qualified retry.
544
+ */
545
+ export function recover(
546
+ scope: Scope,
547
+ boundaryToken: string,
548
+ retirement: "joined" | "not-started",
549
+ ): void {
550
+ run(scope, () => {
551
+ const boundary = scope.boundaries.get(boundaryToken);
552
+ if (
553
+ boundary === undefined ||
554
+ (boundary.state !== "unknown" && boundary.state !== retirement)
555
+ )
556
+ throw new Error(
557
+ "ttsc: recovery does not identify an unresolved native boundary",
558
+ );
559
+ settle(boundaryToken, retirement);
560
+ if (!canRelease()) return;
561
+ while (scope.deferred.length !== 0) {
562
+ const cleanup = scope.deferred[0]!;
563
+ try {
564
+ cleanup();
565
+ } catch (error) {
566
+ OwnedSynchronousProcess.reportFailure(error);
567
+ throw error;
568
+ }
569
+ scope.deferred.shift();
570
+ }
571
+ });
572
+ }
573
+
574
+ /**
575
+ * Pending, malformed and unknown guards all prohibit collector reclamation.
576
+ * An exact generation query ignores valid guards for different generations.
577
+ *
578
+ * @evidence contracts/common.md#principled-implementation Any pending, unknown or malformed guard prevents reclamation.
579
+ * @evidence contracts/common.md#clear-and-simple-design One shared reader defines conservative protection for all collectors.
580
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Invalid metadata is protected rather than interpreted as absence.
581
+ * @evidence contracts/common.md#meaningful-documentation Native prose names the protected states and collector purpose.
582
+ * @evidence contracts/portability.md#os-neutral-implementation Guard reading validates native directory identity and rejects links.
583
+ * @evidence contracts/performance.md#efficient-algorithms Reading costs the guard-entry count and total metadata bytes; no PID queries are needed.
584
+ * @evidence contracts/performance.md#reuse-equivalent-work Mutable guard directories are observed for each reclamation decision.
585
+ * @evidence contracts/performance.md#bound-retention-and-release-resources The observation holds no persistent handle and acquires no ownership.
586
+ */
587
+ export function isProtected(fenceRoot: string, generation?: string): boolean {
588
+ const generations = protectedGenerations(fenceRoot);
589
+ return (
590
+ generations === undefined ||
591
+ (generation === undefined
592
+ ? generations.size !== 0
593
+ : generations.has(generation))
594
+ );
595
+ }
596
+
597
+ /**
598
+ * Snapshot protected generations for one cooperative collector pass.
599
+ * Undefined protects every generation because metadata is malformed or an
600
+ * unleased shared input has no narrower generation. An empty set protects
601
+ * none. Eviction must still recheck root protection before deleting objects.
602
+ *
603
+ * @evidence contracts/common.md#principled-implementation Valid guards select their exact generations; malformed or unleased records conservatively protect all generations rather than authorizing deletion.
604
+ * @evidence contracts/common.md#clear-and-simple-design A set-or-universal result separates one metadata scan from the collector's per-record membership checks.
605
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts The snapshot supplies no native closure proof and cannot replace the final root guard check before object deletion.
606
+ * @evidence contracts/common.md#meaningful-documentation Native prose specifies universal, empty and exact-generation meanings and the snapshot's deletion limitation.
607
+ * @evidence contracts/portability.md#os-neutral-implementation The shared native guard reader validates directory identity and JSON records before generations enter the set.
608
+ * @evidence contracts/performance.md#efficient-algorithms One scan costs guard count and metadata bytes; subsequent record membership avoids rescanning G guards for every one of L lease records.
609
+ * @evidence contracts/performance.md#reuse-equivalent-work One collector pass shares this observed guard snapshot; later passes and final object-eviction admission make fresh native observations.
610
+ * @evidence contracts/performance.md#bound-retention-and-release-resources The returned set retains at most one token per observed guarded generation and holds no native handle; the collector owns this transient snapshot.
611
+ */
612
+ export function protectedGenerations(
613
+ fenceRoot: string,
614
+ ): ReadonlySet<string> | undefined {
615
+ const generations = new Set<string>();
616
+ for (const guard of readGuards(fenceRoot)) {
617
+ if (guard.record?.generation === undefined) return undefined;
618
+ generations.add(guard.record.generation);
619
+ }
620
+ return generations;
621
+ }
622
+
623
+ /**
624
+ * Refuse unknown or malformed exclusive-key ownership. Pending guards remain
625
+ * non-admitting wait states; callers must separately avoid acquisition and
626
+ * binary adoption while isProtected remains true.
627
+ *
628
+ * @evidence contracts/common.md#principled-implementation Unknown or malformed exclusive-key ownership refuses admission; pending guards permit only the existing bounded waiter, whose acquisition and binary adoption remain blocked separately.
629
+ * @evidence contracts/common.md#clear-and-simple-design Admission policy is separate from shared-cache collector protection.
630
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Shared Go cache builds do not invoke this exclusive-key check; their separate leases remain concurrent.
631
+ * @evidence contracts/common.md#meaningful-documentation Native prose identifies exclusive admission and its quarantine diagnostic.
632
+ * @evidence contracts/portability.md#os-neutral-implementation Guard paths and retained native paths are reported using Node filesystem spellings.
633
+ * @evidence contracts/performance.md#efficient-algorithms A guard-directory scan and metadata reads precede the first refusal.
634
+ * @evidence contracts/performance.md#reuse-equivalent-work Fresh admission rechecks mutable metadata rather than reusing a prior availability observation.
635
+ * @evidence contracts/performance.md#bound-retention-and-release-resources The check acquires no ownership and leaves retained guards untouched.
636
+ */
637
+ export function assertAvailable(fenceRoot: string): void {
638
+ for (const guard of readGuards(fenceRoot)) {
639
+ if (guard.record?.state === "pending") continue;
640
+ throw new Error(
641
+ `ttsc: source resource is quarantined: ${guard.file}; ${guard.record?.reason ?? "native retirement metadata is unreadable or invalid"}; retained paths: ${JSON.stringify(guard.record?.retainedPaths ?? [fenceRoot])}; qualified native closure or operator-confirmed external closure is required`,
642
+ );
643
+ }
644
+ }
645
+
646
+ /**
647
+ * Explain retained input ownership in a bounded wait's failure diagnostic.
648
+ * This reports observed guard bytes and grants no process-closure authority.
649
+ *
650
+ * @evidence contracts/common.md#principled-implementation The first observed guard supplies its state, original reason and exact retained paths without inferring lifetime from PID or elapsed time.
651
+ * @evidence contracts/common.md#clear-and-simple-design One optional diagnostic lets bounded waiters preserve the same metadata interpretation as collector and admission checks.
652
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Pending diagnostic publication does not manufacture a safe outcome or make a timeout reclaim inputs.
653
+ * @evidence contracts/common.md#meaningful-documentation Native prose states the reporting purpose and explicitly excludes closure authority.
654
+ * @evidence contracts/portability.md#os-neutral-implementation The shared native reader validates guard directories; JSON retains actual path spellings in the diagnostic.
655
+ * @evidence contracts/performance.md#efficient-algorithms One guard scan and path-byte formatting occur on diagnostic demand, outside successful waiter polls.
656
+ * @evidenceExclude contracts/performance.md#reuse-equivalent-work Mutable guard diagnostics are observed anew at the failure boundary rather than cached across transitions.
657
+ * @evidence contracts/performance.md#bound-retention-and-release-resources The returned string holds no process or directory capability; guard and input retention remain unchanged.
658
+ */
659
+ export function describeProtection(fenceRoot: string): string | undefined {
660
+ const guard = readGuards(fenceRoot)[0];
661
+ if (guard === undefined) return undefined;
662
+ return `native input ownership ${guard.record?.state ?? "invalid"} at ${guard.file}: ${guard.record?.reason ?? "native closure remains unconfirmed"}; retained paths: ${JSON.stringify(guard.record?.retainedPaths ?? [fenceRoot])}`;
663
+ }
664
+
665
+ /**
666
+ * Refuse ownership completion or stealing while any native guard remains.
667
+ *
668
+ * @evidence contracts/common.md#principled-implementation Any relevant guard prohibits completion or stealing; exact differing generations do not block their independent lease release.
669
+ * @evidence contracts/common.md#clear-and-simple-design One generation filter serves key retirement and shared Go record cleanup.
670
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Malformed metadata cannot authorize generation-based bypass.
671
+ * @evidence contracts/common.md#meaningful-documentation Native prose describes completion and stealing refusal.
672
+ * @evidence contracts/portability.md#os-neutral-implementation The shared reader validates native guard directories and preserves I/O failures.
673
+ * @evidence contracts/performance.md#efficient-algorithms The check scans guard entries and metadata until a relevant protection is found.
674
+ * @evidence contracts/performance.md#reuse-equivalent-work Reclamation authority is observed anew rather than cached across filesystem mutations.
675
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Refusal leaves the original resources and guards owned; the check holds no persistent handle.
676
+ */
677
+ export function assertReleasable(
678
+ fenceRoot: string,
679
+ generation?: string,
680
+ ): void {
681
+ for (const guard of readGuards(fenceRoot)) {
682
+ if (
683
+ generation !== undefined &&
684
+ guard.record?.generation !== undefined &&
685
+ guard.record.generation !== generation
686
+ )
687
+ continue;
688
+ throw new Error(
689
+ `ttsc: native input ownership remains protected at ${guard.file}; retained paths: ${JSON.stringify(guard.record?.retainedPaths ?? [fenceRoot])}`,
690
+ );
691
+ }
692
+ }
693
+
694
+ /**
695
+ * Refuse recursive clean when a selected physical tree or its ancestors
696
+ * contain a guard. Terminal links are not followed. Scans acquire no held
697
+ * directory identity; callers retain the existing deletion-race premise.
698
+ *
699
+ * @evidence contracts/common.md#principled-implementation A whole-tree and ancestor check prevents recursive deletion of guarded inputs while terminal links remain unlinkable.
700
+ * @evidence contracts/common.md#clear-and-simple-design An iterative directory stack and ancestor walk separate descendant guards from enclosing ownership.
701
+ * @evidence contracts/common.md#prohibited-implementation-shortcuts Links are not traversed and unknown guards cannot be treated as safe deletion targets.
702
+ * @evidence contracts/common.md#meaningful-documentation Native prose states terminal-link behavior and the existing deletion-race limitation.
703
+ * @evidence contracts/portability.md#os-neutral-implementation Node lstat distinguishes actual terminal links; callers supply physically pinned ancestor paths.
704
+ * @evidence contracts/performance.md#efficient-algorithms The scan costs visited directories and guard metadata bytes; full traversal is necessary because guards may exist in any selected descendant.
705
+ * @evidence contracts/performance.md#reuse-equivalent-work Each clean transaction observes mutable guards; no cross-clean index supplies stale authority.
706
+ * @evidence contracts/performance.md#bound-retention-and-release-resources Only path strings and a directory stack are retained during the call; no held directory identity prevents later replacement.
707
+ */
708
+ export function assertCleanable(target: string): void {
709
+ const resolved = path.resolve(target);
710
+ let terminalLink = false;
711
+ try {
712
+ terminalLink = fs.lstatSync(resolved).isSymbolicLink();
713
+ } catch (error) {
714
+ if (!missing(error)) throw error;
715
+ }
716
+ let ancestor = terminalLink ? path.dirname(resolved) : resolved;
717
+ for (;;) {
718
+ assertReleasable(ancestor);
719
+ const parent = path.dirname(ancestor);
720
+ if (parent === ancestor) break;
721
+ ancestor = parent;
722
+ }
723
+ const pending = terminalLink ? [] : [resolved];
724
+ while (pending.length !== 0) {
725
+ const directory = pending.pop()!;
726
+ let stats: fs.Stats;
727
+ try {
728
+ stats = fs.lstatSync(directory);
729
+ } catch (error) {
730
+ if (missing(error)) continue;
731
+ throw error;
732
+ }
733
+ if (!stats.isDirectory() || stats.isSymbolicLink()) continue;
734
+ assertReleasable(directory);
735
+ for (const entry of fs.readdirSync(directory, { withFileTypes: true }))
736
+ if (
737
+ entry.isDirectory() &&
738
+ !entry.isSymbolicLink() &&
739
+ entry.name !== GUARD_DIRECTORY
740
+ )
741
+ pending.push(path.join(directory, entry.name));
742
+ }
743
+ }
744
+ }
745
+
746
+ /**
747
+ * A registered physical input root and its optional exact source/lease
748
+ * generation.
749
+ *
750
+ * Optional generation and nonce preserve existing owner authority while path
751
+ * lists explain retained inputs. One resource combines its root, diagnostic
752
+ * input paths and exact generation identity. A root entry never equates PID
753
+ * identity with native closure. Field comments identify ownership and
754
+ * diagnostic purpose. Native paths are strings whose physical root was resolved
755
+ * at registration. This type executes no algorithm. The type grants no
756
+ * equivalent-result reuse. Runtime scope and boundary owners govern the
757
+ * represented resource lifetime.
758
+ */
759
+ interface Resource {
760
+ /** Observed physical directory holding the guard. */
761
+ fenceRoot: string;
762
+
763
+ /** Exact input spellings disclosed by the original owner. */
764
+ retainedPaths: string[];
765
+
766
+ /** Held key or Go lease generation, absent for unleased shared roots. */
767
+ generation?: string;
768
+
769
+ /** Original key completion capability, absent for Go roots. */
770
+ completionNonce?: string;
771
+ }
772
+
773
+ /**
774
+ * One original command admission and its exact input-guard publication set.
775
+ *
776
+ * State separates unresolved admission from qualified joined or never-started
777
+ * closure. One boundary stores its token, immutable snapshot and owned guard
778
+ * paths. Unknown is represented explicitly instead of converted to successful
779
+ * cleanup. Native prose identifies per-command ownership and publication scope.
780
+ * File strings address native guard entries; classification comes from the
781
+ * native owner. This type declares state without scanning or publishing. A
782
+ * boundary identity cannot be reused for another admission. The task owner
783
+ * retains this record and its input snapshot until qualified completion or
784
+ * terminal quarantine.
785
+ */
786
+ interface Boundary {
787
+ /** Original command admission token. */
788
+ token: string;
789
+
790
+ /** Explicit closure classification; unresolved states prohibit cleanup. */
791
+ state: "pending" | "joined" | "not-started" | "unknown";
792
+
793
+ /** Native owner diagnosis when closure is unknown. */
794
+ reason?: string;
795
+
796
+ /** Resource snapshot taken before native command admission. */
797
+ resources: Resource[];
798
+
799
+ /** Exclusively created guard entries still owned, including partial writes. */
800
+ files: string[];
801
+
802
+ /** Exclusively created update candidates whose removal has not succeeded. */
803
+ candidates: Set<string>;
804
+ }
805
+
806
+ /**
807
+ * Cooperating-version metadata that preserves input ownership without granting
808
+ * recovery authority.
809
+ *
810
+ * Version, exact task/boundary identity and pending/unknown states distinguish
811
+ * the publication contract. One JSON record carries diagnostic paths and
812
+ * optional exact generation identity. Neither process identity nor a timestamp
813
+ * can authorize reclamation from these bytes. Native prose explains cooperation
814
+ * and the lack of recovery authority. Native path strings preserve diagnostic
815
+ * spellings; guard directory identity is validated separately. This type
816
+ * executes no metadata reads or scans. Guard identity does not imply
817
+ * compiler-result equivalence. Publication and qualified settlement own record
818
+ * acquisition and deletion; unknown records have no age expiry.
819
+ */
820
+ interface GuardRecord {
821
+ /** Cooperative JSON protocol revision. */
822
+ version: 1;
823
+
824
+ /** Original request identity; this string alone grants no recovery. */
825
+ taskToken: string;
826
+
827
+ /** Exact command admission identity. */
828
+ boundaryToken: string;
829
+
830
+ /** Both persisted states prohibit reclamation. */
831
+ state: "pending" | "unknown";
832
+
833
+ /** Original native-owner refusal, when diagnostic publication succeeded. */
834
+ reason?: string;
835
+
836
+ /** Exact retained input paths for terminal diagnosis. */
837
+ retainedPaths: string[];
838
+
839
+ /** Held key/lease generation, absent for unleased shared inputs. */
840
+ generation?: string;
841
+
842
+ /** Original source-key completion identity, absent for Go roots. */
843
+ completionNonce?: string;
844
+ }
845
+
846
+ /**
847
+ * Encode an opaque identity into a fixed safe guard filename component.
848
+ *
849
+ * SHA-256 hex encoding avoids path separators in arbitrary task tokens. One
850
+ * standard hash operation owns filename encoding. No consumer or expected
851
+ * result is special-cased. Native prose states the filename purpose rather than
852
+ * a security certificate. Hex output is a filename component on supported Node
853
+ * filesystems. Hashing costs token bytes and produces fixed-size output.
854
+ * Repeated hashing is local identity encoding; no effectful work is cached. The
855
+ * temporary hash object holds no persistent resource.
856
+ */
857
+ function digest(token: string): string {
858
+ return crypto.createHash("sha256").update(token).digest("hex");
859
+ }
860
+
861
+ /**
862
+ * Recognize only filesystem absence codes accepted by conservative guard
863
+ * lookup.
864
+ *
865
+ * ENOENT and ENOTDIR denote absent path components; other errors must remain
866
+ * visible. One structural code predicate supports unknown error values.
867
+ * Permission and malformed metadata errors cannot be mistaken for absence.
868
+ * Native prose names the limited absence interpretation. Node native error
869
+ * codes express absence without OS-name branching. A fixed set of property/code
870
+ * checks takes constant work. Each actual error is classified independently.
871
+ * The predicate retains no handles or historical error registry.
872
+ */
873
+ function missing(error: unknown): boolean {
874
+ return (
875
+ error !== null &&
876
+ typeof error === "object" &&
877
+ "code" in error &&
878
+ (error.code === "ENOENT" || error.code === "ENOTDIR")
879
+ );
880
+ }
881
+
882
+ /**
883
+ * Resolve an existing native root to the physical spelling used by its
884
+ * registration.
885
+ *
886
+ * Native realpath observes actual filesystem aliases before map indexing. One
887
+ * Node filesystem primitive owns canonical spelling. Lexical path normalization
888
+ * alone is not treated as physical identity. Native prose explains the
889
+ * existing-root premise. realpath.native resolves physical identity without
890
+ * assuming a platform case rule. Native ancestor resolution and path text drive
891
+ * cost. Mutable native identity is resolved per registration or lookup. The
892
+ * operation holds no directory handle and cannot prevent later namespace
893
+ * replacement.
894
+ */
895
+ function physicalRoot(root: string): string {
896
+ return fs.realpathSync.native(path.resolve(root));
897
+ }
898
+
899
+ /**
900
+ * Validate or create the ordinary native directory holding one root's guards.
901
+ *
902
+ * Lstat rejects links and resolved-parent identity keeps metadata under the
903
+ * selected physical root. One helper centralizes directory creation and
904
+ * boundary validation. Only absence may omit lookup; unsafe aliases and I/O
905
+ * failures do not authorize deletion. Native prose explains guard containment
906
+ * and lookup/create behavior. Native realpath and lstat inspect actual links
907
+ * and parent identity on supported filesystems. Directory creation and metadata
908
+ * resolution scale with ancestor depth and path text. Native observations are
909
+ * refreshed because namespace identity can change. No directory handle is
910
+ * retained; the existing namespace ownership premise remains necessary.
911
+ */
912
+ function guardDirectory(root: string, create: boolean): string | undefined {
913
+ const directory = path.join(root, GUARD_DIRECTORY);
914
+ if (create) fs.mkdirSync(directory, { recursive: true });
915
+ let stats: fs.Stats;
916
+ try {
917
+ stats = fs.lstatSync(directory);
918
+ } catch (error) {
919
+ if (!create && missing(error)) return undefined;
920
+ throw error;
921
+ }
922
+ if (
923
+ !stats.isDirectory() ||
924
+ stats.isSymbolicLink() ||
925
+ path.dirname(fs.realpathSync.native(directory)) !== physicalRoot(root)
926
+ )
927
+ throw new Error(
928
+ `ttsc: unsafe native retirement guard directory: ${directory}`,
929
+ );
930
+ return directory;
931
+ }
932
+
933
+ /**
934
+ * Publish one boundary's metadata with exclusive initial creation or atomic
935
+ * replacement.
936
+ *
937
+ * Exclusive open owns the actual descriptor and registers an initial file
938
+ * before writing; a failed open never permits pathname deletion. Later updates
939
+ * own a unique candidate until successful rename transfers it to the guard. One
940
+ * serializer and descriptor-based publication path preserve task, boundary and
941
+ * resource identity; a private aggregate distinguishes write errors from
942
+ * ownership cleanup failures. Failed unknown replacement leaves the previous
943
+ * guard conservative rather than authorizing release. Native prose
944
+ * distinguishes initial admission publication from later diagnostics. Node
945
+ * exclusive writes and rename expose real filesystem refusal; no cross-platform
946
+ * shell syntax is used. Serialization and writes scale with token and retained
947
+ * path bytes. Effectful publications run anew for each native boundary
948
+ * transition. Close is attempted once after writing and its failure is never
949
+ * treated as closure. Initial rollback belongs to begin; update candidates
950
+ * enter the owned set after exclusive open and leave it only on successful
951
+ * rename or removal. Failed candidate removal retains exact authority for
952
+ * qualified recovery. Write, close, rename and removal failures remain original
953
+ * aggregate members; cleanup failures are reported across legacy catches.
954
+ */
955
+ function writeGuard(
956
+ file: string,
957
+ taskToken: string,
958
+ boundary: Boundary,
959
+ resource: Resource,
960
+ state: GuardRecord["state"],
961
+ initial = false,
962
+ ): void {
963
+ const bytes = JSON.stringify({
964
+ version: 1,
965
+ taskToken,
966
+ boundaryToken: boundary.token,
967
+ state,
968
+ reason: boundary.reason,
969
+ ...resource,
970
+ });
971
+ const operations = current?.guardFileOperations ?? fs;
972
+ const candidate = initial
973
+ ? file
974
+ : `${file}.${crypto.randomBytes(16).toString("hex")}.tmp`;
975
+ // Open is the ownership transition. An EEXIST refusal must never cause
976
+ // deletion of the pathname this boundary did not create.
977
+ const descriptor = operations.openSync(candidate, "wx");
978
+ if (initial) boundary.files.push(file);
979
+ else boundary.candidates.add(candidate);
980
+ const failures: unknown[] = [];
981
+ let cleanupFailed = false;
982
+ let published = false;
983
+ try {
984
+ operations.writeFileSync(descriptor, bytes);
985
+ } catch (error) {
986
+ failures.push(error);
987
+ }
988
+ try {
989
+ operations.closeSync(descriptor);
990
+ } catch (error) {
991
+ failures.push(error);
992
+ cleanupFailed = true;
993
+ }
994
+ if (!initial) {
995
+ if (failures.length === 0) {
996
+ try {
997
+ operations.renameSync(candidate, file);
998
+ published = true;
999
+ boundary.candidates.delete(candidate);
1000
+ } catch (error) {
1001
+ failures.push(error);
1002
+ }
1003
+ }
1004
+ if (!published) {
1005
+ try {
1006
+ operations.rmSync(candidate, { force: true });
1007
+ boundary.candidates.delete(candidate);
1008
+ } catch (error) {
1009
+ failures.push(error);
1010
+ cleanupFailed = true;
1011
+ }
1012
+ }
1013
+ }
1014
+ if (failures.length !== 0)
1015
+ throw new GuardPublicationError(
1016
+ failures,
1017
+ `ttsc: native guard file publication failed at ${candidate}; retained paths: ${JSON.stringify(resource.retainedPaths)}`,
1018
+ cleanupFailed,
1019
+ );
1020
+ }
1021
+
1022
+ /**
1023
+ * Original publication errors plus the distinction between failed writing and
1024
+ * failed ownership cleanup. Only cleanup failures need an additional report
1025
+ * across legacy unavailable conversion; no native process was admitted merely
1026
+ * by creating a guard. The array preserves original error references, and the
1027
+ * caller supplies exact paths in the message. This private classification
1028
+ * acquires no resources and cannot authorize recovery or cached result reuse.
1029
+ */
1030
+ class GuardPublicationError extends AggregateError {
1031
+ /** Whether a real close or owned-candidate removal refused cleanup. */
1032
+ readonly cleanupFailed: boolean;
1033
+
1034
+ constructor(errors: unknown[], message: string, cleanupFailed: boolean) {
1035
+ super(errors, message);
1036
+ this.cleanupFailed = cleanupFailed;
1037
+ }
1038
+ }
1039
+
1040
+ /**
1041
+ * Observe all root guards conservatively, treating invalid entries as
1042
+ * protected.
1043
+ *
1044
+ * Version, token-derived filename, states and field shapes validate the
1045
+ * cooperative JSON protocol. A single directory map serves admission,
1046
+ * collectors and clean. Unexpected entries or parse failures do not become
1047
+ * empty ownership. Native prose identifies conservative parsing and
1048
+ * missing-directory behavior. Native directory validation rejects aliased
1049
+ * metadata roots; entry types and actual JSON bytes are observed. Reading costs
1050
+ * guard count and total metadata bytes, including validation hashing. Mutable
1051
+ * guards are reread for each ownership decision. Only transient entry/JSON/path
1052
+ * data are retained; this reader grants no recovery capability.
1053
+ */
1054
+ function readGuards(
1055
+ root: string,
1056
+ ): Array<{ file: string; record?: GuardRecord }> {
1057
+ const directory = guardDirectory(root, false);
1058
+ if (directory === undefined) return [];
1059
+ return fs.readdirSync(directory, { withFileTypes: true }).map((entry) => {
1060
+ const file = path.join(directory, entry.name);
1061
+ if (!entry.isFile() || entry.isSymbolicLink()) return { file };
1062
+ try {
1063
+ const record = JSON.parse(
1064
+ fs.readFileSync(file, "utf8"),
1065
+ ) as Partial<GuardRecord> | null;
1066
+ if (
1067
+ record === null ||
1068
+ record.version !== 1 ||
1069
+ typeof record.taskToken !== "string" ||
1070
+ record.taskToken.length === 0 ||
1071
+ typeof record.boundaryToken !== "string" ||
1072
+ record.boundaryToken.length === 0 ||
1073
+ entry.name !==
1074
+ `${digest(record.taskToken)}-${digest(record.boundaryToken)}.json` ||
1075
+ (record.reason !== undefined && typeof record.reason !== "string") ||
1076
+ (record.state !== "pending" && record.state !== "unknown") ||
1077
+ !Array.isArray(record.retainedPaths) ||
1078
+ !record.retainedPaths.every((entry) => typeof entry === "string") ||
1079
+ (record.generation !== undefined &&
1080
+ typeof record.generation !== "string") ||
1081
+ (record.completionNonce !== undefined &&
1082
+ typeof record.completionNonce !== "string")
1083
+ )
1084
+ return { file };
1085
+ return { file, record: record as GuardRecord };
1086
+ } catch {
1087
+ return { file };
1088
+ }
1089
+ });
1090
+ }
1091
+
1092
+ /**
1093
+ * Describe unknown retirement with its boundary and exact retained input paths.
1094
+ *
1095
+ * The original boundary snapshot supplies paths without guessing a process
1096
+ * lifetime. One error message states reason, retained paths and required
1097
+ * qualified recovery. An error message does not certify closure or successful
1098
+ * cleanup. Native prose identifies diagnostic purpose. JSON encoding preserves
1099
+ * native path strings in the diagnostic. Formatting scans retained paths and
1100
+ * their text bytes. Diagnostics reflect the current boundary reason, without
1101
+ * caching a previous failure. The returned string owns no native handle or
1102
+ * cleanup authority.
1103
+ */
1104
+ function diagnostic(boundary: Boundary): string {
1105
+ return `ttsc: native retirement is unknown for ${boundary.token}: ${boundary.reason}; retained paths: ${JSON.stringify(boundary.resources.flatMap((resource) => resource.retainedPaths))}; qualified native closure or operator-confirmed external closure is required`;
1106
+ }
1107
+
1108
+ const GUARD_DIRECTORY = ".ttsc-native-retirements";
1109
+ let current: SourceNativeRetirement.Scope | undefined;