ApiLogicServer 15.0.65__py3-none-any.whl → 15.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- api_logic_server_cli/api_logic_server.py +4 -3
- api_logic_server_cli/api_logic_server_info.yaml +3 -3
- api_logic_server_cli/create_from_model/model_creation_services.py +1 -1
- api_logic_server_cli/database/basic_demo.sqlite +0 -0
- api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md +25 -2
- api_logic_server_cli/prototypes/base/readme.md +1 -1
- api_logic_server_cli/prototypes/basic_demo/customizations/database/db.sqlite +0 -0
- api_logic_server_cli/prototypes/basic_demo/iteration/database/db.sqlite +0 -0
- api_logic_server_cli/prototypes/manager/.vscode/launch.json +2 -1
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.devcontainer-option/For_VSCode.dockerfile +10 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.devcontainer-option/devcontainer.json +64 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.devcontainer-option/readme.md +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.devcontainer-option/setup.sh +10 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.env +4 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.github/.copilot-instructions.md +581 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.gitignore +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.idea/runConfigurations/ApiLogicServer.xml +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.idea/runConfigurations/Report_Behave_Logic.xml +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.idea/runConfigurations/Run_Behave.xml +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.idea/runConfigurations/Windows_Run_Behave.xml +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.idea/runConfigurations/run___No_Security.xml +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.idea/runConfigurations/run_docker.xml +59 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.vscode/launch.json +314 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.vscode/settings.json +40 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/.vscode/venv_init.sh +64 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/_config.yml +8 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/_layouts/redirect.html +15 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/auto_discovery.py +27 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/mcp_discovery.py +97 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/mcp_expose_api_models.py +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/new_service.py +21 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/newer_service.py +21 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/ontimize_api.py +495 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/order_b2b_service.py +60 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/api_discovery/system.py +77 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/customize_api.py +63 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/expose_api_models.py +52 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/json_encoder.py +17 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/readme_customize_api.md +103 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/system/api_utils.py +171 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/system/custom_endpoint.py +1085 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/system/expression_parser.py +685 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/system/gen_csv_report.py +41 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/system/gen_pdf_report.py +215 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/system/opt_locking/opt_locking.py +158 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api/system/opt_locking/readme.md +225 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/api_logic_server_run.py +162 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/activate_logicbank.py +46 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/config.py +772 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/default.env +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/logging-reduced.yml +112 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/logging.yml +123 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/mypy.ini +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/config/server_setup.py +459 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/api/api_discovery/openapi.py +92 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/config/default.env +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/database/db.sqlite +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/database/models.py +130 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/docs/mcp_learning/mcp_discovery.json +108 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/logic/cocktail-napkin.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/logic/declare_logic.py +106 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/logic/logic_discovery/email_request.py +49 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/logic/logic_discovery/simple_constraints.py +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/security/declare_security.py +60 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/admin/admin.yaml +162 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/admin/home.js +48 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/README.md +17 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/README_create_react_app.md +70 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/package-lock.json +18469 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/package.json +47 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/public/favicon.ico +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/public/index.html +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/public/logo192.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/public/logo512.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/public/manifest.json +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/public/robots.txt +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/App.css +38 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/App.js +61 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/App.test.js +8 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/Config-reference.js +527 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/Config.js +527 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/Customer-reference.js +216 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/Customer.js +230 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/Item.js +170 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/Order.js +207 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/Product.js +140 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/SysEmail.js +157 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/SysMcp.js +110 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/app_loader.js +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/index.css +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/index.js +17 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/logo.svg +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/.eslintrc +5 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/.yarnrc.yml +4 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.js +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/default-settings.ts +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/errors.js +116 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/errors.ts +116 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/index.test.tsx +7 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/index.tsx +11 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.js +577 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/ra-jsonapi-client.ts +577 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.js +124 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.ts +124 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/styles.module.css +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/reportWebVitals.js +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/customizations/ui/reference_react_app/src/setupTests.js +5 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/alembic/alembic_run.py +98 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/alembic/env.py +78 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/alembic/readme_alembic.md +36 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/alembic/script.py.mako +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/alembic/versions/ae6a5c2fdc47_autogenerated.py +34 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/alembic/versions/readme.md +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/alembic.ini +103 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/authentication_db.sqlite +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/bind_dbs.py +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/customize_models.py +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/database_discovery/authentication_models.py +183 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/database_discovery/auto_discovery.py +27 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/db.sqlite +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/db_debug/db_debug.py +90 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/mcp_db.sqlite +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/mcp_models.py +58 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/models.py +132 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/system/SAFRSBaseX.py +139 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/test_data/alp_init.py +40 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/test_data/readme.md +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/test_data/response2code.py +148 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/database/test_data/test_data_preamble.py +83 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/auth-db/authdb_mysql.Dockerfile +65 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/auth-db/authdb_mysql.sql +112 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/auth-db/authdb_postgres.sql +57 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-compose-dev-azure/azure-deploy.sh +98 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-compose-dev-local/docker-compose-dev-local.yml +38 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-compose-dev-local/docker-compose.sh +34 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-image/build_image.dockerfile +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-image/build_image.sh +67 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-image/env.list +35 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-image/run_image.sh +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-standard-image/docker-compose-standard-image.yml +33 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/docker-standard-image/env.list +55 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/data/h2/keycloakdb.mv.db +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/data/h2/keycloakdb.trace.db +236 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/data/import/kcals-realm.json +1807 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/data/import/kcals-users-0.json +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/data/import/master-realm.json +1953 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/data/import/master-users-0.json +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/data/tmp/kc-gzip-cache/nnbna/js/keycloak.js.gz +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/docker-compose-dev-network.yml +31 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/docker-compose-nginx.yml +48 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/docker-compose.yml +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/import/kcals-realm.json +1898 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/import/kcals-users-0.json +319 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/import/master-realm.json +1953 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/import/master-users-0.json +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/nginx/cert.pem +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/nginx/key.pem +28 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/nginx/nginx.conf +73 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/startup_log_nginx.txt +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/startup_log_no_nginx.txt +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/unused/auth_provider.py +80 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/keycloak/unused/unused-docker-compose-keycloak.sh +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/python-anywhere/python_anywhere_wsgi.py +116 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/devops/readme-devops.md +31 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/db.dbml +14 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/graphics/readme.md +12 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/logic/readme.md +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/logic_suggestions/readme_logic_suggestions.md +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/mcp_learning/mcp.prompt +39 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/mcp_learning/mcp_schema.json +30 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/models-not-code.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/runtime engines.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/system-creation-vibe.md +158 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/training/admin_app_1_context.prompt.md +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/training/admin_app_2_functionality.prompt.md +69 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/training/admin_app_3_architecture.prompt.md +29 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/training/logic_bank_api.prompt +342 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/training/logic_example.py +41 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/training/react_map.prompt.md +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/docs/training/react_tree.prompt.md +10 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/kafka/kafka_consumer.py +60 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/kafka/kafka_producer.py +127 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/kafka/kafka_readme.md +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/examples/mcp_context_results.txt +142 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/examples/mcp_discovery_response.json +150 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/examples/mcp_request.prompt +46 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/examples/mcp_schema.txt +47 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/examples/mcp_tool_context_response.json +34 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/examples/mcp_tool_context_response_get.json +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/mcp_client_executor.py +545 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/mcp_server_discovery.json +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/mcp/readme-mcp.md +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/n8n/N8N_WebHook_from_ApiLogicServer.json +394 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/n8n/n8n_producer.py +172 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/n8n/n8n_readme.md +67 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/row_dict_maps/OrderB2BMapper.py +54 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/row_dict_maps/row_dict_maps_readme.md +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/system/FlaskKafka.py +105 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/integration/system/RowDictMapper.py +416 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/iteration/api/api_discovery/order_b2b.py +92 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/iteration/database/db.sqlite +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/iteration/docs/er_diagram.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/iteration/integration/row_dict_maps/OrderB2B.py +36 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/iteration/integration/row_dict_maps/OrderShipping.py +30 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/iteration/logic/declare_logic.py +147 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/iteration/ui/admin/admin.yaml +175 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/declarative-vs-procedural-comparison.html +110 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/declare_logic.py +81 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/load_verify_rules.py +217 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/logic_discovery/app_integration.py +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/logic_discovery/auto_discovery.py +52 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/logic_discovery/check_credit.py +44 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/logic_discovery/mcp_client_executor_request.py +50 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/logic_discovery/readme_logic_discovery.md +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/logic_discovery/use_case.py +31 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/procedural/credit_service.py +204 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/procedural/declarative-vs-procedural-comparison.md +295 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/procedural/declarative-vs-procedural-comparison.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/logic/readme_logic.md +249 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/readme.md +495 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/readme_project.md +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/readme_standard.md +492 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/readme_vibe.md +353 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/requirements.txt +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/run.ps1 +30 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/run.sh +55 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/authentication_provider/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/authentication_provider/abstract_authentication_provider.py +34 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/authentication_provider/keycloak/auth_provider.py +238 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/authentication_provider/memory/auth_provider.py +161 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/authentication_provider/memory/auth_provider_no_swagger.py +98 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/authentication_provider/sql/auth_provider.py +127 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/declare_security.py +49 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/readme_security.md +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/system/authentication.py +129 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/system/authorization.py +473 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/security/system/custom_swagger.json +62 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/behave_logic_report.py +256 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/behave_run.py +64 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/features/about.feature +12 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/features/steps/about.py +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/features/steps/test_utils.py +133 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/logs/behave.log +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/reports/Behave Logic Report Intro micro.md +4 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/reports/Behave Logic Report Intro.md +75 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/api_logic_server_behave/reports/Behave Logic Report Sample.md +1180 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/basic/server_test.py +33 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/test/readme_test.md +395 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/__init__.py +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/admin/admin.yaml +173 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/admin/admin_loader.py +217 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/admin/authentication_admin.yaml +99 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/admin/home.js +48 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/admin/mcp_admin.yaml +53 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/.browserslistrc +12 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/.dockerignore +47 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/.editorconfig +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/.eslintrc.json +51 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/.gitignore +47 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/README.md +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/angular.json +206 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/app_model.yaml +303 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/docker-compose-ontimize.yml +54 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/e2e/protractor.conf.js +32 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/e2e/src/app.e2e-spec.ts +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/e2e/src/app.po.ts +11 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/e2e/tsconfig.json +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/karma.conf.js +32 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/nginx/nginx.conf +29 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/ngsw-config.json +29 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/package-lock.json +22651 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/package.json +69 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/app-routing.module.ts +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/app.component.html +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/app.component.scss +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/app.component.spec.ts +35 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/app.component.ts +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/app.config.ts +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/app.module.ts +37 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/login/login-routing.module.ts +12 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/login/login.component.html +58 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/login/login.component.scss +155 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/login/login.component.ts +81 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/login/login.module.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/login/login.theme.scss +51 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/Customer-routing.module.ts +37 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/Customer.module.ts +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/detail/Customer-detail.component.html +90 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/detail/Customer-detail.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/detail/Customer-detail.component.ts +32 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/home/Customer-home.component.html +44 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/home/Customer-home.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/home/Customer-home.component.ts +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/new/Customer-new.component.html +26 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/new/Customer-new.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Customer/new/Customer-new.component.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/Item-routing.module.ts +30 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/Item.module.ts +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/detail/Item-detail.component.html +72 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/detail/Item-detail.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/detail/Item-detail.component.ts +32 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/home/Item-home.component.html +55 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/home/Item-home.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/home/Item-home.component.ts +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/new/Item-new.component.html +60 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/new/Item-new.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Item/new/Item-new.component.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/Order-routing.module.ts +37 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/Order.module.ts +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/detail/Order-detail.component.html +114 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/detail/Order-detail.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/detail/Order-detail.component.ts +32 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/home/Order-home.component.html +48 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/home/Order-home.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/home/Order-home.component.ts +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/new/Order-new.component.html +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/new/Order-new.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Order/new/Order-new.component.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/Product-routing.module.ts +37 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/Product.module.ts +19 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/detail/Product-detail.component.html +91 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/detail/Product-detail.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/detail/Product-detail.component.ts +32 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/home/Product-home.component.html +35 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/home/Product-home.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/home/Product-home.component.ts +23 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/new/Product-new.component.html +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/new/Product-new.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/Product/new/Product-new.component.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/about/about-routing.module.ts +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/about/about.component.html +39 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/about/about.component.scss +35 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/about/about.component.ts +17 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/about/about.module.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/about/about.theme.scss +14 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/home/home-routing.module.ts +17 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/home/home.component.html +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/home/home.component.scss +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/home/home.component.ts +21 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/home/home.module.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/main-routing.module.ts +32 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/main-theme.scss +56 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/main.component.html +8 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/main.component.scss +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/main.component.ts +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/main.module.ts +22 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/settings/settings-routing.module.ts +14 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/settings/settings.component.html +14 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/settings/settings.component.scss +44 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/settings/settings.component.ts +46 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/main/settings/settings.module.ts +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Customer-card/Customer-card.component.html +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Customer-card/Customer-card.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Customer-card/Customer-card.component.ts +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Item-card/Item-card.component.html +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Item-card/Item-card.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Item-card/Item-card.component.ts +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Order-card/Order-card.component.html +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Order-card/Order-card.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Order-card/Order-card.component.ts +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Product-card/Product-card.component.html +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Product-card/Product-card.component.scss +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/Product-card/Product-card.component.ts +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/app.menu.config.ts +45 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/app.services.config.ts +5 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/constant.ts +4 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/app/shared/shared.module.ts +15 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/.gitkeep +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/css/app.scss +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/css/loader.css +173 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/i18n/en.json +44 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/i18n/es.json +42 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize128.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize16.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize256.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize32.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize48.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize64.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize72.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/icons/ontimize96.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/github.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/login_bg.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/no-image-transparent.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/no-image.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/ontimize.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/ontimize_web_log.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/sidenav-closed.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/sidenav-closed.svg +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/sidenav-opened.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/sidenav-opened.svg +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/images/user_profile.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/js/domchange.js +110 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/assets/js/keyboard.js +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/environments/environment.prod.ts +11 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/environments/environment.ts +15 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/favicon.ico +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/index.html +30 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/main.ts +15 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/manifest.webmanifest +59 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/polyfills.ts +66 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/styles.scss +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/src/test.ts +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/tsconfig.app.json +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/tsconfig.json +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/app/tsconfig.spec.json +18 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/andrew.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/anne.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/janet.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/laura.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/margaret.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/michael.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/nancy.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/robert.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Employee/steven.jpg +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/beverages.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/cereals.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/condiments.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/confections.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/diary.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/meat.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/produce.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/images/Product/seafood.gif +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/README.md +16 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/README_create_react_app.md +70 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/package-lock.json +18469 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/package.json +47 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/public/favicon.ico +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/public/index.html +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/public/logo192.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/public/logo512.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/public/manifest.json +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/public/robots.txt +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/App.css +38 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/App.js +80 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/App.test.js +8 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/Config.js +527 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/Customer.js +218 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/Item.js +190 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/Order.js +189 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/Product.js +159 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/app_loader.js +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/index.css +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/index.js +17 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/logo.svg +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/.eslintrc +5 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/.yarnrc.yml +4 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/default-settings.js +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/default-settings.ts +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/errors.js +116 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/errors.ts +116 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/index.test.tsx +7 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/index.tsx +11 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/ra-jsonapi-client.js +577 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/ra-jsonapi-client.ts +577 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/resourceLookup.js +124 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/resourceLookup.ts +124 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/rav4-jsonapi-client/styles.module.css +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/reportWebVitals.js +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app/src/setupTests.js +5 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/README.md +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/README_create_react_app.md +72 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/package-lock.json +18469 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/package.json +47 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/product-cards.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/public/favicon.ico +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/public/index.html +43 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/public/logo192.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/public/logo512.png +0 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/public/manifest.json +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/public/robots.txt +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/App.css +38 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/App.js +80 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/App.test.js +8 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/Config.js +527 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/Customer.js +218 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/Item.js +190 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/Order.js +189 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/Product.js +241 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/app_loader.js +24 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/index.css +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/index.js +17 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/logo.svg +1 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/.eslintrc +5 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/.yarnrc.yml +4 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/default-settings.js +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/default-settings.ts +25 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/errors.js +116 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/errors.ts +116 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/index.test.tsx +7 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/index.tsx +11 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/ra-jsonapi-client.js +577 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/ra-jsonapi-client.ts +577 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/resourceLookup.js +124 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/resourceLookup.ts +124 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/rav4-jsonapi-client/styles.module.css +9 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/reportWebVitals.js +13 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/my-react-app-cards/src/setupTests.js +5 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/templates/bar_chart.jinja +64 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/ui/templates/content.html +3 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/venv_setup/py.py +121 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/venv_setup/readme_venv.md +20 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/venv_setup/requirements-no-cli.txt +33 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/venv_setup/venv-linux.sh +28 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/venv_setup/venv.ps1 +21 -0
- api_logic_server_cli/prototypes/manager/samples/basic_demo/venv_setup/venv.sh +28 -0
- api_logic_server_cli/prototypes/manager/samples/dbs/readme_dbs.md +4 -4
- api_logic_server_cli/prototypes/manager/samples/readme_samples.md +13 -6
- api_logic_server_cli/prototypes/manager/system/Manager_workspace.code-workspace +3 -2
- api_logic_server_cli/sqlacodegen_wrapper/sqlacodegen/sqlacodegen/codegen.py +7 -4
- {apilogicserver-15.0.65.dist-info → apilogicserver-15.1.2.dist-info}/METADATA +1 -1
- {apilogicserver-15.0.65.dist-info → apilogicserver-15.1.2.dist-info}/RECORD +521 -21
- api_logic_server_cli/prototypes/manager/.vscode/.copilot-instructions.md +0 -58
- api_logic_server_cli/prototypes/manager/.vscode/ApiLogicServer.code-workspace +0 -15
- {apilogicserver-15.0.65.dist-info → apilogicserver-15.1.2.dist-info}/WHEEL +0 -0
- {apilogicserver-15.0.65.dist-info → apilogicserver-15.1.2.dist-info}/entry_points.txt +0 -0
- {apilogicserver-15.0.65.dist-info → apilogicserver-15.1.2.dist-info}/licenses/LICENSE +0 -0
- {apilogicserver-15.0.65.dist-info → apilogicserver-15.1.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Vibe MCP / Microservice
|
|
3
|
+
do_process_code_block_titles: True
|
|
4
|
+
version: 0.23 from docsite, for readme 7/11/2025
|
|
5
|
+
---
|
|
6
|
+
<style>
|
|
7
|
+
-typeset h1,
|
|
8
|
+
-content__button {
|
|
9
|
+
display: none;
|
|
10
|
+
}
|
|
11
|
+
</style>
|
|
12
|
+
|
|
13
|
+
# Vibe an MCP Microservice
|
|
14
|
+
|
|
15
|
+
This illustrates [GenAI-Logic](https://apilogicserver.github.io/Docs/Sample-Basic-Demo-Vibe) automation to create an MCP system using **Vibe:**
|
|
16
|
+
> **1) Natural Language**, **2) Declarative** (*what not now*), **3) Trusted error correction** with the coding assistant
|
|
17
|
+
|
|
18
|
+
<br>
|
|
19
|
+
|
|
20
|
+
**🤖 Bootstrap Copilot by pasting the following into the chat:**
|
|
21
|
+
``` bash title='🤖 Bootstrap Copilot by pasting the following into the chat'
|
|
22
|
+
Please find and read `.github/.copilot-instructions.md`.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
<br>
|
|
26
|
+
|
|
27
|
+
<details markdown>
|
|
28
|
+
|
|
29
|
+
<summary>Demo Overview: Vibe an MCP API, Custom Client and Business Logic; pre-reqs </summary>
|
|
30
|
+
|
|
31
|
+
<br>Here we will use Vibe to:
|
|
32
|
+
|
|
33
|
+
1. Create a project from an existing database, providing a MCP-enabled API and an Admin App
|
|
34
|
+
2. Create a custom (React) client
|
|
35
|
+
3. Create an MCP Client, and
|
|
36
|
+
4. Add declarative logic and security<br><br>
|
|
37
|
+
|
|
38
|
+
Pre-reqs:
|
|
39
|
+
|
|
40
|
+
1. Install
|
|
41
|
+
2. OpenAI API Key is useful but not required; [click here](WebGenAI-CLI#configuration).
|
|
42
|
+
|
|
43
|
+
* The React App has pre-built apps (`ui/my-react-app`) you can use; they require `npm install; npm start`
|
|
44
|
+
* The `integration/mcp/mcp_client_executor.py` has `create_tool_context_from_llm` set to bypass LLM calls and use saved context; alter as required.
|
|
45
|
+
3. NodeJS to run the react app
|
|
46
|
+
|
|
47
|
+
The entire process takes 20 minutes; usage notes:
|
|
48
|
+
|
|
49
|
+
* Most find it **more convenient** to view this in your Browser; [click here](https://apilogicserver.github.io/Docs/Sample-Basic-Tour)
|
|
50
|
+
* A slide show summary is available [on our Web Site](https://www.genai-logic.com/product/tour)
|
|
51
|
+
* Important: look for **readme files** in created projects
|
|
52
|
+
|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
</details>
|
|
56
|
+
|
|
57
|
+
<br>
|
|
58
|
+
|
|
59
|
+
## 1. Create From Existing DB
|
|
60
|
+
|
|
61
|
+
**Create a project from an existing database (open the disclure box for details):**
|
|
62
|
+
```bash title="Create a project from an existing database (open the disclure box for details)"
|
|
63
|
+
Create a database project from samples/dbs/basic_demo.sqlite
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
<details markdown>
|
|
67
|
+
|
|
68
|
+
<summary> The database is Customer, Orders, Items and Product; you can also create the dataase</summary>
|
|
69
|
+
|
|
70
|
+

|
|
71
|
+
|
|
72
|
+
**Or, create a *new* database** with this prompt:
|
|
73
|
+
```bash
|
|
74
|
+
Create a system with customers, orders, items and products.
|
|
75
|
+
|
|
76
|
+
Include a notes field for orders.
|
|
77
|
+
|
|
78
|
+
Use case: Check Credit
|
|
79
|
+
1. The Customer's balance is less than the credit limit
|
|
80
|
+
2. The Customer's balance is the sum of the Order amount_total where date_shipped is null
|
|
81
|
+
3. The Order's amount_total is the sum of the Item amount
|
|
82
|
+
4. The Item amount is the quantity * unit_price
|
|
83
|
+
5. The Item unit_price is copied from the Product unit_price
|
|
84
|
+
|
|
85
|
+
Use case: App Integration
|
|
86
|
+
1. Send the Order to Kafka topic 'order_shipping' if the date_shipped is not None.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
<br>
|
|
90
|
+
|
|
91
|
+
In either case, the database model is customer, orders and items:
|
|
92
|
+
|
|
93
|
+

|
|
94
|
+
|
|
95
|
+
</details>
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
### 1a. Project Opens: Run
|
|
100
|
+
|
|
101
|
+
The project should automatically open a new window in VSCode. <br>
|
|
102
|
+
|
|
103
|
+
**🤖 Again, bootstrap Copilot by pasting the following into the chat:**
|
|
104
|
+
``` bash title='🤖 Again, bootstrap Copilot by pasting the following into the chat'
|
|
105
|
+
Please find and read `.github/.copilot-instructions.md`.
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Run it as follows:
|
|
109
|
+
|
|
110
|
+
1. **Start the Server:** F5
|
|
111
|
+
2. **Start the Admin App:** browse to [http://localhost:5656/](http://localhost:5656/). The Admin App screen shown below should appear in your Browser.
|
|
112
|
+
3. **Verify as shown below**
|
|
113
|
+
|
|
114
|
+
<details markdown>
|
|
115
|
+
|
|
116
|
+
<summary>API: filtering, sorting, pagination, optimistic locking and related data access - see the Swagger </summary>
|
|
117
|
+
|
|
118
|
+
Your API is MCP enabled, and ready for custom app dev. For more information, [click here](https://apilogicserver.github.io/Docs/API-Self-Serve/).
|
|
119
|
+
|
|
120
|
+

|
|
121
|
+
</details>
|
|
122
|
+
|
|
123
|
+
<br>
|
|
124
|
+
|
|
125
|
+
<details markdown>
|
|
126
|
+
|
|
127
|
+
<summary>Admin App: multi-page, multi-table, automatic joins, lookups, cascade add - collaboration-ready</summary>
|
|
128
|
+
|
|
129
|
+
For more information, [click here](https://apilogicserver.github.io/Docs/Admin-Tour).
|
|
130
|
+
|
|
131
|
+
The Admin App is ready for **[business user agile collaboration](https://apilogicserver.github.io/Docs/Tech-AI/),** and back office data maintenance. This complements custom UIs created with the API.
|
|
132
|
+
|
|
133
|
+
Explore the app - click Customer Alice, and see their Orders, and Items.
|
|
134
|
+
|
|
135
|
+

|
|
136
|
+
</details>
|
|
137
|
+
|
|
138
|
+
<br>
|
|
139
|
+
|
|
140
|
+
## 2. Custom UI: GenAI, Vibe
|
|
141
|
+
|
|
142
|
+
The app above is suitable for collaborative iteration to nail down the requirements, and back office data maintenance. It's also easy to make simple customizations, using the yaml file. For more custom apps, use Vibe:
|
|
143
|
+
|
|
144
|
+
**Create a custom react app - customize in your IDE directly or with Vibe:**
|
|
145
|
+
```bash title="Create a custom react app - customize in your IDE directly or with Vibe"
|
|
146
|
+
Create a new react app using genai-add-app,
|
|
147
|
+
wait for it to complete,
|
|
148
|
+
then update the Product list to provide users an option to see results in a list or in cards.
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
<details markdown>
|
|
153
|
+
|
|
154
|
+
<summary>Vibe Automation provides a running start (and can make errors)</summary>
|
|
155
|
+
|
|
156
|
+
* Instead of creating data mockups, you have a **running API server with real data**
|
|
157
|
+
* Instead of starting from scratch, you have a **running multi-page app**
|
|
158
|
+
* And, you'll have projects that are **architecturally correct:** shared logic, enforced in the server, available for both User Interfaces and services.
|
|
159
|
+
* Then, use you favorite Vibe tools with your running API:
|
|
160
|
+
|
|
161
|
+
> Note: AI makes errors. Part of Vibe is to accept that, and insist that AI find and fix them. CoPilot is generally exceptionally good at this.
|
|
162
|
+
|
|
163
|
+
</details>
|
|
164
|
+
|
|
165
|
+
<br>
|
|
166
|
+
|
|
167
|
+
> Below is an example from Northwind: [click here](https://apilogicserver.github.io/Docs/Admin-Vibe-Sample)
|
|
168
|
+
|
|
169
|
+

|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
<br>
|
|
173
|
+
|
|
174
|
+
## 3. Declare Business Logic
|
|
175
|
+
|
|
176
|
+
Logic (multi-table derivations and constraints) is a significant portion of a system, typically nearly half. GenAI-Logic provides **spreadsheet-like rules** that dramatically simplify and accelerate logic development.
|
|
177
|
+
|
|
178
|
+
Rules are declared in Python, simplified with IDE code completion. The screen below shows the 5 rules for **Check Credit Logic.**
|
|
179
|
+
|
|
180
|
+
**1. Stop the Server** (Red Stop button, or Shift-F5 -- see Appendix)
|
|
181
|
+
|
|
182
|
+
**2. Add Business Logic**
|
|
183
|
+
|
|
184
|
+
**Check Credit Logic (instead of 220 lines of code):**
|
|
185
|
+
```bash title="Check Credit Logic (instead of 220 lines of code)"
|
|
186
|
+
Use case: Check Credit
|
|
187
|
+
1. The Customer's balance is less than the credit limit
|
|
188
|
+
2. The Customer's balance is the sum of the Order amount_total where date_shipped is null
|
|
189
|
+
3. The Order's amount_total is the sum of the Item amount
|
|
190
|
+
4. The Item amount is the quantity * unit_price
|
|
191
|
+
5. The Item unit_price is copied from the Product unit_price
|
|
192
|
+
|
|
193
|
+
Use case: App Integration
|
|
194
|
+
1. Send the Order to Kafka topic 'order_shipping' if the date_shipped is not None.
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+

|
|
198
|
+
|
|
199
|
+
To test the logic:
|
|
200
|
+
|
|
201
|
+
**1. Use the Admin App to access the first order for `Customer Alice`**
|
|
202
|
+
|
|
203
|
+
**2. Edit its first item to a very high quantity**
|
|
204
|
+
|
|
205
|
+
The update is properly rejected because it exceeds the credit limit. Observe the rules firing in the console log - see Logic In Action, below.
|
|
206
|
+
|
|
207
|
+
<br>
|
|
208
|
+
|
|
209
|
+
<details markdown>
|
|
210
|
+
|
|
211
|
+
<summary>Logic is critical - half the effort; Declarative is 40X More Concise, Maintainable </summary>
|
|
212
|
+
|
|
213
|
+
<br>Logic is critical to your system - it represents nearly *half the effort.* Instead of procedural code, [***declare logic***](Logic#declaring-rules) with WebGenAI, or in your IDE using code completion or Natural Language as shown above.
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
**a. 40X More Concise**
|
|
217
|
+
|
|
218
|
+
The 5 spreadsheet-like rules represent the same logic as 200 lines of code, [shown here](https://apilogicserver.github.io/Docs/Logic-Why). That's a remarkable 40X decrease in the backend half of the system.
|
|
219
|
+
|
|
220
|
+
> 💡 No FrankenCode<br>Note the rules look like syntactically correct requirements. They are not turned into piles of unmanageable "frankencode" - see [models not frankencode](https://www.genai-logic.com/faqs#h.3fe4qv21qtbs).
|
|
221
|
+
|
|
222
|
+
**b. Maintainable: Debugging, Logging**
|
|
223
|
+
|
|
224
|
+
The screenshot below shows our logic declarations, and the logging for inserting an `Item`. Each line represents a rule firing, and shows the complete state of the row.
|
|
225
|
+
|
|
226
|
+
Note that it's a `Multi-Table Transaction`, as indicated by the indentation. This is because - like a spreadsheet - **rules automatically chain, *including across tables.***
|
|
227
|
+
|
|
228
|
+

|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
</details>
|
|
232
|
+
|
|
233
|
+
<br>
|
|
234
|
+
|
|
235
|
+
## 4. Enterprise Connectivity - B2B
|
|
236
|
+
|
|
237
|
+
To fit our system into the Value Chain,
|
|
238
|
+
we need a custom API to accept orders from B2B partners, and forward paid orders to shipping via Kafka.
|
|
239
|
+
|
|
240
|
+
**Create the Custom B2B API Endpoint:**
|
|
241
|
+
``` bash title="Create the Custom B2B API Endpoint"
|
|
242
|
+
Create a B2B order API called 'OrderB2B' that accepts orders from external partners.
|
|
243
|
+
|
|
244
|
+
The external format should map:
|
|
245
|
+
- 'Account' field to find customers by name
|
|
246
|
+
- 'Notes' field to order notes
|
|
247
|
+
- 'Items' array where each item maps 'Name' to find products and 'QuantityOrdered' to item quantity
|
|
248
|
+
|
|
249
|
+
The API should create complete orders with automatic lookups and inherit all business logic rules.
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
The Kafka logic was created earlier, so we are ready to test.
|
|
253
|
+
|
|
254
|
+
You can use Swagger (note the test data is provided), or use CLI:
|
|
255
|
+
|
|
256
|
+
**Test the B2B Endpoint:**
|
|
257
|
+
``` bash title="Test the B2B Endpoint"
|
|
258
|
+
curl -X POST http://localhost:5656/api/OrderB2BEndPoint/OrderB2B -H "Content-Type: application/json" -d '{"meta":{"args":{"data":{"Account":"Alice","Notes":"RUSH order for Q4 promotion","date_shipped":"2025-08-04","Items":[{"Name":"Widget","QuantityOrdered":5},{"Name":"Gadget","QuantityOrdered":3}]}}}}'
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
Observe the logic execution in the VSCode debug window.
|
|
262
|
+
|
|
263
|
+
<br>
|
|
264
|
+
|
|
265
|
+
## 5. MCP: Logic, User Interface
|
|
266
|
+
|
|
267
|
+
The server is automatically mcp-enabled, but we also require a user-interface to enable business users to send email, subject to business logic for customer email opt-outs. Build it as follows:<br><br>
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
**1. Stop the Server:** click the red stop icon 🟥 or press <kbd>Shift</kbd>+<kbd>F5</kbd>.
|
|
271
|
+
|
|
272
|
+
**2. Create the SysEmail Table to Track Sent Emails**
|
|
273
|
+
|
|
274
|
+
**Add a Table to Track Sent Emails:**
|
|
275
|
+
``` bash title="Add a Table to Track Sent Emails"
|
|
276
|
+
Create a table SysEmail in `database/db.sqlite` as a child of customer,
|
|
277
|
+
with columns id, message, subject, customer_id and CreatedOn.
|
|
278
|
+
```
|
|
279
|
+
Follow the suggestions to update the admin app.
|
|
280
|
+
|
|
281
|
+
<br>
|
|
282
|
+
|
|
283
|
+
**3. Create an MCP Client Executor to process MCP Requests:**
|
|
284
|
+
|
|
285
|
+
**Create an MCP Client Executor (dont run yet):**
|
|
286
|
+
``` bash title="Create an MCP Client Executor (don't run yet)"
|
|
287
|
+
genai-logic genai-add-mcp-client
|
|
288
|
+
```
|
|
289
|
+
This enables the user interface for MCP. MCP Clients accept MCP Requests, invoke the LLM to obtain a series of API calls to run, and runs them. For more on MCP, [click here](https://apilogicserver.github.io/Docs/Integration-MCP).
|
|
290
|
+
|
|
291
|
+
<br>
|
|
292
|
+
|
|
293
|
+
**4. Create the email service using a Request Table**
|
|
294
|
+
|
|
295
|
+
**Create the email service using SysEmail as a Request Table:**
|
|
296
|
+
``` bash title="Create the email service using SysEmail as a Request Table"
|
|
297
|
+
Add an after_flush event on SysEmail to produce a log message "email sent",
|
|
298
|
+
unless the customer has opted out.
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Inserts into SysEmail will now send mails (stubbed here with a log message). Request objects are a common rule pattern - for more information, [click here](Integration-MCP#3b-logic-request-pattern).
|
|
302
|
+
|
|
303
|
+
<br>
|
|
304
|
+
|
|
305
|
+
<details markdown>
|
|
306
|
+
|
|
307
|
+
<summary>Creates logic like this </summary>
|
|
308
|
+
|
|
309
|
+
<br>When sending email, we require ***business rules*** to ensure it respects the opt-out policy:
|
|
310
|
+
|
|
311
|
+

|
|
312
|
+
|
|
313
|
+
</details>
|
|
314
|
+
|
|
315
|
+
<br>
|
|
316
|
+
|
|
317
|
+
**5. Restart the Server** - F5
|
|
318
|
+
|
|
319
|
+
<br>
|
|
320
|
+
|
|
321
|
+
**6. Start the Admin App**
|
|
322
|
+
|
|
323
|
+
<br>
|
|
324
|
+
|
|
325
|
+
**7. Click SysMCP >> Create New, and enter:**
|
|
326
|
+
|
|
327
|
+
**Test the MCP using the Admin App:**
|
|
328
|
+
```text title="Test the MCP using the Admin App"
|
|
329
|
+
List the orders date_shipped is null and CreatedOn before 2023-07-14,
|
|
330
|
+
and send a discount email (subject: 'Discount Offer')
|
|
331
|
+
to the customer for each one.
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
<br>
|
|
335
|
+
|
|
336
|
+

|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
<details markdown>
|
|
340
|
+
|
|
341
|
+
<summary>More on MCP; Observe the log </summary>
|
|
342
|
+
|
|
343
|
+
<br>For more on MCP, [click here](https://apilogicserver.github.io/Docs/Integration-MCP).
|
|
344
|
+
|
|
345
|
+

|
|
346
|
+
|
|
347
|
+
</details>
|
|
348
|
+
|
|
349
|
+
<br>
|
|
350
|
+
|
|
351
|
+
## 6. Iterate with Rules and Python
|
|
352
|
+
|
|
353
|
+
This is addressed in the related CLI-based demo - to continue, [click here](Sample-Basic-Demo#5-iterate-with-rules-and-python).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Set-PSDebug -Trace 0 # Use 1 for LOTS of output
|
|
2
|
+
|
|
3
|
+
if ($args[0] -contains "help") {
|
|
4
|
+
Write-Output "`r`nRuns API Logic Project, using venv in:"
|
|
5
|
+
Write-Output " - project folder (no args)"
|
|
6
|
+
Write-Output " - calling folder (arg 1)`r`n"
|
|
7
|
+
exit 0
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
# Write-Output "`r`nRunning at caller path: $PWD, with $($args.Count) args"
|
|
11
|
+
|
|
12
|
+
if ($args.count -gt 0) {
|
|
13
|
+
# Write-Output "Using calling venv"
|
|
14
|
+
.\venv\Scripts\activate
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
# change path to project
|
|
18
|
+
$prevPwd = $PWD; Set-Location -ErrorAction Stop -LiteralPath $PSScriptRoot
|
|
19
|
+
# Write-Output "PWD to project: $PWD"
|
|
20
|
+
|
|
21
|
+
try {
|
|
22
|
+
if ($args.count -eq 0) {
|
|
23
|
+
# Write-Output "Using project venv: $PWD"
|
|
24
|
+
.\venv\Scripts\activate
|
|
25
|
+
}
|
|
26
|
+
python api_logic_server_run.py
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
$prevPwd | Set-Location
|
|
30
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
contains()
|
|
4
|
+
# echo contains check $1 in $2
|
|
5
|
+
case "$1" in
|
|
6
|
+
(*"$2"*) true;;
|
|
7
|
+
(*) false;;
|
|
8
|
+
esac
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
debug() {
|
|
12
|
+
echo "$1"
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
debug "\nAPI Logic Project Runner 1.0 Here ($# arg(s): $1 $2)"
|
|
16
|
+
if [ $# -ge 1 ]
|
|
17
|
+
then
|
|
18
|
+
if contains "help" $1; then
|
|
19
|
+
echo "\nRuns API Logic Project"
|
|
20
|
+
echo " sh run.sh [ calling | $ | help ] [ gunicorn ]"
|
|
21
|
+
echo " arg1: specifies how to find venv; values:"
|
|
22
|
+
echo " no args - use project venv"
|
|
23
|
+
echo " calling - use venv from calling script (for internal tests)"
|
|
24
|
+
echo " $ - use the current venv"
|
|
25
|
+
echo " arg2: use gunicorn (Note: no commas)\n"
|
|
26
|
+
exit 0
|
|
27
|
+
elif [ "$1" == "$" ]; then
|
|
28
|
+
debug ".. Using existing venv -- $VIRTUAL_ENV"
|
|
29
|
+
else
|
|
30
|
+
debug ".. Calling directory - venv from pwd: $PWD"
|
|
31
|
+
cd $PWD
|
|
32
|
+
. venv/bin/activate
|
|
33
|
+
fi
|
|
34
|
+
else
|
|
35
|
+
debug " "
|
|
36
|
+
if [ "${APILOGICSERVER_RUNNING}" = "DOCKER" ]; then
|
|
37
|
+
debug ".. Docker - no venv required"
|
|
38
|
+
else
|
|
39
|
+
debug ".. APILOGICSERVER_RUNNING=${APILOGICSERVER_RUNNING} - not Docker/Codespaces - activate venv"
|
|
40
|
+
. venv/bin/activate
|
|
41
|
+
fi
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
export PYTHONHASHSEED=0
|
|
45
|
+
cd "$(dirname "$0")"
|
|
46
|
+
|
|
47
|
+
if [ $# -eq 2 ]; then
|
|
48
|
+
debug "Running with gunicorn"
|
|
49
|
+
shift
|
|
50
|
+
PORT=${APILOGICPROJECT_PORT:-5656}
|
|
51
|
+
gunicorn --log-level=info -b 0.0.0.0:${PORT} -w2 --reload api_logic_server_run:flask_app $*
|
|
52
|
+
else
|
|
53
|
+
debug "run flask"
|
|
54
|
+
python api_logic_server_run.py
|
|
55
|
+
fi
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
|
|
3
|
+
# **************************************
|
|
4
|
+
# authentication provider abstract class
|
|
5
|
+
# **************************************
|
|
6
|
+
|
|
7
|
+
class Abstract_Authentication_Provider():
|
|
8
|
+
|
|
9
|
+
@staticmethod
|
|
10
|
+
@abstractmethod
|
|
11
|
+
def get_user(id: str, password: str) -> object:
|
|
12
|
+
"""
|
|
13
|
+
Must return a row object with attributes name and role_list
|
|
14
|
+
role_list is a list of row objects with attribute name
|
|
15
|
+
|
|
16
|
+
row object is a DotMap or a SQLAlchemy row
|
|
17
|
+
|
|
18
|
+
print("subclass responsibility")
|
|
19
|
+
return None
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
@staticmethod
|
|
23
|
+
@abstractmethod
|
|
24
|
+
def check_password(user: object, password: str) -> bool:
|
|
25
|
+
"""_summary_
|
|
26
|
+
|
|
27
|
+
Args:
|
|
28
|
+
user (object): DotMap or SQLAlchemy row containing id and maybe password
|
|
29
|
+
|
|
30
|
+
Returns:
|
|
31
|
+
bool: whether password matches
|
|
32
|
+
"""
|
|
33
|
+
return False
|
|
34
|
+
|