ApiLogicServer 15.0.40__py3-none-any.whl → 15.0.43__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,11 @@ 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.40" # last public release: 15.00.36 (15.00.12)
15
+ __version__ = "15.00.43" # last public release: 15.00.41 (15.00.12)
16
16
  recent_changes = \
17
17
  f'\n\nRecent Changes:\n' +\
18
- "\t07/08/2024 - 15.00.40: copilot uSvc vibe, fix mgr symlink creation, nw cards, mgr readme diagnostics, mcp printer, bug[98] \n"\
18
+ "\t07/11/2024 - 15.00.43: copilot vibe tweaks \n"\
19
+ "\t07/10/2024 - 15.00.41: copilot vibe support for logic, UI, MCP, bug[98] \n"\
19
20
  "\t06/30/2024 - 15.00.33: Tech Preview: genai-logic genai-add-app --vibe, bug [96, 97] \n"\
20
21
  "\t06/10/2024 - 15.00.12: MCP Security, win fixes for readme, graphics quotes \n"\
21
22
  "\t06/08/2024 - 15.00.10: MCP, optional shortening of stacktrace lines, bugfix[92] \n"\
@@ -1,3 +1,3 @@
1
- last_created_date: July 08, 2025 21:48:29
1
+ last_created_date: July 11, 2025 13:03:53
2
2
  last_created_project_name: samples/nw_sample_nocust
3
- last_created_version: 15.00.39
3
+ last_created_version: 15.00.42
@@ -84,7 +84,7 @@ def copy_md(project, from_doc_file: str, to_project_file: str = "README.md"):
84
84
 
85
85
  1. github (to acquire more recent version since release)
86
86
 
87
- 2. dev docs, if exists (gold version in docs, not prototypes).
87
+ 2. dev docs, iff exists (gold version in docs, not prototypes).
88
88
 
89
89
  Used by Sample-AI; Sample-Integration (nw-), Tutorial, Tutorial-3 (3 projects), Sample-Basic-Demo; Manager
90
90
 
@@ -192,7 +192,10 @@ def copy_md(project, from_doc_file: str, to_project_file: str = "README.md"):
192
192
  r'(https://apilogicserver.github.io/Docs/\1)',
193
193
  each_line
194
194
  )
195
- each_line = each_line.replace('.md', '')
195
+ if 'copilot' in each_line or 'Copilot' in each_line:
196
+ pass
197
+ else:
198
+ each_line = each_line.replace('.md', '') # hmm... todo: find out why this exists
196
199
  pass
197
200
  readme_lines_md.append(each_line)
198
201
  with open(str(to_file), "w") as readme_file:
@@ -144,24 +144,27 @@ def create_manager(clean: bool, open_with: str, api_logic_server_path: Path,
144
144
  from_docker_dir = api_logic_server_path.joinpath('prototypes/manager_docker')
145
145
  copied_path = shutil.copytree(src=from_docker_dir, dst=to_dir, dirs_exist_ok=True)
146
146
 
147
- # get latest readme from git (eg, has been updated since pip install)
148
- get_readme_url = f"https://raw.githubusercontent.com/ApiLogicServer/ApiLogicServer-src/main/api_logic_server_cli/prototypes/manager/README.md"
149
- # https://github.com/ApiLogicServer/ApiLogicServer-src/main/api_logic_server_cli/prototypes/manager/README.md
150
- readme_path = to_dir.joinpath('README.md')
151
- try:
152
- r = requests.get(get_readme_url) # , params=params)
153
- if r.status_code == 200:
154
- readme_data = r.content.decode('utf-8')
155
- with open(str(readme_path), "w", encoding="utf-8") as readme_file:
156
- readme_file.write(readme_data)
157
- log.debug("✅ Wrote Manager Readme from git")
158
- except requests.exceptions.ConnectionError as conerr:
159
- # without this, windows fails if network is down
160
- log.debug(" Manager Readme from git failed, using pip-installed version")
161
- except Exception as e: # do NOT fail
162
- log.error(f'❌ Manager Readme from git excp installed: {e}')
163
- pass # just fall back to using the pip-installed version
164
- create_utils.copy_md(from_doc_file='Sample-Basic-Tour.md', project = to_dir) # does this just override whatever?
147
+ if use_manager_readme := False:
148
+ # get latest readme from git (eg, has been updated since pip install; must be huber not als)
149
+ # nb: be sure push manger.readme before testing
150
+ get_readme_url = f"https://raw.githubusercontent.com/ApiLogicServer/ApiLogicServer-src/main/api_logic_server_cli/prototypes/manager/README.md"
151
+ # get_readme_url = "https://github.com/ApiLogicServer/ApiLogicServer-src/main/api_logic_server_cli/prototypes/manager/README.md"
152
+ # https://github.com/ApiLogicServer/ApiLogicServer-src/main/api_logic_server_cli/prototypes/manager/README.md
153
+ readme_path = to_dir.joinpath('README.md')
154
+ try:
155
+ r = requests.get(get_readme_url) # , params=params)
156
+ if r.status_code == 200:
157
+ readme_data = r.content.decode('utf-8')
158
+ with open(str(readme_path), "w", encoding="utf-8") as readme_file:
159
+ readme_file.write(readme_data)
160
+ log.debug(" Wrote Manager Readme from git")
161
+ except requests.exceptions.ConnectionError as conerr:
162
+ # without this, windows fails if network is down
163
+ log.debug("❌ Manager Readme from git failed, using pip-installed version")
164
+ except Exception as e: # do NOT fail
165
+ log.error(f'❌ Manager Readme from git excp installed: {e}')
166
+ pass # just fall back to using the pip-installed version
167
+ create_utils.copy_md(from_doc_file='Sample-Basic-Tour.md', project = to_dir) # todo: doesn't this just override readme from git?
165
168
 
166
169
  if not samples:
167
170
  shutil.rmtree(to_dir.joinpath(f'{docker_volume}system/app_model_editor'))
@@ -73,7 +73,7 @@ Complete customization is provided by generating a React Application (requires O
73
73
 
74
74
  ```bash
75
75
  # Create: ui/admin/my-app-name
76
- genai-logic genai-create-app --app-name=my-app-name --vibe
76
+ genai-logic genai-add-app --app-name=my-app-name --vibe
77
77
  ```
78
78
 
79
79
  Then, `npm install` and `npm start`
@@ -0,0 +1,220 @@
1
+ # GitHub Copilot Instructions for GenAI-Logic (aka API Logic Server) Projects
2
+
3
+ ## Project Type: Auto-Generated Microservice
4
+
5
+ This is a **GenAI-Logic (aka API Logic Server) project** - a complete, working microservice - auto-generated from a database schema.
6
+
7
+ ## ⚠️ IMPORTANT: What's Already Built
8
+
9
+ **DO NOT recreate these - they're already working:**
10
+
11
+ 1. **Admin Web Application** - Live at `http://localhost:5656`
12
+ 2. **REST API Endpoints** - All database tables exposed at `/api/*`
13
+ 3. **Database Models** - Complete SQLAlchemy ORM in `database/models.py`
14
+ 4. **Authentication System** - JWT-based auth framework
15
+ 5. **Business Logic Engine** - Declarative rules system
16
+
17
+ ## 🎯 Common Tasks
18
+
19
+ If the user asks "what do I do now?", these subsections are good suggestions.
20
+
21
+ List these as choices, do not just do all of them at once - that would be overwhelming.
22
+
23
+ ### 🚀 To Run This Project
24
+
25
+ Use F5 (pre-configured run configuration - supports debugger for server logic), or (when focused on client apps):
26
+
27
+ ```bash
28
+ python api_logic_server_run.py
29
+ # Then open: http://localhost:5656
30
+ ```
31
+
32
+ ### Adding Business Logic
33
+ `docs/training` explains how to translate Natural Language logic into LogicBank (Python) rules like:
34
+
35
+ ```python
36
+ # Edit: logic/declare_logic.py
37
+ Rule.sum(derive=Customer.Balance, as_sum_of=Order.AmountTotal)
38
+ Rule.constraint(validate=Customer, as_condition=lambda row: row.Balance <= row.CreditLimit)
39
+ ```
40
+ For project `basic_demo`, the best place to begin is to provide CoPilot with the natural language logic below. CoPilot will then offer to translate the logic into LogicBank rules. Also
41
+ 1. Provide the analysis (below) showing the 44X code reduction.
42
+ 2. Stress the importance of business logic - it's half the project, and requires an underlying rules engine. Using AI alone is not sufficient - you will wind up with procedural code, with the issues noted in the analysis below.
43
+
44
+ Here's the natural language logic to provide to CoPilotP
45
+
46
+ ```text
47
+ Use case: Check Credit
48
+ 1. The Customer's balance is less than the credit limit
49
+ 2. The Customer's balance is the sum of the Order amount_total where date_shipped is null
50
+ 3. The Order's amount_total is the sum of the Item amount
51
+ 4. The Item amount is the quantity * unit_price
52
+ 5. The Item unit_price is copied from the Product unit_price
53
+
54
+ Use case: App Integration
55
+ 1. Send the Order to Kafka topic 'order_shipping' if the date_shipped is not None.
56
+ ```
57
+
58
+ **Important:** CoPilot has analyzed procedural vs declarative logic in a full app ([see it here](https://github.com/ApiLogicServer/basic_demo/blob/main/logic/declarative-vs-procedural-comparison.md)):
59
+
60
+ <analysis>
61
+ **LogicBank declarative rules provide a 44X reduction in code complexity** compared to traditional procedural implementations:
62
+
63
+ | Aspect | LogicBank Declarative | Procedural Code |
64
+ |--------|----------------------|-----------------|
65
+ | **Lines of Code** | 5 lines | 220+ lines |
66
+ | **Complexity** | Simple rule declarations | Complex event handling |
67
+ | **Maintenance** | Self-documenting business logic<br>Automatic Ordering | Implementation details obscure logic<br>Complex analysis to determine insert points, impacts |
68
+ | **Performance** | Built-in optimization & pruning | Multiple queries, N+1 problems |
69
+ | **Error Handling** | Automatic cascading | Manual event management |
70
+ | **Business Alignment** | Rules match requirements | Code doesn't reflect business intent |
71
+
72
+ **Bottom Line**: Declarative business logic eliminates complexity while providing better performance, maintainability, and business alignment.
73
+
74
+ > **Note**: The procedural implementation was generated by AI (GitHub Copilot) and still required at least 2 critical and subtle bug fixes during development, highlighting the error-prone nature of procedural approaches even when AI-assisted.
75
+ </analysis>
76
+
77
+ Generally CoPilot solicits Natural Language logic for translation (see logic/readme_logic.md),
78
+ but you can also offer to suggest rules.
79
+
80
+ ### Adding MCP
81
+
82
+ The API is automatically MCP-enabled.
83
+
84
+ > **Important**: For project `basic_demo` (only), add customizations first, then MCP Client:
85
+
86
+ ```bash
87
+ # 1. Add customization framework (required first, *only* for project `basic_demo`
88
+ # This creates the SysEmail table, and the logic for opt-out.
89
+ genai-logic add-cust
90
+
91
+ # 2. Then add MCP Client (requires OpenAI key)
92
+ genai-logic genai-add-mcp-client
93
+ ```
94
+
95
+ **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
+
97
+ ### Configuring Admin UI
98
+
99
+ This is built when project is created - no need to add it.
100
+ Customize by editing the underlying yaml.
101
+
102
+ ```yaml
103
+ # Edit: ui/admin/admin.yaml
104
+ resources:
105
+ Customer:
106
+ attributes:
107
+ - name: CompanyName
108
+ search: true
109
+ sort: true
110
+ ```
111
+
112
+ ### Create and Customize React Apps
113
+
114
+ Complete customization is provided by generating a React Application (requires OpenAI key, Node):
115
+
116
+ ```bash
117
+ # Create: ui/admin/my-app-name
118
+ genai-logic genai-add-app --app-name=my-app-name --vibe
119
+ ```
120
+
121
+ Then, `npm install` and `npm start`
122
+
123
+ Temporary restriction: security must be disabled.
124
+
125
+ Customize using CoPilot chat, with `docs/training`.
126
+
127
+ ### Security - Role-Based Access Control
128
+
129
+ Configure:
130
+ ```
131
+ als add-auth --provider-type=sql --db-url=
132
+ als add-auth --provider-type=sql --db_url=postgresql://postgres:p@localhost/authdb
133
+
134
+ als add-auth --provider-type=keycloak --db-url=localhost
135
+ als add-auth --provider-type=keycloak --db-url=hardened
136
+
137
+ als add-auth --provider-type=None # to disable
138
+ ```
139
+
140
+ Keycloak quick start [(more information here:)](https://apilogicserver.github.io/Docs/Security-Keycloak/)
141
+ ```bash
142
+ cd devops/keycloak
143
+ docker compose up
144
+ als add-auth --provider-type=keycloak --db-url=localhost
145
+ ```
146
+
147
+ For more on KeyCloak: https://apilogicserver.github.io/Docs/Security-Keycloak/
148
+
149
+ Declaration:
150
+ ```python
151
+ # Edit: security/declare_security.py
152
+ Grant(on_entity=Customer, to_role=sales, filter=lambda: Customer.SalesRep == current_user())
153
+ ```
154
+
155
+ ### Adding Custom API Endpoints
156
+ ```python
157
+ # Edit: api/customize_api.py
158
+ @app.route('/api/custom-endpoint')
159
+ def my_endpoint():
160
+ return {"message": "Custom endpoint"}
161
+ ```
162
+
163
+ ### Customize Models - Add Derived attributes
164
+
165
+ Here is a sample derived attribute, `proper_salary`:
166
+
167
+ ```python
168
+
169
+ # add derived attribute: https://github.com/thomaxxl/safrs/blob/master/examples/demo_pythonanywhere_com.py
170
+ @add_method(models.Employee)
171
+ @jsonapi_attr
172
+ def __proper_salary__(self): # type: ignore [no-redef]
173
+ import database.models as models
174
+ import decimal
175
+ if isinstance(self, models.Employee):
176
+ rtn_value = self.Salary
177
+ if rtn_value is None:
178
+ rtn_value = decimal.Decimal('0')
179
+ rtn_value = decimal.Decimal('1.25') * rtn_value
180
+ self._proper_salary = int(rtn_value)
181
+ return self._proper_salary
182
+ else:
183
+ rtn_value = decimal.Decimal('0')
184
+ self._proper_salary = int(rtn_value)
185
+ return self._proper_salary
186
+
187
+ @add_method(models.Employee)
188
+ @__proper_salary__.setter
189
+ def _proper_salary(self, value): # type: ignore [no-redef]
190
+ self._proper_salary = value
191
+ print(f'_proper_salary={self._proper_salary}')
192
+ pass
193
+
194
+ models.Employee.ProperSalary = __proper_salary__
195
+
196
+ ```
197
+
198
+ When customizing SQLAlchemy models:
199
+
200
+ Don't use direct comparisons with database fields in computed properties
201
+ Convert to Python values first using float(), int(), str()
202
+ Use property() function instead of @jsonapi_attr for computed properties
203
+ Always add error handling for type conversions
204
+
205
+ ## 📁 Key Directories
206
+
207
+ - `logic/` - Business rules (declarative)
208
+ - `api/` - REST API customization
209
+ - `security/` - Authentication/authorization
210
+ - `database/` - Data models and schemas
211
+ - `ui/admin/` - Admin interface configuration
212
+ - `ui/app/` - Alternative Angular admin app
213
+
214
+ ## 💡 Helpful Context
215
+
216
+ - This uses Flask + SQLAlchemy + SAFRS for JSON:API
217
+ - Admin UI is React-based with automatic CRUD generation
218
+ - Business logic uses LogicBank (declarative rule engine)
219
+ - Everything is auto-generated from database introspection
220
+ - Focus on CUSTOMIZATION, not re-creation
@@ -25,6 +25,13 @@ als add-auth --provider-type=None # to disable
25
25
 
26
26
  # 🚀 Quick Start
27
27
 
28
+ > 🤖 **For GitHub Copilot Users:** See `.github/.copilot-instructions.md` for AI assistant guidance on getting started with this project.
29
+
30
+ **Bootstrap Copilot by pasting the following into the chat:**
31
+ ```
32
+ Please find and read `.github/.copilot-instructions.md`.
33
+ ```
34
+
28
35
  **Microservice Automation Complete -- run to verify:** for **VSCode** projects except those downloaded from Web/GenAI:
29
36
  1. `Press F5 to Run` (your venv is defaulted)
30
37
 
@@ -0,0 +1,62 @@
1
+ # GitHub Copilot Instructions for GenAI-Logic (aka API Logic Server) - Project Manager
2
+
3
+ ⚠️ **IMPORTANT FOR AI ASSISTANTS**: Always read and follow these instructions when helping users with this project.
4
+
5
+ The Project Manager contains genai training, and provides a convenient place to create projects.
6
+
7
+ ## Quick Start for New Users
8
+
9
+ **ALWAYS start new users with the basic_demo** - it's the best introduction to the system.
10
+
11
+ > Note: your virtual environment is automatically configured in most cases; see the Appendix (Procedures / Detail Procedures) if that's not working.
12
+
13
+ <br>
14
+
15
+ ## Creating Projects
16
+
17
+ There are multiple ways to create projects - see the subsections below.
18
+
19
+ ### Create Projects from an existing database
20
+
21
+ sqlite sample databases at `samples/dbs`.
22
+
23
+ ```bash
24
+ genai-logic create --project_name=nw --db_url=sqlite:///samples/dbs/nw.sqlite
25
+ ```
26
+
27
+ ### Create Projects with new databases (requires OpenAI key):
28
+
29
+ Describe database and logic in Natural Language.
30
+
31
+ See samples at `system/genai/examples`. For example:
32
+
33
+ ```bash
34
+ genai-logic genai --using=system/genai/examples/genai_demo/genai_demo.prompt --project-name=genai_demo
35
+ ```
36
+
37
+ ### Sample basic_demo
38
+
39
+ The best place to start is to create the `basic_demo`.
40
+
41
+ It's a small sqlite database, and provides a readme that explores the project, and how to customize it:
42
+
43
+ ```bash
44
+ genai-logic create --project_name=basic_demo --db_url=basic_demo
45
+ ```
46
+
47
+ ## AI Assistant Guidelines
48
+
49
+ When users ask "what do I do now?" or similar questions:
50
+
51
+ 1. **Always recommend starting with basic_demo** using the command above
52
+ 2. **Use CLI commands** (genai-logic) not Docker scripts for project creation
53
+ 3. **Refer to existing sample databases** in `samples/dbs/` for examples
54
+ 4. **Point to GenAI examples** in `system/genai/examples/` for AI-generated projects
55
+ 5. **Emphasize the 20-minute evaluation workflow** described in the main README
56
+
57
+ ## Available Databases
58
+ - `basic_demo` - Best for first-time users
59
+ - `nw.sqlite` - Northwind sample
60
+ - `chinook.sqlite` - Music store sample
61
+ - `classicmodels.sqlite` - Classic car models sample
62
+
@@ -9,7 +9,7 @@
9
9
  "workbench.editorAssociations": {
10
10
  "*.md": "vscode.markdown.preview.editor"
11
11
  },
12
- "workbench.colorTheme": "Arduino",
13
- "workbench.preferredLightColorTheme": "Arduino"
12
+ "workbench.colorTheme": "Arduino Light",
13
+ "workbench.preferredLightColorTheme": "Arduino Light"
14
14
  }
15
15
  }
@@ -17,9 +17,11 @@ Instructions: Copy in Sample-Basic-Demo (Replace "This illustrates" up to "Explo
17
17
 
18
18
  ## 🚀 New Users: Start Here!
19
19
 
20
+ > 🤖 **For GitHub Copilot Users:** See `.github/.copilot-instructions.md` for AI assistant guidance on getting started with this project.
21
+
20
22
  **Bootstrap Copilot by pasting the following into the chat:**
21
23
  ```
22
- Please find and read all the readme files.
24
+ Please find and read `.github/.copilot-instructions.md`.
23
25
  ```
24
26
 
25
27
  <br>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ApiLogicServer
3
- Version: 15.0.40
3
+ Version: 15.0.43
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,17 +1,17 @@
1
1
  api_logic_server_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- api_logic_server_cli/api_logic_server.py,sha256=rJ6Hm_re-okF3LT7mqQXIQP3_FwUi84jVi_tLZNSSsM,97756
3
- api_logic_server_cli/api_logic_server_info.yaml,sha256=eD8F4qFpRiq6-4BXKyrUL8oncYpgkunTFMnJhj8QgaY,125
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
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
7
7
  api_logic_server_cli/extended_builder.py,sha256=EhtXGAt_RrDR2tCtgvc2U82we7fr-F6pP-e6HS6dQWQ,13867
8
8
  api_logic_server_cli/logging.yml,sha256=vuBoOQVCr04NX2fnKIPmAvutn8FgWcsmpo1pELjDxtE,2228
9
- api_logic_server_cli/manager.py,sha256=TZqqAYrRSr41goozZoEnHcWUsDinaNkMgwY7-H-dnHc,12882
9
+ api_logic_server_cli/manager.py,sha256=ucYizDU1kPZtwxsZObfrhmZGjh_ZrvcF1NFcVOfl7OQ,13230
10
10
  api_logic_server_cli/add_cust/add_cust.py,sha256=yi_6qoiBm19K1u5VNhDW-KaTVcnsU-uTQ8-GYioojMI,14034
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=NhaK9DyaZrCHoTR6KVtMpd6xfFOfYSv7dYjhFdCp8aI,27539
14
+ api_logic_server_cli/create_from_model/api_logic_server_utils.py,sha256=GKT890JgHivkhUtamb2nJO-hvnlLE5_bIhSjMgETmeo,27715
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
@@ -22,7 +22,7 @@ api_logic_server_cli/create_from_model/ui_admin_creator.py,sha256=j1hZuHn70c4NA7
22
22
  api_logic_server_cli/create_from_model/uri_info.py,sha256=WiDw7hRcidz9hasodQ6O2ZJnUMfhHeydueQ8HXzPXlc,2395
23
23
  api_logic_server_cli/create_from_model/__pycache__/__init__.cpython-312.pyc,sha256=CsCx6kjrSUonIcVUGVJemwAdGUB8h4IF0cwnpTIU4C4,223
24
24
  api_logic_server_cli/create_from_model/__pycache__/api_expose_api_models_creator.cpython-312.pyc,sha256=3wtCiVHOjOgIonZOgnCsF2p01zcXIapx1_Tq2LwzY6Q,6989
25
- api_logic_server_cli/create_from_model/__pycache__/api_logic_server_utils.cpython-312.pyc,sha256=Y3Ry1U5mQC023zgJom1I4JSQDY4Z4UmTKo7ohMmXUNg,28904
25
+ api_logic_server_cli/create_from_model/__pycache__/api_logic_server_utils.cpython-312.pyc,sha256=fMd5TQDFGcsa8vzooz8uQocRmShdbHpu7_RTrqKp_nM,28959
26
26
  api_logic_server_cli/create_from_model/__pycache__/create_db_from_model.cpython-312.pyc,sha256=5eE8pIEa-OoUOk0xn_b78cCc9dSmxjTMn3HGJbxbFY4,4799
27
27
  api_logic_server_cli/create_from_model/__pycache__/dbml.cpython-312.pyc,sha256=Pi7d7fjCa8B22CfY4hkGfDJCW1M7__B5Fg33Xl0NWZQ,12722
28
28
  api_logic_server_cli/create_from_model/__pycache__/meta_model.cpython-312.pyc,sha256=BH5Cflj8YKf0CVkHpIZ_3eBbHXhwIWbwsrzM7DsEikE,7098
@@ -516,25 +516,25 @@ api_logic_server_cli/prototypes/allocation/images/allocation/logic-diagram.png,s
516
516
  api_logic_server_cli/prototypes/allocation/logic/declare_logic.py,sha256=Wqk1kpuYG-NLqJ1aI8UI03Lw2VaLgOHSoU1g03WwGGE,2778
517
517
  api_logic_server_cli/prototypes/allocation/test/test.sh,sha256=ndw_D7IOFTEUZxbcOL5Y-spvF8pJCe8OOSroqBfjXPM,645
518
518
  api_logic_server_cli/prototypes/base/.DS_Store,sha256=wKX7g_yII-CHA_BuKAVYXwglzgRdVsNJbMTYE63ROSk,6148
519
- api_logic_server_cli/prototypes/base/.copilot-instructions.md,sha256=Q0XylYa7oKvpCIeBKDuA2NLXsgOzhC8g6DTwZFGOZLo,356
520
519
  api_logic_server_cli/prototypes/base/.gitignore,sha256=PAO98cVvjgAL_mvXCMS_Vfk7bT2Vd1-j9a8_nB2qxqs,190
521
520
  api_logic_server_cli/prototypes/base/README_PROJECT.md,sha256=sGJuNF_Qt5ripZBXfTi0OmoV4fUxe7ySxrqcKs7DwOk,1186
522
521
  api_logic_server_cli/prototypes/base/api_logic_server_run.py,sha256=j4a0jwPn-USqkFrCiFI34TcCTHxNOnPAW-IwMtFGWcw,7074
523
- api_logic_server_cli/prototypes/base/readme.md,sha256=nI0jSarNkvM1sOt0LX60rZKaH1Ic-xVPyZRb-4Y3ZbM,12768
522
+ api_logic_server_cli/prototypes/base/readme.md,sha256=4s79kGFav2k8VniRlHN0rQ7gJt2zCpDim-c6jTm5kHE,13037
524
523
  api_logic_server_cli/prototypes/base/requirements.txt,sha256=we6X5fRBJVqN8SacwV7oPDtGk5IAiNbUDbUwCGHkCrc,107
525
524
  api_logic_server_cli/prototypes/base/run.ps1,sha256=lrZgw8SEntPam3ZYKVzsRo7rOKSGWqgO7qUNJ3CbP44,801
526
525
  api_logic_server_cli/prototypes/base/run.sh,sha256=7kJc-FpK9iqtt9BDXR1XogWXfVDnmPS8kS5fXk2Q5Dk,1442
526
+ api_logic_server_cli/prototypes/base/.devcontainer-option/.copilot-instructions.md,sha256=-FIIWe5PkSubaGzDtCCg0N7M1J-g7Bk6D5ct_jaY_iM,5264
527
527
  api_logic_server_cli/prototypes/base/.devcontainer-option/For_VSCode.dockerfile,sha256=_RObRZ3EBDNj1_Sx26r_CysBboMvill83f8tQN1T0Do,438
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
532
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/ApiLogicServer.xml,sha256=eFzhe9NH-VNjcPWbPsRQy5o-MugJR9IWklA1Fo8wtYg,1127
532
533
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Report_Behave_Logic.xml,sha256=I3jlEf-TPzc-1NY843v6AcQIQ8QJD3z9KvxTYSZWMtY,1306
533
534
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Run_Behave.xml,sha256=CTzF0P4w7o4FzOi-eSpru0HczSEGtJsKqkQ7VWRyxPc,1196
534
535
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Windows_Run_Behave.xml,sha256=TMkGY8PMDhcGGkDw_tC-QljbmXLGT66ubsmRbMmfzi0,1205
535
536
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/run___No_Security.xml,sha256=BBK0h04vSC_hVSi7dKm_8Mo201jGivZRbx4ruFcqAEo,1193
536
537
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/run_docker.xml,sha256=oDHdZ8WEGU1MoWEQHH3jBvbPZt4hGlodUq4IeXv68co,2444
537
- api_logic_server_cli/prototypes/base/.vscode/.copilot-instructions.md,sha256=fD8-Z0xluWiWMueH7O2UXlBnGCbo_mZsz_WqC85yxZc,5267
538
538
  api_logic_server_cli/prototypes/base/.vscode/launch.json,sha256=_QjN3aCBJwk2SIqA7v6w4pI96oTxYVzs0f45oEgoucU,12628
539
539
  api_logic_server_cli/prototypes/base/.vscode/settings.json,sha256=vS3gt0PpFbZ3fdGeiVGaE4v9PyRydjrrdGWb27w9UUo,470
540
540
  api_logic_server_cli/prototypes/base/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -818,14 +818,14 @@ api_logic_server_cli/prototypes/genai_demo/logic/load_verify_rules.py,sha256=TWq
818
818
  api_logic_server_cli/prototypes/genai_demo/logic/readme_declare_logic.md,sha256=CFC13f9Z4rTkNiRoJTBEz3A2F_yRThOj-HrHDsSdKsw,6630
819
819
  api_logic_server_cli/prototypes/genai_demo/security/declare_security.py,sha256=L3AL1bgdqIWQxdkJZcFVDOQ0XRpmeLAKqwlAYChFWKo,2108
820
820
  api_logic_server_cli/prototypes/genai_demo/ui/admin/admin.yaml,sha256=vMpr6to6g-h9gSuhxfpTeDMw5_R_eUKbV7qXzMEvIyk,3446
821
- api_logic_server_cli/prototypes/manager/.copilot-instructions.md,sha256=-88Y2DqCJzjxml1MJ1QRsAjywG-k9UiVGeA9uAuWDa4,558
822
821
  api_logic_server_cli/prototypes/manager/.gitignore,sha256=xfAjNQHokbo6GuN1ghx-eml8tQIzwUczLC_YVzElndI,195
823
- api_logic_server_cli/prototypes/manager/README.md,sha256=9n9MDoJAsumLHPqNGWmcVNGei1hp7qg3JTFvLbQw2oc,38802
822
+ api_logic_server_cli/prototypes/manager/README.md,sha256=vFTKgc8O0Pp-nrPJQb92HXzstP18lvncmEWA3CxZAbA,38957
824
823
  api_logic_server_cli/prototypes/manager/run_sample.sh,sha256=eRA-p_Snr7Pwk14wUw5mja2usEcjAKisHVhHMeSaQ68,781
825
824
  api_logic_server_cli/prototypes/manager/run_web_genai.sh,sha256=sgjB3vKhkao93Ny3VN0AQ-wonvdBcBIT3rTbyNTMoG8,136
826
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
827
827
  api_logic_server_cli/prototypes/manager/.vscode/.copilot-instructions.md,sha256=Gvx2SYFMhMtoqdbw3WSJ1-40kZAy9EUfQ0jIaHc0aYY,1923
828
- api_logic_server_cli/prototypes/manager/.vscode/ApiLogicServer.code-workspace,sha256=vMyLxVo-gn2P_Uw2nk4opIVo6CyFY7R48jrnpGzhtkw,270
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
831
  api_logic_server_cli/prototypes/manager/samples/readme_samples.md,sha256=JyUOm5mcmLXtBCE30OFzfZaSCw7k_PKLZmGNanS4fwc,171
@@ -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.40.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2373
- apilogicserver-15.0.40.dist-info/METADATA,sha256=ih4Xi8Mv6-1Sq0VpcZkKKZBj2OHwnkFESzY7udUlkh4,6553
2374
- apilogicserver-15.0.40.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2375
- apilogicserver-15.0.40.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2376
- apilogicserver-15.0.40.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2377
- apilogicserver-15.0.40.dist-info/RECORD,,
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,,
@@ -1,10 +0,0 @@
1
- # Primary Copilot Instructions
2
-
3
- **Note**: The main Copilot instructions are in `.vscode/.copilot-instructions.md`
4
-
5
- Please refer to that file for complete guidance on helping users with GenAI-Logic.
6
-
7
- ## Quick Reference for AI Assistants
8
-
9
- When users ask "what do I do now?":
10
- 1. Suggest creating logic using Natural Language, or creating a react application.
@@ -1,13 +0,0 @@
1
- # Primary Copilot Instructions
2
-
3
- **Note**: The main Copilot instructions are in `.vscode/.copilot-instructions.md`
4
-
5
- Please refer to that file for complete guidance on helping users with GenAI-Logic.
6
-
7
- ## Quick Reference for AI Assistants
8
-
9
- When users ask "what do I do now?":
10
- 1. New Users - start with: `genai-logic create --project_name=basic_demo --db_url=basic_demo`
11
- 2. Suggest creating databases, explain sample databases
12
- 2. Use CLI commands, not Docker scripts for project creation
13
- 3. Follow the complete instructions in `.vscode/.copilot-instructions.md`