ApiLogicServer 15.1.3__py3-none-any.whl → 15.2.3__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.
Files changed (628) hide show
  1. api_logic_server_cli/api_logic_server.py +20 -17
  2. api_logic_server_cli/api_logic_server_info.yaml +3 -3
  3. api_logic_server_cli/cli.py +17 -2
  4. api_logic_server_cli/create_from_model/dbml.py +1 -1
  5. api_logic_server_cli/genai/genai.py +39 -28
  6. api_logic_server_cli/genai/genai_react_app.py +23 -1
  7. api_logic_server_cli/genai/genai_svcs.py +5 -3
  8. api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md +186 -4
  9. api_logic_server_cli/prototypes/base/.vscode/launch.json +1 -1
  10. api_logic_server_cli/prototypes/base/api/system/api_utils.py +7 -3
  11. api_logic_server_cli/prototypes/base/config/config.py +1 -1
  12. api_logic_server_cli/prototypes/base/docs/training/readme_training.md +3 -0
  13. api_logic_server_cli/prototypes/base/docs/training/testing.md +791 -0
  14. api_logic_server_cli/prototypes/base/logic/declare_logic.py +4 -2
  15. api_logic_server_cli/prototypes/base/logic/logic_discovery/use_case.py +2 -0
  16. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/AI-Generated-Tests-from-Rules.md +559 -0
  17. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/behave_logic_report.py +64 -9
  18. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/behave_logic_report.py.bak +285 -0
  19. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/check_step_order.py +120 -0
  20. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/features/steps/test_data_helpers.py +242 -0
  21. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/features/steps/test_utils.py +5 -1
  22. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/reports/Behave Logic Report Intro micro.md +15 -0
  23. api_logic_server_cli/prototypes/base/test/api_logic_server_behave/reports/Behave Logic Report Intro.md +10 -66
  24. api_logic_server_cli/prototypes/base/test/readme_test.md +72 -4
  25. api_logic_server_cli/prototypes/basic_demo/customizations/test/api_logic_server_behave/reports/Behave Logic Report Intro micro.md +35 -0
  26. api_logic_server_cli/prototypes/basic_demo/customizations/test/api_logic_server_behave/reports/Behave Logic Report Intro.md +35 -0
  27. api_logic_server_cli/prototypes/basic_demo/iteration/api/api_discovery/order_b2b.py +22 -18
  28. api_logic_server_cli/prototypes/basic_demo/ui/my-react-app-cards/README.md +3 -1
  29. api_logic_server_cli/prototypes/manager/.github/.copilot-instructions.md +30 -9
  30. api_logic_server_cli/prototypes/manager/.github/sync-to-dev-src.sh +42 -0
  31. api_logic_server_cli/prototypes/manager/.vscode/launch.json +30 -30
  32. api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.github/.copilot-instructions.md +164 -4
  33. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/db.dbml +43 -0
  34. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/readme_training.md +3 -0
  35. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/testing.md +791 -0
  36. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/AI-Generated-Tests-from-Rules.md +554 -0
  37. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/behave_logic_report.py +211 -0
  38. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/behave_logic_report.py.bak +282 -0
  39. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/order_processing.feature +72 -0
  40. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/about_steps.py +16 -0
  41. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/order_processing_steps.py +553 -0
  42. api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/features/steps/test_utils.py +5 -1
  43. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/behave.log +79 -0
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Balance_Check.log +2 -0
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Customer_Change.log +20 -0
  68. 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
  69. 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
  70. 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
  71. 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
  72. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Deletion.log +20 -0
  73. 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
  74. 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
  75. 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
  76. 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
  77. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Shipping.log +19 -0
  78. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Unshipping.log +19 -0
  79. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Product_Change.log +26 -0
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Ship_Order.log +18 -0
  96. 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
  97. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/System_Ready.log +3 -0
  98. 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
  99. 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
  100. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Transaction_Processing.log +19 -0
  101. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Unship_Order.log +18 -0
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report.md +303 -0
  110. api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/readme_test.md +72 -4
  111. api_logic_server_cli/prototypes/manager/samples/readme_samples.md +1 -1
  112. api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md +185 -0
  113. api_logic_server_cli/prototypes/manager/system/app_model_editor/test/api_logic_server_behave/behave_logic_report.py +13 -75
  114. api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_docs_logic/test/api_logic_server_behave/behave_logic_report.py +13 -75
  115. api_logic_server_cli/prototypes/manager/system/genai/examples/genai_demo/genai_demo_docs_logic/test/api_logic_server_behave/behave_logic_report.py.bak +256 -0
  116. api_logic_server_cli/prototypes/manager/system/genai/prompt_inserts/sqlite_inserts_model_test_hints_with_relns.prompt +94 -0
  117. api_logic_server_cli/prototypes/nw/test/api_logic_server_behave/reports/Behave Logic Report Intro micro.md +17 -0
  118. api_logic_server_cli/prototypes/nw/test/api_logic_server_behave/reports/Behave Logic Report Intro.md +17 -0
  119. api_logic_server_cli/prototypes/nw/test/readme_test_nw.md +333 -92
  120. apilogicserver-15.2.3.dist-info/METADATA +577 -0
  121. {apilogicserver-15.1.3.dist-info → apilogicserver-15.2.3.dist-info}/RECORD +624 -537
  122. api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/db.dbml +0 -14
  123. api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/features/steps/about.py +0 -20
  124. api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/logs/behave.log +0 -0
  125. apilogicserver-15.1.3.dist-info/METADATA +0 -169
  126. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/For_VSCode.dockerfile +0 -0
  127. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/devcontainer.json +0 -0
  128. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/readme.md +0 -0
  129. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.devcontainer-option/setup.sh +0 -0
  130. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.env +0 -0
  131. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.gitignore +0 -0
  132. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/ApiLogicServer.xml +0 -0
  133. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/Report_Behave_Logic.xml +0 -0
  134. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/Run_Behave.xml +0 -0
  135. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/Windows_Run_Behave.xml +0 -0
  136. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/run___No_Security.xml +0 -0
  137. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.idea/runConfigurations/run_docker.xml +0 -0
  138. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.vscode/launch.json +0 -0
  139. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.vscode/settings.json +0 -0
  140. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/.vscode/venv_init.sh +0 -0
  141. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/_config.yml +0 -0
  142. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/_layouts/redirect.html +0 -0
  143. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/__init__.py +0 -0
  144. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/auto_discovery.py +0 -0
  145. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/mcp_discovery.py +0 -0
  146. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/mcp_expose_api_models.py +0 -0
  147. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/new_service.py +0 -0
  148. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/newer_service.py +0 -0
  149. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/ontimize_api.py +0 -0
  150. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/order_b2b_service.py +0 -0
  151. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/api_discovery/system.py +0 -0
  152. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/customize_api.py +0 -0
  153. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/expose_api_models.py +0 -0
  154. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/json_encoder.py +0 -0
  155. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/readme_customize_api.md +0 -0
  156. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/api_utils.py +0 -0
  157. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/custom_endpoint.py +0 -0
  158. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/expression_parser.py +0 -0
  159. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/gen_csv_report.py +0 -0
  160. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/gen_pdf_report.py +0 -0
  161. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/opt_locking/opt_locking.py +0 -0
  162. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api/system/opt_locking/readme.md +0 -0
  163. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/api_logic_server_run.py +0 -0
  164. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/__init__.py +0 -0
  165. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/activate_logicbank.py +0 -0
  166. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/config.py +0 -0
  167. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/default.env +0 -0
  168. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/logging-reduced.yml +0 -0
  169. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/logging.yml +0 -0
  170. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/mypy.ini +0 -0
  171. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/config/server_setup.py +0 -0
  172. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/api/api_discovery/openapi.py +0 -0
  173. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/config/default.env +0 -0
  174. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/database/db.sqlite +0 -0
  175. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/database/models.py +0 -0
  176. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/docs/mcp_learning/mcp_discovery.json +0 -0
  177. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/cocktail-napkin.jpg +0 -0
  178. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/declare_logic.py +0 -0
  179. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/logic_discovery/email_request.py +0 -0
  180. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/logic/logic_discovery/simple_constraints.py +0 -0
  181. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/security/declare_security.py +0 -0
  182. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/admin/admin.yaml +0 -0
  183. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/admin/home.js +0 -0
  184. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/README.md +0 -0
  185. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/README_create_react_app.md +0 -0
  186. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/package-lock.json +0 -0
  187. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/package.json +0 -0
  188. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/favicon.ico +0 -0
  189. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/index.html +0 -0
  190. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/logo192.png +0 -0
  191. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/logo512.png +0 -0
  192. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/manifest.json +0 -0
  193. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/public/robots.txt +0 -0
  194. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/App.css +0 -0
  195. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/App.js +0 -0
  196. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/App.test.js +0 -0
  197. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Config-reference.js +0 -0
  198. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Config.js +0 -0
  199. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Customer-reference.js +0 -0
  200. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Customer.js +0 -0
  201. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Item.js +0 -0
  202. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Order.js +0 -0
  203. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/Product.js +0 -0
  204. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/SysEmail.js +0 -0
  205. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/SysMcp.js +0 -0
  206. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/app_loader.js +0 -0
  207. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/index.css +0 -0
  208. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/index.js +0 -0
  209. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/logo.svg +0 -0
  210. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/rav4-jsonapi-client/.eslintrc +0 -0
  211. /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
  212. /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
  213. /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
  214. /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
  215. /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
  216. /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
  217. /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
  218. /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
  219. /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
  220. /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
  221. /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
  222. /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
  223. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/reportWebVitals.js +0 -0
  224. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/customizations/ui/reference_react_app/src/setupTests.js +0 -0
  225. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/__init__.py +0 -0
  226. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/alembic_run.py +0 -0
  227. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/env.py +0 -0
  228. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/readme_alembic.md +0 -0
  229. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/script.py.mako +0 -0
  230. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/versions/ae6a5c2fdc47_autogenerated.py +0 -0
  231. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic/versions/readme.md +0 -0
  232. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/alembic.ini +0 -0
  233. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/authentication_db.sqlite +0 -0
  234. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/bind_dbs.py +0 -0
  235. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/customize_models.py +0 -0
  236. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/database_discovery/authentication_models.py +0 -0
  237. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/database_discovery/auto_discovery.py +0 -0
  238. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/db.sqlite +0 -0
  239. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/db_debug/db_debug.py +0 -0
  240. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/mcp_db.sqlite +0 -0
  241. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/mcp_models.py +0 -0
  242. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/models.py +0 -0
  243. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/system/SAFRSBaseX.py +0 -0
  244. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/alp_init.py +0 -0
  245. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/readme.md +0 -0
  246. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/response2code.py +0 -0
  247. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/database/test_data/test_data_preamble.py +0 -0
  248. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/auth-db/authdb_mysql.Dockerfile +0 -0
  249. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/auth-db/authdb_mysql.sql +0 -0
  250. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/auth-db/authdb_postgres.sql +0 -0
  251. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-compose-dev-azure/azure-deploy.sh +0 -0
  252. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-compose-dev-local/docker-compose-dev-local.yml +0 -0
  253. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-compose-dev-local/docker-compose.sh +0 -0
  254. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/build_image.dockerfile +0 -0
  255. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/build_image.sh +0 -0
  256. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/env.list +0 -0
  257. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-image/run_image.sh +0 -0
  258. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-standard-image/docker-compose-standard-image.yml +0 -0
  259. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/docker-standard-image/env.list +0 -0
  260. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/h2/keycloakdb.mv.db +0 -0
  261. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/h2/keycloakdb.trace.db +0 -0
  262. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/kcals-realm.json +0 -0
  263. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/kcals-users-0.json +0 -0
  264. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/master-realm.json +0 -0
  265. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/data/import/master-users-0.json +0 -0
  266. /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
  267. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/docker-compose-dev-network.yml +0 -0
  268. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/docker-compose-nginx.yml +0 -0
  269. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/docker-compose.yml +0 -0
  270. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/kcals-realm.json +0 -0
  271. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/kcals-users-0.json +0 -0
  272. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/master-realm.json +0 -0
  273. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/import/master-users-0.json +0 -0
  274. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/nginx/cert.pem +0 -0
  275. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/nginx/key.pem +0 -0
  276. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/nginx/nginx.conf +0 -0
  277. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/startup_log_nginx.txt +0 -0
  278. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/startup_log_no_nginx.txt +0 -0
  279. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/unused/auth_provider.py +0 -0
  280. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/keycloak/unused/unused-docker-compose-keycloak.sh +0 -0
  281. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/python-anywhere/python_anywhere_wsgi.py +0 -0
  282. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/devops/readme-devops.md +0 -0
  283. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/graphics/readme.md +0 -0
  284. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/logic/readme.md +0 -0
  285. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/logic_suggestions/readme_logic_suggestions.md +0 -0
  286. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/mcp_learning/mcp.prompt +0 -0
  287. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/mcp_learning/mcp_schema.json +0 -0
  288. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/models-not-code.png +0 -0
  289. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/runtime engines.png +0 -0
  290. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/system-creation-vibe.md +0 -0
  291. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/admin_app_1_context.prompt.md +0 -0
  292. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/admin_app_2_functionality.prompt.md +0 -0
  293. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/admin_app_3_architecture.prompt.md +0 -0
  294. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/logic_bank_api.prompt +0 -0
  295. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/logic_example.py +0 -0
  296. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/react_map.prompt.md +0 -0
  297. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/docs/training/react_tree.prompt.md +0 -0
  298. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/kafka/kafka_consumer.py +0 -0
  299. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/kafka/kafka_producer.py +0 -0
  300. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/kafka/kafka_readme.md +0 -0
  301. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_context_results.txt +0 -0
  302. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_discovery_response.json +0 -0
  303. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_request.prompt +0 -0
  304. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_schema.txt +0 -0
  305. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_tool_context_response.json +0 -0
  306. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/examples/mcp_tool_context_response_get.json +0 -0
  307. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/mcp_client_executor.py +0 -0
  308. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/mcp_server_discovery.json +0 -0
  309. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/mcp/readme-mcp.md +0 -0
  310. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/n8n/N8N_WebHook_from_ApiLogicServer.json +0 -0
  311. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/n8n/n8n_producer.py +0 -0
  312. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/n8n/n8n_readme.md +0 -0
  313. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/row_dict_maps/OrderB2BMapper.py +0 -0
  314. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/row_dict_maps/row_dict_maps_readme.md +0 -0
  315. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/system/FlaskKafka.py +0 -0
  316. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/integration/system/RowDictMapper.py +0 -0
  317. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/api/api_discovery/order_b2b.py +0 -0
  318. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/database/db.sqlite +0 -0
  319. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/docs/er_diagram.png +0 -0
  320. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/integration/row_dict_maps/OrderB2B.py +0 -0
  321. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/integration/row_dict_maps/OrderShipping.py +0 -0
  322. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/logic/declare_logic.py +0 -0
  323. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/iteration/ui/admin/admin.yaml +0 -0
  324. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/declarative-vs-procedural-comparison.html +0 -0
  325. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/declare_logic.py +0 -0
  326. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/load_verify_rules.py +0 -0
  327. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/app_integration.py +0 -0
  328. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/auto_discovery.py +0 -0
  329. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/check_credit.py +0 -0
  330. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/mcp_client_executor_request.py +0 -0
  331. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/readme_logic_discovery.md +0 -0
  332. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/logic_discovery/use_case.py +0 -0
  333. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/procedural/credit_service.py +0 -0
  334. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/procedural/declarative-vs-procedural-comparison.md +0 -0
  335. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/procedural/declarative-vs-procedural-comparison.png +0 -0
  336. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/logic/readme_logic.md +0 -0
  337. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme.md +0 -0
  338. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme_project.md +0 -0
  339. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme_standard.md +0 -0
  340. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/readme_vibe.md +0 -0
  341. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/requirements.txt +0 -0
  342. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/run.ps1 +0 -0
  343. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/run.sh +0 -0
  344. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/__init__.py +0 -0
  345. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/__init__.py +0 -0
  346. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/abstract_authentication_provider.py +0 -0
  347. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/keycloak/auth_provider.py +0 -0
  348. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/memory/auth_provider.py +0 -0
  349. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/memory/auth_provider_no_swagger.py +0 -0
  350. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/authentication_provider/sql/auth_provider.py +0 -0
  351. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/declare_security.py +0 -0
  352. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/readme_security.md +0 -0
  353. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/system/authentication.py +0 -0
  354. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/system/authorization.py +0 -0
  355. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/security/system/custom_swagger.json +0 -0
  356. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/__init__.py +0 -0
  357. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/__init__.py +0 -0
  358. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/behave_run.py +0 -0
  359. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/api_logic_server_behave/features/about.feature +0 -0
  360. /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
  361. /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
  362. /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
  363. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/test/basic/server_test.py +0 -0
  364. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/__init__.py +0 -0
  365. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/admin.yaml +0 -0
  366. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/admin_loader.py +0 -0
  367. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/authentication_admin.yaml +0 -0
  368. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/home.js +0 -0
  369. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/admin/mcp_admin.yaml +0 -0
  370. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.browserslistrc +0 -0
  371. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.dockerignore +0 -0
  372. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.editorconfig +0 -0
  373. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.eslintrc.json +0 -0
  374. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/.gitignore +0 -0
  375. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/README.md +0 -0
  376. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/angular.json +0 -0
  377. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/app_model.yaml +0 -0
  378. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/docker-compose-ontimize.yml +0 -0
  379. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/protractor.conf.js +0 -0
  380. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/src/app.e2e-spec.ts +0 -0
  381. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/src/app.po.ts +0 -0
  382. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/e2e/tsconfig.json +0 -0
  383. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/karma.conf.js +0 -0
  384. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/nginx/nginx.conf +0 -0
  385. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/ngsw-config.json +0 -0
  386. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/package-lock.json +0 -0
  387. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/package.json +0 -0
  388. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app-routing.module.ts +0 -0
  389. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.html +0 -0
  390. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.scss +0 -0
  391. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.spec.ts +0 -0
  392. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.component.ts +0 -0
  393. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.config.ts +0 -0
  394. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/app.module.ts +0 -0
  395. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login-routing.module.ts +0 -0
  396. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.component.html +0 -0
  397. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.component.scss +0 -0
  398. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.component.ts +0 -0
  399. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.module.ts +0 -0
  400. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/login/login.theme.scss +0 -0
  401. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/Customer-routing.module.ts +0 -0
  402. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Customer/Customer.module.ts +0 -0
  403. /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
  404. /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
  405. /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
  406. /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
  407. /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
  408. /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
  409. /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
  410. /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
  411. /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
  412. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/Item-routing.module.ts +0 -0
  413. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Item/Item.module.ts +0 -0
  414. /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
  415. /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
  416. /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
  417. /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
  418. /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
  419. /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
  420. /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
  421. /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
  422. /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
  423. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/Order-routing.module.ts +0 -0
  424. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Order/Order.module.ts +0 -0
  425. /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
  426. /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
  427. /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
  428. /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
  429. /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
  430. /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
  431. /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
  432. /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
  433. /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
  434. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/Product-routing.module.ts +0 -0
  435. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/Product/Product.module.ts +0 -0
  436. /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
  437. /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
  438. /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
  439. /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
  440. /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
  441. /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
  442. /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
  443. /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
  444. /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
  445. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about-routing.module.ts +0 -0
  446. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.component.html +0 -0
  447. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.component.scss +0 -0
  448. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.component.ts +0 -0
  449. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.module.ts +0 -0
  450. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/about/about.theme.scss +0 -0
  451. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home-routing.module.ts +0 -0
  452. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.component.html +0 -0
  453. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.component.scss +0 -0
  454. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.component.ts +0 -0
  455. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/home/home.module.ts +0 -0
  456. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main-routing.module.ts +0 -0
  457. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main-theme.scss +0 -0
  458. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.component.html +0 -0
  459. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.component.scss +0 -0
  460. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.component.ts +0 -0
  461. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/main.module.ts +0 -0
  462. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings-routing.module.ts +0 -0
  463. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.component.html +0 -0
  464. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.component.scss +0 -0
  465. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.component.ts +0 -0
  466. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/main/settings/settings.module.ts +0 -0
  467. /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
  468. /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
  469. /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
  470. /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
  471. /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
  472. /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
  473. /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
  474. /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
  475. /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
  476. /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
  477. /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
  478. /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
  479. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/app.menu.config.ts +0 -0
  480. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/app.services.config.ts +0 -0
  481. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/constant.ts +0 -0
  482. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/app/shared/shared.module.ts +0 -0
  483. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/.gitkeep +0 -0
  484. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/css/app.scss +0 -0
  485. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/css/loader.css +0 -0
  486. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/i18n/en.json +0 -0
  487. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/i18n/es.json +0 -0
  488. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize128.png +0 -0
  489. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize16.png +0 -0
  490. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize256.png +0 -0
  491. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize32.png +0 -0
  492. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize48.png +0 -0
  493. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize64.png +0 -0
  494. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize72.png +0 -0
  495. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/icons/ontimize96.png +0 -0
  496. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/github.png +0 -0
  497. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/login_bg.png +0 -0
  498. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/no-image-transparent.png +0 -0
  499. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/no-image.png +0 -0
  500. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/ontimize.png +0 -0
  501. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/ontimize_web_log.png +0 -0
  502. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-closed.png +0 -0
  503. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-closed.svg +0 -0
  504. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-opened.png +0 -0
  505. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/sidenav-opened.svg +0 -0
  506. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/images/user_profile.png +0 -0
  507. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/js/domchange.js +0 -0
  508. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/assets/js/keyboard.js +0 -0
  509. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/environments/environment.prod.ts +0 -0
  510. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/environments/environment.ts +0 -0
  511. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/favicon.ico +0 -0
  512. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/index.html +0 -0
  513. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/main.ts +0 -0
  514. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/manifest.webmanifest +0 -0
  515. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/polyfills.ts +0 -0
  516. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/styles.scss +0 -0
  517. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/src/test.ts +0 -0
  518. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/tsconfig.app.json +0 -0
  519. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/tsconfig.json +0 -0
  520. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/app/tsconfig.spec.json +0 -0
  521. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/andrew.jpg +0 -0
  522. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/anne.jpg +0 -0
  523. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/janet.jpg +0 -0
  524. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/laura.jpg +0 -0
  525. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/margaret.jpg +0 -0
  526. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/michael.jpg +0 -0
  527. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/nancy.jpg +0 -0
  528. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/robert.jpg +0 -0
  529. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Employee/steven.jpg +0 -0
  530. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/beverages.gif +0 -0
  531. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/cereals.gif +0 -0
  532. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/condiments.gif +0 -0
  533. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/confections.gif +0 -0
  534. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/diary.gif +0 -0
  535. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/meat.gif +0 -0
  536. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/produce.gif +0 -0
  537. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/images/Product/seafood.gif +0 -0
  538. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/README.md +0 -0
  539. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/README_create_react_app.md +0 -0
  540. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/package-lock.json +0 -0
  541. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/package.json +0 -0
  542. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/favicon.ico +0 -0
  543. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/index.html +0 -0
  544. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/logo192.png +0 -0
  545. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/logo512.png +0 -0
  546. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/manifest.json +0 -0
  547. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/public/robots.txt +0 -0
  548. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/App.css +0 -0
  549. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/App.js +0 -0
  550. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/App.test.js +0 -0
  551. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Config.js +0 -0
  552. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Customer.js +0 -0
  553. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Item.js +0 -0
  554. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Order.js +0 -0
  555. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/Product.js +0 -0
  556. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/app_loader.js +0 -0
  557. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/index.css +0 -0
  558. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/index.js +0 -0
  559. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/logo.svg +0 -0
  560. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/.eslintrc +0 -0
  561. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/.yarnrc.yml +0 -0
  562. /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
  563. /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
  564. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/errors.js +0 -0
  565. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/errors.ts +0 -0
  566. /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
  567. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/index.tsx +0 -0
  568. /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
  569. /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
  570. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/resourceLookup.js +0 -0
  571. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/rav4-jsonapi-client/resourceLookup.ts +0 -0
  572. /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
  573. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/reportWebVitals.js +0 -0
  574. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app/src/setupTests.js +0 -0
  575. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/README.md +0 -0
  576. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/README_create_react_app.md +0 -0
  577. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/package-lock.json +0 -0
  578. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/package.json +0 -0
  579. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/product-cards.png +0 -0
  580. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/favicon.ico +0 -0
  581. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/index.html +0 -0
  582. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/logo192.png +0 -0
  583. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/logo512.png +0 -0
  584. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/manifest.json +0 -0
  585. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/public/robots.txt +0 -0
  586. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/App.css +0 -0
  587. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/App.js +0 -0
  588. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/App.test.js +0 -0
  589. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Config.js +0 -0
  590. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Customer.js +0 -0
  591. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Item.js +0 -0
  592. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Order.js +0 -0
  593. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/Product.js +0 -0
  594. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/app_loader.js +0 -0
  595. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/index.css +0 -0
  596. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/index.js +0 -0
  597. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/logo.svg +0 -0
  598. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/rav4-jsonapi-client/.eslintrc +0 -0
  599. /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
  600. /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
  601. /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
  602. /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
  603. /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
  604. /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
  605. /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
  606. /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
  607. /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
  608. /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
  609. /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
  610. /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
  611. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/reportWebVitals.js +0 -0
  612. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/my-react-app-cards/src/setupTests.js +0 -0
  613. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/templates/bar_chart.jinja +0 -0
  614. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/ui/templates/content.html +0 -0
  615. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/py.py +0 -0
  616. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/readme_venv.md +0 -0
  617. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/requirements-no-cli.txt +0 -0
  618. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/venv-linux.sh +0 -0
  619. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/venv.ps1 +0 -0
  620. /api_logic_server_cli/prototypes/manager/samples/{basic_demo → basic_demo_sample}/venv_setup/venv.sh +0 -0
  621. /api_logic_server_cli/prototypes/manager/system/{install-ApiLogicServer-dev → ApiLogicServer-Internal-Dev}/install-ApiLogicServer-dev.ps1 +0 -0
  622. /api_logic_server_cli/prototypes/manager/system/{install-ApiLogicServer-dev → ApiLogicServer-Internal-Dev}/install-ApiLogicServer-dev.sh +0 -0
  623. /api_logic_server_cli/prototypes/manager/system/{install-ApiLogicServer-dev → ApiLogicServer-Internal-Dev}/readme.md +0 -0
  624. /api_logic_server_cli/prototypes/manager/{samples/basic_demo/test/api_logic_server_behave/behave_logic_report.py → system/app_model_editor/test/api_logic_server_behave/behave_logic_report.py.bak} +0 -0
  625. {apilogicserver-15.1.3.dist-info → apilogicserver-15.2.3.dist-info}/WHEEL +0 -0
  626. {apilogicserver-15.1.3.dist-info → apilogicserver-15.2.3.dist-info}/entry_points.txt +0 -0
  627. {apilogicserver-15.1.3.dist-info → apilogicserver-15.2.3.dist-info}/licenses/LICENSE +0 -0
  628. {apilogicserver-15.1.3.dist-info → apilogicserver-15.2.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,791 @@
1
+ # AI Training: Creating Tests from Rules
2
+
3
+ > **🤖 For AI Assistants Only**
4
+ >
5
+ > This is internal training material for AI assistants (like GitHub Copilot) to generate Behave tests from declarative business rules.
6
+ >
7
+ > **👤 For Users:** See the [public documentation](https://apilogicserver.github.io/Docs/Behave-Creation/) which covers how to run tests, generate reports, and understand the testing framework.
8
+ >
9
+ > This document focuses on Phase 2 testing (using custom business APIs) and the critical patterns AI must follow to generate correct tests.
10
+
11
+ ## CRITICAL: Test Generation Workflow
12
+
13
+ **When user says "create tests from rules", follow this EXACT sequence:**
14
+
15
+ ```
16
+ Step 1a. Read database/models.py → Understand schema (IDs, aggregates, columns)
17
+ Step 1b. Read logic/declare_logic.py → Identify rules to test
18
+ Step 1c. Scan api/api_discovery/*.py → Discover custom APIs (PHASE 2!)
19
+ Step 2. Decide Phase 1 vs Phase 2 → Based on custom API existence
20
+ Step 3. Generate .feature files → Business language scenarios
21
+ Step 4. Implement steps/*.py → Using discovered APIs or CRUD
22
+ Step 4b. VERIFY STEP ORDERING → Multi-item BEFORE single-item (Rule #0.5!)
23
+ Step 5. SUGGEST how to run tests (DO NOT run automatically)
24
+ ```
25
+
26
+ **CRITICAL PRE-TEST CHECKLIST:**
27
+ - [ ] Step 1c completed? (Custom APIs discovered)
28
+ - [ ] **Database values verified?** (Rule #10: Run SQL to check actual prices/flags)
29
+ - [ ] `sqlite3 db.sqlite "SELECT name, unit_price, carbon_neutral FROM product;"`
30
+ - [ ] Don't assume product attributes - verify BEFORE writing expectations!
31
+ - [ ] **Step ordering verified?** (Most specific → Most general)
32
+ - [ ] @when patterns: carbon neutral > multi-item > single-item
33
+ - [ ] @given patterns: multi-item > single-item
34
+ - [ ] Use `grep -n "@when('.*with" steps/*.py` to verify order
35
+ - [ ] Test data uses timestamps? (Rule #0: Repeatability)
36
+ - [ ] Security config read? (SECURITY_ENABLED value)
37
+
38
+ **DO NOT skip Step 1c!** Custom APIs change the entire testing approach.
39
+
40
+ **DO NOT skip Step 4b!** Wrong step ordering causes silent failures with balance=0.
41
+
42
+ **DO NOT run tests automatically!** Instead, suggest this workflow:
43
+
44
+ ```bash
45
+ # 1. Start the server (in separate terminal or background)
46
+ python api_logic_server_run.py
47
+
48
+ # 2. Run the tests (in another terminal)
49
+ python test/api_logic_server_behave/behave_run.py
50
+ ```
51
+
52
+ **Why manual execution?** Tests require a running server. The AI cannot manage multiple terminals or background processes reliably.
53
+
54
+ ## Phase 1 vs Phase 2: The Core Decision
55
+
56
+ ### Phase 1: CRUD-Level Testing
57
+ - Direct API calls (POST, PATCH, DELETE)
58
+ - Granular rule testing (update qty, change FK, delete)
59
+ - Use when: No custom API exists
60
+
61
+ ### Phase 2: Business Transaction Testing
62
+ - Custom business APIs (api/api_discovery/)
63
+ - Complete transactions (Order + Items together)
64
+ - Business-friendly language ("Account" vs "customer_id")
65
+ - Use when: Custom API exists for the business object
66
+
67
+ **Decision Tree:**
68
+ ```
69
+ Custom API exists in api/api_discovery/?
70
+ ├─ YES → Phase 2 for CREATE, Phase 1 for UPDATE/DELETE
71
+ └─ NO → Phase 1 for everything
72
+ ```
73
+
74
+ ## Step 1c: Discover Custom APIs (Phase 2)
75
+
76
+ **CRITICAL:** Check for custom APIs BEFORE generating CRUD tests!
77
+
78
+ **Discovery Process:**
79
+ ```python
80
+ # 1. Scan api/api_discovery/*.py
81
+ # 2. Find classes with @jsonapi_rpc decorator
82
+ # 3. Extract: method name, endpoint, parameters, models created
83
+ # 4. Match to business rules (which rules does it test?)
84
+ ```
85
+
86
+ **CRITICAL - Custom API Calling Convention:**
87
+
88
+ Custom APIs require **BOTH** `"method"` and `"args"` in the `meta` object:
89
+
90
+ ```python
91
+ # ✅ CORRECT - Has both "method" and "args"
92
+ {
93
+ "meta": {
94
+ "method": "OrderB2B", # ← REQUIRED!
95
+ "args": {
96
+ "data": { ... }
97
+ }
98
+ }
99
+ }
100
+
101
+ # ❌ WRONG - Missing "method" field
102
+ {
103
+ "meta": {
104
+ "args": {
105
+ "data": { ... }
106
+ }
107
+ }
108
+ }
109
+ ```
110
+
111
+ Without the `"method"` field, the API call will fail with a 500 error.
112
+
113
+ **Example Discovery - OrderB2B:**
114
+ ```python
115
+ # api/api_discovery/order_b2b_service.py
116
+ class OrderB2BEndPoint(safrs.JABase):
117
+ @jsonapi_rpc(http_methods=["POST"])
118
+ def OrderB2B(self, *args, **kwargs):
119
+ """
120
+ Creates B2B orders from external partner systems.
121
+
122
+ Parameters:
123
+ Account: str - Customer name (not ID!)
124
+ Notes: str
125
+ Items: list - [{Name, QuantityOrdered}]
126
+ """
127
+ ```
128
+
129
+ **Discovery Result:**
130
+ ```python
131
+ {
132
+ "order_b2b_service": {
133
+ "endpoint": "/api/OrderB2BEndPoint/OrderB2B",
134
+ "parameters": {
135
+ "Account": "Customer name",
136
+ "Items": [{"Name": "Product name", "QuantityOrdered": int}]
137
+ },
138
+ "creates": ["Order", "Item"],
139
+ "tests_rules": [
140
+ "Customer.Balance = sum(Order.AmountTotal)",
141
+ "Order.AmountTotal = sum(Item.Amount)",
142
+ "Customer.Balance <= CreditLimit"
143
+ ]
144
+ }
145
+ }
146
+ ```
147
+
148
+ **Using Discovered API:**
149
+ ```python
150
+ # Phase 2: CREATE using custom API
151
+ @when('B2B order placed for "{customer_name}" with items')
152
+ def step_impl(context):
153
+ add_order_uri = 'http://localhost:5656/api/OrderB2BEndPoint/OrderB2B'
154
+ add_order_args = {
155
+ "meta": {"method": "OrderB2B", "args": {"data": {
156
+ "Account": customer_name, # Business language!
157
+ "Items": [{"Name": "Widget", "QuantityOrdered": 5}]
158
+ }}}
159
+ }
160
+ r = requests.post(url=add_order_uri, json=add_order_args)
161
+
162
+ # Phase 1: UPDATE using CRUD (granular testing)
163
+ @when('Item quantity changed to {qty:d}')
164
+ def step_impl(context, qty):
165
+ patch_uri = f'http://localhost:5656/api/Item/{item_id}/'
166
+ patch_data = {"data": {"attributes": {"quantity": qty}}}
167
+ r = requests.patch(url=patch_uri, json=patch_data)
168
+ ```
169
+
170
+ ## The 6 Critical Rules (Read FIRST!)
171
+
172
+ ### Rule #0: TEST REPEATABILITY (MOST CRITICAL!) ⚠️
173
+
174
+ **TESTS MODIFY THE DATABASE. Tests MUST be repeatable and restartable.**
175
+
176
+ ```python
177
+ # ❌ WRONG - Reuses contaminated data
178
+ @given('Customer "Bob" with balance {balance:d}')
179
+ def step_impl(context, name, balance):
180
+ r = requests.get(f'/api/Customer/?filter[name]=Bob')
181
+ if r.json()['data']:
182
+ customer = r.json()['data'][0] # REUSES Bob - balance accumulated!
183
+
184
+ # ✅ CORRECT - Always creates fresh data with timestamp
185
+ @given('Customer "Bob" with balance {balance:d}')
186
+ def step_impl(context, name, balance):
187
+ unique_name = f"Bob {int(time.time() * 1000)}" # ALWAYS unique!
188
+ post_data = {
189
+ "data": {
190
+ "type": "Customer",
191
+ "attributes": {
192
+ "name": unique_name,
193
+ "balance": balance,
194
+ "credit_limit": limit
195
+ }
196
+ }
197
+ }
198
+ r = requests.post(f'/api/Customer/', json=post_data)
199
+ context.customer_id = int(r.json()['data']['id'])
200
+ context.customer_name = unique_name # Save for later use
201
+ ```
202
+
203
+ **Critical Patterns:**
204
+ - **NEVER reuse existing customers/orders** - always create fresh
205
+ - **Use timestamps** in names: `f"Bob {int(time.time() * 1000)}"`
206
+ - **Match exact database names** - "Widget" not "Widgets"
207
+ - **Don't assume clean state** - tests may run after failures
208
+ - **Track name mappings** for multi-customer tests (see Rule #8)
209
+ - **Understand DERIVED vs ADDED aggregates** (see Rule #9)
210
+
211
+ ### Rule #0.5: BEHAVE STEP ORDERING (Pattern Matching!) ⚠️
212
+
213
+ **Behave matches steps by FIRST pattern that fits. More specific patterns MUST come before general ones.**
214
+
215
+ **Example 1: Carbon Neutral Products**
216
+
217
+ ```python
218
+ # ❌ WRONG ORDER - General pattern matches first, specific never runs!
219
+ @when('B2B order placed for "{customer_name}" with {quantity:d} {product_name}')
220
+ def step_impl_general(context, customer_name, quantity, product_name):
221
+ # This matches "carbon neutral Widget" as product_name="carbon neutral Widget"
222
+ # The specific carbon neutral step below NEVER executes!
223
+ ...
224
+
225
+ @when('B2B order placed for "{customer_name}" with {quantity:d} carbon neutral {product_name}')
226
+ def step_impl_carbon_neutral(context, customer_name, quantity, product_name):
227
+ # NEVER REACHED because general pattern above matched first
228
+ ...
229
+
230
+ # ✅ CORRECT ORDER - Specific pattern first!
231
+ @when('B2B order placed for "{customer_name}" with {quantity:d} carbon neutral {product_name}')
232
+ def step_impl_carbon_neutral(context, customer_name, quantity, product_name):
233
+ # This matches first for "carbon neutral Widget"
234
+ # Sets context.item_id correctly
235
+ ...
236
+
237
+ @when('B2B order placed for "{customer_name}" with {quantity:d} {product_name}')
238
+ def step_impl_general(context, customer_name, quantity, product_name):
239
+ # Only matches if "carbon neutral" not present
240
+ ...
241
+ ```
242
+
243
+ **Example 2: Multi-Item Orders (GIVEN pattern)**
244
+
245
+ ```python
246
+ # ❌ WRONG ORDER - Single-item pattern matches "3 Widget and 2 Gadget"
247
+ @given('Order exists for "{customer_name}" with {quantity:d} {product_name}')
248
+ def step_impl_single(context, customer_name, quantity, product_name):
249
+ # This matches FIRST!
250
+ # product_name = "Widget and 2 Gadget" (treats "and 2 Gadget" as part of name)
251
+ # Creates only 1 item, context.item_ids never set properly
252
+ ...
253
+
254
+ @given('Order exists for "{customer_name}" with {qty1:d} {product1} and {qty2:d} {product2}')
255
+ def step_impl_multi(context, customer_name, qty1, product1, qty2, product2):
256
+ # NEVER REACHED! Single-item pattern above matched first
257
+ ...
258
+
259
+ # ✅ CORRECT ORDER - Multi-item pattern first!
260
+ @given('Order exists for "{customer_name}" with {qty1:d} {product1} and {qty2:d} {product2}')
261
+ def step_impl_multi(context, customer_name, qty1, product1, qty2, product2):
262
+ # This matches first for "3 Widget and 2 Gadget"
263
+ # Creates 2 items, sets context.item_ids = [id1, id2]
264
+ ...
265
+
266
+ @given('Order exists for "{customer_name}" with {quantity:d} {product_name}')
267
+ def step_impl_single(context, customer_name, quantity, product_name):
268
+ # Only matches if "and" not present
269
+ ...
270
+ ```
271
+
272
+ **Example 3: Multi-Item Orders (WHEN pattern) - Real Bug Found!**
273
+
274
+ ```python
275
+ # ❌ WRONG ORDER - Causes silent failure with balance=0 instead of expected value
276
+ @when('B2B order placed for "{customer_name}" with {quantity:d} {product_name}')
277
+ def step_impl_single(context, customer_name, quantity, product_name):
278
+ # This matches "3 Widget and 2 Gadget" FIRST!
279
+ # product_name becomes "Widget and 2 Gadget" (entire string)
280
+ # OrderB2B API tries to find product "Widget and 2 Gadget" → fails
281
+ # Returns 200 but no order created → customer balance stays 0
282
+ # Test fails: "expected 570, got 0.0"
283
+ ...
284
+
285
+ @when('B2B order placed for "{customer_name}" with {qty1:d} {product1} and {qty2:d} {product2}')
286
+ def step_impl_multi(context, customer_name, qty1, product1, qty2, product2):
287
+ # NEVER REACHED! Single-item pattern matched first
288
+ ...
289
+
290
+ # ✅ CORRECT ORDER - Multi-item pattern MUST come before single-item
291
+ @when('B2B order placed for "{customer_name}" with {qty1:d} {product1} and {qty2:d} {product2}')
292
+ def step_impl_multi(context, customer_name, qty1, product1, qty2, product2):
293
+ # Now matches "3 Widget and 2 Gadget" correctly
294
+ # Creates order with 2 items, balance = 570
295
+ ...
296
+
297
+ @when('B2B order placed for "{customer_name}" with {quantity:d} {product_name}')
298
+ def step_impl_single(context, customer_name, quantity, product_name):
299
+ # Now only matches single product patterns
300
+ ...
301
+ ```
302
+
303
+ **CRITICAL FILE ORGANIZATION:**
304
+ Within each decorator type (@given, @when, @then), organize patterns like this:
305
+
306
+ ```python
307
+ # For @when patterns:
308
+ @when('... with {qty:d} carbon neutral {product}') # Most specific (3+ keywords)
309
+ @when('... with {qty1:d} {p1} and {qty2:d} {p2}') # More specific (multi-param + "and")
310
+ @when('... with {quantity:d} {product_name}') # General (fewest keywords)
311
+
312
+ # For @given patterns:
313
+ @given('... with {qty1:d} {p1} and {qty2:d} {p2}') # More specific (multi-param + "and")
314
+ @given('... with {quantity:d} {product_name}') # General (fewer params)
315
+ ```
316
+
317
+ **Why This Matters:**
318
+ - Wrong order → context.item_id not set → "Then Item amount" step fails with "item_id not set in context"
319
+ - Behave doesn't warn about unreachable patterns
320
+ - **ALWAYS order from most specific to most general**
321
+
322
+ **Specificity Rules:**
323
+ - More literal text = more specific ("and", "carbon neutral")
324
+ - More parameters = more specific
325
+ - Tighter type constraints = more specific
326
+
327
+ **Anti-Pattern Alert:**
328
+ Using `context.execute_steps()` to reuse step logic can cause context propagation issues. Instead, duplicate the implementation for specific patterns (DRY doesn't apply to Behave steps with context dependencies).
329
+
330
+ **Debugging Tip:**
331
+ If a step seems to execute but context variables aren't set, check if a MORE GENERAL pattern exists ABOVE it in the file.
332
+
333
+ ### Rule #1: Read database/models.py First
334
+ ```python
335
+ # Check: ID types (Integer vs String), column names, aggregates
336
+ class Customer(Base):
337
+ id = Column(Integer, primary_key=True) # Integer not String!
338
+ balance = Column(Numeric) # Check logic - is this aggregate?
339
+ ```
340
+
341
+ ### Rule #2: Use Direct FK Format
342
+ ```python
343
+ # ✅ CORRECT
344
+ post_data = {
345
+ "data": {
346
+ "attributes": {"customer_id": int(customer_id)} # Direct FK
347
+ }
348
+ }
349
+
350
+ # ❌ WRONG - causes optimistic locking errors
351
+ post_data = {
352
+ "data": {
353
+ "relationships": {"customer": {"data": {"id": customer_id}}}
354
+ }
355
+ }
356
+ ```
357
+
358
+ ### Rule #3: Mandatory Patterns
359
+ ```python
360
+ # Filter format
361
+ params = {"filter[name]": "Alice"} # NOT: {"filter": "name eq 'Alice'"}
362
+
363
+ # Unique test data
364
+ name = f"Test {int(time.time() * 1000)}" # NOT: "Test Customer"
365
+
366
+ # Convert IDs
367
+ customer_id = int(result['data']['id']) # NOT: result['data']['id']
368
+
369
+ # Imports (only these!)
370
+ from behave import *
371
+ import requests, test_utils, time
372
+ from decimal import Decimal
373
+ # NO imports from logic/, database/, integration/
374
+ ```
375
+
376
+ ### Rule #4: Complete CRUD + WHERE Coverage
377
+ ```gherkin
378
+ Scenario: Good Order (CREATE - POST)
379
+ Scenario: Item Qty Change (UPDATE - PATCH)
380
+ Scenario: Change Customer (UPDATE - FK change, both parents adjust)
381
+ Scenario: Delete Item (DELETE)
382
+ Scenario: Ship Order (WHERE exclude)
383
+ Scenario: Unship Order (WHERE include - test bidirectional!)
384
+ Scenario: Exceed Credit (Constraint FAIL - negative test)
385
+ ```
386
+
387
+ **CRITICAL:** Check `logic/declare_logic.py` for custom Python logic affecting calculations (e.g., discounts, adjustments) before writing constraint test expectations!
388
+
389
+ ### Rule #5: Security Configuration
390
+ ```python
391
+ # Read config/default.env FIRST
392
+ SECURITY_ENABLED = False # or True
393
+
394
+ # Match in test code
395
+ if SECURITY_ENABLED == False:
396
+ headers = {} # Empty
397
+ else:
398
+ headers = test_utils.login()
399
+ ```
400
+
401
+ ### Rule #6: Logic Logging
402
+ ```python
403
+ @when('Good Order Placed')
404
+ def step_impl(context):
405
+ scenario_name = 'Good Order Placed'
406
+ test_utils.prt(f'\n{scenario_name}\n', scenario_name) # 2nd arg critical!
407
+ ```
408
+
409
+ ### Rule #7: Custom API Response Handling ⚠️ NEW
410
+ ```python
411
+ # Phase 2 APIs may return different formats - handle both!
412
+ r = requests.post(url=api_uri, json=args, headers=get_headers())
413
+ context.order_created = (r.status_code == 200)
414
+
415
+ if context.order_created:
416
+ response_data = r.json()
417
+ # Custom APIs may return direct dict, not JSON:API format
418
+ context.order_id = response_data.get('order_id') # Direct field
419
+ else:
420
+ context.order_id = None # Always set to prevent KeyError
421
+
422
+ # When reading back via CRUD API:
423
+ r = requests.get(url=order_uri, headers=get_headers())
424
+ if 'data' in r.json():
425
+ order_data = r.json()['data']['attributes'] # JSON:API format
426
+ else:
427
+ order_data = r.json() # Direct format
428
+ ```
429
+
430
+ ### Rule #8: Customer Name Mapping for Multi-Customer Tests ⚠️ NEW
431
+ ```python
432
+ # When tests involve MULTIPLE customers, track the mapping!
433
+ @given('Customer "{customer_name}" with balance {balance:d}')
434
+ def step_impl(context, customer_name, balance, limit):
435
+ unique_name = f"{customer_name} {int(time.time() * 1000)}"
436
+ # ... create customer ...
437
+
438
+ # Track mapping for later lookups
439
+ if not hasattr(context, 'customer_map'):
440
+ context.customer_map = {}
441
+ context.customer_map[customer_name] = {'id': customer_id, 'unique_name': unique_name}
442
+
443
+ # Then later, when checking specific customer:
444
+ @then('Customer "{customer_name}" balance should be {expected:d}')
445
+ def step_impl(context, customer_name, expected):
446
+ # ✅ CORRECT - Use ID from mapping
447
+ customer_info = context.customer_map[customer_name]
448
+ r = requests.get(f'/api/Customer/{customer_info["id"]}/')
449
+
450
+ # ❌ WRONG - Query by original name (won't find "Bob 1729...")
451
+ r = requests.get(f'/api/Customer/?filter[name]={customer_name}')
452
+ ```
453
+
454
+ ### Rule #9: Understand DERIVED Aggregates ⚠️ NEW
455
+ ```python
456
+ # Customer.balance is DERIVED from orders, not ADDED to!
457
+ Rule.sum(derive=Customer.balance, as_sum_of=Order.amount_total,
458
+ where=lambda row: row.date_shipped is None)
459
+
460
+ # ❌ WRONG expectations:
461
+ # Given Customer "Charlie" with existing balance 220
462
+ # And Order for 180
463
+ # Then balance should be 310 # WRONG! Thinks 220 + 90 (after delete)
464
+
465
+ # ✅ CORRECT expectations:
466
+ # Given Customer "Charlie" with balance 0
467
+ # And Order for 180
468
+ # Then balance should be 90 # After deleting one item
469
+ # The "existing balance 220" is REPLACED by sum of orders (180)!
470
+ ```
471
+
472
+ ### Rule #10: Verify Actual Database Values FIRST ⚠️ NEW
473
+ ```python
474
+ # ALWAYS check actual product prices/flags before writing test expectations!
475
+
476
+ # Check prices AND flags:
477
+ # sqlite3 db.sqlite "SELECT name, unit_price, carbon_neutral FROM product;"
478
+
479
+ # Results:
480
+ # 1|Gadget|150|1 ← carbon_neutral = 1 (TRUE)
481
+ # 2|Widget|90| ← carbon_neutral = NULL (not carbon neutral!)
482
+ # 3|Thingamajig|5075|
483
+ # 4|Doodad|110|
484
+ # 5|Green|109|1 ← carbon_neutral = 1 (TRUE)
485
+
486
+ # ❌ WRONG - Assumed Widget is carbon neutral
487
+ # Scenario: Carbon Neutral Discount
488
+ # When B2B order placed with 10 carbon neutral Widget
489
+ # Then balance should be 810 # Expected 10 * 90 * 0.9 = 810
490
+ # FAILS: Widget is NOT carbon neutral → no discount → balance = 900
491
+
492
+ # ✅ CORRECT - Verified Gadget IS carbon neutral (flag = 1)
493
+ # Scenario: Carbon Neutral Discount
494
+ # When B2B order placed with 10 carbon neutral Gadget
495
+ # Then balance should be 1350 # Correct: 10 * 150 * 0.9 = 1350
496
+
497
+ # CRITICAL: Don't assume product attributes - VERIFY with SQL first!
498
+ ```
499
+
500
+ ### Rule #11: Step Definitions Must Match Feature Files ⚠️ NEW
501
+ ```python
502
+ # Feature file:
503
+ Given Customer "Alice" with balance 0 and credit limit 1000
504
+
505
+ # Step implementation - ALL parameters must be captured:
506
+ @given('Customer "{customer_name}" with balance {balance:d} and credit limit {limit:d}')
507
+ def step_impl(context, customer_name, balance, limit): # ✅ CORRECT
508
+ pass
509
+
510
+ # ❌ WRONG - hard-coded values instead of parameters:
511
+ @given('Customer "{customer_name}" exists with balance 0 and credit limit 1000')
512
+ def step_impl(context, customer_name): # Missing balance and limit parameters!
513
+ balance = 0 # Hard-coded - won't work for different scenarios
514
+ limit = 1000
515
+ ```
516
+
517
+ ### Rule #12: Always Initialize Context Variables ⚠️ NEW
518
+ ```python
519
+ # ✅ CORRECT - prevents KeyError in subsequent steps
520
+ @when('B2B order placed')
521
+ def step_impl(context):
522
+ r = requests.post(url=api_uri, json=args)
523
+ context.order_created = (r.status_code == 200)
524
+
525
+ if context.order_created:
526
+ context.order_id = r.json().get('order_id')
527
+ else:
528
+ context.order_id = None # CRITICAL - prevents "not hasattr" errors
529
+
530
+ # Then steps can safely check:
531
+ @then('Each item calculated correctly')
532
+ def step_impl(context):
533
+ if not hasattr(context, 'order_id') or context.order_id is None:
534
+ assert not context.order_created, "Order should have failed"
535
+ return # Skip gracefully
536
+ ```
537
+
538
+ ## Complete Phase 2 Example
539
+
540
+ ### .feature File
541
+ ```gherkin
542
+ Feature: Order Processing via B2B API
543
+
544
+ # Phase 2: CREATE
545
+ Scenario: Good Order Placed
546
+ When B2B order placed for "Alice" with items:
547
+ | Name | Quantity |
548
+ | Widget | 5 |
549
+ Then Customer balance is 50
550
+ Then Order created successfully
551
+
552
+ # Phase 1: UPDATE (granular)
553
+ Scenario: Alter Item Quantity
554
+ Given Order exists with 1 item (qty 5)
555
+ When Item quantity changed to 10
556
+ Then Item amount is 100
557
+ Then Order amount_total is 100
558
+ ```
559
+
560
+ ### Step Implementation
561
+ ```python
562
+ from behave import *
563
+ import requests, test_utils, time
564
+ from decimal import Decimal
565
+
566
+ BASE_URL = 'http://localhost:5656'
567
+
568
+ @when('B2B order placed for "{customer_name}" with items')
569
+ def step_impl(context):
570
+ """Phase 2: Uses OrderB2B custom API"""
571
+ scenario_name = 'B2B Order Placement'
572
+ test_utils.prt(f'\n{scenario_name}\n', scenario_name)
573
+
574
+ items = [{"Name": row['Name'], "QuantityOrdered": int(row['Quantity'])}
575
+ for row in context.table]
576
+
577
+ add_order_uri = f'{BASE_URL}/api/OrderB2BEndPoint/OrderB2B'
578
+ add_order_args = {
579
+ "meta": {"method": "OrderB2B", "args": {"data": {
580
+ "Account": customer_name,
581
+ "Notes": "Test order",
582
+ "Items": items
583
+ }}}
584
+ }
585
+
586
+ r = requests.post(url=add_order_uri, json=add_order_args,
587
+ headers=test_utils.login())
588
+ context.order_created = (r.status_code == 200)
589
+ if context.order_created:
590
+ response_data = r.json()
591
+ context.order_id = response_data.get('order_id') # Custom API direct response
592
+ else:
593
+ context.order_id = None # Always initialize to prevent KeyError
594
+
595
+ @when('Item quantity changed to {qty:d}')
596
+ def step_impl(context, qty):
597
+ """Phase 1: Uses CRUD for granular testing"""
598
+ scenario_name = 'Item Quantity Update'
599
+ test_utils.prt(f'\n{scenario_name}\n', scenario_name)
600
+
601
+ patch_uri = f'{BASE_URL}/api/Item/{context.item_id}/'
602
+ patch_data = {
603
+ "data": {
604
+ "attributes": {"quantity": qty},
605
+ "type": "Item",
606
+ "id": context.item_id
607
+ }
608
+ }
609
+ r = requests.patch(url=patch_uri, json=patch_data,
610
+ headers=test_utils.login())
611
+
612
+ @then('Customer balance is {expected:d}')
613
+ def step_impl(context, expected):
614
+ customer_uri = f'{BASE_URL}/api/Customer/{context.customer_id}/'
615
+ r = requests.get(url=customer_uri, headers=test_utils.login())
616
+ actual = float(r.json()['data']['attributes']['balance'])
617
+ assert abs(actual - expected) < 0.01
618
+ ```
619
+
620
+ ## Quick Error Reference
621
+
622
+ | Error | Fix |
623
+ |-------|-----|
624
+ | "405 Method Not Allowed" | `SECURITY_ENABLED=False`, remove auth |
625
+ | "invalid literal for int('ALFKI')" | Check models.py - use Integer IDs |
626
+ | "balance: field not writable" | Aggregate - create child Orders, don't set |
627
+ | "Invalid filter format" | Use `filter[name]=value` |
628
+ | "row altered by another user" | Use direct FK: `"customer_id": int(id)` |
629
+ | "circular import" | Remove imports from logic/, database/ |
630
+ | "empty logic log" | Add `test_utils.prt(msg, scenario_name)` |
631
+ | **"balance: expected 570, got 0.0"** | **Step ordering issue (Rule #0.5)! Multi-item pattern after single-item** |
632
+ | **"context has no attribute 'item_id'"** | **Step ordering issue! Specific pattern defined after general pattern** |
633
+ | "Order created but no items" | Check if wrong step matched (print debug in step) |
634
+
635
+ ### Debugging Step Ordering Issues
636
+
637
+ **Symptom**: Test passes WHEN step but THEN assertions fail with unexpected values (often 0 or None).
638
+
639
+ **Diagnosis**:
640
+ 1. **Check which step executed**: Look at test output for line numbers
641
+ ```
642
+ When B2B order placed for "Kevin" with 3 Widget and 2 Gadget # line=261
643
+ ```
644
+ If line 261 is single-item but you expected line 320 (multi-item), wrong pattern matched!
645
+
646
+ 2. **Verify database**: Check if records were actually created
647
+ ```bash
648
+ sqlite3 db.sqlite "SELECT * FROM 'order' WHERE customer_id = X;"
649
+ sqlite3 db.sqlite "SELECT * FROM item WHERE order_id = Y;"
650
+ ```
651
+
652
+ 3. **Check step file organization**: Count literal keywords in each pattern
653
+ ```python
654
+ # line 202: "carbon neutral" = 2 keywords (most specific)
655
+ # line 261: {quantity:d} {product_name} = 0 keywords (general)
656
+ # line 320: {qty1} {p1} "and" {qty2} {p2} = 1 keyword (more specific)
657
+ ```
658
+ Line 320 MUST come BEFORE line 261!
659
+
660
+ **Quick Fix**:
661
+ ```bash
662
+ # Find all @when patterns in your steps file
663
+ grep -n "@when('.*with.*{" features/steps/*.py
664
+
665
+ # Reorder so patterns with MORE keywords/parameters come FIRST
666
+ # Rule: Most specific → Most general (top to bottom)
667
+ ```
668
+
669
+ ## Test Generation Workflow
670
+
671
+ ```
672
+ 1. Read database/models.py → Understand schema (IDs, aggregates)
673
+ 2. Read logic/declare_logic.py → Identify rules to test
674
+ 3. Scan api/api_discovery/*.py → Discover custom APIs
675
+ 4. Decide Phase 1 vs Phase 2 → Based on custom API existence
676
+ 5. Generate .feature files → Business language scenarios
677
+ 6. Implement steps/*.py → Using discovered APIs or CRUD
678
+ 7. Run tests → python behave_run.py
679
+ 8. Generate report → python behave_logic_report.py run
680
+ ```
681
+
682
+ ## Key Testing Patterns
683
+
684
+ **Test ALL scenarios for each rule:**
685
+ - ✅ CREATE (POST) - new entity triggers rules
686
+ - ✅ UPDATE (PATCH) - modify triggers recalc
687
+ - ✅ UPDATE FK - change parent (both old/new adjust)
688
+ - ✅ DELETE - remove entity (aggregates down)
689
+ - ✅ WHERE include - condition becomes true
690
+ - ✅ WHERE exclude - condition becomes false
691
+ - ✅ Constraint pass - valid data accepted
692
+ - ✅ Constraint fail - invalid data rejected
693
+
694
+ **Common missed scenarios:**
695
+ - ❌ Only testing CREATE/UPDATE, not DELETE
696
+ - ❌ Only testing WHERE one direction (ship, not unship)
697
+ - ❌ Only testing constraint pass, not fail
698
+ - ❌ Only testing FK create, not FK change
699
+
700
+ ## Benefits of Phase 2
701
+
702
+ | Phase 2 (Custom API) | Phase 1 (CRUD) |
703
+ |---------------------|----------------|
704
+ | One API call | Multiple CRUD calls |
705
+ | Business language | Technical IDs |
706
+ | Tests API + Rules | Tests Rules only |
707
+ | Realistic scenarios | Implementation details |
708
+ | "Place Order" | "POST Order, POST Items" |
709
+
710
+ **The Magic:** Users built OrderB2B for partners → Same API provides natural test scenarios!
711
+
712
+ ## Automated Step Ordering Verification
713
+
714
+ **Command to verify step ordering in your test files:**
715
+
716
+ ```bash
717
+ # List all @when patterns with line numbers (should be ordered specific→general)
718
+ cd test/api_logic_server_behave
719
+ grep -n "@when('.*with.*{" features/steps/*.py
720
+
721
+ # Expected output (line numbers ascending = correct order):
722
+ # 202: @when('... with {qty:d} carbon neutral {product}') # Most specific
723
+ # 265: @when('... with {qty1:d} {p1} and {qty2:d} {p2}') # More specific
724
+ # 318: @when('... with {quantity:d} {product_name}') # General
725
+
726
+ # If multi-item (line 265) comes AFTER single-item (line 318) = WRONG!
727
+ ```
728
+
729
+ **Python script to auto-check ordering** (add to test directory):
730
+
731
+ ```python
732
+ #!/usr/bin/env python3
733
+ """Verify Behave step ordering for multi-param patterns."""
734
+ import re, sys
735
+ from pathlib import Path
736
+
737
+ def check_step_order(steps_file):
738
+ """Check if multi-item patterns come before single-item patterns."""
739
+ with open(steps_file) as f:
740
+ lines = f.readlines()
741
+
742
+ issues = []
743
+ when_patterns = []
744
+
745
+ for i, line in enumerate(lines, 1):
746
+ if match := re.match(r"@when\('.*with.*\{", line):
747
+ # Count parameters and keywords
748
+ param_count = line.count('{')
749
+ has_and = ' and ' in line
750
+ has_special_keyword = any(k in line for k in ['carbon neutral', 'shipped'])
751
+
752
+ specificity = param_count + (2 if has_and else 0) + (3 if has_special_keyword else 0)
753
+ when_patterns.append((i, specificity, line.strip()))
754
+
755
+ # Check if patterns are in descending specificity order
756
+ for i in range(len(when_patterns) - 1):
757
+ curr_line, curr_spec, curr_text = when_patterns[i]
758
+ next_line, next_spec, next_text = when_patterns[i + 1]
759
+
760
+ if next_spec > curr_spec:
761
+ issues.append(f"❌ Line {next_line} (specificity={next_spec}) should come BEFORE line {curr_line} (specificity={curr_spec})")
762
+ issues.append(f" More specific: {next_text}")
763
+ issues.append(f" Less specific: {curr_text}")
764
+
765
+ return issues
766
+
767
+ if __name__ == '__main__':
768
+ steps_dir = Path('features/steps')
769
+ all_issues = []
770
+
771
+ for steps_file in steps_dir.glob('*_steps.py'):
772
+ issues = check_step_order(steps_file)
773
+ if issues:
774
+ all_issues.extend([f"\n{steps_file}:"] + issues)
775
+
776
+ if all_issues:
777
+ print("Step Ordering Issues Found:")
778
+ print('\n'.join(all_issues))
779
+ sys.exit(1)
780
+ else:
781
+ print("✅ All step patterns correctly ordered (specific → general)")
782
+ sys.exit(0)
783
+ ```
784
+
785
+ **Usage:**
786
+ ```bash
787
+ cd test/api_logic_server_behave
788
+ python check_step_order.py # Run before committing tests
789
+ ```
790
+
791
+ This automation prevents Rule #0.5 violations across ALL databases and projects!