ttsc 0.30.3 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2081) 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 +442 -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/target_windows.go +211 -0
  378. package/internal/sourceprocess/windows_job_accounting_rejects_invalid_boundary_test.go +97 -0
  379. package/internal/sourceprocess/windows_target_owns_suspended_admission_test.go +179 -0
  380. package/internal/watchhelper/run.go +32 -0
  381. package/internal/watchhelper/run_linux.go +323 -0
  382. package/internal/watchhelper/run_linux_test.go +418 -0
  383. package/internal/watchhelper/run_other.go +16 -0
  384. package/internal/watchhelper/watchhelper.go +100 -0
  385. package/lib/TtscCompiler.d.ts +118 -21
  386. package/lib/TtscCompiler.js +175 -179
  387. package/lib/TtscCompiler.js.map +1 -1
  388. package/lib/TtscService.d.ts +66 -18
  389. package/lib/TtscService.js +81 -24
  390. package/lib/TtscService.js.map +1 -1
  391. package/lib/TtscServiceRequestOptions.d.ts +21 -0
  392. package/lib/TtscServiceRequestOptions.js +3 -0
  393. package/lib/TtscServiceRequestOptions.js.map +1 -0
  394. package/lib/compiler/internal/CapturedProcessOutput.d.ts +61 -0
  395. package/lib/compiler/internal/CapturedProcessOutput.js +3 -0
  396. package/lib/compiler/internal/CapturedProcessOutput.js.map +1 -0
  397. package/lib/compiler/internal/CompilerArgumentsInspection.d.ts +53 -0
  398. package/lib/compiler/internal/CompilerArgumentsInspection.js +173 -0
  399. package/lib/compiler/internal/CompilerArgumentsInspection.js.map +1 -0
  400. package/lib/compiler/internal/EmitOwnershipIndex.d.ts +92 -0
  401. package/lib/compiler/internal/EmitOwnershipIndex.js +215 -0
  402. package/lib/compiler/internal/EmitOwnershipIndex.js.map +1 -0
  403. package/lib/compiler/internal/PrivateCompilerOutput.d.ts +67 -0
  404. package/lib/compiler/internal/PrivateCompilerOutput.js +245 -0
  405. package/lib/compiler/internal/PrivateCompilerOutput.js.map +1 -0
  406. package/lib/compiler/internal/ResidentCheckProcess.d.ts +127 -0
  407. package/lib/compiler/internal/ResidentCheckProcess.js +403 -0
  408. package/lib/compiler/internal/ResidentCheckProcess.js.map +1 -0
  409. package/lib/compiler/internal/ResidentCheckProcessOptions.d.ts +29 -0
  410. package/lib/compiler/internal/ResidentCheckProcessOptions.js +3 -0
  411. package/lib/compiler/internal/ResidentCheckProcessOptions.js.map +1 -0
  412. package/lib/compiler/internal/ResidentCheckRequest.d.ts +37 -0
  413. package/lib/compiler/internal/ResidentCheckRequest.js +3 -0
  414. package/lib/compiler/internal/ResidentCheckRequest.js.map +1 -0
  415. package/lib/compiler/internal/ResidentCheckResult.d.ts +23 -0
  416. package/lib/compiler/internal/ResidentCheckResult.js +3 -0
  417. package/lib/compiler/internal/ResidentCheckResult.js.map +1 -0
  418. package/lib/compiler/internal/ResidentCheckTelemetry.d.ts +33 -0
  419. package/lib/compiler/internal/ResidentCheckTelemetry.js +3 -0
  420. package/lib/compiler/internal/ResidentCheckTelemetry.js.map +1 -0
  421. package/lib/compiler/internal/ResidentReplyKind.d.ts +18 -0
  422. package/lib/compiler/internal/ResidentReplyKind.js +3 -0
  423. package/lib/compiler/internal/ResidentReplyKind.js.map +1 -0
  424. package/lib/compiler/internal/ResidentTransformProcess.d.ts +83 -0
  425. package/lib/compiler/internal/ResidentTransformProcess.js +261 -0
  426. package/lib/compiler/internal/ResidentTransformProcess.js.map +1 -0
  427. package/lib/compiler/internal/ResidentTransformProcessOptions.d.ts +27 -0
  428. package/lib/compiler/internal/ResidentTransformProcessOptions.js +3 -0
  429. package/lib/compiler/internal/ResidentTransformProcessOptions.js.map +1 -0
  430. package/lib/compiler/internal/ResidentTransformReply.d.ts +51 -0
  431. package/lib/compiler/internal/ResidentTransformReply.js +79 -0
  432. package/lib/compiler/internal/ResidentTransformReply.js.map +1 -0
  433. package/lib/compiler/internal/ResidentTransformRequestOptions.d.ts +16 -0
  434. package/lib/compiler/internal/ResidentTransformRequestOptions.js +3 -0
  435. package/lib/compiler/internal/ResidentTransformRequestOptions.js.map +1 -0
  436. package/lib/compiler/internal/ResidentTransformRequests.d.ts +102 -0
  437. package/lib/compiler/internal/ResidentTransformRequests.js +172 -0
  438. package/lib/compiler/internal/ResidentTransformRequests.js.map +1 -0
  439. package/lib/compiler/internal/StartedResidentTransform.d.ts +27 -0
  440. package/lib/compiler/internal/StartedResidentTransform.js +3 -0
  441. package/lib/compiler/internal/StartedResidentTransform.js.map +1 -0
  442. package/lib/compiler/internal/TransformProjectWorkerReply.d.ts +34 -0
  443. package/lib/compiler/internal/TransformProjectWorkerReply.js +3 -0
  444. package/lib/compiler/internal/TransformProjectWorkerReply.js.map +1 -0
  445. package/lib/compiler/internal/TransformProjectWorkerRequest.d.ts +39 -0
  446. package/lib/compiler/internal/TransformProjectWorkerRequest.js +3 -0
  447. package/lib/compiler/internal/TransformProjectWorkerRequest.js.map +1 -0
  448. package/lib/compiler/internal/build/BuildExecution.d.ts +359 -0
  449. package/lib/compiler/internal/build/BuildExecution.js +977 -0
  450. package/lib/compiler/internal/build/BuildExecution.js.map +1 -0
  451. package/lib/compiler/internal/build/BuildTiming.d.ts +99 -0
  452. package/lib/compiler/internal/build/BuildTiming.js +113 -0
  453. package/lib/compiler/internal/build/BuildTiming.js.map +1 -0
  454. package/lib/compiler/internal/build/CompilerDiagnostics.d.ts +82 -0
  455. package/lib/compiler/internal/build/CompilerDiagnostics.js +270 -0
  456. package/lib/compiler/internal/build/CompilerDiagnostics.js.map +1 -0
  457. package/lib/compiler/internal/build/NativePluginArguments.d.ts +114 -0
  458. package/lib/compiler/internal/build/NativePluginArguments.js +255 -0
  459. package/lib/compiler/internal/build/NativePluginArguments.js.map +1 -0
  460. package/lib/compiler/internal/build/PassthroughFlags.d.ts +137 -0
  461. package/lib/compiler/internal/build/PassthroughFlags.js +213 -0
  462. package/lib/compiler/internal/build/PassthroughFlags.js.map +1 -0
  463. package/lib/compiler/internal/build/PluginFailureDiagnostics.d.ts +48 -0
  464. package/lib/compiler/internal/build/PluginFailureDiagnostics.js +68 -0
  465. package/lib/compiler/internal/build/PluginFailureDiagnostics.js.map +1 -0
  466. package/lib/compiler/internal/build/ResidentCheckEntryPlan.d.ts +38 -0
  467. package/lib/compiler/internal/build/ResidentCheckEntryPlan.js +3 -0
  468. package/lib/compiler/internal/build/ResidentCheckEntryPlan.js.map +1 -0
  469. package/lib/compiler/internal/build/ResidentCheckWatchChange.d.ts +30 -0
  470. package/lib/compiler/internal/build/ResidentCheckWatchChange.js +3 -0
  471. package/lib/compiler/internal/build/ResidentCheckWatchChange.js.map +1 -0
  472. package/lib/compiler/internal/build/ResidentCheckWatchSession.d.ts +113 -0
  473. package/lib/compiler/internal/build/ResidentCheckWatchSession.js +378 -0
  474. package/lib/compiler/internal/build/ResidentCheckWatchSession.js.map +1 -0
  475. package/lib/compiler/internal/build/RunBuildOptions.d.ts +130 -0
  476. package/lib/compiler/internal/build/RunBuildOptions.js +3 -0
  477. package/lib/compiler/internal/build/RunBuildOptions.js.map +1 -0
  478. package/lib/compiler/internal/build/TsgoArguments.d.ts +168 -0
  479. package/lib/compiler/internal/build/TsgoArguments.js +324 -0
  480. package/lib/compiler/internal/build/TsgoArguments.js.map +1 -0
  481. package/lib/compiler/internal/build/appendBuildOutput.d.ts +41 -0
  482. package/lib/compiler/internal/build/appendBuildOutput.js +182 -0
  483. package/lib/compiler/internal/build/appendBuildOutput.js.map +1 -0
  484. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.d.ts +20 -0
  485. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.js +40 -0
  486. package/lib/compiler/internal/build/bufferResidentCheckEntryRequests.js.map +1 -0
  487. package/lib/compiler/internal/build/createProcessDiagnostic.d.ts +19 -0
  488. package/lib/compiler/internal/build/createProcessDiagnostic.js +30 -0
  489. package/lib/compiler/internal/build/createProcessDiagnostic.js.map +1 -0
  490. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.d.ts +22 -0
  491. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.js +59 -0
  492. package/lib/compiler/internal/build/isAbsoluteLocalProjectInputPath.js.map +1 -0
  493. package/lib/compiler/internal/build/mergeProjectInputSnapshots.d.ts +28 -0
  494. package/lib/compiler/internal/build/mergeProjectInputSnapshots.js +121 -0
  495. package/lib/compiler/internal/build/mergeProjectInputSnapshots.js.map +1 -0
  496. package/lib/compiler/internal/build/normalizeBuildOutput.d.ts +29 -0
  497. package/lib/compiler/internal/build/normalizeBuildOutput.js +72 -0
  498. package/lib/compiler/internal/build/normalizeBuildOutput.js.map +1 -0
  499. package/lib/compiler/internal/build/parseProjectInputSnapshot.d.ts +26 -0
  500. package/lib/compiler/internal/build/parseProjectInputSnapshot.js +68 -0
  501. package/lib/compiler/internal/build/parseProjectInputSnapshot.js.map +1 -0
  502. package/lib/compiler/internal/build/planResidentCheckEntries.d.ts +21 -0
  503. package/lib/compiler/internal/build/planResidentCheckEntries.js +45 -0
  504. package/lib/compiler/internal/build/planResidentCheckEntries.js.map +1 -0
  505. package/lib/compiler/internal/build/privateRuntimeRootDir.d.ts +20 -0
  506. package/lib/compiler/internal/build/privateRuntimeRootDir.js +35 -0
  507. package/lib/compiler/internal/build/privateRuntimeRootDir.js.map +1 -0
  508. package/lib/compiler/internal/build/residentCheckRequest.d.ts +22 -0
  509. package/lib/compiler/internal/build/residentCheckRequest.js +42 -0
  510. package/lib/compiler/internal/build/residentCheckRequest.js.map +1 -0
  511. package/lib/compiler/internal/build/runBuild.d.ts +22 -0
  512. package/lib/compiler/internal/build/runBuild.js +44 -0
  513. package/lib/compiler/internal/build/runBuild.js.map +1 -0
  514. package/lib/compiler/internal/build/runExternalEmitProvenance.d.ts +61 -0
  515. package/lib/compiler/internal/build/runExternalEmitProvenance.js +451 -0
  516. package/lib/compiler/internal/build/runExternalEmitProvenance.js.map +1 -0
  517. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.d.ts +18 -0
  518. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.js +28 -0
  519. package/lib/compiler/internal/build/takeResidentCheckEntryRequest.js.map +1 -0
  520. package/lib/compiler/internal/buildNativeCompiler.d.ts +16 -1
  521. package/lib/compiler/internal/buildNativeCompiler.js +14 -2
  522. package/lib/compiler/internal/buildNativeCompiler.js.map +1 -1
  523. package/lib/compiler/internal/captureProcessOutput.d.ts +23 -21
  524. package/lib/compiler/internal/captureProcessOutput.js +40 -26
  525. package/lib/compiler/internal/captureProcessOutput.js.map +1 -1
  526. package/lib/compiler/internal/compileProjectInMemory.d.ts +30 -7
  527. package/lib/compiler/internal/compileProjectInMemory.js +103 -83
  528. package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
  529. package/lib/compiler/internal/ensureExecutable.d.ts +15 -0
  530. package/lib/compiler/internal/ensureExecutable.js +40 -0
  531. package/lib/compiler/internal/ensureExecutable.js.map +1 -0
  532. package/lib/compiler/internal/findNearestGoMod.d.ts +23 -0
  533. package/lib/compiler/internal/findNearestGoMod.js +48 -0
  534. package/lib/compiler/internal/findNearestGoMod.js.map +1 -0
  535. package/lib/compiler/internal/isOutsideRelativePath.d.ts +18 -0
  536. package/lib/compiler/internal/isOutsideRelativePath.js +30 -0
  537. package/lib/compiler/internal/isOutsideRelativePath.js.map +1 -0
  538. package/lib/compiler/internal/outputText.d.ts +16 -0
  539. package/lib/compiler/internal/outputText.js +25 -0
  540. package/lib/compiler/internal/outputText.js.map +1 -0
  541. package/lib/compiler/internal/packageRootDir.d.ts +25 -0
  542. package/lib/compiler/internal/packageRootDir.js +47 -0
  543. package/lib/compiler/internal/packageRootDir.js.map +1 -0
  544. package/lib/compiler/internal/parseNativeTransformOutput.d.ts +88 -0
  545. package/lib/compiler/internal/parseNativeTransformOutput.js +552 -0
  546. package/lib/compiler/internal/parseNativeTransformOutput.js.map +1 -0
  547. package/lib/compiler/internal/project/CompilerProjectSelection.d.ts +80 -0
  548. package/lib/compiler/internal/project/CompilerProjectSelection.js +187 -0
  549. package/lib/compiler/internal/project/CompilerProjectSelection.js.map +1 -0
  550. package/lib/compiler/internal/project/ConfigJsonText.d.ts +50 -0
  551. package/lib/compiler/internal/project/ConfigJsonText.js +61 -0
  552. package/lib/compiler/internal/project/ConfigJsonText.js.map +1 -0
  553. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.d.ts +48 -0
  554. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.js +119 -0
  555. package/lib/compiler/internal/project/compilerUsesCaseSensitiveFileNames.js.map +1 -0
  556. package/lib/compiler/internal/project/createNativeProjectContextArgs.d.ts +11 -8
  557. package/lib/compiler/internal/project/createNativeProjectContextArgs.js +15 -17
  558. package/lib/compiler/internal/project/createNativeProjectContextArgs.js.map +1 -1
  559. package/lib/compiler/internal/project/createNativeProjectContextJson.d.ts +19 -0
  560. package/lib/compiler/internal/project/createNativeProjectContextJson.js +27 -0
  561. package/lib/compiler/internal/project/createNativeProjectContextJson.js.map +1 -0
  562. package/lib/compiler/internal/project/parseJsonc.d.ts +42 -0
  563. package/lib/compiler/internal/project/parseJsonc.js +317 -0
  564. package/lib/compiler/internal/project/parseJsonc.js.map +1 -0
  565. package/lib/compiler/internal/project/readJsonFile.d.ts +21 -0
  566. package/lib/compiler/internal/project/readJsonFile.js +38 -0
  567. package/lib/compiler/internal/project/readJsonFile.js.map +1 -0
  568. package/lib/compiler/internal/project/readJsoncFile.d.ts +20 -0
  569. package/lib/compiler/internal/project/readJsoncFile.js +47 -0
  570. package/lib/compiler/internal/project/readJsoncFile.js.map +1 -0
  571. package/lib/compiler/internal/project/readProjectConfig.d.ts +29 -2
  572. package/lib/compiler/internal/project/readProjectConfig.js +105 -168
  573. package/lib/compiler/internal/project/readProjectConfig.js.map +1 -1
  574. package/lib/compiler/internal/project/resolveOwningProjectConfig.d.ts +65 -0
  575. package/lib/compiler/internal/project/resolveOwningProjectConfig.js +248 -0
  576. package/lib/compiler/internal/project/resolveOwningProjectConfig.js.map +1 -0
  577. package/lib/compiler/internal/project/resolveProjectConfig.d.ts +17 -14
  578. package/lib/compiler/internal/project/resolveProjectConfig.js +19 -122
  579. package/lib/compiler/internal/project/resolveProjectConfig.js.map +1 -1
  580. package/lib/compiler/internal/project/resolveProjectIdentity.d.ts +32 -0
  581. package/lib/compiler/internal/project/resolveProjectIdentity.js +144 -0
  582. package/lib/compiler/internal/project/resolveProjectIdentity.js.map +1 -0
  583. package/lib/compiler/internal/project/resolveTsconfigExtends.d.ts +38 -0
  584. package/lib/compiler/internal/project/resolveTsconfigExtends.js +163 -0
  585. package/lib/compiler/internal/project/resolveTsconfigExtends.js.map +1 -0
  586. package/lib/compiler/internal/project/selectReferencedProject.d.ts +26 -0
  587. package/lib/compiler/internal/project/selectReferencedProject.js +48 -0
  588. package/lib/compiler/internal/project/selectReferencedProject.js.map +1 -0
  589. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.d.ts +34 -0
  590. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.js +55 -0
  591. package/lib/compiler/internal/project/tsconfigExtendsFileCandidates.js.map +1 -0
  592. package/lib/compiler/internal/readEffectiveCompilerOptions.d.ts +54 -0
  593. package/lib/compiler/internal/readEffectiveCompilerOptions.js +116 -0
  594. package/lib/compiler/internal/readEffectiveCompilerOptions.js.map +1 -0
  595. package/lib/compiler/internal/resolveBinary.d.ts +17 -1
  596. package/lib/compiler/internal/resolveBinary.js +24 -9
  597. package/lib/compiler/internal/resolveBinary.js.map +1 -1
  598. package/lib/compiler/internal/resolveTsgo.d.ts +22 -7
  599. package/lib/compiler/internal/resolveTsgo.js +25 -9
  600. package/lib/compiler/internal/resolveTsgo.js.map +1 -1
  601. package/lib/compiler/internal/runNativeCheckWithObservations.d.ts +41 -0
  602. package/lib/compiler/internal/runNativeCheckWithObservations.js +185 -0
  603. package/lib/compiler/internal/runNativeCheckWithObservations.js.map +1 -0
  604. package/lib/compiler/internal/runSingleFileEmit.d.ts +26 -5
  605. package/lib/compiler/internal/runSingleFileEmit.js +82 -27
  606. package/lib/compiler/internal/runSingleFileEmit.js.map +1 -1
  607. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.d.ts +2 -0
  608. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.js +6 -0
  609. package/lib/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.js.map +1 -0
  610. package/lib/compiler/internal/sharedHost/SidecarEnvironment.d.ts +90 -0
  611. package/lib/compiler/internal/sharedHost/SidecarEnvironment.js +153 -0
  612. package/lib/compiler/internal/sharedHost/SidecarEnvironment.js.map +1 -0
  613. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.d.ts +7 -0
  614. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.js +11 -0
  615. package/lib/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.js.map +1 -0
  616. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.d.ts +7 -0
  617. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.js +11 -0
  618. package/lib/compiler/internal/sharedHost/TSGO_ARGS_ENV.js.map +1 -0
  619. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.d.ts +24 -0
  620. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.js +46 -0
  621. package/lib/compiler/internal/sharedHost/assertSharedHostCompatibility.js.map +1 -0
  622. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.d.ts +15 -0
  623. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.js +23 -0
  624. package/lib/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.js.map +1 -0
  625. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.d.ts +23 -0
  626. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.js +33 -0
  627. package/lib/compiler/internal/sharedHost/clearInheritedTsgoArgs.js.map +1 -0
  628. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.d.ts +27 -0
  629. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.js +41 -0
  630. package/lib/compiler/internal/sharedHost/inheritedSidecarEnv.js.map +1 -0
  631. package/lib/compiler/internal/sharedHost/isLinkedTransform.d.ts +16 -0
  632. package/lib/compiler/internal/sharedHost/isLinkedTransform.js +21 -0
  633. package/lib/compiler/internal/sharedHost/isLinkedTransform.js.map +1 -0
  634. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.d.ts +19 -0
  635. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.js +25 -0
  636. package/lib/compiler/internal/sharedHost/linkedTransformPlugins.js.map +1 -0
  637. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.d.ts +25 -0
  638. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.js +35 -0
  639. package/lib/compiler/internal/sharedHost/publishLinkedTransformPlugins.js.map +1 -0
  640. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.d.ts +26 -0
  641. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.js +36 -0
  642. package/lib/compiler/internal/sharedHost/resolvePluginConfigDir.js.map +1 -0
  643. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.d.ts +22 -0
  644. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.js +32 -0
  645. package/lib/compiler/internal/sharedHost/selectSharedHostPlugin.js.map +1 -0
  646. package/lib/compiler/internal/spawnNative.d.ts +15 -16
  647. package/lib/compiler/internal/spawnNative.js +20 -48
  648. package/lib/compiler/internal/spawnNative.js.map +1 -1
  649. package/lib/compiler/internal/startResidentTransform.d.ts +26 -17
  650. package/lib/compiler/internal/startResidentTransform.js +51 -36
  651. package/lib/compiler/internal/startResidentTransform.js.map +1 -1
  652. package/lib/compiler/internal/transformProjectInMemory.d.ts +42 -5
  653. package/lib/compiler/internal/transformProjectInMemory.js +197 -471
  654. package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
  655. package/lib/compiler/internal/transformProjectInWorker.d.ts +49 -0
  656. package/lib/compiler/internal/transformProjectInWorker.js +168 -0
  657. package/lib/compiler/internal/transformProjectInWorker.js.map +1 -0
  658. package/lib/compiler/internal/transformProjectWorker.js +37 -0
  659. package/lib/compiler/internal/transformProjectWorker.js.map +1 -0
  660. package/lib/flags/AnySubcommand.d.ts +18 -0
  661. package/lib/flags/AnySubcommand.js +3 -0
  662. package/lib/flags/AnySubcommand.js.map +1 -0
  663. package/lib/flags/COMPILER_ENUM_WHITESPACE.d.ts +2 -0
  664. package/lib/flags/COMPILER_ENUM_WHITESPACE.js +38 -0
  665. package/lib/flags/COMPILER_ENUM_WHITESPACE.js.map +1 -0
  666. package/lib/flags/COMPILER_OPTIONS.d.ts +6 -0
  667. package/lib/flags/COMPILER_OPTIONS.js +509 -0
  668. package/lib/flags/COMPILER_OPTIONS.js.map +1 -0
  669. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.d.ts +2 -0
  670. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js +13 -0
  671. package/lib/flags/COMPILER_OPTION_ASCII_FOLDS.js.map +1 -0
  672. package/lib/flags/COMPILER_OPTION_KINDS.d.ts +2 -0
  673. package/lib/flags/COMPILER_OPTION_KINDS.js +14 -0
  674. package/lib/flags/COMPILER_OPTION_KINDS.js.map +1 -0
  675. package/lib/flags/CompilerOptionSpec.d.ts +27 -0
  676. package/lib/flags/CompilerOptionSpec.js +3 -0
  677. package/lib/flags/CompilerOptionSpec.js.map +1 -0
  678. package/lib/flags/FLAG_BY_TOKEN.d.ts +8 -0
  679. package/lib/flags/FLAG_BY_TOKEN.js +34 -0
  680. package/lib/flags/FLAG_BY_TOKEN.js.map +1 -0
  681. package/lib/flags/FLAG_SCHEMA.d.ts +35 -0
  682. package/lib/flags/{schema.js → FLAG_SCHEMA.js} +47 -153
  683. package/lib/flags/FLAG_SCHEMA.js.map +1 -0
  684. package/lib/flags/FlagKind.d.ts +22 -0
  685. package/lib/flags/FlagKind.js +3 -0
  686. package/lib/flags/FlagKind.js.map +1 -0
  687. package/lib/flags/FlagLayer.d.ts +19 -0
  688. package/lib/flags/FlagLayer.js +3 -0
  689. package/lib/flags/FlagLayer.js.map +1 -0
  690. package/lib/flags/FlagSpec.d.ts +104 -0
  691. package/lib/flags/FlagSpec.js +3 -0
  692. package/lib/flags/FlagSpec.js.map +1 -0
  693. package/lib/flags/ParseOptions.d.ts +92 -0
  694. package/lib/flags/ParseOptions.js +3 -0
  695. package/lib/flags/ParseOptions.js.map +1 -0
  696. package/lib/flags/ParseResult.d.ts +37 -0
  697. package/lib/flags/ParseResult.js +3 -0
  698. package/lib/flags/ParseResult.js.map +1 -0
  699. package/lib/flags/TtscSubcommand.d.ts +14 -0
  700. package/lib/flags/TtscSubcommand.js +3 -0
  701. package/lib/flags/TtscSubcommand.js.map +1 -0
  702. package/lib/flags/TtsxSubcommand.d.ts +13 -0
  703. package/lib/flags/TtsxSubcommand.js +3 -0
  704. package/lib/flags/TtsxSubcommand.js.map +1 -0
  705. package/lib/flags/ValueValidator.d.ts +14 -0
  706. package/lib/flags/ValueValidator.js +3 -0
  707. package/lib/flags/ValueValidator.js.map +1 -0
  708. package/lib/flags/buildGoAllowList.d.ts +18 -0
  709. package/lib/flags/buildGoAllowList.js +45 -0
  710. package/lib/flags/buildGoAllowList.js.map +1 -0
  711. package/lib/flags/flagsForSubcommand.d.ts +18 -0
  712. package/lib/flags/flagsForSubcommand.js +23 -0
  713. package/lib/flags/flagsForSubcommand.js.map +1 -0
  714. package/lib/flags/getBoolean.d.ts +19 -0
  715. package/lib/flags/getBoolean.js +27 -0
  716. package/lib/flags/getBoolean.js.map +1 -0
  717. package/lib/flags/getNumber.d.ts +16 -0
  718. package/lib/flags/getNumber.js +24 -0
  719. package/lib/flags/getNumber.js.map +1 -0
  720. package/lib/flags/getString.d.ts +16 -0
  721. package/lib/flags/getString.js +24 -0
  722. package/lib/flags/getString.js.map +1 -0
  723. package/lib/flags/getStringList.d.ts +19 -0
  724. package/lib/flags/getStringList.js +24 -0
  725. package/lib/flags/getStringList.js.map +1 -0
  726. package/lib/flags/normalizeCompilerEnumValue.d.ts +20 -0
  727. package/lib/flags/normalizeCompilerEnumValue.js +40 -0
  728. package/lib/flags/normalizeCompilerEnumValue.js.map +1 -0
  729. package/lib/flags/normalizeFlagToken.d.ts +28 -0
  730. package/lib/flags/normalizeFlagToken.js +38 -0
  731. package/lib/flags/normalizeFlagToken.js.map +1 -0
  732. package/lib/flags/parseFlags.d.ts +18 -0
  733. package/lib/flags/parseFlags.js +288 -0
  734. package/lib/flags/parseFlags.js.map +1 -0
  735. package/lib/flags/readCompilerOptionOccurrence.d.ts +34 -0
  736. package/lib/flags/readCompilerOptionOccurrence.js +81 -0
  737. package/lib/flags/readCompilerOptionOccurrence.js.map +1 -0
  738. package/lib/flags/readCompilerOptionValues.d.ts +33 -0
  739. package/lib/flags/readCompilerOptionValues.js +58 -0
  740. package/lib/flags/readCompilerOptionValues.js.map +1 -0
  741. package/lib/flags/resolveFlagSpec.d.ts +21 -0
  742. package/lib/flags/resolveFlagSpec.js +32 -0
  743. package/lib/flags/resolveFlagSpec.js.map +1 -0
  744. package/lib/index.d.ts +8 -3
  745. package/lib/index.js +10 -3
  746. package/lib/index.js.map +1 -1
  747. package/lib/internal/CanonicalTempDirectoryOperations.d.ts +73 -0
  748. package/lib/internal/CanonicalTempDirectoryOperations.js +3 -0
  749. package/lib/internal/CanonicalTempDirectoryOperations.js.map +1 -0
  750. package/lib/internal/CompilerContextSnapshot.d.ts +66 -0
  751. package/lib/internal/CompilerContextSnapshot.js +121 -0
  752. package/lib/internal/CompilerContextSnapshot.js.map +1 -0
  753. package/lib/internal/CompilerResultAdapter.d.ts +129 -0
  754. package/lib/internal/CompilerResultAdapter.js +247 -0
  755. package/lib/internal/CompilerResultAdapter.js.map +1 -0
  756. package/lib/internal/E2ETrace.d.ts +219 -0
  757. package/lib/internal/E2ETrace.js +541 -0
  758. package/lib/internal/E2ETrace.js.map +1 -0
  759. package/lib/internal/IJavaScriptRuntimeCapabilities.d.ts +48 -0
  760. package/lib/internal/IJavaScriptRuntimeCapabilities.js +3 -0
  761. package/lib/internal/IJavaScriptRuntimeCapabilities.js.map +1 -0
  762. package/lib/internal/OwnedNativeProcess.d.ts +66 -0
  763. package/lib/internal/OwnedNativeProcess.js +317 -0
  764. package/lib/internal/OwnedNativeProcess.js.map +1 -0
  765. package/lib/internal/OwnedSynchronousProcess.d.ts +158 -0
  766. package/lib/internal/OwnedSynchronousProcess.js +171 -0
  767. package/lib/internal/OwnedSynchronousProcess.js.map +1 -0
  768. package/lib/internal/RetireLockDirectoryOperations.d.ts +77 -0
  769. package/lib/internal/RetireLockDirectoryOperations.js +3 -0
  770. package/lib/internal/RetireLockDirectoryOperations.js.map +1 -0
  771. package/lib/internal/SafeCacheCleanupTarget.d.ts +39 -0
  772. package/lib/internal/SafeCacheCleanupTarget.js +3 -0
  773. package/lib/internal/SafeCacheCleanupTarget.js.map +1 -0
  774. package/lib/internal/SourceNativeRetirement.d.ts +384 -0
  775. package/lib/internal/SourceNativeRetirement.js +892 -0
  776. package/lib/internal/SourceNativeRetirement.js.map +1 -0
  777. package/lib/internal/SpawnSyncOutputFiles.d.ts +28 -0
  778. package/lib/internal/SpawnSyncOutputFiles.js +3 -0
  779. package/lib/internal/SpawnSyncOutputFiles.js.map +1 -0
  780. package/lib/internal/cacheEntryExists.d.ts +13 -0
  781. package/lib/internal/cacheEntryExists.js +32 -0
  782. package/lib/internal/cacheEntryExists.js.map +1 -0
  783. package/lib/internal/createCanonicalTempDirectory.d.ts +23 -13
  784. package/lib/internal/createCanonicalTempDirectory.js +31 -12
  785. package/lib/internal/createCanonicalTempDirectory.js.map +1 -1
  786. package/lib/internal/isContendedCandidateRename.d.ts +27 -0
  787. package/lib/internal/isContendedCandidateRename.js +37 -0
  788. package/lib/internal/isContendedCandidateRename.js.map +1 -0
  789. package/lib/internal/isSpawnSyncFdExhaustion.d.ts +16 -0
  790. package/lib/internal/isSpawnSyncFdExhaustion.js +23 -0
  791. package/lib/internal/isSpawnSyncFdExhaustion.js.map +1 -0
  792. package/lib/internal/javascriptRuntimeCapabilities.d.ts +20 -0
  793. package/lib/internal/javascriptRuntimeCapabilities.js +142 -0
  794. package/lib/internal/javascriptRuntimeCapabilities.js.map +1 -0
  795. package/lib/internal/nativeBinary.d.ts +11 -0
  796. package/lib/internal/nativeBinary.js +16 -0
  797. package/lib/internal/nativeBinary.js.map +1 -0
  798. package/lib/internal/parseWindowsDirectoryCaseSensitivity.d.ts +24 -0
  799. package/lib/internal/parseWindowsDirectoryCaseSensitivity.js +47 -0
  800. package/lib/internal/parseWindowsDirectoryCaseSensitivity.js.map +1 -0
  801. package/lib/internal/pathIdentity/FilesystemPathIdentity.d.ts +43 -0
  802. package/lib/internal/pathIdentity/FilesystemPathIdentity.js +3 -0
  803. package/lib/internal/pathIdentity/FilesystemPathIdentity.js.map +1 -0
  804. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.d.ts +176 -0
  805. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.js +3 -0
  806. package/lib/internal/pathIdentity/FilesystemPathIdentityContext.js.map +1 -0
  807. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.d.ts +100 -0
  808. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.js +3 -0
  809. package/lib/internal/pathIdentity/FilesystemPathIdentityOperations.js.map +1 -0
  810. package/lib/internal/pathIdentity/ProjectInputPathIdentity.d.ts +20 -0
  811. package/lib/internal/pathIdentity/ProjectInputPathIdentity.js +3 -0
  812. package/lib/internal/pathIdentity/ProjectInputPathIdentity.js.map +1 -0
  813. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.d.ts +20 -0
  814. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.js +3 -0
  815. package/lib/internal/pathIdentity/ProjectInputPathIdentityContext.js.map +1 -0
  816. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.d.ts +20 -0
  817. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.js +3 -0
  818. package/lib/internal/pathIdentity/ProjectInputPathIdentityOperations.js.map +1 -0
  819. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.d.ts +25 -0
  820. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.js +336 -0
  821. package/lib/internal/pathIdentity/createFilesystemPathIdentityContext.js.map +1 -0
  822. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.d.ts +28 -0
  823. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.js +33 -0
  824. package/lib/internal/pathIdentity/createProjectInputPathIdentityContext.js.map +1 -0
  825. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.d.ts +20 -0
  826. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.js +33 -0
  827. package/lib/internal/pathIdentity/isFilesystemPathIdentityWithin.js.map +1 -0
  828. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.d.ts +15 -0
  829. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.js +22 -0
  830. package/lib/internal/pathIdentity/isProjectInputPathIdentityWithin.js.map +1 -0
  831. package/lib/internal/pathIdentity/resolveFilesystemPath.d.ts +22 -0
  832. package/lib/internal/pathIdentity/resolveFilesystemPath.js +44 -0
  833. package/lib/internal/pathIdentity/resolveFilesystemPath.js.map +1 -0
  834. package/lib/internal/pathIdentity/resolvePhysicalPath.d.ts +21 -0
  835. package/lib/internal/pathIdentity/resolvePhysicalPath.js +35 -0
  836. package/lib/internal/pathIdentity/resolvePhysicalPath.js.map +1 -0
  837. package/lib/internal/pathIdentity/resolveProjectInputPath.d.ts +14 -0
  838. package/lib/internal/pathIdentity/resolveProjectInputPath.js +21 -0
  839. package/lib/internal/pathIdentity/resolveProjectInputPath.js.map +1 -0
  840. package/lib/internal/pluginSource.d.ts +26 -0
  841. package/lib/internal/pluginSource.js +43 -0
  842. package/lib/internal/pluginSource.js.map +1 -0
  843. package/lib/internal/projectInputPathIdentity.d.ts +27 -31
  844. package/lib/internal/projectInputPathIdentity.js +37 -275
  845. package/lib/internal/projectInputPathIdentity.js.map +1 -1
  846. package/lib/internal/resolveNodeBinary.d.ts +9 -7
  847. package/lib/internal/resolveNodeBinary.js +14 -120
  848. package/lib/internal/resolveNodeBinary.js.map +1 -1
  849. package/lib/internal/resolveSafeCacheCleanupTargets.d.ts +27 -8
  850. package/lib/internal/resolveSafeCacheCleanupTargets.js +44 -11
  851. package/lib/internal/resolveSafeCacheCleanupTargets.js.map +1 -1
  852. package/lib/internal/restoreCompilerError.d.ts +21 -0
  853. package/lib/internal/restoreCompilerError.js +164 -0
  854. package/lib/internal/restoreCompilerError.js.map +1 -0
  855. package/lib/internal/retireLockDirectory.d.ts +45 -0
  856. package/lib/internal/retireLockDirectory.js +152 -0
  857. package/lib/internal/retireLockDirectory.js.map +1 -0
  858. package/lib/internal/runHoldingLock.d.ts +30 -0
  859. package/lib/internal/runHoldingLock.js +53 -0
  860. package/lib/internal/runHoldingLock.js.map +1 -0
  861. package/lib/internal/runtimeExecutableIdentity.d.ts +20 -0
  862. package/lib/internal/runtimeExecutableIdentity.js +171 -0
  863. package/lib/internal/runtimeExecutableIdentity.js.map +1 -0
  864. package/lib/internal/serializeCompilerError.d.ts +28 -0
  865. package/lib/internal/serializeCompilerError.js +138 -0
  866. package/lib/internal/serializeCompilerError.js.map +1 -0
  867. package/lib/internal/spawnSyncResilient.d.ts +31 -0
  868. package/lib/internal/spawnSyncResilient.js +50 -0
  869. package/lib/internal/spawnSyncResilient.js.map +1 -0
  870. package/lib/internal/spawnSyncWithLowDescriptors.d.ts +30 -0
  871. package/lib/internal/spawnSyncWithLowDescriptors.js +194 -0
  872. package/lib/internal/spawnSyncWithLowDescriptors.js.map +1 -0
  873. package/lib/internal/tsconfig.d.ts +16 -0
  874. package/lib/internal/tsconfig.js +33 -0
  875. package/lib/internal/tsconfig.js.map +1 -0
  876. package/lib/launcher/internal/PendingResidentCheckWatchChanges.d.ts +56 -0
  877. package/lib/launcher/internal/PendingResidentCheckWatchChanges.js +97 -0
  878. package/lib/launcher/internal/PendingResidentCheckWatchChanges.js.map +1 -0
  879. package/lib/launcher/internal/TtscBuildMode.d.ts +14 -0
  880. package/lib/launcher/internal/TtscBuildMode.js +3 -0
  881. package/lib/launcher/internal/TtscBuildMode.js.map +1 -0
  882. package/lib/launcher/internal/TtsxEntryOptions.d.ts +50 -0
  883. package/lib/launcher/internal/TtsxEntryOptions.js +94 -0
  884. package/lib/launcher/internal/TtsxEntryOptions.js.map +1 -0
  885. package/lib/launcher/internal/assertNoSolutionBuild.d.ts +17 -10
  886. package/lib/launcher/internal/assertNoSolutionBuild.js +16 -9
  887. package/lib/launcher/internal/assertNoSolutionBuild.js.map +1 -1
  888. package/lib/launcher/internal/assertTtsxNoWatch.d.ts +25 -0
  889. package/lib/launcher/internal/assertTtsxNoWatch.js +46 -0
  890. package/lib/launcher/internal/assertTtsxNoWatch.js.map +1 -0
  891. package/lib/launcher/internal/buildSingleRootProject.d.ts +108 -0
  892. package/lib/launcher/internal/buildSingleRootProject.js +229 -0
  893. package/lib/launcher/internal/buildSingleRootProject.js.map +1 -0
  894. package/lib/launcher/internal/getCompilerVersionText.d.ts +14 -1
  895. package/lib/launcher/internal/getCompilerVersionText.js +21 -6
  896. package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
  897. package/lib/launcher/internal/inlineServedSourceMap.d.ts +35 -0
  898. package/lib/launcher/internal/inlineServedSourceMap.js +255 -0
  899. package/lib/launcher/internal/inlineServedSourceMap.js.map +1 -0
  900. package/lib/launcher/internal/linkVirtualEntry.d.ts +31 -0
  901. package/lib/launcher/internal/linkVirtualEntry.js +87 -0
  902. package/lib/launcher/internal/linkVirtualEntry.js.map +1 -0
  903. package/lib/launcher/internal/parseCommonJsExports.d.ts +17 -0
  904. package/lib/launcher/internal/{commonJsExportMetadata.js → parseCommonJsExports.js} +13 -3
  905. package/lib/launcher/internal/parseCommonJsExports.js.map +1 -0
  906. package/lib/launcher/internal/parseTtscBuildArgs.d.ts +34 -0
  907. package/lib/launcher/internal/parseTtscBuildArgs.js +97 -0
  908. package/lib/launcher/internal/parseTtscBuildArgs.js.map +1 -0
  909. package/lib/launcher/internal/parseTtsxCLI.d.ts +35 -0
  910. package/lib/launcher/internal/parseTtsxCLI.js +187 -0
  911. package/lib/launcher/internal/parseTtsxCLI.js.map +1 -0
  912. package/lib/launcher/internal/prepareExecution.d.ts +49 -5
  913. package/lib/launcher/internal/prepareExecution.js +360 -324
  914. package/lib/launcher/internal/prepareExecution.js.map +1 -1
  915. package/lib/launcher/internal/prepareTtscBuildMode.d.ts +23 -0
  916. package/lib/launcher/internal/prepareTtscBuildMode.js +58 -0
  917. package/lib/launcher/internal/prepareTtscBuildMode.js.map +1 -0
  918. package/lib/launcher/internal/resolveCacheDir.d.ts +12 -3
  919. package/lib/launcher/internal/resolveCacheDir.js +12 -3
  920. package/lib/launcher/internal/resolveCacheDir.js.map +1 -1
  921. package/lib/launcher/internal/resolveSingleFileOutput.d.ts +35 -0
  922. package/lib/launcher/internal/resolveSingleFileOutput.js +115 -0
  923. package/lib/launcher/internal/resolveSingleFileOutput.js.map +1 -0
  924. package/lib/launcher/internal/resolveTtscserverBinary.d.ts +15 -3
  925. package/lib/launcher/internal/resolveTtscserverBinary.js +19 -5
  926. package/lib/launcher/internal/resolveTtscserverBinary.js.map +1 -1
  927. package/lib/launcher/internal/runTtsc.d.ts +23 -23
  928. package/lib/launcher/internal/runTtsc.js +336 -286
  929. package/lib/launcher/internal/runTtsc.js.map +1 -1
  930. package/lib/launcher/internal/runTtsx.d.ts +32 -4
  931. package/lib/launcher/internal/runTtsx.js +286 -138
  932. package/lib/launcher/internal/runTtsx.js.map +1 -1
  933. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.d.ts +92 -0
  934. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.js +354 -0
  935. package/lib/launcher/internal/runtime/CommonJsRuntimeSource.js.map +1 -0
  936. package/lib/launcher/internal/runtime/DependencyBuildAdmission.d.ts +72 -0
  937. package/lib/launcher/internal/runtime/DependencyBuildAdmission.js +120 -0
  938. package/lib/launcher/internal/runtime/DependencyBuildAdmission.js.map +1 -0
  939. package/lib/launcher/internal/runtime/DependencyBuildGeneration.d.ts +185 -0
  940. package/lib/launcher/internal/runtime/DependencyBuildGeneration.js +153 -0
  941. package/lib/launcher/internal/runtime/DependencyBuildGeneration.js.map +1 -0
  942. package/lib/launcher/internal/runtime/DependencyBuildLockFence.d.ts +22 -0
  943. package/lib/launcher/internal/runtime/DependencyBuildLockFence.js +3 -0
  944. package/lib/launcher/internal/runtime/DependencyBuildLockFence.js.map +1 -0
  945. package/lib/launcher/internal/runtime/DependencyBuildLockLease.d.ts +22 -0
  946. package/lib/launcher/internal/runtime/DependencyBuildLockLease.js +3 -0
  947. package/lib/launcher/internal/runtime/DependencyBuildLockLease.js.map +1 -0
  948. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.d.ts +41 -0
  949. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.js +3 -0
  950. package/lib/launcher/internal/runtime/DependencyBuildLockObservation.js.map +1 -0
  951. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.d.ts +83 -0
  952. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.js +126 -0
  953. package/lib/launcher/internal/runtime/DependencyBuildLockProtocol.js.map +1 -0
  954. package/lib/launcher/internal/runtime/OwnedProjectSource.d.ts +112 -0
  955. package/lib/launcher/internal/runtime/OwnedProjectSource.js +59 -0
  956. package/lib/launcher/internal/runtime/OwnedProjectSource.js.map +1 -0
  957. package/lib/launcher/internal/runtime/OwningModuleOptions.d.ts +21 -0
  958. package/lib/launcher/internal/runtime/OwningModuleOptions.js +3 -0
  959. package/lib/launcher/internal/runtime/OwningModuleOptions.js.map +1 -0
  960. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.d.ts +89 -0
  961. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.js +115 -0
  962. package/lib/launcher/internal/runtime/PluginDescriptorInputObservation.js.map +1 -0
  963. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.d.ts +168 -0
  964. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.js +251 -0
  965. package/lib/launcher/internal/runtime/ProcessOwnedDirectory.js.map +1 -0
  966. package/lib/launcher/internal/runtime/ResolveResult.d.ts +24 -0
  967. package/lib/launcher/internal/runtime/ResolveResult.js +3 -0
  968. package/lib/launcher/internal/runtime/ResolveResult.js.map +1 -0
  969. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.d.ts +38 -0
  970. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.js +60 -0
  971. package/lib/launcher/internal/runtime/RuntimeEmitProvenance.js.map +1 -0
  972. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.d.ts +22 -0
  973. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.js +3 -0
  974. package/lib/launcher/internal/runtime/RuntimeEntryPreparer.js.map +1 -0
  975. package/lib/launcher/internal/runtime/RuntimeFilesystem.d.ts +52 -0
  976. package/lib/launcher/internal/runtime/RuntimeFilesystem.js +73 -0
  977. package/lib/launcher/internal/runtime/RuntimeFilesystem.js.map +1 -0
  978. package/lib/launcher/internal/runtime/RuntimeHookOptions.d.ts +22 -0
  979. package/lib/launcher/internal/runtime/RuntimeHookOptions.js +3 -0
  980. package/lib/launcher/internal/runtime/RuntimeHookOptions.js.map +1 -0
  981. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.d.ts +53 -0
  982. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.js +88 -0
  983. package/lib/launcher/internal/runtime/RuntimeIsolatedEmit.js.map +1 -0
  984. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.d.ts +78 -0
  985. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.js +256 -0
  986. package/lib/launcher/internal/runtime/RuntimeLoaderCapabilities.js.map +1 -0
  987. package/lib/launcher/internal/runtime/RuntimeManifest.d.ts +65 -0
  988. package/lib/launcher/internal/runtime/RuntimeManifest.js +3 -0
  989. package/lib/launcher/internal/runtime/RuntimeManifest.js.map +1 -0
  990. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.d.ts +95 -0
  991. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.js +268 -0
  992. package/lib/launcher/internal/runtime/RuntimeManifestRegistry.js.map +1 -0
  993. package/lib/launcher/internal/runtime/RuntimeModuleFormat.d.ts +60 -0
  994. package/lib/launcher/internal/runtime/RuntimeModuleFormat.js +249 -0
  995. package/lib/launcher/internal/runtime/RuntimeModuleFormat.js.map +1 -0
  996. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.d.ts +50 -0
  997. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.js +134 -0
  998. package/lib/launcher/internal/runtime/RuntimeProjectOwnership.js.map +1 -0
  999. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.d.ts +11 -0
  1000. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.js +15 -0
  1001. package/lib/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.js.map +1 -0
  1002. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.d.ts +22 -0
  1003. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.js +74 -0
  1004. package/lib/launcher/internal/runtime/acquireDependencyBuildLock.js.map +1 -0
  1005. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.d.ts +30 -0
  1006. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.js +83 -0
  1007. package/lib/launcher/internal/runtime/checkNodeRuntimeSupport.js.map +1 -0
  1008. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.d.ts +30 -0
  1009. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.js +52 -0
  1010. package/lib/launcher/internal/runtime/claimRuntimeProjectDirectory.js.map +1 -0
  1011. package/lib/launcher/internal/runtime/commonJsExportNames.d.ts +21 -0
  1012. package/lib/launcher/internal/runtime/commonJsExportNames.js +68 -0
  1013. package/lib/launcher/internal/runtime/commonJsExportNames.js.map +1 -0
  1014. package/lib/launcher/internal/runtime/commonJsImportFacade.d.ts +32 -0
  1015. package/lib/launcher/internal/runtime/commonJsImportFacade.js +56 -0
  1016. package/lib/launcher/internal/runtime/commonJsImportFacade.js.map +1 -0
  1017. package/lib/launcher/internal/runtime/dependencyCacheKey.d.ts +36 -0
  1018. package/lib/launcher/internal/runtime/dependencyCacheKey.js +57 -0
  1019. package/lib/launcher/internal/runtime/dependencyCacheKey.js.map +1 -0
  1020. package/lib/launcher/internal/runtime/dependencyCacheRoot.d.ts +32 -0
  1021. package/lib/launcher/internal/runtime/dependencyCacheRoot.js +98 -0
  1022. package/lib/launcher/internal/runtime/dependencyCacheRoot.js.map +1 -0
  1023. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.d.ts +23 -0
  1024. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.js +126 -0
  1025. package/lib/launcher/internal/runtime/inspectDependencyBuildLock.js.map +1 -0
  1026. package/lib/launcher/internal/runtime/installRuntimeHooks.d.ts +58 -0
  1027. package/lib/launcher/internal/runtime/installRuntimeHooks.js +1988 -0
  1028. package/lib/launcher/internal/runtime/installRuntimeHooks.js.map +1 -0
  1029. package/lib/launcher/internal/runtime/interopProbe.d.ts +8 -0
  1030. package/lib/launcher/internal/runtime/interopProbe.js +3 -0
  1031. package/lib/launcher/internal/runtime/interopProbe.js.map +1 -0
  1032. package/lib/launcher/internal/runtime/isLocalProcessGone.d.ts +33 -0
  1033. package/lib/launcher/internal/runtime/isLocalProcessGone.js +60 -0
  1034. package/lib/launcher/internal/runtime/isLocalProcessGone.js.map +1 -0
  1035. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.d.ts +28 -0
  1036. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.js +50 -0
  1037. package/lib/launcher/internal/runtime/observeMappedDescriptorResolution.js.map +1 -0
  1038. package/lib/launcher/internal/runtime/projectModuleOptions.d.ts +16 -0
  1039. package/lib/launcher/internal/runtime/projectModuleOptions.js +28 -0
  1040. package/lib/launcher/internal/runtime/projectModuleOptions.js.map +1 -0
  1041. package/lib/launcher/internal/runtime/readDependencyCache.d.ts +28 -0
  1042. package/lib/launcher/internal/runtime/readDependencyCache.js +83 -0
  1043. package/lib/launcher/internal/runtime/readDependencyCache.js.map +1 -0
  1044. package/lib/launcher/internal/runtime/realPath.d.ts +22 -0
  1045. package/lib/launcher/internal/runtime/realPath.js +37 -0
  1046. package/lib/launcher/internal/runtime/realPath.js.map +1 -0
  1047. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.d.ts +17 -0
  1048. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.js +23 -0
  1049. package/lib/launcher/internal/runtime/reclaimDependencyBuildLock.js.map +1 -0
  1050. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.d.ts +17 -0
  1051. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.js +23 -0
  1052. package/lib/launcher/internal/runtime/releaseDependencyBuildLock.js.map +1 -0
  1053. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.d.ts +34 -0
  1054. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.js +88 -0
  1055. package/lib/launcher/internal/runtime/resolveRuntimeCleanTargets.js.map +1 -0
  1056. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.d.ts +20 -0
  1057. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.js +30 -0
  1058. package/lib/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.js.map +1 -0
  1059. package/lib/launcher/internal/runtime/runtimeRunKey.d.ts +24 -0
  1060. package/lib/launcher/internal/runtime/runtimeRunKey.js +36 -0
  1061. package/lib/launcher/internal/runtime/runtimeRunKey.js.map +1 -0
  1062. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.d.ts +21 -0
  1063. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.js +29 -0
  1064. package/lib/launcher/internal/runtime/selectRuntimePluginPolicy.js.map +1 -0
  1065. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.d.ts +35 -0
  1066. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.js +76 -0
  1067. package/lib/launcher/internal/runtime/withRuntimeDirectoryLock.js.map +1 -0
  1068. package/lib/launcher/internal/runtimeCompilerArgs.d.ts +35 -6
  1069. package/lib/launcher/internal/runtimeCompilerArgs.js +87 -58
  1070. package/lib/launcher/internal/runtimeCompilerArgs.js.map +1 -1
  1071. package/lib/launcher/internal/runtimeEmitProfile.d.ts +39 -0
  1072. package/lib/launcher/internal/runtimeEmitProfile.js +56 -0
  1073. package/lib/launcher/internal/runtimeEmitProfile.js.map +1 -0
  1074. package/lib/launcher/internal/runtimeHookPreload.js +4 -4
  1075. package/lib/launcher/internal/runtimeHookPreload.js.map +1 -1
  1076. package/lib/launcher/internal/runtimeOwnerPreload.d.ts +1 -0
  1077. package/lib/launcher/internal/runtimeOwnerPreload.js +43 -0
  1078. package/lib/launcher/internal/runtimeOwnerPreload.js.map +1 -0
  1079. package/lib/launcher/internal/singleRootProjectConfig.d.ts +34 -0
  1080. package/lib/launcher/internal/singleRootProjectConfig.js +39 -0
  1081. package/lib/launcher/internal/singleRootProjectConfig.js.map +1 -0
  1082. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.d.ts +61 -0
  1083. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.js +3 -0
  1084. package/lib/launcher/internal/ttscserver/ILSPPluginSelectionInputs.js.map +1 -0
  1085. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.d.ts +95 -0
  1086. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.js +270 -0
  1087. package/lib/launcher/internal/ttscserver/LSPProjectInputDigest.js.map +1 -0
  1088. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.d.ts +46 -0
  1089. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js +91 -0
  1090. package/lib/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.js.map +1 -0
  1091. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.d.ts +21 -0
  1092. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.js +39 -0
  1093. package/lib/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.js.map +1 -0
  1094. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.d.ts +18 -0
  1095. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.js +27 -0
  1096. package/lib/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.js.map +1 -0
  1097. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.d.ts +26 -0
  1098. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.js +62 -0
  1099. package/lib/launcher/internal/ttscserver/materializeLSPPluginManifest.js.map +1 -0
  1100. package/lib/launcher/internal/ttscserver/needsStdio.d.ts +17 -0
  1101. package/lib/launcher/internal/ttscserver/needsStdio.js +36 -0
  1102. package/lib/launcher/internal/ttscserver/needsStdio.js.map +1 -0
  1103. package/lib/launcher/internal/ttscserver/runTtscserver.d.ts +25 -0
  1104. package/lib/launcher/internal/ttscserver/runTtscserver.js +439 -0
  1105. package/lib/launcher/internal/ttscserver/runTtscserver.js.map +1 -0
  1106. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.d.ts +29 -0
  1107. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.js +3 -0
  1108. package/lib/launcher/internal/watch/CompilerDirectoryWatchEventPlan.js.map +1 -0
  1109. package/lib/launcher/internal/watch/DirectoryWatcher.d.ts +44 -0
  1110. package/lib/launcher/internal/watch/DirectoryWatcher.js +3 -0
  1111. package/lib/launcher/internal/watch/DirectoryWatcher.js.map +1 -0
  1112. package/lib/launcher/internal/watch/FseventsStreams.d.ts +87 -0
  1113. package/lib/launcher/internal/watch/FseventsStreams.js +266 -0
  1114. package/lib/launcher/internal/watch/FseventsStreams.js.map +1 -0
  1115. package/lib/launcher/internal/watch/ProjectInputWatchRules.d.ts +92 -0
  1116. package/lib/launcher/internal/watch/ProjectInputWatchRules.js +163 -0
  1117. package/lib/launcher/internal/watch/ProjectInputWatchRules.js.map +1 -0
  1118. package/lib/launcher/internal/watch/WatchInputChange.d.ts +29 -0
  1119. package/lib/launcher/internal/watch/WatchInputChange.js +3 -0
  1120. package/lib/launcher/internal/watch/WatchInputChange.js.map +1 -0
  1121. package/lib/launcher/internal/watch/WatchPaths.d.ts +101 -0
  1122. package/lib/launcher/internal/watch/WatchPaths.js +150 -0
  1123. package/lib/launcher/internal/watch/WatchPaths.js.map +1 -0
  1124. package/lib/launcher/internal/watch/WatchTopology.d.ts +384 -0
  1125. package/lib/launcher/internal/{watchTopology.js → watch/WatchTopology.js} +726 -799
  1126. package/lib/launcher/internal/watch/WatchTopology.js.map +1 -0
  1127. package/lib/launcher/internal/watch/literalGlobRoot.d.ts +22 -0
  1128. package/lib/launcher/internal/watch/literalGlobRoot.js +45 -0
  1129. package/lib/launcher/internal/watch/literalGlobRoot.js.map +1 -0
  1130. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.d.ts +40 -0
  1131. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.js +69 -0
  1132. package/lib/launcher/internal/watch/planCompilerDirectoryWatchEvent.js.map +1 -0
  1133. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.d.ts +19 -0
  1134. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.js +52 -0
  1135. package/lib/launcher/internal/watch/projectInputActiveWatchDirectories.js.map +1 -0
  1136. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.d.ts +21 -0
  1137. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.js +55 -0
  1138. package/lib/launcher/internal/watch/projectInputAvailableWatchDirectory.js.map +1 -0
  1139. package/lib/launcher/internal/watch/projectInputEventShouldNotify.d.ts +21 -0
  1140. package/lib/launcher/internal/watch/projectInputEventShouldNotify.js +23 -0
  1141. package/lib/launcher/internal/watch/projectInputEventShouldNotify.js.map +1 -0
  1142. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.d.ts +27 -0
  1143. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.js +54 -0
  1144. package/lib/launcher/internal/watch/projectInputMembershipInvalidatesProgram.js.map +1 -0
  1145. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.d.ts +26 -0
  1146. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.js +100 -0
  1147. package/lib/launcher/internal/watch/projectInputReloadEventShouldNotify.js.map +1 -0
  1148. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.d.ts +37 -0
  1149. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.js +54 -0
  1150. package/lib/launcher/internal/watch/projectInputReplacementStrandsWatchers.js.map +1 -0
  1151. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.d.ts +23 -0
  1152. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.js +67 -0
  1153. package/lib/launcher/internal/watch/projectInputTopologyMayAffect.js.map +1 -0
  1154. package/lib/launcher/internal/watch/projectInputWatchDirectories.d.ts +22 -0
  1155. package/lib/launcher/internal/watch/projectInputWatchDirectories.js +30 -0
  1156. package/lib/launcher/internal/watch/projectInputWatchDirectories.js.map +1 -0
  1157. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.d.ts +22 -0
  1158. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.js +45 -0
  1159. package/lib/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.js.map +1 -0
  1160. package/lib/launcher/internal/watch/syncWatchers.d.ts +25 -0
  1161. package/lib/launcher/internal/watch/syncWatchers.js +61 -0
  1162. package/lib/launcher/internal/watch/syncWatchers.js.map +1 -0
  1163. package/lib/launcher/internal/watch/watchDirectory.d.ts +28 -0
  1164. package/lib/launcher/internal/watch/watchDirectory.js +46 -0
  1165. package/lib/launcher/internal/watch/watchDirectory.js.map +1 -0
  1166. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.d.ts +28 -0
  1167. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.js +38 -0
  1168. package/lib/launcher/internal/watch/watchDirectoryThroughFsWatch.js.map +1 -0
  1169. package/lib/launcher/ttscserver.js +1 -1
  1170. package/lib/launcher/ttscserver.js.map +1 -1
  1171. package/lib/launcher/ttsx.js +2 -3
  1172. package/lib/launcher/ttsx.js.map +1 -1
  1173. package/lib/plugin/CapabilityPluginResolver.d.ts +140 -0
  1174. package/lib/plugin/CapabilityPluginResolver.js +400 -0
  1175. package/lib/plugin/CapabilityPluginResolver.js.map +1 -0
  1176. package/lib/plugin/ITtscCapabilityPlugin.d.ts +87 -0
  1177. package/lib/plugin/ITtscCapabilityPlugin.js +3 -0
  1178. package/lib/plugin/ITtscCapabilityPlugin.js.map +1 -0
  1179. package/lib/plugin/internal/CapabilityPluginResult.d.ts +66 -0
  1180. package/lib/plugin/internal/CapabilityPluginResult.js +86 -0
  1181. package/lib/plugin/internal/CapabilityPluginResult.js.map +1 -0
  1182. package/lib/plugin/internal/CapabilityResolutionFormat.d.ts +114 -0
  1183. package/lib/plugin/internal/CapabilityResolutionFormat.js +229 -0
  1184. package/lib/plugin/internal/CapabilityResolutionFormat.js.map +1 -0
  1185. package/lib/plugin/internal/ITtscCapabilityPluginSource.d.ts +35 -0
  1186. package/lib/plugin/internal/ITtscCapabilityPluginSource.js +3 -0
  1187. package/lib/plugin/internal/ITtscCapabilityPluginSource.js.map +1 -0
  1188. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.d.ts +49 -0
  1189. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.js +3 -0
  1190. package/lib/plugin/internal/ITtscCapabilityResolutionEntry.js.map +1 -0
  1191. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.d.ts +21 -0
  1192. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.js +3 -0
  1193. package/lib/plugin/internal/ITtscCapabilityResolutionPlugin.js.map +1 -0
  1194. package/lib/plugin/internal/capabilityPluginWorker.d.ts +1 -0
  1195. package/lib/plugin/internal/capabilityPluginWorker.js +178 -0
  1196. package/lib/plugin/internal/capabilityPluginWorker.js.map +1 -0
  1197. package/lib/plugin/internal/decodeCapabilityCommandReply.d.ts +23 -0
  1198. package/lib/plugin/internal/decodeCapabilityCommandReply.js +25 -0
  1199. package/lib/plugin/internal/decodeCapabilityCommandReply.js.map +1 -0
  1200. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.d.ts +15 -0
  1201. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.js +182 -0
  1202. package/lib/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.js.map +1 -0
  1203. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.d.ts +11 -0
  1204. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.js +62 -0
  1205. package/lib/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.js.map +1 -0
  1206. package/lib/plugin/internal/load/PluginDescriptorAdmission.d.ts +46 -0
  1207. package/lib/plugin/internal/load/PluginDescriptorAdmission.js +72 -0
  1208. package/lib/plugin/internal/load/PluginDescriptorAdmission.js.map +1 -0
  1209. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.d.ts +154 -0
  1210. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js +317 -0
  1211. package/lib/plugin/internal/load/PluginDescriptorEvaluationCache.js.map +1 -0
  1212. package/lib/plugin/internal/load/PluginPackageResolution.d.ts +208 -0
  1213. package/lib/plugin/internal/load/PluginPackageResolution.js +593 -0
  1214. package/lib/plugin/internal/load/PluginPackageResolution.js.map +1 -0
  1215. package/lib/plugin/internal/load/ProjectPluginEntries.d.ts +60 -0
  1216. package/lib/plugin/internal/load/ProjectPluginEntries.js +164 -0
  1217. package/lib/plugin/internal/load/ProjectPluginEntries.js.map +1 -0
  1218. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.d.ts +13 -0
  1219. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.js +21 -0
  1220. package/lib/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.js.map +1 -0
  1221. package/lib/plugin/internal/load/collectProjectHostInputs.d.ts +16 -0
  1222. package/lib/plugin/internal/load/collectProjectHostInputs.js +66 -0
  1223. package/lib/plugin/internal/load/collectProjectHostInputs.js.map +1 -0
  1224. package/lib/plugin/internal/load/composePluginSources.d.ts +20 -0
  1225. package/lib/plugin/internal/load/composePluginSources.js +95 -0
  1226. package/lib/plugin/internal/load/composePluginSources.js.map +1 -0
  1227. package/lib/plugin/internal/load/declaresHostInputReads.d.ts +24 -0
  1228. package/lib/plugin/internal/load/declaresHostInputReads.js +48 -0
  1229. package/lib/plugin/internal/load/declaresHostInputReads.js.map +1 -0
  1230. package/lib/plugin/internal/load/hasProjectPluginEntries.d.ts +21 -0
  1231. package/lib/plugin/internal/load/hasProjectPluginEntries.js +29 -0
  1232. package/lib/plugin/internal/load/hasProjectPluginEntries.js.map +1 -0
  1233. package/lib/plugin/internal/load/hashHostInputPaths.d.ts +17 -0
  1234. package/lib/plugin/internal/load/hashHostInputPaths.js +46 -0
  1235. package/lib/plugin/internal/load/hashHostInputPaths.js.map +1 -0
  1236. package/lib/plugin/internal/load/isRelativePluginSpecifier.d.ts +22 -0
  1237. package/lib/plugin/internal/load/isRelativePluginSpecifier.js +33 -0
  1238. package/lib/plugin/internal/load/isRelativePluginSpecifier.js.map +1 -0
  1239. package/lib/plugin/internal/load/loadProjectPlugins.d.ts +113 -0
  1240. package/lib/plugin/internal/load/loadProjectPlugins.js +1615 -0
  1241. package/lib/plugin/internal/load/loadProjectPlugins.js.map +1 -0
  1242. package/lib/plugin/internal/load/moduleResolutionBaseSelects.d.ts +42 -0
  1243. package/lib/plugin/internal/load/moduleResolutionBaseSelects.js +51 -0
  1244. package/lib/plugin/internal/load/moduleResolutionBaseSelects.js.map +1 -0
  1245. package/lib/plugin/internal/load/observeImportSearchRoots.d.ts +29 -0
  1246. package/lib/plugin/internal/load/observeImportSearchRoots.js +38 -0
  1247. package/lib/plugin/internal/load/observeImportSearchRoots.js.map +1 -0
  1248. package/lib/plugin/internal/load/pluginLabel.d.ts +15 -0
  1249. package/lib/plugin/internal/load/pluginLabel.js +25 -0
  1250. package/lib/plugin/internal/load/pluginLabel.js.map +1 -0
  1251. package/lib/plugin/internal/load/realpathHostInput.d.ts +14 -0
  1252. package/lib/plugin/internal/load/realpathHostInput.js +29 -0
  1253. package/lib/plugin/internal/load/realpathHostInput.js.map +1 -0
  1254. package/lib/plugin/internal/load/realpathHostInputPaths.d.ts +17 -0
  1255. package/lib/plugin/internal/load/realpathHostInputPaths.js +28 -0
  1256. package/lib/plugin/internal/load/realpathHostInputPaths.js.map +1 -0
  1257. package/lib/plugin/internal/load/rejectJsTransformFunctions.d.ts +13 -0
  1258. package/lib/plugin/internal/load/rejectJsTransformFunctions.js +22 -0
  1259. package/lib/plugin/internal/load/rejectJsTransformFunctions.js.map +1 -0
  1260. package/lib/plugin/internal/load/requirePluginSource.d.ts +14 -0
  1261. package/lib/plugin/internal/load/requirePluginSource.js +38 -0
  1262. package/lib/plugin/internal/load/requirePluginSource.js.map +1 -0
  1263. package/lib/plugin/internal/load/resolveNativeSource.d.ts +29 -0
  1264. package/lib/plugin/internal/load/resolveNativeSource.js +37 -0
  1265. package/lib/plugin/internal/load/resolveNativeSource.js.map +1 -0
  1266. package/lib/plugin/internal/load/validatePluginContributors.d.ts +22 -0
  1267. package/lib/plugin/internal/load/validatePluginContributors.js +86 -0
  1268. package/lib/plugin/internal/load/validatePluginContributors.js.map +1 -0
  1269. package/lib/plugin/internal/load/validatePluginSource.d.ts +14 -0
  1270. package/lib/plugin/internal/load/validatePluginSource.js +21 -0
  1271. package/lib/plugin/internal/load/validatePluginSource.js.map +1 -0
  1272. package/lib/plugin/internal/load/visitImportMappedCandidates.d.ts +36 -0
  1273. package/lib/plugin/internal/load/visitImportMappedCandidates.js +45 -0
  1274. package/lib/plugin/internal/load/visitImportMappedCandidates.js.map +1 -0
  1275. package/lib/plugin/internal/pluginDescriptorFailureReason.d.ts +23 -0
  1276. package/lib/plugin/internal/pluginDescriptorFailureReason.js +43 -0
  1277. package/lib/plugin/internal/pluginDescriptorFailureReason.js.map +1 -0
  1278. package/lib/plugin/internal/pluginDescriptorProcessFailure.d.ts +28 -0
  1279. package/lib/plugin/internal/pluginDescriptorProcessFailure.js +37 -0
  1280. package/lib/plugin/internal/pluginDescriptorProcessFailure.js.map +1 -0
  1281. package/lib/plugin/internal/readCapabilityResolution.d.ts +42 -0
  1282. package/lib/plugin/internal/readCapabilityResolution.js +158 -0
  1283. package/lib/plugin/internal/readCapabilityResolution.js.map +1 -0
  1284. package/lib/plugin/internal/receiveCapabilityFailure.d.ts +21 -0
  1285. package/lib/plugin/internal/receiveCapabilityFailure.js +28 -0
  1286. package/lib/plugin/internal/receiveCapabilityFailure.js.map +1 -0
  1287. package/lib/plugin/internal/source/CachePrunePolicy.d.ts +42 -0
  1288. package/lib/plugin/internal/source/CachePrunePolicy.js +47 -0
  1289. package/lib/plugin/internal/source/CachePrunePolicy.js.map +1 -0
  1290. package/lib/plugin/internal/source/GoBuildCacheCoordination.d.ts +159 -0
  1291. package/lib/plugin/internal/source/GoBuildCacheCoordination.js +475 -0
  1292. package/lib/plugin/internal/source/GoBuildCacheCoordination.js.map +1 -0
  1293. package/lib/plugin/internal/source/GoSourceInputs.d.ts +124 -0
  1294. package/lib/plugin/internal/source/GoSourceInputs.js +180 -0
  1295. package/lib/plugin/internal/source/GoSourceInputs.js.map +1 -0
  1296. package/lib/plugin/internal/source/GoToolResolution.d.ts +125 -0
  1297. package/lib/plugin/internal/source/GoToolResolution.js +278 -0
  1298. package/lib/plugin/internal/source/GoToolResolution.js.map +1 -0
  1299. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.d.ts +30 -0
  1300. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.js +3 -0
  1301. package/lib/plugin/internal/source/IGoBuildCachePruneOptions.js.map +1 -0
  1302. package/lib/plugin/internal/source/IPluginCachePruneOptions.d.ts +33 -0
  1303. package/lib/plugin/internal/source/IPluginCachePruneOptions.js +3 -0
  1304. package/lib/plugin/internal/source/IPluginCachePruneOptions.js.map +1 -0
  1305. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.d.ts +27 -0
  1306. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.js +3 -0
  1307. package/lib/plugin/internal/source/IPluginModuleReplaceDirectory.js.map +1 -0
  1308. package/lib/plugin/internal/source/ITtscBuildContributor.d.ts +18 -0
  1309. package/lib/plugin/internal/source/ITtscBuildContributor.js +3 -0
  1310. package/lib/plugin/internal/source/ITtscBuildContributor.js.map +1 -0
  1311. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.d.ts +25 -0
  1312. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.js +3 -0
  1313. package/lib/plugin/internal/source/ITtscSourceBuildCachePaths.js.map +1 -0
  1314. package/lib/plugin/internal/source/NativeSourcePackages.d.ts +155 -0
  1315. package/lib/plugin/internal/source/NativeSourcePackages.js +317 -0
  1316. package/lib/plugin/internal/source/NativeSourcePackages.js.map +1 -0
  1317. package/lib/plugin/internal/source/PluginBinaryUse.d.ts +66 -0
  1318. package/lib/plugin/internal/source/PluginBinaryUse.js +163 -0
  1319. package/lib/plugin/internal/source/PluginBinaryUse.js.map +1 -0
  1320. package/lib/plugin/internal/source/PluginBinaryWaitResult.d.ts +34 -0
  1321. package/lib/plugin/internal/source/PluginBinaryWaitResult.js +3 -0
  1322. package/lib/plugin/internal/source/PluginBinaryWaitResult.js.map +1 -0
  1323. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.d.ts +90 -0
  1324. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js +207 -0
  1325. package/lib/plugin/internal/source/PluginBuildEnvironmentReadings.js.map +1 -0
  1326. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.d.ts +128 -0
  1327. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js +209 -0
  1328. package/lib/plugin/internal/source/PluginBuildEnvironmentWitness.js.map +1 -0
  1329. package/lib/plugin/internal/source/PluginBuildLockFence.d.ts +25 -0
  1330. package/lib/plugin/internal/source/PluginBuildLockFence.js +3 -0
  1331. package/lib/plugin/internal/source/PluginBuildLockFence.js.map +1 -0
  1332. package/lib/plugin/internal/source/PluginBuildLockLease.d.ts +29 -0
  1333. package/lib/plugin/internal/source/PluginBuildLockLease.js +3 -0
  1334. package/lib/plugin/internal/source/PluginBuildLockLease.js.map +1 -0
  1335. package/lib/plugin/internal/source/PluginBuildLockObservation.d.ts +42 -0
  1336. package/lib/plugin/internal/source/PluginBuildLockObservation.js +3 -0
  1337. package/lib/plugin/internal/source/PluginBuildLockObservation.js.map +1 -0
  1338. package/lib/plugin/internal/source/PluginBuildLockOwner.d.ts +126 -0
  1339. package/lib/plugin/internal/source/PluginBuildLockOwner.js +165 -0
  1340. package/lib/plugin/internal/source/PluginBuildLockOwner.js.map +1 -0
  1341. package/lib/plugin/internal/source/PluginBuildLockProtocol.d.ts +234 -0
  1342. package/lib/plugin/internal/source/PluginBuildLockProtocol.js +287 -0
  1343. package/lib/plugin/internal/source/PluginBuildLockProtocol.js.map +1 -0
  1344. package/lib/plugin/internal/source/SourceBuildCacheLayout.d.ts +183 -0
  1345. package/lib/plugin/internal/source/SourceBuildCacheLayout.js +291 -0
  1346. package/lib/plugin/internal/source/SourceBuildCacheLayout.js.map +1 -0
  1347. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.d.ts +32 -0
  1348. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.js +3 -0
  1349. package/lib/plugin/internal/source/SourceBuildFilesystemOperations.js.map +1 -0
  1350. package/lib/plugin/internal/source/SourcePluginAdmission.d.ts +80 -0
  1351. package/lib/plugin/internal/source/SourcePluginAdmission.js +114 -0
  1352. package/lib/plugin/internal/source/SourcePluginAdmission.js.map +1 -0
  1353. package/lib/plugin/internal/source/SourcePluginWorkspace.d.ts +122 -0
  1354. package/lib/plugin/internal/source/SourcePluginWorkspace.js +307 -0
  1355. package/lib/plugin/internal/source/SourcePluginWorkspace.js.map +1 -0
  1356. package/lib/plugin/internal/source/acquirePluginBuildLock.d.ts +35 -0
  1357. package/lib/plugin/internal/source/acquirePluginBuildLock.js +176 -0
  1358. package/lib/plugin/internal/source/acquirePluginBuildLock.js.map +1 -0
  1359. package/lib/plugin/internal/source/autoQuoteGoModToken.d.ts +24 -0
  1360. package/lib/plugin/internal/source/autoQuoteGoModToken.js +110 -0
  1361. package/lib/plugin/internal/source/autoQuoteGoModToken.js.map +1 -0
  1362. package/lib/plugin/internal/source/buildSourcePlugin.d.ts +86 -0
  1363. package/lib/plugin/internal/source/buildSourcePlugin.js +857 -0
  1364. package/lib/plugin/internal/source/buildSourcePlugin.js.map +1 -0
  1365. package/lib/plugin/internal/source/collectPluginSourceDirectories.d.ts +30 -0
  1366. package/lib/plugin/internal/source/collectPluginSourceDirectories.js +77 -0
  1367. package/lib/plugin/internal/source/collectPluginSourceDirectories.js.map +1 -0
  1368. package/lib/plugin/internal/source/collectPluginSourceFiles.d.ts +40 -0
  1369. package/lib/plugin/internal/source/collectPluginSourceFiles.js +95 -0
  1370. package/lib/plugin/internal/source/collectPluginSourceFiles.js.map +1 -0
  1371. package/lib/plugin/internal/source/computeCacheKey.d.ts +73 -0
  1372. package/lib/plugin/internal/source/computeCacheKey.js +113 -0
  1373. package/lib/plugin/internal/source/computeCacheKey.js.map +1 -0
  1374. package/lib/plugin/internal/source/copiesPluginSourceEntry.d.ts +33 -0
  1375. package/lib/plugin/internal/source/copiesPluginSourceEntry.js +57 -0
  1376. package/lib/plugin/internal/source/copiesPluginSourceEntry.js.map +1 -0
  1377. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.d.ts +22 -0
  1378. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.js +60 -0
  1379. package/lib/plugin/internal/source/createExternalSourceSnapshotLayout.js.map +1 -0
  1380. package/lib/plugin/internal/source/ensureExecutableGoToolchain.d.ts +25 -0
  1381. package/lib/plugin/internal/source/ensureExecutableGoToolchain.js +96 -0
  1382. package/lib/plugin/internal/source/ensureExecutableGoToolchain.js.map +1 -0
  1383. package/lib/plugin/internal/source/formatDuration.d.ts +18 -0
  1384. package/lib/plugin/internal/source/formatDuration.js +36 -0
  1385. package/lib/plugin/internal/source/formatDuration.js.map +1 -0
  1386. package/lib/plugin/internal/source/formatGoWorkPath.d.ts +35 -0
  1387. package/lib/plugin/internal/source/formatGoWorkPath.js +42 -0
  1388. package/lib/plugin/internal/source/formatGoWorkPath.js.map +1 -0
  1389. package/lib/plugin/internal/source/hashPluginBuildEnvironment.d.ts +47 -0
  1390. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js +663 -0
  1391. package/lib/plugin/internal/source/hashPluginBuildEnvironment.js.map +1 -0
  1392. package/lib/plugin/internal/source/inspectPluginBuildLock.d.ts +29 -0
  1393. package/lib/plugin/internal/source/inspectPluginBuildLock.js +285 -0
  1394. package/lib/plugin/internal/source/inspectPluginBuildLock.js.map +1 -0
  1395. package/lib/plugin/internal/source/isPathWithin.d.ts +16 -0
  1396. package/lib/plugin/internal/source/isPathWithin.js +28 -0
  1397. package/lib/plugin/internal/source/isPathWithin.js.map +1 -0
  1398. package/lib/plugin/internal/source/legacyGlobalCacheTargets.d.ts +24 -0
  1399. package/lib/plugin/internal/source/legacyGlobalCacheTargets.js +60 -0
  1400. package/lib/plugin/internal/source/legacyGlobalCacheTargets.js.map +1 -0
  1401. package/lib/plugin/internal/source/pluginBuildEnvironment.d.ts +31 -0
  1402. package/lib/plugin/internal/source/pluginBuildEnvironment.js +47 -0
  1403. package/lib/plugin/internal/source/pluginBuildEnvironment.js.map +1 -0
  1404. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.d.ts +1 -0
  1405. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js +24 -0
  1406. package/lib/plugin/internal/source/pluginBuildEnvironmentWorker.js.map +1 -0
  1407. package/lib/plugin/internal/source/pluginBuildVersions.d.ts +31 -0
  1408. package/lib/plugin/internal/source/pluginBuildVersions.js +65 -0
  1409. package/lib/plugin/internal/source/pluginBuildVersions.js.map +1 -0
  1410. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.d.ts +40 -0
  1411. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js +81 -0
  1412. package/lib/plugin/internal/source/pluginModuleReplaceDirectories.js.map +1 -0
  1413. package/lib/plugin/internal/source/pluginSourceCovers.d.ts +32 -0
  1414. package/lib/plugin/internal/source/pluginSourceCovers.js +54 -0
  1415. package/lib/plugin/internal/source/pluginSourceCovers.js.map +1 -0
  1416. package/lib/plugin/internal/source/pluginSourceDigest.d.ts +40 -0
  1417. package/lib/plugin/internal/source/pluginSourceDigest.js +60 -0
  1418. package/lib/plugin/internal/source/pluginSourceDigest.js.map +1 -0
  1419. package/lib/plugin/internal/source/pluginSourceFilesSignature.d.ts +38 -0
  1420. package/lib/plugin/internal/source/pluginSourceFilesSignature.js +53 -0
  1421. package/lib/plugin/internal/source/pluginSourceFilesSignature.js.map +1 -0
  1422. package/lib/plugin/internal/source/pluginSourceState.d.ts +47 -0
  1423. package/lib/plugin/internal/source/pluginSourceState.js +63 -0
  1424. package/lib/plugin/internal/source/pluginSourceState.js.map +1 -0
  1425. package/lib/plugin/internal/source/pluginSourceStateHolds.d.ts +34 -0
  1426. package/lib/plugin/internal/source/pluginSourceStateHolds.js +45 -0
  1427. package/lib/plugin/internal/source/pluginSourceStateHolds.js.map +1 -0
  1428. package/lib/plugin/internal/source/processPluginBuildEnvironment.d.ts +33 -0
  1429. package/lib/plugin/internal/source/processPluginBuildEnvironment.js +40 -0
  1430. package/lib/plugin/internal/source/processPluginBuildEnvironment.js.map +1 -0
  1431. package/lib/plugin/internal/source/pruneCacheFileRoot.d.ts +34 -0
  1432. package/lib/plugin/internal/source/pruneCacheFileRoot.js +120 -0
  1433. package/lib/plugin/internal/source/pruneCacheFileRoot.js.map +1 -0
  1434. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.d.ts +28 -0
  1435. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.js +185 -0
  1436. package/lib/plugin/internal/source/pruneGoBuildCacheRoot.js.map +1 -0
  1437. package/lib/plugin/internal/source/prunePluginCacheRoot.d.ts +46 -0
  1438. package/lib/plugin/internal/source/prunePluginCacheRoot.js +446 -0
  1439. package/lib/plugin/internal/source/prunePluginCacheRoot.js.map +1 -0
  1440. package/lib/plugin/internal/source/prunesPluginSourceDirectory.d.ts +21 -0
  1441. package/lib/plugin/internal/source/prunesPluginSourceDirectory.js +28 -0
  1442. package/lib/plugin/internal/source/prunesPluginSourceDirectory.js.map +1 -0
  1443. package/lib/plugin/internal/source/reclaimPluginBuildLock.d.ts +23 -0
  1444. package/lib/plugin/internal/source/reclaimPluginBuildLock.js +48 -0
  1445. package/lib/plugin/internal/source/reclaimPluginBuildLock.js.map +1 -0
  1446. package/lib/plugin/internal/source/recordCacheFileUse.d.ts +22 -0
  1447. package/lib/plugin/internal/source/recordCacheFileUse.js +43 -0
  1448. package/lib/plugin/internal/source/recordCacheFileUse.js.map +1 -0
  1449. package/lib/plugin/internal/source/releasePluginBuildLock.d.ts +33 -0
  1450. package/lib/plugin/internal/source/releasePluginBuildLock.js +100 -0
  1451. package/lib/plugin/internal/source/releasePluginBuildLock.js.map +1 -0
  1452. package/lib/plugin/internal/source/resolveCleanTargets.d.ts +26 -0
  1453. package/lib/plugin/internal/source/resolveCleanTargets.js +73 -0
  1454. package/lib/plugin/internal/source/resolveCleanTargets.js.map +1 -0
  1455. package/lib/plugin/internal/source/resolveGoCompiler.d.ts +29 -0
  1456. package/lib/plugin/internal/source/resolveGoCompiler.js +62 -0
  1457. package/lib/plugin/internal/source/resolveGoCompiler.js.map +1 -0
  1458. package/lib/plugin/internal/source/resolvePluginCacheRoot.d.ts +21 -0
  1459. package/lib/plugin/internal/source/resolvePluginCacheRoot.js +31 -0
  1460. package/lib/plugin/internal/source/resolvePluginCacheRoot.js.map +1 -0
  1461. package/lib/plugin/internal/source/resolvePluginGoModule.d.ts +34 -0
  1462. package/lib/plugin/internal/source/resolvePluginGoModule.js +65 -0
  1463. package/lib/plugin/internal/source/resolvePluginGoModule.js.map +1 -0
  1464. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.d.ts +21 -0
  1465. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.js +236 -0
  1466. package/lib/plugin/internal/source/resolveSourceBuildCachePaths.js.map +1 -0
  1467. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.d.ts +29 -0
  1468. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.js +68 -0
  1469. package/lib/plugin/internal/source/selectPluginModuleReplaceDirectories.js.map +1 -0
  1470. package/lib/plugin/internal/source/spawnGoTool.d.ts +22 -0
  1471. package/lib/plugin/internal/source/spawnGoTool.js +164 -0
  1472. package/lib/plugin/internal/source/spawnGoTool.js.map +1 -0
  1473. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.d.ts +27 -0
  1474. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.js +48 -0
  1475. package/lib/plugin/internal/source/touchPluginCacheEntryInUse.js.map +1 -0
  1476. package/lib/plugin/internal/source/waitForPluginBinary.d.ts +36 -0
  1477. package/lib/plugin/internal/source/waitForPluginBinary.js +94 -0
  1478. package/lib/plugin/internal/source/waitForPluginBinary.js.map +1 -0
  1479. package/lib/plugin/internal/source/windowsGoCommandArgs.d.ts +17 -0
  1480. package/lib/plugin/internal/source/windowsGoCommandArgs.js +23 -0
  1481. package/lib/plugin/internal/source/windowsGoCommandArgs.js.map +1 -0
  1482. package/lib/plugin/internal/source/withGoBuildCacheLease.d.ts +37 -0
  1483. package/lib/plugin/internal/source/withGoBuildCacheLease.js +87 -0
  1484. package/lib/plugin/internal/source/withGoBuildCacheLease.js.map +1 -0
  1485. package/lib/plugin/internal/writeCapabilityResolution.d.ts +80 -0
  1486. package/lib/plugin/internal/writeCapabilityResolution.js +196 -0
  1487. package/lib/plugin/internal/writeCapabilityResolution.js.map +1 -0
  1488. package/lib/plugin/resolveCapabilityPlugins.d.ts +53 -32
  1489. package/lib/plugin/resolveCapabilityPlugins.js +209 -38
  1490. package/lib/plugin/resolveCapabilityPlugins.js.map +1 -1
  1491. package/lib/register.js +20 -5
  1492. package/lib/register.js.map +1 -1
  1493. package/lib/structures/ITtscCompilerContext.d.ts +29 -11
  1494. package/lib/structures/ITtscCompilerDiagnostic.d.ts +24 -7
  1495. package/lib/structures/ITtscCompilerResult.d.ts +75 -25
  1496. package/lib/structures/ITtscCompilerTransformation.d.ts +287 -64
  1497. package/lib/structures/ITtscPlugin.d.ts +24 -8
  1498. package/lib/structures/ITtscPluginCapabilities.d.ts +55 -5
  1499. package/lib/structures/ITtscPluginContributor.d.ts +19 -8
  1500. package/lib/structures/ITtscPluginFactoryContext.d.ts +12 -3
  1501. package/lib/structures/ITtscProjectPluginConfig.d.ts +35 -10
  1502. package/lib/structures/TtscPluginStage.d.ts +9 -0
  1503. package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +19 -5
  1504. package/lib/structures/internal/ITtscParsedProjectConfig.d.ts +29 -3
  1505. package/lib/structures/internal/ITtscProjectIdentity.d.ts +21 -6
  1506. package/lib/structures/internal/ITtscProjectInputSnapshot.d.ts +23 -8
  1507. package/lib/structures/internal/ITtscProjectLocatorOptions.d.ts +18 -4
  1508. package/lib/structures/internal/TtscBuildOptions.d.ts +33 -14
  1509. package/lib/structures/internal/TtscBuildResult.d.ts +63 -4
  1510. package/lib/structures/internal/TtscCommonOptions.d.ts +47 -14
  1511. package/lib/structures/internal/TtscSingleFileEmitOptions.d.ts +46 -5
  1512. package/package.json +26 -12
  1513. package/shim/ast/enums_gen.go +4 -2
  1514. package/shim/ast/go.mod +5 -5
  1515. package/shim/ast/go.sum +10 -10
  1516. package/shim/ast/lint.go +1088 -20
  1517. package/shim/ast/parent.go +38 -22
  1518. package/shim/ast/safe_text.go +48 -26
  1519. package/shim/ast/shim.go +1307 -20
  1520. package/shim/ast/test/next_jsdoc_comment_location_reaches_variable_statement_test.go +51 -0
  1521. package/shim/ast/test/node_text_joins_multi_hop_qualified_name_test.go +24 -9
  1522. package/shim/ast/test/node_text_joins_one_hop_qualified_name_test.go +9 -5
  1523. package/shim/ast/test/node_text_returns_empty_for_nil_test.go +13 -5
  1524. package/shim/ast/test/node_text_returns_identifier_text_test.go +12 -5
  1525. package/shim/ast/test/node_text_skips_empty_qualified_left_test.go +35 -5
  1526. package/shim/astnav/go.mod +5 -5
  1527. package/shim/astnav/go.sum +12 -10
  1528. package/shim/astnav/shim.go +9 -0
  1529. package/shim/bundled/go.mod +7 -1
  1530. package/shim/bundled/go.sum +12 -0
  1531. package/shim/checker/enums_gen.go +4 -2
  1532. package/shim/checker/extra-shim.json +6 -0
  1533. package/shim/checker/go.mod +5 -5
  1534. package/shim/checker/go.sum +10 -10
  1535. package/shim/checker/node_builder_fields_gen.go +19 -0
  1536. package/shim/checker/shim.go +827 -114
  1537. package/shim/compiler/emit_sourcemap.go +68 -29
  1538. package/shim/compiler/emitassemble.go +36 -2
  1539. package/shim/compiler/emithook.go +13 -3
  1540. package/shim/compiler/go.mod +5 -5
  1541. package/shim/compiler/go.sum +10 -10
  1542. package/shim/compiler/incremental.go +56 -20
  1543. package/shim/compiler/resolution.go +92 -9
  1544. package/shim/core/enums_gen.go +2 -2
  1545. package/shim/core/go.mod +6 -1
  1546. package/shim/core/go.sum +10 -0
  1547. package/shim/core/modulekind.go +9 -0
  1548. package/shim/core/shim.go +157 -6
  1549. package/shim/diagnosticwriter/go.mod +10 -1
  1550. package/shim/diagnosticwriter/go.sum +20 -0
  1551. package/shim/diagnosticwriter/lint.go +188 -10
  1552. package/shim/diagnosticwriter/shim.go +14 -0
  1553. package/shim/lsp/go.mod +5 -5
  1554. package/shim/lsp/go.sum +10 -10
  1555. package/shim/lsp/shim.go +78 -2
  1556. package/shim/parser/go.mod +10 -1
  1557. package/shim/parser/go.sum +22 -0
  1558. package/shim/printer/emithost.go +46 -1
  1559. package/shim/printer/go.mod +5 -5
  1560. package/shim/printer/go.sum +10 -10
  1561. package/shim/printer/shim.go +114 -7
  1562. package/shim/printer/sourcemap.go +55 -0
  1563. package/shim/scanner/go.mod +10 -1
  1564. package/shim/scanner/go.sum +20 -0
  1565. package/shim/scanner/regexp.go +19 -4
  1566. package/shim/scanner/shim.go +3 -0
  1567. package/shim/stringutil/extra-shim.json +1 -0
  1568. package/shim/stringutil/go.mod +5 -0
  1569. package/shim/stringutil/go.sum +2 -0
  1570. package/shim/stringutil/shim.go +119 -0
  1571. package/shim/transformers/go.mod +5 -5
  1572. package/shim/transformers/go.sum +12 -10
  1573. package/shim/transformers/shim.go +12 -3
  1574. package/shim/tsoptions/command_line_raw.go +44 -0
  1575. package/shim/tsoptions/go.mod +10 -1
  1576. package/shim/tsoptions/go.sum +22 -0
  1577. package/shim/tsoptions/shim.go +1 -1
  1578. package/shim/tspath/go.mod +1 -1
  1579. package/shim/tspath/go.sum +6 -0
  1580. package/shim/vfs/cachedvfs/go.mod +3 -1
  1581. package/shim/vfs/cachedvfs/go.sum +12 -0
  1582. package/shim/vfs/decode.go +26 -0
  1583. package/shim/vfs/decode_test.go +42 -0
  1584. package/shim/vfs/go.mod +7 -1
  1585. package/shim/vfs/go.sum +12 -0
  1586. package/shim/vfs/osvfs/go.mod +7 -1
  1587. package/shim/vfs/osvfs/go.sum +12 -0
  1588. package/src/TtscCompiler.ts +223 -234
  1589. package/src/TtscService.ts +87 -31
  1590. package/src/TtscServiceRequestOptions.ts +21 -0
  1591. package/src/compiler/internal/CapturedProcessOutput.ts +69 -0
  1592. package/src/compiler/internal/CompilerArgumentsInspection.ts +184 -0
  1593. package/src/compiler/internal/EmitOwnershipIndex.ts +254 -0
  1594. package/src/compiler/internal/PrivateCompilerOutput.ts +330 -0
  1595. package/src/compiler/internal/ResidentCheckProcess.ts +445 -0
  1596. package/src/compiler/internal/ResidentCheckProcessOptions.ts +32 -0
  1597. package/src/compiler/internal/ResidentCheckRequest.ts +39 -0
  1598. package/src/compiler/internal/ResidentCheckResult.ts +24 -0
  1599. package/src/compiler/internal/ResidentCheckTelemetry.ts +36 -0
  1600. package/src/compiler/internal/ResidentReplyKind.ts +18 -0
  1601. package/src/compiler/internal/ResidentTransformProcess.ts +299 -0
  1602. package/src/compiler/internal/ResidentTransformProcessOptions.ts +30 -0
  1603. package/src/compiler/internal/ResidentTransformReply.ts +79 -0
  1604. package/src/compiler/internal/ResidentTransformRequestOptions.ts +16 -0
  1605. package/src/compiler/internal/ResidentTransformRequests.ts +198 -0
  1606. package/src/compiler/internal/StartedResidentTransform.ts +29 -0
  1607. package/src/compiler/internal/TransformProjectWorkerReply.ts +37 -0
  1608. package/src/compiler/internal/TransformProjectWorkerRequest.ts +42 -0
  1609. package/src/compiler/internal/build/BuildExecution.ts +1261 -0
  1610. package/src/compiler/internal/build/BuildTiming.ts +145 -0
  1611. package/src/compiler/internal/build/CompilerDiagnostics.ts +307 -0
  1612. package/src/compiler/internal/build/NativePluginArguments.ts +302 -0
  1613. package/src/compiler/internal/build/PassthroughFlags.ts +229 -0
  1614. package/src/compiler/internal/build/PluginFailureDiagnostics.ts +70 -0
  1615. package/src/compiler/internal/build/ResidentCheckEntryPlan.ts +42 -0
  1616. package/src/compiler/internal/build/ResidentCheckWatchChange.ts +33 -0
  1617. package/src/compiler/internal/build/ResidentCheckWatchSession.ts +501 -0
  1618. package/src/compiler/internal/build/RunBuildOptions.ts +145 -0
  1619. package/src/compiler/internal/build/TsgoArguments.ts +349 -0
  1620. package/src/compiler/internal/build/appendBuildOutput.ts +218 -0
  1621. package/src/compiler/internal/build/bufferResidentCheckEntryRequests.ts +52 -0
  1622. package/src/compiler/internal/build/createProcessDiagnostic.ts +32 -0
  1623. package/src/compiler/internal/build/isAbsoluteLocalProjectInputPath.ts +55 -0
  1624. package/src/compiler/internal/build/mergeProjectInputSnapshots.ts +147 -0
  1625. package/src/compiler/internal/build/normalizeBuildOutput.ts +89 -0
  1626. package/src/compiler/internal/build/parseProjectInputSnapshot.ts +91 -0
  1627. package/src/compiler/internal/build/planResidentCheckEntries.ts +55 -0
  1628. package/src/compiler/internal/build/privateRuntimeRootDir.ts +33 -0
  1629. package/src/compiler/internal/build/residentCheckRequest.ts +41 -0
  1630. package/src/compiler/internal/build/runBuild.ts +61 -0
  1631. package/src/compiler/internal/build/runExternalEmitProvenance.ts +566 -0
  1632. package/src/compiler/internal/build/takeResidentCheckEntryRequest.ts +31 -0
  1633. package/src/compiler/internal/buildNativeCompiler.ts +19 -2
  1634. package/src/compiler/internal/captureProcessOutput.ts +39 -37
  1635. package/src/compiler/internal/compileProjectInMemory.ts +139 -92
  1636. package/src/compiler/internal/ensureExecutable.ts +32 -0
  1637. package/src/compiler/internal/findNearestGoMod.ts +43 -0
  1638. package/src/compiler/internal/isOutsideRelativePath.ts +26 -0
  1639. package/src/compiler/internal/outputText.ts +21 -0
  1640. package/src/compiler/internal/packageRootDir.ts +43 -0
  1641. package/src/compiler/internal/parseNativeTransformOutput.ts +722 -0
  1642. package/src/compiler/internal/project/CompilerProjectSelection.ts +204 -0
  1643. package/src/compiler/internal/project/ConfigJsonText.ts +55 -0
  1644. package/src/compiler/internal/project/compilerUsesCaseSensitiveFileNames.ts +124 -0
  1645. package/src/compiler/internal/project/createNativeProjectContextArgs.ts +14 -19
  1646. package/src/compiler/internal/project/createNativeProjectContextJson.ts +28 -0
  1647. package/src/compiler/internal/project/parseJsonc.ts +318 -0
  1648. package/src/compiler/internal/project/readJsonFile.ts +34 -0
  1649. package/src/compiler/internal/project/readJsoncFile.ts +46 -0
  1650. package/src/compiler/internal/project/readProjectConfig.ts +137 -200
  1651. package/src/compiler/internal/project/resolveOwningProjectConfig.ts +278 -0
  1652. package/src/compiler/internal/project/resolveProjectConfig.ts +18 -127
  1653. package/src/compiler/internal/project/resolveProjectIdentity.ts +153 -0
  1654. package/src/compiler/internal/project/resolveTsconfigExtends.ts +175 -0
  1655. package/src/compiler/internal/project/selectReferencedProject.ts +54 -0
  1656. package/src/compiler/internal/project/tsconfigExtendsFileCandidates.ts +54 -0
  1657. package/src/compiler/internal/readEffectiveCompilerOptions.ts +126 -0
  1658. package/src/compiler/internal/resolveBinary.ts +25 -9
  1659. package/src/compiler/internal/resolveTsgo.ts +31 -11
  1660. package/src/compiler/internal/runNativeCheckWithObservations.ts +211 -0
  1661. package/src/compiler/internal/runSingleFileEmit.ts +92 -27
  1662. package/src/compiler/internal/sharedHost/SEMANTIC_CONFIG_PATH_ENV.ts +2 -0
  1663. package/src/compiler/internal/sharedHost/SidecarEnvironment.ts +151 -0
  1664. package/src/compiler/internal/sharedHost/TSGO_ARGS_CWD_ENV.ts +7 -0
  1665. package/src/compiler/internal/sharedHost/TSGO_ARGS_ENV.ts +7 -0
  1666. package/src/compiler/internal/sharedHost/assertSharedHostCompatibility.ts +48 -0
  1667. package/src/compiler/internal/sharedHost/clearInheritedSemanticConfigPath.ts +27 -0
  1668. package/src/compiler/internal/sharedHost/clearInheritedTsgoArgs.ts +41 -0
  1669. package/src/compiler/internal/sharedHost/inheritedSidecarEnv.ts +45 -0
  1670. package/src/compiler/internal/sharedHost/isLinkedTransform.ts +19 -0
  1671. package/src/compiler/internal/sharedHost/linkedTransformPlugins.ts +25 -0
  1672. package/src/compiler/internal/sharedHost/publishLinkedTransformPlugins.ts +42 -0
  1673. package/src/compiler/internal/sharedHost/resolvePluginConfigDir.ts +33 -0
  1674. package/src/compiler/internal/sharedHost/selectSharedHostPlugin.ts +35 -0
  1675. package/src/compiler/internal/spawnNative.ts +20 -41
  1676. package/src/compiler/internal/startResidentTransform.ts +66 -53
  1677. package/src/compiler/internal/transformProjectInMemory.ts +356 -634
  1678. package/src/compiler/internal/transformProjectInWorker.ts +170 -0
  1679. package/src/compiler/internal/transformProjectWorker.ts +43 -0
  1680. package/src/flags/AnySubcommand.ts +19 -0
  1681. package/src/flags/COMPILER_ENUM_WHITESPACE.ts +35 -0
  1682. package/src/flags/COMPILER_OPTIONS.ts +512 -0
  1683. package/src/flags/COMPILER_OPTION_ASCII_FOLDS.ts +13 -0
  1684. package/src/flags/COMPILER_OPTION_KINDS.ts +14 -0
  1685. package/src/flags/CompilerOptionSpec.ts +30 -0
  1686. package/src/flags/FLAG_BY_TOKEN.ts +40 -0
  1687. package/src/flags/{schema.ts → FLAG_SCHEMA.ts} +43 -318
  1688. package/src/flags/FlagKind.ts +22 -0
  1689. package/src/flags/FlagLayer.ts +24 -0
  1690. package/src/flags/FlagSpec.ts +118 -0
  1691. package/src/flags/ParseOptions.ts +103 -0
  1692. package/src/flags/ParseResult.ts +44 -0
  1693. package/src/flags/TtscSubcommand.ts +22 -0
  1694. package/src/flags/TtsxSubcommand.ts +13 -0
  1695. package/src/flags/ValueValidator.ts +14 -0
  1696. package/src/flags/buildGoAllowList.ts +43 -0
  1697. package/src/flags/flagsForSubcommand.ts +22 -0
  1698. package/src/flags/getBoolean.ts +27 -0
  1699. package/src/flags/getNumber.ts +24 -0
  1700. package/src/flags/getString.ts +24 -0
  1701. package/src/flags/getStringList.ts +24 -0
  1702. package/src/flags/normalizeCompilerEnumValue.ts +41 -0
  1703. package/src/flags/normalizeFlagToken.ts +38 -0
  1704. package/src/flags/parseFlags.ts +371 -0
  1705. package/src/flags/readCompilerOptionOccurrence.ts +107 -0
  1706. package/src/flags/readCompilerOptionValues.ts +68 -0
  1707. package/src/flags/resolveFlagSpec.ts +29 -0
  1708. package/src/index.ts +9 -3
  1709. package/src/internal/CanonicalTempDirectoryOperations.ts +73 -0
  1710. package/src/internal/CompilerContextSnapshot.ts +139 -0
  1711. package/src/internal/CompilerResultAdapter.ts +320 -0
  1712. package/src/internal/E2ETrace.ts +674 -0
  1713. package/src/internal/IJavaScriptRuntimeCapabilities.ts +50 -0
  1714. package/src/internal/OwnedNativeProcess.ts +417 -0
  1715. package/src/internal/OwnedSynchronousProcess.ts +220 -0
  1716. package/src/internal/RetireLockDirectoryOperations.ts +81 -0
  1717. package/src/internal/SafeCacheCleanupTarget.ts +41 -0
  1718. package/src/internal/SourceNativeRetirement.ts +1109 -0
  1719. package/src/internal/SpawnSyncOutputFiles.ts +29 -0
  1720. package/src/internal/cacheEntryExists.ts +24 -0
  1721. package/src/internal/createCanonicalTempDirectory.ts +35 -18
  1722. package/src/internal/isContendedCandidateRename.ts +35 -0
  1723. package/src/internal/isSpawnSyncFdExhaustion.ts +19 -0
  1724. package/src/internal/javascriptRuntimeCapabilities.ts +166 -0
  1725. package/src/internal/nativeBinary.ts +11 -0
  1726. package/src/internal/parseWindowsDirectoryCaseSensitivity.ts +50 -0
  1727. package/src/internal/pathIdentity/FilesystemPathIdentity.ts +44 -0
  1728. package/src/internal/pathIdentity/FilesystemPathIdentityContext.ts +182 -0
  1729. package/src/internal/pathIdentity/FilesystemPathIdentityOperations.ts +106 -0
  1730. package/src/internal/pathIdentity/ProjectInputPathIdentity.ts +21 -0
  1731. package/src/internal/pathIdentity/ProjectInputPathIdentityContext.ts +21 -0
  1732. package/src/internal/pathIdentity/ProjectInputPathIdentityOperations.ts +22 -0
  1733. package/src/internal/pathIdentity/createFilesystemPathIdentityContext.ts +437 -0
  1734. package/src/internal/pathIdentity/createProjectInputPathIdentityContext.ts +34 -0
  1735. package/src/internal/pathIdentity/isFilesystemPathIdentityWithin.ts +32 -0
  1736. package/src/internal/pathIdentity/isProjectInputPathIdentityWithin.ts +22 -0
  1737. package/src/internal/pathIdentity/resolveFilesystemPath.ts +43 -0
  1738. package/src/internal/pathIdentity/resolvePhysicalPath.ts +31 -0
  1739. package/src/internal/pathIdentity/resolveProjectInputPath.ts +18 -0
  1740. package/src/internal/pluginSource.ts +26 -0
  1741. package/src/internal/projectInputPathIdentity.ts +26 -387
  1742. package/src/internal/resolveNodeBinary.ts +13 -142
  1743. package/src/internal/resolveSafeCacheCleanupTargets.ts +51 -19
  1744. package/src/internal/restoreCompilerError.ts +175 -0
  1745. package/src/internal/retireLockDirectory.ts +166 -0
  1746. package/src/internal/runHoldingLock.ts +55 -0
  1747. package/src/internal/runtimeExecutableIdentity.ts +212 -0
  1748. package/src/internal/serializeCompilerError.ts +145 -0
  1749. package/src/internal/spawnSyncResilient.ts +62 -0
  1750. package/src/internal/spawnSyncWithLowDescriptors.ts +227 -0
  1751. package/src/internal/tsconfig.ts +16 -0
  1752. package/src/launcher/internal/PendingResidentCheckWatchChanges.ts +94 -0
  1753. package/src/launcher/internal/TtscBuildMode.ts +14 -0
  1754. package/src/launcher/internal/TtsxEntryOptions.ts +92 -0
  1755. package/src/launcher/internal/assertNoSolutionBuild.ts +17 -10
  1756. package/src/launcher/internal/assertTtsxNoWatch.ts +49 -0
  1757. package/src/launcher/internal/buildSingleRootProject.ts +303 -0
  1758. package/src/launcher/internal/getCompilerVersionText.ts +20 -5
  1759. package/src/launcher/internal/inlineServedSourceMap.ts +294 -0
  1760. package/src/launcher/internal/linkVirtualEntry.ts +88 -0
  1761. package/src/launcher/internal/{commonJsExportMetadata.ts → parseCommonJsExports.ts} +12 -2
  1762. package/src/launcher/internal/parseTtscBuildArgs.ts +103 -0
  1763. package/src/launcher/internal/parseTtsxCLI.ts +183 -0
  1764. package/src/launcher/internal/prepareExecution.ts +474 -362
  1765. package/src/launcher/internal/prepareTtscBuildMode.ts +64 -0
  1766. package/src/launcher/internal/resolveCacheDir.ts +12 -3
  1767. package/src/launcher/internal/resolveSingleFileOutput.ts +145 -0
  1768. package/src/launcher/internal/resolveTtscserverBinary.ts +20 -5
  1769. package/src/launcher/internal/runTtsc.ts +394 -326
  1770. package/src/launcher/internal/runTtsx.ts +349 -151
  1771. package/src/launcher/internal/runtime/CommonJsRuntimeSource.ts +365 -0
  1772. package/src/launcher/internal/runtime/DependencyBuildAdmission.ts +159 -0
  1773. package/src/launcher/internal/runtime/DependencyBuildGeneration.ts +236 -0
  1774. package/src/launcher/internal/runtime/DependencyBuildLockFence.ts +22 -0
  1775. package/src/launcher/internal/runtime/DependencyBuildLockLease.ts +22 -0
  1776. package/src/launcher/internal/runtime/DependencyBuildLockObservation.ts +49 -0
  1777. package/src/launcher/internal/runtime/DependencyBuildLockProtocol.ts +137 -0
  1778. package/src/launcher/internal/runtime/OwnedProjectSource.ts +140 -0
  1779. package/src/launcher/internal/runtime/OwningModuleOptions.ts +22 -0
  1780. package/src/launcher/internal/runtime/PluginDescriptorInputObservation.ts +112 -0
  1781. package/src/launcher/internal/runtime/ProcessOwnedDirectory.ts +325 -0
  1782. package/src/launcher/internal/runtime/ResolveResult.ts +26 -0
  1783. package/src/launcher/internal/runtime/RuntimeEmitProvenance.ts +58 -0
  1784. package/src/launcher/internal/runtime/RuntimeEntryPreparer.ts +23 -0
  1785. package/src/launcher/internal/runtime/RuntimeFilesystem.ts +64 -0
  1786. package/src/launcher/internal/runtime/RuntimeHookOptions.ts +23 -0
  1787. package/src/launcher/internal/runtime/RuntimeIsolatedEmit.ts +88 -0
  1788. package/src/launcher/internal/runtime/RuntimeLoaderCapabilities.ts +256 -0
  1789. package/src/launcher/internal/runtime/RuntimeManifest.ts +77 -0
  1790. package/src/launcher/internal/runtime/RuntimeManifestRegistry.ts +309 -0
  1791. package/src/launcher/internal/runtime/RuntimeModuleFormat.ts +275 -0
  1792. package/src/launcher/internal/runtime/RuntimeProjectOwnership.ts +139 -0
  1793. package/src/launcher/internal/runtime/TTSX_MINIMUM_NODE_VERSION.ts +11 -0
  1794. package/src/launcher/internal/runtime/acquireDependencyBuildLock.ts +97 -0
  1795. package/src/launcher/internal/runtime/checkNodeRuntimeSupport.ts +94 -0
  1796. package/src/launcher/internal/runtime/claimRuntimeProjectDirectory.ts +54 -0
  1797. package/src/launcher/internal/runtime/commonJsExportNames.ts +57 -0
  1798. package/src/launcher/internal/runtime/commonJsImportFacade.ts +62 -0
  1799. package/src/launcher/internal/runtime/dependencyCacheKey.ts +82 -0
  1800. package/src/launcher/internal/runtime/dependencyCacheRoot.ts +112 -0
  1801. package/src/launcher/internal/runtime/inspectDependencyBuildLock.ts +162 -0
  1802. package/src/launcher/internal/runtime/installRuntimeHooks.ts +2442 -0
  1803. package/src/launcher/internal/runtime/interopProbe.ts +8 -0
  1804. package/src/launcher/internal/runtime/isLocalProcessGone.ts +67 -0
  1805. package/src/launcher/internal/runtime/observeMappedDescriptorResolution.ts +74 -0
  1806. package/src/launcher/internal/runtime/projectModuleOptions.ts +28 -0
  1807. package/src/launcher/internal/runtime/readDependencyCache.ts +89 -0
  1808. package/src/launcher/internal/runtime/realPath.ts +30 -0
  1809. package/src/launcher/internal/runtime/reclaimDependencyBuildLock.ts +27 -0
  1810. package/src/launcher/internal/runtime/releaseDependencyBuildLock.ts +27 -0
  1811. package/src/launcher/internal/runtime/resolveRuntimeCleanTargets.ts +93 -0
  1812. package/src/launcher/internal/runtime/restoreStrippedNodeBuiltinScheme.ts +32 -0
  1813. package/src/launcher/internal/runtime/runtimeRunKey.ts +31 -0
  1814. package/src/launcher/internal/runtime/selectRuntimePluginPolicy.ts +28 -0
  1815. package/src/launcher/internal/runtime/withRuntimeDirectoryLock.ts +92 -0
  1816. package/src/launcher/internal/runtimeCompilerArgs.ts +91 -62
  1817. package/src/launcher/internal/runtimeEmitProfile.ts +70 -0
  1818. package/src/launcher/internal/runtimeHookPreload.ts +3 -3
  1819. package/src/launcher/internal/runtimeOwnerPreload.ts +43 -0
  1820. package/src/launcher/internal/singleRootProjectConfig.ts +38 -0
  1821. package/src/launcher/internal/ttscserver/ILSPPluginSelectionInputs.ts +65 -0
  1822. package/src/launcher/internal/ttscserver/LSPProjectInputDigest.ts +331 -0
  1823. package/src/launcher/internal/ttscserver/captureLSPPluginSelectionInputs.ts +107 -0
  1824. package/src/launcher/internal/ttscserver/fingerprintInitialLSPProjectInputSnapshot.ts +41 -0
  1825. package/src/launcher/internal/ttscserver/initialLSPProjectInputSnapshotIsCurrent.ts +36 -0
  1826. package/src/launcher/internal/ttscserver/materializeLSPPluginManifest.ts +60 -0
  1827. package/src/launcher/internal/ttscserver/needsStdio.ts +32 -0
  1828. package/src/launcher/internal/ttscserver/runTtscserver.ts +592 -0
  1829. package/src/launcher/internal/watch/CompilerDirectoryWatchEventPlan.ts +31 -0
  1830. package/src/launcher/internal/watch/DirectoryWatcher.ts +45 -0
  1831. package/src/launcher/internal/watch/FseventsStreams.ts +303 -0
  1832. package/src/launcher/internal/watch/ProjectInputWatchRules.ts +179 -0
  1833. package/src/launcher/internal/watch/WatchInputChange.ts +31 -0
  1834. package/src/launcher/internal/watch/WatchPaths.ts +156 -0
  1835. package/src/launcher/internal/{watchTopology.ts → watch/WatchTopology.ts} +867 -962
  1836. package/src/launcher/internal/watch/literalGlobRoot.ts +40 -0
  1837. package/src/launcher/internal/watch/planCompilerDirectoryWatchEvent.ts +83 -0
  1838. package/src/launcher/internal/watch/projectInputActiveWatchDirectories.ts +47 -0
  1839. package/src/launcher/internal/watch/projectInputAvailableWatchDirectory.ts +56 -0
  1840. package/src/launcher/internal/watch/projectInputEventShouldNotify.ts +23 -0
  1841. package/src/launcher/internal/watch/projectInputMembershipInvalidatesProgram.ts +63 -0
  1842. package/src/launcher/internal/watch/projectInputReloadEventShouldNotify.ts +127 -0
  1843. package/src/launcher/internal/watch/projectInputReplacementStrandsWatchers.ts +57 -0
  1844. package/src/launcher/internal/watch/projectInputTopologyMayAffect.ts +73 -0
  1845. package/src/launcher/internal/watch/projectInputWatchDirectories.ts +33 -0
  1846. package/src/launcher/internal/watch/reloadInputsForFailedTopologyRefresh.ts +49 -0
  1847. package/src/launcher/internal/watch/syncWatchers.ts +64 -0
  1848. package/src/launcher/internal/watch/watchDirectory.ts +53 -0
  1849. package/src/launcher/internal/watch/watchDirectoryThroughFsWatch.ts +47 -0
  1850. package/src/launcher/ttscserver.ts +1 -1
  1851. package/src/launcher/ttsx.ts +2 -3
  1852. package/src/plugin/CapabilityPluginResolver.ts +549 -0
  1853. package/src/plugin/ITtscCapabilityPlugin.ts +93 -0
  1854. package/src/plugin/internal/CapabilityPluginResult.ts +99 -0
  1855. package/src/plugin/internal/CapabilityResolutionFormat.ts +248 -0
  1856. package/src/plugin/internal/ITtscCapabilityPluginSource.ts +37 -0
  1857. package/src/plugin/internal/ITtscCapabilityResolutionEntry.ts +57 -0
  1858. package/src/plugin/internal/ITtscCapabilityResolutionPlugin.ts +22 -0
  1859. package/src/plugin/internal/capabilityPluginWorker.ts +216 -0
  1860. package/src/plugin/internal/decodeCapabilityCommandReply.ts +27 -0
  1861. package/src/plugin/internal/load/COMMONJS_PLUGIN_DESCRIPTOR_SHIM_SOURCE.ts +182 -0
  1862. package/src/plugin/internal/load/PLUGIN_DESCRIPTOR_SHIM_SOURCE.ts +59 -0
  1863. package/src/plugin/internal/load/PluginDescriptorAdmission.ts +75 -0
  1864. package/src/plugin/internal/load/PluginDescriptorEvaluationCache.ts +432 -0
  1865. package/src/plugin/internal/load/PluginPackageResolution.ts +711 -0
  1866. package/src/plugin/internal/load/ProjectPluginEntries.ts +232 -0
  1867. package/src/plugin/internal/load/RESOLUTION_INPUT_RECORDER_PATH.ts +34 -0
  1868. package/src/plugin/internal/load/collectProjectHostInputs.ts +88 -0
  1869. package/src/plugin/internal/load/composePluginSources.ts +121 -0
  1870. package/src/plugin/internal/load/declaresHostInputReads.ts +52 -0
  1871. package/src/plugin/internal/load/hasProjectPluginEntries.ts +33 -0
  1872. package/src/plugin/internal/load/hashHostInputPaths.ts +44 -0
  1873. package/src/plugin/internal/load/isRelativePluginSpecifier.ts +31 -0
  1874. package/src/plugin/internal/load/loadProjectPlugins.ts +2242 -0
  1875. package/src/plugin/internal/load/moduleResolutionBaseSelects.ts +59 -0
  1876. package/src/plugin/internal/load/observeImportSearchRoots.ts +42 -0
  1877. package/src/plugin/internal/load/pluginLabel.ts +28 -0
  1878. package/src/plugin/internal/load/realpathHostInput.ts +22 -0
  1879. package/src/plugin/internal/load/realpathHostInputPaths.ts +27 -0
  1880. package/src/plugin/internal/load/rejectJsTransformFunctions.ts +23 -0
  1881. package/src/plugin/internal/load/requirePluginSource.ts +34 -0
  1882. package/src/plugin/internal/load/resolveNativeSource.ts +42 -0
  1883. package/src/plugin/internal/load/validatePluginContributors.ts +102 -0
  1884. package/src/plugin/internal/load/validatePluginSource.ts +19 -0
  1885. package/src/plugin/internal/load/visitImportMappedCandidates.ts +63 -0
  1886. package/src/plugin/internal/pluginDescriptorFailureReason.ts +35 -0
  1887. package/src/plugin/internal/pluginDescriptorProcessFailure.ts +48 -0
  1888. package/src/plugin/internal/readCapabilityResolution.ts +193 -0
  1889. package/src/plugin/internal/receiveCapabilityFailure.ts +27 -0
  1890. package/src/plugin/internal/source/CachePrunePolicy.ts +47 -0
  1891. package/src/plugin/internal/source/GoBuildCacheCoordination.ts +588 -0
  1892. package/src/plugin/internal/source/GoSourceInputs.ts +182 -0
  1893. package/src/plugin/internal/source/GoToolResolution.ts +312 -0
  1894. package/src/plugin/internal/source/IGoBuildCachePruneOptions.ts +34 -0
  1895. package/src/plugin/internal/source/IPluginCachePruneOptions.ts +38 -0
  1896. package/src/plugin/internal/source/IPluginModuleReplaceDirectory.ts +30 -0
  1897. package/src/plugin/internal/source/ITtscBuildContributor.ts +19 -0
  1898. package/src/plugin/internal/source/ITtscSourceBuildCachePaths.ts +28 -0
  1899. package/src/plugin/internal/source/NativeSourcePackages.ts +368 -0
  1900. package/src/plugin/internal/source/PluginBinaryUse.ts +159 -0
  1901. package/src/plugin/internal/source/PluginBinaryWaitResult.ts +34 -0
  1902. package/src/plugin/internal/source/PluginBuildEnvironmentReadings.ts +231 -0
  1903. package/src/plugin/internal/source/PluginBuildEnvironmentWitness.ts +233 -0
  1904. package/src/plugin/internal/source/PluginBuildLockFence.ts +26 -0
  1905. package/src/plugin/internal/source/PluginBuildLockLease.ts +31 -0
  1906. package/src/plugin/internal/source/PluginBuildLockObservation.ts +48 -0
  1907. package/src/plugin/internal/source/PluginBuildLockOwner.ts +225 -0
  1908. package/src/plugin/internal/source/PluginBuildLockProtocol.ts +342 -0
  1909. package/src/plugin/internal/source/SourceBuildCacheLayout.ts +303 -0
  1910. package/src/plugin/internal/source/SourceBuildFilesystemOperations.ts +32 -0
  1911. package/src/plugin/internal/source/SourcePluginAdmission.ts +127 -0
  1912. package/src/plugin/internal/source/SourcePluginWorkspace.ts +446 -0
  1913. package/src/plugin/internal/source/acquirePluginBuildLock.ts +222 -0
  1914. package/src/plugin/internal/source/autoQuoteGoModToken.ts +113 -0
  1915. package/src/plugin/internal/source/buildSourcePlugin.ts +1197 -0
  1916. package/src/plugin/internal/source/collectPluginSourceDirectories.ts +70 -0
  1917. package/src/plugin/internal/source/collectPluginSourceFiles.ts +90 -0
  1918. package/src/plugin/internal/source/computeCacheKey.ts +190 -0
  1919. package/src/plugin/internal/source/copiesPluginSourceEntry.ts +52 -0
  1920. package/src/plugin/internal/source/createExternalSourceSnapshotLayout.ts +66 -0
  1921. package/src/plugin/internal/source/ensureExecutableGoToolchain.ts +87 -0
  1922. package/src/plugin/internal/source/formatDuration.ts +32 -0
  1923. package/src/plugin/internal/source/formatGoWorkPath.ts +42 -0
  1924. package/src/plugin/internal/source/hashPluginBuildEnvironment.ts +803 -0
  1925. package/src/plugin/internal/source/inspectPluginBuildLock.ts +330 -0
  1926. package/src/plugin/internal/source/isPathWithin.ts +24 -0
  1927. package/src/plugin/internal/source/legacyGlobalCacheTargets.ts +71 -0
  1928. package/src/plugin/internal/source/pluginBuildEnvironment.ts +59 -0
  1929. package/src/plugin/internal/source/pluginBuildEnvironmentWorker.ts +30 -0
  1930. package/src/plugin/internal/source/pluginBuildVersions.ts +75 -0
  1931. package/src/plugin/internal/source/pluginModuleReplaceDirectories.ts +96 -0
  1932. package/src/plugin/internal/source/pluginSourceCovers.ts +54 -0
  1933. package/src/plugin/internal/source/pluginSourceDigest.ts +55 -0
  1934. package/src/plugin/internal/source/pluginSourceFilesSignature.ts +54 -0
  1935. package/src/plugin/internal/source/pluginSourceState.ts +69 -0
  1936. package/src/plugin/internal/source/pluginSourceStateHolds.ts +45 -0
  1937. package/src/plugin/internal/source/processPluginBuildEnvironment.ts +40 -0
  1938. package/src/plugin/internal/source/pruneCacheFileRoot.ts +134 -0
  1939. package/src/plugin/internal/source/pruneGoBuildCacheRoot.ts +228 -0
  1940. package/src/plugin/internal/source/prunePluginCacheRoot.ts +507 -0
  1941. package/src/plugin/internal/source/prunesPluginSourceDirectory.ts +25 -0
  1942. package/src/plugin/internal/source/reclaimPluginBuildLock.ts +63 -0
  1943. package/src/plugin/internal/source/recordCacheFileUse.ts +35 -0
  1944. package/src/plugin/internal/source/releasePluginBuildLock.ts +125 -0
  1945. package/src/plugin/internal/source/resolveCleanTargets.ts +84 -0
  1946. package/src/plugin/internal/source/resolveGoCompiler.ts +92 -0
  1947. package/src/plugin/internal/source/resolvePluginCacheRoot.ts +32 -0
  1948. package/src/plugin/internal/source/resolvePluginGoModule.ts +69 -0
  1949. package/src/plugin/internal/source/resolveSourceBuildCachePaths.ts +276 -0
  1950. package/src/plugin/internal/source/selectPluginModuleReplaceDirectories.ts +80 -0
  1951. package/src/plugin/internal/source/spawnGoTool.ts +204 -0
  1952. package/src/plugin/internal/source/touchPluginCacheEntryInUse.ts +44 -0
  1953. package/src/plugin/internal/source/waitForPluginBinary.ts +123 -0
  1954. package/src/plugin/internal/source/windowsGoCommandArgs.ts +19 -0
  1955. package/src/plugin/internal/source/withGoBuildCacheLease.ts +101 -0
  1956. package/src/plugin/internal/writeCapabilityResolution.ts +266 -0
  1957. package/src/plugin/resolveCapabilityPlugins.ts +242 -77
  1958. package/src/register.ts +20 -7
  1959. package/src/structures/ITtscCompilerContext.ts +29 -11
  1960. package/src/structures/ITtscCompilerDiagnostic.ts +24 -7
  1961. package/src/structures/ITtscCompilerResult.ts +75 -25
  1962. package/src/structures/ITtscCompilerTransformation.ts +304 -64
  1963. package/src/structures/ITtscPlugin.ts +24 -8
  1964. package/src/structures/ITtscPluginCapabilities.ts +58 -5
  1965. package/src/structures/ITtscPluginContributor.ts +19 -8
  1966. package/src/structures/ITtscPluginFactoryContext.ts +12 -3
  1967. package/src/structures/ITtscProjectPluginConfig.ts +35 -10
  1968. package/src/structures/TtscPluginStage.ts +9 -0
  1969. package/src/structures/internal/ITtscLoadedNativePlugin.ts +27 -5
  1970. package/src/structures/internal/ITtscParsedProjectConfig.ts +37 -3
  1971. package/src/structures/internal/ITtscProjectIdentity.ts +27 -6
  1972. package/src/structures/internal/ITtscProjectInputSnapshot.ts +31 -8
  1973. package/src/structures/internal/ITtscProjectLocatorOptions.ts +21 -4
  1974. package/src/structures/internal/TtscBuildOptions.ts +38 -14
  1975. package/src/structures/internal/TtscBuildResult.ts +74 -4
  1976. package/src/structures/internal/TtscCommonOptions.ts +59 -14
  1977. package/src/structures/internal/TtscSingleFileEmitOptions.ts +55 -5
  1978. package/tools/gen_shims/main.go +124 -11
  1979. package/tools/gen_shims/package_load_admission_rejects_incomplete_results_test.go +61 -0
  1980. package/tools/gen_shims/private_field_support_preserves_upstream_layout_test.go +104 -0
  1981. package/tools/shim_audit/enum_generation_preserves_existing_family_members_test.go +182 -0
  1982. package/tools/shim_audit/enum_generation_refuses_removed_public_members_test.go +93 -0
  1983. package/tools/shim_audit/main.go +166 -31
  1984. package/tools/shim_audit/main_test.go +35 -0
  1985. package/tools/shim_audit/producer_exemptions_require_rationale_test.go +5 -0
  1986. package/tools/shim_audit/producer_surface_includes_exposed_methods_test.go +5 -0
  1987. package/tools/shim_audit/producer_surface_rejects_unproducible_reference_test.go +5 -0
  1988. package/tools/shim_audit/shim_dir_coverage_rejects_unregistered_shims_test.go +71 -0
  1989. package/utility/command.go +48 -0
  1990. package/utility/flags_gen.go +2 -2
  1991. package/utility/host.go +282 -66
  1992. package/utility/preamble_output.go +245 -0
  1993. package/utility/preamble_output_test.go +90 -0
  1994. package/utility/serve.go +61 -18
  1995. package/cmd/ttscgraph/serve_graph_snapshot_version_matches_typescript_client_test.go +0 -32
  1996. package/cmd/ttscgraph/serve_protocol_version_matches_the_typescript_client_test.go +0 -48
  1997. package/cmd/ttscgraph/serve_session_retries_failed_dump_test.go +0 -103
  1998. package/internal/graph/dump_schema_version_matches_the_typescript_client_test.go +0 -48
  1999. package/internal/graph/edge_kinds_names_every_declared_kind_test.go +0 -49
  2000. package/internal/graph/graph_kind_contracts_match_their_producers_test.go +0 -121
  2001. package/internal/lspserver/lsp_launcher_reload_directory_fingerprint_parity_windows_test.go +0 -94
  2002. package/internal/lspserver/lsp_project_diagnostics_resident_unsupported_falls_back_test.go +0 -123
  2003. package/lib/compiler/internal/paths.d.ts +0 -27
  2004. package/lib/compiler/internal/paths.js +0 -70
  2005. package/lib/compiler/internal/paths.js.map +0 -1
  2006. package/lib/compiler/internal/project/readConfigJson.d.ts +0 -30
  2007. package/lib/compiler/internal/project/readConfigJson.js +0 -208
  2008. package/lib/compiler/internal/project/readConfigJson.js.map +0 -1
  2009. package/lib/compiler/internal/residentCheckProcess.d.ts +0 -44
  2010. package/lib/compiler/internal/residentCheckProcess.js +0 -213
  2011. package/lib/compiler/internal/residentCheckProcess.js.map +0 -1
  2012. package/lib/compiler/internal/residentTransformProcess.d.ts +0 -65
  2013. package/lib/compiler/internal/residentTransformProcess.js +0 -330
  2014. package/lib/compiler/internal/residentTransformProcess.js.map +0 -1
  2015. package/lib/compiler/internal/resolveEmittedJavaScript.d.ts +0 -25
  2016. package/lib/compiler/internal/resolveEmittedJavaScript.js +0 -165
  2017. package/lib/compiler/internal/resolveEmittedJavaScript.js.map +0 -1
  2018. package/lib/compiler/internal/runBuild.d.ts +0 -152
  2019. package/lib/compiler/internal/runBuild.js +0 -1694
  2020. package/lib/compiler/internal/runBuild.js.map +0 -1
  2021. package/lib/compiler/internal/sharedHostHelpers.d.ts +0 -79
  2022. package/lib/compiler/internal/sharedHostHelpers.js +0 -134
  2023. package/lib/compiler/internal/sharedHostHelpers.js.map +0 -1
  2024. package/lib/flags/parser.d.ts +0 -97
  2025. package/lib/flags/parser.js +0 -293
  2026. package/lib/flags/parser.js.map +0 -1
  2027. package/lib/flags/schema.d.ts +0 -191
  2028. package/lib/flags/schema.js.map +0 -1
  2029. package/lib/internal/windowsDirectoryCaseSensitivity.d.ts +0 -10
  2030. package/lib/internal/windowsDirectoryCaseSensitivity.js +0 -34
  2031. package/lib/internal/windowsDirectoryCaseSensitivity.js.map +0 -1
  2032. package/lib/launcher/internal/commonJsExportMetadata.d.ts +0 -7
  2033. package/lib/launcher/internal/commonJsExportMetadata.js.map +0 -1
  2034. package/lib/launcher/internal/registerRuntimeHooks.js +0 -59
  2035. package/lib/launcher/internal/registerRuntimeHooks.js.map +0 -1
  2036. package/lib/launcher/internal/runTtscserver.d.ts +0 -35
  2037. package/lib/launcher/internal/runTtscserver.js +0 -660
  2038. package/lib/launcher/internal/runTtscserver.js.map +0 -1
  2039. package/lib/launcher/internal/runtimeHooks.d.ts +0 -198
  2040. package/lib/launcher/internal/runtimeHooks.js +0 -2579
  2041. package/lib/launcher/internal/runtimeHooks.js.map +0 -1
  2042. package/lib/launcher/internal/servedSourceMap.d.ts +0 -25
  2043. package/lib/launcher/internal/servedSourceMap.js +0 -164
  2044. package/lib/launcher/internal/servedSourceMap.js.map +0 -1
  2045. package/lib/launcher/internal/singleFileOutput.d.ts +0 -16
  2046. package/lib/launcher/internal/singleFileOutput.js +0 -103
  2047. package/lib/launcher/internal/singleFileOutput.js.map +0 -1
  2048. package/lib/launcher/internal/watchTopology.d.ts +0 -329
  2049. package/lib/launcher/internal/watchTopology.js.map +0 -1
  2050. package/lib/plugin/internal/buildSourcePlugin.d.ts +0 -298
  2051. package/lib/plugin/internal/buildSourcePlugin.js +0 -3086
  2052. package/lib/plugin/internal/buildSourcePlugin.js.map +0 -1
  2053. package/lib/plugin/internal/capabilityResolutionCache.d.ts +0 -76
  2054. package/lib/plugin/internal/capabilityResolutionCache.js +0 -224
  2055. package/lib/plugin/internal/capabilityResolutionCache.js.map +0 -1
  2056. package/lib/plugin/internal/descriptorProcessFailure.d.ts +0 -36
  2057. package/lib/plugin/internal/descriptorProcessFailure.js +0 -62
  2058. package/lib/plugin/internal/descriptorProcessFailure.js.map +0 -1
  2059. package/lib/plugin/internal/loadProjectPlugins.d.ts +0 -74
  2060. package/lib/plugin/internal/loadProjectPlugins.js +0 -2379
  2061. package/lib/plugin/internal/loadProjectPlugins.js.map +0 -1
  2062. package/src/compiler/internal/paths.ts +0 -68
  2063. package/src/compiler/internal/project/readConfigJson.ts +0 -209
  2064. package/src/compiler/internal/residentCheckProcess.ts +0 -259
  2065. package/src/compiler/internal/residentTransformProcess.ts +0 -406
  2066. package/src/compiler/internal/resolveEmittedJavaScript.ts +0 -197
  2067. package/src/compiler/internal/runBuild.ts +0 -2345
  2068. package/src/compiler/internal/sharedHostHelpers.ts +0 -154
  2069. package/src/flags/parser.ts +0 -459
  2070. package/src/internal/windowsDirectoryCaseSensitivity.ts +0 -33
  2071. package/src/launcher/internal/registerRuntimeHooks.ts +0 -68
  2072. package/src/launcher/internal/runTtscserver.ts +0 -841
  2073. package/src/launcher/internal/runtimeHooks.ts +0 -3197
  2074. package/src/launcher/internal/servedSourceMap.ts +0 -183
  2075. package/src/launcher/internal/singleFileOutput.ts +0 -133
  2076. package/src/plugin/internal/buildSourcePlugin.ts +0 -3990
  2077. package/src/plugin/internal/capabilityResolutionCache.ts +0 -305
  2078. package/src/plugin/internal/descriptorProcessFailure.ts +0 -69
  2079. package/src/plugin/internal/loadProjectPlugins.ts +0 -3044
  2080. package/tools/shim_audit/shim_dir_coverage_test.go +0 -25
  2081. /package/lib/{launcher/internal/registerRuntimeHooks.d.ts → compiler/internal/transformProjectWorker.d.ts} +0 -0
package/driver/overlay.go CHANGED
@@ -11,6 +11,15 @@ import (
11
11
  // Session or serve host uses this to feed a caller's unsaved buffer (for example
12
12
  // Metro's per-file src, or an editor's edited file) to the compiler without
13
13
  // writing to disk.
14
+ //
15
+ // @evidence contracts/common.md#principled-implementation Overrides replace only text and presence predicates; other filesystem operations retain the embedded FS's semantics.
16
+ // @evidence contracts/common.md#clear-and-simple-design One canonical-key map owns unsaved contents while the embedded interface delegates unrelated operations.
17
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The wrapper implements the supported VFS interface without mutating the inner filesystem or foreign methods.
18
+ // @evidence contracts/common.md#meaningful-documentation Native prose explains unsaved buffers, overridden predicates and delegation under documentation-skill guidance.
19
+ // @evidence contracts/portability.md#os-neutral-implementation Canonical keys use the inner filesystem's reported case policy, not an OS-name branch in this wrapper. That policy does not independently prove each directory's physical case behavior or resolve path aliases.
20
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources A type declaration acquires and holds no runtime resource.
21
+ // @evidenceExclude contracts/performance.md#efficient-algorithms A type declaration chooses no processing strategy.
22
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work A type declaration computes nothing, so there is no work to share.
14
23
  type OverlayFS struct {
15
24
  vfs.FS
16
25
  caseSensitive bool
@@ -18,6 +27,15 @@ type OverlayFS struct {
18
27
  }
19
28
 
20
29
  // NewOverlayFS returns an overlay over inner with no overrides set.
30
+ //
31
+ // @evidence contracts/common.md#principled-implementation Empty override state preserves inner reads while recording the same case policy the compiler uses.
32
+ // @evidence contracts/common.md#clear-and-simple-design Construction initializes one map and captures the inner VFS in one owner.
33
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Construction does not alter the inner object or inject sample file contents.
34
+ // @evidence contracts/common.md#meaningful-documentation Native prose states the initially empty overlay following the documentation skill.
35
+ // @evidence contracts/portability.md#os-neutral-implementation Construction captures inner.UseCaseSensitiveFileNames as its canonicalization policy; it performs no independent per-directory capability or physical-alias probe.
36
+ // @evidence contracts/performance.md#bound-retention-and-release-resources The returned overlay keeps inner reachable and owns a fresh override map. Later distinct keys and content bytes have no configured cap or eviction; callers remove entries with Unset or release the overlay. Inner handles and caches remain owned by the supplied filesystem.
37
+ // @evidence contracts/performance.md#efficient-algorithms Construction allocates one empty map and wrapper and queries the inner case policy once, without scanning source files or override populations. Any work performed by that supplied policy query belongs to this delegated call, not a universal constant-time guarantee.
38
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work Each construction intentionally creates independent mutable override state; the function owns no cross-overlay sharing coordinator or cached constructor result.
21
39
  func NewOverlayFS(inner vfs.FS) *OverlayFS {
22
40
  return &OverlayFS{
23
41
  FS: inner,
@@ -26,18 +44,37 @@ func NewOverlayFS(inner vfs.FS) *OverlayFS {
26
44
  }
27
45
  }
28
46
 
29
- // key normalizes a path the same way the compiler keys its files, so an
30
- // override registered for one spelling is found however the host asks for it.
47
+ // key applies native lexical path normalization and the captured case policy.
48
+ // It does not anchor relative paths to the compiler cwd or resolve physical
49
+ // aliases; callers must use compatible spellings when registering and reading.
31
50
  func (o *OverlayFS) key(path string) string {
32
51
  return shimtspath.GetCanonicalFileName(shimtspath.NormalizePath(path), o.caseSensitive)
33
52
  }
34
53
 
35
54
  // Set records an in-memory override for path.
55
+ //
56
+ // @evidence contracts/common.md#principled-implementation Set writes content under the same canonical key that Get and ReadFile use.
57
+ // @evidence contracts/common.md#clear-and-simple-design One map update owns replacement; canonicalization is shared through key.
58
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The supplied buffer is retained directly with no fixture substitution or disk mutation.
59
+ // @evidence contracts/common.md#meaningful-documentation Native prose states buffer override ownership following the documentation skill.
60
+ // @evidence contracts/portability.md#os-neutral-implementation Insertion uses native lexical normalization and the captured inner VFS case policy; callers must supply spellings compatible with later lookups because cwd anchoring and physical-alias resolution are not performed here.
61
+ // @evidence contracts/performance.md#bound-retention-and-release-resources Set retains canonical key and supplied content strings in the overlay. Replacing a key drops this map's previous value reference; distinct keys and retained text have no cap or automatic eviction and remain until Unset or owner release, subject to other caller references.
62
+ // @evidence contracts/performance.md#efficient-algorithms Native normalization and optional case conversion process path bytes before map hashing and replacement. Content is retained as a string value without an independent full-text copy here; insertion may grow map storage with the distinct-key population.
63
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work This operation replaces caller-selected mutable text; it does not coordinate equivalent computation or in-flight work across requests.
36
64
  func (o *OverlayFS) Set(path, content string) {
37
65
  o.overrides[o.key(path)] = content
38
66
  }
39
67
 
40
68
  // Get returns the in-memory override for path, if one is set.
69
+ //
70
+ // @evidence contracts/common.md#principled-implementation The map's presence boolean distinguishes an empty override from an absent override.
71
+ // @evidence contracts/common.md#clear-and-simple-design Retrieval uses the same key helper as writers without consulting the disk.
72
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Missing overrides are not fabricated from underlying file contents.
73
+ // @evidence contracts/common.md#meaningful-documentation Native prose states override-only lookup and optional presence under documentation-skill guidance.
74
+ // @evidence contracts/portability.md#os-neutral-implementation Lookup applies native lexical normalization and the captured inner case policy, without resolving relative cwd or physical aliases.
75
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Lookup adds no retained entries or native handles. The overlay owns existing content and the returned string may keep that content reachable for its caller; this getter does not control either lifetime.
76
+ // @evidence contracts/performance.md#efficient-algorithms Path normalization, optional case conversion and key hashing scale with path bytes, followed by one map lookup. The stored content string is returned without scanning or copying its text.
77
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work Lookup reads caller-maintained override state; it coordinates no completed or in-flight computation and creates no additional result cache.
41
78
  func (o *OverlayFS) Get(path string) (string, bool) {
42
79
  content, ok := o.overrides[o.key(path)]
43
80
  return content, ok
@@ -45,10 +82,30 @@ func (o *OverlayFS) Get(path string) (string, bool) {
45
82
 
46
83
  // Unset removes the in-memory override for path, so reads fall back to the
47
84
  // inner filesystem.
85
+ //
86
+ // @evidence contracts/common.md#principled-implementation Deleting the canonical map entry restores the ordinary ReadFile fallback.
87
+ // @evidence contracts/common.md#clear-and-simple-design Removal reuses the shared key policy instead of tracking a second tombstone structure.
88
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Unset removes an owned buffer without deleting or rewriting a native file.
89
+ // @evidence contracts/common.md#meaningful-documentation Native prose explains restoration of fallback behavior following the documentation skill.
90
+ // @evidence contracts/portability.md#os-neutral-implementation The same compiler key normalization is used by insertion and removal across native case policies.
91
+ // @evidence contracts/performance.md#bound-retention-and-release-resources Deletion removes this overlay's reference to the selected key/content pair; other caller references may retain the text. It does not promise immediate map-capacity shrinkage or evict unrelated overrides, and releases no inner filesystem resource.
92
+ // @evidence contracts/performance.md#efficient-algorithms Native normalization and optional case conversion process path bytes, followed by key hashing and one map deletion; unrelated override entries and content bytes are not traversed.
93
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work Removal changes mutable caller-owned state rather than coordinating reusable computation or sharing results across requests.
48
94
  func (o *OverlayFS) Unset(path string) {
49
95
  delete(o.overrides, o.key(path))
50
96
  }
51
97
 
98
+ // ReadFile uses an override when present, including an empty string, otherwise
99
+ // delegates the read and its success flag to the inner filesystem.
100
+ //
101
+ // @evidence contracts/common.md#principled-implementation Presence selects overridden text; the inner result is returned unchanged when no buffer exists.
102
+ // @evidence contracts/common.md#clear-and-simple-design One map lookup precedes the supported VFS fallback without another cached disk copy.
103
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The wrapper cannot turn a failed inner read into a fabricated successful buffer.
104
+ // @evidence contracts/common.md#meaningful-documentation Native prose states empty-buffer and fallback semantics under documentation-skill guidance.
105
+ // @evidence contracts/portability.md#os-neutral-implementation Override lookup uses the captured inner case policy and native lexical normalization; physical aliases are not resolved here. Misses preserve the inner ReadFile operation and success flag.
106
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The wrapper adds no read cache or native handle ownership. Override strings remain owned by the overlay and caller; fallback temporary resources and retained read state belong to the supplied inner filesystem, not this adapter's release policy.
107
+ // @evidence contracts/performance.md#efficient-algorithms Lookup processes path normalization/case/hash bytes before testing the override map. A hit returns stored text without scanning it; a miss adds the inner read's actual path, input-byte and decoding/cache costs, which are not universally fixed steps.
108
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The wrapper adds no completed/in-flight read coordinator or independent disk-content cache; inner reuse remains the supplied filesystem's policy.
52
109
  func (o *OverlayFS) ReadFile(path string) (string, bool) {
53
110
  if content, ok := o.overrides[o.key(path)]; ok {
54
111
  return content, true
@@ -56,6 +113,16 @@ func (o *OverlayFS) ReadFile(path string) (string, bool) {
56
113
  return o.FS.ReadFile(path)
57
114
  }
58
115
 
116
+ // FileExists treats a supplied override as present and delegates other paths.
117
+ //
118
+ // @evidence contracts/common.md#principled-implementation An owned override is a readable virtual file even when its native path is absent.
119
+ // @evidence contracts/common.md#clear-and-simple-design Presence shares the ReadFile key policy and the inner fallback.
120
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Presence changes only for caller-supplied buffers, without foreign state mutation.
121
+ // @evidence contracts/common.md#meaningful-documentation Native prose states virtual presence and fallback under documentation-skill guidance.
122
+ // @evidence contracts/portability.md#os-neutral-implementation Captured inner case policy and native lexical normalization control override lookup; this does not independently prove physical existence. Misses use the supplied inner VFS predicate unchanged.
123
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The wrapper retains no new entries or native handles during the query. Existing overrides remain overlay-owned; any temporary handles or metadata caches populated by fallback belong to the supplied inner filesystem.
124
+ // @evidence contracts/performance.md#efficient-algorithms Key normalization/case conversion and hashing process path bytes before one override lookup. Hits require no native query; misses add the supplied filesystem's existence-probe or metadata-cache work rather than a universal fixed cost.
125
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work This wrapper owns no existence-query sharing coordinator or separate metadata cache; it reads current overrides and delegates inner reuse policy.
59
126
  func (o *OverlayFS) FileExists(path string) bool {
60
127
  if _, ok := o.overrides[o.key(path)]; ok {
61
128
  return true
package/driver/plugins.go CHANGED
@@ -36,25 +36,41 @@ const PluginConfigDirEnv = "TTSC_PLUGIN_CONFIG_DIR"
36
36
  // means nothing was forwarded.
37
37
  //
38
38
  // It rides the environment for the same reason PluginConfigDirEnv does, only
39
- // with sharper consequences. The payload used to travel as a `--tsgo-args`
40
- // flag, which #113 appended to a plugin protocol third-party hosts had already
41
- // frozen. A Go `flag.FlagSet` created with `flag.ContinueOnError` treats an
42
- // undeclared flag as fatal, so every sidecar built before #113 answered
43
- // `flag provided but not defined: -tsgo-args` and exited 2 — including on
44
- // `ttsc <file.ts>`, where the launcher forwards its own output-containment
45
- // flags and the user passed nothing at all (issue #1188). An unknown
39
+ // with sharper consequences. A flag would have to be appended to the plugin
40
+ // protocol third-party hosts have already frozen, and a Go `flag.FlagSet`
41
+ // created with `flag.ContinueOnError` treats an undeclared flag as fatal: the
42
+ // sidecar would answer `flag provided but not defined: -tsgo-args` and exit 2,
43
+ // even on `ttsc <file.ts>`, where the launcher forwards its own
44
+ // output-containment flags and the user passed nothing at all. An unknown
46
45
  // environment variable is inert to every host; an unknown flag is fatal to all
47
46
  // of them. ttsc's own hosts still accept `--tsgo-args` so an older launcher
48
47
  // paired with a newer host keeps working.
49
48
  const TsgoArgsEnv = "TTSC_TSGO_ARGS"
50
49
 
50
+ // TsgoArgsCwdEnv carries the argument base paired with TsgoArgsEnv. It changes
51
+ // upstream response/CLI option parsing, not the Program or plugin root. Hosts
52
+ // declare compilerArgsCwd support before the launcher sends a distinct base.
53
+ const TsgoArgsCwdEnv = "TTSC_TSGO_ARGS_CWD"
54
+
51
55
  // TsgoArgsFromEnv decodes the forwarded tsgo argv the launcher published in
52
56
  // TsgoArgsEnv. An absent or whitespace-only value yields a nil slice and no
53
57
  // error, so a host can call this unconditionally.
58
+ // Decoding follows Go JSON []string semantics: JSON null yields nil and null
59
+ // elements keep their zero-value empty string. This does not independently
60
+ // validate token meaning or authenticate the environment's producer.
54
61
  //
55
62
  // Hosts that also declare a `--tsgo-args` flag should prefer the explicit flag
56
63
  // value and fall back to this; LoadProgram already does that for every
57
64
  // driver-based host.
65
+ //
66
+ // @evidence contracts/common.md#principled-implementation JSON argv decoding implements the declared environment protocol; LoadProgram owns explicit-flag precedence.
67
+ // @evidence contracts/common.md#clear-and-simple-design Empty input and JSON decoding preserve a named malformed-channel error.
68
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The declared environment channel avoids adding unsupported flags to third-party hosts.
69
+ // @evidence contracts/common.md#meaningful-documentation Native prose explains empty input and explicit precedence following the documentation skill.
70
+ // @evidence contracts/portability.md#os-neutral-implementation os.Getenv and JSON argv do not depend on shell quoting or native separators.
71
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The parsed slice is returned to the caller and nothing is retained.
72
+ // @evidence contracts/performance.md#efficient-algorithms Environment trimming, byte conversion and JSON decoding process payload bytes, with returned slice/string allocation driven by token count and decoded text. One decode preserves native JSON errors without an intermediate shell-tokenization pass.
73
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work The function coordinates no equivalent or in-flight requests and owns no parsed-argv cache; each call observes its current environment value.
58
74
  func TsgoArgsFromEnv() ([]string, error) {
59
75
  raw := strings.TrimSpace(os.Getenv(TsgoArgsEnv))
60
76
  if raw == "" {
@@ -71,6 +87,17 @@ func TsgoArgsFromEnv() ([]string, error) {
71
87
  // config-file discovery walk and resolves relative "configFile" paths.
72
88
  // The explicit PluginConfigDirEnv channel wins when set; otherwise the
73
89
  // tsconfig's directory is used, falling back to cwd when no tsconfig is set.
90
+ // Selection is lexical: it does not stat, resolve symlinks or enforce an
91
+ // absolute result. Callers supply the intended cwd/environment anchor.
92
+ //
93
+ // @evidence contracts/common.md#principled-implementation The project anchor keeps generated wrappers from moving discovery into the temporary-directory tree.
94
+ // @evidence contracts/common.md#clear-and-simple-design Environment, config-directory, and cwd branches state precedence directly.
95
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Declared anchors replace guessed layouts or platform-specific temporary paths.
96
+ // @evidence contracts/common.md#meaningful-documentation Native prose specifies precedence and relative resolution following the documentation skill.
97
+ // @evidence contracts/portability.md#os-neutral-implementation Native filepath operations handle absolute, relative, and volume syntax without separator literals.
98
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Returned path strings are caller-owned; this selector keeps no historical cache or native handle and controls no later discovery lifetime.
99
+ // @evidence contracts/performance.md#efficient-algorithms Environment trimming and native IsAbs/Join/Clean/Dir processing depend on selected environment/cwd/config path bytes. One precedence branch is selected without filesystem traversal or existence queries; string processing is not a universal fixed-cost operation.
100
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work This selector coordinates no shared computation or cached anchor validation; each call uses its supplied cwd/config and current environment channel.
74
101
  func PluginConfigBaseDir(cwd, tsconfigPath string) string {
75
102
  if dir := strings.TrimSpace(os.Getenv(PluginConfigDirEnv)); dir != "" {
76
103
  if !filepath.IsAbs(dir) && cwd != "" {
@@ -89,16 +116,47 @@ func PluginConfigBaseDir(cwd, tsconfigPath string) string {
89
116
  }
90
117
 
91
118
  // PluginEntry is the manifest shape ttsc passes to driver-level plugins.
119
+ // The linked-host loader decodes JSON into this shape; Config is the decoded
120
+ // object (or nil for JSON null), not the original JavaScript object's identity
121
+ // or arbitrary non-JSON values. Standard Go JSON number decoding applies.
122
+ //
123
+ // @evidence contracts/common.md#principled-implementation Manifest labels/stage and decoded object configuration remain separate; registration pairing uses order rather than treating Name as executable or filesystem identity. The loader's JSON projection/decoding is distinct from preserving an original JavaScript object or its non-JSON values.
124
+ // @evidence contracts/common.md#clear-and-simple-design One serialized registration excludes runtime hook state.
125
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The schema has no fixture or plugin-package specialization.
126
+ // @evidence contracts/common.md#meaningful-documentation Native field comments and JSON tags explain the boundary following the documentation skill.
127
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Name/Stage labels and opaque decoded JSON configuration define no native executable, argument quoting or filesystem-identity policy. Hooks own any path interpretation of their configuration; this schema does not choose platform behavior.
128
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources A type declaration acquires and holds no runtime resource.
129
+ // @evidenceExclude contracts/performance.md#efficient-algorithms A type declaration chooses no processing strategy.
130
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work A type declaration computes nothing, so there is no work to share.
92
131
  type PluginEntry struct {
132
+ // Config is the JSON-decoded configuration object, or nil for JSON null.
93
133
  Config map[string]any `json:"config"`
94
- Name string `json:"name"`
95
- Stage string `json:"stage"`
134
+
135
+ // Name identifies the configured plugin entry; registration pairing uses order.
136
+ Name string `json:"name"`
137
+
138
+ // Stage carries the manifest's requested plugin execution stage.
139
+ Stage string `json:"stage"`
96
140
  }
97
141
 
98
142
  // PluginContext is the per-entry context passed to registered linked plugins.
143
+ //
144
+ // @evidence contracts/common.md#principled-implementation Per-hook observations and per-plugin completeness have separate callback owners; one hook cannot prove another's inputs.
145
+ // @evidence contracts/common.md#clear-and-simple-design Public project context is separate from private report callbacks.
146
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Explicit reports avoid foreign globals or intercepted arbitrary filesystem calls.
147
+ // @evidence contracts/common.md#meaningful-documentation Field prose and reporting-method contracts explain context and proof following the documentation skill.
148
+ // @evidence contracts/portability.md#os-neutral-implementation Cwd/Tsconfig retain the host-supplied native anchors; context construction does not physically canonicalize them or establish case policy. Reporting methods resolve relative inputs with native filepath operations and serialize dependency coordinates through TransformOutputKey, while physical observations remain separately reported. No shell string or OS-name guess supplies identity proof.
149
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources A type declaration acquires and holds no runtime resource.
150
+ // @evidenceExclude contracts/performance.md#efficient-algorithms A type declaration chooses no processing strategy.
151
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work A type declaration computes nothing, so there is no work to share.
99
152
  type PluginContext struct {
100
- Cwd string
101
- Entry PluginEntry
153
+ // Cwd anchors relative paths reported by this plugin.
154
+ Cwd string
155
+
156
+ // Entry is this registration's JSON-decoded manifest value.
157
+ Entry PluginEntry
158
+
159
+ // Tsconfig names the compiler configuration selected for this project.
102
160
  Tsconfig string
103
161
 
104
162
  reportHostInput func(string)
@@ -106,17 +164,53 @@ type PluginContext struct {
106
164
  reportHostInputHashUnknown func(string)
107
165
  reportHostInputRealpath func(string, *string)
108
166
  reportHostInputRealpathUnknown func(string)
167
+ reportObservationIncomplete func()
109
168
  reportFileDependency func(string, string)
110
169
  reportFileDependencyRejected func(string)
111
170
  reportFileComplete func(string)
112
171
  reportEveryFileComplete func()
113
172
  }
114
173
 
174
+ // ReportObservationIncomplete declares that this hook's input population could
175
+ // not be observed through its supported public observation API. The declaration
176
+ // is sticky for this hook and compiler generation. Fresh output may still be
177
+ // usable, but callers must decline reuse based on this incomplete population.
178
+ //
179
+ // Report actual input mutation and inconsistent hash or physical-path observations
180
+ // through their existing input callbacks. This declaration neither clears those
181
+ // failures nor authorizes their admission. A context without a driver callback
182
+ // ignores the report; its absence is not proof of complete observations.
183
+ //
184
+ // @evidence contracts/common.md#principled-implementation A declared unavailable observation boundary becomes a sticky per-hook state while existing individual input conflict evidence remains untouched.
185
+ // @evidence contracts/common.md#clear-and-simple-design One callback transfers the hook's known observation limitation to its owning generation without pretending to enumerate missing inputs.
186
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Public API unavailability is distinguished from observed mutation; no blanket hash omission or fabricated input filename bypasses a real conflict.
187
+ // @evidence contracts/common.md#meaningful-documentation Native paragraphs define hook scope, sticky lifetime, fresh output versus reuse and the prohibition on masking actual mutation following the documentation skill.
188
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation This callback reports an observation limitation and performs no native filesystem operation.
189
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The callback marks an existing caller-owned hook scope sticky; this notifier neither acquires that scope nor controls its lifetime, and allocates no independent handle, buffer or historical cache. The marked state persists after return under its ledger owner.
190
+ // @evidenceExclude contracts/performance.md#efficient-algorithms This notifier selects no collection or input-processing strategy; it forwards a signal to the owning scope's mutex-protected boolean update, without enumerating missing inputs or constructing a proof population.
191
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work Declaring a known observation limitation is an effectful signal, not coordination of completed/in-flight computation or authority to reuse an artifact. Reuse admission belongs to consumers of the scope state.
192
+ func (ctx PluginContext) ReportObservationIncomplete() {
193
+ if ctx.reportObservationIncomplete != nil {
194
+ ctx.reportObservationIncomplete()
195
+ }
196
+ }
197
+
115
198
  // ReportHostInputHash declares the exact file state consumed by a native
116
199
  // plugin. hash is a lowercase SHA-256 digest for an observed file and nil for
117
200
  // a missing candidate. Conflicting observations are retained as host inputs
118
201
  // but omitted from PluginHostInputHashes, forcing persistent adapters to
119
202
  // decline narrow reuse without failing the transform.
203
+ // This reporter validates digest syntax and forwards the supplied observation;
204
+ // it does not read the file or independently authenticate consumption-time data.
205
+ //
206
+ // @evidence contracts/common.md#principled-implementation Invalid digest reports retain the input but withdraw proof instead of authorizing reuse.
207
+ // @evidence contracts/common.md#clear-and-simple-design Path normalization and digest validation precede one valid or unknown observation.
208
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts No later reread or invented digest replaces evaluation-time evidence.
209
+ // @evidence contracts/common.md#meaningful-documentation Native prose defines digests, absence, and conflict consequences following the documentation skill.
210
+ // @evidence contracts/portability.md#os-neutral-implementation Relative paths use native Join and Clean against cwd without shell interpretation.
211
+ // @evidence contracts/performance.md#bound-retention-and-release-resources Normalized file text and the supplied hash value transfer to the caller-owned hook ledger; its callback copies the pointer value and retains per-path known/unknown state. Repeated paths fold into that scope, while distinct paths grow retained keys and metadata without a cap supplied here. No native handle is acquired, and this reporter controls neither scope lifetime nor disposal.
212
+ // @evidence contracts/performance.md#efficient-algorithms Blank/path guards and native Join/Clean process file/cwd text. Digest validation rejects non-64-byte strings by length and scans at most 64 bytes for lowercase hex; the callback adds map key hashing/comparison, locking and value copying. No file content read or hashing is performed by this syntax-validation reporter.
213
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work Publishing a supplied input observation is not coordination of a completed/in-flight artifact computation. The ledger merges evidence and consumers separately decide continued artifact validity; this reporter owns no cached computation or reuse permission.
120
214
  func (ctx PluginContext) ReportHostInputHash(file string, hash *string) {
121
215
  if ctx.reportHostInputHash == nil || strings.TrimSpace(file) == "" {
122
216
  return
@@ -141,6 +235,17 @@ func (ctx PluginContext) ReportHostInputHash(file string, hash *string) {
141
235
  // a missing candidate. Conflicting observations remain host inputs but are
142
236
  // omitted from PluginHostInputRealpaths so adapters cannot attach an earlier
143
237
  // result to a retargeted symlink or junction.
238
+ // This method validates supplied path syntax; it does not call Realpath or
239
+ // independently verify physical resolution, absence or alias equivalence.
240
+ //
241
+ // @evidence contracts/common.md#principled-implementation Consumption-time identity becomes unknown when invalid rather than defaulting to lexical identity.
242
+ // @evidence contracts/common.md#clear-and-simple-design Normalize and validate before delivering one ledger observation.
243
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Neither a later realpath read nor the lexical filename substitutes for missing proof.
244
+ // @evidence contracts/common.md#meaningful-documentation Native prose explains absolute identity and retarget safety following the documentation skill.
245
+ // @evidence contracts/portability.md#os-neutral-implementation File spellings resolve against Cwd with native Join/Clean; supplied nonnil identity must have native absolute-path syntax and is cleaned without resolving links or guessing case policy. Nil is the caller's absence report, not a new stat result, and accepted absolute spelling alone does not authenticate physical identity.
246
+ // @evidence contracts/performance.md#bound-retention-and-release-resources Normalized file/identity strings transfer to the caller-owned hook ledger, whose callback copies pointer values and folds repeated-path conflicts into unknown state. Distinct paths retain keys and identity metadata without a cap imposed here. No native handle is acquired; scope lifetime and any separately retained context callbacks remain outside this reporter's disposal control.
247
+ // @evidence contracts/performance.md#efficient-algorithms Trimming, native absolute/path checks and Join/Clean process file/cwd/identity text; ledger delivery adds locking, key hashing and string comparison/value copying. There is no filesystem traversal or native identity query, but path-length work is not a fixed number of byte operations.
248
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work Reporting supplied identity metadata is not sharing an artifact computation; the ledger merges evidence and reuse consumers own validation/admission. This reporter caches no native query or output from a previous filesystem generation.
144
249
  func (ctx PluginContext) ReportHostInputRealpath(file string, realpath *string) {
145
250
  if ctx.reportHostInputRealpath == nil || strings.TrimSpace(file) == "" {
146
251
  return
@@ -177,9 +282,18 @@ func isLowerSHA256(value string) bool {
177
282
  }
178
283
 
179
284
  // ReportHostInput declares an absolute file whose content or presence was
180
- // consumed while the native plugin evaluated configuration. Native transform
285
+ // consumed by the native plugin hook. Native transform
181
286
  // envelopes expose the generation-wide union so persistent hosts can invalidate
182
287
  // without re-evaluating plugin config on the JavaScript side.
288
+ //
289
+ // @evidence contracts/common.md#principled-implementation Input declarations persist for the generation even without content proof.
290
+ // @evidence contracts/common.md#clear-and-simple-design Guarded native-path normalization delegates to one observation owner.
291
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Actual consumption reports replace guessed config names and fabricated hashes.
292
+ // @evidence contracts/common.md#meaningful-documentation Native prose separates input declaration from reevaluation following the documentation skill.
293
+ // @evidence contracts/portability.md#os-neutral-implementation Native Join and Clean resolve against cwd without separator literals.
294
+ // @evidence contracts/performance.md#bound-retention-and-release-resources The cleaned path transfers into an existing caller-owned hook scope; distinct paths grow its retained declaration set, while repeated equal paths deduplicate there. This reporter opens no handle and supplies no path-count/byte cap or scope disposal policy; separately retained callbacks can preserve that state.
295
+ // @evidence contracts/performance.md#efficient-algorithms Trimming and native absolute/Join/Clean operations process file/cwd text, followed by the scope callback's lock and string-key insertion. No file is read or traversed, but path normalization and map hashing are not constant byte work.
296
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work This effectful declaration adds an input candidate without proving content or coordinating a completed/in-flight artifact computation. The scope retains reports and artifact consumers separately establish reuse eligibility.
183
297
  func (ctx PluginContext) ReportHostInput(file string) {
184
298
  if ctx.reportHostInput == nil || strings.TrimSpace(file) == "" {
185
299
  return
@@ -197,13 +311,24 @@ func (ctx PluginContext) ReportHostInput(file string) {
197
311
  // by key.
198
312
  //
199
313
  // Reporting alone only widens what a consumer invalidates on; it is
200
- // ReportFileDependenciesComplete that turns the reported set into the file's
201
- // whole input set.
314
+ // ReportFileDependenciesComplete that declares this plugin's per-file set
315
+ // complete. The host still combines applicable contributors and independent
316
+ // compiler, resolver, host-input and plugin-source inputs; reporting does not
317
+ // authenticate arbitrary reads by a plugin.
202
318
  //
203
319
  // A dependency this cannot resolve to a key is not silently forgotten: it
204
320
  // withdraws this plugin's completeness claim for that file, because a complete
205
321
  // list missing a member is exactly what serves stale output. The plugin's other
206
322
  // files keep theirs.
323
+ //
324
+ // @evidence contracts/common.md#principled-implementation Unrepresentable dependencies revoke file completeness rather than silently dropping an input.
325
+ // @evidence contracts/common.md#clear-and-simple-design One key helper normalizes both paths before recording an edge or rejection.
326
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts A partial set never implicitly becomes complete.
327
+ // @evidence contracts/common.md#meaningful-documentation Native prose explains widening, completeness, and failure following the documentation skill.
328
+ // @evidence contracts/portability.md#os-neutral-implementation Shared native cwd resolution and slash conversion preserve filename case.
329
+ // @evidence contracts/performance.md#bound-retention-and-release-resources Accepted file/dependency keys or rejection keys transfer to the caller-owned plugin declaration ledger; distinct files and edges grow retained text and maps without a cap here, for that ledger's lifetime.
330
+ // @evidence contracts/performance.md#efficient-algorithms Two native key conversions scan and allocate path text, followed by mutex-protected map insertion or rejection; the reporter does not enumerate the filesystem or traverse the dependency graph.
331
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work This effectful edge or rejection report does not coordinate artifact computation or grant reuse permission; the declaration owner deduplicates recorded membership.
207
332
  func (ctx PluginContext) ReportFileDependency(file string, dependency string) {
208
333
  if ctx.reportFileDependency == nil {
209
334
  return
@@ -229,8 +354,18 @@ func (ctx PluginContext) ReportFileDependency(file string, dependency string) {
229
354
  //
230
355
  // The declaration is per (plugin, file), the way the protocol's completeness
231
356
  // contract defines it: the host lists a file in dependenciesComplete only when
232
- // every plugin that can contribute to it declared it, because a consumer cannot
233
- // attribute one plugin's entries back to it.
357
+ // every entry classified as a source-preamble or program contributor declared
358
+ // it. This is a reported claim, not proof of arbitrary plugin reads; independent
359
+ // resolver, host-input and plugin-source lanes remain part of invalidation.
360
+ //
361
+ // @evidence contracts/common.md#principled-implementation Completeness belongs to each plugin and file, never one contributor on another's behalf.
362
+ // @evidence contracts/common.md#clear-and-simple-design One normalized target receives one explicit completeness declaration.
363
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Empty lists or successful transforms do not imply completeness.
364
+ // @evidence contracts/common.md#meaningful-documentation Native prose defines complete inputs and all contributors following the documentation skill.
365
+ // @evidence contracts/portability.md#os-neutral-implementation Shared native-path conversion replaces platform-specific prefix slicing.
366
+ // @evidence contracts/performance.md#bound-retention-and-release-resources Each accepted target transfers to the caller-owned plugin declaration set, whose distinct-file text and membership have no cap here and remain for that ledger's lifetime.
367
+ // @evidence contracts/performance.md#efficient-algorithms Native target conversion scans and allocates path text before a mutex-protected map insertion; this report does not enumerate program files or contributors.
368
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work This explicit declaration does not coordinate artifact computation or validate equivalent requests; consumer aggregation owns reuse admission.
234
369
  func (ctx PluginContext) ReportFileDependenciesComplete(file string) {
235
370
  if ctx.reportFileComplete == nil {
236
371
  return
@@ -247,10 +382,19 @@ func (ctx PluginContext) ReportFileDependenciesComplete(file string) {
247
382
  // function of that file's own text, whatever it reported for that file, its
248
383
  // reported host inputs, and the compiler options.
249
384
  //
250
- // That is the honest claim of a syntactic transform — one that decides from the
251
- // file in front of it and its own configuration rather than from the type
252
- // system — and it is the only form available to a hook that never sees the
253
- // program, such as SourcePreamble.
385
+ // A syntactic transform may make this claim when those inputs cover its work.
386
+ // The host records it without authenticating the plugin's reads. Preamble hooks
387
+ // can also use it without enumerating program files; it does not remove their
388
+ // ability to report individual files or the host's independent input lanes.
389
+ //
390
+ // @evidence contracts/common.md#principled-implementation Universal completeness includes host inputs and compiler options alongside file text and dependencies.
391
+ // @evidence contracts/common.md#clear-and-simple-design One callback records the plugin-wide declaration without boundary enumeration.
392
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Contributor declarations replace completeness inferred from syntax or test success.
393
+ // @evidence contracts/common.md#meaningful-documentation Native prose explains the declaration and preamble-hook applicability following the documentation skill.
394
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Reporting this boolean policy performs no native operation.
395
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The callback marks a sticky boolean in an existing caller-owned plugin declaration ledger; this notifier does not acquire or release that ledger or own its lifecycle.
396
+ // @evidenceExclude contracts/performance.md#efficient-algorithms The notifier chooses no collection or traversal strategy: its callback sets an existing flag under the declaration owner's mutex, while aggregation enumerates files and contributors separately.
397
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work This explicit policy report does not coordinate artifact computation or authenticate equivalent requests; consumer aggregation owns reuse admission.
254
398
  func (ctx PluginContext) ReportDependenciesComplete() {
255
399
  if ctx.reportEveryFileComplete == nil {
256
400
  return
@@ -281,12 +425,50 @@ func (ctx PluginContext) transformKey(file string) (string, bool) {
281
425
  // SourcePreamblePlugin can inject source text before TypeScript-Go parses the
282
426
  // project. This is intentionally generic: the driver knows only the registered
283
427
  // plugin name and the project plugin manifest.
428
+ //
429
+ // @evidence contracts/common.md#principled-implementation Source production precedes parsing rather than mutating a bound program.
430
+ // @evidence contracts/common.md#clear-and-simple-design One context-to-text capability excludes unrelated lifecycle methods.
431
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Explicit interfaces replace package-name dispatch or parser monkeypatching.
432
+ // @evidence contracts/common.md#meaningful-documentation Native prose identifies the parse boundary following the documentation skill.
433
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation Concrete implementations own native configuration access; the interface only defines source production.
434
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources A type declaration acquires and holds no runtime resource.
435
+ // @evidenceExclude contracts/performance.md#efficient-algorithms A type declaration chooses no processing strategy.
436
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work A type declaration computes nothing, so there is no work to share.
284
437
  type SourcePreamblePlugin interface {
438
+ // SourcePreamble produces source text for this plugin's preparse contribution.
439
+ //
440
+ // @evidence contracts/common.md#principled-implementation A context-owned source contribution enters before the compiler parses and binds the project.
441
+ // @evidence contracts/common.md#clear-and-simple-design One text/error result expresses preparse production without a bound-program mutation.
442
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The supported hook avoids parser monkeypatches and package-name special cases.
443
+ // @evidence contracts/common.md#meaningful-documentation Native prose identifies plugin-owned preparse text following the documentation skill.
444
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation The capability declaration owns no native operation; concrete configuration readers own their platform boundary.
445
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources SourcePreamble declares a signature only; the implementation owns acquisition and release of resources.
446
+ // @evidenceExclude contracts/performance.md#efficient-algorithms SourcePreamble declares a signature only; the implementation owns the processing strategy.
447
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work SourcePreamble declares a signature only; the implementation owns any shared work.
285
448
  SourcePreamble(PluginContext) (string, error)
286
449
  }
287
450
 
288
451
  // ProgramPlugin can mutate a loaded Program before source output or emit.
452
+ //
453
+ // @evidence contracts/common.md#principled-implementation Declared AST mutation lets the host distinguish it from reusable incremental checking.
454
+ // @evidence contracts/common.md#clear-and-simple-design One operation separates loaded-program mutation from preparse and emit phases.
455
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The supported hook replaces globally altered compiler packages.
456
+ // @evidence contracts/common.md#meaningful-documentation Native prose identifies the mutation boundary following the documentation skill.
457
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation The capability declaration performs no native operation.
458
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources A type declaration acquires and holds no runtime resource.
459
+ // @evidenceExclude contracts/performance.md#efficient-algorithms A type declaration chooses no processing strategy.
460
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work A type declaration computes nothing, so there is no work to share.
289
461
  type ProgramPlugin interface {
462
+ // ApplyProgram mutates this generation before source output or native emit.
463
+ //
464
+ // @evidence contracts/common.md#principled-implementation Explicit generation mutation lets the host distinguish fresh transform work from reusable clean checking.
465
+ // @evidence contracts/common.md#clear-and-simple-design One program/context operation represents this phase separately from preambles and emit transforms.
466
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Mutation uses the declared plugin seam rather than global compiler package replacement.
467
+ // @evidence contracts/common.md#meaningful-documentation Native prose specifies generation and phase following the documentation skill.
468
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation This method declaration owns no native filesystem or process operation.
469
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources ApplyProgram declares a signature only; the implementation owns acquisition and release of resources.
470
+ // @evidenceExclude contracts/performance.md#efficient-algorithms ApplyProgram declares a signature only; the implementation owns the processing strategy.
471
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work ApplyProgram declares a signature only; the implementation owns any shared work.
290
472
  ApplyProgram(*Program, PluginContext) error
291
473
  }
292
474
 
@@ -301,7 +483,26 @@ type ProgramPlugin interface {
301
483
  // This is the AST-integration replacement for the ProgramPlugin + RewriteSet
302
484
  // text-splice model. A plugin whose returned transform is nil contributes
303
485
  // nothing.
486
+ //
487
+ // @evidence contracts/common.md#principled-implementation EmitContext owns binding identity and builtin integration rather than a second textual module-resolution model.
488
+ // @evidence contracts/common.md#clear-and-simple-design One optional transformer leaves scheduling and printing with the host.
489
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Supported factory names and original links replace hardcoded temporary identifiers.
490
+ // @evidence contracts/common.md#meaningful-documentation Native prose explains factory identity, nil behavior, and binding reuse following the documentation skill.
491
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation This AST capability owns no native process or path operation.
492
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources A type declaration acquires and holds no runtime resource.
493
+ // @evidenceExclude contracts/performance.md#efficient-algorithms A type declaration chooses no processing strategy.
494
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work A type declaration computes nothing, so there is no work to share.
304
495
  type EmitTransformPlugin interface {
496
+ // EmitTransform produces an optional callback for the native per-file emit chain.
497
+ //
498
+ // @evidence contracts/common.md#principled-implementation The returned callback shares EmitContext identity with builtin transformations.
499
+ // @evidence contracts/common.md#clear-and-simple-design Callback production is separate from per-source execution and printing.
500
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts The interface returns supported AST transformations instead of guessed downlevel import text.
501
+ // @evidence contracts/common.md#meaningful-documentation Native prose identifies optional callback production following the documentation skill.
502
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation The callback declaration defines AST work without a native path or process operation.
503
+ // @evidenceExclude contracts/performance.md#bound-retention-and-release-resources EmitTransform declares a signature only; the implementation owns acquisition and release of resources.
504
+ // @evidenceExclude contracts/performance.md#efficient-algorithms EmitTransform declares a signature only; the implementation owns the processing strategy.
505
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work EmitTransform declares a signature only; the implementation owns any shared work.
305
506
  EmitTransform(PluginContext) (PluginTransform, error)
306
507
  }
307
508
 
@@ -323,10 +524,29 @@ type pluginHostInputScopes struct {
323
524
  }
324
525
 
325
526
  type pluginHostInputs struct {
326
- files map[string]struct{}
327
- hashes map[string]pluginHostInputHash
328
- realpaths map[string]pluginHostInputHash
329
- mu sync.Mutex
527
+ files map[string]struct{}
528
+ hashes map[string]pluginHostInputHash
529
+ realpaths map[string]pluginHostInputHash
530
+ observationIncomplete bool
531
+ mu sync.Mutex
532
+ }
533
+
534
+ func (inputs *pluginHostInputs) markObservationIncomplete() {
535
+ inputs.mu.Lock()
536
+ inputs.observationIncomplete = true
537
+ inputs.mu.Unlock()
538
+ }
539
+
540
+ func (inputs *pluginHostInputScopes) hasIncompleteObservations() bool {
541
+ for _, scope := range inputs.snapshot() {
542
+ scope.mu.Lock()
543
+ incomplete := scope.observationIncomplete
544
+ scope.mu.Unlock()
545
+ if incomplete {
546
+ return true
547
+ }
548
+ }
549
+ return false
330
550
  }
331
551
 
332
552
  type pluginHostInputHash struct {
@@ -552,6 +772,17 @@ var pluginRegistry []any
552
772
  // RegisterPlugin registers a driver-level plugin implementation. Linked Go
553
773
  // packages call this from init(); ttsc pairs registrations with linked manifest
554
774
  // entries by build order, not by package name.
775
+ // The guard rejects a nil interface, not every typed-nil implementation.
776
+ // Registry mutation has no concurrent-call synchronization or reset/cap policy.
777
+ //
778
+ // @evidence contracts/common.md#principled-implementation Init registration preserves ordered manifest pairing and rejects a nil interface. A nonnil interface wrapping a typed-nil implementation is not structurally validated by this append boundary.
779
+ // @evidence contracts/common.md#clear-and-simple-design One guarded append owns registration; dispatch owns capability classification.
780
+ // @evidence contracts/common.md#prohibited-implementation-shortcuts Registry entries come from linked init calls rather than guessed names or test fixtures.
781
+ // @evidence contracts/common.md#meaningful-documentation Native prose states init use and order-based pairing following the documentation skill.
782
+ // @evidenceExclude contracts/portability.md#os-neutral-implementation In-process insertion performs no native path or process operation.
783
+ // @evidence contracts/performance.md#bound-retention-and-release-resources The process-global registry retains every appended interface and reachable implementation state for the process lifetime. Linked init calls normally determine the population, but this exported function enforces no registration-count/transitive-byte cap, deduplication or reset/release operation.
784
+ // @evidence contracts/performance.md#efficient-algorithms The nil-interface check precedes one ordered append. Appending is amortized constant entry work; capacity growth can allocate/copy the existing registration references, without cloning implementation payloads or scanning them for duplicate identity.
785
+ // @evidenceExclude contracts/performance.md#reuse-equivalent-work Registration performs no per-call computation that a later call could reuse.
555
786
  func RegisterPlugin(plugin any) {
556
787
  if plugin == nil {
557
788
  panic("driver: RegisterPlugin called with nil plugin")
@@ -695,6 +926,7 @@ func (state linkedPluginState) contextAt(index int, entry PluginEntry) PluginCon
695
926
  reportHostInputHashUnknown: inputs.invalidateHash,
696
927
  reportHostInputRealpath: inputs.addRealpath,
697
928
  reportHostInputRealpathUnknown: inputs.invalidateRealpath,
929
+ reportObservationIncomplete: inputs.markObservationIncomplete,
698
930
  reportFileDependency: declaration.addDependency,
699
931
  reportFileDependencyRejected: declaration.rejectDependency,
700
932
  reportFileComplete: declaration.addComplete,
@@ -0,0 +1,43 @@
1
+ package driver
2
+
3
+ import (
4
+ "errors"
5
+ "os"
6
+ "path/filepath"
7
+ )
8
+
9
+ // writePrivateResult publishes only bytes whose write and close both succeeded.
10
+ // The caller owns a fresh result path and its parent directory. A temporary file
11
+ // in that directory keeps the final artifact absent until native rename succeeds;
12
+ // failure closes the descriptor and removes only the allocated temporary file.
13
+ func writePrivateResult(fileName string, data []byte) (resultErr error) {
14
+ temporary, err := os.CreateTemp(filepath.Dir(fileName), ".ttsc-result-*")
15
+ if err != nil {
16
+ return err
17
+ }
18
+ temporaryName := temporary.Name()
19
+ closed := false
20
+ published := false
21
+ defer func() {
22
+ if !closed {
23
+ resultErr = errors.Join(resultErr, temporary.Close())
24
+ }
25
+ if !published {
26
+ if err := os.Remove(temporaryName); err != nil && !os.IsNotExist(err) {
27
+ resultErr = errors.Join(resultErr, err)
28
+ }
29
+ }
30
+ }()
31
+ if _, err := temporary.Write(data); err != nil {
32
+ return err
33
+ }
34
+ closed = true
35
+ if err := temporary.Close(); err != nil {
36
+ return err
37
+ }
38
+ if err := os.Rename(temporaryName, fileName); err != nil {
39
+ return err
40
+ }
41
+ published = true
42
+ return nil
43
+ }