onec-interactive-runtime-core 0.1.19__py3-none-any.whl

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 (87) hide show
  1. onec_interactive_runtime_core-0.1.19.dist-info/METADATA +12 -0
  2. onec_interactive_runtime_core-0.1.19.dist-info/RECORD +87 -0
  3. onec_interactive_runtime_core-0.1.19.dist-info/WHEEL +4 -0
  4. onec_interactive_runtime_core-0.1.19.dist-info/licenses/COPYRIGHT +9 -0
  5. onec_interactive_runtime_core-0.1.19.dist-info/licenses/LICENSE +232 -0
  6. onec_interactive_runtime_core-0.1.19.dist-info/licenses/THIRD_PARTY_NOTICES.txt +32 -0
  7. onec_runtime/AGENTS.md +7 -0
  8. onec_runtime/__init__.py +3 -0
  9. onec_runtime/artifacts.py +59 -0
  10. onec_runtime/bootstrap.py +310 -0
  11. onec_runtime/breakpoint_workspace.py +249 -0
  12. onec_runtime/bsl/__init__.py +139 -0
  13. onec_runtime/bsl/diagnostics.py +1046 -0
  14. onec_runtime/bsl/full_ast_worker_projection.py +522 -0
  15. onec_runtime/bsl/generated_semantic_parser.py +6322 -0
  16. onec_runtime/bsl/lexer.py +164 -0
  17. onec_runtime/bsl/module_catalog.py +420 -0
  18. onec_runtime/bsl/module_delta.py +1079 -0
  19. onec_runtime/bsl/module_universe.py +1877 -0
  20. onec_runtime/bsl/notebook_cells.py +232 -0
  21. onec_runtime/bsl/notebook_method_globals.py +74 -0
  22. onec_runtime/bsl/notebook_methods.py +175 -0
  23. onec_runtime/bsl/parser_artifact_identity.py +119 -0
  24. onec_runtime/bsl/parser_target.py +388 -0
  25. onec_runtime/bsl/preprocessor.py +16 -0
  26. onec_runtime/bsl/semantic_lowering.py +1539 -0
  27. onec_runtime/bsl/source_maps.py +2411 -0
  28. onec_runtime/bsl/worker_dependency_resolver.py +289 -0
  29. onec_runtime/bsl/worker_preprocessor.py +247 -0
  30. onec_runtime/bsl/worker_projection_model.py +137 -0
  31. onec_runtime/bsl/worker_reload_source_map.py +1697 -0
  32. onec_runtime/capture.py +113 -0
  33. onec_runtime/capture_source.py +453 -0
  34. onec_runtime/compact_table.py +376 -0
  35. onec_runtime/compact_table_backend.py +500 -0
  36. onec_runtime/config.py +198 -0
  37. onec_runtime/configurator_agent.py +520 -0
  38. onec_runtime/controller_worker.py +400 -0
  39. onec_runtime/credentials.py +18 -0
  40. onec_runtime/epf_container.py +196 -0
  41. onec_runtime/errors.py +205 -0
  42. onec_runtime/experiment.py +130 -0
  43. onec_runtime/extension_bundle.py +944 -0
  44. onec_runtime/extension_lifecycle.py +402 -0
  45. onec_runtime/extension_state.py +222 -0
  46. onec_runtime/fault_injection.py +30 -0
  47. onec_runtime/kernel.py +179 -0
  48. onec_runtime/lease.py +123 -0
  49. onec_runtime/observation.py +287 -0
  50. onec_runtime/performance_profile.py +245 -0
  51. onec_runtime/privacy.py +263 -0
  52. onec_runtime/processes.py +265 -0
  53. onec_runtime/prototype_runtime.py +2644 -0
  54. onec_runtime/rdbg/__init__.py +1 -0
  55. onec_runtime/rdbg/models.py +130 -0
  56. onec_runtime/rdbg/reconnect.py +59 -0
  57. onec_runtime/rdbg/session.py +913 -0
  58. onec_runtime/rdbg/transport.py +138 -0
  59. onec_runtime/rdbg/xml_codec.py +980 -0
  60. onec_runtime/recovery.py +106 -0
  61. onec_runtime/recovery_journal.py +79 -0
  62. onec_runtime/resources/extension/OnecInteractiveRuntime.cfe +0 -0
  63. onec_runtime/resources/extension/extension-manifest.json +108 -0
  64. onec_runtime/runtime_api.py +5272 -0
  65. onec_runtime/runtime_contracts.py +196 -0
  66. onec_runtime/server_worker.py +2034 -0
  67. onec_runtime/session.py +2123 -0
  68. onec_runtime/startup_diagnostics.py +45 -0
  69. onec_runtime/stop_routing.py +65 -0
  70. onec_runtime/supervised_processes.py +232 -0
  71. onec_runtime/supervised_runtime.py +512 -0
  72. onec_runtime/supervisor.py +363 -0
  73. onec_runtime/supervisor_model.py +148 -0
  74. onec_runtime/supervisor_protocol.py +77 -0
  75. onec_runtime/table_materialization.py +471 -0
  76. onec_runtime/table_transfer_backend.py +203 -0
  77. onec_runtime/table_value.py +311 -0
  78. onec_runtime/toolchain.py +730 -0
  79. onec_runtime/value_materialization.py +432 -0
  80. onec_runtime/value_transfer_backend.py +199 -0
  81. onec_runtime/worker_breakpoints.py +1431 -0
  82. onec_runtime/worker_epf.py +313 -0
  83. onec_runtime/worker_epf_template.py +53 -0
  84. onec_runtime/worker_stage_protocol.py +516 -0
  85. onec_runtime/worker_universe.py +3772 -0
  86. onec_runtime_build/__init__.py +1 -0
  87. onec_runtime_build/parser_target_development.py +116 -0
@@ -0,0 +1 @@
1
+ """Optional build-time adapters shipped separately from the runtime package."""
@@ -0,0 +1,116 @@
1
+ from __future__ import annotations
2
+
3
+ from pathlib import Path
4
+ import sys
5
+ from typing import Any
6
+
7
+ from onec_runtime.bsl.parser_artifact_identity import (
8
+ build_parser_artifact_manifest,
9
+ parsergen_package_sha256,
10
+ )
11
+ from onec_runtime.bsl.parser_target import (
12
+ DevelopmentParserDetails,
13
+ GeneratedParserMetadata,
14
+ PythonParserTarget,
15
+ )
16
+
17
+
18
+ def build_combined_python_parser_target(
19
+ target_type: type[PythonParserTarget],
20
+ grammar_path: Path,
21
+ parsergen_src: Path,
22
+ *,
23
+ lookahead: int = 1,
24
+ ) -> PythonParserTarget:
25
+ """Compile the combined grammar for development validation."""
26
+ parsergen_location = str(parsergen_src.resolve())
27
+ if parsergen_location not in sys.path:
28
+ sys.path.insert(0, parsergen_location)
29
+
30
+ from parsergen import generate_python_semantic_parser
31
+ from parsergen.analysis import compute_analysis
32
+ from parsergen.grammar_parser import parse_grammar
33
+ from parsergen.parser_ir import build_parser_ir
34
+ from parsergen.python_direct_codegen import PYTHON_SEMANTIC_BACKEND_ID
35
+ from parsergen.resolver import resolve_grammar
36
+ from parsergen.validation import validate_grammar
37
+
38
+ grammar_bytes = grammar_path.read_bytes()
39
+ parsed = parse_grammar(grammar_bytes.decode("utf-8"), str(grammar_path))
40
+ if parsed.grammar is None:
41
+ raise RuntimeError(f"Grammar parse failed: {parsed.diagnostics}")
42
+ if parsed.source_grammar is None or parsed.lowering is None:
43
+ raise RuntimeError("Grammar parse did not produce source lowering")
44
+ resolution = resolve_grammar(parsed.grammar)
45
+ if resolution.grammar is None:
46
+ raise RuntimeError(f"Grammar resolution failed: {resolution.diagnostics}")
47
+ analysis = compute_analysis(
48
+ resolution.grammar,
49
+ lookahead,
50
+ tuple(target_type.ENTRYPOINTS.values()),
51
+ )
52
+ validation = validate_grammar(
53
+ parsed.grammar,
54
+ resolution.grammar,
55
+ analysis,
56
+ target_type.ENTRYPOINTS,
57
+ (*parsed.diagnostics, *resolution.diagnostics),
58
+ lowering=parsed.lowering,
59
+ source_grammar=parsed.source_grammar,
60
+ )
61
+ errors = [
62
+ item for item in validation.diagnostics if item.severity.value == "error"
63
+ ]
64
+ if errors:
65
+ raise RuntimeError(f"Grammar validation failed: {errors}")
66
+ warnings = tuple(
67
+ {"code": item.code, "message": item.message}
68
+ for item in validation.diagnostics
69
+ if item.severity.value != "error"
70
+ )
71
+ parser_ir = build_parser_ir(
72
+ parsed.source_grammar,
73
+ parsed.lowering,
74
+ resolution.grammar,
75
+ analysis,
76
+ entrypoint_productions=tuple(target_type.ENTRYPOINTS.values()),
77
+ )
78
+ generated = generate_python_semantic_parser(
79
+ parsed.source_grammar,
80
+ parser_ir,
81
+ target_type.ENTRYPOINTS,
82
+ )
83
+ namespace: dict[str, Any] = {}
84
+ exec(
85
+ compile(generated.module_text, str(grammar_path), "exec"),
86
+ namespace,
87
+ )
88
+ manifest = build_parser_artifact_manifest(
89
+ backend_id=PYTHON_SEMANTIC_BACKEND_ID,
90
+ artifact_role="bsl-development-combined",
91
+ grammar_bytes=grammar_bytes,
92
+ parsergen_package_sha256=parsergen_package_sha256(parsergen_src),
93
+ entrypoints=tuple(target_type.ENTRYPOINTS.items()),
94
+ lookahead=lookahead,
95
+ production_names=tuple(
96
+ production.name for production in parsed.source_grammar.productions
97
+ ),
98
+ optimizer_options=(("parser_ir_optimized", True),),
99
+ codegen_options=(("runtime_source_span", False),),
100
+ )
101
+ return target_type(
102
+ namespace["GeneratedParser"],
103
+ namespace["GeneratedParseError"],
104
+ GeneratedParserMetadata(
105
+ manifest.identity_sha256,
106
+ manifest.parsergen_package_sha256,
107
+ manifest,
108
+ ),
109
+ generated_source=generated.module_text,
110
+ development=DevelopmentParserDetails(
111
+ resolution.grammar,
112
+ analysis,
113
+ parser_ir,
114
+ warnings,
115
+ ),
116
+ )