ApiLogicServer 12.0.4__py3-none-any.whl → 12.1.0__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.
- {ApiLogicServer-12.0.4.dist-info → ApiLogicServer-12.1.0.dist-info}/METADATA +2 -1
- {ApiLogicServer-12.0.4.dist-info → ApiLogicServer-12.1.0.dist-info}/RECORD +39 -24
- {ApiLogicServer-12.0.4.dist-info → ApiLogicServer-12.1.0.dist-info}/WHEEL +1 -1
- api_logic_server_cli/api_logic_server.py +8 -201
- api_logic_server_cli/api_logic_server_info.yaml +3 -3
- api_logic_server_cli/cli.py +9 -79
- api_logic_server_cli/create_from_model/__pycache__/dbml.cpython-312.pyc +0 -0
- api_logic_server_cli/create_from_model/__pycache__/meta_model.cpython-312.pyc +0 -0
- api_logic_server_cli/create_from_model/__pycache__/model_creation_services.cpython-312.pyc +0 -0
- api_logic_server_cli/create_from_model/meta_model.py +1 -1
- api_logic_server_cli/create_from_model/model_creation_services.py +3 -1
- api_logic_server_cli/genai.py +273 -151
- api_logic_server_cli/genaiZ.py +752 -0
- api_logic_server_cli/prototypes/genai_demo/logic/declare_logic.py +11 -12
- api_logic_server_cli/prototypes/manager/.vscode/launch.json +78 -1
- api_logic_server_cli/prototypes/manager/README.md +16 -3
- api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_create_db.py +10 -0
- api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_imports.py +19 -0
- api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_test_data.py +7 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/emp_depts/emp_dept.prompt +4 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.prompt +1 -1
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.response_example +56 -130
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.response_example_z +130 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_informal.prompt +10 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_000.response +1 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_001.prompt +171 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_002.prompt +21 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_003.response +94 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_004.prompt +6 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_005.response_example +122 -0
- api_logic_server_cli/prototypes/manager/system/genai/learning_requests/logic_bank_api.prompt +42 -5
- api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/logic_inserts.prompt +1 -0
- api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/response_format.prompt +6 -0
- api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/sqlite_inserts.prompt +11 -2
- api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/sqlite_inserts_iterations.prompt +25 -0
- api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/web_genai copy.prompt +15 -0
- api_logic_server_cli/prototypes/manager/system/genai/examples/emp_depts/emp_dept_explicit.prompt +0 -7
- api_logic_server_cli/prototypes/manager/system/genai/examples/emp_depts/emp_dept_implicit_fails.prompt +0 -5
- {ApiLogicServer-12.0.4.dist-info → ApiLogicServer-12.1.0.dist-info}/LICENSE +0 -0
- {ApiLogicServer-12.0.4.dist-info → ApiLogicServer-12.1.0.dist-info}/entry_points.txt +0 -0
- {ApiLogicServer-12.0.4.dist-info → ApiLogicServer-12.1.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ApiLogicServer
|
|
3
|
-
Version: 12.0
|
|
3
|
+
Version: 12.1.0
|
|
4
4
|
Author-email: Val Huber <apilogicserver@gmail.com>
|
|
5
5
|
License: BSD-3-Clause
|
|
6
6
|
Project-URL: Homepage, https://apilogicserver.github.io/Docs/
|
|
@@ -69,6 +69,7 @@ Requires-Dist: translate ==3.6.1
|
|
|
69
69
|
Requires-Dist: libretranslatepy ==2.1.1
|
|
70
70
|
Requires-Dist: reportlab ==4.2.0
|
|
71
71
|
Requires-Dist: xlsxwriter ==3.2.0
|
|
72
|
+
Requires-Dist: openai ==1.52.1
|
|
72
73
|
|
|
73
74
|
[](https://pepy.tech/project/apilogicserver)
|
|
74
75
|
[](https://pypi.python.org/pypi/apilogicserver/)
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
api_logic_server_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
api_logic_server_cli/api_logic_server.py,sha256=
|
|
3
|
-
api_logic_server_cli/api_logic_server_info.yaml,sha256=
|
|
4
|
-
api_logic_server_cli/cli.py,sha256=
|
|
2
|
+
api_logic_server_cli/api_logic_server.py,sha256=m_OIs-Wl9nkykvQrBeZyq609ZO98_k6QObC0VlgrzCI,112059
|
|
3
|
+
api_logic_server_cli/api_logic_server_info.yaml,sha256=Wdu6WhrAzb8VX0Am7_EFw2Oi9LAQ60Mrcq3PBI8SnHs,112
|
|
4
|
+
api_logic_server_cli/cli.py,sha256=vdVV-L6PFIv7ph3RpBeRLcfhbWE4ItLV2LJlTH_6muM,75997
|
|
5
5
|
api_logic_server_cli/cli_args_base.py,sha256=uRlYQWlI5JMkaH9RqZo_X7ow0u-WDm14H2ntYMKycSk,3082
|
|
6
6
|
api_logic_server_cli/cli_args_project.py,sha256=TxOdz0n5g_3aWiVwkVofnfYj0XhG35rfIdU6wRmCdys,4384
|
|
7
7
|
api_logic_server_cli/extended_builder.py,sha256=EhtXGAt_RrDR2tCtgvc2U82we7fr-F6pP-e6HS6dQWQ,13867
|
|
8
|
-
api_logic_server_cli/genai.py,sha256=
|
|
8
|
+
api_logic_server_cli/genai.py,sha256=IuWk785LF_6_GQErn3cHcWtfKsNNS3_P6pfchyjSutA,44556
|
|
9
|
+
api_logic_server_cli/genaiZ.py,sha256=gITl0yYiXZvZEcEh1koXWx3ocRJX5HSWusHttzUWMkE,41143
|
|
9
10
|
api_logic_server_cli/genai_logic_builder.py,sha256=JQXLKIdLOpiyYFUAWowBS-NEKs_4lgP_8OLn5OXl2rU,12170
|
|
10
11
|
api_logic_server_cli/logging.yml,sha256=69lnsJCgp0p8GQfLldEO-0gQOU9OusXbyg8iSdR3lTM,1418
|
|
11
12
|
api_logic_server_cli/manager.py,sha256=ZJ4lz_i8XUDfLks4aorYQRw7AWt70Eg75TZuLkYBbh4,9645
|
|
@@ -15,8 +16,8 @@ api_logic_server_cli/create_from_model/api_expose_api_models_creator.py,sha256=x
|
|
|
15
16
|
api_logic_server_cli/create_from_model/api_logic_server_utils.py,sha256=aivxL8rj2DNWvCZRRu5MS1cAIUpvMF4dplFg7Bv8EU8,24153
|
|
16
17
|
api_logic_server_cli/create_from_model/create_db_from_model.py,sha256=CvXVH-DEl8AgwkTLS1OzrNLb0LPrkK5TQB35eDVb0pY,4328
|
|
17
18
|
api_logic_server_cli/create_from_model/dbml.py,sha256=IV9eG1bib10zTPFYyJNeFPveE0gNrt-NoPZCQHF74BM,8695
|
|
18
|
-
api_logic_server_cli/create_from_model/meta_model.py,sha256=
|
|
19
|
-
api_logic_server_cli/create_from_model/model_creation_services.py,sha256=
|
|
19
|
+
api_logic_server_cli/create_from_model/meta_model.py,sha256=ERf7tSgnSJSeRMVyggkdg-lvORQZSbfK0KMpL63qSEY,5837
|
|
20
|
+
api_logic_server_cli/create_from_model/model_creation_services.py,sha256=QE7UcVDn0J1k6HL2iqe0_UW4d3wL_HVPJVpSLOmuh30,41436
|
|
20
21
|
api_logic_server_cli/create_from_model/ont_build.py,sha256=8Ki426F2OWT7xaFNBahHrmYMYVYnm25xOAwPirjyo3E,57050
|
|
21
22
|
api_logic_server_cli/create_from_model/ont_create.py,sha256=WJTG-dwL_Gmea0fnPOb9TloEu5Ia68xGa42p34dRQSs,13043
|
|
22
23
|
api_logic_server_cli/create_from_model/ui_admin_creator.py,sha256=cMUXbgOSGgIT-PFnANI1e4ki7F-WppKD0xRGqTNHjMM,37907
|
|
@@ -25,9 +26,9 @@ api_logic_server_cli/create_from_model/__pycache__/__init__.cpython-312.pyc,sha2
|
|
|
25
26
|
api_logic_server_cli/create_from_model/__pycache__/api_expose_api_models_creator.cpython-312.pyc,sha256=XOsCJ_UNn7i3nuwemrIm6saX29RpB09xtmlctdG1Vf0,5254
|
|
26
27
|
api_logic_server_cli/create_from_model/__pycache__/api_logic_server_utils.cpython-312.pyc,sha256=ykMoitCeQ8oZ16qFy6by8wDXdp3hXEgh8mLvtOdoEXk,24332
|
|
27
28
|
api_logic_server_cli/create_from_model/__pycache__/create_db_from_model.cpython-312.pyc,sha256=QHIoTeGYwjqhaG3AI_EhfvbgoitlLm2ySoDJ42YhQbM,4752
|
|
28
|
-
api_logic_server_cli/create_from_model/__pycache__/dbml.cpython-312.pyc,sha256=
|
|
29
|
-
api_logic_server_cli/create_from_model/__pycache__/meta_model.cpython-312.pyc,sha256=
|
|
30
|
-
api_logic_server_cli/create_from_model/__pycache__/model_creation_services.cpython-312.pyc,sha256=
|
|
29
|
+
api_logic_server_cli/create_from_model/__pycache__/dbml.cpython-312.pyc,sha256=E4oR4UFDjW7Z7SCfo-USc7vUVfwQFma1O_qldAT7L7c,8952
|
|
30
|
+
api_logic_server_cli/create_from_model/__pycache__/meta_model.cpython-312.pyc,sha256=Ylu_fwSC4BHfTr4xzXCfyY6ChXu9seDx_LphGw_Tl6Y,7133
|
|
31
|
+
api_logic_server_cli/create_from_model/__pycache__/model_creation_services.cpython-312.pyc,sha256=tsTMN6FZzN1hk3af3f4qDmuh9ZvQnoFlLYRu0xl7SYM,36599
|
|
31
32
|
api_logic_server_cli/create_from_model/__pycache__/ont_build.cpython-312.pyc,sha256=KQ_3RTEzR2NqxvnztS4DK2i1VFxSgxlN8t69JPzzcTo,65910
|
|
32
33
|
api_logic_server_cli/create_from_model/__pycache__/ont_create.cpython-312.pyc,sha256=odljk1f0Bt_8hPQ6SkzQv_Vprgx-iwZv7KqmIFhaEbI,13319
|
|
33
34
|
api_logic_server_cli/create_from_model/__pycache__/ui_admin_creator.cpython-312.pyc,sha256=xdod-4Qgnv0xlCPORNF1Ox4EAPnlnafPS2iUgMvsP88,38462
|
|
@@ -638,16 +639,16 @@ api_logic_server_cli/prototypes/genai_demo/database/chatgpt/__pycache__/sample_a
|
|
|
638
639
|
api_logic_server_cli/prototypes/genai_demo/integration/row_dict_maps/OrderB2B.py,sha256=TXhhw54Iyp2mf629rDT8elawOc2q-VNfUaumYBaRAto,1236
|
|
639
640
|
api_logic_server_cli/prototypes/genai_demo/integration/row_dict_maps/OrderShipping.py,sha256=4wM45eRNkDNl7vcX689VSR7BgdKvae5hD26L8XZYGfc,1197
|
|
640
641
|
api_logic_server_cli/prototypes/genai_demo/logic/cocktail-napkin.jpg,sha256=5rNSy6wvcWSHPJQZqkf2DHs19QLWiyqMBNwxGqjstZU,133075
|
|
641
|
-
api_logic_server_cli/prototypes/genai_demo/logic/declare_logic.py,sha256=
|
|
642
|
+
api_logic_server_cli/prototypes/genai_demo/logic/declare_logic.py,sha256=gmlvp9D8RRo40FA3zdKvMjKGm6lvJTqltr9BPs9DQHc,4895
|
|
642
643
|
api_logic_server_cli/prototypes/genai_demo/security/declare_security.py,sha256=L3AL1bgdqIWQxdkJZcFVDOQ0XRpmeLAKqwlAYChFWKo,2108
|
|
643
644
|
api_logic_server_cli/prototypes/genai_demo/ui/admin/admin.yaml,sha256=9rSLJXDr5n3ILHQAU2XDjdGzql9ZyHXmwCYAmaGcH-g,2288
|
|
644
645
|
api_logic_server_cli/prototypes/manager/.DS_Store,sha256=S3TCvGESaKKyncVM3C2DvN5CYMZKSgW4Q80kmrxWyqI,6148
|
|
645
646
|
api_logic_server_cli/prototypes/manager/.gitignore,sha256=xfAjNQHokbo6GuN1ghx-eml8tQIzwUczLC_YVzElndI,195
|
|
646
|
-
api_logic_server_cli/prototypes/manager/README.md,sha256=
|
|
647
|
+
api_logic_server_cli/prototypes/manager/README.md,sha256=dOsCdfw3CKi_vS3RFQn1LX5eo_5pz4lxld2KN8_0wnw,12468
|
|
647
648
|
api_logic_server_cli/prototypes/manager/sample_ai.py,sha256=08OhtojM6m79UgbBKx_E5N7Cnpvs9142cWIl9M245PA,1915
|
|
648
649
|
api_logic_server_cli/prototypes/manager/settings.txt,sha256=_jjL30jomIMxG21edDfrXYRT9Zfgr_0EdUWvcEUOnFQ,368
|
|
649
650
|
api_logic_server_cli/prototypes/manager/.vscode/ApiLogicServer.code-workspace,sha256=HFycZhs0k5fXLxEZF-FBSA2S_JRDIYtVOhqb9743hH4,296
|
|
650
|
-
api_logic_server_cli/prototypes/manager/.vscode/launch.json,sha256=
|
|
651
|
+
api_logic_server_cli/prototypes/manager/.vscode/launch.json,sha256=oz5Sm-75u_h5QIn58w38C8fXp7Wnof8FJuearbQbPKw,14200
|
|
651
652
|
api_logic_server_cli/prototypes/manager/.vscode/settings.json,sha256=wQgpFvviPbZCmsf02UgrJSGAz7g3i4chDZ_AdSIOr5Y,625
|
|
652
653
|
api_logic_server_cli/prototypes/manager/system/.DS_Store,sha256=lUKIi9eGUtsUbl4MoSzYvKeLhDoBOBP1pi_2aYiQtuw,6148
|
|
653
654
|
api_logic_server_cli/prototypes/manager/system/secrets.txt,sha256=ghGnN1YfCRQvZc43bolQKDgQ1UXg0V-3T1AQTNk5Tg8,386
|
|
@@ -1089,8 +1090,11 @@ api_logic_server_cli/prototypes/manager/system/app_model_editor/venv_setup/requi
|
|
|
1089
1090
|
api_logic_server_cli/prototypes/manager/system/app_model_editor/venv_setup/venv-linux.sh,sha256=FDIxVyZ50CgLVLrAW942Kxnkv1n4WLR2UerzUnuhPwM,900
|
|
1090
1091
|
api_logic_server_cli/prototypes/manager/system/app_model_editor/venv_setup/venv.ps1,sha256=_-LfKkLw5HOkZsF59BGCqM9Zsk3n1oDIyDb4emy0O08,698
|
|
1091
1092
|
api_logic_server_cli/prototypes/manager/system/app_model_editor/venv_setup/venv.sh,sha256=aWX9fa8fe6aO9ifBIZEgGY5UGh4I0arOoCwBzDsxgU8,893
|
|
1093
|
+
api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_create_db.py,sha256=vzLX6nzVXYWDz9yWm0xCss99dky5Se7GVqrYplC2BRk,247
|
|
1094
|
+
api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_imports.py,sha256=cB7Vrvbd_qOVKHCYm0jQT0xlPWIyInHzWUlQeajvWZk,786
|
|
1092
1095
|
api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_prefix.py,sha256=_rQsqDG2ieNxSsv28t7f9Z5Bs6IMASl8rVunVZIHyUk,301
|
|
1093
1096
|
api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_prefix_iteration.py,sha256=_rQsqDG2ieNxSsv28t7f9Z5Bs6IMASl8rVunVZIHyUk,301
|
|
1097
|
+
api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/create_db_models_test_data.py,sha256=x0kTXGI-e5z4No_eHTKKtZAnLM98tc9GjEIO35TO8nw,197
|
|
1094
1098
|
api_logic_server_cli/prototypes/manager/system/genai/create_db_models_inserts/logic_discovery_prefix.py,sha256=JgJWr2Y2CT3romLvDSQnALshxmpUOeODu15I6K_HNf4,682
|
|
1095
1099
|
api_logic_server_cli/prototypes/manager/system/genai/examples/.DS_Store,sha256=BBH5eQ5mD7G0GbbUlbnuILAJHJbTER-7e7EFd1FwV7Y,6148
|
|
1096
1100
|
api_logic_server_cli/prototypes/manager/system/genai/examples/airport/airport.prompt,sha256=2tl5BQr7EZgEVP5b6qR5CN-RqRJ-hcitq_l5BAkz7yA,53
|
|
@@ -1101,12 +1105,13 @@ api_logic_server_cli/prototypes/manager/system/genai/examples/cmdb/cmdb_002.prom
|
|
|
1101
1105
|
api_logic_server_cli/prototypes/manager/system/genai/examples/cmdb/zcmdb_001.prompt_tp,sha256=30-2VRw5mivAd2JacbjgudpUB8VvMpqJHYkg9WS8DF8,879
|
|
1102
1106
|
api_logic_server_cli/prototypes/manager/system/genai/examples/elections/elections.prompt,sha256=fXWryP54T6nuS5qKaSMHT7J3r8OM1BpPeNU9WLI-J4s,79
|
|
1103
1107
|
api_logic_server_cli/prototypes/manager/system/genai/examples/elections/elections.response_example,sha256=h5hGWsMRSWSMGkY_UBCcLlcaXHQJ7Jzmeh4CWnPv9VU,6605
|
|
1104
|
-
api_logic_server_cli/prototypes/manager/system/genai/examples/emp_depts/
|
|
1105
|
-
api_logic_server_cli/prototypes/manager/system/genai/examples/emp_depts/emp_dept_implicit_fails.prompt,sha256=9701E1EZ9fhPE5qI0xcJ28q7eL43-KL2fcSfx8Kymvg,224
|
|
1108
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/emp_depts/emp_dept.prompt,sha256=xbyhCyY7TUk7hoBKAkzRsZVBj1lP4hfXdSR4TQagXqM,109
|
|
1106
1109
|
api_logic_server_cli/prototypes/manager/system/genai/examples/emp_depts/logic_notes.md,sha256=mrEBKE1OQxEqFoRLD1zYL-SeC5ITPcWEZKaumRDw7U4,100
|
|
1107
1110
|
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/create_db_models.py,sha256=QyGtjgsuYkVF5UYOn35V8ZnAdI76s-1KyM7nnGM4lPI,3588
|
|
1108
|
-
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.prompt,sha256=
|
|
1109
|
-
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.response_example,sha256=
|
|
1111
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.prompt,sha256=pGApWAPavw19PAp1rOl_5-FGCPRWF5rtSXmKJyFVw6U,402
|
|
1112
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.response_example,sha256=5MSpqktUvopc_d6L2XUIbSTbkx9ORlLa48pBlBZKpaw,6031
|
|
1113
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo.response_example_z,sha256=mBD0yl3TdsbC0ikVohv66Z4n2VmzK5zenR_8QRgp0Kw,4950
|
|
1114
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_informal.prompt,sha256=yifzgnHUBVmWx8upiUYyUS7F30A8PBk6TlHCDUAIJQc,484
|
|
1110
1115
|
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_conversation/.DS_Store,sha256=uoPLXmpWk0VLRzME-ay-ZAwoZoHWTjwTfi9imfb4308,6148
|
|
1111
1116
|
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_conversation/create_db_models.py,sha256=H6tjGV33v3xUugEQ-tueqQqn4x6zt2yhFHNEaCJYE2g,4751
|
|
1112
1117
|
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_conversation/db.dbml,sha256=01TlM5HqFo5CJWBGgebiMI3KI3olYS8EtCF6cieR0ZI,743
|
|
@@ -1116,11 +1121,21 @@ api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_d
|
|
|
1116
1121
|
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_conversation/genai_demo_003.response,sha256=ylKcK7nI5acPF9Sw1YQcM-5sIcMjhvYFDs1VXS0Mjdg,5036
|
|
1117
1122
|
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_conversation/genai_demo_004.prompt,sha256=birH8LoOMqSkJ5JokXTBbsijvrvMvRsNu4KxwTBsrrU,138
|
|
1118
1123
|
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_conversation/genai_demo_conversation_005.response-example,sha256=J30tOn0YWaCJ6OmjK1AbRrh-6yYR07hAE7OK6PwVIFA,6883
|
|
1124
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_000.response,sha256=6-KKCzEx9DpbFcuizHiPKaXf_YuIMDAqbsu-rFQQJRQ,140
|
|
1125
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_001.prompt,sha256=gwRZd3ubxoCrZRtff6a8e5Dt2h4e8tC-7ycTW5_drdU,6824
|
|
1126
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_002.prompt,sha256=o8O6yv11H7QQQnlHsO3J1a5LlPyRo3m_U_KP8g8G5u0,1075
|
|
1127
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_003.response,sha256=JL2ErVpuJWjPzVo1XcgvqMTdtvZPjpSCAjkYE6DlWIE,3688
|
|
1128
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_004.prompt,sha256=UdZj7ozby3tEeRI7FYgViH5z09TRCQ6cNBFuEvsu9EA,307
|
|
1129
|
+
api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_iterative_logic/genai_demo_iterative_logic_005.response_example,sha256=fhWRRBp9_AR2RXtXJm4o3pMWr6fehiiRA1FcsdlTDnE,5079
|
|
1119
1130
|
api_logic_server_cli/prototypes/manager/system/genai/examples/postgres/genai_demo_pg.prompt,sha256=w5wZs8zxGjqPUU0DVegdSZcH2YjObvZmBWhaN3olc2w,643
|
|
1120
|
-
api_logic_server_cli/prototypes/manager/system/genai/learning_requests/logic_bank_api.prompt,sha256=
|
|
1131
|
+
api_logic_server_cli/prototypes/manager/system/genai/learning_requests/logic_bank_api.prompt,sha256=tGPeUVUj_8TLReElixiZIeh6m9sKPI4h9SHoVc3Ok1Y,8638
|
|
1121
1132
|
api_logic_server_cli/prototypes/manager/system/genai/learning_requests/logic_bank_api.promptZ,sha256=03M7XrLIgqYxGnRc1Od86Ef3rOcFkZFJNyG7bvlxiWY,14158
|
|
1133
|
+
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/logic_inserts.prompt,sha256=wtlrBQI2CNmA1wevrkUnKAQvaJ0b7g_PH2jjUm48v5k,198
|
|
1122
1134
|
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/pre_post.prompt,sha256=GPQukgxKBE30IVByFFghhRQ8eRQFriFi8INoVc27S18,121
|
|
1123
|
-
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/
|
|
1135
|
+
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/response_format.prompt,sha256=dubLCPnmuobjQi5Y3WSIDpohXi01dJ0lVTEx-i86d6A,267
|
|
1136
|
+
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/sqlite_inserts.prompt,sha256=UVAwhLnvQg8SGSnUnQPmSXrp3kXjG5hj1oU7_W4mlwk,1164
|
|
1137
|
+
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/sqlite_inserts_iterations.prompt,sha256=ctOhsc4P_-Ko8UAzLMoJMwOnIxyGwV5QzebL1J6jsZ8,1156
|
|
1138
|
+
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/web_genai copy.prompt,sha256=ySC-Zag7TO4FTJzOVTLhaVKWBqga0j4k0djFZYKFCHI,680
|
|
1124
1139
|
api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/web_genai.prompt,sha256=ySC-Zag7TO4FTJzOVTLhaVKWBqga0j4k0djFZYKFCHI,680
|
|
1125
1140
|
api_logic_server_cli/prototypes/manager/system/genai/reference/chatgpt_original.txt,sha256=JPj3OjvugQNfJpe8V8qsbDh-bcvGIN9tAK8C-PJngGM,2845
|
|
1126
1141
|
api_logic_server_cli/prototypes/manager/system/genai/reference/declare_logic.py,sha256=O4Knjr56gGPF9cX3MaprfzTBLnrMb7F9BUDcrLI2__I,3348
|
|
@@ -1497,9 +1512,9 @@ api_logic_server_cli/templates/index.html,sha256=HYocUaiHm0haVHGM5PqHBNyCdyYWCAU
|
|
|
1497
1512
|
api_logic_server_cli/templates/login_endpoint.txt,sha256=dB9dMnWiFB4Sd_XchZkj3sS6rhNS1Cs1bqDS-PXCeEo,900
|
|
1498
1513
|
api_logic_server_cli/templates/login_endpoint_imports.txt,sha256=0Bx5LUaLtQmNk97silIg2EPO3HeEZYP6laVmtyHlbdE,205
|
|
1499
1514
|
api_logic_server_cli/templates/opt_locking.txt,sha256=_R4kLKndn9v4IxZ3ygTj0NwrCCaXfWpoNDy3aZf3bfs,479
|
|
1500
|
-
ApiLogicServer-12.0.
|
|
1501
|
-
ApiLogicServer-12.0.
|
|
1502
|
-
ApiLogicServer-12.0.
|
|
1503
|
-
ApiLogicServer-12.0.
|
|
1504
|
-
ApiLogicServer-12.0.
|
|
1505
|
-
ApiLogicServer-12.0.
|
|
1515
|
+
ApiLogicServer-12.1.0.dist-info/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
|
|
1516
|
+
ApiLogicServer-12.1.0.dist-info/METADATA,sha256=TeY9URQx2uAAz7mruI8C23WKP3fZ23UvTsQE8zBDCco,6409
|
|
1517
|
+
ApiLogicServer-12.1.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
1518
|
+
ApiLogicServer-12.1.0.dist-info/entry_points.txt,sha256=KiLloZJ3c_RW-nIDqBtoE0WEsQTnZ3dELwHLWi23LMA,103
|
|
1519
|
+
ApiLogicServer-12.1.0.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
|
|
1520
|
+
ApiLogicServer-12.1.0.dist-info/RECORD,,
|
|
@@ -12,9 +12,10 @@ ApiLogicServer CLI: given a database url, create [and run] customizable ApiLogic
|
|
|
12
12
|
Called from api_logic_server_cli.py, by instantiating the ProjectRun object.
|
|
13
13
|
'''
|
|
14
14
|
|
|
15
|
-
__version__ = "12.00
|
|
15
|
+
__version__ = "12.01.00"
|
|
16
16
|
recent_changes = \
|
|
17
17
|
f'\n\nRecent Changes:\n' +\
|
|
18
|
+
"\t10/31/2024 - 12.01.00: genai: informal rules (eg, Sum of employee salaries cannot exceed department budget) \n"\
|
|
18
19
|
"\t10/21/2024 - 12.00.04: sra 10-22, Prelim support genai --using=dir/project \n"\
|
|
19
20
|
"\t10/12/2024 - 12.00.02: Natural Language Logic \n"\
|
|
20
21
|
"\t10/17/2024 - 11.02.19: singular classes, expanded doc/prompts, logic work-arounds, docs/logic, logic learning, readme \n"\
|
|
@@ -1839,203 +1840,6 @@ from database import <project.bind_key>_models
|
|
|
1839
1840
|
log.info(f"Tutorial project successfully created. Next steps:\n")
|
|
1840
1841
|
log.info(f' Open the tutorial project in your VSCode: code Tutorial\n')
|
|
1841
1842
|
|
|
1842
|
-
|
|
1843
|
-
def create_project_Z(self):
|
|
1844
|
-
"""
|
|
1845
|
-
Creates logic-enabled Python safrs api/admin project, options for execution
|
|
1846
|
-
|
|
1847
|
-
main driver
|
|
1848
|
-
|
|
1849
|
-
:returns: none
|
|
1850
|
-
"""
|
|
1851
|
-
|
|
1852
|
-
# SQLALCHEMY_DATABASE_URI = "sqlite:///" + path.join(basedir, "database/db.sqlite")+ '?check_same_thread=False'
|
|
1853
|
-
self.print_options()
|
|
1854
|
-
|
|
1855
|
-
log.debug(f"\nApiLogicServer {__version__} Creation Log:")
|
|
1856
|
-
|
|
1857
|
-
self.project_directory, self.api_name, self.merge_into_prototype = \
|
|
1858
|
-
create_utils.get_project_directory_and_api_name(self)
|
|
1859
|
-
self.project_directory_actual = os.path.abspath(self.project_directory) # make path absolute, not relative (no /../)
|
|
1860
|
-
self.project_directory_path = Path(self.project_directory_actual)
|
|
1861
|
-
self.project_name_last_node = Path(self.project_directory_path).name # for prototype, project_name='.'
|
|
1862
|
-
|
|
1863
|
-
# TODO - add this? self.project_name = self.project_directory_path.parent.name if not self.project_directory_path.is_dir() else self.project_directory_path.name
|
|
1864
|
-
|
|
1865
|
-
gen_ai = None
|
|
1866
|
-
if self.genai_using != "":
|
|
1867
|
-
from genai import GenAI
|
|
1868
|
-
gen_ai = GenAI(self)
|
|
1869
|
-
|
|
1870
|
-
if self.from_model != "" or self.genai_using != "":
|
|
1871
|
-
try:
|
|
1872
|
-
create_db_from_model.create_db(self)
|
|
1873
|
-
except Exception as e:
|
|
1874
|
-
if hasattr(self, 'gen_ai_save_dir'):
|
|
1875
|
-
log.error(f"Error creating database from model: {e}")
|
|
1876
|
-
with open(f"{self.gen_ai_save_dir.joinpath('create_db_models_failed.txt')}", "w") as log_file:
|
|
1877
|
-
log_file.write(f"Error creating database from model: {e}")
|
|
1878
|
-
raise(e)
|
|
1879
|
-
|
|
1880
|
-
if self.add_auth_in_progress:
|
|
1881
|
-
self.models_path_dir = 'database/database_discovery'
|
|
1882
|
-
self.abs_db_url, self.nw_db_status, self.model_file_name = \
|
|
1883
|
-
create_utils.get_abs_db_url("0. Using Sample DB", self, is_auth=True)
|
|
1884
|
-
else: # normal path
|
|
1885
|
-
self.abs_db_url, self.nw_db_status, self.model_file_name = create_utils.get_abs_db_url("0. Using Sample DB", self)
|
|
1886
|
-
if self.nw_db_status in ["nw", "nw+"]:
|
|
1887
|
-
self.auth_provider_type = 'sql' # nw+ defaulting
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
if self.extended_builder == "$":
|
|
1891
|
-
self.extended_builder = abspath(f'{self.api_logic_server_dir_path}/extended_builder.py')
|
|
1892
|
-
log.debug(f'0. Using default extended_builder: {self.extended_builder}')
|
|
1893
|
-
|
|
1894
|
-
if self.extended_builder == "model_migrator":
|
|
1895
|
-
self.extended_builder = abspath(f'{self.api_logic_server_dir_path}/model_migrator/model_migrator_start.py')
|
|
1896
|
-
log.debug(f'0. Using model migrator: {self.extended_builder}')
|
|
1897
|
-
|
|
1898
|
-
if self.command.startswith("rebuild") or self.command == "add_db":
|
|
1899
|
-
log.debug("1. Not Deleting Existing Project")
|
|
1900
|
-
log.debug("2. Using Existing Project")
|
|
1901
|
-
if self.command == "add_db":
|
|
1902
|
-
self.abs_db_url = self.update_config_and_copy_sqlite_db(
|
|
1903
|
-
f".. ..Adding Database [{self.bind_key}] to existing project")
|
|
1904
|
-
else: # normal path - clone, [overlay nw]
|
|
1905
|
-
self.abs_db_url = create_project_and_overlay_prototypes(self, f"2. Create Project:")
|
|
1906
|
-
log.debug(f'.. ..project_directory_actual: {self.project_directory_actual}')
|
|
1907
|
-
|
|
1908
|
-
log.debug(f'3. Create/verify database/{self.model_file_name}, then use that to create api/ and ui/ models')
|
|
1909
|
-
model_creation_services = ModelCreationServices(project = self, # Create database/models.py from db
|
|
1910
|
-
project_directory=self.project_directory)
|
|
1911
|
-
# ext builder can read alter the models.py
|
|
1912
|
-
fix_database_models(self.project_directory, self.db_types, self.nw_db_status, self.is_tutorial)
|
|
1913
|
-
|
|
1914
|
-
''' ****** MAJOR! creates api/expose_api_models, ui/admin & basic_web_app (Microservice Autmation) **** '''
|
|
1915
|
-
invoke_creators(model_creation_services)
|
|
1916
|
-
|
|
1917
|
-
if self.extended_builder is not None and self.extended_builder != "":
|
|
1918
|
-
log.debug(f'4. Invoke extended_builder: {self.extended_builder}, ({self.db_url}, {self.project_directory})')
|
|
1919
|
-
invoke_extended_builder(self.extended_builder, self.abs_db_url, self.project_directory, model_creation_services)
|
|
1920
|
-
|
|
1921
|
-
final_project_fixup("4. Final project fixup", self)
|
|
1922
|
-
if gen_ai is not None:
|
|
1923
|
-
gen_ai.insert_logic_into_created_project()
|
|
1924
|
-
|
|
1925
|
-
if False and (self.auth_provider_type != '' or self.nw_db_status in ["nw", "nw+"]) and self.command != "add_db":
|
|
1926
|
-
self.add_auth("\nApiLogicProject customizable project created. \nAdding Security:")
|
|
1927
|
-
|
|
1928
|
-
auto_ontimize = True # debug note - verify the model is user db, not the authdb...
|
|
1929
|
-
""" disabled for now - api emulation replaces nw customizations, so BLT fails """
|
|
1930
|
-
if auto_ontimize and self.add_auth_in_progress == False:
|
|
1931
|
-
log.debug(" d. Create Ontimize from models")
|
|
1932
|
-
from api_logic_server_cli.create_from_model.ont_create import OntCreator
|
|
1933
|
-
ont_creator = OntCreator(project = model_creation_services.project)
|
|
1934
|
-
ont_creator.create_application(show_messages=False)
|
|
1935
|
-
|
|
1936
|
-
if self.project_directory_path.joinpath('ui/app_model_custom.yaml').exists():
|
|
1937
|
-
# eg, nw project contains this for demo purposes
|
|
1938
|
-
copyfile (src=self.project_directory_path.joinpath('ui/app_model_custom.yaml'),
|
|
1939
|
-
dst=self.project_directory_path.joinpath('ui/app/app_model.yaml'))
|
|
1940
|
-
|
|
1941
|
-
from api_logic_server_cli.create_from_model.ont_build import OntBuilder
|
|
1942
|
-
ont_creator = OntBuilder(project = model_creation_services.project)
|
|
1943
|
-
ont_creator.build_application(show_messages=False)
|
|
1944
|
-
|
|
1945
|
-
if (self.nw_db_status in ["nw+"]):
|
|
1946
|
-
self.add_auth(f"\nApiLogicProject customizable project (for northwind) created. \nAdding Security to {self.project_name_last_node}:")
|
|
1947
|
-
|
|
1948
|
-
if not self.add_auth_in_progress:
|
|
1949
|
-
if self.command not in ["add_db", "add_auth", "add-auth", "add-db", "rebuild-from-database", "rebuild-from-model"]:
|
|
1950
|
-
log.debug(" d. Create Ontimize from models")
|
|
1951
|
-
from api_logic_server_cli.create_from_model.ont_create import OntCreator
|
|
1952
|
-
ont_creator = OntCreator(project = model_creation_services.project)
|
|
1953
|
-
ont_creator.create_application(show_messages=False)
|
|
1954
|
-
|
|
1955
|
-
if self.command in ["rebuild-from-database", "rebuild-from-model"]:
|
|
1956
|
-
app_list = create_utils.get_ontimize_apps(self.project_directory_path)
|
|
1957
|
-
for app in app_list:
|
|
1958
|
-
from create_from_model import ont_build
|
|
1959
|
-
from api_logic_server_cli.create_from_model.ont_create import OntCreator
|
|
1960
|
-
build = ont_build.OntBuilder(self, app)
|
|
1961
|
-
log.debug(f" d. Create Ontimize app_model_merge.yml from models for project: {build.project}")
|
|
1962
|
-
ont_creator = OntCreator(project = build.project)
|
|
1963
|
-
ont_creator.create_application(show_messages=False)
|
|
1964
|
-
|
|
1965
|
-
if False and self.project_directory_path.joinpath('ui/app_model_custom.yaml').exists():
|
|
1966
|
-
# eg, nw project contains this for demo purposes
|
|
1967
|
-
copyfile (src=self.project_directory_path.joinpath('ui/app_model_custom.yaml'),
|
|
1968
|
-
dst=self.project_directory_path.joinpath('ui/app/app_model.yaml'))
|
|
1969
|
-
|
|
1970
|
-
from api_logic_server_cli.create_from_model.ont_build import OntBuilder
|
|
1971
|
-
ont_creator = OntBuilder(project = model_creation_services.project)
|
|
1972
|
-
ont_creator.build_application(show_messages=False)
|
|
1973
|
-
|
|
1974
|
-
# can be cli, or env variable: echo $APILOGICSERVER_OPEN_WITH
|
|
1975
|
-
if self.open_with != "" and 'create' == self.command: # open project with open_with (vscode, charm, atom) -- NOT for docker!!
|
|
1976
|
-
start_open_with(project = self)
|
|
1977
|
-
|
|
1978
|
-
if self.command.startswith("add_"):
|
|
1979
|
-
pass # keep silent for add-db, add-auth...
|
|
1980
|
-
elif self.is_tutorial:
|
|
1981
|
-
log.debug(f"\nTutorial created. Next steps:\n")
|
|
1982
|
-
log.debug(f' Establish your Python environment - see https://apilogicserver.github.io/Docs/IDE-Execute/#execute-prebuilt-launch-configurations\n')
|
|
1983
|
-
else:
|
|
1984
|
-
disp_url = self.db_url
|
|
1985
|
-
if disp_url == "":
|
|
1986
|
-
disp_url = "nw"
|
|
1987
|
-
log.debug(f"\n\nCustomizable project {self.project_name} created from database {disp_url}. Next steps:\n")
|
|
1988
|
-
if self.multi_api:
|
|
1989
|
-
log.debug(f'Server already running. To Access: Configuration > Load > //localhost:5656/{self.api_name}')
|
|
1990
|
-
else:
|
|
1991
|
-
log.debug("\nRun API Logic Server:")
|
|
1992
|
-
if os.getenv('CODESPACES'):
|
|
1993
|
-
# log.debug(f' Add port 5656, with Public visibility') - automated in .devcontainer.json
|
|
1994
|
-
log.info(f' Execute using Launch Configuration "ApiLogicServer"')
|
|
1995
|
-
else:
|
|
1996
|
-
log.debug(f' cd {self.project_name}; python api_logic_server_run.py')
|
|
1997
|
-
if self.command.startswith("add_"):
|
|
1998
|
-
pass # keep silent for add-db, add-auth...
|
|
1999
|
-
elif self.is_tutorial:
|
|
2000
|
-
log.debug(f" Proceed as described in the readme\n")
|
|
2001
|
-
else:
|
|
2002
|
-
if (is_docker()):
|
|
2003
|
-
os.rename(self.project_directory_path.joinpath('.devcontainer-option'),
|
|
2004
|
-
self.project_directory_path.joinpath('.devcontainer'))
|
|
2005
|
-
if os.getenv('CODESPACES'):
|
|
2006
|
-
log.info(f'\nCustomize right here, in Browser/VSCode - just as you would locally')
|
|
2007
|
-
log.info(f'Save customized project to GitHub')
|
|
2008
|
-
else:
|
|
2009
|
-
log.info(f'\nProject created. Next steps:\n')
|
|
2010
|
-
|
|
2011
|
-
log.info(f' $ ApiLogicServer run # Run created API and Admin App, or\n')
|
|
2012
|
-
|
|
2013
|
-
log.info(f' Customize using IDE on local machine:')
|
|
2014
|
-
docker_project_name = self.project_name
|
|
2015
|
-
if self.project_name.startswith('/localhost/'):
|
|
2016
|
-
docker_project_name = self.project_name[11:]
|
|
2017
|
-
else:
|
|
2018
|
-
docker_project_name = f'<local machine directory for: {self.project_name}>'
|
|
2019
|
-
log.info(f' exit # exit the Docker container ')
|
|
2020
|
-
log.info(f' code {docker_project_name} # e.g., open VSCode on created project\n')
|
|
2021
|
-
else:
|
|
2022
|
-
log.info(f'\nProject created at: {str(self.project_directory_path)}\n')
|
|
2023
|
-
|
|
2024
|
-
# log.info(f' $ ApiLogicServer run # Run created API and Admin App, or\n')
|
|
2025
|
-
|
|
2026
|
-
if self.open_with == "":
|
|
2027
|
-
log.info(f' $ charm | code {self.project_name} # Customize / debug in your IDE\n\n')
|
|
2028
|
-
|
|
2029
|
-
log.debug(f' Establish your Python environment - see https://apilogicserver.github.io/Docs/IDE-Execute/#execute-prebuilt-launch-configurations\n')
|
|
2030
|
-
|
|
2031
|
-
if self.run: # synchronous run of server - does not return
|
|
2032
|
-
run_file = os.path.abspath(f'{resolve_home(self.project_name)}/api_logic_server_run.py')
|
|
2033
|
-
run_file = '"' + run_file + '"' # spaces in file names - with windows
|
|
2034
|
-
run_args = ""
|
|
2035
|
-
if self.command == "create-and-run":
|
|
2036
|
-
run_args = "--create_and_run=True"
|
|
2037
|
-
create_utils.run_command(f'python {run_file} {run_args}', msg="\nStarting created API Logic Project")
|
|
2038
|
-
|
|
2039
1843
|
def directory_setup(self):
|
|
2040
1844
|
""" get project_directory, api names, project paths and project name """
|
|
2041
1845
|
self.project_directory, self.api_name, self.merge_into_prototype = \
|
|
@@ -2055,6 +1859,8 @@ from database import <project.bind_key>_models
|
|
|
2055
1859
|
if self.from_model != "" or self.genai_using != "":
|
|
2056
1860
|
try:
|
|
2057
1861
|
create_db_from_model.create_db(self)
|
|
1862
|
+
if gen_ai.post_error != '': # eg, response contains table definitions
|
|
1863
|
+
raise Exception(gen_ai.post_error)
|
|
2058
1864
|
except Exception as e:
|
|
2059
1865
|
if hasattr(self, 'gen_ai_save_dir'):
|
|
2060
1866
|
log.error(f"Error creating database from model: {e}")
|
|
@@ -2149,8 +1955,9 @@ from database import <project.bind_key>_models
|
|
|
2149
1955
|
log.debug(f" Proceed as described in the readme\n")
|
|
2150
1956
|
else:
|
|
2151
1957
|
if (is_docker()):
|
|
2152
|
-
|
|
2153
|
-
|
|
1958
|
+
dc_option = self.project_directory_path.joinpath('.devcontainer-option')
|
|
1959
|
+
if os.path.exists(dc_option):
|
|
1960
|
+
os.rename(dc_option, self.project_directory_path.joinpath('.devcontainer'))
|
|
2154
1961
|
if os.getenv('CODESPACES'):
|
|
2155
1962
|
log.info(f'\nCustomize right here, in Browser/VSCode - just as you would locally')
|
|
2156
1963
|
log.info(f'Save customized project to GitHub')
|
|
@@ -2288,4 +2095,4 @@ def key_module_map():
|
|
|
2288
2095
|
ProjectRun.update_config_and_copy_sqlite_db() # adds db (model, multi-db binds, api, app) to curr project
|
|
2289
2096
|
ProjectRun.add_auth() # update config (not via multi-db support)
|
|
2290
2097
|
final_project_fixup('done', project=None) # update config, etc
|
|
2291
|
-
ProjectRun.tutorial() # creates basic, nw, nw + cust
|
|
2098
|
+
ProjectRun.tutorial() # creates basic, nw, nw + cust
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
last_created_date: October
|
|
2
|
-
last_created_project_name:
|
|
3
|
-
last_created_version: 12.00.
|
|
1
|
+
last_created_date: October 31, 2024 16:48:50
|
|
2
|
+
last_created_project_name: emp_dept
|
|
3
|
+
last_created_version: 12.00.16
|
api_logic_server_cli/cli.py
CHANGED
|
@@ -592,85 +592,15 @@ def genai(ctx, using, db_url, repaired_response: str, genai_version: str,
|
|
|
592
592
|
Creates new customizable project (overwrites).
|
|
593
593
|
"""
|
|
594
594
|
global command
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
pass
|
|
605
|
-
else: # old code - delete
|
|
606
|
-
db_types = ""
|
|
607
|
-
# if no .prompt extension on using, then that's the prompt (no file)
|
|
608
|
-
# if using.endswith('.prompt'):
|
|
609
|
-
# using = using.replace('.prompt','')
|
|
610
|
-
project_name = using # this is the prompt file (or actual prompt)
|
|
611
|
-
if project_name.startswith("'"):
|
|
612
|
-
project_name = project_name.replace("'", "")
|
|
613
|
-
if using.endswith('.prompt') or Path(using).is_dir(): # regardless of repaired_response,
|
|
614
|
-
project_name = Path(using).stem # the project name is the <cwd>/last node of using
|
|
615
|
-
else:
|
|
616
|
-
project_name = project_name.replace(' ', '_')
|
|
617
|
-
project_name = project_name.replace(' ', '_')
|
|
618
|
-
|
|
619
|
-
try_number = 1
|
|
620
|
-
genai_use_relns = use_relns
|
|
621
|
-
""" if 'unable to determine join condition', we retry this with False """
|
|
622
|
-
if repaired_response != "":
|
|
623
|
-
try_number = retries # if not calling GenAI, no need to retry:
|
|
624
|
-
# TODO or 0, right?
|
|
625
|
-
if retries < 0: # for debug: catch exceptions at point of failure
|
|
626
|
-
PR.ProjectRun(command="create", genai_version=genai_version,
|
|
627
|
-
genai_using=using, # the prompt file, or the actual prompt
|
|
628
|
-
repaired_response=repaired_response, # retry from [repaired] response file
|
|
629
|
-
opt_locking=opt_locking,
|
|
630
|
-
genai_prompt_inserts=prompt_inserts,
|
|
631
|
-
genai_use_relns=genai_use_relns,
|
|
632
|
-
quote=quote,
|
|
633
|
-
project_name=project_name, db_url=db_url)
|
|
634
|
-
log.info(f"GENAI successful")
|
|
635
|
-
else:
|
|
636
|
-
while try_number <= retries:
|
|
637
|
-
try:
|
|
638
|
-
failed = False
|
|
639
|
-
PR.ProjectRun(command="create", genai_version=genai_version,
|
|
640
|
-
genai_using=using, # the prompt file, or the actual prompt
|
|
641
|
-
repaired_response=repaired_response, # retry from [repaired] response file
|
|
642
|
-
opt_locking=opt_locking,
|
|
643
|
-
genai_prompt_inserts=prompt_inserts,
|
|
644
|
-
genai_use_relns=genai_use_relns,
|
|
645
|
-
quote=quote,
|
|
646
|
-
project_name=project_name, db_url=db_url)
|
|
647
|
-
if do_force_failure := False:
|
|
648
|
-
if try_number < 3:
|
|
649
|
-
raise Exception("Forced Failure for Internal Testing")
|
|
650
|
-
break # success - exit the loop
|
|
651
|
-
except Exception as e:
|
|
652
|
-
log.error(f"\n\nGenai failed With Error: {e}")
|
|
653
|
-
# Could not determine join condition
|
|
654
|
-
manager_dir = Path(os.getcwd()) # rename save dir (append retry) for diagnosis
|
|
655
|
-
to_dir_save_dir = Path(manager_dir).joinpath(f'system/genai/temp/{project_name}')
|
|
656
|
-
to_dir_save_dir_retry = Path(manager_dir).joinpath(f'system/genai/temp/{project_name}_{try_number}')
|
|
657
|
-
if repaired_response != "":
|
|
658
|
-
to_dir_save_dir_retry = Path(manager_dir).joinpath(f'system/genai/temp/{project_name}_retry')
|
|
659
|
-
if to_dir_save_dir_retry.exists():
|
|
660
|
-
shutil.rmtree(to_dir_save_dir_retry)
|
|
661
|
-
to_dir_save_dir.rename(to_dir_save_dir_retry)
|
|
662
|
-
failed = True
|
|
663
|
-
if genai_use_relns and "Could not determine join condition" in str(e):
|
|
664
|
-
genai_use_relns = False # just for db_models (fk's still there!!)
|
|
665
|
-
log.error(f"\n Failed with join condition - retrying without relns\n")
|
|
666
|
-
failed = False
|
|
667
|
-
else:
|
|
668
|
-
try_number += 1
|
|
669
|
-
pass # retry (retries times)
|
|
670
|
-
if failed:
|
|
671
|
-
log.error(f"\n\nGenai Failed (Retries: {retries})")
|
|
672
|
-
exit(1)
|
|
673
|
-
log.info(f"GENAI successful on try {try_number}")
|
|
595
|
+
import genai as genai_svcs
|
|
596
|
+
defaulted_using = using
|
|
597
|
+
if defaulted_using == 'genai_demo': # default to genai_demo.prompt
|
|
598
|
+
defaulted_using = 'system/genai/examples/genai_demo/genai_demo.prompt'
|
|
599
|
+
genai_svcs.genai(using=defaulted_using, db_url=db_url, repaired_response=repaired_response,
|
|
600
|
+
genai_version=genai_version, retries=retries, opt_locking=opt_locking,
|
|
601
|
+
prompt_inserts=prompt_inserts, quote=quote, use_relns=use_relns,
|
|
602
|
+
project_name=project_name)
|
|
603
|
+
pass
|
|
674
604
|
|
|
675
605
|
|
|
676
606
|
@main.command("genai-logic", cls=HideDunderCommand)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -42,7 +42,7 @@ class ResourceAttribute():
|
|
|
42
42
|
if lower_name.endswith(each_non_fav):
|
|
43
43
|
self.non_favorite = True
|
|
44
44
|
break
|
|
45
|
-
if each_attribute.server_default is not None:
|
|
45
|
+
if each_attribute.server_default is not None and hasattr(each_attribute.server_default.arg, 'text'):
|
|
46
46
|
self.default = each_attribute.server_default.arg.text
|
|
47
47
|
resource.attributes.append(self)
|
|
48
48
|
|
|
@@ -825,6 +825,8 @@ class ModelCreationServices(object):
|
|
|
825
825
|
"Ab" not in str(each_class_def_str)):
|
|
826
826
|
resource_name = each_cls_member[0]
|
|
827
827
|
resource_class = each_cls_member[1]
|
|
828
|
+
if not hasattr(resource_class, '__tablename__'):
|
|
829
|
+
continue
|
|
828
830
|
table_name = resource_class.__tablename__ # FIXME _s_collection_name
|
|
829
831
|
if table_name in ["CategoryTableNameTest", "Employee"]:
|
|
830
832
|
debug_str = "Excellent breakpoint"
|
|
@@ -917,4 +919,4 @@ class ModelCreationServices(object):
|
|
|
917
919
|
project_directory = self.project_directory)
|
|
918
920
|
model_imported, models_name = self.dynamic_import_model(msg)
|
|
919
921
|
return_resource_list = self.resource_list_from_safrs_metadata(models_name=models_name) # whether created or used, build resource_list
|
|
920
|
-
return return_resource_list
|
|
922
|
+
return return_resource_list
|