multilingualprogramming 0.8.0__tar.gz → 0.8.1__tar.gz

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 (137) hide show
  1. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/PKG-INFO +1 -1
  2. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/__main__.py +45 -0
  3. multilingualprogramming-0.8.1/multilingualprogramming/codegen/js_generator.py +619 -0
  4. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_core.py +142 -38
  5. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/runtime_builtins.py +2 -0
  6. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/usm/builtins_aliases.json +18 -0
  7. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/version.py +1 -1
  8. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming.egg-info/PKG-INFO +1 -1
  9. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming.egg-info/SOURCES.txt +1 -0
  10. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/LICENSE +0 -0
  11. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/README.md +0 -0
  12. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/__init__.py +0 -0
  13. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/__init__.py +0 -0
  14. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/build_orchestrator.py +0 -0
  15. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/encoding_guard.py +0 -0
  16. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/executor.py +0 -0
  17. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/linear_manifest.py +0 -0
  18. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/midi_capture.py +0 -0
  19. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/midi_manifest.py +0 -0
  20. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/opcode_ontology.py +0 -0
  21. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_capabilities.py +0 -0
  22. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_field_projection.py +0 -0
  23. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_graph_projection.py +0 -0
  24. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_migration.py +0 -0
  25. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_program.py +0 -0
  26. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_projection.py +0 -0
  27. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_sequence_projection.py +0 -0
  28. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/process_static_projection.py +0 -0
  29. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/projection_capabilities.py +0 -0
  30. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/python_generator.py +0 -0
  31. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/repl.py +0 -0
  32. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/semantic_core.py +0 -0
  33. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/sonic_capture.py +0 -0
  34. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/sonic_projection.py +0 -0
  35. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/spatial_capture.py +0 -0
  36. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/spatial_manifest.py +0 -0
  37. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/ui_lowering.py +0 -0
  38. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/volumetric_manifest.py +0 -0
  39. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wasm_generator.py +0 -0
  40. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator.py +0 -0
  41. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_core.py +0 -0
  42. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_expression.py +0 -0
  43. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_loop.py +0 -0
  44. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_manifest.py +0 -0
  45. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_match.py +0 -0
  46. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_oop.py +0 -0
  47. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_orchestrator.py +0 -0
  48. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_print.py +0 -0
  49. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_runtime.py +0 -0
  50. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_sequence.py +0 -0
  51. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_generator_support.py +0 -0
  52. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/codegen/wat_ir_adapter.py +0 -0
  53. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/core/__init__.py +0 -0
  54. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/core/effects.py +0 -0
  55. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/core/ir_nodes.py +0 -0
  56. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/core/semantic_analyzer.py +0 -0
  57. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/core/semantic_lowering.py +0 -0
  58. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/core/types.py +0 -0
  59. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/core/validators.py +0 -0
  60. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/datetime/__init__.py +0 -0
  61. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/datetime/date_parser.py +0 -0
  62. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/datetime/mp_date.py +0 -0
  63. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/datetime/mp_datetime.py +0 -0
  64. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/datetime/mp_time.py +0 -0
  65. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/datetime/resource_loader.py +0 -0
  66. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/exceptions.py +0 -0
  67. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/imports.py +0 -0
  68. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/keyword/__init__.py +0 -0
  69. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/keyword/keyword_registry.py +0 -0
  70. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/keyword/keyword_validator.py +0 -0
  71. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/keyword/language_pack_validator.py +0 -0
  72. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/lexer/__init__.py +0 -0
  73. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/lexer/lexer.py +0 -0
  74. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/lexer/source_reader.py +0 -0
  75. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/lexer/token.py +0 -0
  76. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/lexer/token_types.py +0 -0
  77. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/__init__.py +0 -0
  78. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/abstract_numeral.py +0 -0
  79. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/complex_numeral.py +0 -0
  80. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/fraction_numeral.py +0 -0
  81. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/mp_numeral.py +0 -0
  82. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/numeral_converter.py +0 -0
  83. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/roman_numeral.py +0 -0
  84. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/numeral/unicode_numeral.py +0 -0
  85. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/parser/__init__.py +0 -0
  86. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/parser/ast_nodes.py +0 -0
  87. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/parser/ast_printer.py +0 -0
  88. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/parser/error_messages.py +0 -0
  89. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/parser/lexer.py +0 -0
  90. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/parser/parser.py +0 -0
  91. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/parser/surface_normalizer.py +0 -0
  92. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/datetime/eras.json +0 -0
  93. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/datetime/formats.json +0 -0
  94. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/datetime/months.json +0 -0
  95. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/datetime/weekdays.json +0 -0
  96. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/parser/error_messages.json +0 -0
  97. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/repl/commands.json +0 -0
  98. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/usm/keywords.json +0 -0
  99. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/usm/operators.json +0 -0
  100. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/usm/schema.json +0 -0
  101. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/usm/surface_patterns.json +0 -0
  102. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/resources/usm/ui_lowering.json +0 -0
  103. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/__init__.py +0 -0
  104. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/ai_runtime.py +0 -0
  105. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/ai_types.py +0 -0
  106. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/anthropic_provider.py +0 -0
  107. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/backend_selector.py +0 -0
  108. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/channel.py +0 -0
  109. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/inference_cache.py +0 -0
  110. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/memory_store.py +0 -0
  111. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/model_registry.py +0 -0
  112. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/multimodal_runtime.py +0 -0
  113. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/numeric_primitives.py +0 -0
  114. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/observability.py +0 -0
  115. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/ollama_provider.py +0 -0
  116. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/openai_provider.py +0 -0
  117. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/placement.py +0 -0
  118. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/prompt_optimizer.py +0 -0
  119. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/python_fallbacks.py +0 -0
  120. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/reactive.py +0 -0
  121. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/retrieval_runtime.py +0 -0
  122. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/semantic_match.py +0 -0
  123. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/swarm.py +0 -0
  124. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/runtime/tool_runtime.py +0 -0
  125. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/source_extensions.py +0 -0
  126. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/unicode_string.py +0 -0
  127. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/wasm/loader.py +0 -0
  128. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/wasm/tuple_abi.py +0 -0
  129. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming/wasm/tuple_memory.py +0 -0
  130. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming.egg-info/dependency_links.txt +0 -0
  131. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming.egg-info/entry_points.txt +0 -0
  132. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming.egg-info/requires.txt +0 -0
  133. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/multilingualprogramming.egg-info/top_level.txt +0 -0
  134. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/pyproject.toml +0 -0
  135. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/setup.cfg +0 -0
  136. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/setup.py +0 -0
  137. {multilingualprogramming-0.8.0 → multilingualprogramming-0.8.1}/tests/tests.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multilingualprogramming
3
- Version: 0.8.0
3
+ Version: 0.8.1
4
4
  Summary: Python application for multilingual programming
5
5
  Author-email: John Samuel <johnsamuelwrites@example.com>
6
6
  License-Expression: GPL-3.0-or-later
@@ -30,6 +30,7 @@ from multilingualprogramming.codegen.encoding_guard import (
30
30
  )
31
31
  from multilingualprogramming.codegen.build_orchestrator import BuildOrchestrator
32
32
  from multilingualprogramming.codegen.executor import ProgramExecutor
33
+ from multilingualprogramming.codegen.js_generator import JavaScriptCodeGenerator
33
34
  from multilingualprogramming.codegen.python_generator import PythonCodeGenerator
34
35
  from multilingualprogramming.codegen.repl import REPL
35
36
  from multilingualprogramming.codegen.wat_generator import WATCodeGenerator
@@ -350,6 +351,19 @@ def cmd_build_wasm_bundle(args):
350
351
  print(f"[PASS] {outputs.build_lockfile}")
351
352
 
352
353
 
354
+ def cmd_build_browser_module(args):
355
+ """Build a browser-native ESM module for rich JSON-compatible output."""
356
+ program = _parse_program_from_file(args.file, args.lang)
357
+ exports = []
358
+ for item in getattr(args, "export", []) or []:
359
+ exports.extend(name.strip() for name in item.split(",") if name.strip())
360
+ module_source = JavaScriptCodeGenerator(exports=exports).generate(program)
361
+ out_path = Path(args.out)
362
+ out_path.parent.mkdir(parents=True, exist_ok=True)
363
+ out_path.write_text(module_source, encoding="utf-8")
364
+ print(f"[PASS] {out_path}")
365
+
366
+
353
367
  def cmd_build_ui_bundle(args):
354
368
  """Build a self-contained reactive UI bundle (HTML + JS)."""
355
369
  entry_file = Path(args.file)
@@ -829,6 +843,35 @@ def main(): # pylint: disable=too-many-statements,too-many-locals,too-many-bran
829
843
  ),
830
844
  )
831
845
 
846
+ build_browser_module_parser = subparsers.add_parser(
847
+ "build-browser-module",
848
+ help="Build a browser-native ESM module for rich JSON-compatible functions",
849
+ )
850
+ build_browser_module_parser.add_argument("file", help="Path to the source file")
851
+ build_browser_module_parser.add_argument(
852
+ "--lang", default=None,
853
+ help="Source language code (e.g., en, fr, hi). Auto-detect if omitted.",
854
+ )
855
+ build_browser_module_parser.add_argument(
856
+ "--out", default="program.browser.mjs",
857
+ help="Output ESM module path (default: program.browser.mjs)",
858
+ )
859
+ build_browser_module_parser.add_argument(
860
+ "--export",
861
+ action="append",
862
+ default=[],
863
+ help=(
864
+ "Function to export. May be repeated or comma-separated. "
865
+ "If omitted, the module exposes call(name, ...args)."
866
+ ),
867
+ )
868
+ build_browser_module_parser.add_argument(
869
+ "--stub-module",
870
+ action="append",
871
+ default=[],
872
+ help="Deprecated compatibility flag; native JS generation does not load Python modules.",
873
+ )
874
+
832
875
  # build-ui-bundle subcommand
833
876
  build_ui_bundle_parser = subparsers.add_parser(
834
877
  "build-ui-bundle",
@@ -1015,6 +1058,8 @@ def main(): # pylint: disable=too-many-statements,too-many-locals,too-many-bran
1015
1058
  cmd_encoding_check_generated(args)
1016
1059
  elif args.command == "build-wasm-bundle":
1017
1060
  cmd_build_wasm_bundle(args)
1061
+ elif args.command == "build-browser-module":
1062
+ cmd_build_browser_module(args)
1018
1063
  elif args.command == "build-ui-bundle":
1019
1064
  cmd_build_ui_bundle(args)
1020
1065
  elif args.command == "spatial-build":