jaclang 0.7.2__py3-none-any.whl → 0.7.8__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.
Potentially problematic release.
This version of jaclang might be problematic. Click here for more details.
- jaclang/cli/cli.py +2 -2
- jaclang/compiler/__init__.py +11 -12
- jaclang/compiler/absyntree.py +499 -294
- jaclang/compiler/codeloc.py +2 -2
- jaclang/compiler/constant.py +100 -2
- jaclang/compiler/jac.lark +27 -19
- jaclang/compiler/parser.py +119 -92
- jaclang/compiler/passes/main/access_modifier_pass.py +20 -12
- jaclang/compiler/passes/main/def_impl_match_pass.py +28 -14
- jaclang/compiler/passes/main/def_use_pass.py +59 -40
- jaclang/compiler/passes/main/fuse_typeinfo_pass.py +65 -43
- jaclang/compiler/passes/main/import_pass.py +8 -6
- jaclang/compiler/passes/main/pyast_gen_pass.py +97 -42
- jaclang/compiler/passes/main/pyast_load_pass.py +47 -12
- jaclang/compiler/passes/main/pyjac_ast_link_pass.py +19 -10
- jaclang/compiler/passes/main/registry_pass.py +6 -6
- jaclang/compiler/passes/main/sub_node_tab_pass.py +0 -5
- jaclang/compiler/passes/main/sym_tab_build_pass.py +43 -235
- jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +21 -4
- jaclang/compiler/passes/main/tests/test_def_use_pass.py +5 -10
- jaclang/compiler/passes/main/type_check_pass.py +2 -1
- jaclang/compiler/passes/tool/jac_formatter_pass.py +30 -9
- jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +16 -0
- jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +16 -0
- jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +1 -1
- jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +1 -1
- jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +1 -1
- jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +1 -1
- jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +1 -1
- jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +1 -1
- jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +1 -1
- jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +1 -1
- jaclang/compiler/passes/transform.py +2 -4
- jaclang/compiler/passes/utils/mypy_ast_build.py +1 -8
- jaclang/{core/registry.py → compiler/semtable.py} +1 -3
- jaclang/compiler/symtable.py +142 -101
- jaclang/compiler/tests/test_parser.py +2 -2
- jaclang/core/{construct.py → architype.py} +25 -240
- jaclang/core/constructs.py +44 -0
- jaclang/core/context.py +157 -0
- jaclang/core/importer.py +18 -9
- jaclang/core/memory.py +99 -0
- jaclang/core/test.py +90 -0
- jaclang/core/utils.py +2 -2
- jaclang/langserve/engine.py +127 -50
- jaclang/langserve/server.py +34 -61
- jaclang/langserve/tests/fixtures/base_module_structure.jac +28 -0
- jaclang/langserve/tests/fixtures/circle.jac +16 -12
- jaclang/langserve/tests/fixtures/circle_err.jac +3 -3
- jaclang/langserve/tests/fixtures/circle_pure.test.jac +15 -0
- jaclang/langserve/tests/fixtures/import_include_statements.jac +6 -0
- jaclang/langserve/tests/fixtures/py_import.py +26 -0
- jaclang/langserve/tests/test_server.py +93 -18
- jaclang/langserve/utils.py +124 -10
- jaclang/plugin/builtin.py +1 -1
- jaclang/plugin/default.py +25 -77
- jaclang/plugin/feature.py +25 -7
- jaclang/plugin/spec.py +18 -20
- jaclang/settings.py +3 -0
- jaclang/tests/fixtures/abc.jac +16 -12
- jaclang/tests/fixtures/aott_raise.jac +1 -1
- jaclang/tests/fixtures/byllmissue.jac +9 -0
- jaclang/tests/fixtures/edgetypeissue.jac +10 -0
- jaclang/tests/fixtures/hello.jac +1 -1
- jaclang/tests/fixtures/impl_match_confused.impl.jac +1 -0
- jaclang/tests/fixtures/impl_match_confused.jac +5 -0
- jaclang/tests/fixtures/maxfail_run_test.jac +17 -5
- jaclang/tests/fixtures/run_test.jac +17 -5
- jaclang/tests/test_bugs.py +19 -0
- jaclang/tests/test_cli.py +1 -1
- jaclang/tests/test_language.py +65 -100
- jaclang/tests/test_reference.py +1 -1
- jaclang/utils/lang_tools.py +5 -4
- jaclang/utils/test.py +2 -1
- jaclang/utils/treeprinter.py +22 -8
- {jaclang-0.7.2.dist-info → jaclang-0.7.8.dist-info}/METADATA +1 -1
- {jaclang-0.7.2.dist-info → jaclang-0.7.8.dist-info}/RECORD +79 -83
- jaclang/core/aott.py +0 -310
- jaclang/core/llms/__init__.py +0 -20
- jaclang/core/llms/anthropic.py +0 -90
- jaclang/core/llms/base.py +0 -206
- jaclang/core/llms/groq.py +0 -70
- jaclang/core/llms/huggingface.py +0 -76
- jaclang/core/llms/ollama.py +0 -81
- jaclang/core/llms/openai.py +0 -65
- jaclang/core/llms/togetherai.py +0 -63
- jaclang/core/llms/utils.py +0 -9
- jaclang/tests/fixtures/math_question.jpg +0 -0
- jaclang/tests/fixtures/with_llm_function.jac +0 -33
- jaclang/tests/fixtures/with_llm_lower.jac +0 -45
- jaclang/tests/fixtures/with_llm_method.jac +0 -51
- jaclang/tests/fixtures/with_llm_type.jac +0 -52
- jaclang/tests/fixtures/with_llm_vision.jac +0 -25
- {jaclang-0.7.2.dist-info → jaclang-0.7.8.dist-info}/WHEEL +0 -0
- {jaclang-0.7.2.dist-info → jaclang-0.7.8.dist-info}/entry_points.txt +0 -0
|
@@ -2,33 +2,33 @@ jaclang/__init__.py,sha256=quKqbhKk5CQ0k798jIXMbeAKzQxD0yhOpQGSvYD6TD8,399
|
|
|
2
2
|
jaclang/cli/.gitignore,sha256=NYuons2lzuCpCdefMnztZxeSMgtPVJF6R6zSgVDOV20,27
|
|
3
3
|
jaclang/cli/__init__.py,sha256=7aaPgYddIAHBvkdv36ngbfwsimMnfGaTDcaHYMg_vf4,23
|
|
4
4
|
jaclang/cli/cli.md,sha256=4BPJGdcyvs_rXgd_DPEGjkKSGe5ureXXYaQsf-_z_LU,5939
|
|
5
|
-
jaclang/cli/cli.py,sha256=
|
|
5
|
+
jaclang/cli/cli.py,sha256=8CbN_oqMhZ71AJhgA9J0Q551GMO3ey273dgaFPckLyI,13582
|
|
6
6
|
jaclang/cli/cmdreg.py,sha256=u0jAd6A8czt7tBgPBBKBhYAG4By1FrjEGaTU2XFKeYs,8372
|
|
7
7
|
jaclang/compiler/.gitignore,sha256=n1k2_xXTorp9PY8hhYM4psHircn-NMaFx95bSgDKopo,10
|
|
8
|
-
jaclang/compiler/__init__.py,sha256=
|
|
9
|
-
jaclang/compiler/absyntree.py,sha256=
|
|
10
|
-
jaclang/compiler/codeloc.py,sha256=
|
|
8
|
+
jaclang/compiler/__init__.py,sha256=P8h-q53h-MTK8Wmvpb7sP5R6Ojz94Y2F9nqMwIUt0d4,3064
|
|
9
|
+
jaclang/compiler/absyntree.py,sha256=q3Ma7mGGzPDRoiNEX_H0wJmechx4zGpSYTnYCJpa-WA,134509
|
|
10
|
+
jaclang/compiler/codeloc.py,sha256=YhJcHjhMCOT6mV1qLehwriuFgW0H2-ntq68k_r8yBs4,2800
|
|
11
11
|
jaclang/compiler/compile.py,sha256=0d8p4i2LXg2RCu1XfWx_Jq_dx7pK2Zn2VIj-apvX_nI,3389
|
|
12
|
-
jaclang/compiler/constant.py,sha256=
|
|
13
|
-
jaclang/compiler/jac.lark,sha256=
|
|
14
|
-
jaclang/compiler/parser.py,sha256=
|
|
12
|
+
jaclang/compiler/constant.py,sha256=n4KaEkvnb9-KVJJVvxiWimhjbrOiknBvLHAVDBFbF7Y,8991
|
|
13
|
+
jaclang/compiler/jac.lark,sha256=Vu14pEa9HObGQCHCGFhIdq__yA3W0-cKAX53NZc--xM,17204
|
|
14
|
+
jaclang/compiler/parser.py,sha256=RccqG82EqkDdfi0n-4BB34Dh80EYINWy36jX8Ntklhw,140235
|
|
15
15
|
jaclang/compiler/passes/__init__.py,sha256=0Tw0d130ZjzA05jVcny9cf5NfLjlaM70PKqFnY4zqn4,69
|
|
16
16
|
jaclang/compiler/passes/ir_pass.py,sha256=gh1Zd8ouu79FoxerW1sMxktmfeC9gHyp4H_MoAviYP8,5504
|
|
17
17
|
jaclang/compiler/passes/main/__init__.py,sha256=YSWVNkgnJKF32LpJwX__FwvYrpTSoxFqvnw410WrhkA,947
|
|
18
|
-
jaclang/compiler/passes/main/access_modifier_pass.py,sha256=
|
|
19
|
-
jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=
|
|
20
|
-
jaclang/compiler/passes/main/def_use_pass.py,sha256=
|
|
21
|
-
jaclang/compiler/passes/main/fuse_typeinfo_pass.py,sha256
|
|
22
|
-
jaclang/compiler/passes/main/import_pass.py,sha256=
|
|
23
|
-
jaclang/compiler/passes/main/pyast_gen_pass.py,sha256
|
|
24
|
-
jaclang/compiler/passes/main/pyast_load_pass.py,sha256=
|
|
18
|
+
jaclang/compiler/passes/main/access_modifier_pass.py,sha256=fvmvU_V72Zby8fiBnVESinAYFII5qJWKYXtmn4JAChA,5140
|
|
19
|
+
jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=yAkwLQm2NBJycJVSmG88Shq0r2GSxTH8goINDfGIHek,4583
|
|
20
|
+
jaclang/compiler/passes/main/def_use_pass.py,sha256=68Uts_v-R-9mzBXC9EfXpcBEQwqnVcpL2JD0sri88AY,9674
|
|
21
|
+
jaclang/compiler/passes/main/fuse_typeinfo_pass.py,sha256=-Ubaxk_5Tm4e09pDiTk0U-vZqUIZRzffLBw4yT2pOVo,18187
|
|
22
|
+
jaclang/compiler/passes/main/import_pass.py,sha256=18Lf8oC66Q2TmpKPjk-tY2a9kUtbssG_z4VU8RZLD_0,10374
|
|
23
|
+
jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=b0LHAeJbyZXDyqBD38oenar_HuR8urZGlW9SLaNYO2E,139978
|
|
24
|
+
jaclang/compiler/passes/main/pyast_load_pass.py,sha256=UJyoSpz_QHN0yX7RIubVQ-GjQxcVSkyueDxlwK6Qv-w,93127
|
|
25
25
|
jaclang/compiler/passes/main/pybc_gen_pass.py,sha256=CjA9AqyMO3Pv_b5Hh0YI6JmCqIru2ASonO6rhrkau-M,1336
|
|
26
|
-
jaclang/compiler/passes/main/pyjac_ast_link_pass.py,sha256=
|
|
26
|
+
jaclang/compiler/passes/main/pyjac_ast_link_pass.py,sha256=dnx_MvrVIks9hpUbiF2m3ao_xrfCwPajPJec7Bis_bA,8338
|
|
27
27
|
jaclang/compiler/passes/main/pyout_pass.py,sha256=QWVB-AyVBha3OespP89LMuslRsdG2niZErwtnRPiURM,3191
|
|
28
|
-
jaclang/compiler/passes/main/registry_pass.py,sha256=
|
|
28
|
+
jaclang/compiler/passes/main/registry_pass.py,sha256=yc5ua5iyYTGizJewhP-AcXKvDZ0ilzy9hH1MIQzsy_0,4573
|
|
29
29
|
jaclang/compiler/passes/main/schedules.py,sha256=cu3-AIckvbKGe3C-DbtDwwAdvnX25CdDP6j9QLps9Kg,1298
|
|
30
|
-
jaclang/compiler/passes/main/sub_node_tab_pass.py,sha256=
|
|
31
|
-
jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=
|
|
30
|
+
jaclang/compiler/passes/main/sub_node_tab_pass.py,sha256=25HEJGBbDlJibyW5MV4ShXQ2vmzG3LDreknV-u2nQjk,1184
|
|
31
|
+
jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=_EYyPOS2_CMgO2znCJck3NLgg6kx7lfiQGhY3Fy9JnI,34689
|
|
32
32
|
jaclang/compiler/passes/main/tests/__init__.py,sha256=UBAATLUEH3yuBN4LYKnXXV79kokRc4XB-rX12qfu0ds,28
|
|
33
33
|
jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac,sha256=PUQSEKl0ZCjwhgU23o6qX8wEmnqvT7MSoFn8TVBlFpc,31
|
|
34
34
|
jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac,sha256=Br7R3fHBl5hZTfwelSlIvAzca7rb9v1bAIpeU1NnFmg,28
|
|
@@ -51,8 +51,8 @@ jaclang/compiler/passes/main/tests/fixtures/incautoimpl.jac,sha256=WX54UE-AUAfnj
|
|
|
51
51
|
jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac,sha256=BxgmNUdz76gKLi6PXnLZE9rartodMgch5ydpGrd25Ec,87
|
|
52
52
|
jaclang/compiler/passes/main/tests/fixtures/registry.jac,sha256=1G6amtU1zIFCgq09v7xTp9zZ5sw5IbXHfYVlOo-drPg,993
|
|
53
53
|
jaclang/compiler/passes/main/tests/fixtures/type_info.jac,sha256=64Im2L-R3YF8DEuTt29QE6mJI5PnFe3PiwcDLKa8gOE,661
|
|
54
|
-
jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256
|
|
55
|
-
jaclang/compiler/passes/main/tests/test_def_use_pass.py,sha256=
|
|
54
|
+
jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256=zWF2l93RjyG0AWyDXdXsMlPWYOhX46d699YqvIETRGY,1836
|
|
55
|
+
jaclang/compiler/passes/main/tests/test_def_use_pass.py,sha256=0ieyoeiDSK2m3dmVN00oJK2TdJhxWwxA1lnxT95wz0A,843
|
|
56
56
|
jaclang/compiler/passes/main/tests/test_import_pass.py,sha256=qHz3IHJmFmTKpP_stU-Nhs9-1spR_04KddUSWdD5bl4,2073
|
|
57
57
|
jaclang/compiler/passes/main/tests/test_pyast_build_pass.py,sha256=LIT4TP-nhtftRtY5rNySRQlim-dWMSlkfUvkhZTk4pc,1383
|
|
58
58
|
jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py,sha256=fNL_FS26AQGlRCvwWfl-Qyt7iW2_A99GIHOAnnkpw9A,4731
|
|
@@ -62,23 +62,23 @@ jaclang/compiler/passes/main/tests/test_sub_node_pass.py,sha256=I8m2SM2Z-OJkRG3C
|
|
|
62
62
|
jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py,sha256=85mUM6mYYLCrQ9AivBIbreG7CgdsJH2zrNOqdcpnwBo,730
|
|
63
63
|
jaclang/compiler/passes/main/tests/test_type_check_pass.py,sha256=v2_KmcyX1_fOpReRKM0mUnlFXKVPRvFCMR3Mw9ftytI,2265
|
|
64
64
|
jaclang/compiler/passes/main/tests/test_typeinfo_pass.py,sha256=ehC0_giLg7NwB7fR10nW5Te8mZ76qmUFxkK1bEjtmrw,129
|
|
65
|
-
jaclang/compiler/passes/main/type_check_pass.py,sha256
|
|
65
|
+
jaclang/compiler/passes/main/type_check_pass.py,sha256=ER2GXi_B0qRD31p224yAI9b3PZeSRLAXkpfFa1oq1C4,3440
|
|
66
66
|
jaclang/compiler/passes/tool/__init__.py,sha256=xekCOXysHIcthWm8NRmQoA1Ah1XV8vFbkfeHphJtUdc,223
|
|
67
67
|
jaclang/compiler/passes/tool/fuse_comments_pass.py,sha256=N9a84qArNuTXX1iaXsBzqcufx6A3zYq2p-1ieH6FmHc,3133
|
|
68
|
-
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=
|
|
68
|
+
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=yqq2OOSs2tlDKUnPe0GS3NAZh8F5fquA5ZTYw44QX08,87356
|
|
69
69
|
jaclang/compiler/passes/tool/schedules.py,sha256=kmbsCazAMizGAdQuZpFky5BPlYlMXqNw7wOUzdi_wBo,432
|
|
70
70
|
jaclang/compiler/passes/tool/tests/__init__.py,sha256=AeOaZjA1rf6VAr0JqIit6jlcmOzW7pxGr4U1fOwgK_Y,24
|
|
71
|
-
jaclang/compiler/passes/tool/tests/fixtures/corelib.jac,sha256=
|
|
72
|
-
jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac,sha256=
|
|
71
|
+
jaclang/compiler/passes/tool/tests/fixtures/corelib.jac,sha256=fNJJWnT_MiyYuN0exec1JTAkh4VKkAcEPFtFYLw3JKk,12712
|
|
72
|
+
jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac,sha256=fNJJWnT_MiyYuN0exec1JTAkh4VKkAcEPFtFYLw3JKk,12712
|
|
73
73
|
jaclang/compiler/passes/tool/tests/fixtures/doc_string.jac,sha256=hXD5bidK3sCGlJwTxy5Tka568hVxzqY6KL9y_z19CQo,217
|
|
74
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac,sha256=
|
|
75
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac,sha256=
|
|
76
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac,sha256=
|
|
77
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac,sha256=
|
|
78
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac,sha256=
|
|
79
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac,sha256=
|
|
80
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac,sha256=
|
|
81
|
-
jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac,sha256
|
|
74
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac,sha256=wswRZnBVc9b-kWVYHlsQKa-L958IzvclHWEnvNM7vYc,1776
|
|
75
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac,sha256=97Xm1O70OoHOpAooPjNI2CnJmBUI8x5CmYpMvuOET0E,677
|
|
76
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac,sha256=AweZhXmdyt8iHBH76soEkhR-15e46WlSrMiZWhQ5DY0,912
|
|
77
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac,sha256=70UEQLsOzGMzBLq8VWHa_hHBb8tVYx2OLC56Fu2df8E,1086
|
|
78
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac,sha256=5Qa2zUzQjppMQIL2Y-i5KN9jNpIl9qEMOTb20o8YsBI,1060
|
|
79
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac,sha256=A4yTeJg-FPvIbQspHU7I2Nc3oNm7SdKVGI0MTH1fO2w,693
|
|
80
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac,sha256=B7jiK2UPDWu6034RkqS5gNU2_pC8Zd6X1srNhRlv49A,430
|
|
81
|
+
jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac,sha256=byTwJbSi1CJ-RWOXRxRAUw128-XBzEeZ_KiS8H9gp0Q,2750
|
|
82
82
|
jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot,sha256=muQG45ABv5xlMAnj1F0BZdr9-idH9KaZCT__P4lDHcI,1391
|
|
83
83
|
jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac,sha256=BxgmNUdz76gKLi6PXnLZE9rartodMgch5ydpGrd25Ec,87
|
|
84
84
|
jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt,sha256=nm4n-i5Nh7RytChrolbTV-WwJh11pV8mTlRDmZYn7tI,780
|
|
@@ -101,10 +101,11 @@ jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac,sha256=6jwYKXxJ1
|
|
|
101
101
|
jaclang/compiler/passes/tool/tests/test_fuse_comments_pass.py,sha256=ZeWHsm7VIyyS8KKpoB2SdlHM4jF22fMfSrfTfxt2MQw,398
|
|
102
102
|
jaclang/compiler/passes/tool/tests/test_jac_format_pass.py,sha256=AKGBEz02bS9REJuryZlPvY2avE_XWqKV8sRrnh5hu2g,6101
|
|
103
103
|
jaclang/compiler/passes/tool/tests/test_unparse_validate.py,sha256=sIBDl35Cns6vv200GsKyLBbIggKKV2tDy4gq_J8zf6E,2768
|
|
104
|
-
jaclang/compiler/passes/transform.py,sha256=
|
|
104
|
+
jaclang/compiler/passes/transform.py,sha256=GEHK3zFWrEjbAQ3mIl3D59jBuIrA8DRbw9t_IlUqg3M,2297
|
|
105
105
|
jaclang/compiler/passes/utils/__init__.py,sha256=UsI5rUopTUiStAzup4kbPwIwrnC5ofCrqWBCBbM2-k4,35
|
|
106
|
-
jaclang/compiler/passes/utils/mypy_ast_build.py,sha256=
|
|
107
|
-
jaclang/compiler/
|
|
106
|
+
jaclang/compiler/passes/utils/mypy_ast_build.py,sha256=aPvvdGSwbOGHYiK5kY665bqtfjj7s2YfTONV4EuLai8,26162
|
|
107
|
+
jaclang/compiler/semtable.py,sha256=tW0vY1N377w_WgKalqXe2VR8FJDwd9CpI6jDJi1jhEU,4152
|
|
108
|
+
jaclang/compiler/symtable.py,sha256=oYdYS1PUnNCGPPZsZZOduiDtTYyLVd6tXWAoUyCupUc,9275
|
|
108
109
|
jaclang/compiler/tests/__init__.py,sha256=qiXa5UNRBanGOcplFKTT9a_9GEyiv7goq1OzuCjDCFE,27
|
|
109
110
|
jaclang/compiler/tests/fixtures/__init__.py,sha256=udQ0T6rajpW_nMiYKJNckqP8izZ-pH3P4PNTJEln2NU,36
|
|
110
111
|
jaclang/compiler/tests/fixtures/activity.py,sha256=fSvxYDKufsPeQIrbuh031zHw_hdbRv5iK9mS7dD8E54,263
|
|
@@ -115,47 +116,44 @@ jaclang/compiler/tests/fixtures/mod_doc_test.jac,sha256=aFZpjn7V5lvCHp0lPoGXtdkc
|
|
|
115
116
|
jaclang/compiler/tests/fixtures/staticcheck.jac,sha256=t849--dTkSSjCJX1OiMV-lgao_hIDSKwKVs-aS6IwK8,342
|
|
116
117
|
jaclang/compiler/tests/fixtures/stuff.jac,sha256=qOq6WOwhlprMmJpiqQudgqnr4qTd9uhulQSDGQ3o6sY,82
|
|
117
118
|
jaclang/compiler/tests/test_importer.py,sha256=JNmte5FsHhnng9jzw7N5BenflAFCasuhezN1sytDVyg,1739
|
|
118
|
-
jaclang/compiler/tests/test_parser.py,sha256=
|
|
119
|
+
jaclang/compiler/tests/test_parser.py,sha256=Sj9Kz1FghESaPpyx_kEvScs4xvz-vgEdH8yyQJ0iB7M,4820
|
|
119
120
|
jaclang/core/__init__.py,sha256=jDDYBCV82qPhmcDVk3NIvHbhng0ebSrXD3xrojg0-eo,34
|
|
120
|
-
jaclang/core/
|
|
121
|
-
jaclang/core/
|
|
122
|
-
jaclang/core/
|
|
123
|
-
jaclang/core/
|
|
124
|
-
jaclang/core/
|
|
125
|
-
jaclang/core/
|
|
126
|
-
jaclang/core/
|
|
127
|
-
jaclang/core/llms/huggingface.py,sha256=IA0Q1dBP-M4saD4uHcrJF7Q6YgPp_GGd9p8-hpG-XKQ,2815
|
|
128
|
-
jaclang/core/llms/ollama.py,sha256=eJ_Jy7MNy33gR3zuSwcuGaWUedvY_Qy5A08H7kqLvFE,2850
|
|
129
|
-
jaclang/core/llms/openai.py,sha256=01xY6l23_y4lX0t8ZEHiMwEBL7Govyf7fPQ2k4zdAKI,2219
|
|
130
|
-
jaclang/core/llms/togetherai.py,sha256=45lZHKtG4B7tyjI1s_7Pu39VXUaC5n9EAMajfGxHZb8,2164
|
|
131
|
-
jaclang/core/llms/utils.py,sha256=mTpROnh4qS8fE26TkcotSt-mAqWoSeEeRBOu0SgoPmA,219
|
|
132
|
-
jaclang/core/registry.py,sha256=4uuXahPN4SMVEWwJ6Gjm5LM14rePMGoyjQtSbDQmQZs,4178
|
|
133
|
-
jaclang/core/utils.py,sha256=5e4DyjtSweFxKeIuEyeYGV2MsuTtfnncfIwRdoyFdys,7736
|
|
121
|
+
jaclang/core/architype.py,sha256=qBH0W-ALxmK6DALc4_S7gx-3R7C_6o-PGKb3f4RbWbE,16781
|
|
122
|
+
jaclang/core/constructs.py,sha256=ogWc95DEZxQWoxqsfbRrcmt9ldGDqW7zQVu3DWuIAKs,848
|
|
123
|
+
jaclang/core/context.py,sha256=AxGsra9EqokVdOhwIxR9RuAcnm0HmobUnMBezUBY1_s,4774
|
|
124
|
+
jaclang/core/importer.py,sha256=CReQhfVak0kUT-UB2Q_g023hR_JpyNl-uA91pZeDNXs,6324
|
|
125
|
+
jaclang/core/memory.py,sha256=7QukfL6wDBXrdpRn01yu4RMNkmIMNqFiKrI0zfpGSy4,2947
|
|
126
|
+
jaclang/core/test.py,sha256=HRCl3cf0uPTe58Kcx_sBUb6ow8J53rnmpFOhA7g9oAA,2851
|
|
127
|
+
jaclang/core/utils.py,sha256=uzEsRSuNSMMo7dlvCozGv0TnpUmHEjGNzUTZt1Df2gQ,7741
|
|
134
128
|
jaclang/langserve/__init__.py,sha256=3qbnivBBcLZCfmDYRMIeKkG08Lx7XQsJJg-qG8TU8yc,51
|
|
135
|
-
jaclang/langserve/engine.py,sha256=
|
|
136
|
-
jaclang/langserve/server.py,sha256=
|
|
129
|
+
jaclang/langserve/engine.py,sha256=oo9IvUFTKxpfk65sk2ExRBEhN0y2PzFTLrTNF0rxMeE,16289
|
|
130
|
+
jaclang/langserve/server.py,sha256=XGg9AfGiY17DvVGLQ-O228OwdvSsKaqdhnsiYxVgwew,4368
|
|
137
131
|
jaclang/langserve/tests/__init__.py,sha256=iDM47k6c3vahaWhwxpbkdEOshbmX-Zl5x669VONjS2I,23
|
|
138
132
|
jaclang/langserve/tests/defaults.py,sha256=8UWHuCHY-WatPcWFhyX9-4KLuJgODTlLNj0wNnKomIM,7608
|
|
139
|
-
jaclang/langserve/tests/fixtures/
|
|
140
|
-
jaclang/langserve/tests/fixtures/
|
|
133
|
+
jaclang/langserve/tests/fixtures/base_module_structure.jac,sha256=gtU3Uq0gsJy6G8Dg4IWiL-YSk_LVFAYK4mVEPt5rGpE,515
|
|
134
|
+
jaclang/langserve/tests/fixtures/circle.jac,sha256=AWzRxTBjvQwoLSOakjn0kKXWqKvDaUYGc1zmBk1Nd5c,1770
|
|
135
|
+
jaclang/langserve/tests/fixtures/circle_err.jac,sha256=T22UiWpKJy6IhS-y0DrrZJMz95-8SAZnRAQUmT_kxO4,1732
|
|
141
136
|
jaclang/langserve/tests/fixtures/circle_pure.impl.jac,sha256=rsXatY9a-wZONRPJ6VOuw7Bj9R_CrJO_TEwAVXj1PjU,702
|
|
142
137
|
jaclang/langserve/tests/fixtures/circle_pure.jac,sha256=62j4v1LbWIfGfz_-tR7GDWNmEFqhdXhkDRC68Jc5fUs,624
|
|
138
|
+
jaclang/langserve/tests/fixtures/circle_pure.test.jac,sha256=QiOAUZ5xXPKDx_QQRCZ_l_Mt3DQvWd8toKehdNa-ZgU,295
|
|
143
139
|
jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac,sha256=rsXatY9a-wZONRPJ6VOuw7Bj9R_CrJO_TEwAVXj1PjU,702
|
|
144
140
|
jaclang/langserve/tests/fixtures/circle_pure_err.jac,sha256=jQ5QX0G5khGACoY82CM-6LcOX57w4e29tHVicE2eMgw,608
|
|
145
141
|
jaclang/langserve/tests/fixtures/hello.jac,sha256=iRMKtYVCw1zLvjOQbj3q__3Manj1Di1YeDTNMEvYtBc,36
|
|
142
|
+
jaclang/langserve/tests/fixtures/import_include_statements.jac,sha256=9FGQX_xet105BwQqyFC7SdsbYwW5JyVOJVWpsqx56jg,288
|
|
143
|
+
jaclang/langserve/tests/fixtures/py_import.py,sha256=BvNimsRmsbJWd-JNM31oJpl52bYvSdfQ6Np3DJNt7d0,320
|
|
146
144
|
jaclang/langserve/tests/pylsp_jsonrpc/__init__.py,sha256=bDWxRjmELPCVGy243_0kNrG7PttyZsv_eZ9JTKQrU1E,105
|
|
147
145
|
jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py,sha256=zEZWu6C2_n4lPoA8H8OO67746P93VhbYaXZMdtrD8Z0,1038
|
|
148
146
|
jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py,sha256=TxDpWUd-8AGJwdRQN_iiCXYxrVfviZQlNtEvBL0dDPc,10591
|
|
149
147
|
jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py,sha256=NGHeFQawZcjoLUcgDmY3bF7BqZR83g7TmdKyzCmRaKM,2836
|
|
150
148
|
jaclang/langserve/tests/pylsp_jsonrpc/streams.py,sha256=R80_FvICIkrbdGmNtlemWYaxrr7-XldPgLaASnyv0W8,3332
|
|
151
149
|
jaclang/langserve/tests/session.py,sha256=3pIRoQjZnsnUWIYnO2SpK7c1PAiHMCFrrStNK2tawRM,9572
|
|
152
|
-
jaclang/langserve/tests/test_server.py,sha256=
|
|
153
|
-
jaclang/langserve/utils.py,sha256=
|
|
150
|
+
jaclang/langserve/tests/test_server.py,sha256=Bmllojot7c40rq0mDMOAiOyowY0-ECh_qAJtCZV_8Q0,11102
|
|
151
|
+
jaclang/langserve/utils.py,sha256=JS_XxDAtqTO4r0wSQjxgGqHwx9xTN_JZpNI1YP-kgbY,9868
|
|
154
152
|
jaclang/plugin/__init__.py,sha256=5t2krHKt_44PrCTGojzxEimxpNHYVQcn89jAiCSXE_k,165
|
|
155
|
-
jaclang/plugin/builtin.py,sha256=
|
|
156
|
-
jaclang/plugin/default.py,sha256=
|
|
157
|
-
jaclang/plugin/feature.py,sha256=
|
|
158
|
-
jaclang/plugin/spec.py,sha256=
|
|
153
|
+
jaclang/plugin/builtin.py,sha256=MEMPUnj_rlwcCNmUkfH5S8iazMnQ6fpp6tls4fh5z7k,1188
|
|
154
|
+
jaclang/plugin/default.py,sha256=PBRhDnMChwLbV-Mzuy5Uss1ziRZ3UNCnGfOb1D6fOP4,23533
|
|
155
|
+
jaclang/plugin/feature.py,sha256=fhyQRNYOkcXlYn1ObFPqdOHPhtC_lGQfgd7RD2ooLUY,9792
|
|
156
|
+
jaclang/plugin/spec.py,sha256=CMu6rzi94eIZaqsFz3NIbN3upJgGneb4FE_7Rly7slE,8893
|
|
159
157
|
jaclang/plugin/tests/__init__.py,sha256=rn_tNG8jCHWwBc_rx4yFkGc4N1GISb7aPuTFVRTvrTk,38
|
|
160
158
|
jaclang/plugin/tests/fixtures/impl_match.jac,sha256=WEhcA1GlovusITEFO2bOjYYqiiULyYGKhM17uK2GqnI,91
|
|
161
159
|
jaclang/plugin/tests/fixtures/impl_match_impl.jac,sha256=k1385r7Hdlq6mUKxEHa3VOKJUIWH08hYg2kErhbYwFM,31
|
|
@@ -163,16 +161,16 @@ jaclang/plugin/tests/fixtures/simple_node_connection.jac,sha256=KdbpACWtnj92TqQq
|
|
|
163
161
|
jaclang/plugin/tests/fixtures/simple_persistent.jac,sha256=o0TZTOJEZjFW8A2IGY8ICBZEBZzHhqha0xQFFBK_DSI,624
|
|
164
162
|
jaclang/plugin/tests/test_features.py,sha256=p0N5inZn92Cj0eqslmDR0-q6pVG8hkcQfA6CuQcfP3Y,2352
|
|
165
163
|
jaclang/plugin/tests/test_jaseci.py,sha256=XcVL-FOZMTsjJEZqCa-rcYyEPl1dxdFFu9vhvm8kUaI,7956
|
|
166
|
-
jaclang/settings.py,sha256=
|
|
167
|
-
jaclang/tests/fixtures/abc.jac,sha256=
|
|
164
|
+
jaclang/settings.py,sha256=7rKy_kQkWjciwBoWHoJVYrK0nxLwaG54FFvFLOGGggk,3375
|
|
165
|
+
jaclang/tests/fixtures/abc.jac,sha256=AWzRxTBjvQwoLSOakjn0kKXWqKvDaUYGc1zmBk1Nd5c,1770
|
|
168
166
|
jaclang/tests/fixtures/access_checker.jac,sha256=6Inm14cZsyMfezFRs2zfnQEZSE_JRxVvytcZbox7BNw,375
|
|
169
167
|
jaclang/tests/fixtures/access_modifier.jac,sha256=bxiPlbqm4zPXdMIeTR0-LhjO6c-LS7fW_fGuIA7oKWI,945
|
|
170
|
-
jaclang/tests/fixtures/aott_raise.jac,sha256=
|
|
168
|
+
jaclang/tests/fixtures/aott_raise.jac,sha256=ufKMVC21NJw3zSSJ_8uCoG_IR9pJf8WfGp8AAyX14DQ,747
|
|
171
169
|
jaclang/tests/fixtures/arithmetic_bug.jac,sha256=iiO3ZwTi7R1U6-flV4tGbxDHXsw8GnaLEzVNGTPdMUA,135
|
|
172
170
|
jaclang/tests/fixtures/assign_compr.jac,sha256=rnoujdtpjNbem4IdtBfxPahSUXl-gxNv4JFNEuUs5iM,286
|
|
173
171
|
jaclang/tests/fixtures/assign_compr_dup.jac,sha256=rnoujdtpjNbem4IdtBfxPahSUXl-gxNv4JFNEuUs5iM,286
|
|
174
172
|
jaclang/tests/fixtures/builtin_dotgen.jac,sha256=HsAHVyN7HxhbICqe4GXV51cJlMe68WMleMmx9KeR8fU,1759
|
|
175
|
-
jaclang/tests/fixtures/byllmissue.jac,sha256=
|
|
173
|
+
jaclang/tests/fixtures/byllmissue.jac,sha256=A7V7nk0oqt0uR246sJ8DKBxMERn1cvHvE98pxJRVoRU,152
|
|
176
174
|
jaclang/tests/fixtures/chandra_bugs.jac,sha256=vcBjZ4P7S1PPUs-_0Stt779pus95RJTMs1x_-m0w7yY,282
|
|
177
175
|
jaclang/tests/fixtures/chandra_bugs2.jac,sha256=P9C7lVotfh-OoyAl1LDUqMPUaUmjrNrVO3nrBcxB_WQ,540
|
|
178
176
|
jaclang/tests/fixtures/circle_pysolo.py,sha256=TAJTCOjrUl80oDke5wl6ZyBJQsy37Hu6gYdqcO-tQlY,2477
|
|
@@ -191,6 +189,7 @@ jaclang/tests/fixtures/disconn.jac,sha256=gRbNh6R6t-cTdB6lT4M7HW7cdGoYoGV5Bnp3Nh
|
|
|
191
189
|
jaclang/tests/fixtures/edge_node_walk.jac,sha256=OOIMT7lrwZT3rVF-niRWbUeifBL5fuu1D1TMYXPRlfk,961
|
|
192
190
|
jaclang/tests/fixtures/edge_ops.jac,sha256=PYw_ChRnYReVSev1PjUmbtvHUj-ZWfZax2KOkaWC1pc,941
|
|
193
191
|
jaclang/tests/fixtures/edges_walk.jac,sha256=3X7LH0O9EinQnGvSu0BKMZptI10vVXpry_RdV2lTFnE,800
|
|
192
|
+
jaclang/tests/fixtures/edgetypeissue.jac,sha256=ZsJuNdtmD_fu2b7sDJ_tWZjoDI_rxouDEcSWkahhBS0,118
|
|
194
193
|
jaclang/tests/fixtures/enum_inside_archtype.jac,sha256=EiuL9szE0ISfeczoVcnZyw0eK1n6vc6_koDf0cHgoh4,236
|
|
195
194
|
jaclang/tests/fixtures/err.jac,sha256=0MbNsaJaVp7cpL-nvG2SOCnDmZbfcpjOaF7VIU_2ggU,49
|
|
196
195
|
jaclang/tests/fixtures/err2.jac,sha256=x8h69NTVMGJa_UicY-CZblLMdeH09myTeiYqNFamiK0,50
|
|
@@ -201,18 +200,19 @@ jaclang/tests/fixtures/has_goodness.jac,sha256=CmhMXiRLCkdrqpGbSm2e7mBf0hCBgCk5s
|
|
|
201
200
|
jaclang/tests/fixtures/hash_init_check.jac,sha256=Yrh3Rmi4SHIbY_c8EjHzcnwXVXas9ufbCAnkdRa3EyQ,205
|
|
202
201
|
jaclang/tests/fixtures/hashcheck.jac,sha256=ksWSP6jyQ7MedV-Oh7HoXHn1rTdQwv2O1H22Pyq3d3c,160
|
|
203
202
|
jaclang/tests/fixtures/hashcheck_dup.jac,sha256=ksWSP6jyQ7MedV-Oh7HoXHn1rTdQwv2O1H22Pyq3d3c,160
|
|
204
|
-
jaclang/tests/fixtures/hello.jac,sha256=
|
|
203
|
+
jaclang/tests/fixtures/hello.jac,sha256=M_E69sEKTpetkG-LLydm698o0cjpN6WhIT4ADJr5YpE,64
|
|
205
204
|
jaclang/tests/fixtures/hello_nc.jac,sha256=6YezKvx2CNjE0l3Ea6P9ZsTrj4XyqvXDQO9S1EFNbIE,63
|
|
206
205
|
jaclang/tests/fixtures/ignore.jac,sha256=_2ZzV5VV_5F7i5cHUxOkQgsKtxnUGKlBxDHeGGLoK3g,673
|
|
207
206
|
jaclang/tests/fixtures/ignore_dup.jac,sha256=_2ZzV5VV_5F7i5cHUxOkQgsKtxnUGKlBxDHeGGLoK3g,673
|
|
208
207
|
jaclang/tests/fixtures/impl_grab.impl.jac,sha256=Ai4k28dz-VNcP1jDup0m5s7YpPhqUh77KTyvHwHs_po,59
|
|
209
208
|
jaclang/tests/fixtures/impl_grab.jac,sha256=IwYqYVvOHc820eekiXi5D7XJ9TyYaWydtWp_GYszQ5Q,47
|
|
209
|
+
jaclang/tests/fixtures/impl_match_confused.impl.jac,sha256=kGLTk4t5ABnlMZe5WRGg8bJjpHRqBwa5W_0d1yRHfO8,42
|
|
210
|
+
jaclang/tests/fixtures/impl_match_confused.jac,sha256=m8HxEQrI8IM82AZXaK5_rfhrHf2dvrPafjDMYyQI9EU,106
|
|
210
211
|
jaclang/tests/fixtures/inherit_check.jac,sha256=FQlbCavN4ryt3mmD6ei1MIt1jMgZ8_NcVkT62233C0s,423
|
|
211
212
|
jaclang/tests/fixtures/jacsamp.jac,sha256=VUHUn-RvHzTA4v0KNIFuciocqAHsgQp9tfsEvh5WHlE,96
|
|
212
213
|
jaclang/tests/fixtures/jp_importer.jac,sha256=Mfn62rwYk8CANIkCoMf5UFt4SKl042jaU0CHnj-Soiw,414
|
|
213
214
|
jaclang/tests/fixtures/lambda.jac,sha256=nU4HbPrBdYe6NegJq4LueequaiLCe3KWyTAbL__ibG0,113
|
|
214
|
-
jaclang/tests/fixtures/
|
|
215
|
-
jaclang/tests/fixtures/maxfail_run_test.jac,sha256=CS_rDshUyDGEMbYph0KiPoyxIq_kDdPgcVNvuIMaYEg,162
|
|
215
|
+
jaclang/tests/fixtures/maxfail_run_test.jac,sha256=JSGAM4wXnu5kP5aczcHNDlnn017yZpinRApetQSPhtE,196
|
|
216
216
|
jaclang/tests/fixtures/mtest.impl.jac,sha256=wYsT4feH2JgxxgN217dgbDWooSmD8HBSlzUwJ4jAa8g,76
|
|
217
217
|
jaclang/tests/fixtures/mtest.jac,sha256=i7aQpJuUw4YMXgJOvGn_lRx-TruJdqBClioPKGUd4mw,67
|
|
218
218
|
jaclang/tests/fixtures/needs_import.jac,sha256=hJab0QWdoTLuNaNhtY6zjzyGGUouRyT9uQknhP-lXXQ,315
|
|
@@ -229,7 +229,7 @@ jaclang/tests/fixtures/pyfunc_3.py,sha256=BDmPJBV3A-ExlbvfcZqRcZyY9zDMVGZ4PYzbFV
|
|
|
229
229
|
jaclang/tests/fixtures/random_check.jac,sha256=o8MxWK9_QjxQh9nxBQKYUdsaxIPxlzUJFpxPr-lU588,1523
|
|
230
230
|
jaclang/tests/fixtures/raw_byte_string.jac,sha256=y5FA0rtLC5do8vqXfCxCF1TP7l8L20nI56WRFdu8x9k,337
|
|
231
231
|
jaclang/tests/fixtures/registry.jac,sha256=jelEOPsn6iTWZ4zKz4DrCOhPvAwSp-R8ztNImIIREFE,855
|
|
232
|
-
jaclang/tests/fixtures/run_test.jac,sha256=
|
|
232
|
+
jaclang/tests/fixtures/run_test.jac,sha256=3FN5EGiauO_7sRyNVeDttgb1ubDX0bu0QmikqfeFQv0,201
|
|
233
233
|
jaclang/tests/fixtures/semstr.jac,sha256=9dP6zA0jlkIFNTuPNylxpAm186e981vLEPQFDOEpP4c,946
|
|
234
234
|
jaclang/tests/fixtures/simple_archs.jac,sha256=582d31dUHFWqC2dDFPhKweLHHw2qgwJMbM9qCTAy7e4,361
|
|
235
235
|
jaclang/tests/fixtures/slice_vals.jac,sha256=BN8QxpLa8z834VMjLr1Nfv3rAWmqmk3r7FN7gedydAc,232
|
|
@@ -241,24 +241,20 @@ jaclang/tests/fixtures/tuplytuples.jac,sha256=6qiXn5OV_qn4cqKwROjJ1VuBAh0nbUGpp-
|
|
|
241
241
|
jaclang/tests/fixtures/type_info.jac,sha256=4Cw31ef5gny6IS0kLzgeSO-7ArEH1HgFFFip1BGQhZM,316
|
|
242
242
|
jaclang/tests/fixtures/walker_override.jac,sha256=Ok58ZAgxuV6aECNxYrjbbyAWSiqIbnly3N3O6cD563o,271
|
|
243
243
|
jaclang/tests/fixtures/with_context.jac,sha256=cDA_4YWe5UVmQRgcpktzkZ_zsswQpV_T2Otf_rFnPy8,466
|
|
244
|
-
jaclang/tests/
|
|
245
|
-
jaclang/tests/
|
|
246
|
-
jaclang/tests/
|
|
247
|
-
jaclang/tests/fixtures/with_llm_type.jac,sha256=LKotFGtBl9mzo08SbTkzBWa3rGWt4AuzgianHFkAZvU,1778
|
|
248
|
-
jaclang/tests/fixtures/with_llm_vision.jac,sha256=xp2hteAzmu3ij9T3uI_FJiuvQtSuaivtJ_XWmqb0f1I,679
|
|
249
|
-
jaclang/tests/test_cli.py,sha256=eHnlkHg6_p52q_jvRhFr0LzblZj9cAtlNDbxm-EVixs,8703
|
|
250
|
-
jaclang/tests/test_language.py,sha256=B4XOXzpGfbE7uzp-jHoyAS7bH54CwAWFMFKjgx3WtB0,36433
|
|
244
|
+
jaclang/tests/test_bugs.py,sha256=tBPsIlSPqZDIz4QaScNRT-WdGIdJ0uU-aRBWq1XUZ6o,555
|
|
245
|
+
jaclang/tests/test_cli.py,sha256=tnqdx8W5jTlsDJYR3713EikJqCbcgWEknEwuRHByvWk,8703
|
|
246
|
+
jaclang/tests/test_language.py,sha256=T0DqM3aFjJ5_0oWqKhEkOyY1eruv-uGRgWkjWWcngXE,34671
|
|
251
247
|
jaclang/tests/test_man_code.py,sha256=Kq93zg3hEfiouvpWvmfCgR6lDT5RKDp28k5ZaWe1Xeg,4519
|
|
252
|
-
jaclang/tests/test_reference.py,sha256=
|
|
248
|
+
jaclang/tests/test_reference.py,sha256=FoZQS-U9teiag8mAmX5X6ak4fuCOv00mvOyqJ44Zkc8,3379
|
|
253
249
|
jaclang/tests/test_settings.py,sha256=TIX5uiu8H9IpZN2__uFiclcdCpBpPpcAwtlEHyFC4kk,1999
|
|
254
250
|
jaclang/utils/__init__.py,sha256=86LQ_LDyWV-JFkYBpeVHpLaVxkqwFDP60XpWXOFZIQk,46
|
|
255
251
|
jaclang/utils/helpers.py,sha256=v-jQ-SDzGLrrLXKxoL1PaCguJqcV-X1UlwjWSL3GNAI,6142
|
|
256
|
-
jaclang/utils/lang_tools.py,sha256=
|
|
252
|
+
jaclang/utils/lang_tools.py,sha256=5R-Pe_ylXqWEPXrUGsQ3Vy7rrItf_mbyK19ptFSKiJI,10020
|
|
257
253
|
jaclang/utils/log.py,sha256=G8Y_DnETgTh9xzvlW5gh9zqJ1ap4YY_MDTwIMu5Uc0Y,262
|
|
258
|
-
jaclang/utils/test.py,sha256=
|
|
254
|
+
jaclang/utils/test.py,sha256=Ll3H2l8U2OVQGHAkohsryDXIKSJHJseQSrMHS8JQTiw,5414
|
|
259
255
|
jaclang/utils/tests/__init__.py,sha256=8uwVqMsc6cxBAM1DuHLuNuTnzLXqOqM-WRa4ixOMF6w,23
|
|
260
256
|
jaclang/utils/tests/test_lang_tools.py,sha256=hFQzkzdmJIhP99xqjR5z7bqkefMLmE6kwldXYrfK--E,4831
|
|
261
|
-
jaclang/utils/treeprinter.py,sha256=
|
|
257
|
+
jaclang/utils/treeprinter.py,sha256=7YPWmtU-gHPN37m9eXqVSqjTy7X_xmUVmBaGcn3p5SM,12663
|
|
262
258
|
jaclang/vendor/__init__.py,sha256=tEcp2kl3hMvF2d6X6WlJSAGuAMYOVCKCstXuPMQSR4Q,265
|
|
263
259
|
jaclang/vendor/attr/__init__.py,sha256=WlXJN6ICB0Y_HZ0lmuTUgia0kuSdn2p67d4N6cYxNZM,3307
|
|
264
260
|
jaclang/vendor/attr/__init__.pyi,sha256=u08EujYHy_rSyebNn-I9Xv2S_cXmtA9xWGc0cBsyl18,16976
|
|
@@ -1481,7 +1477,7 @@ jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA,sha256=BeUQIa8cnYbrjW
|
|
|
1481
1477
|
jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD,sha256=XS4fBVrPI7kaNZ56Ggl2RGa76jySWLqTzcrUpZIQTVM,418
|
|
1482
1478
|
jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
1483
1479
|
jaclang/vendor/typing_extensions.py,sha256=gwekpyG9DVG3lxWKX4ni8u7nk3We5slG98mA9F3DJQw,134451
|
|
1484
|
-
jaclang-0.7.
|
|
1485
|
-
jaclang-0.7.
|
|
1486
|
-
jaclang-0.7.
|
|
1487
|
-
jaclang-0.7.
|
|
1480
|
+
jaclang-0.7.8.dist-info/METADATA,sha256=LTPHZdBbBJASj1F0iU9uv1uY49AgOhQaDMxmfQfTYp0,4807
|
|
1481
|
+
jaclang-0.7.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
1482
|
+
jaclang-0.7.8.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
|
|
1483
|
+
jaclang-0.7.8.dist-info/RECORD,,
|
jaclang/core/aott.py
DELETED
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
AOTT: Automated Operational Type Transformation.
|
|
3
|
-
|
|
4
|
-
This has all the necessary functions to perform the AOTT operations.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
import base64
|
|
8
|
-
import logging
|
|
9
|
-
import re
|
|
10
|
-
from enum import Enum
|
|
11
|
-
from io import BytesIO
|
|
12
|
-
from typing import Any
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
try:
|
|
16
|
-
from PIL import Image
|
|
17
|
-
except ImportError:
|
|
18
|
-
Image = None
|
|
19
|
-
|
|
20
|
-
from jaclang.core.llms.base import BaseLLM
|
|
21
|
-
from jaclang.core.registry import SemInfo, SemRegistry, SemScope
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
IMG_FORMATS = ["PngImageFile", "JpegImageFile"]
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def aott_raise(
|
|
28
|
-
model: BaseLLM,
|
|
29
|
-
information: str,
|
|
30
|
-
inputs_information: str | list[dict],
|
|
31
|
-
output_information: str,
|
|
32
|
-
type_explanations: str,
|
|
33
|
-
action: str,
|
|
34
|
-
context: str,
|
|
35
|
-
method: str,
|
|
36
|
-
tools: list["Tool"],
|
|
37
|
-
model_params: dict,
|
|
38
|
-
) -> str:
|
|
39
|
-
"""AOTT Raise uses the information (Meanings types values) provided to generate a prompt(meaning in)."""
|
|
40
|
-
system_prompt = model.MTLLM_SYSTEM_PROMPT
|
|
41
|
-
meaning_in: str | list[dict]
|
|
42
|
-
if method != "ReAct":
|
|
43
|
-
method_prompt = model.MTLLM_METHOD_PROMPTS[method]
|
|
44
|
-
if isinstance(inputs_information, str):
|
|
45
|
-
mtllm_prompt = model.MTLLM_PROMPT.format(
|
|
46
|
-
information=information,
|
|
47
|
-
inputs_information=inputs_information,
|
|
48
|
-
output_information=output_information,
|
|
49
|
-
type_explanations=type_explanations,
|
|
50
|
-
action=action,
|
|
51
|
-
context=context,
|
|
52
|
-
).strip()
|
|
53
|
-
meaning_in = f"{system_prompt}\n{mtllm_prompt}\n{method_prompt}".strip()
|
|
54
|
-
else:
|
|
55
|
-
upper_half = model.MTLLM_PROMPT.split("{inputs_information}")[0]
|
|
56
|
-
lower_half = model.MTLLM_PROMPT.split("{inputs_information}")[1]
|
|
57
|
-
upper_half = upper_half.format(
|
|
58
|
-
information=information,
|
|
59
|
-
context=context,
|
|
60
|
-
)
|
|
61
|
-
lower_half = lower_half.format(
|
|
62
|
-
output_information=output_information,
|
|
63
|
-
type_explanations=type_explanations,
|
|
64
|
-
action=action,
|
|
65
|
-
)
|
|
66
|
-
meaning_in = (
|
|
67
|
-
[
|
|
68
|
-
{"type": "text", "text": system_prompt},
|
|
69
|
-
{"type": "text", "text": upper_half},
|
|
70
|
-
]
|
|
71
|
-
+ inputs_information
|
|
72
|
-
+ [
|
|
73
|
-
{"type": "text", "text": lower_half},
|
|
74
|
-
{"type": "text", "text": method_prompt},
|
|
75
|
-
]
|
|
76
|
-
)
|
|
77
|
-
return model(meaning_in, **model_params)
|
|
78
|
-
else:
|
|
79
|
-
assert tools, "Tools must be provided for the ReAct method."
|
|
80
|
-
# TODO: Implement ReAct method
|
|
81
|
-
return ""
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
def get_info_types(
|
|
85
|
-
scope: SemScope, mod_registry: SemRegistry, incl_info: list[tuple[str, str]]
|
|
86
|
-
) -> tuple[str, list[str]]:
|
|
87
|
-
"""Filter the registry data based on the scope and return the info string."""
|
|
88
|
-
collected_types = []
|
|
89
|
-
avail_scopes = []
|
|
90
|
-
while True:
|
|
91
|
-
avail_scopes.append(str(scope))
|
|
92
|
-
if not scope.parent:
|
|
93
|
-
break
|
|
94
|
-
scope = scope.parent
|
|
95
|
-
|
|
96
|
-
filtered_registry = SemRegistry()
|
|
97
|
-
for _scope, sem_info_list in mod_registry.registry.items():
|
|
98
|
-
if str(_scope) in avail_scopes:
|
|
99
|
-
filtered_registry.registry[_scope] = sem_info_list
|
|
100
|
-
|
|
101
|
-
info_str = []
|
|
102
|
-
for incl in incl_info:
|
|
103
|
-
_, sem_info = filtered_registry.lookup(name=incl[0])
|
|
104
|
-
if sem_info and isinstance(sem_info, SemInfo):
|
|
105
|
-
(
|
|
106
|
-
collected_types.extend(extract_non_primary_type(sem_info.type))
|
|
107
|
-
if sem_info.type
|
|
108
|
-
else None
|
|
109
|
-
)
|
|
110
|
-
info_str.append(
|
|
111
|
-
f"{sem_info.semstr} ({sem_info.name}) ({sem_info.type}) = {get_object_string(incl[1])}"
|
|
112
|
-
)
|
|
113
|
-
return ("\n".join(info_str), collected_types)
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
def get_object_string(obj: Any) -> Any: # noqa: ANN401
|
|
117
|
-
"""Get the string representation of the input object."""
|
|
118
|
-
if isinstance(obj, str):
|
|
119
|
-
return f'"{obj}"'
|
|
120
|
-
elif isinstance(obj, (int, float, bool)):
|
|
121
|
-
return str(obj)
|
|
122
|
-
elif isinstance(obj, list):
|
|
123
|
-
return "[" + ", ".join(get_object_string(item) for item in obj) + "]"
|
|
124
|
-
elif isinstance(obj, tuple):
|
|
125
|
-
return "(" + ", ".join(get_object_string(item) for item in obj) + ")"
|
|
126
|
-
elif isinstance(obj, dict):
|
|
127
|
-
return (
|
|
128
|
-
"{"
|
|
129
|
-
+ ", ".join(
|
|
130
|
-
f"{get_object_string(key)}: {get_object_string(value)}"
|
|
131
|
-
for key, value in obj.items()
|
|
132
|
-
)
|
|
133
|
-
+ "}"
|
|
134
|
-
)
|
|
135
|
-
elif isinstance(obj, Enum):
|
|
136
|
-
return f"{obj.__class__.__name__}.{obj.name}"
|
|
137
|
-
elif hasattr(obj, "__dict__"):
|
|
138
|
-
args = ", ".join(
|
|
139
|
-
f"{key}={get_object_string(value)}"
|
|
140
|
-
for key, value in vars(obj).items()
|
|
141
|
-
if key != "_jac_"
|
|
142
|
-
)
|
|
143
|
-
return f"{obj.__class__.__name__}({args})"
|
|
144
|
-
else:
|
|
145
|
-
return str(obj)
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
def get_all_type_explanations(type_list: list, mod_registry: SemRegistry) -> dict:
|
|
149
|
-
"""Get all type explanations from the input type list."""
|
|
150
|
-
collected_type_explanations = {}
|
|
151
|
-
for type_item in type_list:
|
|
152
|
-
type_explanation_str, nested_types = get_type_explanation(
|
|
153
|
-
type_item, mod_registry
|
|
154
|
-
)
|
|
155
|
-
if type_explanation_str is not None:
|
|
156
|
-
if type_item not in collected_type_explanations:
|
|
157
|
-
collected_type_explanations[type_item] = type_explanation_str
|
|
158
|
-
if nested_types:
|
|
159
|
-
nested_collected_type_explanations = get_all_type_explanations(
|
|
160
|
-
list(nested_types), mod_registry
|
|
161
|
-
)
|
|
162
|
-
for k, v in nested_collected_type_explanations.items():
|
|
163
|
-
if k not in collected_type_explanations:
|
|
164
|
-
collected_type_explanations[k] = v
|
|
165
|
-
return collected_type_explanations
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
def get_type_explanation(
|
|
169
|
-
type_str: str, mod_registry: SemRegistry
|
|
170
|
-
) -> tuple[str | None, set[str] | None]:
|
|
171
|
-
"""Get the type explanation of the input type string."""
|
|
172
|
-
scope, sem_info = mod_registry.lookup(name=type_str)
|
|
173
|
-
if isinstance(sem_info, SemInfo) and sem_info.type:
|
|
174
|
-
sem_info_scope = SemScope(sem_info.name, sem_info.type, scope)
|
|
175
|
-
_, type_info = mod_registry.lookup(scope=sem_info_scope)
|
|
176
|
-
type_info_str = []
|
|
177
|
-
type_info_types = []
|
|
178
|
-
type_example = [f"{sem_info.name}("]
|
|
179
|
-
if sem_info.type == "Enum" and isinstance(type_info, list):
|
|
180
|
-
for enum_item in type_info:
|
|
181
|
-
type_info_str.append(
|
|
182
|
-
f"{enum_item.semstr} ({enum_item.name}) (EnumItem)"
|
|
183
|
-
)
|
|
184
|
-
type_example[0] = type_example[0].replace("(", f".{enum_item.name}")
|
|
185
|
-
elif sem_info.type in ["obj", "class", "node", "edge"] and isinstance(
|
|
186
|
-
type_info, list
|
|
187
|
-
):
|
|
188
|
-
for arch_item in type_info:
|
|
189
|
-
if arch_item.type in ["obj", "class", "node", "edge"]:
|
|
190
|
-
continue
|
|
191
|
-
type_info_str.append(
|
|
192
|
-
f"{arch_item.semstr} ({arch_item.name}) ({arch_item.type})"
|
|
193
|
-
)
|
|
194
|
-
type_example.append(f"{arch_item.name}={arch_item.type}, ")
|
|
195
|
-
if arch_item.type and extract_non_primary_type(arch_item.type):
|
|
196
|
-
type_info_types.extend(extract_non_primary_type(arch_item.type))
|
|
197
|
-
if len(type_example) > 1:
|
|
198
|
-
type_example[-1] = type_example[-1].replace(", ", ")")
|
|
199
|
-
else:
|
|
200
|
-
type_example.append(")")
|
|
201
|
-
return (
|
|
202
|
-
f"{sem_info.semstr} ({sem_info.name}) ({sem_info.type}) eg:- {''.join(type_example)} -> {', '.join(type_info_str)}", # noqa: E501
|
|
203
|
-
set(type_info_types),
|
|
204
|
-
)
|
|
205
|
-
return None, None
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
def extract_non_primary_type(type_str: str) -> list:
|
|
209
|
-
"""Extract non-primary types from the type string."""
|
|
210
|
-
if not type_str:
|
|
211
|
-
return []
|
|
212
|
-
pattern = r"(?:\[|,\s*|\|)([a-zA-Z_][a-zA-Z0-9_]*)|([a-zA-Z_][a-zA-Z0-9_]*)"
|
|
213
|
-
matches = re.findall(pattern, type_str)
|
|
214
|
-
primary_types = [
|
|
215
|
-
"str",
|
|
216
|
-
"int",
|
|
217
|
-
"float",
|
|
218
|
-
"bool",
|
|
219
|
-
"list",
|
|
220
|
-
"dict",
|
|
221
|
-
"tuple",
|
|
222
|
-
"set",
|
|
223
|
-
"Any",
|
|
224
|
-
"None",
|
|
225
|
-
]
|
|
226
|
-
non_primary_types = [m for t in matches for m in t if m and m not in primary_types]
|
|
227
|
-
return non_primary_types
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
def get_type_annotation(data: Any) -> str: # noqa: ANN401
|
|
231
|
-
"""Get the type annotation of the input data."""
|
|
232
|
-
if isinstance(data, dict):
|
|
233
|
-
class_name = next(
|
|
234
|
-
(value.__class__.__name__ for value in data.values() if value is not None),
|
|
235
|
-
None,
|
|
236
|
-
)
|
|
237
|
-
if class_name:
|
|
238
|
-
return f"dict[str, {class_name}]"
|
|
239
|
-
else:
|
|
240
|
-
return "dict[str, Any]"
|
|
241
|
-
else:
|
|
242
|
-
return str(type(data).__name__)
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
class Tool:
|
|
246
|
-
"""Tool class for the AOTT operations."""
|
|
247
|
-
|
|
248
|
-
def __init__(self) -> None:
|
|
249
|
-
"""Initialize the Tool class."""
|
|
250
|
-
# TODO: Implement the Tool class
|
|
251
|
-
pass
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
def get_input_information(
|
|
255
|
-
inputs: list[tuple[str, str, str, Any]], type_collector: list
|
|
256
|
-
) -> str | list[dict]:
|
|
257
|
-
"""
|
|
258
|
-
Get the input information for the AOTT operation.
|
|
259
|
-
|
|
260
|
-
Returns:
|
|
261
|
-
str | list[dict]: If the input does not contain images, returns a string with the input information.
|
|
262
|
-
If the input contains images, returns a list of dictionaries representing the input information,
|
|
263
|
-
where each dictionary contains either text or image_url.
|
|
264
|
-
|
|
265
|
-
"""
|
|
266
|
-
contains_imgs = any(get_type_annotation(i[3]) in IMG_FORMATS for i in inputs)
|
|
267
|
-
if not contains_imgs:
|
|
268
|
-
inputs_information_list = []
|
|
269
|
-
for i in inputs:
|
|
270
|
-
typ_anno = get_type_annotation(i[3])
|
|
271
|
-
type_collector.extend(extract_non_primary_type(typ_anno))
|
|
272
|
-
inputs_information_list.append(
|
|
273
|
-
f"{i[0]} ({i[2]}) ({typ_anno}) = {get_object_string(i[3])}"
|
|
274
|
-
)
|
|
275
|
-
return "\n".join(inputs_information_list)
|
|
276
|
-
else:
|
|
277
|
-
inputs_information_dict_list: list[dict] = []
|
|
278
|
-
for i in inputs:
|
|
279
|
-
if get_type_annotation(i[3]) in IMG_FORMATS:
|
|
280
|
-
img_base64 = image_to_base64(i[3])
|
|
281
|
-
image_repr: list[dict] = [
|
|
282
|
-
{
|
|
283
|
-
"type": "text",
|
|
284
|
-
"text": f"{i[0]} ({i[2]}) (Image) = ",
|
|
285
|
-
},
|
|
286
|
-
{"type": "image_url", "image_url": {"url": img_base64}},
|
|
287
|
-
]
|
|
288
|
-
inputs_information_dict_list.extend(image_repr)
|
|
289
|
-
continue
|
|
290
|
-
typ_anno = get_type_annotation(i[3])
|
|
291
|
-
type_collector.extend(extract_non_primary_type(typ_anno))
|
|
292
|
-
inputs_information_dict_list.append(
|
|
293
|
-
{
|
|
294
|
-
"type": "text",
|
|
295
|
-
"text": f"{i[0]} ({i[2]}) ({typ_anno}) = {get_object_string(i[3])}",
|
|
296
|
-
}
|
|
297
|
-
)
|
|
298
|
-
return inputs_information_dict_list
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
def image_to_base64(image: Image) -> str:
|
|
302
|
-
"""Convert an image to base64 expected by OpenAI."""
|
|
303
|
-
if not Image:
|
|
304
|
-
log = logging.getLogger(__name__)
|
|
305
|
-
log.error("Pillow is not installed. Please install Pillow to use images.")
|
|
306
|
-
return ""
|
|
307
|
-
img_format = image.format
|
|
308
|
-
with BytesIO() as buffer:
|
|
309
|
-
image.save(buffer, format=img_format, quality=100)
|
|
310
|
-
return f"data:image/{img_format.lower()};base64,{base64.b64encode(buffer.getvalue()).decode()}"
|
jaclang/core/llms/__init__.py
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"""LLM implementations for MTLLM."""
|
|
2
|
-
|
|
3
|
-
from .anthropic import Anthropic
|
|
4
|
-
from .base import BaseLLM
|
|
5
|
-
from .groq import Groq
|
|
6
|
-
from .huggingface import Huggingface
|
|
7
|
-
from .ollama import Ollama
|
|
8
|
-
from .openai import OpenAI
|
|
9
|
-
from .togetherai import TogetherAI
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
__all__ = [
|
|
13
|
-
"Anthropic",
|
|
14
|
-
"Ollama",
|
|
15
|
-
"Huggingface",
|
|
16
|
-
"Groq",
|
|
17
|
-
"BaseLLM",
|
|
18
|
-
"OpenAI",
|
|
19
|
-
"TogetherAI",
|
|
20
|
-
]
|