ApiLogicServer 15.0.43__py3-none-any.whl → 15.0.47__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.
@@ -12,10 +12,10 @@ ApiLogicServer CLI: given a database url, create [and run] customizable ApiLogic
12
12
  Called from api_logic_server_cli.py, by instantiating the ProjectRun object.
13
13
  '''
14
14
 
15
- __version__ = "15.00.43" # last public release: 15.00.41 (15.00.12)
15
+ __version__ = "15.00.47" # last public release: 15.00.41 (15.00.12)
16
16
  recent_changes = \
17
17
  f'\n\nRecent Changes:\n' +\
18
- "\t07/11/2024 - 15.00.43: copilot vibe tweaks \n"\
18
+ "\t07/14/2024 - 15.00.47: venv fix, copilot vibe tweaks - creation, mcp logic, basic_demo autonums \n"\
19
19
  "\t07/10/2024 - 15.00.41: copilot vibe support for logic, UI, MCP, bug[98] \n"\
20
20
  "\t06/30/2024 - 15.00.33: Tech Preview: genai-logic genai-add-app --vibe, bug [96, 97] \n"\
21
21
  "\t06/10/2024 - 15.00.12: MCP Security, win fixes for readme, graphics quotes \n"\
@@ -623,11 +623,12 @@ def final_project_fixup(msg, project) -> str:
623
623
 
624
624
  # **********************************
625
625
  # set python.defaultInterpreterPath
626
+ # yuck: https://apilogicserver.github.io/Docs/Architecture-venv-defaulting/
626
627
  # **********************************
627
- do_default_interpreter_path = True # compute startup (only) python / venv location, from creating venv (here)
628
- if do_default_interpreter_path:
628
+ if do_default_interpreter_path := True: # compute startup (only) python / venv location, from creating venv (here)
629
629
  defaultInterpreterPath_str = sys.executable # python location, unless running from blt or dev-src
630
630
  defaultInterpreterPath = Path(defaultInterpreterPath_str)
631
+ venv_path_str = str(project.venv_path) # project.manager_path also there...
631
632
  if 'ApiLogicServer-dev' in str(project.api_logic_server_dir_path): # blt & dev-src are special case
632
633
  if os.name == "nt": # cases: blt, or dev source
633
634
  defaultInterpreterPath = project.api_logic_server_dir_path.parent.parent.parent.parent.joinpath('venv/scripts/python.exe')
@@ -647,9 +648,123 @@ def final_project_fixup(msg, project) -> str:
647
648
  create_utils.replace_string_in_file(search_for = 'ApiLogicServerPython',
648
649
  replace_with=defaultInterpreterPath_str,
649
650
  in_file=vscode_settings_path)
651
+
652
+ # Create venv initialization script for terminal
653
+ venv_init_path = project.project_directory_path.joinpath('.vscode/venv_init.sh')
654
+ venv_activate_script = str(Path(defaultInterpreterPath_str).parent.joinpath('activate'))
655
+
656
+ venv_init_content = f"""#!/bin/bash
657
+ # Virtual Environment Initialization Script
658
+ # This script activates the virtual environment for terminal use
659
+
660
+ # Set DEBUG_VENV_INIT=1 to enable debug output
661
+ DEBUG_VENV_INIT=0
662
+
663
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
664
+ echo "=== VENV INIT DEBUG ==="
665
+ echo "Shell: $0"
666
+ echo "ZSH_VERSION: $ZSH_VERSION"
667
+ echo "BASH_VERSION: $BASH_VERSION"
668
+ echo "Current PS1: $PS1"
669
+ echo "VIRTUAL_ENV before: $VIRTUAL_ENV"
670
+ fi
671
+
672
+ # Source the virtual environment activation script
673
+ if [ -f "{venv_activate_script}" ]; then
674
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
675
+ echo "Found activation script: {venv_activate_script}"
676
+ fi
677
+ source {venv_activate_script}
678
+ echo "Virtual environment activated: $(basename $(dirname $(dirname {venv_activate_script})))"
679
+
680
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
681
+ echo "VIRTUAL_ENV after activation: $VIRTUAL_ENV"
682
+ fi
683
+
684
+ # Don't let virtualenv override the prompt
685
+ export VIRTUAL_ENV_DISABLE_PROMPT=1
686
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
687
+ echo "Set VIRTUAL_ENV_DISABLE_PROMPT=1"
688
+ fi
689
+
690
+ # Override the prompt to ensure (venv) shows
691
+ if [ -n "${{ZSH_VERSION}}" ]; then
692
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
693
+ echo "Setting zsh prompt"
694
+ fi
695
+ export PS1="(venv) %n@%m %1~ %# "
696
+ elif [ -n "${{BASH_VERSION}}" ]; then
697
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
698
+ echo "Setting bash prompt"
699
+ fi
700
+ export PS1="(venv) \\u@\\h \\W \\$ "
701
+ else
702
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
703
+ echo "Unknown shell - trying generic prompt"
704
+ fi
705
+ export PS1="(venv) $ "
706
+ fi
707
+
708
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
709
+ echo "Final PS1: $PS1"
710
+ echo "Final VIRTUAL_ENV: $VIRTUAL_ENV"
711
+ fi
712
+
713
+ else
714
+ echo "Warning: Virtual environment activation script not found at {venv_activate_script}"
715
+ fi
716
+
717
+ if [ "$DEBUG_VENV_INIT" = "1" ]; then
718
+ echo "=== END DEBUG ==="
719
+ fi
720
+ """
721
+
722
+ with open(venv_init_path, 'w') as venv_init_file:
723
+ venv_init_file.write(venv_init_content)
724
+
725
+ # Make the script executable
726
+ import stat
727
+ os.chmod(venv_init_path, stat.S_IRWXU | stat.S_IRGRP | stat.S_IROTH)
728
+
729
+ # Set the site-packages path for Python analysis
730
+ venv_lib_dir = Path(defaultInterpreterPath_str).parent.parent.joinpath('lib')
731
+ site_packages_dirs = list(venv_lib_dir.glob('python*/site-packages'))
732
+ if site_packages_dirs:
733
+ venv_site_packages = str(site_packages_dirs[0])
734
+ else:
735
+ # Fallback for different structures
736
+ venv_site_packages = str(venv_lib_dir.joinpath('site-packages'))
737
+ if os.name == "nt":
738
+ venv_site_packages = get_windows_path_with_slashes(url=venv_site_packages)
739
+ create_utils.replace_string_in_file(search_for = 'ApiLogicServerVenvSitePackages',
740
+ replace_with=venv_site_packages,
741
+ in_file=vscode_settings_path)
742
+
743
+ # Create .env file to help with virtual environment activation
744
+ env_file_path = project.project_directory_path.joinpath('.env')
745
+ venv_dir = str(Path(defaultInterpreterPath_str).parent.parent) # Get the venv directory
746
+
747
+ # Platform-specific .env file content
748
+ if os.name == "nt": # Windows
749
+ env_content = f"""# Virtual Environment Configuration
750
+ VIRTUAL_ENV={venv_dir}
751
+ PYTHONPATH={venv_site_packages}
752
+ """
753
+ else: # Unix/Linux/macOS
754
+ env_content = f"""# Virtual Environment Configuration
755
+ VIRTUAL_ENV={venv_dir}
756
+ PATH={Path(defaultInterpreterPath_str).parent}:$PATH
757
+ PYTHONPATH={venv_site_packages}
758
+ """
759
+ with open(env_file_path, 'w') as env_file:
760
+ env_file.write(env_content)
761
+
650
762
  log.debug(f'.. ..Updated .vscode/settings.json with "python.defaultInterpreterPath": "{defaultInterpreterPath_str}"...')
763
+ log.debug(f'.. ..Created .vscode/venv_init.sh for terminal venv activation...')
764
+ log.debug(f'.. ..Updated .vscode/settings.json with site-packages: "{venv_site_packages}"...')
765
+ log.debug(f'.. ..Created .env file with VIRTUAL_ENV: "{venv_dir}"...')
651
766
  else:
652
- log.debug(f'.. ..Updated .vscode/settings.json NOT SET')
767
+ log.warning(f'.. ..Updated .vscode/settings.json NOT SET')
653
768
  return
654
769
 
655
770
 
@@ -670,7 +785,7 @@ def update_api_logic_server_run(project):
670
785
  """
671
786
  api_logic_server_run_py = f'{project.project_directory}/api_logic_server_run.py'
672
787
  config_py = f'{project.project_directory}/config/config.py'
673
- create_utils.replace_string_in_file(search_for="\"api_logic_server_project_name\"", # fix logic_bank_utils.add_python_path
788
+ create_utils.replace_string_in_file(search_for="api_logic_server_project_name", # fix logic_bank_utils.add_python_path
674
789
  replace_with='"' + os.path.basename(project.project_name) + '"',
675
790
  in_file=api_logic_server_run_py)
676
791
  create_utils.replace_string_in_file(search_for="ApiLogicServer hello",
@@ -1078,6 +1193,9 @@ class ProjectRun(Project):
1078
1193
  """
1079
1194
  log.debug(f'.. .. ..Copying sqlite database to: database/{self.bind_key}_db.sqlite')
1080
1195
  db_loc = self.abs_db_url.replace("sqlite:///", "")
1196
+ if os.name == "nt":
1197
+ if db_loc.startswith("C:\C:"): # windows
1198
+ db_loc = db_loc.replace("C:\C:", "C:") # remove unk junk
1081
1199
  target_db_loc_actual = str(self.project_directory_path.joinpath(f'database/{self.bind_key}_db.sqlite'))
1082
1200
  # target: /Users/val/dev/ApiLogicServer/ApiLogicServer-dev/org_git/servers/NW_NoCust/database/Todo_db.sqlite
1083
1201
  # e.g., /Users/val/dev/ApiLogicServer/ApiLogicServer-dev/servers/NW_NoCust/database
@@ -1,3 +1,3 @@
1
- last_created_date: July 11, 2025 13:03:53
2
- last_created_project_name: samples/nw_sample_nocust
3
- last_created_version: 15.00.42
1
+ last_created_date: July 14, 2025 19:56:50
2
+ last_created_project_name: ApiLogicProject
3
+ last_created_version: 15.00.46
@@ -405,10 +405,10 @@ def does_file_contain(search_for: str, in_file: str) -> bool:
405
405
  return found
406
406
 
407
407
  def replace_string_in_file(search_for: str, replace_with: str, in_file: str):
408
- with open(Path(in_file), 'r') as file:
408
+ with open(Path(in_file), 'r', encoding="utf-8") as file:
409
409
  file_data = file.read()
410
410
  file_data = file_data.replace(search_for, replace_with)
411
- with open(in_file, 'w') as file:
411
+ with open(in_file, 'w', encoding="utf-8") as file:
412
412
  file.write(file_data)
413
413
 
414
414
  def assign_value_to_key_in_file(key: str, value: any, in_file: str):
@@ -81,17 +81,21 @@ but you can also offer to suggest rules.
81
81
 
82
82
  The API is automatically MCP-enabled.
83
83
 
84
- > **Important**: For project `basic_demo` (only), add customizations first, then MCP Client:
84
+ > **Important**: For project `basic_demo` (only), add customizations first, then MCP Client, then fix logic:
85
85
 
86
86
  ```bash
87
87
  # 1. Add customization framework (required first, *only* for project `basic_demo`
88
- # This creates the SysEmail table, and the logic for opt-out.
88
+ # This creates the SysEmail table, and the logic for opt-out.
89
89
  genai-logic add-cust
90
90
 
91
91
  # 2. Then add MCP Client (requires OpenAI key)
92
92
  genai-logic genai-add-mcp-client
93
+
94
+ # 3. Rename the logic file `logic/logic_discovery/use_case.py` to `logic/logic_discovery/use_case.py.duplicate` (it is duplicated by using `genai-logic add-cust`)
95
+ rm
93
96
  ```
94
97
 
98
+
95
99
  **Note**: If you already ran `genai-add-mcp-client`, you should run `add-cust` afterwards to ensure the customization framework is properly set up.
96
100
 
97
101
  ### Configuring Admin UI
@@ -160,6 +164,16 @@ def my_endpoint():
160
164
  return {"message": "Custom endpoint"}
161
165
  ```
162
166
 
167
+ ### Customize Models - Add Attributes
168
+
169
+ Update the model, and use `database/alembic` to update the database (highly impactful - request permission).
170
+
171
+ ### Addressing `Missing Attributes` during logic loading at project startup
172
+
173
+ First, check for misspelling (logic vs `database/models.py`), and repair.
174
+
175
+ If there are no obvious misspellings, ask for permission to add attributes; if granted, proceed as above.
176
+
163
177
  ### Customize Models - Add Derived attributes
164
178
 
165
179
  Here is a sample derived attribute, `proper_salary`:
@@ -15,6 +15,25 @@
15
15
  },
16
16
  "debug.console.wordWrap": false,
17
17
  "python.defaultInterpreterPath": "ApiLogicServerPython",
18
+ "python.terminal.activateEnvironment": true,
19
+ "python.terminal.activateEnvInCurrentTerminal": true,
20
+ "python.envFile": "${workspaceFolder}/.env",
21
+ "python.analysis.autoImportCompletions": true,
22
+ "python.analysis.extraPaths": ["ApiLogicServerVenvSitePackages"],
23
+ "terminal.integrated.profiles.osx": {
24
+ "venv": {
25
+ "path": "/bin/zsh",
26
+ "args": ["-c", "source ${workspaceFolder}/.vscode/venv_init.sh && exec zsh --no-rcs"]
27
+ }
28
+ },
29
+ "terminal.integrated.profiles.linux": {
30
+ "venv": {
31
+ "path": "/bin/bash",
32
+ "args": ["-c", "source ${workspaceFolder}/.vscode/venv_init.sh && exec bash --noprofile --norc"]
33
+ }
34
+ },
35
+ "terminal.integrated.defaultProfile.osx": "venv",
36
+ "terminal.integrated.defaultProfile.linux": "venv",
18
37
  "workbench.editorAssociations": {
19
38
  "*.md": "vscode.markdown.preview.editor"
20
39
  }
@@ -4,44 +4,47 @@
4
4
 
5
5
  The Project Manager contains genai training, and provides a convenient place to create projects.
6
6
 
7
+ > Note: your virtual environment is automatically configured in most cases; see the Appendix (Procedures / Detail Procedures) if that's not working.
8
+
7
9
  ## Quick Start for New Users
8
10
 
9
11
  **ALWAYS start new users with the basic_demo** - it's the best introduction to the system.
10
12
 
11
- > Note: your virtual environment is automatically configured in most cases; see the Appendix (Procedures / Detail Procedures) if that's not working.
13
+ It's a small sqlite database, and provides a readme that explores the project, and how to customize it:
12
14
 
15
+ ```bash
16
+ genai-logic create --project_name=basic_demo --db_url=basic_demo
17
+ ```
13
18
  <br>
14
19
 
15
20
  ## Creating Projects
16
21
 
17
- There are multiple ways to create projects - see the subsections below.
22
+ There are multiple ways to create projects (aka systems, microservices) - see the subsections below.
18
23
 
19
24
  ### Create Projects from an existing database
20
25
 
21
- sqlite sample databases at `samples/dbs`.
26
+ If the user provides a database reference, use the command below. (Note: sqlite sample databases at `samples/dbs`).
22
27
 
23
28
  ```bash
24
29
  genai-logic create --project_name=nw --db_url=sqlite:///samples/dbs/nw.sqlite
25
30
  ```
26
31
 
27
- ### Create Projects with new databases (requires OpenAI key):
28
-
29
- Describe database and logic in Natural Language.
32
+ ### Create Projects with new databases
30
33
 
31
- See samples at `system/genai/examples`. For example:
34
+ If the user provides a description, follow these steps:
32
35
 
33
- ```bash
34
- genai-logic genai --using=system/genai/examples/genai_demo/genai_demo.prompt --project-name=genai_demo
35
- ```
36
+ 1. Create a sqlite database from the description. Be sure to include foreign keys. The system works well with `id INTEGER PRIMARY KEY AUTOINCREMENT`.
37
+ 2. Then, use the `genai-logic create` command above.
38
+ 3. If logic is provided, translate it using`system/genai/learning_requests/logic_bank_api.prompt`.
36
39
 
37
- ### Sample basic_demo
40
+ ### Create Projects with new databases using genai-logic genai (requires OpenAI key):
38
41
 
39
- The best place to start is to create the `basic_demo`.
42
+ Describe database and logic in Natural Language.
40
43
 
41
- It's a small sqlite database, and provides a readme that explores the project, and how to customize it:
44
+ See samples at `system/genai/examples`. For example:
42
45
 
43
46
  ```bash
44
- genai-logic create --project_name=basic_demo --db_url=basic_demo
47
+ genai-logic genai --using=system/genai/examples/genai_demo/genai_demo.prompt --project-name=genai_demo
45
48
  ```
46
49
 
47
50
  ## AI Assistant Guidelines
@@ -1,3 +1,56 @@
1
+ ## Pre-built samples
2
+
1
3
  See https://apilogicserver.github.io/Docs/Data-Model-Examples/
2
4
 
3
- These created `samples/nw_sample` illustrates important customization sample code - a key part of training.
5
+ The created `samples/nw_sample` illustrates important customization sample code - a key part of training. Search for #als.
6
+
7
+ ## Sqlite Sample Databases
8
+
9
+ The `samples/db` files are symbolic links to pre-installed sqlite databases. These allow you to explore creating projects from existing databases.
10
+
11
+ For example, create Northwind like this:
12
+
13
+ ```bash
14
+ genai-logic create --project_name=nw --db_url=sqlite:///samples/dbs/nw.sqlite
15
+ ```
16
+
17
+ > Note: If the symbolic links are missing, it is probably due to permission issues, e.g., on windows you must run the Shell with Admin privileges. You can continue using the abbeviations instead of a standard SQLAlchemy database uri.
18
+
19
+ ## Database Connectivity
20
+
21
+ Sample project creation commands:
22
+
23
+ ```bash
24
+ genai-logic create
25
+ genai-logic create-and-run
26
+ genai-logic create --db_url=sqlite:////Users/val/dev/todo_example/todos.db --project_name=todo
27
+ genai-logic create --db_url=sqlite:///c:\genai-logic\nw.sqlite --project_name=nw
28
+ genai-logic create --db_url=sqlite:///ai.sqlite --project_name=ai --open_with=code
29
+ genai-logic create --db_url=mysql+pymysql://root:p@mysql-container:3306/classicmodels --project_name=/localhost/docker_db_project
30
+ genai-logic create --db_url='mssql+pyodbc://sa:Posey3861@localhost:1433/NORTHWND?driver=ODBC+Driver+18+for+SQL+Server&trusted_connection=no&Encrypt=no'
31
+ genai-logic create --project_name=oracle_hr --db_url='oracle+oracledb://hr:tiger@localhost:1521/?service_name=ORCL'
32
+ genai-logic create --db_url=postgresql://postgres:p@10.0.0.234/postgres
33
+ genai-logic create --project_name=my_schema --db_url=postgresql://postgres:p@localhost/my_schema
34
+ genai-logic create --db_url=postgresql+psycopg2://postgres:password@localhost:5432/postgres?options=-csearch_path%3Dmy_db_schema
35
+ genai-logic create --project_name=Chinook \
36
+ --host=ApiLogicServer.pythonanywhere.com --port= \
37
+ --db_url=mysql+pymysql://ApiLogicServer:@ApiLogicServer.mysql.pythonanywhere-services.com/ApiLogicServer\$Chinook
38
+ ```
39
+
40
+ ## Docker Databases
41
+
42
+ You probably don't need _all_ these, but here's how you start the docker databases (schema details below):
43
+
44
+ ```
45
+ docker network create dev-network # only required once
46
+
47
+ docker run --name mysql-container --net dev-network -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=p apilogicserver/mysql8.0:latest
48
+
49
+ docker run -d --name postgresql-container --net dev-network -p 5432:5432 -e PGDATA=/pgdata -e POSTGRES_PASSWORD=p apilogicserver/postgres:latest
50
+
51
+ docker run --name sqlsvr-container --net dev-network -p 1433:1433 -d apilogicserver/sqlsvr:latest
52
+
53
+ docker run --name sqlsvr-container --net dev-network -p 1433:1433 -d apilogicserver/sqlsvr-m1:latest # Mac M1
54
+ ```
55
+
56
+
@@ -1,6 +1,11 @@
1
- Default location for WebGenAI - projects, sqlite databases, etc.
1
+ WebGenAI provides a docker-based web app for creating projects and logic.
2
+ For more information, [click here](https://apilogicserver.github.io/Docs/WebGenAI/).
3
+
4
+ This is the default location for WebGenAI - projects, sqlite databases, etc.
2
5
  * Examine these to verify genai logic, but use export to debug or make changes.
3
6
  * See [Export](https://apilogicserver.github.io/Docs/WebGenAI-CLI/#export)
4
7
  * See [Import / Merge WebGenai](https://apilogicserver.github.io/Docs/IDE-Import-WebGenAI/)
5
8
 
6
- See docker_compose for WebGenAI run instructions.
9
+ See docker_compose for WebGenAI run instructions.
10
+
11
+ > Note: you can also use your IDE Coding Assistant (e.g, Copilot) to create projects from prompts.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ApiLogicServer
3
- Version: 15.0.43
3
+ Version: 15.0.47
4
4
  Author-email: Val Huber <apilogicserver@gmail.com>
5
5
  License: BSD-3-Clause
6
6
  Project-URL: Homepage, https://www.genai-logic.com
@@ -1,6 +1,6 @@
1
1
  api_logic_server_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- api_logic_server_cli/api_logic_server.py,sha256=r2pxx22fhyoygbsiWRpvtotH4ObcXhpSruvDqSu9ToY,97761
3
- api_logic_server_cli/api_logic_server_info.yaml,sha256=Bc5kyLCD-6rU9IAxa8PGYkQ-_YmBp08XVAnnoCDHoX0,125
2
+ api_logic_server_cli/api_logic_server.py,sha256=kePMIf99KMKZ6L-aCUeuwIH1WX0Oda92WXjQM6At1wU,102497
3
+ api_logic_server_cli/api_logic_server_info.yaml,sha256=bxWwh2nBezkJJo-fbplOuxTyDWZzzaB4UI5js47mPRQ,116
4
4
  api_logic_server_cli/cli.py,sha256=3GdpAcaXsMeuMnWa-jx7tpi0x6OjIRoau4BeVT-Pw3A,87286
5
5
  api_logic_server_cli/cli_args_base.py,sha256=7cVM6BeizwttYAwUu1FUyuLuvWufvgt0TFeA8FI6tu0,3304
6
6
  api_logic_server_cli/cli_args_project.py,sha256=I5no_fGRV_ZsK3SuttVDAaQYI4Q5zCjx6LojGkM024w,4645
@@ -11,7 +11,7 @@ api_logic_server_cli/add_cust/add_cust.py,sha256=yi_6qoiBm19K1u5VNhDW-KaTVcnsU-u
11
11
  api_logic_server_cli/create_from_model/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
12
12
  api_logic_server_cli/create_from_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  api_logic_server_cli/create_from_model/api_expose_api_models_creator.py,sha256=V-u3Hm404doztw66YuD2A043RCFmtw5QF5tMioC_1b0,7900
14
- api_logic_server_cli/create_from_model/api_logic_server_utils.py,sha256=GKT890JgHivkhUtamb2nJO-hvnlLE5_bIhSjMgETmeo,27715
14
+ api_logic_server_cli/create_from_model/api_logic_server_utils.py,sha256=V4DAoywawXWa5kWXIMKsmlhM_wcyKU4BiAUsbpYXKQQ,27751
15
15
  api_logic_server_cli/create_from_model/create_db_from_model.py,sha256=2H7slGnk39XOSnvL7vxrg6Ewx4bxeBJBgLo8fcXHTB4,4382
16
16
  api_logic_server_cli/create_from_model/dbml.py,sha256=m1yRnes5DXPMQrFBFJM2CuDhIfVFywSM6nDX7k19BLU,11573
17
17
  api_logic_server_cli/create_from_model/meta_model.py,sha256=ERf7tSgnSJSeRMVyggkdg-lvORQZSbfK0KMpL63qSEY,5837
@@ -528,7 +528,7 @@ api_logic_server_cli/prototypes/base/.devcontainer-option/For_VSCode.dockerfile,
528
528
  api_logic_server_cli/prototypes/base/.devcontainer-option/devcontainer.json,sha256=tk-mGd4XdmbpKUqUeGmcPMzX3RDc6am9-de8c-rFmSo,2361
529
529
  api_logic_server_cli/prototypes/base/.devcontainer-option/readme.md,sha256=-sSneMDne1fqEoox2hXUGmoO8ewgi34y7lJwGTidSpY,104
530
530
  api_logic_server_cli/prototypes/base/.devcontainer-option/setup.sh,sha256=pOvGjZ7jgRQzFkD93mNICmcC2y66Dexrq4bCnSSVwtU,310
531
- api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=RwmEOb-_kl7JLSOcoe62ye4b-kqjPH4T0X5NLysZJj4,8061
531
+ api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=ee0kajWWr0uQl4-YeHvs2D3zwDR-c4ZTCTqlGjN7h6k,8653
532
532
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/ApiLogicServer.xml,sha256=eFzhe9NH-VNjcPWbPsRQy5o-MugJR9IWklA1Fo8wtYg,1127
533
533
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Report_Behave_Logic.xml,sha256=I3jlEf-TPzc-1NY843v6AcQIQ8QJD3z9KvxTYSZWMtY,1306
534
534
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Run_Behave.xml,sha256=CTzF0P4w7o4FzOi-eSpru0HczSEGtJsKqkQ7VWRyxPc,1196
@@ -536,7 +536,7 @@ api_logic_server_cli/prototypes/base/.idea/runConfigurations/Windows_Run_Behave.
536
536
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/run___No_Security.xml,sha256=BBK0h04vSC_hVSi7dKm_8Mo201jGivZRbx4ruFcqAEo,1193
537
537
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/run_docker.xml,sha256=oDHdZ8WEGU1MoWEQHH3jBvbPZt4hGlodUq4IeXv68co,2444
538
538
  api_logic_server_cli/prototypes/base/.vscode/launch.json,sha256=_QjN3aCBJwk2SIqA7v6w4pI96oTxYVzs0f45oEgoucU,12628
539
- api_logic_server_cli/prototypes/base/.vscode/settings.json,sha256=vS3gt0PpFbZ3fdGeiVGaE4v9PyRydjrrdGWb27w9UUo,470
539
+ api_logic_server_cli/prototypes/base/.vscode/settings.json,sha256=MuMOqa7sfCmNea4i1ZXALKZQ2NZMVLMQtqrv-dmEmEA,1285
540
540
  api_logic_server_cli/prototypes/base/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
541
541
  api_logic_server_cli/prototypes/base/api/customize_api.py,sha256=-_eoaIukB4v1dF1TXTOqRRyU_nLbXXEhphI43GPtdoI,2236
542
542
  api_logic_server_cli/prototypes/base/api/expose_api_models.py,sha256=XhmZe_8HnupiEVuZS5DJ_mHhUOHulzU_XWQC2DZuSj8,1876
@@ -823,13 +823,13 @@ api_logic_server_cli/prototypes/manager/README.md,sha256=vFTKgc8O0Pp-nrPJQb92HXz
823
823
  api_logic_server_cli/prototypes/manager/run_sample.sh,sha256=eRA-p_Snr7Pwk14wUw5mja2usEcjAKisHVhHMeSaQ68,781
824
824
  api_logic_server_cli/prototypes/manager/run_web_genai.sh,sha256=sgjB3vKhkao93Ny3VN0AQ-wonvdBcBIT3rTbyNTMoG8,136
825
825
  api_logic_server_cli/prototypes/manager/settings.txt,sha256=_jjL30jomIMxG21edDfrXYRT9Zfgr_0EdUWvcEUOnFQ,368
826
- api_logic_server_cli/prototypes/manager/.github/.copilot-instructions.md,sha256=iszY_rDp-jnaWXfIz1ry6EzRVUkI0xtGoLczFwtdyOU,2079
826
+ api_logic_server_cli/prototypes/manager/.github/.copilot-instructions.md,sha256=D-G1i7D2ai8LisgSRmqs6sFf2T6N34gjnTjydVbFb2U,2531
827
827
  api_logic_server_cli/prototypes/manager/.vscode/.copilot-instructions.md,sha256=Gvx2SYFMhMtoqdbw3WSJ1-40kZAy9EUfQ0jIaHc0aYY,1923
828
828
  api_logic_server_cli/prototypes/manager/.vscode/ApiLogicServer.code-workspace,sha256=yC_pOIZN5o5Qiw3t2kBPsiO01Mgp3VEbAizYx1T3aPI,282
829
829
  api_logic_server_cli/prototypes/manager/.vscode/launch.json,sha256=alh_fiuqMjY-uIk4ghfwyMs3y-U2dYr1W6rS9ncpNEY,33491
830
830
  api_logic_server_cli/prototypes/manager/.vscode/settings.json,sha256=wQgpFvviPbZCmsf02UgrJSGAz7g3i4chDZ_AdSIOr5Y,625
831
- api_logic_server_cli/prototypes/manager/samples/readme_samples.md,sha256=JyUOm5mcmLXtBCE30OFzfZaSCw7k_PKLZmGNanS4fwc,171
832
- api_logic_server_cli/prototypes/manager/samples/dbs/readme_samples.md,sha256=FvxzBqR00Kgc5Z76JOslHju6HYmsYOwkoARe_U-dnY0,570
831
+ api_logic_server_cli/prototypes/manager/samples/readme_samples.md,sha256=7mAmndDgMq4EHcNl6W0DQ7H9PUUZVtPj8TvEKlAxH4Y,2723
832
+ api_logic_server_cli/prototypes/manager/samples/dbs/readme_dbs.md,sha256=FvxzBqR00Kgc5Z76JOslHju6HYmsYOwkoARe_U-dnY0,570
833
833
  api_logic_server_cli/prototypes/manager/system/Manager_workspace.code-workspace,sha256=ieWHaqLQ8uXoSzNSklVdDKoIjD-H3d6H4aUP1d_Jy1s,305
834
834
  api_logic_server_cli/prototypes/manager/system/readme_ssystem.md,sha256=52zXRh5KJ4GSRWyNLwzbXqKMDJmR7M6PhS71-DIUoBI,106
835
835
  api_logic_server_cli/prototypes/manager/system/style-guide.yaml,sha256=JaP3NDE29k4_e9ELeLTZfnWf2L8VgS1X7hO8J_BNqJU,673
@@ -1898,7 +1898,7 @@ api_logic_server_cli/prototypes/manager/system/images/genai.png,sha256=jqC_qRwR6
1898
1898
  api_logic_server_cli/prototypes/manager/system/install-ApiLogicServer-dev/install-ApiLogicServer-dev.ps1,sha256=ia2LGgeK49TBI-fgrvFvGVw7EyN9qFvEoNGDE9sLxjI,3210
1899
1899
  api_logic_server_cli/prototypes/manager/system/install-ApiLogicServer-dev/install-ApiLogicServer-dev.sh,sha256=zutEcQNZ1DX9gaUSRbsAcIClsy_a7inHWcb2dpcYgWY,3677
1900
1900
  api_logic_server_cli/prototypes/manager/system/install-ApiLogicServer-dev/readme.md,sha256=NSr2hEKT1XeFMzJ_x5vcbdEFZ4PJz_GobdjRg-TyLHU,206
1901
- api_logic_server_cli/prototypes/manager/webgenai/README.md,sha256=kC5hXmKYMMEfF1aQvZnAhWrL0KwwBvJnwVMptgOQUbE,362
1901
+ api_logic_server_cli/prototypes/manager/webgenai/README.md,sha256=2V09jwQOBt6YKlEAAxPAz87tYiJ0Iqnz-ZQQ3mFCuyE,634
1902
1902
  api_logic_server_cli/prototypes/manager_docker/.devcontainer/For_VSCode.dockerfile,sha256=_RObRZ3EBDNj1_Sx26r_CysBboMvill83f8tQN1T0Do,438
1903
1903
  api_logic_server_cli/prototypes/manager_docker/.devcontainer/devcontainer.json,sha256=2Kf9UFTHKvcWewm4rIeVQ70RibwJ_S2AIz4uSD012ks,2114
1904
1904
  api_logic_server_cli/prototypes/manager_docker/.devcontainer/readme.md,sha256=-sSneMDne1fqEoox2hXUGmoO8ewgi34y7lJwGTidSpY,104
@@ -2369,9 +2369,9 @@ api_logic_server_cli/tools/mini_skel/database/system/SAFRSBaseX.py,sha256=p8C7AF
2369
2369
  api_logic_server_cli/tools/mini_skel/database/system/TestDataBase.py,sha256=U02SYqThsbY5g3DX7XGaiMxjZBuOpzvtPS6RfI1WQFg,371
2370
2370
  api_logic_server_cli/tools/mini_skel/logic/declare_logic.py,sha256=fTrlHyqMeZsw_TyEXFa1VlYBL7fzjZab5ONSXO7aApo,175
2371
2371
  api_logic_server_cli/tools/mini_skel/logic/load_verify_rules.py,sha256=Rr5bySJpYCZmNPF2h-phcPJ53nAOPcT_ohZpCD93-a0,7530
2372
- apilogicserver-15.0.43.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2373
- apilogicserver-15.0.43.dist-info/METADATA,sha256=8Ed9OdmL3Fla2D1h1jYwxzggViJQYd2neFMVYfMAjDI,6553
2374
- apilogicserver-15.0.43.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2375
- apilogicserver-15.0.43.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2376
- apilogicserver-15.0.43.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2377
- apilogicserver-15.0.43.dist-info/RECORD,,
2372
+ apilogicserver-15.0.47.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2373
+ apilogicserver-15.0.47.dist-info/METADATA,sha256=s9JvCKls5k4-n5_kHBM22CVWXnICf3D3E9lYzFr9wf8,6553
2374
+ apilogicserver-15.0.47.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2375
+ apilogicserver-15.0.47.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2376
+ apilogicserver-15.0.47.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2377
+ apilogicserver-15.0.47.dist-info/RECORD,,