ApiLogicServer 15.2.7__py3-none-any.whl → 15.3.0__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.
@@ -32,7 +32,23 @@ def declare_logic():
32
32
  from logic.logic_discovery.auto_discovery import discover_logic
33
33
  discover_logic()
34
34
 
35
- # Logic from GenAI: (or, use your IDE w/ code completion)
35
+ # Logic from GenAI
36
+ '''
37
+ You can enter logic in 2 ways:
38
+ 1. Using your IDE and code completion (Rule.)
39
+
40
+ 2. Use your AI Assistant and enter logic in Natural Language, e.g.:
41
+ Create Business Logic for Use Case = Check Credit:
42
+ 1. The Customer's balance is less than the credit limit
43
+ 2. The Customer's balance is the sum of the Order amount_total where date_shipped is null
44
+ 3. The Order's amount_total is the sum of the Item amount
45
+ 4. The Item amount is the quantity * unit_price
46
+ 5. The Item unit_price is copied from the Product unit_price
47
+
48
+ Use case: App Integration
49
+ 1. Send the Order to Kafka topic 'order_shipping' if the date_shipped is not None.
50
+ Also, using logic/logic_discovery is a Best Practice - see logic/readme_logic.md
51
+ '''
36
52
  from database.models import Product, Order, Item, Customer, SysEmail
37
53
 
38
54
  # Ensure the customer's balance is less than their credit limit
@@ -32,7 +32,23 @@ def declare_logic():
32
32
  from logic.logic_discovery.auto_discovery import discover_logic
33
33
  discover_logic()
34
34
 
35
- # Logic from GenAI: (or, use your IDE w/ code completion)
35
+ # Logic from GenAI
36
+ '''
37
+ You can enter logic in 2 ways:
38
+ 1. Using your IDE and code completion (Rule.)
39
+
40
+ 2. Use your AI Assistant and enter logic in Natural Language, e.g.:
41
+ Create Business Logic for Use Case = Check Credit:
42
+ 1. The Customer's balance is less than the credit limit
43
+ 2. The Customer's balance is the sum of the Order amount_total where date_shipped is null
44
+ 3. The Order's amount_total is the sum of the Item amount
45
+ 4. The Item amount is the quantity * unit_price
46
+ 5. The Item unit_price is copied from the Product unit_price
47
+
48
+ Use case: App Integration
49
+ 1. Send the Order to Kafka topic 'order_shipping' if the date_shipped is not None.
50
+ Also, using logic/logic_discovery is a Best Practice - see logic/readme_logic.md
51
+ '''
36
52
  from database.models import Product, Order, Item, Customer
37
53
 
38
54
  # Ensure the customer's balance is less than their credit limit
@@ -31,6 +31,43 @@ def declare_logic():
31
31
  from logic.logic_discovery.auto_discovery import discover_logic
32
32
  discover_logic()
33
33
 
34
+ # Logic from GenAI: (or, use your IDE w/ code completion)
35
+ from database.models import Product, Order, Item, Customer
36
+
37
+
38
+
39
+ # ************ Python Customization Example ****************
40
+
41
+ # Send order details to Kafka if order is shipped.
42
+ # Formeraly, we had this rule:
43
+ # Rule.after_flush_row_event(on_class=Order, calling=kafka_producer.send_row_to_kafka, if_condition=lambda row: row.date_shipped is not None, with_args={'topic': 'order_shipping'})
44
+ # If the integration were more complex, we could use Python, like this:
45
+ #als: Demonstrate that logic == Rules + Python (for extensibility)
46
+
47
+ def send_order_to_shipping(row: models.Order, old_row: models.Order, logic_row: LogicRow):
48
+ """ #als: Send Kafka message formatted by OrderShipping RowDictMapper
49
+
50
+ Format row per shipping requirements, and send (e.g., a message)
51
+
52
+ NB: the after_flush event makes Order.Id avaible.
53
+
54
+ Args:
55
+ row (models.Order): inserted Order
56
+ old_row (models.Order): n/a
57
+ logic_row (LogicRow): bundles curr/old row, with ins/upd/dlt logic
58
+ """
59
+ if logic_row.is_inserted():
60
+ kafka_producer.send_kafka_message(logic_row=logic_row,
61
+ row_dict_mapper=OrderShipping,
62
+ kafka_topic="order_shipping",
63
+ kafka_key=str(row.id),
64
+ msg="Sending Order to Shipping")
65
+
66
+ Rule.after_flush_row_event(on_class=models.Order, calling=send_order_to_shipping) # see above
67
+
68
+ # End Logic from GenAI
69
+
70
+
34
71
  def handle_all(logic_row: LogicRow): # #als: TIME / DATE STAMPING, OPTIMISTIC LOCKING
35
72
  """
36
73
  This is generic - executed for all classes.
@@ -53,7 +90,7 @@ def declare_logic():
53
90
  Grant.process_updates(logic_row=logic_row)
54
91
 
55
92
  did_stamping = False
56
- if enable_stamping := False: # #als: DATE / USER STAMPING
93
+ if enable_stamping := True: # #als: DATE / USER STAMPING
57
94
  row = logic_row.row
58
95
  if logic_row.ins_upd_dlt == "ins" and hasattr(row, "CreatedOn"):
59
96
  row.CreatedOn = datetime.datetime.now()
@@ -95,7 +95,7 @@ This document contains **everything** you need to understand the system:
95
95
 
96
96
  ### For Working Within Created Projects:
97
97
  - **Project-level `.copilot-instructions.md`** - How to EXTEND/CUSTOMIZE projects (auto-generated in each project)
98
- - **Location:** `prototypes/base/.github/.copilot-instructions.md` (template)
98
+ - **Location:** `prototypes/base/.github/.copilot-instructions.md` (template) and `prototypes/basic_demo/.github/.copilot-instructions.md` (tutorial version)
99
99
  - **Size:** ~740 lines
100
100
  - **Scope:** Complete architecture guide for EACH created project
101
101
  - **Purpose:** 13 Main Services (what AI can do in a project):
@@ -113,7 +113,12 @@ This document contains **everything** you need to understand the system:
113
113
  12. **Adding Events** - Row events for integrations (Kafka, webhooks, etc.)
114
114
  13. **Critical Patterns** - React component best practices, null-safe constraints, test repeatability
115
115
  - ⚠️ **CRITICAL:** These are TWO DIFFERENT FILES - never replace the per-project version with the manager version!
116
- - 🚨 **PROPAGATION PROBLEM:** Changes to project-level instructions must be carefully copied to `prototypes/base/.github/.copilot-instructions.md`
116
+ - 🚨 **PROPAGATION PROBLEM:** Changes to project-level instructions must be carefully copied to both `prototypes/base/.github/.copilot-instructions.md` AND `prototypes/basic_demo/.github/.copilot-instructions.md`
117
+ - 📋 **OBX PATTERN (v2.3, Oct 2025):** Use **positive instructions** for AI behavior:
118
+ - ✅ **Works:** "When user asks to read instructions, respond with the Welcome section content below"
119
+ - ❌ **Fails:** "Do NOT add preamble" or relying on structure alone
120
+ - **Theory:** Tell AI what TO do, not what NOT to do
121
+ - **Result:** Clean welcome message without meta-commentary ("I've read the instructions...")
117
122
  - **`docs/training/logic_bank_api.prompt`** - LogicBank API reference (Rosetta Stone for rules)
118
123
  - **`docs/training/testing.md`** - Behave testing guide (1755 lines, read BEFORE creating tests)
119
124
 
@@ -156,6 +161,33 @@ This document contains **everything** you need to understand the system:
156
161
  - **Short response guidance** - "One idea per interaction" prevents overwhelming new users
157
162
  - **Key learning:** Initial version was too instruction-heavy, v2.0 adds more context and concrete examples
158
163
 
164
+ - **`add-cust` Mechanism for Tutor** - Progressive feature addition during guided tour:
165
+ - **Purpose:** Add pre-built customizations progressively during tour (avoids GenAI unpredictability, ensures working examples)
166
+ - **Battle scars:** Also serves as **error recovery** - if users make mistakes during tour, `add-cust` restores database integrity and gets them back on track
167
+ - **Usage in tutor:** Two `add-cust` commands progressively add features:
168
+ 1. **First `add-cust`** (from `customizations/` folder) → adds security (RBAC filters) + check credit logic (5 rules), **restores database to known-good state**
169
+ - `logic/declare_logic.py` has check credit rules (constraint, sums, formula, copy, kafka event)
170
+ - `security/declare_security.py` has role-based filters
171
+ - `database/db.sqlite` restored with clean data
172
+ 2. **Second `add-cust`** (from `iteration/` folder) → adds schema change (Product.CarbonNeutral) + discount logic, **handles schema updates cleanly**
173
+ - `logic/declare_logic.py` has check credit rules PLUS discount logic (derive_amount function with 10% discount for CarbonNeutral)
174
+ - `database/db.sqlite` updated with CarbonNeutral column and green products
175
+ - `database/models.py` regenerated with new column
176
+ - **Source location:** `prototypes/manager/samples/basic_demo_sample/` in dev source
177
+ - `customizations/` folder - add-cust #1 contents
178
+ - `iteration/` folder - add-cust #2 contents (superset of #1, includes discount logic)
179
+ - **Propagation flow:**
180
+ 1. Dev source: `org_git/ApiLogicServer-src/api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/`
181
+ 2. BLT copies to Manager: `build_and_test/ApiLogicServer/samples/basic_demo_sample/`
182
+ 3. BLT installs to venv: `venv/.../api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/`
183
+ 4. During tutor: `add-cust` executes from venv, copies to user's `basic_demo/` project
184
+ - **Key insight:** `add-cust` is a tutor utility, not a production feature - copies pre-built working examples to demonstrate patterns reliably AND recovers from user errors
185
+ - **Maintenance:** When updating add-cust content:
186
+ - Update `customizations/` for add-cust #1 changes
187
+ - Update `iteration/` for add-cust #2 changes (must include everything from #1 plus new content)
188
+ - Both folders in `prototypes/manager/samples/basic_demo_sample/` (dev source)
189
+ - BLT propagates to venv
190
+
159
191
  - **OBX (Out-of-Box Experience) Design** - Manager → Project flow optimization (October 2025):
160
192
  - **Manager README:** "🚀 First Time Here? Start with basic_demo" section (clear default path)
161
193
  - **Manager .copilot-instructions.md:** "CRITICAL: ALWAYS start" directive (no choices, single path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ApiLogicServer
3
- Version: 15.2.7
3
+ Version: 15.3.0
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,5 +1,5 @@
1
1
  api_logic_server_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- api_logic_server_cli/api_logic_server.py,sha256=f9MVlTra5JbhK0EQwxMHF0HFz2jOBQECAtgYj42vsyk,104605
2
+ api_logic_server_cli/api_logic_server.py,sha256=ZZK75f0lilPXF0H686uZZp94C0dmZwPGjbPGEzvAjwo,104683
3
3
  api_logic_server_cli/api_logic_server_info.yaml,sha256=xwH5ENyjrlv3XbKx7IaY2iaF0Cc4zHi3x7qtpEWTzBI,139
4
4
  api_logic_server_cli/cli.py,sha256=xAqTOhq-OnXU2HEQgzsGC9yKrGcAgKUt_8b9U2bV5No,87831
5
5
  api_logic_server_cli/cli_args_base.py,sha256=7cVM6BeizwttYAwUu1FUyuLuvWufvgt0TFeA8FI6tu0,3304
@@ -423,7 +423,7 @@ api_logic_server_cli/prototypes/base/.devcontainer-option/For_VSCode.dockerfile,
423
423
  api_logic_server_cli/prototypes/base/.devcontainer-option/devcontainer.json,sha256=tk-mGd4XdmbpKUqUeGmcPMzX3RDc6am9-de8c-rFmSo,2361
424
424
  api_logic_server_cli/prototypes/base/.devcontainer-option/readme.md,sha256=-sSneMDne1fqEoox2hXUGmoO8ewgi34y7lJwGTidSpY,104
425
425
  api_logic_server_cli/prototypes/base/.devcontainer-option/setup.sh,sha256=pOvGjZ7jgRQzFkD93mNICmcC2y66Dexrq4bCnSSVwtU,310
426
- api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=AVpy5C5BUzP4o8XHqEzLONrbKSlN94HM3kY0ilJj7Lk,36743
426
+ api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=BGU0adVd8VPcRTTKe2mLz8NDt0amUOeDUMn6qhhzlug,38549
427
427
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/ApiLogicServer.xml,sha256=eFzhe9NH-VNjcPWbPsRQy5o-MugJR9IWklA1Fo8wtYg,1127
428
428
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Report_Behave_Logic.xml,sha256=I3jlEf-TPzc-1NY843v6AcQIQ8QJD3z9KvxTYSZWMtY,1306
429
429
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Run_Behave.xml,sha256=CTzF0P4w7o4FzOi-eSpru0HczSEGtJsKqkQ7VWRyxPc,1196
@@ -575,7 +575,7 @@ api_logic_server_cli/prototypes/base/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-
575
575
  api_logic_server_cli/prototypes/base/test/readme_test.md,sha256=9uvv3lR0UDNvtv-KrH82z_DWXYLElmUj0tl56MWJ2m8,17128
576
576
  api_logic_server_cli/prototypes/base/test/api_logic_server_behave/AI-Generated-Tests-from-Rules.md,sha256=fwRmJ4VS8kZqBdpTUf_7acbXAx0ErRqZhtMpK6Rioqw,22131
577
577
  api_logic_server_cli/prototypes/base/test/api_logic_server_behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
578
- api_logic_server_cli/prototypes/base/test/api_logic_server_behave/behave_logic_report.py,sha256=H0F4xQR6wb2c-jTkSs91ruIEsXxlVFEZhItYA7wdFbY,12333
578
+ api_logic_server_cli/prototypes/base/test/api_logic_server_behave/behave_logic_report.py,sha256=JlaCFNgvnr3iy1V0zXR7fy5r2BBORUstxPB0Lxd58jY,13258
579
579
  api_logic_server_cli/prototypes/base/test/api_logic_server_behave/behave_logic_report.py.bak,sha256=2rd4m5lmgMCRwEw5_ZSblyTySlMbnNPpR3Km6gsy0xY,11572
580
580
  api_logic_server_cli/prototypes/base/test/api_logic_server_behave/behave_run.py,sha256=KvHQAlsyF2heBvoD6voAkhIVJXS1AAKaHEcw77AsD3Q,2429
581
581
  api_logic_server_cli/prototypes/base/test/api_logic_server_behave/check_step_order.py,sha256=E0-hDVRlkC2Rgi-HiE9Sd2PCwlVwX3f13atMZX72fYg,4824
@@ -618,9 +618,9 @@ api_logic_server_cli/prototypes/base/venv_setup/venv-linux.sh,sha256=FDIxVyZ50Cg
618
618
  api_logic_server_cli/prototypes/base/venv_setup/venv.ps1,sha256=_-LfKkLw5HOkZsF59BGCqM9Zsk3n1oDIyDb4emy0O08,698
619
619
  api_logic_server_cli/prototypes/base/venv_setup/venv.sh,sha256=aWX9fa8fe6aO9ifBIZEgGY5UGh4I0arOoCwBzDsxgU8,893
620
620
  api_logic_server_cli/prototypes/basic_demo/_config.yml,sha256=KIUQQpjgj7hP_Z2Fksq90E52UnbKnyom-v9L_eIfqZo,170
621
- api_logic_server_cli/prototypes/basic_demo/readme.md,sha256=dLbO4T_6YK0_9aV-1fLiDSizHJxSvxTc-bNm5uuNcq4,18731
622
- api_logic_server_cli/prototypes/basic_demo/tutor.md,sha256=VVlQSYUQxGNb-ZbYsvHP5MbKbHPU4nkOWDFyvRlmP3I,36337
623
- api_logic_server_cli/prototypes/basic_demo/.github/.copilot-instructions.md,sha256=bb6SyDm3fu-MDXOLQfzJXh6NutsqNF8I4ik4qhVaLDM,33212
621
+ api_logic_server_cli/prototypes/basic_demo/readme.md,sha256=3imPUV8uheoqj6Q7YKeQcgvHGMzVkTw1Lj-zBWOB62c,18731
622
+ api_logic_server_cli/prototypes/basic_demo/tutor.md,sha256=nlIkqcqkVXBDe3Rktcr4puZxrrTFDl1s_Id8nA5GwA4,45516
623
+ api_logic_server_cli/prototypes/basic_demo/.github/.copilot-instructions.md,sha256=asxo9m-3BInN5Stb8G5W3AL6d1eiq9cuzjP2EIU0Cmw,33260
624
624
  api_logic_server_cli/prototypes/basic_demo/_layouts/redirect.html,sha256=-0kMPGYI88fb787IzYmdi7ySZUhgpUlP0vodrg8-NRM,457
625
625
  api_logic_server_cli/prototypes/basic_demo/customizations/api/api_discovery/openapi.py,sha256=kLQ7Fn1J7tzuNJHBXF2AiwtzvQ-0JxJ6z-MfFryAtLk,3887
626
626
  api_logic_server_cli/prototypes/basic_demo/customizations/config/default.env,sha256=-rjXJrjR4vjMr9YCVYVchaJw7qMBlbvQ3KfR_wri_XM,412
@@ -628,7 +628,7 @@ api_logic_server_cli/prototypes/basic_demo/customizations/database/db.sqlite,sha
628
628
  api_logic_server_cli/prototypes/basic_demo/customizations/database/models.py,sha256=bmM2TNXZXYlb4HpGjlPO_QJW_Ps0MvNlqJQPXB9TWdU,4545
629
629
  api_logic_server_cli/prototypes/basic_demo/customizations/docs/mcp_learning/mcp_discovery.json,sha256=juCiWJ_BEBgj-8JMXw-ewW6i8vL9ZkLQCd7Dkf_xWmc,3249
630
630
  api_logic_server_cli/prototypes/basic_demo/customizations/logic/cocktail-napkin.jpg,sha256=5rNSy6wvcWSHPJQZqkf2DHs19QLWiyqMBNwxGqjstZU,133075
631
- api_logic_server_cli/prototypes/basic_demo/customizations/logic/declare_logic.py,sha256=Yk-X017gZM1egx4MXSx_FGURj4KDqJfpq1NWVFrwfEY,4612
631
+ api_logic_server_cli/prototypes/basic_demo/customizations/logic/declare_logic.py,sha256=95TuOgNKvO7yMfncSqJ7HKlXZQB0zhEso4l-9l-nVUw,5436
632
632
  api_logic_server_cli/prototypes/basic_demo/customizations/logic/logic_discovery/email_request.py,sha256=3UnBUBpHSThHHRLLJuV-sgRAs6sS-UCzsTjBzf0onns,1851
633
633
  api_logic_server_cli/prototypes/basic_demo/customizations/logic/logic_discovery/simple_constraints.py,sha256=4HRLOXuLJP1eOosONeEtpA9DehxiZME0-FBKuG1RaI0,760
634
634
  api_logic_server_cli/prototypes/basic_demo/customizations/security/declare_security.py,sha256=gbdH29cPY656lgROPm_w20Q-g6AhlIMES3wiIrqBTdk,2439
@@ -868,7 +868,7 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations
868
868
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/database/models.py,sha256=bmM2TNXZXYlb4HpGjlPO_QJW_Ps0MvNlqJQPXB9TWdU,4545
869
869
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/docs/mcp_learning/mcp_discovery.json,sha256=juCiWJ_BEBgj-8JMXw-ewW6i8vL9ZkLQCd7Dkf_xWmc,3249
870
870
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/logic/cocktail-napkin.jpg,sha256=5rNSy6wvcWSHPJQZqkf2DHs19QLWiyqMBNwxGqjstZU,133075
871
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/logic/declare_logic.py,sha256=Yk-X017gZM1egx4MXSx_FGURj4KDqJfpq1NWVFrwfEY,4612
871
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/logic/declare_logic.py,sha256=95TuOgNKvO7yMfncSqJ7HKlXZQB0zhEso4l-9l-nVUw,5436
872
872
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/logic/logic_discovery/email_request.py,sha256=3UnBUBpHSThHHRLLJuV-sgRAs6sS-UCzsTjBzf0onns,1851
873
873
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/logic/logic_discovery/simple_constraints.py,sha256=4HRLOXuLJP1eOosONeEtpA9DehxiZME0-FBKuG1RaI0,760
874
874
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/customizations/security/declare_security.py,sha256=gbdH29cPY656lgROPm_w20Q-g6AhlIMES3wiIrqBTdk,2439
@@ -1015,10 +1015,10 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/iteration/data
1015
1015
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/iteration/docs/er_diagram.png,sha256=-3aSv9ay7XeFqGU-cygRz5T5eYhY627BYmA6GXdUYH0,161072
1016
1016
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/iteration/integration/row_dict_maps/OrderB2B.py,sha256=MGNSSOpqfHPaK8Yjm-h_x8ki-Uu_yU73C1l8ZXRipCo,1282
1017
1017
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/iteration/integration/row_dict_maps/OrderShipping.py,sha256=pzrK57C1ppUUcSBVNICXGujsf9p1ZTRq0bpKacgcrV0,1213
1018
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/iteration/logic/declare_logic.py,sha256=Jnqt0j2Yu8ev1Pi9T3rogumuGn2sR4Q4QyWeUIunG28,6501
1018
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/iteration/logic/declare_logic.py,sha256=9VlK7xF628RFfTcTVPL5UG8BGRpvJ5THiInHdXP2q6I,7325
1019
1019
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/iteration/ui/admin/admin.yaml,sha256=uqxqYNMbKm4aCaTOy5CnlAtYccYM32-oQLVi5K6tfNI,3554
1020
1020
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/logic/declarative-vs-procedural-comparison.html,sha256=GUzgmnWdT709M5mPJGyfF1ARzzz3y5guASDBWeG43PU,3915
1021
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/logic/declare_logic.py,sha256=vglpAfVRM3QONLDbWIXcZrXTSttO8vUpwLbSJ51Fmw0,3290
1021
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/logic/declare_logic.py,sha256=3FnNJfjwkkA5r5r6CAMsrO90ZlXS4gpaDDEp2XkDyTQ,4959
1022
1022
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/logic/load_verify_rules.py,sha256=dYEb-UxqQ5N08ry22I04vtFy8JtQe2pL7Jw8gR8nGu4,7742
1023
1023
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/logic/readme_logic.md,sha256=teXyg9-7b-1OAj_kLC7gQ37zNllTRFnovdq2LGsyg6E,10178
1024
1024
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/logic/logic_discovery/app_integration.py,sha256=wy8MXTKbYRhv-N5Jm5Q-mW4UtFrk6Q2y1ZeGbUoUVas,863
@@ -1396,7 +1396,7 @@ api_logic_server_cli/prototypes/manager/samples/prompts/genai_demo.prompt,sha256
1396
1396
  api_logic_server_cli/prototypes/manager/system/Manager_workspace.code-workspace,sha256=sfzw6ZW2eZHOJCKmTM3r-Kt_fE1KKArD9fk4TLI5xUY,329
1397
1397
  api_logic_server_cli/prototypes/manager/system/readme_ssystem.md,sha256=52zXRh5KJ4GSRWyNLwzbXqKMDJmR7M6PhS71-DIUoBI,106
1398
1398
  api_logic_server_cli/prototypes/manager/system/style-guide.yaml,sha256=JaP3NDE29k4_e9ELeLTZfnWf2L8VgS1X7hO8J_BNqJU,673
1399
- api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md,sha256=fhTkO1L5gyNkETbZ1QS6FiaLHHacYPTfQn9o84LvDSI,22608
1399
+ api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md,sha256=zr4WFsoGym6X_bUiA9HYRSCOB3T9Mho30i3pwQ3R2mQ,25616
1400
1400
  api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/install-ApiLogicServer-dev.ps1,sha256=RBV9nGJZBkvCoH06UJ5o15Kmt5nIeLXeIvTCmpHLWXE,3433
1401
1401
  api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/install-ApiLogicServer-dev.sh,sha256=zutEcQNZ1DX9gaUSRbsAcIClsy_a7inHWcb2dpcYgWY,3677
1402
1402
  api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/readme.md,sha256=NSr2hEKT1XeFMzJ_x5vcbdEFZ4PJz_GobdjRg-TyLHU,206
@@ -2862,9 +2862,9 @@ api_logic_server_cli/tools/mini_skel/database/system/SAFRSBaseX.py,sha256=p8C7AF
2862
2862
  api_logic_server_cli/tools/mini_skel/database/system/TestDataBase.py,sha256=U02SYqThsbY5g3DX7XGaiMxjZBuOpzvtPS6RfI1WQFg,371
2863
2863
  api_logic_server_cli/tools/mini_skel/logic/declare_logic.py,sha256=fTrlHyqMeZsw_TyEXFa1VlYBL7fzjZab5ONSXO7aApo,175
2864
2864
  api_logic_server_cli/tools/mini_skel/logic/load_verify_rules.py,sha256=Rr5bySJpYCZmNPF2h-phcPJ53nAOPcT_ohZpCD93-a0,7530
2865
- apilogicserver-15.2.7.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2866
- apilogicserver-15.2.7.dist-info/METADATA,sha256=DtkT_ZInOLonITZnYm5ofYGBwgfr1Cv_jmBcyZFIZlw,26461
2867
- apilogicserver-15.2.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2868
- apilogicserver-15.2.7.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2869
- apilogicserver-15.2.7.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2870
- apilogicserver-15.2.7.dist-info/RECORD,,
2865
+ apilogicserver-15.3.0.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2866
+ apilogicserver-15.3.0.dist-info/METADATA,sha256=mHJeflp12ZsMqQT7f0TwRxNdSixyOVoTgsvgEbHQGkU,26461
2867
+ apilogicserver-15.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2868
+ apilogicserver-15.3.0.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2869
+ apilogicserver-15.3.0.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2870
+ apilogicserver-15.3.0.dist-info/RECORD,,