ApiLogicServer 15.0.52__py3-none-any.whl → 15.0.54__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. api_logic_server_cli/api_logic_server.py +3 -1
  2. api_logic_server_cli/api_logic_server_info.yaml +3 -3
  3. api_logic_server_cli/create_from_model/api_logic_server_utils.py +6 -0
  4. api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md +39 -3
  5. api_logic_server_cli/prototypes/base/database/alembic/alembic_run.py +98 -0
  6. api_logic_server_cli/prototypes/base/database/alembic/readme_alembic.md +36 -0
  7. api_logic_server_cli/prototypes/base/docs/training/admin_app_1_context.prompt.md +40 -0
  8. api_logic_server_cli/prototypes/base/integration/mcp/mcp_client_executor.py +2 -2
  9. api_logic_server_cli/prototypes/basic_demo/_config.yml +8 -0
  10. api_logic_server_cli/prototypes/basic_demo/_layouts/redirect.html +15 -0
  11. api_logic_server_cli/prototypes/basic_demo/docs/system-creation-vibe.md +161 -0
  12. api_logic_server_cli/prototypes/basic_demo/logic/declarative-vs-procedural-comparison.html +110 -0
  13. api_logic_server_cli/prototypes/basic_demo/logic/procedural/declarative-vs-procedural-comparison.md +295 -0
  14. api_logic_server_cli/prototypes/manager/samples/prompts/add_email.prompt +8 -0
  15. api_logic_server_cli/prototypes/manager/samples/prompts/elections.prompt +3 -0
  16. api_logic_server_cli/prototypes/manager/samples/prompts/emp_dept.prompt +4 -0
  17. api_logic_server_cli/prototypes/manager/samples/prompts/genai_demo.prompt +13 -0
  18. api_logic_server_cli/prototypes/manager/samples/readme_samples.md +3 -1
  19. api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-App-Resource-Learning-Prompt.md +1 -1
  20. api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/package.json +1 -0
  21. api_logic_server_cli/sqlacodegen_wrapper/sqlacodegen_wrapper.py +5 -2
  22. {apilogicserver-15.0.52.dist-info → apilogicserver-15.0.54.dist-info}/METADATA +1 -1
  23. {apilogicserver-15.0.52.dist-info → apilogicserver-15.0.54.dist-info}/RECORD +27 -20
  24. api_logic_server_cli/prototypes/base/.devcontainer-option/.copilot-instructions.md +0 -178
  25. api_logic_server_cli/prototypes/base/database/alembic/readme.md +0 -18
  26. api_logic_server_cli/prototypes/base/database/system/SAFRSBaseX.pyZ +0 -73
  27. api_logic_server_cli/prototypes/basic_demo/customizations/database/system/SAFRSBaseX.py +0 -139
  28. {apilogicserver-15.0.52.dist-info → apilogicserver-15.0.54.dist-info}/WHEEL +0 -0
  29. {apilogicserver-15.0.52.dist-info → apilogicserver-15.0.54.dist-info}/entry_points.txt +0 -0
  30. {apilogicserver-15.0.52.dist-info → apilogicserver-15.0.54.dist-info}/licenses/LICENSE +0 -0
  31. {apilogicserver-15.0.52.dist-info → apilogicserver-15.0.54.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,295 @@
1
+ # Declarative vs. Procedural Business Logic: A Comprehensive Comparison
2
+
3
+ <br>
4
+
5
+ ## Foreword
6
+
7
+ This document presents a real-world A/B comparison of two approaches to implementing the **same business logic requirements.** We asked AI to generate both a **procedural** implementation using conventional code, and a **declarative** implementation using the LogicBank rules engine.
8
+
9
+ This experiment highlights fundamental differences between the two approaches, and what they mean for building reliable, maintainable systems. It's important, because business logic typically represents *nearly half the effort* in database projects.
10
+
11
+ When asked to produce logic, AI (by itself) defaults to procedural code — because that’s all it knows. This study uncovered two critical problems with that approach:
12
+ 1. **Quality:** The AI-generated procedural code contained subtle but serious bugs, even for just five rules—falling far short of basic reliability.
13
+ 2. **Maintainability:** The procedural implementation exploded to over 200 lines — more than 40X the size of its declarative equivalent — creating “Franken-Code” that is brittle, opaque, and costly to maintain.
14
+
15
+ By contrast, the declarative approach was error free, and 5 Python statements.
16
+
17
+ The answer isn’t to reject AI. Its speed and simplicity are transformative. The key is to **teach AI about declarative rules** so it can produce concise, expressive rules instead of hundreds of lines of brittle procedural code. These rules are then executed by an **automated runtime engine** (like LogicBank), ensuring correctness, scalability, and maintainability — while preserving the velocity that makes AI so valuable.
18
+
19
+ By combining AI with declarative automation, GenAI-Logic delivers the best of both worlds: rapid development and enterprise-grade governance.
20
+
21
+ ![visually](declarative-vs-procedural-comparison.png)
22
+
23
+ <br>
24
+
25
+ ### Deeper Dive
26
+
27
+ [GenAI-Logic](https://www.genai-logic.com) is free and open source, so you can install it to explore declarative logic - [click here](https://apilogicserver.github.io/Docs/Install-Express/). This project is available in github - [click here](https://github.com/ApiLogicServer/basic_demo/blob/main/logic/declarative-vs-procedural-comparison.md).
28
+
29
+ <br>
30
+
31
+ ### How this Document Was Created
32
+
33
+ We created this document from the following scenario:
34
+
35
+ 1. Built the `basic_demo` project [as described here](https://apilogicserver.github.io/Docs/Sample-Basic-Demo/).
36
+ 2. We asked CoPilot to **rebuild the logic *using a procedural approach*** - that is, without the LogicBank rule engine (part of GenAI-Logic).
37
+ * Resulting Procedural Logic: `logic/procedural_logic.py`
38
+ * Declarative logic: `logic/declare_logic.py` (*with LogicBank,* [below](#business-requirements))
39
+ 3. We asked Copilot: **what would happen if the orders' customer-id were changed?**
40
+ * Copilot accepted this as a serious error, and made the bug fix.
41
+ 4. We then asked Copilot: *what if the items' product-id were changed?*
42
+ * Copilot became agitated at finding yet another serious bug...
43
+ * It fixed it, and - ***unprompted* - provided the following analysis** of *Declarative vs Procedural Business Logic.*
44
+
45
+ <br>
46
+
47
+ > Here's the Copilot analysis, in its own words.
48
+
49
+ <br>
50
+
51
+
52
+ ## TL;DR
53
+
54
+ **LogicBank declarative rules provide a 44X reduction in code complexity** compared to traditional procedural implementations:
55
+
56
+ | Aspect | LogicBank Declarative | Procedural Code |
57
+ |--------|----------------------|-----------------|
58
+ | **Lines of Code** | 5 lines | 220+ lines |
59
+ | **Complexity** | Simple rule declarations | Complex event handling |
60
+ | **Maintenance** | Self-documenting business logic | Implementation details obscure logic |
61
+ | **Performance** | Built-in optimization & pruning | Multiple queries, N+1 problems |
62
+ | **Error Handling** | Automatic cascading | Manual event management |
63
+ | **Business Alignment** | Rules match requirements | Code doesn't reflect business intent |
64
+
65
+ **Bottom Line**: Declarative business logic eliminates complexity while providing better performance, maintainability, and business alignment.
66
+
67
+ ---
68
+
69
+ ## Overview
70
+
71
+ This document compares two approaches to implementing business logic in enterprise applications:
72
+ - **Declarative Logic** using LogicBank rules
73
+ - **Traditional Procedural Logic** using event handlers
74
+
75
+ The comparison is based on implementing the same business requirements using both approaches in an order management system.
76
+
77
+ ## Business Requirements
78
+
79
+ Our test case implements these common business rules:
80
+
81
+ 1. **Copy unit_price from Product to Item**
82
+ 2. **Calculate Item amount = quantity × unit_price**
83
+ 3. **Calculate Order total = sum of Item amounts**
84
+ 4. **Update Customer balance = sum of unshipped Order totals**
85
+ 5. **Ensure Customer balance ≤ credit_limit**
86
+ 6. **Validate Item quantity > 0**
87
+ 7. **Log order events**
88
+
89
+ ## Code Comparison
90
+
91
+ ### LogicBank Declarative Rules (~5 lines)
92
+
93
+ ```python
94
+ # Business logic expressed as simple, readable rules
95
+ def declare_logic():
96
+ # Rule 1: Copy unit price from product to item
97
+ Rule.copy(derive=Item.unit_price, from_parent=Product.unit_price)
98
+
99
+ # Rule 2: Calculate item amount
100
+ Rule.formula(derive=Item.amount, as_expression=lambda row: row.quantity * row.unit_price)
101
+
102
+ # Rule 3: Calculate order total
103
+ Rule.sum(derive=Order.amount_total, as_sum_of=Item.amount)
104
+
105
+ # Rule 4: Update customer balance
106
+ Rule.sum(derive=Customer.balance, as_sum_of=Order.amount_total,
107
+ where=lambda row: row.date_shipped is None)
108
+
109
+ # Rule 5: Validate credit limit
110
+ Rule.constraint(validate=Customer,
111
+ as_condition=lambda row: row.balance <= row.credit_limit,
112
+ error_msg="Customer balance exceeds credit limit")
113
+ ```
114
+
115
+ ### Procedural Implementation (~220 lines)
116
+
117
+ ```python
118
+ # Complex event handling with manual cascading
119
+ def handle_item_update(mapper, connection, target: models.Item):
120
+ session = Session.object_session(target)
121
+
122
+ # Get OLD version to detect changes
123
+ old_item = session.query(models.Item).get(target.id)
124
+
125
+ # Validate quantity
126
+ ProceduralBusinessLogic.validate_item_quantity(target)
127
+
128
+ # Handle product changes (CRITICAL BUG FIX)
129
+ if old_item and old_item.product_id != target.product_id:
130
+ ProceduralBusinessLogic.copy_unit_price_from_product(target, session)
131
+
132
+ # Recalculate item amount
133
+ ProceduralBusinessLogic.calculate_item_amount(target)
134
+
135
+ # Handle order changes (another potential bug!)
136
+ if old_item and old_item.order_id != target.order_id:
137
+ # Update OLD order total
138
+ old_order = session.query(models.Order).get(old_item.order_id)
139
+ if old_order:
140
+ ProceduralBusinessLogic.calculate_order_total(old_order, session)
141
+ # Update old customer balance
142
+ old_customer = session.query(models.Customer).get(old_order.customer_id)
143
+ if old_customer:
144
+ ProceduralBusinessLogic.update_customer_balance(old_customer, session)
145
+ ProceduralBusinessLogic.validate_credit_limit(old_customer)
146
+
147
+ # Update NEW order total
148
+ if target.order_id:
149
+ order = session.query(models.Order).get(target.order_id)
150
+ if order:
151
+ ProceduralBusinessLogic.calculate_order_total(order, session)
152
+ customer = session.query(models.Customer).get(order.customer_id)
153
+ if customer:
154
+ ProceduralBusinessLogic.update_customer_balance(customer, session)
155
+ ProceduralBusinessLogic.validate_credit_limit(customer)
156
+ ```
157
+
158
+ ## Detailed Comparison
159
+
160
+ ### 1. **Code Volume**
161
+ | Aspect | LogicBank | Procedural |
162
+ |--------|-----------|------------|
163
+ | Lines of Code | ~5 | ~220 |
164
+ | Complexity | Simple rule declarations | Complex event handling |
165
+ | Ratio | **44X MORE CONCISE** | Baseline |
166
+
167
+ ### 2. **Maintainability**
168
+
169
+ **LogicBank:**
170
+ - ✅ Rules are self-documenting
171
+ - ✅ Business logic is immediately recognizable
172
+ - ✅ Changes are localized to specific rules
173
+ - ✅ Easy to add new rules without affecting existing ones
174
+
175
+ **Procedural:**
176
+ - ❌ Business logic buried in implementation details
177
+ - ❌ Hard to understand the complete business flow
178
+ - ❌ Changes require understanding entire event chain
179
+ - ❌ Risk of breaking existing functionality
180
+
181
+ ### 3. **Error Handling & Edge Cases**
182
+
183
+ **LogicBank:**
184
+ - ✅ Automatic handling of all change scenarios
185
+ - ✅ Built-in transaction rollback
186
+ - ✅ No need to manually track old/new values
187
+ - ✅ Automatic cascade management
188
+
189
+ **Procedural:**
190
+ - ❌ Manual handling of every edge case
191
+ - ❌ Comments like "CRITICAL BUG FIX" indicate complexity
192
+ - ❌ Must manually track old values for comparison
193
+ - ❌ Easy to miss scenarios (product changes, order moves, etc.)
194
+
195
+ ### 4. **Performance**
196
+
197
+ **LogicBank:**
198
+ - ✅ **Pruning**: Rules only fire when dependent attributes change
199
+ - ✅ **Optimization**: Uses SQL "adjustment" updates vs full recalculations
200
+ - ✅ **Minimal SQL**: Optimized query patterns
201
+ - ✅ **No N+1 problems**: Intelligent batching
202
+
203
+ **Procedural:**
204
+ - ❌ Multiple queries per operation
205
+ - ❌ Potential N+1 problems
206
+ - ❌ Full recalculations even for minor changes
207
+ - ❌ No automatic optimization
208
+
209
+ ### 5. **Debugging & Observability**
210
+
211
+ **LogicBank:**
212
+ - ✅ Clear rule execution logs
213
+ - ✅ Shows rule chains and dependencies
214
+ - ✅ Easy to trace business logic flow
215
+ - ✅ Built-in logging with row state changes
216
+
217
+ **Procedural:**
218
+ - ❌ Hard to trace through event handlers
219
+ - ❌ Must manually add logging
220
+ - ❌ Difficult to understand execution flow
221
+ - ❌ Error messages don't relate to business rules
222
+
223
+ ### 6. **Testing**
224
+
225
+ **LogicBank:**
226
+ - ✅ Test individual rules independently
227
+ - ✅ Clear rule execution reports
228
+ - ✅ Behave testing integration
229
+ - ✅ Rules map directly to test scenarios
230
+
231
+ **Procedural:**
232
+ - ❌ Must test entire event chain
233
+ - ❌ Hard to isolate specific logic
234
+ - ❌ Complex test setup required
235
+ - ❌ Brittle tests that break with changes
236
+
237
+ ### 7. **Business Alignment**
238
+
239
+ **LogicBank:**
240
+ - ✅ Rules read like business requirements
241
+ - ✅ Business users can understand the logic
242
+ - ✅ Direct mapping from requirements to code
243
+ - ✅ Self-documenting business policies
244
+
245
+ **Procedural:**
246
+ - ❌ Implementation details obscure business logic
247
+ - ❌ Business users cannot read the code
248
+ - ❌ No clear mapping from requirements
249
+ - ❌ Business logic scattered across handlers
250
+
251
+ ## Real-World Impact
252
+
253
+ ### Development Time
254
+ - **LogicBank**: Write rules once, they work everywhere
255
+ - **Procedural**: Must consider every possible scenario upfront
256
+
257
+ ### Risk Management
258
+ - **LogicBank**: Automatic handling reduces risk of bugs
259
+ - **Procedural**: High risk of missing edge cases
260
+
261
+ ### Team Productivity
262
+ - **LogicBank**: New team members can quickly understand rules
263
+ - **Procedural**: Requires deep understanding of event system
264
+
265
+ ### Business Agility
266
+ - **LogicBank**: Easy to modify rules as business changes
267
+ - **Procedural**: Changes require extensive testing and validation
268
+
269
+ ## Conclusion
270
+
271
+ The comparison demonstrates that **LogicBank provides a 44X reduction in code complexity** while delivering:
272
+
273
+ - **Better Maintainability**: Rules are self-documenting and easy to modify
274
+ - **Higher Quality**: Automatic handling eliminates common bugs
275
+ - **Better Performance**: Built-in optimizations and pruning
276
+ - **Business Alignment**: Rules directly express business requirements
277
+ - **Faster Development**: Write less code, get more functionality
278
+
279
+ ### The LogicBank Advantage
280
+
281
+ > **"Logic is declarative, not procedural"**
282
+
283
+ LogicBank represents a fundamental shift from asking **"How do I implement this?"** to **"What do I want to happen?"**
284
+
285
+ This declarative approach:
286
+ 1. **Eliminates the complexity** of manual event handling
287
+ 2. **Reduces maintenance burden** through automatic rule management
288
+ 3. **Improves business alignment** with readable, requirements-based rules
289
+ 4. **Accelerates development** with dramatically less code
290
+
291
+ The evidence is clear: **Declarative business logic is not just more concise—it's fundamentally superior for enterprise application development.**
292
+
293
+ ---
294
+
295
+ *This comparison is based on actual implementations in the API Logic Server project, demonstrating real-world benefits of declarative business logic.*
@@ -0,0 +1,8 @@
1
+ Create a table SysEmail in `database/db.sqlite` as a child of customer,
2
+ with columns id, message, subject, customer_id and CreatedOn.
3
+
4
+ Add an after_flush event on SysEmail to produce a log message "email sent",
5
+ unless the customer has opted out.
6
+
7
+ List the orders date_shipped is null and CreatedOn before 2023-07-14,
8
+ and send a discount email (subject: 'Discount Offer') to the customer for each one.
@@ -0,0 +1,3 @@
1
+ Create a Star wars themed presidential election app.
2
+
3
+ Create at least 15 tables.
@@ -0,0 +1,4 @@
1
+ System for Departments and Employees.
2
+
3
+ LogicBank:
4
+ 1. Sum of employee salaries cannot exceed department budget
@@ -0,0 +1,13 @@
1
+ Create a system with customers, orders, items and products.
2
+
3
+ Include a notes field for orders.
4
+
5
+ Use case: Check Credit
6
+ 1. The Customer's balance is less than the credit limit
7
+ 2. The Customer's balance is the sum of the Order amount_total where date_shipped is null
8
+ 3. The Order's amount_total is the sum of the Item amount
9
+ 4. The Item amount is the quantity * unit_price
10
+ 5. The Item unit_price is copied from the Product unit_price
11
+
12
+ Use case: App Integration
13
+ 1. Send the Order to Kafka topic 'order_shipping' if the date_shipped is not None.
@@ -8,10 +8,12 @@ The created `samples/nw_sample` illustrates important customization sample code
8
8
 
9
9
  The `samples/db` files are pre-installed sqlite databases. These allow you to explore creating projects from existing databases.
10
10
 
11
- For example, create Northwind like this:
11
+ For example, create Northwind and basic_demo like this:
12
12
 
13
13
  ```bash
14
14
  genai-logic create --project_name=nw --db_url=sqlite:///samples/dbs/nw.sqlite
15
+
16
+ genai-logic create --project_name=basic_demo --db_url=sqlite:///samples/dbs/basic_demo
15
17
  ```
16
18
 
17
19
  ## Database Connectivity
@@ -10,7 +10,7 @@ Sample code (follow these guidelines EXACTLY):
10
10
  ```
11
11
  <sample-code>
12
12
  // begin MANDATORY imports (always generated EXACTLY)
13
- import React from 'react';
13
+ import React, { useState } from 'react';
14
14
  import { List, FunctionField, Datagrid, TextField, EmailField, DateField, NumberField } from 'react-admin';
15
15
  import { ReferenceField, ReferenceManyField } from 'react-admin';
16
16
  import { TabbedShowLayout, Tab, SimpleShowLayout, TextInput, NumberInput, DateTimeInput } from 'react-admin';
@@ -11,6 +11,7 @@
11
11
  "@testing-library/react": "^16.3.0",
12
12
  "@testing-library/user-event": "^13.5.0",
13
13
  "compare-versions": "^6.1.1",
14
+ "js-yaml": "^4.1.0",
14
15
  "keycloak-js": "^26.2.0",
15
16
  "react": "^19.1.0",
16
17
  "react-admin": "^5.8.3",
@@ -60,9 +60,12 @@ import os, sys
60
60
  from pathlib import Path
61
61
  from os.path import abspath
62
62
  from api_logic_server_cli.cli_args_project import Project
63
- import oracledb
64
-
65
63
  log = logging.getLogger(__name__)
64
+ try:
65
+ import oracledb
66
+ except ImportError:
67
+ log.error("oracledb dll not found, Oracle support disabled")
68
+ oracledb = None
66
69
 
67
70
  MODEL_DIR = tempfile.mkdtemp() # directory where the generated models.py will be saved
68
71
  on_import = False
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ApiLogicServer
3
- Version: 15.0.52
3
+ Version: 15.0.54
4
4
  Author-email: Val Huber <apilogicserver@gmail.com>
5
5
  License-Expression: 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=DkV0lF4pCGdzo44FqWQgmZtdqDLfYVWi0eT-YgUNxi8,103160
3
- api_logic_server_cli/api_logic_server_info.yaml,sha256=Go3ZAGnYcvMBPWknZnL7exUZ8ovThTd7AwQvz0NbagI,125
2
+ api_logic_server_cli/api_logic_server.py,sha256=GiC7u2gEcup_Np08gjN5IdmN6vidMoH0kTGcbhsc55s,103346
3
+ api_logic_server_cli/api_logic_server_info.yaml,sha256=47sEOxqs8GD9OLG6VJiTZ8w9tE8EVCqF3QmwZXZ1oKE,128
4
4
  api_logic_server_cli/cli.py,sha256=gd_uHrUanp705EryYAdkY5D9LJJvvSEHUwoylm-G6sw,87355
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=gk2Zp4w2FvHV-ETvyu7QIkqNa19VNI9sroHY_w1qAJs,28051
14
+ api_logic_server_cli/create_from_model/api_logic_server_utils.py,sha256=FGS9ig5Nm3mul5KcHgpYBFfgySVwFJn5N6IcM5wbP6M,28443
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
@@ -512,12 +512,11 @@ api_logic_server_cli/prototypes/base/readme.md,sha256=4s79kGFav2k8VniRlHN0rQ7gJt
512
512
  api_logic_server_cli/prototypes/base/requirements.txt,sha256=we6X5fRBJVqN8SacwV7oPDtGk5IAiNbUDbUwCGHkCrc,107
513
513
  api_logic_server_cli/prototypes/base/run.ps1,sha256=lrZgw8SEntPam3ZYKVzsRo7rOKSGWqgO7qUNJ3CbP44,801
514
514
  api_logic_server_cli/prototypes/base/run.sh,sha256=7kJc-FpK9iqtt9BDXR1XogWXfVDnmPS8kS5fXk2Q5Dk,1442
515
- api_logic_server_cli/prototypes/base/.devcontainer-option/.copilot-instructions.md,sha256=-FIIWe5PkSubaGzDtCCg0N7M1J-g7Bk6D5ct_jaY_iM,5264
516
515
  api_logic_server_cli/prototypes/base/.devcontainer-option/For_VSCode.dockerfile,sha256=_RObRZ3EBDNj1_Sx26r_CysBboMvill83f8tQN1T0Do,438
517
516
  api_logic_server_cli/prototypes/base/.devcontainer-option/devcontainer.json,sha256=tk-mGd4XdmbpKUqUeGmcPMzX3RDc6am9-de8c-rFmSo,2361
518
517
  api_logic_server_cli/prototypes/base/.devcontainer-option/readme.md,sha256=-sSneMDne1fqEoox2hXUGmoO8ewgi34y7lJwGTidSpY,104
519
518
  api_logic_server_cli/prototypes/base/.devcontainer-option/setup.sh,sha256=pOvGjZ7jgRQzFkD93mNICmcC2y66Dexrq4bCnSSVwtU,310
520
- api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=ee0kajWWr0uQl4-YeHvs2D3zwDR-c4ZTCTqlGjN7h6k,8653
519
+ api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=sKhoKGnshxU_Ufs2ipE3YmeofsQ4jnu490LS_rnYvKg,10595
521
520
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/ApiLogicServer.xml,sha256=eFzhe9NH-VNjcPWbPsRQy5o-MugJR9IWklA1Fo8wtYg,1127
522
521
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Report_Behave_Logic.xml,sha256=I3jlEf-TPzc-1NY843v6AcQIQ8QJD3z9KvxTYSZWMtY,1306
523
522
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Run_Behave.xml,sha256=CTzF0P4w7o4FzOi-eSpru0HczSEGtJsKqkQ7VWRyxPc,1196
@@ -557,15 +556,15 @@ api_logic_server_cli/prototypes/base/database/alembic.ini,sha256=N-xPrNv1gfMB8yl
557
556
  api_logic_server_cli/prototypes/base/database/authentication_db.sqlite,sha256=hA71uBnrh2PVQw9YLc-YbsXjpxr2VyvfE-OhF_ssE6w,45056
558
557
  api_logic_server_cli/prototypes/base/database/bind_dbs.py,sha256=az3hFwWaphhCdU3siPQQa77pBdXgUJR6juMDiYLrC1Y,757
559
558
  api_logic_server_cli/prototypes/base/database/customize_models.py,sha256=U5cTWtLS0UlR7_js6D7O2JVgeMtG7IqlkSL9Ok6g_kU,580
559
+ api_logic_server_cli/prototypes/base/database/alembic/alembic_run.py,sha256=DuR80K7Y_uWAE60QyP3msfMRT5bPbvP0sBVyFG66H-s,3610
560
560
  api_logic_server_cli/prototypes/base/database/alembic/env.py,sha256=YIrFy7lQYTdTU0-4g7mbtK6kKZp0uKQED_ScpE7lzzc,2101
561
- api_logic_server_cli/prototypes/base/database/alembic/readme.md,sha256=Quaj63-4i2qHRD0MXTb-exeE7zWIb9bHICQE_Nth0v0,775
561
+ api_logic_server_cli/prototypes/base/database/alembic/readme_alembic.md,sha256=KDo2W4v_h8VevyEBEhKXHzYTtKSUFrPOJPbPRHsXTJw,1066
562
562
  api_logic_server_cli/prototypes/base/database/alembic/script.py.mako,sha256=8_xgA-gm_OhehnO7CiIijWgnm00ZlszEHtIHrAYFJl0,494
563
563
  api_logic_server_cli/prototypes/base/database/alembic/versions/readme.md,sha256=KPGsjRrwctUldo7i4P7qIZyPDPWeV9hiBPLgc5bLizo,60
564
564
  api_logic_server_cli/prototypes/base/database/database_discovery/authentication_models.py,sha256=8IGpWyNzr3BavktFP85gtsWcorTznR2DFeQb-9yCLZ4,6772
565
565
  api_logic_server_cli/prototypes/base/database/database_discovery/auto_discovery.py,sha256=m-LFznTdM581n7xkisamzHIQZ3fEiY9RPKd4wzB6wYo,978
566
566
  api_logic_server_cli/prototypes/base/database/db_debug/db_debug.py,sha256=ctcwksnM89597LUAme5Sn044r-xgRh47wSSe3MioPH4,3259
567
567
  api_logic_server_cli/prototypes/base/database/system/SAFRSBaseX.py,sha256=VeiUgXr9pkgvxchCf89lhRKNBlfj4_FYwAweu3NWj-M,5394
568
- api_logic_server_cli/prototypes/base/database/system/SAFRSBaseX.pyZ,sha256=p8C7AF9r9a_oeO1GcltUqR6YSTbcevbWVm3vhfTT1h0,2540
569
568
  api_logic_server_cli/prototypes/base/database/test_data/alp_init.py,sha256=C7yqHB7KoOgwvzRsI3DVk9O_QHPu4SYioChv0Jz5xXY,1203
570
569
  api_logic_server_cli/prototypes/base/database/test_data/readme.md,sha256=IDKVMagnjobf5IigYCkQkUMM_iLvBdhK9grMNImSOKg,694
571
570
  api_logic_server_cli/prototypes/base/database/test_data/response2code.py,sha256=PTeAXHU-r6r0EBknSGXnbkdySAAzch_3gOuRlyUyVF8,4414
@@ -620,7 +619,7 @@ api_logic_server_cli/prototypes/base/devops/python-anywhere/python_anywhere_wsgi
620
619
  api_logic_server_cli/prototypes/base/docs/graphics/readme.md,sha256=GaNOkrzT_nlcrIpmmwLQtoGC6aPZnM8bSGgmc5fM8yk,402
621
620
  api_logic_server_cli/prototypes/base/docs/logic/readme.md,sha256=fIQypEQ7Ny7q385AhpwndYRBFquG6P6xpM41-zrIseE,871
622
621
  api_logic_server_cli/prototypes/base/docs/logic_suggestions/readme_logic_suggestions.md,sha256=44ibQYGOy84J4zGFaChLCOf-GU9pOBrbgBbprujMtIs,184
623
- api_logic_server_cli/prototypes/base/docs/training/admin_app_1_context.prompt.md,sha256=Vbo9pidg0FFkVEx64Ri8tjTCvg3noLopcDj3mgPVeSY,239
622
+ api_logic_server_cli/prototypes/base/docs/training/admin_app_1_context.prompt.md,sha256=IpBkTI7BLdF7885Q0k5CTu_8Gunl5FdqH_t6fHVjAq0,1740
624
623
  api_logic_server_cli/prototypes/base/docs/training/admin_app_2_functionality.prompt.md,sha256=iWMoAkETeQjWWPrNj1AcI4HFGLlgS0-HP9oBYXhdTNI,1705
625
624
  api_logic_server_cli/prototypes/base/docs/training/admin_app_3_architecture.prompt.md,sha256=5KtRBihPbxTQEvLJ51w104Z0HfDGFEmQc3ysek6EsXA,925
626
625
  api_logic_server_cli/prototypes/base/docs/training/logic_bank_api.prompt,sha256=3zZu_AQLPskFzs_UL49-lk8Z6ck7YhQnj8wlz30Ib1k,14606
@@ -631,7 +630,7 @@ api_logic_server_cli/prototypes/base/integration/kafka/kafka_consumer.py,sha256=
631
630
  api_logic_server_cli/prototypes/base/integration/kafka/kafka_producer.py,sha256=g0nMAVfz1Y0iKJbbXfvRpdf-QUmyB4uUGZ6lyaVoXag,4470
632
631
  api_logic_server_cli/prototypes/base/integration/kafka/kafka_readme.md,sha256=MlwykHWM2w41KzWh4vPuTnIodR8f-BQzrWpV4P1hrsI,161
633
632
  api_logic_server_cli/prototypes/base/integration/mcp/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
634
- api_logic_server_cli/prototypes/base/integration/mcp/mcp_client_executor.py,sha256=AGl6PVq2ss5_HtPzuetNzM2MbBvnjdftJ-mMCLcwxQM,25480
633
+ api_logic_server_cli/prototypes/base/integration/mcp/mcp_client_executor.py,sha256=PhikCYVz7CQvwTvF5xAVcaYNzN0Kj-x9r-ZM79PlpLk,25471
635
634
  api_logic_server_cli/prototypes/base/integration/mcp/mcp_server_discovery.json,sha256=TUyInb67AWoGw7XFE9iDZxmM8UEID-ahQmdmzpF9AmQ,188
636
635
  api_logic_server_cli/prototypes/base/integration/mcp/readme-mcp.md,sha256=TuqDgTM7nHVQINmSxO8QO6rBzo_PJ-QxIxhZM3YeLB8,370
637
636
  api_logic_server_cli/prototypes/base/integration/mcp/examples/mcp_context_results.txt,sha256=27a8-MpBoE3i8UnCoMZINgeseFUxGhhwurgoV5EeP1k,8105
@@ -707,13 +706,14 @@ api_logic_server_cli/prototypes/base/venv_setup/venv.ps1,sha256=_-LfKkLw5HOkZsF5
707
706
  api_logic_server_cli/prototypes/base/venv_setup/venv.sh,sha256=aWX9fa8fe6aO9ifBIZEgGY5UGh4I0arOoCwBzDsxgU8,893
708
707
  api_logic_server_cli/prototypes/basic_demo/.DS_Store,sha256=sij8zwzUCUY-cTmB_AJNRd5JqPXoK-aLIhIo495iLIA,6148
709
708
  api_logic_server_cli/prototypes/basic_demo/README.md,sha256=YK44ad55C5aM1QMtwrQ3R-p_R0l9p8aClBmzEJqU_dk,18682
709
+ api_logic_server_cli/prototypes/basic_demo/_config.yml,sha256=KIUQQpjgj7hP_Z2Fksq90E52UnbKnyom-v9L_eIfqZo,170
710
+ api_logic_server_cli/prototypes/basic_demo/_layouts/redirect.html,sha256=-0kMPGYI88fb787IzYmdi7ySZUhgpUlP0vodrg8-NRM,457
710
711
  api_logic_server_cli/prototypes/basic_demo/customizations/.DS_Store,sha256=9TTUzzmsI5vYa6wg5TIBWMNRsKivi_IDbgb05zReWN4,6148
711
712
  api_logic_server_cli/prototypes/basic_demo/customizations/api/.DS_Store,sha256=6F7pphfwiMhILhl_J6yVhDZFYXmar5V92iLCzSkfnyA,6148
712
713
  api_logic_server_cli/prototypes/basic_demo/customizations/api/api_discovery/openapi.py,sha256=kLQ7Fn1J7tzuNJHBXF2AiwtzvQ-0JxJ6z-MfFryAtLk,3887
713
714
  api_logic_server_cli/prototypes/basic_demo/customizations/config/default.env,sha256=-rjXJrjR4vjMr9YCVYVchaJw7qMBlbvQ3KfR_wri_XM,412
714
715
  api_logic_server_cli/prototypes/basic_demo/customizations/database/db.sqlite,sha256=wF8C-AP1xzL5gNqYB_C48OnMB9coUA20zY5IU3f3-Hc,24576
715
716
  api_logic_server_cli/prototypes/basic_demo/customizations/database/models.py,sha256=bmM2TNXZXYlb4HpGjlPO_QJW_Ps0MvNlqJQPXB9TWdU,4545
716
- api_logic_server_cli/prototypes/basic_demo/customizations/database/system/SAFRSBaseX.py,sha256=VeiUgXr9pkgvxchCf89lhRKNBlfj4_FYwAweu3NWj-M,5394
717
717
  api_logic_server_cli/prototypes/basic_demo/customizations/docs/mcp_learning/mcp_discovery.json,sha256=juCiWJ_BEBgj-8JMXw-ewW6i8vL9ZkLQCd7Dkf_xWmc,3249
718
718
  api_logic_server_cli/prototypes/basic_demo/customizations/logic/cocktail-napkin.jpg,sha256=5rNSy6wvcWSHPJQZqkf2DHs19QLWiyqMBNwxGqjstZU,133075
719
719
  api_logic_server_cli/prototypes/basic_demo/customizations/logic/declare_logic.py,sha256=Yk-X017gZM1egx4MXSx_FGURj4KDqJfpq1NWVFrwfEY,4612
@@ -766,6 +766,7 @@ api_logic_server_cli/prototypes/basic_demo/customizations/ui/reference_react_app
766
766
  api_logic_server_cli/prototypes/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.js,sha256=nV_j3KpDeUpD8sPsGJeOqi6lUvcPbheJtLdqU5nENPs,4366
767
767
  api_logic_server_cli/prototypes/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/resourceLookup.ts,sha256=FlsEiPVX_U-22glUGoscj3qcYdnfMJ_9Wa2Vi4CV2xs,4471
768
768
  api_logic_server_cli/prototypes/basic_demo/customizations/ui/reference_react_app/src/rav4-jsonapi-client/styles.module.css,sha256=AuGbjqBQu2by4z5APJvQAWk44ocrdQ9lCopqYCJXCy0,154
769
+ api_logic_server_cli/prototypes/basic_demo/docs/system-creation-vibe.md,sha256=kY9pH7F0eWeAi5CBLDRkhKuTBiTsMymnxwpR5Vgxkc8,4255
769
770
  api_logic_server_cli/prototypes/basic_demo/iteration/api/api_discovery/order_b2b.py,sha256=hg9Bsz0_t-RjO9rFcW-YH3y26kq4IY5dd9FfVoYxB4w,3176
770
771
  api_logic_server_cli/prototypes/basic_demo/iteration/database/db.sqlite,sha256=SvpzWZxWnwIqd25UhzL5crhtjEfF53MLj3lOB2cPK8M,24576
771
772
  api_logic_server_cli/prototypes/basic_demo/iteration/docs/er_diagram.png,sha256=-3aSv9ay7XeFqGU-cygRz5T5eYhY627BYmA6GXdUYH0,161072
@@ -773,6 +774,8 @@ api_logic_server_cli/prototypes/basic_demo/iteration/integration/row_dict_maps/O
773
774
  api_logic_server_cli/prototypes/basic_demo/iteration/integration/row_dict_maps/OrderShipping.py,sha256=pzrK57C1ppUUcSBVNICXGujsf9p1ZTRq0bpKacgcrV0,1213
774
775
  api_logic_server_cli/prototypes/basic_demo/iteration/logic/declare_logic.py,sha256=Jnqt0j2Yu8ev1Pi9T3rogumuGn2sR4Q4QyWeUIunG28,6501
775
776
  api_logic_server_cli/prototypes/basic_demo/iteration/ui/admin/admin.yaml,sha256=uqxqYNMbKm4aCaTOy5CnlAtYccYM32-oQLVi5K6tfNI,3554
777
+ api_logic_server_cli/prototypes/basic_demo/logic/declarative-vs-procedural-comparison.html,sha256=GUzgmnWdT709M5mPJGyfF1ARzzz3y5guASDBWeG43PU,3915
778
+ api_logic_server_cli/prototypes/basic_demo/logic/procedural/declarative-vs-procedural-comparison.md,sha256=lBUyilpqRPrL-d4yp55gRyRLaeYNzbArktMOaTD5IUw,12193
776
779
  api_logic_server_cli/prototypes/classicmodels/devops/docker-compose-dev-azure/docker-compose-dev-azure.yml,sha256=5qrlCzViJcYZ9uhWGBCJmnexi7bwQaYzQKMqGCnRzS0,1389
777
780
  api_logic_server_cli/prototypes/classicmodels/devops/docker-compose-dev-local/docker-compose-dev-local.yml,sha256=WJu3CKusT1wju6CubOKi6T1pW3pbE8JrZraGTpC6HTY,1439
778
781
  api_logic_server_cli/prototypes/classicmodels/devops/docker-compose-dev-local-nginx/docker-compose-dev-local-nginx.yml,sha256=QgsdxPfRYNUco0DcXZWo5_9FgDzrCmnWFoDjkrws5XU,2456
@@ -815,10 +818,14 @@ api_logic_server_cli/prototypes/manager/.vscode/.copilot-instructions.md,sha256=
815
818
  api_logic_server_cli/prototypes/manager/.vscode/ApiLogicServer.code-workspace,sha256=yC_pOIZN5o5Qiw3t2kBPsiO01Mgp3VEbAizYx1T3aPI,282
816
819
  api_logic_server_cli/prototypes/manager/.vscode/launch.json,sha256=alh_fiuqMjY-uIk4ghfwyMs3y-U2dYr1W6rS9ncpNEY,33491
817
820
  api_logic_server_cli/prototypes/manager/.vscode/settings.json,sha256=Zj9oPObeI-KVh1l4b3uuF1vkezKomVqnhP241h6ZB-M,619
818
- api_logic_server_cli/prototypes/manager/samples/readme_samples.md,sha256=e0CwYxF-LKnbYduWdmmlO4gZw2iD8jH1osWdE6aF08Y,3050
821
+ api_logic_server_cli/prototypes/manager/samples/readme_samples.md,sha256=DnrKgO4byYk1zu2PxCuHfu--0lMAjPD_0LeMW7estLA,3153
819
822
  api_logic_server_cli/prototypes/manager/samples/dbs/readme_dbs.md,sha256=FvxzBqR00Kgc5Z76JOslHju6HYmsYOwkoARe_U-dnY0,570
820
823
  api_logic_server_cli/prototypes/manager/samples/docker_samples/run_sample_docker.sh,sha256=P_p_w4qu6Uw_JxTNCmej7XV8cdwCMUnq2HMrN5bFuZs,860
821
824
  api_logic_server_cli/prototypes/manager/samples/docker_samples/run_web_genai.sh,sha256=vA8dxmnau59OQ1NPvDP0O65fmSVQLcfk4TjFM3kLE-o,127
825
+ api_logic_server_cli/prototypes/manager/samples/prompts/add_email.prompt,sha256=wEPE_ZioEetFU11PDHpdaeFgruASNNFJMSgivcaJi7w,403
826
+ api_logic_server_cli/prototypes/manager/samples/prompts/elections.prompt,sha256=R7B0KFuuWTuH6YOTr_AEHHgnHE4spR_BUrlOl0TX-cE,80
827
+ api_logic_server_cli/prototypes/manager/samples/prompts/emp_dept.prompt,sha256=xbyhCyY7TUk7hoBKAkzRsZVBj1lP4hfXdSR4TQagXqM,109
828
+ api_logic_server_cli/prototypes/manager/samples/prompts/genai_demo.prompt,sha256=mhxJ5d4rALI45DNFkmBCH14YCl0FVuSyy1FgVTSBRrU,570
822
829
  api_logic_server_cli/prototypes/manager/system/Manager_workspace.code-workspace,sha256=ieWHaqLQ8uXoSzNSklVdDKoIjD-H3d6H4aUP1d_Jy1s,305
823
830
  api_logic_server_cli/prototypes/manager/system/readme_ssystem.md,sha256=52zXRh5KJ4GSRWyNLwzbXqKMDJmR7M6PhS71-DIUoBI,106
824
831
  api_logic_server_cli/prototypes/manager/system/style-guide.yaml,sha256=JaP3NDE29k4_e9ELeLTZfnWf2L8VgS1X7hO8J_BNqJU,673
@@ -1260,7 +1267,7 @@ api_logic_server_cli/prototypes/manager/system/app_model_editor/venv_setup/venv-
1260
1267
  api_logic_server_cli/prototypes/manager/system/app_model_editor/venv_setup/venv.ps1,sha256=_-LfKkLw5HOkZsF59BGCqM9Zsk3n1oDIyDb4emy0O08,698
1261
1268
  api_logic_server_cli/prototypes/manager/system/app_model_editor/venv_setup/venv.sh,sha256=aWX9fa8fe6aO9ifBIZEgGY5UGh4I0arOoCwBzDsxgU8,893
1262
1269
  api_logic_server_cli/prototypes/manager/system/genai/.DS_Store,sha256=ndrcwHjeXXcVbvjdiQNuyCtmI6m-kvDLoEnr0fFJsuY,6148
1263
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-App-Resource-Learning-Prompt.md,sha256=NaoanZbP9-lc7gqO5BUKbwp7gkQWhh9u8NRWhftoCxw,8094
1270
+ api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-App-Resource-Learning-Prompt.md,sha256=nemov3onAVNZotkxuZBoRqHSW5wbePRIUsxmRrNU5S0,8108
1264
1271
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-App-js-Learning-Prompt.md,sha256=LafKtiWNGIjdv6eJpKPFbN4fiNnQq9pCIAKZyyeoCyE,2018
1265
1272
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-config-prompt.md,sha256=fyP8X1q9tM3i6bTVioa7ieM_aTUfk4GPo08aOWZ60-0,932
1266
1273
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/app_learning/Admin-json-api-model-prompt.md,sha256=5Zp9q_lpY225qceQ3UhF4Fyd-85hDKkD-r3BWYmcs6Y,2890
@@ -1268,7 +1275,7 @@ api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-t
1268
1275
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/README.md,sha256=h7ePuwOqn3jv7YkjM4ruaP5rpYBmr_4Q3NChhb8pVJ4,452
1269
1276
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/README_create_react_app.md,sha256=cOr7x6X9RmqjITtafhsqQTg8vl1Ob8X0WC78WL21CdE,3359
1270
1277
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/package-lock.json,sha256=dG1s4WtUFp0ZhVWGwp_Ocv-Ii2c92Xb4FWqHFc0m7KU,698058
1271
- api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/package.json,sha256=6_nHZ8UzSaDWUPv6DyGJ3QAO392tc2rc8JPOp7V7gz4,1114
1278
+ api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/package.json,sha256=83SmDclqP-LkO8Isn87qA2DDfCmCYpBoXAkWEKN8lNM,1139
1272
1279
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/favicon.ico,sha256=PRD32mxgMXg0AIFmjErFs66XQ8qaJiqw_NMS-7n0i90,3870
1273
1280
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/index.html,sha256=IK_Be2NYv99ddFEyJc1Kc0Q_oL0VuUSvceFD9pSlz3w,1721
1274
1281
  api_logic_server_cli/prototypes/manager/system/genai/app_templates/react-admin-template/public/logo192.png,sha256=w4Y5bscNs2CAdbX7-qxKscyqhroFpoqzk-xVHrZsPgA,5347
@@ -2246,7 +2253,7 @@ api_logic_server_cli/sqlacodegen_wrapper/Readme.md,sha256=pcBng3xB7DHqcLSY9NgVlt
2246
2253
  api_logic_server_cli/sqlacodegen_wrapper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2247
2254
  api_logic_server_cli/sqlacodegen_wrapper/console_log.txt,sha256=RvaA45ZgMc5won9JzwK9BMK0LKfkiARNS0EW31vjTeM,53944
2248
2255
  api_logic_server_cli/sqlacodegen_wrapper/requirements.txt,sha256=13u62njPM4Emzdxow4V8xxYVjBQoO3aSAtNt0Z_V3aE,54
2249
- api_logic_server_cli/sqlacodegen_wrapper/sqlacodegen_wrapper.py,sha256=u1DdlyrzCAiA85YXYQA7p1Z2_56H6lKZBjEOW4FmWnQ,22347
2256
+ api_logic_server_cli/sqlacodegen_wrapper/sqlacodegen_wrapper.py,sha256=bJ4UXu4Qpf9Yo8Qa3K-V78cdcOQNUZKl38jkSkrEopU,22460
2250
2257
  api_logic_server_cli/sqlacodegen_wrapper/sqlacodegen/.travis.yml,sha256=mz8WDjTN-Rj9quyH-OZfTRcrACRZ98Dk0V_Z1v8udGY,1850
2251
2258
  api_logic_server_cli/sqlacodegen_wrapper/sqlacodegen/CHANGES.rst,sha256=lpwnI9rMfFx-TbbTa83B0qmracfKFSKnJMDVBR150fk,2593
2252
2259
  api_logic_server_cli/sqlacodegen_wrapper/sqlacodegen/README.rst,sha256=i5RCj2RqmvoDWv4tczRiJ3a5ONugmW69-kjbTzGc7JA,3865
@@ -2291,9 +2298,9 @@ api_logic_server_cli/tools/mini_skel/database/system/SAFRSBaseX.py,sha256=p8C7AF
2291
2298
  api_logic_server_cli/tools/mini_skel/database/system/TestDataBase.py,sha256=U02SYqThsbY5g3DX7XGaiMxjZBuOpzvtPS6RfI1WQFg,371
2292
2299
  api_logic_server_cli/tools/mini_skel/logic/declare_logic.py,sha256=fTrlHyqMeZsw_TyEXFa1VlYBL7fzjZab5ONSXO7aApo,175
2293
2300
  api_logic_server_cli/tools/mini_skel/logic/load_verify_rules.py,sha256=Rr5bySJpYCZmNPF2h-phcPJ53nAOPcT_ohZpCD93-a0,7530
2294
- apilogicserver-15.0.52.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2295
- apilogicserver-15.0.52.dist-info/METADATA,sha256=b4bmqLnQ8hYSI0KJ1Z23KmSbUqbHz-inmxLgHla_eLc,6653
2296
- apilogicserver-15.0.52.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2297
- apilogicserver-15.0.52.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2298
- apilogicserver-15.0.52.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2299
- apilogicserver-15.0.52.dist-info/RECORD,,
2301
+ apilogicserver-15.0.54.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2302
+ apilogicserver-15.0.54.dist-info/METADATA,sha256=u_kzLkZzeLmpaiWujZWvW2YmKXtQ_Jr5VC3x0KIw7LY,6653
2303
+ apilogicserver-15.0.54.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2304
+ apilogicserver-15.0.54.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2305
+ apilogicserver-15.0.54.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2306
+ apilogicserver-15.0.54.dist-info/RECORD,,