jaclang 0.7.2__py3-none-any.whl → 0.7.7__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.

Files changed (92) hide show
  1. jaclang/cli/cli.py +2 -2
  2. jaclang/compiler/absyntree.py +499 -294
  3. jaclang/compiler/codeloc.py +2 -2
  4. jaclang/compiler/constant.py +100 -2
  5. jaclang/compiler/jac.lark +27 -19
  6. jaclang/compiler/parser.py +119 -92
  7. jaclang/compiler/passes/main/access_modifier_pass.py +20 -12
  8. jaclang/compiler/passes/main/def_impl_match_pass.py +28 -14
  9. jaclang/compiler/passes/main/def_use_pass.py +59 -40
  10. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +65 -43
  11. jaclang/compiler/passes/main/import_pass.py +8 -6
  12. jaclang/compiler/passes/main/pyast_gen_pass.py +97 -42
  13. jaclang/compiler/passes/main/pyast_load_pass.py +47 -12
  14. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +19 -10
  15. jaclang/compiler/passes/main/registry_pass.py +6 -6
  16. jaclang/compiler/passes/main/sub_node_tab_pass.py +0 -5
  17. jaclang/compiler/passes/main/sym_tab_build_pass.py +43 -235
  18. jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +21 -4
  19. jaclang/compiler/passes/main/tests/test_def_use_pass.py +5 -10
  20. jaclang/compiler/passes/main/type_check_pass.py +2 -1
  21. jaclang/compiler/passes/tool/jac_formatter_pass.py +30 -9
  22. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +16 -0
  23. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +16 -0
  24. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +1 -1
  25. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +1 -1
  26. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +1 -1
  27. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +1 -1
  28. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +1 -1
  29. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +1 -1
  30. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +1 -1
  31. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +1 -1
  32. jaclang/compiler/passes/transform.py +2 -4
  33. jaclang/{core/registry.py → compiler/semtable.py} +1 -3
  34. jaclang/compiler/symtable.py +142 -101
  35. jaclang/compiler/tests/test_parser.py +2 -2
  36. jaclang/core/aott.py +15 -11
  37. jaclang/core/{construct.py → architype.py} +25 -240
  38. jaclang/core/constructs.py +44 -0
  39. jaclang/core/context.py +157 -0
  40. jaclang/core/importer.py +18 -9
  41. jaclang/core/memory.py +99 -0
  42. jaclang/core/test.py +90 -0
  43. jaclang/core/utils.py +2 -2
  44. jaclang/langserve/engine.py +127 -50
  45. jaclang/langserve/server.py +34 -61
  46. jaclang/langserve/tests/fixtures/base_module_structure.jac +28 -0
  47. jaclang/langserve/tests/fixtures/circle.jac +16 -12
  48. jaclang/langserve/tests/fixtures/circle_err.jac +3 -3
  49. jaclang/langserve/tests/fixtures/circle_pure.test.jac +15 -0
  50. jaclang/langserve/tests/fixtures/import_include_statements.jac +6 -0
  51. jaclang/langserve/tests/fixtures/py_import.py +26 -0
  52. jaclang/langserve/tests/test_server.py +93 -18
  53. jaclang/langserve/utils.py +124 -10
  54. jaclang/plugin/builtin.py +1 -1
  55. jaclang/plugin/default.py +23 -9
  56. jaclang/plugin/feature.py +25 -7
  57. jaclang/plugin/spec.py +18 -20
  58. jaclang/settings.py +3 -0
  59. jaclang/tests/fixtures/abc.jac +16 -12
  60. jaclang/tests/fixtures/aott_raise.jac +1 -1
  61. jaclang/tests/fixtures/byllmissue.jac +9 -0
  62. jaclang/tests/fixtures/edgetypeissue.jac +10 -0
  63. jaclang/tests/fixtures/hello.jac +1 -1
  64. jaclang/tests/fixtures/impl_match_confused.impl.jac +1 -0
  65. jaclang/tests/fixtures/impl_match_confused.jac +5 -0
  66. jaclang/tests/fixtures/maxfail_run_test.jac +17 -5
  67. jaclang/tests/fixtures/run_test.jac +17 -5
  68. jaclang/tests/fixtures/with_llm_function.jac +1 -1
  69. jaclang/tests/fixtures/with_llm_lower.jac +1 -1
  70. jaclang/tests/fixtures/with_llm_method.jac +1 -1
  71. jaclang/tests/fixtures/with_llm_type.jac +1 -1
  72. jaclang/tests/fixtures/with_llm_vision.jac +1 -1
  73. jaclang/tests/test_bugs.py +19 -0
  74. jaclang/tests/test_cli.py +1 -1
  75. jaclang/tests/test_language.py +161 -96
  76. jaclang/tests/test_reference.py +1 -1
  77. jaclang/utils/lang_tools.py +5 -4
  78. jaclang/utils/test.py +2 -1
  79. jaclang/utils/treeprinter.py +22 -8
  80. {jaclang-0.7.2.dist-info → jaclang-0.7.7.dist-info}/METADATA +1 -1
  81. {jaclang-0.7.2.dist-info → jaclang-0.7.7.dist-info}/RECORD +83 -80
  82. jaclang/core/llms/__init__.py +0 -20
  83. jaclang/core/llms/anthropic.py +0 -90
  84. jaclang/core/llms/base.py +0 -206
  85. jaclang/core/llms/groq.py +0 -70
  86. jaclang/core/llms/huggingface.py +0 -76
  87. jaclang/core/llms/ollama.py +0 -81
  88. jaclang/core/llms/openai.py +0 -65
  89. jaclang/core/llms/togetherai.py +0 -63
  90. jaclang/core/llms/utils.py +0 -9
  91. {jaclang-0.7.2.dist-info → jaclang-0.7.7.dist-info}/WHEEL +0 -0
  92. {jaclang-0.7.2.dist-info → jaclang-0.7.7.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=d352zfA5_Da5InyQkv4V-qaxIcdIaVYJVeYt8npSB3I,13553
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
8
  jaclang/compiler/__init__.py,sha256=JA3L1ran0PlZI5Pcj2CIrFgrZGRNFHHC5kRh1QYgYlY,3146
9
- jaclang/compiler/absyntree.py,sha256=wdjDFb7iAioSoFqNKO-iVp52j76fxV1n3eiiOJWp3Y8,127396
10
- jaclang/compiler/codeloc.py,sha256=KMwf5OMQu3_uDjIdH7ta2piacUtXNPgUV1t8OuLjpzE,2828
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=C8nOgWLAg-fRg8Qax_jRcYp6jGyWSSA1gwzk9Zdy7HE,6534
13
- jaclang/compiler/jac.lark,sha256=TI8ctvs_cASPp-EDPrMiCeL80Ngvj_7WxGMUFtGN7vs,17040
14
- jaclang/compiler/parser.py,sha256=Fy6qsTdh82YvXSgXoevIT5dIGjAn3hqbN45muJ5jFNY,138789
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=1tQJ9bNlOVX3sgL0DK4jv643Pu5xl68oL8LNsaHf-MY,4864
19
- jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=P8XfyJcI7smbRvG8-DKcVMayzV6co7SNodYXMQ1vt3E,3959
20
- jaclang/compiler/passes/main/def_use_pass.py,sha256=3JeiqNxegTQ8a2gk3Tlc4frUrSQ1ZZeiv2qwNA1OPp0,8887
21
- jaclang/compiler/passes/main/fuse_typeinfo_pass.py,sha256=KMup0S3ovzf9tcjJMKIXKgp6oXXznkxuAU1BllaXXA0,17267
22
- jaclang/compiler/passes/main/import_pass.py,sha256=p9KeFywHmb2jD6IIr-KvxybqFt696AXGF5KSj37SzSU,10237
23
- jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=-zIgBh-9GpGVDENsPuWSFbj7R6X6DscX-tX_K2syWpI,138323
24
- jaclang/compiler/passes/main/pyast_load_pass.py,sha256=HknN8PGhlBv_H5muKi8zbPKuKgZHvgR_nNsMsIiz0y0,90697
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=FOix4QEoolgTQeO2FCi99dDEtrXOnQ9MQ991rIEBw38,8045
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=Lp_EqlflXkSgQuJe_EVBtzC16YAJx70bDO6X0nJIX5U,4579
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=fGgK0CBWsuD6BS4BsLwXPl1b5UC2N2YEOGa6jNMu8N8,1332
31
- jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=1bUU-p0zCoLoF7_HgLr2FKxUuc_4y2O7-5FSJD8mfWc,42020
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=-qb9-XV6XbPCbL3JoUQsbS86w-WjkAKCnAYuDFORoIE,1378
55
- jaclang/compiler/passes/main/tests/test_def_use_pass.py,sha256=dmyZgXugOCN-_YY7dxkNHgt8vqey8qzNJf8sWyLLZ5w,1013
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=-f41Ukr3B1w4rkQdZ2xJy6nozymgnVKjJ8E1fn7qJmI,3339
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=86dW_09RRWApxOKZXucZtIuYDHOQUISpmz2biJ2c-gs,86606
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=GA5_CDQQo9awG6H8wed8tp06KoWtQ8nR70LVbBwCFIY,12416
72
- jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac,sha256=GA5_CDQQo9awG6H8wed8tp06KoWtQ8nR70LVbBwCFIY,12416
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=VIXnIeimrkxF1T0pzE82eA8q9uUao7UXC_tkypn6l08,1783
75
- jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac,sha256=euhNL6oYlRnt0uLDar8fz7bvoiqf55b4Kq-gGBrb7cw,684
76
- jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac,sha256=J3FfEzINUsJx9ZFfJ2TRclOoe11vYFvcNSjSG4o724I,919
77
- jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac,sha256=0Q0oIQoTx0_5iLpWn7qQBN1rSVrzs926uHP2x_GO6-Y,1093
78
- jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac,sha256=rQzw3qpqWIQSB1fsjZBXNkEaHejpH-0382YOgJHlrVA,1067
79
- jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac,sha256=66zYIitZXitPRLLlSHoT1w5t3r2jciMpo1xhjnyYmvQ,700
80
- jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac,sha256=8auSCY5Gix34YqnDc9OXHKuB_M9K0MnqmN7yayGvk58,437
81
- jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac,sha256=-WsekjwmRXnxTLa9wo1eLnKP2vTteuxf77lcc4vvA3U,2757
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=jh2pMGFs6J9ZbQ2E-3r21khDm53yKXbNq5GstLMkBpg,2374
104
+ jaclang/compiler/passes/transform.py,sha256=GEHK3zFWrEjbAQ3mIl3D59jBuIrA8DRbw9t_IlUqg3M,2297
105
105
  jaclang/compiler/passes/utils/__init__.py,sha256=UsI5rUopTUiStAzup4kbPwIwrnC5ofCrqWBCBbM2-k4,35
106
106
  jaclang/compiler/passes/utils/mypy_ast_build.py,sha256=DbTYKwQ2K-3JXS_RybLyvqDz_381Li8JfFKNeEQhbRY,26324
107
- jaclang/compiler/symtable.py,sha256=_4gtwQkBReYVEiTBFXwv6BaDd5H-bL9LpU1zgt2ymWs,6648
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,45 @@ 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=C81mUo8EGwypPTTLRVS9BglP0Dyye9xaPSQtw7cwnnI,4814
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/aott.py,sha256=b9fTTu5fUo756s_PEenvV1uagE0Wm4tu4vJc-NPu5IQ,11190
121
- jaclang/core/construct.py,sha256=lA-z-49FQRyhHLg7bPfCuGchVxXdWDPosX7H_ddbm38,23601
122
- jaclang/core/importer.py,sha256=JW_bxxEASklIBjezBiDaor95X6JLRUFspnN-zImtY8E,6100
123
- jaclang/core/llms/__init__.py,sha256=hxuxduH6ahhkXgJ9eUkhfn8LCS1KTz1ESuYgtspu_c0,371
124
- jaclang/core/llms/anthropic.py,sha256=numnoRVzi6ZjOMEP7UvMDsM_NnNfpqv4jeRfpSb79c4,3233
125
- jaclang/core/llms/base.py,sha256=_qOv8G5jH2dc4OKUBDKDLx9M6Mv5kFUu5rj5dI625vU,6076
126
- jaclang/core/llms/groq.py,sha256=VjBltafRkeNhpoGQzB79EsA4NWXnJVAArapKaqTWOq0,2303
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/aott.py,sha256=W-hvfwDxwu1S3jFTWADWNob0-JnYbywdbUklkXIAOUA,11367
122
+ jaclang/core/architype.py,sha256=qBH0W-ALxmK6DALc4_S7gx-3R7C_6o-PGKb3f4RbWbE,16781
123
+ jaclang/core/constructs.py,sha256=ogWc95DEZxQWoxqsfbRrcmt9ldGDqW7zQVu3DWuIAKs,848
124
+ jaclang/core/context.py,sha256=AxGsra9EqokVdOhwIxR9RuAcnm0HmobUnMBezUBY1_s,4774
125
+ jaclang/core/importer.py,sha256=CReQhfVak0kUT-UB2Q_g023hR_JpyNl-uA91pZeDNXs,6324
126
+ jaclang/core/memory.py,sha256=7QukfL6wDBXrdpRn01yu4RMNkmIMNqFiKrI0zfpGSy4,2947
127
+ jaclang/core/test.py,sha256=HRCl3cf0uPTe58Kcx_sBUb6ow8J53rnmpFOhA7g9oAA,2851
128
+ jaclang/core/utils.py,sha256=uzEsRSuNSMMo7dlvCozGv0TnpUmHEjGNzUTZt1Df2gQ,7741
134
129
  jaclang/langserve/__init__.py,sha256=3qbnivBBcLZCfmDYRMIeKkG08Lx7XQsJJg-qG8TU8yc,51
135
- jaclang/langserve/engine.py,sha256=w4oHxUb-qlJlOGI3hzAjPIjWSIC7uqVxbNao9yL8Ugw,13198
136
- jaclang/langserve/server.py,sha256=s91jycYI4lHqFBOel3VV4ODmiO3abvX3UjyfM0hvWBI,5132
130
+ jaclang/langserve/engine.py,sha256=oo9IvUFTKxpfk65sk2ExRBEhN0y2PzFTLrTNF0rxMeE,16289
131
+ jaclang/langserve/server.py,sha256=XGg9AfGiY17DvVGLQ-O228OwdvSsKaqdhnsiYxVgwew,4368
137
132
  jaclang/langserve/tests/__init__.py,sha256=iDM47k6c3vahaWhwxpbkdEOshbmX-Zl5x669VONjS2I,23
138
133
  jaclang/langserve/tests/defaults.py,sha256=8UWHuCHY-WatPcWFhyX9-4KLuJgODTlLNj0wNnKomIM,7608
139
- jaclang/langserve/tests/fixtures/circle.jac,sha256=M-OOMttQ9D5qyvfJibKJVW6ce3YRmXKDUAWzyy4N4mU,1733
140
- jaclang/langserve/tests/fixtures/circle_err.jac,sha256=6Cn3PtP3ujjC8DjiOQWFbdb5C6wW12wAv9BwLwvX7b4,1732
134
+ jaclang/langserve/tests/fixtures/base_module_structure.jac,sha256=gtU3Uq0gsJy6G8Dg4IWiL-YSk_LVFAYK4mVEPt5rGpE,515
135
+ jaclang/langserve/tests/fixtures/circle.jac,sha256=AWzRxTBjvQwoLSOakjn0kKXWqKvDaUYGc1zmBk1Nd5c,1770
136
+ jaclang/langserve/tests/fixtures/circle_err.jac,sha256=T22UiWpKJy6IhS-y0DrrZJMz95-8SAZnRAQUmT_kxO4,1732
141
137
  jaclang/langserve/tests/fixtures/circle_pure.impl.jac,sha256=rsXatY9a-wZONRPJ6VOuw7Bj9R_CrJO_TEwAVXj1PjU,702
142
138
  jaclang/langserve/tests/fixtures/circle_pure.jac,sha256=62j4v1LbWIfGfz_-tR7GDWNmEFqhdXhkDRC68Jc5fUs,624
139
+ jaclang/langserve/tests/fixtures/circle_pure.test.jac,sha256=QiOAUZ5xXPKDx_QQRCZ_l_Mt3DQvWd8toKehdNa-ZgU,295
143
140
  jaclang/langserve/tests/fixtures/circle_pure_err.impl.jac,sha256=rsXatY9a-wZONRPJ6VOuw7Bj9R_CrJO_TEwAVXj1PjU,702
144
141
  jaclang/langserve/tests/fixtures/circle_pure_err.jac,sha256=jQ5QX0G5khGACoY82CM-6LcOX57w4e29tHVicE2eMgw,608
145
142
  jaclang/langserve/tests/fixtures/hello.jac,sha256=iRMKtYVCw1zLvjOQbj3q__3Manj1Di1YeDTNMEvYtBc,36
143
+ jaclang/langserve/tests/fixtures/import_include_statements.jac,sha256=9FGQX_xet105BwQqyFC7SdsbYwW5JyVOJVWpsqx56jg,288
144
+ jaclang/langserve/tests/fixtures/py_import.py,sha256=BvNimsRmsbJWd-JNM31oJpl52bYvSdfQ6Np3DJNt7d0,320
146
145
  jaclang/langserve/tests/pylsp_jsonrpc/__init__.py,sha256=bDWxRjmELPCVGy243_0kNrG7PttyZsv_eZ9JTKQrU1E,105
147
146
  jaclang/langserve/tests/pylsp_jsonrpc/dispatchers.py,sha256=zEZWu6C2_n4lPoA8H8OO67746P93VhbYaXZMdtrD8Z0,1038
148
147
  jaclang/langserve/tests/pylsp_jsonrpc/endpoint.py,sha256=TxDpWUd-8AGJwdRQN_iiCXYxrVfviZQlNtEvBL0dDPc,10591
149
148
  jaclang/langserve/tests/pylsp_jsonrpc/exceptions.py,sha256=NGHeFQawZcjoLUcgDmY3bF7BqZR83g7TmdKyzCmRaKM,2836
150
149
  jaclang/langserve/tests/pylsp_jsonrpc/streams.py,sha256=R80_FvICIkrbdGmNtlemWYaxrr7-XldPgLaASnyv0W8,3332
151
150
  jaclang/langserve/tests/session.py,sha256=3pIRoQjZnsnUWIYnO2SpK7c1PAiHMCFrrStNK2tawRM,9572
152
- jaclang/langserve/tests/test_server.py,sha256=L1EKGZTL1dpHha9TkzcXyIiC1o448UDo0TMbiZ73wtc,8184
153
- jaclang/langserve/utils.py,sha256=aOH8W58FZ9HOfJD1Q3vbBMaaN9SWicohVybuUoiyLbE,5564
151
+ jaclang/langserve/tests/test_server.py,sha256=Bmllojot7c40rq0mDMOAiOyowY0-ECh_qAJtCZV_8Q0,11102
152
+ jaclang/langserve/utils.py,sha256=JS_XxDAtqTO4r0wSQjxgGqHwx9xTN_JZpNI1YP-kgbY,9868
154
153
  jaclang/plugin/__init__.py,sha256=5t2krHKt_44PrCTGojzxEimxpNHYVQcn89jAiCSXE_k,165
155
- jaclang/plugin/builtin.py,sha256=PP2Vs4p_oDbGYEx0iBFDYH49I4uSRnNVWgx2aOzorVA,1187
156
- jaclang/plugin/default.py,sha256=j1CSAgbHNhbysiKXcsatgo79JelJ97BICaTRonl5piY,25455
157
- jaclang/plugin/feature.py,sha256=ZOVLhVOXFmfJc3Ux3WgI2IALPZG1jgvsbsxojUbb8jg,9347
158
- jaclang/plugin/spec.py,sha256=mJRUMGaIhlHbZIvO2J-A1q3eNhnIWJ0iBCPmxhHiHx4,9043
154
+ jaclang/plugin/builtin.py,sha256=MEMPUnj_rlwcCNmUkfH5S8iazMnQ6fpp6tls4fh5z7k,1188
155
+ jaclang/plugin/default.py,sha256=kx7rKU7t0PN4z-zF5kLUg_PiQHUV6_90bh3SJldynHY,25837
156
+ jaclang/plugin/feature.py,sha256=fhyQRNYOkcXlYn1ObFPqdOHPhtC_lGQfgd7RD2ooLUY,9792
157
+ jaclang/plugin/spec.py,sha256=CMu6rzi94eIZaqsFz3NIbN3upJgGneb4FE_7Rly7slE,8893
159
158
  jaclang/plugin/tests/__init__.py,sha256=rn_tNG8jCHWwBc_rx4yFkGc4N1GISb7aPuTFVRTvrTk,38
160
159
  jaclang/plugin/tests/fixtures/impl_match.jac,sha256=WEhcA1GlovusITEFO2bOjYYqiiULyYGKhM17uK2GqnI,91
161
160
  jaclang/plugin/tests/fixtures/impl_match_impl.jac,sha256=k1385r7Hdlq6mUKxEHa3VOKJUIWH08hYg2kErhbYwFM,31
@@ -163,16 +162,16 @@ jaclang/plugin/tests/fixtures/simple_node_connection.jac,sha256=KdbpACWtnj92TqQq
163
162
  jaclang/plugin/tests/fixtures/simple_persistent.jac,sha256=o0TZTOJEZjFW8A2IGY8ICBZEBZzHhqha0xQFFBK_DSI,624
164
163
  jaclang/plugin/tests/test_features.py,sha256=p0N5inZn92Cj0eqslmDR0-q6pVG8hkcQfA6CuQcfP3Y,2352
165
164
  jaclang/plugin/tests/test_jaseci.py,sha256=XcVL-FOZMTsjJEZqCa-rcYyEPl1dxdFFu9vhvm8kUaI,7956
166
- jaclang/settings.py,sha256=o_AXXgX7PNcEwL33v7NehVCk1ndmif-AWo91nzBLot8,3322
167
- jaclang/tests/fixtures/abc.jac,sha256=M-OOMttQ9D5qyvfJibKJVW6ce3YRmXKDUAWzyy4N4mU,1733
165
+ jaclang/settings.py,sha256=7rKy_kQkWjciwBoWHoJVYrK0nxLwaG54FFvFLOGGggk,3375
166
+ jaclang/tests/fixtures/abc.jac,sha256=AWzRxTBjvQwoLSOakjn0kKXWqKvDaUYGc1zmBk1Nd5c,1770
168
167
  jaclang/tests/fixtures/access_checker.jac,sha256=6Inm14cZsyMfezFRs2zfnQEZSE_JRxVvytcZbox7BNw,375
169
168
  jaclang/tests/fixtures/access_modifier.jac,sha256=bxiPlbqm4zPXdMIeTR0-LhjO6c-LS7fW_fGuIA7oKWI,945
170
- jaclang/tests/fixtures/aott_raise.jac,sha256=11c3V3POK6ir1TDnjRWBTZFu9gOKYvtZvRWs325OSCE,749
169
+ jaclang/tests/fixtures/aott_raise.jac,sha256=ufKMVC21NJw3zSSJ_8uCoG_IR9pJf8WfGp8AAyX14DQ,747
171
170
  jaclang/tests/fixtures/arithmetic_bug.jac,sha256=iiO3ZwTi7R1U6-flV4tGbxDHXsw8GnaLEzVNGTPdMUA,135
172
171
  jaclang/tests/fixtures/assign_compr.jac,sha256=rnoujdtpjNbem4IdtBfxPahSUXl-gxNv4JFNEuUs5iM,286
173
172
  jaclang/tests/fixtures/assign_compr_dup.jac,sha256=rnoujdtpjNbem4IdtBfxPahSUXl-gxNv4JFNEuUs5iM,286
174
173
  jaclang/tests/fixtures/builtin_dotgen.jac,sha256=HsAHVyN7HxhbICqe4GXV51cJlMe68WMleMmx9KeR8fU,1759
175
- jaclang/tests/fixtures/byllmissue.jac,sha256=S4im8d6cnPYIxthzKotNkfwUZ_FMr4TpEt_jPPFiwPI,64
174
+ jaclang/tests/fixtures/byllmissue.jac,sha256=A7V7nk0oqt0uR246sJ8DKBxMERn1cvHvE98pxJRVoRU,152
176
175
  jaclang/tests/fixtures/chandra_bugs.jac,sha256=vcBjZ4P7S1PPUs-_0Stt779pus95RJTMs1x_-m0w7yY,282
177
176
  jaclang/tests/fixtures/chandra_bugs2.jac,sha256=P9C7lVotfh-OoyAl1LDUqMPUaUmjrNrVO3nrBcxB_WQ,540
178
177
  jaclang/tests/fixtures/circle_pysolo.py,sha256=TAJTCOjrUl80oDke5wl6ZyBJQsy37Hu6gYdqcO-tQlY,2477
@@ -191,6 +190,7 @@ jaclang/tests/fixtures/disconn.jac,sha256=gRbNh6R6t-cTdB6lT4M7HW7cdGoYoGV5Bnp3Nh
191
190
  jaclang/tests/fixtures/edge_node_walk.jac,sha256=OOIMT7lrwZT3rVF-niRWbUeifBL5fuu1D1TMYXPRlfk,961
192
191
  jaclang/tests/fixtures/edge_ops.jac,sha256=PYw_ChRnYReVSev1PjUmbtvHUj-ZWfZax2KOkaWC1pc,941
193
192
  jaclang/tests/fixtures/edges_walk.jac,sha256=3X7LH0O9EinQnGvSu0BKMZptI10vVXpry_RdV2lTFnE,800
193
+ jaclang/tests/fixtures/edgetypeissue.jac,sha256=ZsJuNdtmD_fu2b7sDJ_tWZjoDI_rxouDEcSWkahhBS0,118
194
194
  jaclang/tests/fixtures/enum_inside_archtype.jac,sha256=EiuL9szE0ISfeczoVcnZyw0eK1n6vc6_koDf0cHgoh4,236
195
195
  jaclang/tests/fixtures/err.jac,sha256=0MbNsaJaVp7cpL-nvG2SOCnDmZbfcpjOaF7VIU_2ggU,49
196
196
  jaclang/tests/fixtures/err2.jac,sha256=x8h69NTVMGJa_UicY-CZblLMdeH09myTeiYqNFamiK0,50
@@ -201,18 +201,20 @@ jaclang/tests/fixtures/has_goodness.jac,sha256=CmhMXiRLCkdrqpGbSm2e7mBf0hCBgCk5s
201
201
  jaclang/tests/fixtures/hash_init_check.jac,sha256=Yrh3Rmi4SHIbY_c8EjHzcnwXVXas9ufbCAnkdRa3EyQ,205
202
202
  jaclang/tests/fixtures/hashcheck.jac,sha256=ksWSP6jyQ7MedV-Oh7HoXHn1rTdQwv2O1H22Pyq3d3c,160
203
203
  jaclang/tests/fixtures/hashcheck_dup.jac,sha256=ksWSP6jyQ7MedV-Oh7HoXHn1rTdQwv2O1H22Pyq3d3c,160
204
- jaclang/tests/fixtures/hello.jac,sha256=6YezKvx2CNjE0l3Ea6P9ZsTrj4XyqvXDQO9S1EFNbIE,63
204
+ jaclang/tests/fixtures/hello.jac,sha256=M_E69sEKTpetkG-LLydm698o0cjpN6WhIT4ADJr5YpE,64
205
205
  jaclang/tests/fixtures/hello_nc.jac,sha256=6YezKvx2CNjE0l3Ea6P9ZsTrj4XyqvXDQO9S1EFNbIE,63
206
206
  jaclang/tests/fixtures/ignore.jac,sha256=_2ZzV5VV_5F7i5cHUxOkQgsKtxnUGKlBxDHeGGLoK3g,673
207
207
  jaclang/tests/fixtures/ignore_dup.jac,sha256=_2ZzV5VV_5F7i5cHUxOkQgsKtxnUGKlBxDHeGGLoK3g,673
208
208
  jaclang/tests/fixtures/impl_grab.impl.jac,sha256=Ai4k28dz-VNcP1jDup0m5s7YpPhqUh77KTyvHwHs_po,59
209
209
  jaclang/tests/fixtures/impl_grab.jac,sha256=IwYqYVvOHc820eekiXi5D7XJ9TyYaWydtWp_GYszQ5Q,47
210
+ jaclang/tests/fixtures/impl_match_confused.impl.jac,sha256=kGLTk4t5ABnlMZe5WRGg8bJjpHRqBwa5W_0d1yRHfO8,42
211
+ jaclang/tests/fixtures/impl_match_confused.jac,sha256=m8HxEQrI8IM82AZXaK5_rfhrHf2dvrPafjDMYyQI9EU,106
210
212
  jaclang/tests/fixtures/inherit_check.jac,sha256=FQlbCavN4ryt3mmD6ei1MIt1jMgZ8_NcVkT62233C0s,423
211
213
  jaclang/tests/fixtures/jacsamp.jac,sha256=VUHUn-RvHzTA4v0KNIFuciocqAHsgQp9tfsEvh5WHlE,96
212
214
  jaclang/tests/fixtures/jp_importer.jac,sha256=Mfn62rwYk8CANIkCoMf5UFt4SKl042jaU0CHnj-Soiw,414
213
215
  jaclang/tests/fixtures/lambda.jac,sha256=nU4HbPrBdYe6NegJq4LueequaiLCe3KWyTAbL__ibG0,113
214
216
  jaclang/tests/fixtures/math_question.jpg,sha256=YYLzFuCZRmhEcyTNKy-HzOaka4ZSswHExA3a6UMD18E,152545
215
- jaclang/tests/fixtures/maxfail_run_test.jac,sha256=CS_rDshUyDGEMbYph0KiPoyxIq_kDdPgcVNvuIMaYEg,162
217
+ jaclang/tests/fixtures/maxfail_run_test.jac,sha256=JSGAM4wXnu5kP5aczcHNDlnn017yZpinRApetQSPhtE,196
216
218
  jaclang/tests/fixtures/mtest.impl.jac,sha256=wYsT4feH2JgxxgN217dgbDWooSmD8HBSlzUwJ4jAa8g,76
217
219
  jaclang/tests/fixtures/mtest.jac,sha256=i7aQpJuUw4YMXgJOvGn_lRx-TruJdqBClioPKGUd4mw,67
218
220
  jaclang/tests/fixtures/needs_import.jac,sha256=hJab0QWdoTLuNaNhtY6zjzyGGUouRyT9uQknhP-lXXQ,315
@@ -229,7 +231,7 @@ jaclang/tests/fixtures/pyfunc_3.py,sha256=BDmPJBV3A-ExlbvfcZqRcZyY9zDMVGZ4PYzbFV
229
231
  jaclang/tests/fixtures/random_check.jac,sha256=o8MxWK9_QjxQh9nxBQKYUdsaxIPxlzUJFpxPr-lU588,1523
230
232
  jaclang/tests/fixtures/raw_byte_string.jac,sha256=y5FA0rtLC5do8vqXfCxCF1TP7l8L20nI56WRFdu8x9k,337
231
233
  jaclang/tests/fixtures/registry.jac,sha256=jelEOPsn6iTWZ4zKz4DrCOhPvAwSp-R8ztNImIIREFE,855
232
- jaclang/tests/fixtures/run_test.jac,sha256=w_NjrpbUsQcxBFU_f2tDzoAJIHc0JOXYAH-5DWfiQqs,166
234
+ jaclang/tests/fixtures/run_test.jac,sha256=3FN5EGiauO_7sRyNVeDttgb1ubDX0bu0QmikqfeFQv0,201
233
235
  jaclang/tests/fixtures/semstr.jac,sha256=9dP6zA0jlkIFNTuPNylxpAm186e981vLEPQFDOEpP4c,946
234
236
  jaclang/tests/fixtures/simple_archs.jac,sha256=582d31dUHFWqC2dDFPhKweLHHw2qgwJMbM9qCTAy7e4,361
235
237
  jaclang/tests/fixtures/slice_vals.jac,sha256=BN8QxpLa8z834VMjLr1Nfv3rAWmqmk3r7FN7gedydAc,232
@@ -241,24 +243,25 @@ jaclang/tests/fixtures/tuplytuples.jac,sha256=6qiXn5OV_qn4cqKwROjJ1VuBAh0nbUGpp-
241
243
  jaclang/tests/fixtures/type_info.jac,sha256=4Cw31ef5gny6IS0kLzgeSO-7ArEH1HgFFFip1BGQhZM,316
242
244
  jaclang/tests/fixtures/walker_override.jac,sha256=Ok58ZAgxuV6aECNxYrjbbyAWSiqIbnly3N3O6cD563o,271
243
245
  jaclang/tests/fixtures/with_context.jac,sha256=cDA_4YWe5UVmQRgcpktzkZ_zsswQpV_T2Otf_rFnPy8,466
244
- jaclang/tests/fixtures/with_llm_function.jac,sha256=hcDBO2Ch5IScrV0VBzeYaNaL4GhmVwg_odOzfOb1pwk,804
245
- jaclang/tests/fixtures/with_llm_lower.jac,sha256=S3a8luL38neLReoxNzs-nLeN36oys059MS8g7g_oqJg,1878
246
- jaclang/tests/fixtures/with_llm_method.jac,sha256=l76E50hIygLwkiIpjf3iYGv97C3yZlUABE2D5GnqQ44,1420
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
246
+ jaclang/tests/fixtures/with_llm_function.jac,sha256=Tt5C9rmAtHPGMVWx9A6M9iYLasPZVBecM_bzK_5btz8,797
247
+ jaclang/tests/fixtures/with_llm_lower.jac,sha256=G-aq6uQnRfcnXvv9Jan_WO7X1o0xU_FCKTzk007aXsQ,1871
248
+ jaclang/tests/fixtures/with_llm_method.jac,sha256=_la52GnLVXE5wnF3t8ZaL_72ojXHpzeYLlL-4zUOdM8,1413
249
+ jaclang/tests/fixtures/with_llm_type.jac,sha256=IXXgOaLPz90IbU8az9FqxmzKW9m08t3cq3146QWkXoA,1771
250
+ jaclang/tests/fixtures/with_llm_vision.jac,sha256=2UC_i1ufnXk9uhj4ruEaR_6romR_r2CVN3YwMLDdgGY,672
251
+ jaclang/tests/test_bugs.py,sha256=tBPsIlSPqZDIz4QaScNRT-WdGIdJ0uU-aRBWq1XUZ6o,555
252
+ jaclang/tests/test_cli.py,sha256=tnqdx8W5jTlsDJYR3713EikJqCbcgWEknEwuRHByvWk,8703
253
+ jaclang/tests/test_language.py,sha256=CWEFxvkPI2TnNt_W3zDv737srQ9NQnX2ByLEvxnB-do,39210
251
254
  jaclang/tests/test_man_code.py,sha256=Kq93zg3hEfiouvpWvmfCgR6lDT5RKDp28k5ZaWe1Xeg,4519
252
- jaclang/tests/test_reference.py,sha256=b6mR0WTJ0-sKkvZtMGsGooxzkkmD4WfXj_hOY6ZnhYw,3341
255
+ jaclang/tests/test_reference.py,sha256=FoZQS-U9teiag8mAmX5X6ak4fuCOv00mvOyqJ44Zkc8,3379
253
256
  jaclang/tests/test_settings.py,sha256=TIX5uiu8H9IpZN2__uFiclcdCpBpPpcAwtlEHyFC4kk,1999
254
257
  jaclang/utils/__init__.py,sha256=86LQ_LDyWV-JFkYBpeVHpLaVxkqwFDP60XpWXOFZIQk,46
255
258
  jaclang/utils/helpers.py,sha256=v-jQ-SDzGLrrLXKxoL1PaCguJqcV-X1UlwjWSL3GNAI,6142
256
- jaclang/utils/lang_tools.py,sha256=odv66Os8bJvw9JIUUkccGWvEPL98c-60veAiOiNyTy4,9956
259
+ jaclang/utils/lang_tools.py,sha256=5R-Pe_ylXqWEPXrUGsQ3Vy7rrItf_mbyK19ptFSKiJI,10020
257
260
  jaclang/utils/log.py,sha256=G8Y_DnETgTh9xzvlW5gh9zqJ1ap4YY_MDTwIMu5Uc0Y,262
258
- jaclang/utils/test.py,sha256=5VK0hVo_IyfFiMFN_gz-dFx01yF3tPVZ56RKoAAZfaU,5374
261
+ jaclang/utils/test.py,sha256=Ll3H2l8U2OVQGHAkohsryDXIKSJHJseQSrMHS8JQTiw,5414
259
262
  jaclang/utils/tests/__init__.py,sha256=8uwVqMsc6cxBAM1DuHLuNuTnzLXqOqM-WRa4ixOMF6w,23
260
263
  jaclang/utils/tests/test_lang_tools.py,sha256=hFQzkzdmJIhP99xqjR5z7bqkefMLmE6kwldXYrfK--E,4831
261
- jaclang/utils/treeprinter.py,sha256=b_4FEmRxher_bnxDtUkr9l6vz3ah1hZbNIR9qxNcl4E,12311
264
+ jaclang/utils/treeprinter.py,sha256=7YPWmtU-gHPN37m9eXqVSqjTy7X_xmUVmBaGcn3p5SM,12663
262
265
  jaclang/vendor/__init__.py,sha256=tEcp2kl3hMvF2d6X6WlJSAGuAMYOVCKCstXuPMQSR4Q,265
263
266
  jaclang/vendor/attr/__init__.py,sha256=WlXJN6ICB0Y_HZ0lmuTUgia0kuSdn2p67d4N6cYxNZM,3307
264
267
  jaclang/vendor/attr/__init__.pyi,sha256=u08EujYHy_rSyebNn-I9Xv2S_cXmtA9xWGc0cBsyl18,16976
@@ -1481,7 +1484,7 @@ jaclang/vendor/typing_extensions-4.12.2.dist-info/METADATA,sha256=BeUQIa8cnYbrjW
1481
1484
  jaclang/vendor/typing_extensions-4.12.2.dist-info/RECORD,sha256=XS4fBVrPI7kaNZ56Ggl2RGa76jySWLqTzcrUpZIQTVM,418
1482
1485
  jaclang/vendor/typing_extensions-4.12.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
1483
1486
  jaclang/vendor/typing_extensions.py,sha256=gwekpyG9DVG3lxWKX4ni8u7nk3We5slG98mA9F3DJQw,134451
1484
- jaclang-0.7.2.dist-info/METADATA,sha256=LaJrw5AL0hdWBPjppd_99-RysY3DkRgMj8l1r98FAQ0,4807
1485
- jaclang-0.7.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1486
- jaclang-0.7.2.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
1487
- jaclang-0.7.2.dist-info/RECORD,,
1487
+ jaclang-0.7.7.dist-info/METADATA,sha256=21uv2akbt7s-cQVnyfL563LFygf9EDHSAkEukwhdtuM,4807
1488
+ jaclang-0.7.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1489
+ jaclang-0.7.7.dist-info/entry_points.txt,sha256=8sMi4Tvi9f8tQDN2QAXsSA2icO27zQ4GgEdph6bNEZM,49
1490
+ jaclang-0.7.7.dist-info/RECORD,,
@@ -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
- ]
@@ -1,90 +0,0 @@
1
- """Anthropic API client for MTLLM."""
2
-
3
- from .base import BaseLLM
4
-
5
-
6
- REASON_SUFFIX = """
7
- Reason and return the output result(s) only, adhering to the provided Type in the following format
8
-
9
- [Reasoning] <Reason>
10
- [Output] <Result>
11
- """
12
-
13
- NORMAL_SUFFIX = """Generate and return the output result(s) only, adhering to the provided Type in the following format
14
-
15
- [Output] <result>
16
- """ # noqa E501
17
-
18
- CHAIN_OF_THOUGHT_SUFFIX = """
19
- Generate and return the output result(s) only, adhering to the provided Type in the following format. Perform the operation in a chain of thoughts.(Think Step by Step)
20
-
21
- [Chain of Thoughts] <Chain of Thoughts>
22
- [Output] <Result>
23
- """ # noqa E501
24
-
25
- REACT_SUFFIX = """
26
- """ # noqa E501
27
-
28
-
29
- class Anthropic(BaseLLM):
30
- """Anthropic API client for MTLLM."""
31
-
32
- MTLLM_METHOD_PROMPTS: dict[str, str] = {
33
- "Normal": NORMAL_SUFFIX,
34
- "Reason": REASON_SUFFIX,
35
- "Chain-of-Thoughts": CHAIN_OF_THOUGHT_SUFFIX,
36
- "ReAct": REACT_SUFFIX,
37
- }
38
-
39
- def __init__(
40
- self, verbose: bool = False, max_tries: int = 10, **kwargs: dict
41
- ) -> None:
42
- """Initialize the Anthropic API client."""
43
- import anthropic # type: ignore
44
-
45
- self.client = anthropic.Anthropic()
46
- self.verbose = verbose
47
- self.max_tries = max_tries
48
- self.model_name = str(kwargs.get("model_name", "claude-3-sonnet-20240229"))
49
- self.temperature = kwargs.get("temperature", 0.7)
50
- self.max_tokens = kwargs.get("max_tokens", 1024)
51
-
52
- def __infer__(self, meaning_in: str | list[dict], **kwargs: dict) -> str:
53
- """Infer a response from the input meaning."""
54
- if not isinstance(meaning_in, str):
55
- assert self.model_name.startswith(
56
- ("claude-3-opus", "claude-3-sonnet", "claude-3-haiku")
57
- ), f"Model {self.model_name} is not multimodal, use a multimodal model instead."
58
-
59
- import re
60
-
61
- formatted_meaning_in = []
62
- for item in meaning_in:
63
- if item["type"] == "image_url":
64
- # "data:image/jpeg;base64,base64_string"
65
- img_match = re.match(
66
- r"data:(image/[a-zA-Z]*);base64,(.*)", item["source"]
67
- )
68
- if img_match:
69
- media_type, base64_string = img_match.groups()
70
- formatted_meaning_in.append(
71
- {
72
- "type": "image",
73
- "source": {
74
- "type": "base64",
75
- "media_type": media_type,
76
- "data": base64_string,
77
- },
78
- }
79
- )
80
- continue
81
- formatted_meaning_in.append(item)
82
- meaning_in = formatted_meaning_in
83
- messages = [{"role": "user", "content": meaning_in}]
84
- output = self.client.messages.create(
85
- model=kwargs.get("model_name", self.model_name),
86
- temperature=kwargs.get("temperature", self.temperature),
87
- max_tokens=kwargs.get("max_tokens", self.max_tokens),
88
- messages=messages,
89
- )
90
- return output.content[0].text
jaclang/core/llms/base.py DELETED
@@ -1,206 +0,0 @@
1
- """Base Large Language Model (LLM) class."""
2
-
3
- import logging
4
- import re
5
-
6
- from .utils import logger
7
-
8
-
9
- httpx_logger = logging.getLogger("httpx")
10
- httpx_logger.setLevel(logging.WARNING)
11
-
12
- SYSTEM_PROMPT = """
13
- [System Prompt]
14
- This is an operation you must perform and return the output values. Neither, the methodology, extra sentences nor the code are not needed.
15
- Input/Type formatting: Explanation of the Input (variable_name) (type) = value
16
- """ # noqa E501
17
-
18
-
19
- PROMPT_TEMPLATE = """
20
- [Information]
21
- {information}
22
-
23
- [Context]
24
- {context}
25
-
26
- [Inputs Information]
27
- {inputs_information}
28
-
29
- [Output Information]
30
- {output_information}
31
-
32
- [Type Explanations]
33
- {type_explanations}
34
-
35
- [Action]
36
- {action}
37
- """ # noqa E501
38
-
39
- NORMAL_SUFFIX = """Generate and return the output result(s) only, adhering to the provided Type in the following format
40
-
41
- [Output] <result>
42
- """ # noqa E501
43
-
44
- REASON_SUFFIX = """
45
- Reason and return the output result(s) only, adhering to the provided Type in the following format
46
-
47
- [Reasoning] <Reason>
48
- [Output] <Result>
49
- """
50
-
51
- CHAIN_OF_THOUGHT_SUFFIX = """
52
- Generate and return the output result(s) only, adhering to the provided Type in the following format. Perform the operation in a chain of thoughts.(Think Step by Step)
53
-
54
- [Chain of Thoughts] <Chain of Thoughts>
55
- [Output] <Result>
56
- """ # noqa E501
57
-
58
- REACT_SUFFIX = """
59
- """ # noqa E501
60
-
61
- MTLLM_OUTPUT_FIX_PROMPT = """
62
- [Output]
63
- {model_output}
64
-
65
- [Previous Result You Provided]
66
- {previous_output}
67
-
68
- [Desired Output Type]
69
- {output_info}
70
-
71
- [Type Explanations]
72
- {output_type_info}
73
-
74
- Above output is not in the desired Output Format/Type. Please provide the output in the desired type. Do not repeat the previously provided output.
75
- Important: Do not provide the code or the methodology. Only provide
76
- the output in the desired format.
77
- """ # noqa E501
78
-
79
- OUTPUT_CHECK_PROMPT = """
80
- [Output]
81
- {model_output}
82
-
83
- [Desired Output Type]
84
- {output_type}
85
-
86
- [Type Explanations]
87
- {output_type_info}
88
-
89
- Check if the output is exactly in the desired Output Type. Important: Just say 'Yes' or 'No'.
90
- """ # noqa E501
91
-
92
-
93
- class BaseLLM:
94
- """Base Large Language Model (LLM) class."""
95
-
96
- MTLLM_SYSTEM_PROMPT: str = SYSTEM_PROMPT
97
- MTLLM_PROMPT: str = PROMPT_TEMPLATE
98
- MTLLM_METHOD_PROMPTS: dict[str, str] = {
99
- "Normal": NORMAL_SUFFIX,
100
- "Reason": REASON_SUFFIX,
101
- "Chain-of-Thoughts": CHAIN_OF_THOUGHT_SUFFIX,
102
- "ReAct": REACT_SUFFIX,
103
- }
104
- OUTPUT_FIX_PROMPT: str = MTLLM_OUTPUT_FIX_PROMPT
105
- OUTPUT_CHECK_PROMPT: str = OUTPUT_CHECK_PROMPT
106
-
107
- def __init__(
108
- self, verbose: bool = False, max_tries: int = 10, **kwargs: dict
109
- ) -> None:
110
- """Initialize the Large Language Model (LLM) client."""
111
- self.verbose = verbose
112
- self.max_tries = max_tries
113
- raise NotImplementedError
114
-
115
- def __infer__(self, meaning_in: str | list[dict], **kwargs: dict) -> str:
116
- """Infer a response from the input meaning."""
117
- raise NotImplementedError
118
-
119
- def __call__(self, input_text: str | list[dict], **kwargs: dict) -> str:
120
- """Infer a response from the input text."""
121
- if self.verbose:
122
- logger.info(f"Meaning In\n{input_text}")
123
- return self.__infer__(input_text, **kwargs)
124
-
125
- def resolve_output(
126
- self,
127
- meaning_out: str,
128
- output_semstr: str,
129
- output_type: str,
130
- output_type_info: str,
131
- ) -> str:
132
- """Resolve the output string to return the reasoning and output."""
133
- if self.verbose:
134
- logger.info(f"Meaning Out\n{meaning_out}")
135
- output_match = re.search(r"\[Output\](.*)", meaning_out)
136
- output = output_match.group(1).strip() if output_match else None
137
- if not output_match:
138
- output = self._extract_output(
139
- meaning_out,
140
- output_semstr,
141
- output_type,
142
- output_type_info,
143
- self.max_tries,
144
- )
145
- return str(output)
146
-
147
- def _check_output(
148
- self, output: str, output_type: str, output_type_info: str
149
- ) -> bool:
150
- """Check if the output is in the desired format."""
151
- output_check_prompt = self.OUTPUT_CHECK_PROMPT.format(
152
- model_output=output,
153
- output_type=output_type,
154
- output_type_info=output_type_info,
155
- )
156
- llm_output = self.__infer__(output_check_prompt)
157
- return "yes" in llm_output.lower()
158
-
159
- def _extract_output(
160
- self,
161
- meaning_out: str,
162
- output_semstr: str,
163
- output_type: str,
164
- output_type_info: str,
165
- max_tries: int,
166
- previous_output: str = "None",
167
- ) -> str:
168
- """Extract the output from the meaning out string."""
169
- if max_tries == 0:
170
- logger.error("Failed to extract output. Max tries reached.")
171
- raise ValueError(
172
- "Failed to extract output. Try Changing the Semstrings, provide examples or change the method."
173
- )
174
-
175
- if self.verbose:
176
- if max_tries < self.max_tries:
177
- logger.info(
178
- f"Failed to extract output. Trying to extract output again. Max tries left: {max_tries}"
179
- )
180
- else:
181
- logger.info("Extracting output from the meaning out string.")
182
-
183
- output_fix_prompt = self.OUTPUT_FIX_PROMPT.format(
184
- model_output=meaning_out,
185
- previous_output=previous_output,
186
- output_info=f"{output_semstr} ({output_type})",
187
- output_type_info=output_type_info,
188
- )
189
- llm_output = self.__infer__(output_fix_prompt)
190
- is_in_desired_format = self._check_output(
191
- llm_output, output_type, output_type_info
192
- )
193
- if self.verbose:
194
- logger.info(
195
- f"Extracted Output: {llm_output}. Is in Desired Format: {is_in_desired_format}"
196
- )
197
- if is_in_desired_format:
198
- return llm_output
199
- return self._extract_output(
200
- meaning_out,
201
- output_semstr,
202
- output_type,
203
- output_type_info,
204
- max_tries - 1,
205
- llm_output,
206
- )