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.

Files changed (95) hide show
  1. jaclang/cli/cli.py +2 -2
  2. jaclang/compiler/__init__.py +11 -12
  3. jaclang/compiler/absyntree.py +499 -294
  4. jaclang/compiler/codeloc.py +2 -2
  5. jaclang/compiler/constant.py +100 -2
  6. jaclang/compiler/jac.lark +27 -19
  7. jaclang/compiler/parser.py +119 -92
  8. jaclang/compiler/passes/main/access_modifier_pass.py +20 -12
  9. jaclang/compiler/passes/main/def_impl_match_pass.py +28 -14
  10. jaclang/compiler/passes/main/def_use_pass.py +59 -40
  11. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +65 -43
  12. jaclang/compiler/passes/main/import_pass.py +8 -6
  13. jaclang/compiler/passes/main/pyast_gen_pass.py +97 -42
  14. jaclang/compiler/passes/main/pyast_load_pass.py +47 -12
  15. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +19 -10
  16. jaclang/compiler/passes/main/registry_pass.py +6 -6
  17. jaclang/compiler/passes/main/sub_node_tab_pass.py +0 -5
  18. jaclang/compiler/passes/main/sym_tab_build_pass.py +43 -235
  19. jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +21 -4
  20. jaclang/compiler/passes/main/tests/test_def_use_pass.py +5 -10
  21. jaclang/compiler/passes/main/type_check_pass.py +2 -1
  22. jaclang/compiler/passes/tool/jac_formatter_pass.py +30 -9
  23. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +16 -0
  24. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +16 -0
  25. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +1 -1
  26. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +1 -1
  27. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +1 -1
  28. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +1 -1
  29. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +1 -1
  30. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +1 -1
  31. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +1 -1
  32. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +1 -1
  33. jaclang/compiler/passes/transform.py +2 -4
  34. jaclang/compiler/passes/utils/mypy_ast_build.py +1 -8
  35. jaclang/{core/registry.py → compiler/semtable.py} +1 -3
  36. jaclang/compiler/symtable.py +142 -101
  37. jaclang/compiler/tests/test_parser.py +2 -2
  38. jaclang/core/{construct.py → architype.py} +25 -240
  39. jaclang/core/constructs.py +44 -0
  40. jaclang/core/context.py +157 -0
  41. jaclang/core/importer.py +18 -9
  42. jaclang/core/memory.py +99 -0
  43. jaclang/core/test.py +90 -0
  44. jaclang/core/utils.py +2 -2
  45. jaclang/langserve/engine.py +127 -50
  46. jaclang/langserve/server.py +34 -61
  47. jaclang/langserve/tests/fixtures/base_module_structure.jac +28 -0
  48. jaclang/langserve/tests/fixtures/circle.jac +16 -12
  49. jaclang/langserve/tests/fixtures/circle_err.jac +3 -3
  50. jaclang/langserve/tests/fixtures/circle_pure.test.jac +15 -0
  51. jaclang/langserve/tests/fixtures/import_include_statements.jac +6 -0
  52. jaclang/langserve/tests/fixtures/py_import.py +26 -0
  53. jaclang/langserve/tests/test_server.py +93 -18
  54. jaclang/langserve/utils.py +124 -10
  55. jaclang/plugin/builtin.py +1 -1
  56. jaclang/plugin/default.py +25 -77
  57. jaclang/plugin/feature.py +25 -7
  58. jaclang/plugin/spec.py +18 -20
  59. jaclang/settings.py +3 -0
  60. jaclang/tests/fixtures/abc.jac +16 -12
  61. jaclang/tests/fixtures/aott_raise.jac +1 -1
  62. jaclang/tests/fixtures/byllmissue.jac +9 -0
  63. jaclang/tests/fixtures/edgetypeissue.jac +10 -0
  64. jaclang/tests/fixtures/hello.jac +1 -1
  65. jaclang/tests/fixtures/impl_match_confused.impl.jac +1 -0
  66. jaclang/tests/fixtures/impl_match_confused.jac +5 -0
  67. jaclang/tests/fixtures/maxfail_run_test.jac +17 -5
  68. jaclang/tests/fixtures/run_test.jac +17 -5
  69. jaclang/tests/test_bugs.py +19 -0
  70. jaclang/tests/test_cli.py +1 -1
  71. jaclang/tests/test_language.py +65 -100
  72. jaclang/tests/test_reference.py +1 -1
  73. jaclang/utils/lang_tools.py +5 -4
  74. jaclang/utils/test.py +2 -1
  75. jaclang/utils/treeprinter.py +22 -8
  76. {jaclang-0.7.2.dist-info → jaclang-0.7.8.dist-info}/METADATA +1 -1
  77. {jaclang-0.7.2.dist-info → jaclang-0.7.8.dist-info}/RECORD +79 -83
  78. jaclang/core/aott.py +0 -310
  79. jaclang/core/llms/__init__.py +0 -20
  80. jaclang/core/llms/anthropic.py +0 -90
  81. jaclang/core/llms/base.py +0 -206
  82. jaclang/core/llms/groq.py +0 -70
  83. jaclang/core/llms/huggingface.py +0 -76
  84. jaclang/core/llms/ollama.py +0 -81
  85. jaclang/core/llms/openai.py +0 -65
  86. jaclang/core/llms/togetherai.py +0 -63
  87. jaclang/core/llms/utils.py +0 -9
  88. jaclang/tests/fixtures/math_question.jpg +0 -0
  89. jaclang/tests/fixtures/with_llm_function.jac +0 -33
  90. jaclang/tests/fixtures/with_llm_lower.jac +0 -45
  91. jaclang/tests/fixtures/with_llm_method.jac +0 -51
  92. jaclang/tests/fixtures/with_llm_type.jac +0 -52
  93. jaclang/tests/fixtures/with_llm_vision.jac +0 -25
  94. {jaclang-0.7.2.dist-info → jaclang-0.7.8.dist-info}/WHEEL +0 -0
  95. {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=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
- 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
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=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
- jaclang/compiler/passes/utils/mypy_ast_build.py,sha256=DbTYKwQ2K-3JXS_RybLyvqDz_381Li8JfFKNeEQhbRY,26324
107
- jaclang/compiler/symtable.py,sha256=_4gtwQkBReYVEiTBFXwv6BaDd5H-bL9LpU1zgt2ymWs,6648
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=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/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=w4oHxUb-qlJlOGI3hzAjPIjWSIC7uqVxbNao9yL8Ugw,13198
136
- jaclang/langserve/server.py,sha256=s91jycYI4lHqFBOel3VV4ODmiO3abvX3UjyfM0hvWBI,5132
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/circle.jac,sha256=M-OOMttQ9D5qyvfJibKJVW6ce3YRmXKDUAWzyy4N4mU,1733
140
- jaclang/langserve/tests/fixtures/circle_err.jac,sha256=6Cn3PtP3ujjC8DjiOQWFbdb5C6wW12wAv9BwLwvX7b4,1732
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=L1EKGZTL1dpHha9TkzcXyIiC1o448UDo0TMbiZ73wtc,8184
153
- jaclang/langserve/utils.py,sha256=aOH8W58FZ9HOfJD1Q3vbBMaaN9SWicohVybuUoiyLbE,5564
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=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
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=o_AXXgX7PNcEwL33v7NehVCk1ndmif-AWo91nzBLot8,3322
167
- jaclang/tests/fixtures/abc.jac,sha256=M-OOMttQ9D5qyvfJibKJVW6ce3YRmXKDUAWzyy4N4mU,1733
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=11c3V3POK6ir1TDnjRWBTZFu9gOKYvtZvRWs325OSCE,749
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=S4im8d6cnPYIxthzKotNkfwUZ_FMr4TpEt_jPPFiwPI,64
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=6YezKvx2CNjE0l3Ea6P9ZsTrj4XyqvXDQO9S1EFNbIE,63
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/math_question.jpg,sha256=YYLzFuCZRmhEcyTNKy-HzOaka4ZSswHExA3a6UMD18E,152545
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=w_NjrpbUsQcxBFU_f2tDzoAJIHc0JOXYAH-5DWfiQqs,166
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/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
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=b6mR0WTJ0-sKkvZtMGsGooxzkkmD4WfXj_hOY6ZnhYw,3341
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=odv66Os8bJvw9JIUUkccGWvEPL98c-60veAiOiNyTy4,9956
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=5VK0hVo_IyfFiMFN_gz-dFx01yF3tPVZ56RKoAAZfaU,5374
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=b_4FEmRxher_bnxDtUkr9l6vz3ah1hZbNIR9qxNcl4E,12311
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.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,,
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()}"
@@ -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
- ]