zexus 1.7.1 → 1.7.2

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 (159) hide show
  1. package/README.md +3 -3
  2. package/package.json +1 -1
  3. package/src/__init__.py +7 -0
  4. package/src/zexus/__init__.py +1 -1
  5. package/src/zexus/__pycache__/__init__.cpython-312.pyc +0 -0
  6. package/src/zexus/__pycache__/capability_system.cpython-312.pyc +0 -0
  7. package/src/zexus/__pycache__/debug_sanitizer.cpython-312.pyc +0 -0
  8. package/src/zexus/__pycache__/environment.cpython-312.pyc +0 -0
  9. package/src/zexus/__pycache__/error_reporter.cpython-312.pyc +0 -0
  10. package/src/zexus/__pycache__/input_validation.cpython-312.pyc +0 -0
  11. package/src/zexus/__pycache__/lexer.cpython-312.pyc +0 -0
  12. package/src/zexus/__pycache__/module_cache.cpython-312.pyc +0 -0
  13. package/src/zexus/__pycache__/module_manager.cpython-312.pyc +0 -0
  14. package/src/zexus/__pycache__/object.cpython-312.pyc +0 -0
  15. package/src/zexus/__pycache__/security.cpython-312.pyc +0 -0
  16. package/src/zexus/__pycache__/security_enforcement.cpython-312.pyc +0 -0
  17. package/src/zexus/__pycache__/syntax_validator.cpython-312.pyc +0 -0
  18. package/src/zexus/__pycache__/zexus_ast.cpython-312.pyc +0 -0
  19. package/src/zexus/__pycache__/zexus_token.cpython-312.pyc +0 -0
  20. package/src/zexus/access_control_system/__pycache__/__init__.cpython-312.pyc +0 -0
  21. package/src/zexus/access_control_system/__pycache__/access_control.cpython-312.pyc +0 -0
  22. package/src/zexus/advanced_types.py +17 -2
  23. package/src/zexus/blockchain/__init__.py +411 -0
  24. package/src/zexus/blockchain/accelerator.py +1160 -0
  25. package/src/zexus/blockchain/chain.py +660 -0
  26. package/src/zexus/blockchain/consensus.py +821 -0
  27. package/src/zexus/blockchain/contract_vm.py +1019 -0
  28. package/src/zexus/blockchain/crypto.py +79 -14
  29. package/src/zexus/blockchain/events.py +526 -0
  30. package/src/zexus/blockchain/loadtest.py +721 -0
  31. package/src/zexus/blockchain/monitoring.py +350 -0
  32. package/src/zexus/blockchain/mpt.py +716 -0
  33. package/src/zexus/blockchain/multichain.py +951 -0
  34. package/src/zexus/blockchain/multiprocess_executor.py +338 -0
  35. package/src/zexus/blockchain/network.py +886 -0
  36. package/src/zexus/blockchain/node.py +666 -0
  37. package/src/zexus/blockchain/rpc.py +1203 -0
  38. package/src/zexus/blockchain/rust_bridge.py +421 -0
  39. package/src/zexus/blockchain/storage.py +423 -0
  40. package/src/zexus/blockchain/tokens.py +750 -0
  41. package/src/zexus/blockchain/upgradeable.py +1004 -0
  42. package/src/zexus/blockchain/verification.py +1602 -0
  43. package/src/zexus/blockchain/wallet.py +621 -0
  44. package/src/zexus/cli/__pycache__/main.cpython-312.pyc +0 -0
  45. package/src/zexus/cli/main.py +300 -20
  46. package/src/zexus/cli/zpm.py +1 -1
  47. package/src/zexus/compiler/__pycache__/bytecode.cpython-312.pyc +0 -0
  48. package/src/zexus/compiler/__pycache__/lexer.cpython-312.pyc +0 -0
  49. package/src/zexus/compiler/__pycache__/parser.cpython-312.pyc +0 -0
  50. package/src/zexus/compiler/__pycache__/semantic.cpython-312.pyc +0 -0
  51. package/src/zexus/compiler/__pycache__/zexus_ast.cpython-312.pyc +0 -0
  52. package/src/zexus/compiler/lexer.py +10 -5
  53. package/src/zexus/concurrency_system.py +79 -0
  54. package/src/zexus/config.py +54 -0
  55. package/src/zexus/crypto_bridge.py +244 -8
  56. package/src/zexus/dap/__init__.py +10 -0
  57. package/src/zexus/dap/__main__.py +4 -0
  58. package/src/zexus/dap/dap_server.py +391 -0
  59. package/src/zexus/dap/debug_engine.py +298 -0
  60. package/src/zexus/environment.py +10 -1
  61. package/src/zexus/evaluator/__pycache__/bytecode_compiler.cpython-312.pyc +0 -0
  62. package/src/zexus/evaluator/__pycache__/core.cpython-312.pyc +0 -0
  63. package/src/zexus/evaluator/__pycache__/expressions.cpython-312.pyc +0 -0
  64. package/src/zexus/evaluator/__pycache__/functions.cpython-312.pyc +0 -0
  65. package/src/zexus/evaluator/__pycache__/resource_limiter.cpython-312.pyc +0 -0
  66. package/src/zexus/evaluator/__pycache__/statements.cpython-312.pyc +0 -0
  67. package/src/zexus/evaluator/__pycache__/unified_execution.cpython-312.pyc +0 -0
  68. package/src/zexus/evaluator/__pycache__/utils.cpython-312.pyc +0 -0
  69. package/src/zexus/evaluator/bytecode_compiler.py +441 -37
  70. package/src/zexus/evaluator/core.py +560 -49
  71. package/src/zexus/evaluator/expressions.py +122 -49
  72. package/src/zexus/evaluator/functions.py +417 -16
  73. package/src/zexus/evaluator/statements.py +521 -118
  74. package/src/zexus/evaluator/unified_execution.py +573 -72
  75. package/src/zexus/evaluator/utils.py +14 -2
  76. package/src/zexus/event_loop.py +186 -0
  77. package/src/zexus/lexer.py +742 -486
  78. package/src/zexus/lsp/__init__.py +1 -1
  79. package/src/zexus/lsp/definition_provider.py +163 -9
  80. package/src/zexus/lsp/server.py +22 -8
  81. package/src/zexus/lsp/symbol_provider.py +182 -9
  82. package/src/zexus/module_cache.py +237 -9
  83. package/src/zexus/object.py +64 -6
  84. package/src/zexus/parser/__pycache__/parser.cpython-312.pyc +0 -0
  85. package/src/zexus/parser/__pycache__/strategy_context.cpython-312.pyc +0 -0
  86. package/src/zexus/parser/__pycache__/strategy_structural.cpython-312.pyc +0 -0
  87. package/src/zexus/parser/parser.py +786 -285
  88. package/src/zexus/parser/strategy_context.py +407 -66
  89. package/src/zexus/parser/strategy_structural.py +117 -19
  90. package/src/zexus/persistence.py +15 -1
  91. package/src/zexus/renderer/__init__.py +15 -0
  92. package/src/zexus/renderer/__pycache__/__init__.cpython-312.pyc +0 -0
  93. package/src/zexus/renderer/__pycache__/backend.cpython-312.pyc +0 -0
  94. package/src/zexus/renderer/__pycache__/canvas.cpython-312.pyc +0 -0
  95. package/src/zexus/renderer/__pycache__/color_system.cpython-312.pyc +0 -0
  96. package/src/zexus/renderer/__pycache__/layout.cpython-312.pyc +0 -0
  97. package/src/zexus/renderer/__pycache__/main_renderer.cpython-312.pyc +0 -0
  98. package/src/zexus/renderer/__pycache__/painter.cpython-312.pyc +0 -0
  99. package/src/zexus/renderer/tk_backend.py +208 -0
  100. package/src/zexus/renderer/web_backend.py +260 -0
  101. package/src/zexus/runtime/__pycache__/__init__.cpython-312.pyc +0 -0
  102. package/src/zexus/runtime/__pycache__/async_runtime.cpython-312.pyc +0 -0
  103. package/src/zexus/runtime/__pycache__/load_manager.cpython-312.pyc +0 -0
  104. package/src/zexus/runtime/file_flags.py +137 -0
  105. package/src/zexus/safety/__pycache__/__init__.cpython-312.pyc +0 -0
  106. package/src/zexus/safety/__pycache__/memory_safety.cpython-312.pyc +0 -0
  107. package/src/zexus/security.py +424 -34
  108. package/src/zexus/stdlib/fs.py +23 -18
  109. package/src/zexus/stdlib/http.py +289 -186
  110. package/src/zexus/stdlib/sockets.py +207 -163
  111. package/src/zexus/stdlib/websockets.py +282 -0
  112. package/src/zexus/stdlib_integration.py +369 -2
  113. package/src/zexus/strategy_recovery.py +6 -3
  114. package/src/zexus/type_checker.py +423 -0
  115. package/src/zexus/virtual_filesystem.py +189 -2
  116. package/src/zexus/vm/__init__.py +113 -3
  117. package/src/zexus/vm/__pycache__/async_optimizer.cpython-312.pyc +0 -0
  118. package/src/zexus/vm/__pycache__/bytecode.cpython-312.pyc +0 -0
  119. package/src/zexus/vm/__pycache__/bytecode_converter.cpython-312.pyc +0 -0
  120. package/src/zexus/vm/__pycache__/cache.cpython-312.pyc +0 -0
  121. package/src/zexus/vm/__pycache__/compiler.cpython-312.pyc +0 -0
  122. package/src/zexus/vm/__pycache__/gas_metering.cpython-312.pyc +0 -0
  123. package/src/zexus/vm/__pycache__/jit.cpython-312.pyc +0 -0
  124. package/src/zexus/vm/__pycache__/parallel_vm.cpython-312.pyc +0 -0
  125. package/src/zexus/vm/__pycache__/vm.cpython-312.pyc +0 -0
  126. package/src/zexus/vm/async_optimizer.py +14 -1
  127. package/src/zexus/vm/binary_bytecode.py +659 -0
  128. package/src/zexus/vm/bytecode.py +28 -1
  129. package/src/zexus/vm/bytecode_converter.py +26 -12
  130. package/src/zexus/vm/cabi.c +1985 -0
  131. package/src/zexus/vm/cabi.cpython-312-x86_64-linux-gnu.so +0 -0
  132. package/src/zexus/vm/cabi.h +127 -0
  133. package/src/zexus/vm/cache.py +557 -17
  134. package/src/zexus/vm/compiler.py +703 -5
  135. package/src/zexus/vm/fastops.c +15743 -0
  136. package/src/zexus/vm/fastops.cpython-312-x86_64-linux-gnu.so +0 -0
  137. package/src/zexus/vm/fastops.pyx +288 -0
  138. package/src/zexus/vm/gas_metering.py +50 -9
  139. package/src/zexus/vm/jit.py +83 -2
  140. package/src/zexus/vm/native_jit_backend.py +1816 -0
  141. package/src/zexus/vm/native_runtime.cpp +1388 -0
  142. package/src/zexus/vm/native_runtime.cpython-312-x86_64-linux-gnu.so +0 -0
  143. package/src/zexus/vm/optimizer.py +161 -11
  144. package/src/zexus/vm/parallel_vm.py +118 -42
  145. package/src/zexus/vm/peephole_optimizer.py +82 -4
  146. package/src/zexus/vm/profiler.py +38 -18
  147. package/src/zexus/vm/register_allocator.py +16 -5
  148. package/src/zexus/vm/register_vm.py +8 -5
  149. package/src/zexus/vm/vm.py +3411 -573
  150. package/src/zexus/vm/wasm_compiler.py +658 -0
  151. package/src/zexus/zexus_ast.py +63 -11
  152. package/src/zexus/zexus_token.py +13 -5
  153. package/src/zexus/zpm/installer.py +55 -15
  154. package/src/zexus/zpm/package_manager.py +1 -1
  155. package/src/zexus/zpm/registry.py +257 -28
  156. package/src/zexus.egg-info/PKG-INFO +7 -4
  157. package/src/zexus.egg-info/SOURCES.txt +116 -9
  158. package/src/zexus.egg-info/entry_points.txt +1 -0
  159. package/src/zexus.egg-info/requires.txt +4 -0
@@ -0,0 +1,127 @@
1
+ #pragma once
2
+ #include <Python.h>
3
+
4
+ // Stable data layout: all Zexus VM values are represented as PyObject*.
5
+ // Native JIT works purely with PyObject* and C ABI helpers.
6
+
7
+ typedef PyObject* ZxValue;
8
+
9
+ #ifdef __cplusplus
10
+ extern "C" {
11
+ #endif
12
+
13
+ ZxValue zexus_cabi_call_callable(ZxValue callable, ZxValue args_tuple);
14
+ ZxValue zexus_cabi_call_method(ZxValue obj, ZxValue method_name, ZxValue args_tuple);
15
+ ZxValue zexus_cabi_call_name(ZxValue env, ZxValue builtins, ZxValue name, ZxValue args_tuple);
16
+
17
+ ZxValue zexus_cabi_env_get(ZxValue env, ZxValue name);
18
+ int zexus_cabi_env_set(ZxValue env, ZxValue name, ZxValue value);
19
+
20
+ ZxValue zexus_cabi_build_list_from_array(ZxValue *items, Py_ssize_t count);
21
+ ZxValue zexus_cabi_build_map_from_array(ZxValue *items, Py_ssize_t count);
22
+ ZxValue zexus_cabi_build_set_from_array(ZxValue *items, Py_ssize_t count);
23
+ ZxValue zexus_cabi_build_tuple_from_array(ZxValue *items, Py_ssize_t count);
24
+ ZxValue zexus_cabi_iter_next(ZxValue iterator);
25
+
26
+ ZxValue zexus_cabi_number_add(ZxValue a, ZxValue b);
27
+ ZxValue zexus_cabi_number_sub(ZxValue a, ZxValue b);
28
+ ZxValue zexus_cabi_number_mul(ZxValue a, ZxValue b);
29
+ ZxValue zexus_cabi_number_div(ZxValue a, ZxValue b);
30
+ ZxValue zexus_cabi_number_mod(ZxValue a, ZxValue b);
31
+ ZxValue zexus_cabi_number_pow(ZxValue a, ZxValue b);
32
+ ZxValue zexus_cabi_number_neg(ZxValue a);
33
+
34
+ ZxValue zexus_cabi_compare_eq(ZxValue a, ZxValue b);
35
+ ZxValue zexus_cabi_compare_ne(ZxValue a, ZxValue b);
36
+ ZxValue zexus_cabi_compare_lt(ZxValue a, ZxValue b);
37
+ ZxValue zexus_cabi_compare_gt(ZxValue a, ZxValue b);
38
+ ZxValue zexus_cabi_compare_lte(ZxValue a, ZxValue b);
39
+ ZxValue zexus_cabi_compare_gte(ZxValue a, ZxValue b);
40
+
41
+ int zexus_cabi_truthy_int(ZxValue a);
42
+ ZxValue zexus_cabi_not(ZxValue a);
43
+ ZxValue zexus_cabi_bool_and(ZxValue a, ZxValue b);
44
+ ZxValue zexus_cabi_bool_or(ZxValue a, ZxValue b);
45
+
46
+ ZxValue zexus_cabi_index(ZxValue obj, ZxValue idx);
47
+ ZxValue zexus_cabi_get_attr(ZxValue obj, ZxValue attr);
48
+ ZxValue zexus_cabi_get_length(ZxValue obj);
49
+
50
+ ZxValue zexus_cabi_print(ZxValue obj);
51
+ ZxValue zexus_cabi_read(ZxValue path);
52
+ ZxValue zexus_cabi_write(ZxValue path, ZxValue content);
53
+ ZxValue zexus_cabi_import(ZxValue name);
54
+
55
+ ZxValue zexus_cabi_int_from_long(long long value);
56
+
57
+ ZxValue zexus_cabi_hash_block(ZxValue obj);
58
+ ZxValue zexus_cabi_merkle_root_from_array(ZxValue *items, Py_ssize_t count);
59
+ ZxValue zexus_cabi_verify_signature(ZxValue env, ZxValue builtins, ZxValue sig, ZxValue msg, ZxValue pk);
60
+
61
+ ZxValue zexus_cabi_state_read(ZxValue env, ZxValue key);
62
+ ZxValue zexus_cabi_state_write(ZxValue env, ZxValue key, ZxValue value);
63
+ ZxValue zexus_cabi_tx_begin(ZxValue env);
64
+ ZxValue zexus_cabi_tx_commit(ZxValue env);
65
+ ZxValue zexus_cabi_tx_revert(ZxValue env);
66
+ ZxValue zexus_cabi_gas_charge(ZxValue env, ZxValue amount);
67
+ ZxValue zexus_cabi_ledger_append(ZxValue env, ZxValue entry);
68
+
69
+ ZxValue zexus_cabi_register_event(ZxValue vm, ZxValue name, ZxValue handler);
70
+ ZxValue zexus_cabi_emit_event(ZxValue vm, ZxValue env, ZxValue builtins, ZxValue name, ZxValue payload);
71
+ ZxValue zexus_cabi_spawn_name(ZxValue vm, ZxValue env, ZxValue builtins, ZxValue name, ZxValue args_tuple);
72
+ ZxValue zexus_cabi_spawn_call(ZxValue vm, ZxValue callable, ZxValue args_tuple);
73
+ ZxValue zexus_cabi_await(ZxValue vm, ZxValue task_or_coro);
74
+ ZxValue zexus_cabi_lock_acquire(ZxValue env, ZxValue key);
75
+ ZxValue zexus_cabi_lock_release(ZxValue env, ZxValue key);
76
+ ZxValue zexus_cabi_barrier_wait(ZxValue barrier, ZxValue timeout);
77
+ ZxValue zexus_cabi_atomic_add(ZxValue env, ZxValue key, ZxValue delta);
78
+ ZxValue zexus_cabi_atomic_cas(ZxValue env, ZxValue key, ZxValue expected, ZxValue new_value);
79
+ ZxValue zexus_cabi_get_iter(ZxValue obj);
80
+ ZxValue zexus_cabi_iter_next_pair(ZxValue iterator);
81
+ ZxValue zexus_cabi_atomic_add(ZxValue env, ZxValue key, ZxValue delta);
82
+ ZxValue zexus_cabi_atomic_cas(ZxValue env, ZxValue key, ZxValue expected, ZxValue new_value);
83
+ ZxValue zexus_cabi_barrier_wait(ZxValue barrier, ZxValue timeout);
84
+
85
+ ZxValue zexus_cabi_define_enum(ZxValue env, ZxValue name, ZxValue spec);
86
+ ZxValue zexus_cabi_define_protocol(ZxValue env, ZxValue name, ZxValue spec);
87
+ ZxValue zexus_cabi_assert_protocol(ZxValue env, ZxValue name, ZxValue spec);
88
+ ZxValue zexus_cabi_define_capability(ZxValue env, ZxValue name, ZxValue definition);
89
+ ZxValue zexus_cabi_grant_capability(ZxValue env, ZxValue entity, ZxValue *caps, Py_ssize_t count);
90
+ ZxValue zexus_cabi_revoke_capability(ZxValue env, ZxValue entity, ZxValue *caps, Py_ssize_t count);
91
+ ZxValue zexus_cabi_audit_log(ZxValue env, ZxValue ts, ZxValue action, ZxValue data);
92
+ ZxValue zexus_cabi_define_screen(ZxValue env, ZxValue name, ZxValue props);
93
+ ZxValue zexus_cabi_define_component(ZxValue env, ZxValue name, ZxValue props);
94
+ ZxValue zexus_cabi_define_theme(ZxValue env, ZxValue name, ZxValue props);
95
+ ZxValue zexus_cabi_define_contract(ZxValue *items, Py_ssize_t count, ZxValue name);
96
+ ZxValue zexus_cabi_define_entity(ZxValue *items, Py_ssize_t count, ZxValue name);
97
+ ZxValue zexus_cabi_restrict_access(ZxValue env, ZxValue obj, ZxValue prop, ZxValue restriction);
98
+ ZxValue zexus_cabi_enable_error_mode(ZxValue env);
99
+ ZxValue zexus_cabi_export(ZxValue env, ZxValue name, ZxValue value);
100
+ ZxValue zexus_cabi_slice(ZxValue obj, ZxValue start, ZxValue end);
101
+ ZxValue zexus_cabi_require(ZxValue env, ZxValue condition, ZxValue message);
102
+
103
+ #ifdef __cplusplus
104
+ }
105
+ #endif
106
+
107
+ typedef ZxValue (*zx_call_callable_fn)(ZxValue callable, ZxValue args_tuple);
108
+ typedef ZxValue (*zx_call_method_fn)(ZxValue obj, ZxValue method_name, ZxValue args_tuple);
109
+ typedef ZxValue (*zx_call_name_fn)(ZxValue env, ZxValue builtins, ZxValue name, ZxValue args_tuple);
110
+
111
+ typedef ZxValue (*zx_env_get_fn)(ZxValue env, ZxValue name);
112
+ typedef int (*zx_env_set_fn)(ZxValue env, ZxValue name, ZxValue value);
113
+
114
+ typedef ZxValue (*zx_build_list_from_array_fn)(ZxValue *items, Py_ssize_t count);
115
+ typedef ZxValue (*zx_build_map_from_array_fn)(ZxValue *items, Py_ssize_t count);
116
+ typedef ZxValue (*zx_build_tuple_from_array_fn)(ZxValue *items, Py_ssize_t count);
117
+
118
+ typedef ZxValue (*zx_number_binop_fn)(ZxValue a, ZxValue b);
119
+ typedef ZxValue (*zx_number_unop_fn)(ZxValue a);
120
+
121
+ typedef ZxValue (*zx_compare_fn)(ZxValue a, ZxValue b);
122
+
123
+ typedef int (*zx_truthy_int_fn)(ZxValue a);
124
+
125
+ typedef ZxValue (*zx_index_fn)(ZxValue obj, ZxValue idx);
126
+ typedef ZxValue (*zx_get_attr_fn)(ZxValue obj, ZxValue attr);
127
+ typedef ZxValue (*zx_get_length_fn)(ZxValue obj);