ApiLogicServer 15.1.2__py3-none-any.whl → 15.2.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.
- api_logic_server_cli/api_logic_server.py +20 -16
- api_logic_server_cli/api_logic_server_info.yaml +3 -3
- api_logic_server_cli/cli.py +17 -2
- api_logic_server_cli/create_from_model/dbml.py +1 -1
- api_logic_server_cli/genai/genai.py +39 -28
- api_logic_server_cli/genai/genai_react_app.py +23 -1
- api_logic_server_cli/genai/genai_svcs.py +5 -3
- api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md +164 -4
- api_logic_server_cli/prototypes/{manager/samples/basic_demo/.github/.copilot-instructions.md → base/.github/.copilot-instructionsZ.mdx} +84 -4
- api_logic_server_cli/prototypes/base/.vscode/launch.json +1 -1
- api_logic_server_cli/prototypes/base/api/system/api_utils.py +7 -3
- api_logic_server_cli/prototypes/base/config/config.py +1 -1
- api_logic_server_cli/prototypes/base/docs/training/readme_training.md +3 -0
- api_logic_server_cli/prototypes/base/docs/training/testing.md +779 -0
- api_logic_server_cli/prototypes/base/logic/declare_logic.py +4 -2
- api_logic_server_cli/prototypes/base/logic/logic_discovery/use_case.py +2 -0
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/AI-Generated-Tests-from-Rules.md +559 -0
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/behave_logic_report.py +46 -17
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/check_step_order.py +120 -0
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/features/steps/test_data_helpers.py +242 -0
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/features/steps/test_utils.py +5 -1
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/reports/Behave Logic Report Intro micro.md +15 -0
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/reports/Behave Logic Report Intro.md +10 -66
- api_logic_server_cli/prototypes/base/test/readme_test.md +72 -4
- api_logic_server_cli/prototypes/basic_demo/iteration/api/api_discovery/order_b2b.py +22 -18
- api_logic_server_cli/prototypes/basic_demo/ui/my-react-app-cards/README.md +3 -1
- api_logic_server_cli/prototypes/manager/.github/.copilot-instructions.md +30 -9
- api_logic_server_cli/prototypes/manager/.github/sync-to-dev-src.sh +42 -0
- api_logic_server_cli/prototypes/manager/.vscode/launch.json +30 -30
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.github/.copilot-instructions.md +741 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/db.dbml +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/readme_training.md +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/testing.md +593 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/AI-Generated-Tests-from-Rules.md +554 -0
- api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/behave_logic_report.py +35 -9
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/order_processing.feature +72 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/about_steps.py +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/order_processing_steps.py +553 -0
- api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/features/steps/test_utils.py +5 -1
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/behave.log +79 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Add_Item_Exceeding_Credit.log +8 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Assign_Product_to_Item.log +26 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/B2B_Order_-_10_Gadget.log +46 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/B2B_Order_-_10_carbon_neu.log +41 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/B2B_Order_-_1_Green.log +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/B2B_Order_-_5_Widget.log +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/B2B_Order_Placement.log +2 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Balance_Check.log +2 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Carbon_Neutral_B2B_Order.log +52 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Carbon_Neutral_Discount_A.log +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Item_Product.log +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Item_Product_to_Ga.log +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Order_Customer_Adj.log +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Order_Customer_to_.log +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Product_Updates_Un.log +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Multi-Item_Order.log +79 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Order_for_Constrai.log +2 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Order_for_FK_Chang.log +55 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Order_for_Shipping.log +55 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Shipped_Order.log +54 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Test_Customer.log +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Test_Order.log +55 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Credit_Limit_Constraint_T.log +2 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Customer_Change.log +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Delete_First_Item.log +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Delete_Item_Reduces_Order.log +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Exceed_Credit_Limit_Rejec.log +46 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Good_Order_Placed_via_B2B.log +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Deletion.log +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Update.log +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Update_Reca.log +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Update_to_1.log +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Customer_Change.log +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Shipping.log +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Unshipping.log +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Product_Change.log +26 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Product_Unit_Price_Copied.log +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Diana_for_Constrain.log +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Item_for_Product_Ch.log +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Item_for_Unit_Price.log +30 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_-_10_Widget.log +41 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_-_2_Gadget.log +41 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_-_2_Widget.log +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_-_3_Widget_+_.log +57 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_-_3_Widget_an.log +12 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_-_5_Gadget.log +56 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_-_5_Widget.log +41 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_for_Alice.log +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Order_for_Bob.log +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Shipped_Order.log +52 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Unshipped_Order.log +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Ship_Order.log +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Ship_Order_Excludes_from_.log +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/System_Ready.log +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Test_Order_Setup_-_1_Item.log +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Test_Order_Setup_-_2_Item.log +76 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Transaction_Processing.log +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Unship_Order.log +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Unship_Order_Includes_in_.log +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Charlie_Balance.log +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Customer_Balance.log +11 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Diana_Balance.log +11 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Item_Amount.log +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Order_Total.log +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Unit_Price_Copy.log +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report.md +303 -0
- api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/readme_test.md +72 -4
- api_logic_server_cli/prototypes/manager/samples/readme_samples.md +1 -1
- api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md +150 -0
- api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/sqlite_inserts_model_test_hints_with_relns.prompt +94 -0
- api_logic_server_cli/prototypes/nw/test/readme_test_nw.md +333 -92
- apilogicserver-15.2.0.dist-info/METADATA +506 -0
- {apilogicserver-15.1.2.dist-info → apilogicserver-15.2.0.dist-info}/RECORD +615 -535
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/db.dbml +0 -14
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/features/steps/about.py +0 -20
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/logs/behave.log +0 -0
- apilogicserver-15.1.2.dist-info/METADATA +0 -169
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/For_VSCode.dockerfile +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/devcontainer.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/setup.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.env +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.gitignore +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/ApiLogicServer.xml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/Report_Behave_Logic.xml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/Run_Behave.xml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/Windows_Run_Behave.xml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/run___No_Security.xml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/run_docker.xml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.vscode/launch.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.vscode/settings.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.vscode/venv_init.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/_config.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/_layouts/redirect.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/auto_discovery.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/mcp_discovery.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/mcp_expose_api_models.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/new_service.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/newer_service.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/ontimize_api.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/order_b2b_service.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/system.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/customize_api.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/expose_api_models.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/json_encoder.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/readme_customize_api.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/api_utils.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/custom_endpoint.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/expression_parser.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/gen_csv_report.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/gen_pdf_report.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/opt_locking/opt_locking.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/opt_locking/readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api_logic_server_run.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/activate_logicbank.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/config.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/default.env +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/logging-reduced.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/logging.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/mypy.ini +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/server_setup.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/api/api_discovery/openapi.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/config/default.env +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/database/db.sqlite +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/database/models.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/docs/mcp_learning/mcp_discovery.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/cocktail-napkin.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/declare_logic.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/logic_discovery/email_request.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/logic_discovery/simple_constraints.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/security/declare_security.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/admin/admin.yaml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/admin/home.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/README.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/README_create_react_app.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/package-lock.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/package.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/favicon.ico +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/index.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/logo192.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/logo512.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/manifest.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/robots.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/App.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/App.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/App.test.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Config-reference.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Config.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Customer-reference.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Customer.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Item.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Order.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Product.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/SysEmail.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/SysMcp.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/app_loader.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/index.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/index.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/logo.svg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/.eslintrc +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/.yarnrc.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/errors.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/errors.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/index.test.tsx +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/index.tsx +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/styles.module.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/reportWebVitals.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/setupTests.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/alembic_run.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/env.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/readme_alembic.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/script.py.mako +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/versions/ae6a5c2fdc47_autogenerated.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/versions/readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic.ini +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/authentication_db.sqlite +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/bind_dbs.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/customize_models.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/database_discovery/authentication_models.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/database_discovery/auto_discovery.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/db.sqlite +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/db_debug/db_debug.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/mcp_db.sqlite +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/mcp_models.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/models.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/system/SAFRSBaseX.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/alp_init.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/response2code.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/test_data_preamble.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/auth-db/authdb_mysql.Dockerfile +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/auth-db/authdb_mysql.sql +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/auth-db/authdb_postgres.sql +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-compose-dev-azure/azure-deploy.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-compose-dev-local/docker-compose-dev-local.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-compose-dev-local/docker-compose.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/build_image.dockerfile +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/build_image.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/env.list +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/run_image.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-standard-image/docker-compose-standard-image.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-standard-image/env.list +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/h2/keycloakdb.mv.db +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/h2/keycloakdb.trace.db +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/kcals-realm.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/kcals-users-0.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/master-realm.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/master-users-0.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/tmp/kc-gzip-cache/nnbna/js/keycloak.js.gz +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/docker-compose-dev-network.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/docker-compose-nginx.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/docker-compose.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/kcals-realm.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/kcals-users-0.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/master-realm.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/master-users-0.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/nginx/cert.pem +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/nginx/key.pem +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/nginx/nginx.conf +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/startup_log_nginx.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/startup_log_no_nginx.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/unused/auth_provider.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/unused/unused-docker-compose-keycloak.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/python-anywhere/python_anywhere_wsgi.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/readme-devops.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/graphics/readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/logic/readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/logic_suggestions/readme_logic_suggestions.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/mcp_learning/mcp.prompt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/mcp_learning/mcp_schema.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/models-not-code.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/runtime engines.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/system-creation-vibe.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/admin_app_1_context.prompt.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/admin_app_2_functionality.prompt.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/admin_app_3_architecture.prompt.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/logic_bank_api.prompt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/logic_example.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/react_map.prompt.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/react_tree.prompt.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/kafka/kafka_consumer.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/kafka/kafka_producer.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/kafka/kafka_readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_context_results.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_discovery_response.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_request.prompt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_schema.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_tool_context_response.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_tool_context_response_get.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/mcp_client_executor.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/mcp_server_discovery.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/readme-mcp.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/n8n/N8N_WebHook_from_ApiLogicServer.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/n8n/n8n_producer.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/n8n/n8n_readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/row_dict_maps/OrderB2BMapper.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/row_dict_maps/row_dict_maps_readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/system/FlaskKafka.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/system/RowDictMapper.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/api/api_discovery/order_b2b.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/database/db.sqlite +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/docs/er_diagram.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/integration/row_dict_maps/OrderB2B.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/integration/row_dict_maps/OrderShipping.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/logic/declare_logic.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/ui/admin/admin.yaml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/declarative-vs-procedural-comparison.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/declare_logic.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/load_verify_rules.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/app_integration.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/auto_discovery.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/check_credit.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/mcp_client_executor_request.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/readme_logic_discovery.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/use_case.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/procedural/credit_service.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/procedural/declarative-vs-procedural-comparison.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/procedural/declarative-vs-procedural-comparison.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/readme_logic.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme_project.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme_standard.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme_vibe.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/requirements.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/run.ps1 +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/run.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/abstract_authentication_provider.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/keycloak/auth_provider.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/memory/auth_provider.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/memory/auth_provider_no_swagger.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/sql/auth_provider.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/declare_security.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/readme_security.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/system/authentication.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/system/authorization.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/system/custom_swagger.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/behave_run.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/features/about.feature +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/reports/Behave Logic Report Intro micro.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/reports/Behave Logic Report Intro.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/reports/Behave Logic Report Sample.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/basic/server_test.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/__init__.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/admin.yaml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/admin_loader.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/authentication_admin.yaml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/home.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/mcp_admin.yaml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.browserslistrc +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.dockerignore +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.editorconfig +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.eslintrc.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.gitignore +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/README.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/angular.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/app_model.yaml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/docker-compose-ontimize.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/protractor.conf.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/src/app.e2e-spec.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/src/app.po.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/tsconfig.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/karma.conf.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/nginx/nginx.conf +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/ngsw-config.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/package-lock.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/package.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.spec.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.config.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.theme.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/Customer-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/Customer.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/detail/Customer-detail.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/detail/Customer-detail.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/detail/Customer-detail.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/home/Customer-home.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/home/Customer-home.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/home/Customer-home.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/new/Customer-new.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/new/Customer-new.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/new/Customer-new.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/Item-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/Item.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/detail/Item-detail.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/detail/Item-detail.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/detail/Item-detail.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/home/Item-home.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/home/Item-home.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/home/Item-home.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/new/Item-new.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/new/Item-new.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/new/Item-new.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/Order-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/Order.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/detail/Order-detail.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/detail/Order-detail.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/detail/Order-detail.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/home/Order-home.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/home/Order-home.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/home/Order-home.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/new/Order-new.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/new/Order-new.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/new/Order-new.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/Product-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/Product.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/detail/Product-detail.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/detail/Product-detail.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/detail/Product-detail.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/home/Product-home.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/home/Product-home.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/home/Product-home.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/new/Product-new.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/new/Product-new.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/new/Product-new.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.theme.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main-theme.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings-routing.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Customer-card/Customer-card.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Customer-card/Customer-card.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Customer-card/Customer-card.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Item-card/Item-card.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Item-card/Item-card.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Item-card/Item-card.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Order-card/Order-card.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Order-card/Order-card.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Order-card/Order-card.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Product-card/Product-card.component.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Product-card/Product-card.component.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/Product-card/Product-card.component.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/app.menu.config.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/app.services.config.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/constant.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/shared.module.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/.gitkeep +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/css/app.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/css/loader.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/i18n/en.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/i18n/es.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize128.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize16.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize256.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize32.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize48.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize64.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize72.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize96.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/github.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/login_bg.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/no-image-transparent.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/no-image.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/ontimize.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/ontimize_web_log.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-closed.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-closed.svg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-opened.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-opened.svg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/user_profile.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/js/domchange.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/js/keyboard.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/environments/environment.prod.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/environments/environment.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/favicon.ico +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/index.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/main.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/manifest.webmanifest +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/polyfills.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/styles.scss +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/test.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/tsconfig.app.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/tsconfig.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/tsconfig.spec.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/andrew.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/anne.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/janet.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/laura.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/margaret.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/michael.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/nancy.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/robert.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/steven.jpg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/beverages.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/cereals.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/condiments.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/confections.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/diary.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/meat.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/produce.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/seafood.gif +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/README.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/README_create_react_app.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/package-lock.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/package.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/favicon.ico +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/index.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/logo192.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/logo512.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/manifest.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/robots.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/App.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/App.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/App.test.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Config.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Customer.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Item.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Order.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Product.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/app_loader.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/index.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/index.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/logo.svg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/.eslintrc +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/.yarnrc.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/default-settings.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/default-settings.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/errors.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/errors.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/index.test.tsx +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/index.tsx +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/ra-jsonapi-client.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/ra-jsonapi-client.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/resourceLookup.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/resourceLookup.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/styles.module.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/reportWebVitals.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/setupTests.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/README.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/README_create_react_app.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/package-lock.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/package.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/product-cards.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/favicon.ico +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/index.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/logo192.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/logo512.png +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/manifest.json +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/robots.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/App.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/App.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/App.test.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Config.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Customer.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Item.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Order.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Product.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/app_loader.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/index.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/index.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/logo.svg +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/.eslintrc +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/.yarnrc.yml +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/default-settings.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/default-settings.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/errors.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/errors.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/index.test.tsx +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/index.tsx +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/ra-jsonapi-client.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/ra-jsonapi-client.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/resourceLookup.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/resourceLookup.ts +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/styles.module.css +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/reportWebVitals.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/setupTests.js +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/templates/bar_chart.jinja +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/templates/content.html +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/py.py +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/readme_venv.md +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/requirements-no-cli.txt +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/venv-linux.sh +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/venv.ps1 +0 -0
- /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/venv.sh +0 -0
- /api_logic_server_cli/prototypes/manager/system/{install-ApiLogicServer-dev → ApiLogicServer-Internal-Dev}/install-ApiLogicServer-dev.ps1 +0 -0
- /api_logic_server_cli/prototypes/manager/system/{install-ApiLogicServer-dev → ApiLogicServer-Internal-Dev}/install-ApiLogicServer-dev.sh +0 -0
- /api_logic_server_cli/prototypes/manager/system/{install-ApiLogicServer-dev → ApiLogicServer-Internal-Dev}/readme.md +0 -0
- {apilogicserver-15.1.2.dist-info → apilogicserver-15.2.0.dist-info}/WHEEL +0 -0
- {apilogicserver-15.1.2.dist-info → apilogicserver-15.2.0.dist-info}/entry_points.txt +0 -0
- {apilogicserver-15.1.2.dist-info → apilogicserver-15.2.0.dist-info}/licenses/LICENSE +0 -0
- {apilogicserver-15.1.2.dist-info → apilogicserver-15.2.0.dist-info}/top_level.txt +0 -0
|
@@ -12,24 +12,28 @@ 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__ = "15.
|
|
15
|
+
__version__ = "15.02.00" # last public release: 15.01.03
|
|
16
16
|
recent_changes = \
|
|
17
17
|
f'\n\nRecent Changes:\n' +\
|
|
18
|
-
"\
|
|
19
|
-
"\
|
|
20
|
-
"\
|
|
21
|
-
"\
|
|
22
|
-
"\
|
|
23
|
-
"\
|
|
24
|
-
"\
|
|
25
|
-
"\
|
|
26
|
-
"\
|
|
27
|
-
"\
|
|
28
|
-
"\
|
|
29
|
-
"\
|
|
30
|
-
"\
|
|
31
|
-
"\
|
|
32
|
-
"\
|
|
18
|
+
"\t10/21/2025 - 15.02.00: Copilot test creation from rules and custom APIs \n"\
|
|
19
|
+
"\t10/06/2025 - 15.01.06: Incorrect dbml reln arrows [102] \n"\
|
|
20
|
+
"\t09/27/2025 - 15.01.05: Error reporting for bad test data rebuild [101], Minor fix to ensure react-app cards have links \n"\
|
|
21
|
+
"\t08/17/2025 - 15.01.03: LogicBan 01.30, with fix for copy_children[19] \n"\
|
|
22
|
+
"\t08/13/2025 - 15.01.02: Id vs ID in codegen (parent_accessor_from_fk: [#100]), pyodbc fix in blt \n"\
|
|
23
|
+
"\t08/09/2025 - 15.01.00: improved vibe instructions \n"\
|
|
24
|
+
"\t08/06/2025 - 15.00.65: instructions for custom API endpoints, behave testing \n"\
|
|
25
|
+
"\t07/20/2025 - 15.00.52: Python 3.13 compatibility fixes - psycopg2→psycopg3, SQLAlchemy 2.0+, pkg_resources→importlib.metadata. mgr dbs \n"\
|
|
26
|
+
"\t07/17/2025 - 15.00.49: venv fix+, ext bldr * fix, copilot vibe tweaks - creation, mcp logic, basic_demo autonums \n"\
|
|
27
|
+
"\t07/10/2025 - 15.00.41: copilot vibe support for logic, UI, MCP, bug[98] \n"\
|
|
28
|
+
"\t06/30/2025 - 15.00.33: Tech Preview: genai-logic genai-add-app --vibe, bug [96, 97] \n"\
|
|
29
|
+
"\t06/10/2025 - 15.00.12: MCP Security, win fixes for readme, graphics quotes \n"\
|
|
30
|
+
"\t06/08/2025 - 15.00.10: MCP, optional shortening of stacktrace lines, bugfix[92] \n"\
|
|
31
|
+
"\t05/16/2025 - 14.05.00: safrs 3.1.7, running mcp preview \n"\
|
|
32
|
+
"\t04/27/2025 - 14.04.00: Graphics preview, Vibe install fix, Improved IDE Chat Logic, MCP Exploration \n"\
|
|
33
|
+
"\t03/30/2025 - 14.03.25: WebGenAI fixes for Kafka and Keycloak \n"\
|
|
34
|
+
"\t03/19/2025 - 14.03.20: licensed webgenai docker, [87] sra fix for home.js \n"\
|
|
35
|
+
"\t02/26/2025 - 14.03.14: [85: reserved words], genai_demo fixes \n"\
|
|
36
|
+
"\t01/17/2025 - 14.02.20: WebGenAI support, genai_demo \n"\
|
|
33
37
|
"\t01/06/2024 - 14.01.00: N8N, Rebuild test data, Fixup, Project Import, Improved reporting of missing attributes, Simplified RowDictMaper \n"\
|
|
34
38
|
"\t11/18/2024 - 12.02.00: genai: 'qualified any' now supported in logic training \n"\
|
|
35
39
|
"\t10/31/2024 - 12.01.00: genai: informal rules (eg, Sum of employee salaries cannot exceed department budget) \n"\
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
last_created_date:
|
|
2
|
-
last_created_project_name:
|
|
3
|
-
last_created_version: 15.01.
|
|
1
|
+
last_created_date: September 27, 2025 18:12:50
|
|
2
|
+
last_created_project_name: retry_genai_demo_baseless_classes
|
|
3
|
+
last_created_version: 15.01.04
|
api_logic_server_cli/cli.py
CHANGED
|
@@ -206,7 +206,7 @@ def main(ctx):
|
|
|
206
206
|
if current_path.joinpath('system/genai/reference').is_dir():
|
|
207
207
|
sys.stdout.write(" For doc, see https://apilogicserver.github.io/Docs/Manager \n\n\n")
|
|
208
208
|
else:
|
|
209
|
-
sys.stdout.write(" Suggestion:
|
|
209
|
+
sys.stdout.write(" Suggestion: genai-logic start \n\n\n")
|
|
210
210
|
|
|
211
211
|
|
|
212
212
|
@main.command("start")
|
|
@@ -801,8 +801,23 @@ def genai_graphics(ctx, using, genai_version: str, replace_with: str):
|
|
|
801
801
|
@click.pass_context
|
|
802
802
|
def genai_add_app(ctx, app_name: str, vibe: click.BOOL, retries: int, schema: str, genai_version: str):
|
|
803
803
|
"""
|
|
804
|
-
|
|
804
|
+
Add customizable react app in ui/ for current project, ready for vibe.
|
|
805
|
+
|
|
806
|
+
Example:
|
|
807
|
+
genai-logic genai-add-app --app-name=myapp --vibe --schema=admin.yaml
|
|
808
|
+
|
|
809
|
+
This command generates a React app in the ui/ directory of your current project,
|
|
810
|
+
using the specified schema file (default: ui/admin/admin.yaml).
|
|
811
|
+
|
|
812
|
+
The --vibe flag enables vibe documentation integration.
|
|
813
|
+
|
|
814
|
+
Use --retries to specify the number of lint retries.
|
|
815
|
+
|
|
816
|
+
Use --genai-version to specify the LLM version (e.g., gpt-4o).
|
|
817
|
+
|
|
818
|
+
|
|
805
819
|
"""
|
|
820
|
+
|
|
806
821
|
global command
|
|
807
822
|
project_dir = resolve_blank_project_name('')
|
|
808
823
|
project_name = Path(project_dir).name
|
|
@@ -147,7 +147,7 @@ class DBMLCreator(object):
|
|
|
147
147
|
child_attr_list += ', '
|
|
148
148
|
child_attr_list += f"{each_key_pair[1]}"
|
|
149
149
|
if parent_attr_list != '':
|
|
150
|
-
reln_line = f" Ref: {each_resource_name}.({child_attr_list})
|
|
150
|
+
reln_line = f" Ref: {each_resource_name}.({child_attr_list}) > {each_resource_reln.parent_resource}.({parent_attr_list})"
|
|
151
151
|
self.dbms_lines.append(reln_line)
|
|
152
152
|
if each_resource_reln.parent_resource == 'Location': # multi-field key example in nw
|
|
153
153
|
debug_stop = 'good breakpoint' # ' Ref: Order.(City, Country) < Location.(?, ?)'
|
|
@@ -65,6 +65,15 @@ class GenAI(object):
|
|
|
65
65
|
"""
|
|
66
66
|
|
|
67
67
|
self.project = project # als project info (cli args etc)
|
|
68
|
+
self.post_error = ""
|
|
69
|
+
""" eg, records error in current retry iteration.<br>
|
|
70
|
+
if response contains table defs, save_prompt_messages_to_system_genai_temp_project raises an exception to trigger retry """
|
|
71
|
+
self.prompt = ""
|
|
72
|
+
""" `--using` - can come from file or text argument """
|
|
73
|
+
self.logic_enabled = True
|
|
74
|
+
""" K_LogicBankOff is used for initial creation, where we don't want un-reviewed logic (no longer used) """
|
|
75
|
+
|
|
76
|
+
self.messages = self.get_prompt_messages() # compute self.messages, from file, dir or text argument
|
|
68
77
|
|
|
69
78
|
|
|
70
79
|
def create_db_models(self): # main driver
|
|
@@ -101,6 +110,9 @@ class GenAI(object):
|
|
|
101
110
|
|
|
102
111
|
see key_module_map() for key methods
|
|
103
112
|
|
|
113
|
+
Note the same `pr` instance variable is used for all 3 tries,
|
|
114
|
+
so (re)initialization that would normally occur in `init()` is in here.
|
|
115
|
+
|
|
104
116
|
https://platform.openai.com/finetune/ftjob-2i1wkh4t4l855NKCovJeHExs?filter=all
|
|
105
117
|
"""
|
|
106
118
|
|
|
@@ -165,12 +177,10 @@ class GenAI(object):
|
|
|
165
177
|
self.project.from_model = f'system/genai/temp/create_db_models.py' # we always write the model to this file
|
|
166
178
|
self.ensure_system_dir_exists() # ~ manager, so we can write to system/genai/temp
|
|
167
179
|
delete_temp_files(self)
|
|
168
|
-
|
|
169
|
-
""
|
|
180
|
+
|
|
181
|
+
self.post_error = "" # re-initialize the instance
|
|
170
182
|
self.prompt = ""
|
|
171
|
-
""" `--using` - can come from file or text argument """
|
|
172
183
|
self.logic_enabled = True
|
|
173
|
-
""" K_LogicBankOff is used for initial creation, where we don't want un-reviewed logic """
|
|
174
184
|
|
|
175
185
|
self.messages = self.get_prompt_messages() # compute self.messages, from file, dir or text argument
|
|
176
186
|
|
|
@@ -585,33 +595,34 @@ class GenAI(object):
|
|
|
585
595
|
elif not response_file.exists():
|
|
586
596
|
if Path(self.project.genai_repaired_response).is_file():
|
|
587
597
|
shutil.copyfile(self.project.genai_repaired_response, response_file)
|
|
588
|
-
is_genai_demo = False
|
|
589
|
-
if os.getenv('APILOGICPROJECT_IS_GENAI_DEMO') is not None or self.project.project_name == 'genai_demo':
|
|
590
|
-
# fail safe demo - be sure AI does not fail, and that the data model names are predictable for add-cust
|
|
591
|
-
self.project.project_directory_path.joinpath('docs/project_is_genai_demo.txt').touch()
|
|
592
|
-
# and DON'T create test data (db.sqlite already set up in recursive copy)
|
|
593
|
-
project_docs_response = self.project.project_directory_path.joinpath('docs/response.json')
|
|
594
|
-
with open(project_docs_response, "w") as response_file: # WebG uses this for wg_rules
|
|
595
|
-
json.dump(self.response_dict, response_file, indent=4)
|
|
596
|
-
pass # not possible on create_db_models, since project paths not yet set by api_logic_server
|
|
597
|
-
if add_mcp := False: # bad idea - fails with Ont seeking email (which would be confusing)
|
|
598
|
-
from api_logic_server_cli.add_cust import add_cust
|
|
599
|
-
add_cust.add_basic_demo_customizations(project=self.project)
|
|
600
|
-
|
|
601
|
-
else: # normal path
|
|
602
|
-
genai_svcs.rebuild_test_data_for_project(
|
|
603
|
-
use_project_path = self.project.project_directory_path,
|
|
604
|
-
project = self.project,
|
|
605
|
-
use_existing_response = True,
|
|
606
|
-
response = response_file)
|
|
607
|
-
|
|
608
598
|
except: # intentional try/catch/bury - it's just docs, so don't fail
|
|
609
599
|
import traceback
|
|
610
600
|
log.error(f"\n\nERROR creating genai project docs: {docs_dir}\n\n{traceback.format_exc()}")
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
is_genai_demo = False
|
|
604
|
+
if os.getenv('APILOGICPROJECT_IS_GENAI_DEMO') is not None or self.project.project_name == 'genai_demo':
|
|
605
|
+
# fail safe demo - be sure AI does not fail, and that the data model names are predictable for add-cust
|
|
606
|
+
self.project.project_directory_path.joinpath('docs/project_is_genai_demo.txt').touch()
|
|
607
|
+
# and DON'T create test data (db.sqlite already set up in recursive copy)
|
|
608
|
+
project_docs_response = self.project.project_directory_path.joinpath('docs/response.json')
|
|
609
|
+
with open(project_docs_response, "w") as response_file: # WebG uses this for wg_rules
|
|
610
|
+
json.dump(self.response_dict, response_file, indent=4)
|
|
611
|
+
pass # not possible on create_db_models, since project paths not yet set by api_logic_server
|
|
612
|
+
if add_mcp := False: # bad idea - fails with Ont seeking email (which would be confusing)
|
|
613
|
+
from api_logic_server_cli.add_cust import add_cust
|
|
614
|
+
add_cust.add_basic_demo_customizations(project=self.project)
|
|
615
|
+
else: # normal path
|
|
616
|
+
genai_svcs.rebuild_test_data_for_project(
|
|
617
|
+
use_project_path = self.project.project_directory_path,
|
|
618
|
+
project = self.project,
|
|
619
|
+
use_existing_response = True,
|
|
620
|
+
response = response_file)
|
|
621
|
+
|
|
611
622
|
genai_graphics = GenAIGraphics(project=self.project,
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
623
|
+
replace_with='!new-wg',
|
|
624
|
+
using=None,
|
|
625
|
+
genai_version=self.project.genai_version)
|
|
615
626
|
|
|
616
627
|
def save_prompt_messages_to_system_genai_temp_project(self):
|
|
617
628
|
"""
|
|
@@ -713,7 +724,7 @@ def genai_cli_with_retry(using: str, db_url: str, repaired_response: str, genai_
|
|
|
713
724
|
|
|
714
725
|
try_number = 1
|
|
715
726
|
genai_use_relns = use_relns
|
|
716
|
-
""" if 'unable to determine join condition', we retry this with False """
|
|
727
|
+
""" if 'unable to determine join condition', we (WebGenAI?) retry this with False """
|
|
717
728
|
if repaired_response != "":
|
|
718
729
|
try_number = retries # if not calling GenAI, no need to retry:
|
|
719
730
|
failed = False
|
|
@@ -38,7 +38,7 @@ class JSResponseFormat(BaseModel): # must match system/genai/prompt_inserts/res
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
class GenAIReactApp:
|
|
41
|
-
"""Create a react app:
|
|
41
|
+
"""Create a react app (called from cli#genai_add_app):
|
|
42
42
|
1. Clones <mgr>/system/genai/app_templates/react-admin-template
|
|
43
43
|
2. For each data model class, uses creates page with list and show
|
|
44
44
|
* Uses ChatGpt with system/genai/app_templates/app_learning/Admin-App-Resource-Learning-Prompt.md
|
|
@@ -48,6 +48,28 @@ class GenAIReactApp:
|
|
|
48
48
|
"""
|
|
49
49
|
|
|
50
50
|
def __init__(self, project: Project, app_name: str, vibe: bool, schema: str, genai_version: str, retries: int):
|
|
51
|
+
"""
|
|
52
|
+
Initialize the GenAI React App generator (called from cli#genai_add_app, cwd is root or project):
|
|
53
|
+
Args:
|
|
54
|
+
project (Project): The project instance containing project configuration and paths.
|
|
55
|
+
app_name (str): The name of the React app to generate.
|
|
56
|
+
vibe (bool): Flag indicating whether to suggest Vibe customization.
|
|
57
|
+
schema (str): The schema/model name in `ui/admin` used for generating the app. CLI defaults to `ui/admin/admin.yaml`
|
|
58
|
+
genai_version (str): The version of the GenAI API to use.
|
|
59
|
+
retries (int): Number of retries for generation steps.
|
|
60
|
+
Side Effects:
|
|
61
|
+
- Sets up various paths and reads template/configuration files required for app generation.
|
|
62
|
+
- Copies the React admin template to the target UI project directory.
|
|
63
|
+
- Generates resource files and main app JS file as driven by schema
|
|
64
|
+
* Uses ChatGpt with system/genai/app_templates/app_learning/Admin-App-Resource-Learning-Prompt.md
|
|
65
|
+
* Regrettably, repairs imports
|
|
66
|
+
- Generates Creates Admin.js
|
|
67
|
+
* Uses ChatGpt with system/genai/app_templates/app_learning/Admin-App-js-Learning-Prompt.md
|
|
68
|
+
- Logs progress and next steps for the user.
|
|
69
|
+
- Exits the program if required template files are missing.
|
|
70
|
+
Raises:
|
|
71
|
+
SystemExit: If required template files are not found in the expected locations.
|
|
72
|
+
"""
|
|
51
73
|
self.start_time = time.time()
|
|
52
74
|
|
|
53
75
|
self.project = project
|
|
@@ -310,8 +310,8 @@ def rebuild_test_data_for_project(response: str = 'docs/response.json',
|
|
|
310
310
|
run_file = project_path.joinpath('database/test_data/test_data_code.py')
|
|
311
311
|
run_file = str(Path(run_file).resolve())
|
|
312
312
|
|
|
313
|
-
subprocess.check_output([python_loc,run_file,'--test-data','--response=docs/response.json'] ,
|
|
314
|
-
cwd=cwd,shell=False, env=os.environ.copy())
|
|
313
|
+
test_data_result = subprocess.check_output([python_loc,run_file,'--test-data','--response=docs/response.json'] ,
|
|
314
|
+
cwd=cwd, shell=False, env=os.environ.copy())
|
|
315
315
|
# subprocess.check_output([python_loc,run_file,'--test-data','--response', 'docs/response.json'] , cwd=cwd,shell=True)
|
|
316
316
|
# result = create_utils.run_commiand(f'{python_loc} {run_file}',
|
|
317
317
|
# msg="\Running Test Data Builder...",
|
|
@@ -374,6 +374,8 @@ def fix_model_lines(model: DotMap, use_relns: bool = True, post_error: str = Non
|
|
|
374
374
|
|
|
375
375
|
Args:
|
|
376
376
|
model (Model): the model
|
|
377
|
+
use_relns (bool, optional): whether to use relns. Defaults to True.
|
|
378
|
+
post_error (str, optional): genai uses to stop creation in api_logic_server_cli. Defaults to None.
|
|
377
379
|
|
|
378
380
|
Returns:
|
|
379
381
|
stlist[str]: the model class lines, fixed up (in place)
|
|
@@ -449,7 +451,7 @@ def fix_model_lines(model: DotMap, use_relns: bool = True, post_error: str = Non
|
|
|
449
451
|
# each_line = each_line.replace(':', '(Base):') # sometimes it forgets the Base
|
|
450
452
|
if 'Base' not in each_line:
|
|
451
453
|
log.debug(f'.. fix_and_write_model_file detects class with no Base - raise excp to trigger retry')
|
|
452
|
-
if post_error is not None:
|
|
454
|
+
if post_error is not None: # see GenAI instance variable
|
|
453
455
|
post_error = "ChatGPT Response contains class with no Base: " + each_line
|
|
454
456
|
if 'relationship(' in each_line and use_relns == False:
|
|
455
457
|
# airport4 fails with could not determine join condition between parent/child tables on relationship Airport.flights
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
# GitHub Copilot Instructions for GenAI-Logic (aka API Logic Server) Projects
|
|
2
5
|
|
|
3
6
|
## Project Type: Auto-Generated Microservice
|
|
@@ -33,7 +36,7 @@ This is a **GenAI-Logic (aka API Logic Server) project** - a complete, working m
|
|
|
33
36
|
4. **Authentication System** - JWT-based auth framework
|
|
34
37
|
5. **Business Logic Engine** - Declarative rules system
|
|
35
38
|
|
|
36
|
-
> **📋 Testing:** For comprehensive testing conventions, patterns, and examples, see `
|
|
39
|
+
> **📋 Testing:** For comprehensive testing conventions, patterns, and examples, see `docs/training/testing.md` (555 lines - MUST READ FIRST before creating any tests)
|
|
37
40
|
|
|
38
41
|
## 🎯 Common Tasks
|
|
39
42
|
|
|
@@ -41,6 +44,9 @@ If the user asks "what do I do now?", these subsections are good suggestions.
|
|
|
41
44
|
|
|
42
45
|
List these as choices, do not just do all of them at once - that would be overwhelming.
|
|
43
46
|
|
|
47
|
+
### Set Up Virtual Environment
|
|
48
|
+
If it is not already set, you can often find a `venv` in the GenAI-Logic Manager - a parent or grandparent directory.
|
|
49
|
+
|
|
44
50
|
### 🚀 To Run This Project
|
|
45
51
|
|
|
46
52
|
Use F5 (pre-configured run configuration - supports debugger for server logic), or (when focused on client apps):
|
|
@@ -96,6 +102,35 @@ Use case: App Integration
|
|
|
96
102
|
**Bottom Line**: Declarative business logic eliminates complexity while providing better performance, maintainability, and business alignment.
|
|
97
103
|
|
|
98
104
|
> **Note**: The procedural implementation was generated by AI (GitHub Copilot) and still required at least 2 critical and subtle bug fixes during development, highlighting the error-prone nature of procedural approaches even when AI-assisted.
|
|
105
|
+
|
|
106
|
+
**Why the Rules Engine is a Correctness Guarantee:**
|
|
107
|
+
|
|
108
|
+
The "2 critical bugs" mentioned above were:
|
|
109
|
+
1. **Changing Order.customer_id** - procedural code failed to adjust BOTH the old and new customer balances
|
|
110
|
+
2. **Changing Item.product_id** - procedural code failed to re-copy the unit_price from the new product
|
|
111
|
+
|
|
112
|
+
These bugs illustrate why declarative rules are **mandatory, not optional**:
|
|
113
|
+
|
|
114
|
+
**Dependency Chains:** In the logic above, `Customer.balance` has transitive dependencies:
|
|
115
|
+
- Direct: `Order.amount_total`, `Order.date_shipped`
|
|
116
|
+
- Through Order: `Item.amount` (affects Order.amount_total)
|
|
117
|
+
- Through Item: `Item.quantity`, `Item.unit_price` (affect Item.amount)
|
|
118
|
+
- Through Product: `Product.unit_price` (copied to Item.unit_price)
|
|
119
|
+
|
|
120
|
+
**Automatic Completeness:** The declarative rules engine:
|
|
121
|
+
- Listens to **SQLAlchemy ORM events** at the attribute level
|
|
122
|
+
- When `Order.customer_id` changes, **automatically adjusts both old and new customer balances**
|
|
123
|
+
- When `Item.product_id` changes, **automatically re-copies from the new product**
|
|
124
|
+
- Uses **dependency ordering** to fire rules in correct sequence
|
|
125
|
+
- Applies **optimized chaining** (uses deltas, not re-aggregation)
|
|
126
|
+
|
|
127
|
+
**Why Procedural Code Fails:** Even AI-generated procedural code requires explicit handlers for EVERY possible change path. It's easy to miss:
|
|
128
|
+
- Foreign key changes affecting multiple parents
|
|
129
|
+
- Transitive dependencies through multiple tables
|
|
130
|
+
- Where clause conditions that include/exclude rows
|
|
131
|
+
|
|
132
|
+
The rules engine eliminates this entire class of bugs by automatically handling all change paths.
|
|
133
|
+
|
|
99
134
|
</analysis>
|
|
100
135
|
|
|
101
136
|
Generally CoPilot solicits Natural Language logic for translation (see logic/readme_logic.md),
|
|
@@ -144,6 +179,127 @@ When users provide natural language with multiple use cases like:
|
|
|
144
179
|
|
|
145
180
|
**NEVER put everything in `use_case.py`** - that defeats the discovery system purpose.
|
|
146
181
|
|
|
182
|
+
### Automated Testing
|
|
183
|
+
|
|
184
|
+
**CRITICAL WORKFLOW - When User Says "Create Tests":**
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
1. STOP ✋ - Do NOT create tests yet!
|
|
188
|
+
2. READ docs/training/testing.md FIRST (555 lines - comprehensive guide with ALL patterns)
|
|
189
|
+
3. This file contains EVERY discovered bug pattern from achieving 11/11 test success
|
|
190
|
+
4. Pay special attention to:
|
|
191
|
+
- Rule #0: Test Repeatability (timestamps for uniqueness)
|
|
192
|
+
- Rule #0.5: Behave Step Ordering (specific before general patterns)
|
|
193
|
+
- Top 5 Critical Bugs section (common AI mistakes)
|
|
194
|
+
- Filter format: filter[column]=value (NOT OData)
|
|
195
|
+
- No circular imports (test files = black box, API only)
|
|
196
|
+
- Null-safe constraints (handle None values)
|
|
197
|
+
- Fresh test data (timestamps for uniqueness)
|
|
198
|
+
5. THEN create tests following the patterns exactly
|
|
199
|
+
6. NEVER create duplicate rules - all patterns already documented
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Why This Matters:** AI-generated tests fail 80% of the time without reading this guide first. The training material documents every common mistake (circular imports, wrong filter format, null-unsafe constraints, step ordering, etc.) with exact fixes. This guide achieved 11/11 test success (100%) and contains all discovered patterns.
|
|
203
|
+
|
|
204
|
+
**`docs/training/testing.md`** explains how to create Behave tests from declarative rules, execute test suites, and generate automated documentation with complete logic traceability.
|
|
205
|
+
|
|
206
|
+
**Key capabilities:**
|
|
207
|
+
- **Create tests from rules** - Analyze declarative rules to generate appropriate test scenarios
|
|
208
|
+
- **Execute test suite** - Run all tests with one command (Launch Configuration: "Behave Run")
|
|
209
|
+
- **Generate documentation** - Auto-create wiki reports showing requirements, tests, rules used, and execution traces
|
|
210
|
+
- **Requirements traceability** - Complete chain from business requirement → test → declarative rule → execution log
|
|
211
|
+
|
|
212
|
+
**The Innovation:** Unlike traditional testing, Behave Logic Reports show **which declarative rules fired** during each test, providing complete transparency from requirement to execution. This solves the 44X advantage in testing - tests verify "what" (business rules) not "how" (procedural code).
|
|
213
|
+
|
|
214
|
+
See `test/api_logic_server_behave/` for examples and [published report](https://apilogicserver.github.io/Docs/Behave-Logic-Report/).
|
|
215
|
+
|
|
216
|
+
**Common Mistakes to Avoid (from testing.md):**
|
|
217
|
+
1. ❌ Wrong filter: `filter="name eq 'Alice'"` → ✅ Use: `filter[name]="Alice"`
|
|
218
|
+
2. ❌ Importing logic/database modules → ✅ Import only: behave, requests, test_utils
|
|
219
|
+
3. ❌ Unsafe constraints: `row.x <= row.y` → ✅ Use: `row.x is None or row.y is None or row.x <= row.y`
|
|
220
|
+
4. ❌ Step execution: `step_impl.execute_step()` → ✅ Use: `context.execute_steps('when Step')`
|
|
221
|
+
5. ❌ Reusing test data → ✅ Create fresh with: `f"{name} {int(time.time()*1000)}"`
|
|
222
|
+
|
|
223
|
+
**For detailed test creation patterns, see `docs/training/testing.md` which documents all critical rules including Rule #0.5 (Behave Step Ordering).**
|
|
224
|
+
|
|
225
|
+
#### Critical Learnings: Behave Logic Report Generation
|
|
226
|
+
|
|
227
|
+
**PROBLEM**: Reports not showing logic details for test scenarios.
|
|
228
|
+
|
|
229
|
+
**ROOT CAUSES DISCOVERED**:
|
|
230
|
+
|
|
231
|
+
1. **Empty behave.log** (Most Common Issue)
|
|
232
|
+
- ❌ Running: `python behave_run.py`
|
|
233
|
+
- ✅ Must run: `python behave_run.py --outfile=logs/behave.log`
|
|
234
|
+
- Without `--outfile`, behave.log remains empty (0 bytes) and report has no content
|
|
235
|
+
|
|
236
|
+
2. **Scenario Name Mismatch**
|
|
237
|
+
- Log files must match scenario names from .feature file
|
|
238
|
+
- ❌ Using custom names: `scenario_name = f'B2B Order - {quantity} {product_name}'`
|
|
239
|
+
- ✅ Use actual scenario: `scenario_name = context.scenario.name`
|
|
240
|
+
- Report generator truncates to 25 chars and looks for matching .log files
|
|
241
|
+
|
|
242
|
+
3. **Report Generator Logic Bug**
|
|
243
|
+
- Original code only showed logic when blank line followed "Then" step
|
|
244
|
+
- Only worked for ~30% of scenarios (those with blank lines in behave.log)
|
|
245
|
+
- ✅ Fixed: Trigger logic display when next scenario starts OR at end of file
|
|
246
|
+
|
|
247
|
+
**CORRECT PATTERN FOR WHEN STEPS**:
|
|
248
|
+
|
|
249
|
+
```python
|
|
250
|
+
@when('B2B order placed for "{customer_name}" with {quantity:d} {product_name}')
|
|
251
|
+
def step_impl(context, customer_name, quantity, product_name):
|
|
252
|
+
"""
|
|
253
|
+
Phase 2: CREATE using OrderB2B API - Tests OrderB2B integration
|
|
254
|
+
"""
|
|
255
|
+
scenario_name = context.scenario.name # ← CRITICAL: Use actual scenario name
|
|
256
|
+
test_utils.prt(f'\n{scenario_name}\n', scenario_name)
|
|
257
|
+
|
|
258
|
+
# ... test implementation ...
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**WORKFLOW FOR REPORT GENERATION**:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
# 1. Run tests WITH outfile to generate behave.log
|
|
265
|
+
python behave_run.py --outfile=logs/behave.log
|
|
266
|
+
|
|
267
|
+
# 2. Generate report (reads behave.log + scenario_logic_logs/*.log)
|
|
268
|
+
python behave_logic_report.py run
|
|
269
|
+
|
|
270
|
+
# 3. View report
|
|
271
|
+
open reports/Behave\ Logic\ Report.md
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
**WHAT THE REPORT SHOWS**:
|
|
275
|
+
- Each scenario gets a `<details>` section with:
|
|
276
|
+
- **Rules Used**: Which declarative rules fired (numbered list)
|
|
277
|
+
- **Logic Log**: Complete trace showing before→after values for all adjustments
|
|
278
|
+
- Demonstrates the 44X code reduction by showing rule automation
|
|
279
|
+
|
|
280
|
+
**DEBUGGING TIPS**:
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
# Check if behave.log has content
|
|
284
|
+
ls -lh logs/behave.log # Should be several KB, not 0 bytes
|
|
285
|
+
|
|
286
|
+
# Check if scenario logs exist with correct names
|
|
287
|
+
ls logs/scenario_logic_logs/ | head -10
|
|
288
|
+
|
|
289
|
+
# Count detail sections in report (should equal number of scenarios)
|
|
290
|
+
grep -c "<details markdown>" reports/Behave\ Logic\ Report.md
|
|
291
|
+
|
|
292
|
+
# View a specific scenario's log directly
|
|
293
|
+
cat logs/scenario_logic_logs/Delete_Item_Reduces_Order.log
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**KEY INSIGHT**: The report generator uses a two-step process:
|
|
297
|
+
1. Reads behave.log for scenario structure (Given/When/Then steps)
|
|
298
|
+
2. Matches scenario names to .log files in scenario_logic_logs/
|
|
299
|
+
3. Injects logic details at the right location in the report
|
|
300
|
+
|
|
301
|
+
If scenario names don't match between behave.log and .log filenames, logic details won't appear!
|
|
302
|
+
|
|
147
303
|
### Adding MCP
|
|
148
304
|
|
|
149
305
|
The API is automatically MCP-enabled. The project includes a comprehensive MCP client executor at `integration/mcp/mcp_client_executor.py`, but to enable the **user interface** for MCP requests, you must run this command:
|
|
@@ -219,12 +375,16 @@ Customize using CoPilot chat, with `docs/training`.
|
|
|
219
375
|
// AVOID: Trying to use data[id] pattern - this is for older React Admin versions
|
|
220
376
|
```
|
|
221
377
|
|
|
378
|
+
|
|
222
379
|
2. **Component Naming Consistency**: Ensure component names match their usage in JSX - mismatched names cause runtime errors.
|
|
223
380
|
|
|
224
381
|
3. **Simple Error Handling**: Use straightforward loading states rather than complex error checking:
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
382
|
+
```javascript
|
|
383
|
+
if (isLoading) return <div>Loading...</div>;
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
4. 🃏 Card View Action Links (Show, Edit, Delete) **IMPORTANT:** All card views (e.g., Product cards) must include action links or buttons for **Show**, **Edit**, and **Delete** for each record (not just the display fields), matching the functionality of the table/list view.
|
|
387
|
+
|
|
228
388
|
|
|
229
389
|
**Common Mistakes to Avoid**:
|
|
230
390
|
- Using `{ data, ids }` destructuring and trying to map over `ids` - this pattern is outdated
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
# GitHub Copilot Instructions for GenAI-Logic (aka API Logic Server) Projects
|
|
2
5
|
|
|
3
6
|
## Project Type: Auto-Generated Microservice
|
|
@@ -33,7 +36,7 @@ This is a **GenAI-Logic (aka API Logic Server) project** - a complete, working m
|
|
|
33
36
|
4. **Authentication System** - JWT-based auth framework
|
|
34
37
|
5. **Business Logic Engine** - Declarative rules system
|
|
35
38
|
|
|
36
|
-
> **📋 Testing:** For comprehensive testing conventions, patterns, and examples, see `
|
|
39
|
+
> **📋 Testing:** For comprehensive testing conventions, patterns, and examples, see `docs/training/testing.md` (555 lines - MUST READ FIRST before creating any tests)
|
|
37
40
|
|
|
38
41
|
## 🎯 Common Tasks
|
|
39
42
|
|
|
@@ -41,6 +44,9 @@ If the user asks "what do I do now?", these subsections are good suggestions.
|
|
|
41
44
|
|
|
42
45
|
List these as choices, do not just do all of them at once - that would be overwhelming.
|
|
43
46
|
|
|
47
|
+
### Set Up Virtual Environment
|
|
48
|
+
If it is not already set, you can often find a `venv` in the GenAI-Logic Manager - a parent or grandparent directory.
|
|
49
|
+
|
|
44
50
|
### 🚀 To Run This Project
|
|
45
51
|
|
|
46
52
|
Use F5 (pre-configured run configuration - supports debugger for server logic), or (when focused on client apps):
|
|
@@ -96,6 +102,35 @@ Use case: App Integration
|
|
|
96
102
|
**Bottom Line**: Declarative business logic eliminates complexity while providing better performance, maintainability, and business alignment.
|
|
97
103
|
|
|
98
104
|
> **Note**: The procedural implementation was generated by AI (GitHub Copilot) and still required at least 2 critical and subtle bug fixes during development, highlighting the error-prone nature of procedural approaches even when AI-assisted.
|
|
105
|
+
|
|
106
|
+
**Why the Rules Engine is a Correctness Guarantee:**
|
|
107
|
+
|
|
108
|
+
The "2 critical bugs" mentioned above were:
|
|
109
|
+
1. **Changing Order.customer_id** - procedural code failed to adjust BOTH the old and new customer balances
|
|
110
|
+
2. **Changing Item.product_id** - procedural code failed to re-copy the unit_price from the new product
|
|
111
|
+
|
|
112
|
+
These bugs illustrate why declarative rules are **mandatory, not optional**:
|
|
113
|
+
|
|
114
|
+
**Dependency Chains:** In the logic above, `Customer.balance` has transitive dependencies:
|
|
115
|
+
- Direct: `Order.amount_total`, `Order.date_shipped`
|
|
116
|
+
- Through Order: `Item.amount` (affects Order.amount_total)
|
|
117
|
+
- Through Item: `Item.quantity`, `Item.unit_price` (affect Item.amount)
|
|
118
|
+
- Through Product: `Product.unit_price` (copied to Item.unit_price)
|
|
119
|
+
|
|
120
|
+
**Automatic Completeness:** The declarative rules engine:
|
|
121
|
+
- Listens to **SQLAlchemy ORM events** at the attribute level
|
|
122
|
+
- When `Order.customer_id` changes, **automatically adjusts both old and new customer balances**
|
|
123
|
+
- When `Item.product_id` changes, **automatically re-copies from the new product**
|
|
124
|
+
- Uses **dependency ordering** to fire rules in correct sequence
|
|
125
|
+
- Applies **optimized chaining** (uses deltas, not re-aggregation)
|
|
126
|
+
|
|
127
|
+
**Why Procedural Code Fails:** Even AI-generated procedural code requires explicit handlers for EVERY possible change path. It's easy to miss:
|
|
128
|
+
- Foreign key changes affecting multiple parents
|
|
129
|
+
- Transitive dependencies through multiple tables
|
|
130
|
+
- Where clause conditions that include/exclude rows
|
|
131
|
+
|
|
132
|
+
The rules engine eliminates this entire class of bugs by automatically handling all change paths.
|
|
133
|
+
|
|
99
134
|
</analysis>
|
|
100
135
|
|
|
101
136
|
Generally CoPilot solicits Natural Language logic for translation (see logic/readme_logic.md),
|
|
@@ -144,6 +179,47 @@ When users provide natural language with multiple use cases like:
|
|
|
144
179
|
|
|
145
180
|
**NEVER put everything in `use_case.py`** - that defeats the discovery system purpose.
|
|
146
181
|
|
|
182
|
+
### Automated Testing
|
|
183
|
+
|
|
184
|
+
**CRITICAL WORKFLOW - When User Says "Create Tests":**
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
1. STOP ✋ - Do NOT create tests yet!
|
|
188
|
+
2. READ docs/training/testing.md FIRST (555 lines - comprehensive guide with ALL patterns)
|
|
189
|
+
3. This file contains EVERY discovered bug pattern from achieving 11/11 test success
|
|
190
|
+
4. Pay special attention to:
|
|
191
|
+
- Rule #0: Test Repeatability (timestamps for uniqueness)
|
|
192
|
+
- Rule #0.5: Behave Step Ordering (specific before general patterns)
|
|
193
|
+
- Top 5 Critical Bugs section (common AI mistakes)
|
|
194
|
+
- Filter format: filter[column]=value (NOT OData)
|
|
195
|
+
- No circular imports (test files = black box, API only)
|
|
196
|
+
- Null-safe constraints (handle None values)
|
|
197
|
+
- Fresh test data (timestamps for uniqueness)
|
|
198
|
+
5. THEN create tests following the patterns exactly
|
|
199
|
+
6. NEVER create duplicate rules - all patterns already documented
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Why This Matters:** AI-generated tests fail 80% of the time without reading this guide first. The training material documents every common mistake (circular imports, wrong filter format, null-unsafe constraints, step ordering, etc.) with exact fixes. This guide achieved 11/11 test success (100%) and contains all discovered patterns.
|
|
203
|
+
|
|
204
|
+
**`docs/training/testing.md`** explains how to create Behave tests from declarative rules, execute test suites, and generate automated documentation with complete logic traceability.
|
|
205
|
+
|
|
206
|
+
**Key capabilities:**
|
|
207
|
+
- **Create tests from rules** - Analyze declarative rules to generate appropriate test scenarios
|
|
208
|
+
- **Execute test suite** - Run all tests with one command (Launch Configuration: "Behave Run")
|
|
209
|
+
- **Generate documentation** - Auto-create wiki reports showing requirements, tests, rules used, and execution traces
|
|
210
|
+
- **Requirements traceability** - Complete chain from business requirement → test → declarative rule → execution log
|
|
211
|
+
|
|
212
|
+
**The Innovation:** Unlike traditional testing, Behave Logic Reports show **which declarative rules fired** during each test, providing complete transparency from requirement to execution. This solves the 44X advantage in testing - tests verify "what" (business rules) not "how" (procedural code).
|
|
213
|
+
|
|
214
|
+
See `test/api_logic_server_behave/` for examples and [published report](https://apilogicserver.github.io/Docs/Behave-Logic-Report/).
|
|
215
|
+
|
|
216
|
+
**Common Mistakes to Avoid (from testing.md):**
|
|
217
|
+
1. ❌ Wrong filter: `filter="name eq 'Alice'"` → ✅ Use: `filter[name]="Alice"`
|
|
218
|
+
2. ❌ Importing logic/database modules → ✅ Import only: behave, requests, test_utils
|
|
219
|
+
3. ❌ Unsafe constraints: `row.x <= row.y` → ✅ Use: `row.x is None or row.y is None or row.x <= row.y`
|
|
220
|
+
4. ❌ Step execution: `step_impl.execute_step()` → ✅ Use: `context.execute_steps('when Step')`
|
|
221
|
+
5. ❌ Reusing test data → ✅ Create fresh with: `f"{name} {int(time.time()*1000)}"`
|
|
222
|
+
|
|
147
223
|
### Adding MCP
|
|
148
224
|
|
|
149
225
|
The API is automatically MCP-enabled. The project includes a comprehensive MCP client executor at `integration/mcp/mcp_client_executor.py`, but to enable the **user interface** for MCP requests, you must run this command:
|
|
@@ -219,12 +295,16 @@ Customize using CoPilot chat, with `docs/training`.
|
|
|
219
295
|
// AVOID: Trying to use data[id] pattern - this is for older React Admin versions
|
|
220
296
|
```
|
|
221
297
|
|
|
298
|
+
|
|
222
299
|
2. **Component Naming Consistency**: Ensure component names match their usage in JSX - mismatched names cause runtime errors.
|
|
223
300
|
|
|
224
301
|
3. **Simple Error Handling**: Use straightforward loading states rather than complex error checking:
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
302
|
+
```javascript
|
|
303
|
+
if (isLoading) return <div>Loading...</div>;
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
4. 🃏 Card View Action Links (Show, Edit, Delete) **IMPORTANT:** All card views (e.g., Product cards) must include action links or buttons for **Show**, **Edit**, and **Delete** for each record (not just the display fields), matching the functionality of the table/list view.
|
|
307
|
+
|
|
228
308
|
|
|
229
309
|
**Common Mistakes to Avoid**:
|
|
230
310
|
- Using `{ data, ids }` destructuring and trying to map over `ids` - this pattern is outdated
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"name": " - Behave No Security",
|
|
181
181
|
"type": "debugpy",
|
|
182
182
|
"request": "launch",
|
|
183
|
-
"env": {"SECURITY_ENABLED": "False"},
|
|
183
|
+
// now picked up from config: "env": {"SECURITY_ENABLED": "False"},
|
|
184
184
|
"cwd": "${workspaceFolder}/test/api_logic_server_behave",
|
|
185
185
|
"program": "${workspaceFolder}/test/api_logic_server_behave/behave_run.py",
|
|
186
186
|
"redirectOutput": true,
|