aab-prompts 1.0.0__tar.gz → 1.0.2__tar.gz
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.
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/PKG-INFO +1 -1
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/aab_prompts.egg-info/PKG-INFO +1 -1
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/aab_service.py +76 -40
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/breadcrumbs.py +1 -1
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/view_links_planner.py +0 -1
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/pyproject.toml +1 -1
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/tests/test_prompts.py +65 -65
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/aab_prompts.egg-info/SOURCES.txt +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/aab_prompts.egg-info/dependency_links.txt +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/aab_prompts.egg-info/top_level.txt +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/__init__.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/constants.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/expressions.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/menu_navigations.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/objects_fields.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/page_planner.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/pages.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/planner.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/router.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/solutions_applications.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/view_filter_planner.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/view_planner.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/prompts/views.py +0 -0
- {aab_prompts-1.0.0 → aab_prompts-1.0.2}/setup.cfg +0 -0
|
@@ -25,6 +25,7 @@ from prompts.views import CALENDAR_VIEW_PROPERTIES_TEMPLATE, CARD_VIEW_PROPERTIE
|
|
|
25
25
|
class _BreadcrumbsHandler:
|
|
26
26
|
"""Handler for all breadcrumb-related prompts."""
|
|
27
27
|
|
|
28
|
+
@property
|
|
28
29
|
def BREADCRUMB_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
29
30
|
return BREADCRUMB_AGENT_SYSTEM_PROMPT_TEMPLATE
|
|
30
31
|
|
|
@@ -78,6 +79,7 @@ class _ExpressionsHandler:
|
|
|
78
79
|
|
|
79
80
|
return "\n".join(sections)
|
|
80
81
|
|
|
82
|
+
@property
|
|
81
83
|
def CORE_EXPRESSIONS(self) -> str:
|
|
82
84
|
return f"""
|
|
83
85
|
## Built in Core Expressions
|
|
@@ -87,51 +89,60 @@ class _ExpressionsHandler:
|
|
|
87
89
|
{self._generate_system_prompt(self.core_expressions)}
|
|
88
90
|
"""
|
|
89
91
|
|
|
92
|
+
@property
|
|
90
93
|
def EXPRESSION_REQUIREMENTS(self) -> str:
|
|
91
94
|
return EXPRESSION_REQUIREMENTS_TEMPLATE
|
|
92
95
|
|
|
96
|
+
@property
|
|
93
97
|
def EXPRESSIONS_AGENT_PROMPT(self) -> str:
|
|
94
98
|
return EXPRESSIONS_AGENT_PROMPT_TEMPLATE.format(
|
|
95
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
96
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
99
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
100
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
97
101
|
)
|
|
98
102
|
|
|
103
|
+
@property
|
|
99
104
|
def SHOW_IF_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
100
105
|
return SHOW_IF_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
101
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
102
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
106
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
107
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
103
108
|
)
|
|
104
109
|
|
|
110
|
+
@property
|
|
105
111
|
def INITIAL_VALUE_EXAMPLES(self) -> str:
|
|
106
112
|
return INITIAL_VALUE_EXAMPLES_TEMPLATE
|
|
107
113
|
|
|
114
|
+
@property
|
|
108
115
|
def VIEW_FILTER_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
109
116
|
return VIEW_FILTER_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
110
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
111
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
117
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
118
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
112
119
|
)
|
|
113
120
|
|
|
121
|
+
@property
|
|
114
122
|
def FIELDS_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
115
123
|
return FIELDS_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
116
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
117
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
124
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
125
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
118
126
|
)
|
|
119
127
|
|
|
128
|
+
@property
|
|
120
129
|
def VIEWS_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
121
130
|
return VIEWS_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
122
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
123
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
131
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
132
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
124
133
|
)
|
|
125
134
|
|
|
135
|
+
@property
|
|
126
136
|
def PAGE_DATA_BINDER_AGENT_PROMPT(self) -> str:
|
|
127
137
|
return PAGE_DATA_BINDER_AGENT_PROMPT_TEMPLATE.format(
|
|
128
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
129
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
138
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
139
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
130
140
|
)
|
|
131
141
|
|
|
132
142
|
class _MenuNavigationsHandler:
|
|
133
143
|
"""Handler for all menu navigation-related prompts."""
|
|
134
144
|
|
|
145
|
+
@property
|
|
135
146
|
def MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
136
147
|
return MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT_TEMPLATE
|
|
137
148
|
|
|
@@ -142,12 +153,15 @@ class _ObjectsFieldsHandler:
|
|
|
142
153
|
def __init__(self, restricted_objects_list: list[str]) -> None:
|
|
143
154
|
self.restricted_objects_list = restricted_objects_list
|
|
144
155
|
|
|
156
|
+
@property
|
|
145
157
|
def STANDARD_OBJECTS_DESCRIPTIONS(self) -> str:
|
|
146
158
|
return STANDARD_OBJECTS_DESCRIPTIONS_TEMPLATE
|
|
147
159
|
|
|
160
|
+
@property
|
|
148
161
|
def SYSTEM_OBJECTS_DESCRIPTIONS(self) -> str:
|
|
149
162
|
return SYSTEM_OBJECTS_DESCRIPTIONS_TEMPLATE
|
|
150
163
|
|
|
164
|
+
@property
|
|
151
165
|
def OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
152
166
|
return OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
153
167
|
RESTRICTED_OBJECTS_LIST=", ".join(self.restricted_objects_list),
|
|
@@ -157,6 +171,7 @@ class _ObjectsFieldsHandler:
|
|
|
157
171
|
class _PagePlannerHandler:
|
|
158
172
|
"""Handler for all page planner-related prompts."""
|
|
159
173
|
|
|
174
|
+
@property
|
|
160
175
|
def PAGE_PLANNER_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
161
176
|
return PAGE_PLANNER_AGENT_SYSTEM_PROMPT_TEMPLATE
|
|
162
177
|
|
|
@@ -164,9 +179,11 @@ class _PagePlannerHandler:
|
|
|
164
179
|
class _PagesHandler:
|
|
165
180
|
"""Handler for all page-related prompts."""
|
|
166
181
|
|
|
182
|
+
@property
|
|
167
183
|
def PAGES_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
168
184
|
return PAGES_AGENT_SYSTEM_PROMPT_TEMPLATE
|
|
169
185
|
|
|
186
|
+
@property
|
|
170
187
|
def PAGE_DATA_BINDER(self) -> str:
|
|
171
188
|
return PAGE_DATA_BINDER_TEMPLATE
|
|
172
189
|
|
|
@@ -179,15 +196,17 @@ class _PlannerHandler:
|
|
|
179
196
|
self.standard_objects_descriptions = standard_objects_descriptions
|
|
180
197
|
self.system_objects_descriptions = system_objects_descriptions
|
|
181
198
|
|
|
199
|
+
@property
|
|
182
200
|
def PLANNER_EXAMPLES(self) -> str:
|
|
183
201
|
return '\n\n\n'.join(PLANNER_EXAMPLES_TEMPLATE)
|
|
184
202
|
|
|
203
|
+
@property
|
|
185
204
|
def PLANNER_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
186
205
|
return PLANNER_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
187
206
|
RESTRICTED_OBJECTS_LIST=", ".join(self.restricted_objects_list),
|
|
188
207
|
STANDARD_OBJECTS_DESCRIPTIONS=self.standard_objects_descriptions,
|
|
189
208
|
SYSTEM_OBJECTS_DESCRIPTIONS=self.system_objects_descriptions,
|
|
190
|
-
PLANNER_EXAMPLES=self.PLANNER_EXAMPLES
|
|
209
|
+
PLANNER_EXAMPLES=self.PLANNER_EXAMPLES,
|
|
191
210
|
)
|
|
192
211
|
|
|
193
212
|
|
|
@@ -199,6 +218,7 @@ class _RouterHandler:
|
|
|
199
218
|
self.system_objects_descriptions = system_objects_descriptions
|
|
200
219
|
self.planner_examples = planner_examples
|
|
201
220
|
|
|
221
|
+
@property
|
|
202
222
|
def ROUTER_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
203
223
|
return ROUTER_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
204
224
|
STANDARD_OBJECTS_DESCRIPTIONS=self.standard_objects_descriptions,
|
|
@@ -214,6 +234,7 @@ class _SolutionsApplicationsHandler:
|
|
|
214
234
|
self.default_solution_id = default_solution_id
|
|
215
235
|
self.default_application_id = default_application_id
|
|
216
236
|
|
|
237
|
+
@property
|
|
217
238
|
def SOLUTIONS_APPLICATIONS_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
218
239
|
return SOLUTIONS_APPLICATIONS_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
219
240
|
DEFAULT_SOLUTION_ID=self.default_solution_id,
|
|
@@ -224,76 +245,91 @@ class _SolutionsApplicationsHandler:
|
|
|
224
245
|
class _ViewsHandler:
|
|
225
246
|
"""Handler for all view-related prompts."""
|
|
226
247
|
|
|
248
|
+
@property
|
|
227
249
|
def VIEW_TYPE_DETAILS(self) -> str:
|
|
228
250
|
return VIEW_TYPE_DETAILS_TEMPLATE
|
|
229
251
|
|
|
252
|
+
@property
|
|
230
253
|
def COMMON_VIEW_PROPERTIES(self) -> str:
|
|
231
254
|
return COMMON_VIEW_PROPERTIES_TEMPLATE
|
|
232
255
|
|
|
256
|
+
@property
|
|
233
257
|
def LIST_VIEW_PROPERTIES(self) -> str:
|
|
234
258
|
return LIST_VIEW_PROPERTIES_TEMPLATE
|
|
235
259
|
|
|
260
|
+
@property
|
|
236
261
|
def CARD_VIEW_PROPERTIES(self) -> str:
|
|
237
262
|
return CARD_VIEW_PROPERTIES_TEMPLATE
|
|
238
263
|
|
|
264
|
+
@property
|
|
239
265
|
def DETAIL_VIEW_PROPERTIES(self) -> str:
|
|
240
266
|
return DETAIL_VIEW_PROPERTIES_TEMPLATE
|
|
241
267
|
|
|
268
|
+
@property
|
|
242
269
|
def CREATE_VIEW_PROPERTIES(self) -> str:
|
|
243
270
|
return CREATE_VIEW_PROPERTIES_TEMPLATE
|
|
244
271
|
|
|
272
|
+
@property
|
|
245
273
|
def MAP_VIEW_PROPERTIES(self) -> str:
|
|
246
274
|
return MAP_VIEW_PROPERTIES_TEMPLATE
|
|
247
275
|
|
|
276
|
+
@property
|
|
248
277
|
def CALENDAR_VIEW_PROPERTIES(self) -> str:
|
|
249
278
|
return CALENDAR_VIEW_PROPERTIES_TEMPLATE
|
|
250
279
|
|
|
280
|
+
@property
|
|
251
281
|
def DECK_VIEW_PROPERTIES(self) -> str:
|
|
252
282
|
return DECK_VIEW_PROPERTIES_TEMPLATE
|
|
253
283
|
|
|
284
|
+
@property
|
|
254
285
|
def VIEW_LINKS_PROPERTIES(self) -> str:
|
|
255
286
|
return VIEW_LINKS_PROPERTIES_TEMPLATE
|
|
256
287
|
|
|
288
|
+
@property
|
|
257
289
|
def VIEW_FILTERS_PROPERTIES(self) -> str:
|
|
258
290
|
return VIEW_FILTERS_PROPERTIES_TEMPLATE
|
|
259
291
|
|
|
292
|
+
@property
|
|
260
293
|
def VIEWS_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
261
294
|
return VIEWS_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
262
|
-
VIEW_TYPE_DETAILS=self.VIEW_TYPE_DETAILS
|
|
263
|
-
COMMON_VIEW_PROPERTIES=self.COMMON_VIEW_PROPERTIES
|
|
264
|
-
LIST_VIEW_PROPERTIES=self.LIST_VIEW_PROPERTIES
|
|
265
|
-
CARD_VIEW_PROPERTIES=self.CARD_VIEW_PROPERTIES
|
|
266
|
-
DETAIL_VIEW_PROPERTIES=self.DETAIL_VIEW_PROPERTIES
|
|
267
|
-
CREATE_VIEW_PROPERTIES=self.CREATE_VIEW_PROPERTIES
|
|
268
|
-
MAP_VIEW_PROPERTIES=self.MAP_VIEW_PROPERTIES
|
|
269
|
-
CALENDAR_VIEW_PROPERTIES=self.CALENDAR_VIEW_PROPERTIES
|
|
270
|
-
DECK_VIEW_PROPERTIES=self.DECK_VIEW_PROPERTIES
|
|
295
|
+
VIEW_TYPE_DETAILS=self.VIEW_TYPE_DETAILS,
|
|
296
|
+
COMMON_VIEW_PROPERTIES=self.COMMON_VIEW_PROPERTIES,
|
|
297
|
+
LIST_VIEW_PROPERTIES=self.LIST_VIEW_PROPERTIES,
|
|
298
|
+
CARD_VIEW_PROPERTIES=self.CARD_VIEW_PROPERTIES,
|
|
299
|
+
DETAIL_VIEW_PROPERTIES=self.DETAIL_VIEW_PROPERTIES,
|
|
300
|
+
CREATE_VIEW_PROPERTIES=self.CREATE_VIEW_PROPERTIES,
|
|
301
|
+
MAP_VIEW_PROPERTIES=self.MAP_VIEW_PROPERTIES,
|
|
302
|
+
CALENDAR_VIEW_PROPERTIES=self.CALENDAR_VIEW_PROPERTIES,
|
|
303
|
+
DECK_VIEW_PROPERTIES=self.DECK_VIEW_PROPERTIES,
|
|
271
304
|
)
|
|
272
305
|
|
|
306
|
+
@property
|
|
273
307
|
def VIEWS_PLANNER_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
274
308
|
return VIEWS_PLANNER_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
275
|
-
VIEW_TYPE_DETAILS=self.VIEW_TYPE_DETAILS
|
|
276
|
-
COMMON_VIEW_PROPERTIES=self.COMMON_VIEW_PROPERTIES
|
|
277
|
-
LIST_VIEW_PROPERTIES=self.LIST_VIEW_PROPERTIES
|
|
278
|
-
CARD_VIEW_PROPERTIES=self.CARD_VIEW_PROPERTIES
|
|
279
|
-
DETAIL_VIEW_PROPERTIES=self.DETAIL_VIEW_PROPERTIES
|
|
280
|
-
CREATE_VIEW_PROPERTIES=self.CREATE_VIEW_PROPERTIES
|
|
281
|
-
MAP_VIEW_PROPERTIES=self.MAP_VIEW_PROPERTIES
|
|
282
|
-
CALENDAR_VIEW_PROPERTIES=self.CALENDAR_VIEW_PROPERTIES
|
|
283
|
-
DECK_VIEW_PROPERTIES=self.DECK_VIEW_PROPERTIES
|
|
284
|
-
VIEW_LINKS_PROPERTIES=self.VIEW_LINKS_PROPERTIES
|
|
285
|
-
VIEW_FILTERS_PROPERTIES=self.VIEW_FILTERS_PROPERTIES
|
|
309
|
+
VIEW_TYPE_DETAILS=self.VIEW_TYPE_DETAILS,
|
|
310
|
+
COMMON_VIEW_PROPERTIES=self.COMMON_VIEW_PROPERTIES,
|
|
311
|
+
LIST_VIEW_PROPERTIES=self.LIST_VIEW_PROPERTIES,
|
|
312
|
+
CARD_VIEW_PROPERTIES=self.CARD_VIEW_PROPERTIES,
|
|
313
|
+
DETAIL_VIEW_PROPERTIES=self.DETAIL_VIEW_PROPERTIES,
|
|
314
|
+
CREATE_VIEW_PROPERTIES=self.CREATE_VIEW_PROPERTIES,
|
|
315
|
+
MAP_VIEW_PROPERTIES=self.MAP_VIEW_PROPERTIES,
|
|
316
|
+
CALENDAR_VIEW_PROPERTIES=self.CALENDAR_VIEW_PROPERTIES,
|
|
317
|
+
DECK_VIEW_PROPERTIES=self.DECK_VIEW_PROPERTIES,
|
|
318
|
+
VIEW_LINKS_PROPERTIES=self.VIEW_LINKS_PROPERTIES,
|
|
319
|
+
VIEW_FILTERS_PROPERTIES=self.VIEW_FILTERS_PROPERTIES,
|
|
286
320
|
)
|
|
287
321
|
|
|
322
|
+
@property
|
|
288
323
|
def VIEW_LINKS_PLANNER_PROMPT(self) -> str:
|
|
289
324
|
return VIEW_LINKS_PLANNER_PROMPT_TEMPLATE.format(
|
|
290
|
-
VIEW_LINKS_PROPERTIES=self.VIEW_LINKS_PROPERTIES
|
|
325
|
+
VIEW_LINKS_PROPERTIES=self.VIEW_LINKS_PROPERTIES,
|
|
291
326
|
)
|
|
292
327
|
|
|
293
328
|
|
|
329
|
+
@property
|
|
294
330
|
def VIEW_FILTER_PLANNER_PROMPT(self) -> str:
|
|
295
331
|
return VIEW_FILTER_PLANNER_PROMPT_TEMPLATE.format(
|
|
296
|
-
VIEW_FILTERS_PROPERTIES=self.VIEW_FILTERS_PROPERTIES
|
|
332
|
+
VIEW_FILTERS_PROPERTIES=self.VIEW_FILTERS_PROPERTIES,
|
|
297
333
|
)
|
|
298
334
|
|
|
299
335
|
|
|
@@ -306,8 +342,8 @@ class AABPrompts:
|
|
|
306
342
|
self._objects_fields = _ObjectsFieldsHandler(restricted_objects_list)
|
|
307
343
|
self._planner = _PlannerHandler(
|
|
308
344
|
restricted_objects_list,
|
|
309
|
-
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS
|
|
310
|
-
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
345
|
+
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS,
|
|
346
|
+
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
311
347
|
)
|
|
312
348
|
|
|
313
349
|
# Store all handlers in a list for easy iteration
|
|
@@ -320,9 +356,9 @@ class AABPrompts:
|
|
|
320
356
|
_PagesHandler(),
|
|
321
357
|
self._planner,
|
|
322
358
|
_RouterHandler(
|
|
323
|
-
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS
|
|
324
|
-
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
325
|
-
self._planner.PLANNER_EXAMPLES
|
|
359
|
+
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS,
|
|
360
|
+
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS,
|
|
361
|
+
self._planner.PLANNER_EXAMPLES
|
|
326
362
|
),
|
|
327
363
|
_SolutionsApplicationsHandler(default_solution_id, default_application_id),
|
|
328
364
|
_ViewsHandler(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
BREADCRUMB_AGENT_SYSTEM_PROMPT_TEMPLATE =
|
|
1
|
+
BREADCRUMB_AGENT_SYSTEM_PROMPT_TEMPLATE = """
|
|
2
2
|
You are the SnapApp Breadcrumbs Specialist, an expert AI assistant dedicated
|
|
3
3
|
to helping users design, configure, and troubleshoot breadcrumb navigation
|
|
4
4
|
within the SnapApp platform. Your goal is to ensure users create hierarchical,
|
|
@@ -19,7 +19,7 @@ class TestBreadcrumbsPrompts:
|
|
|
19
19
|
|
|
20
20
|
def test_breadcrumb_agent_system_prompt_exists(self, aab_prompts):
|
|
21
21
|
"""Test that BREADCRUMB_AGENT_SYSTEM_PROMPT exists and returns content."""
|
|
22
|
-
prompt = aab_prompts.BREADCRUMB_AGENT_SYSTEM_PROMPT
|
|
22
|
+
prompt = aab_prompts.BREADCRUMB_AGENT_SYSTEM_PROMPT
|
|
23
23
|
assert isinstance(prompt, str)
|
|
24
24
|
assert len(prompt) > 0
|
|
25
25
|
assert "SnapApp Breadcrumbs Specialist" in prompt
|
|
@@ -27,7 +27,7 @@ class TestBreadcrumbsPrompts:
|
|
|
27
27
|
|
|
28
28
|
def test_breadcrumb_prompt_contains_required_sections(self, aab_prompts):
|
|
29
29
|
"""Test that breadcrumb prompt contains all required sections."""
|
|
30
|
-
prompt = aab_prompts.BREADCRUMB_AGENT_SYSTEM_PROMPT
|
|
30
|
+
prompt = aab_prompts.BREADCRUMB_AGENT_SYSTEM_PROMPT
|
|
31
31
|
assert "What are Breadcrumbs" in prompt or "breadcrumbs" in prompt.lower()
|
|
32
32
|
assert "When to create" in prompt or "when to create" in prompt.lower()
|
|
33
33
|
assert "Rules for creating" in prompt or "rules" in prompt.lower()
|
|
@@ -35,7 +35,7 @@ class TestBreadcrumbsPrompts:
|
|
|
35
35
|
|
|
36
36
|
def test_breadcrumb_prompt_mentions_key_fields(self, aab_prompts):
|
|
37
37
|
"""Test that breadcrumb prompt mentions key fields."""
|
|
38
|
-
prompt = aab_prompts.BREADCRUMB_AGENT_SYSTEM_PROMPT
|
|
38
|
+
prompt = aab_prompts.BREADCRUMB_AGENT_SYSTEM_PROMPT
|
|
39
39
|
assert "name" in prompt.lower()
|
|
40
40
|
assert "path" in prompt.lower()
|
|
41
41
|
assert "application_id" in prompt.lower() or "application" in prompt.lower()
|
|
@@ -46,14 +46,14 @@ class TestExpressionsPrompts:
|
|
|
46
46
|
|
|
47
47
|
def test_core_expressions_exists(self, aab_prompts):
|
|
48
48
|
"""Test that CORE_EXPRESSIONS exists and returns content."""
|
|
49
|
-
prompt = aab_prompts.CORE_EXPRESSIONS
|
|
49
|
+
prompt = aab_prompts.CORE_EXPRESSIONS
|
|
50
50
|
assert isinstance(prompt, str)
|
|
51
51
|
assert len(prompt) > 0
|
|
52
52
|
assert "Core Expressions" in prompt or "Built in Core Expressions" in prompt
|
|
53
53
|
|
|
54
54
|
def test_core_expressions_contains_all_expressions(self, aab_prompts):
|
|
55
55
|
"""Test that CORE_EXPRESSIONS contains all expressions from constants."""
|
|
56
|
-
prompt = aab_prompts.CORE_EXPRESSIONS
|
|
56
|
+
prompt = aab_prompts.CORE_EXPRESSIONS
|
|
57
57
|
# Check for a sample of expressions
|
|
58
58
|
assert "ABS" in prompt or "ABS()" in prompt
|
|
59
59
|
assert "IF" in prompt or "IF()" in prompt
|
|
@@ -62,7 +62,7 @@ class TestExpressionsPrompts:
|
|
|
62
62
|
|
|
63
63
|
def test_expression_requirements_exists(self, aab_prompts):
|
|
64
64
|
"""Test that EXPRESSION_REQUIREMENTS exists."""
|
|
65
|
-
prompt = aab_prompts.EXPRESSION_REQUIREMENTS
|
|
65
|
+
prompt = aab_prompts.EXPRESSION_REQUIREMENTS
|
|
66
66
|
assert isinstance(prompt, str)
|
|
67
67
|
assert len(prompt) > 0
|
|
68
68
|
assert "Expression Generation" in prompt or "expression" in prompt.lower()
|
|
@@ -71,7 +71,7 @@ class TestExpressionsPrompts:
|
|
|
71
71
|
|
|
72
72
|
def test_expressions_agent_prompt_exists(self, aab_prompts):
|
|
73
73
|
"""Test that EXPRESSIONS_AGENT_PROMPT exists."""
|
|
74
|
-
prompt = aab_prompts.EXPRESSIONS_AGENT_PROMPT
|
|
74
|
+
prompt = aab_prompts.EXPRESSIONS_AGENT_PROMPT
|
|
75
75
|
assert isinstance(prompt, str)
|
|
76
76
|
assert len(prompt) > 0
|
|
77
77
|
assert "Expressions Agent" in prompt
|
|
@@ -79,13 +79,13 @@ class TestExpressionsPrompts:
|
|
|
79
79
|
|
|
80
80
|
def test_expressions_agent_prompt_contains_requirements(self, aab_prompts):
|
|
81
81
|
"""Test that expressions agent prompt contains expression requirements."""
|
|
82
|
-
prompt = aab_prompts.EXPRESSIONS_AGENT_PROMPT
|
|
82
|
+
prompt = aab_prompts.EXPRESSIONS_AGENT_PROMPT
|
|
83
83
|
assert "EXPRESSION_REQUIREMENTS" in prompt or "expression" in prompt.lower()
|
|
84
84
|
assert "CORE_EXPRESSIONS" in prompt or "core expressions" in prompt.lower()
|
|
85
85
|
|
|
86
86
|
def test_show_if_expression_agent_prompt_exists(self, aab_prompts):
|
|
87
87
|
"""Test that SHOW_IF_EXPRESSION_AGENT_PROMPT exists."""
|
|
88
|
-
prompt = aab_prompts.SHOW_IF_EXPRESSION_AGENT_PROMPT
|
|
88
|
+
prompt = aab_prompts.SHOW_IF_EXPRESSION_AGENT_PROMPT
|
|
89
89
|
assert isinstance(prompt, str)
|
|
90
90
|
assert len(prompt) > 0
|
|
91
91
|
assert "Show_If" in prompt or "Show If" in prompt
|
|
@@ -93,7 +93,7 @@ class TestExpressionsPrompts:
|
|
|
93
93
|
|
|
94
94
|
def test_initial_value_examples_exists(self, aab_prompts):
|
|
95
95
|
"""Test that INITIAL_VALUE_EXAMPLES exists."""
|
|
96
|
-
prompt = aab_prompts.INITIAL_VALUE_EXAMPLES
|
|
96
|
+
prompt = aab_prompts.INITIAL_VALUE_EXAMPLES
|
|
97
97
|
assert isinstance(prompt, str)
|
|
98
98
|
assert len(prompt) > 0
|
|
99
99
|
# The prompt contains example scenarios for initial values
|
|
@@ -101,7 +101,7 @@ class TestExpressionsPrompts:
|
|
|
101
101
|
|
|
102
102
|
def test_view_filter_expression_agent_prompt_exists(self, aab_prompts):
|
|
103
103
|
"""Test that VIEW_FILTER_EXPRESSION_AGENT_PROMPT exists."""
|
|
104
|
-
prompt = aab_prompts.VIEW_FILTER_EXPRESSION_AGENT_PROMPT
|
|
104
|
+
prompt = aab_prompts.VIEW_FILTER_EXPRESSION_AGENT_PROMPT
|
|
105
105
|
assert isinstance(prompt, str)
|
|
106
106
|
assert len(prompt) > 0
|
|
107
107
|
assert "View Filter" in prompt
|
|
@@ -109,7 +109,7 @@ class TestExpressionsPrompts:
|
|
|
109
109
|
|
|
110
110
|
def test_fields_expression_agent_prompt_exists(self, aab_prompts):
|
|
111
111
|
"""Test that FIELDS_EXPRESSION_AGENT_PROMPT exists."""
|
|
112
|
-
prompt = aab_prompts.FIELDS_EXPRESSION_AGENT_PROMPT
|
|
112
|
+
prompt = aab_prompts.FIELDS_EXPRESSION_AGENT_PROMPT
|
|
113
113
|
assert isinstance(prompt, str)
|
|
114
114
|
assert len(prompt) > 0
|
|
115
115
|
assert "Fields Expression" in prompt or "Fields" in prompt
|
|
@@ -117,7 +117,7 @@ class TestExpressionsPrompts:
|
|
|
117
117
|
|
|
118
118
|
def test_views_expression_agent_prompt_exists(self, aab_prompts):
|
|
119
119
|
"""Test that VIEWS_EXPRESSION_AGENT_PROMPT exists."""
|
|
120
|
-
prompt = aab_prompts.VIEWS_EXPRESSION_AGENT_PROMPT
|
|
120
|
+
prompt = aab_prompts.VIEWS_EXPRESSION_AGENT_PROMPT
|
|
121
121
|
assert isinstance(prompt, str)
|
|
122
122
|
assert len(prompt) > 0
|
|
123
123
|
assert "Views Expression" in prompt or "Views" in prompt
|
|
@@ -125,7 +125,7 @@ class TestExpressionsPrompts:
|
|
|
125
125
|
|
|
126
126
|
def test_page_data_binder_agent_prompt_exists(self, aab_prompts):
|
|
127
127
|
"""Test that PAGE_DATA_BINDER_AGENT_PROMPT exists."""
|
|
128
|
-
prompt = aab_prompts.PAGE_DATA_BINDER_AGENT_PROMPT
|
|
128
|
+
prompt = aab_prompts.PAGE_DATA_BINDER_AGENT_PROMPT
|
|
129
129
|
assert isinstance(prompt, str)
|
|
130
130
|
assert len(prompt) > 0
|
|
131
131
|
assert "Page Data Binder" in prompt or "data binding" in prompt.lower()
|
|
@@ -137,7 +137,7 @@ class TestMenuNavigationsPrompts:
|
|
|
137
137
|
|
|
138
138
|
def test_menu_navigations_agent_system_prompt_exists(self, aab_prompts):
|
|
139
139
|
"""Test that MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT exists."""
|
|
140
|
-
prompt = aab_prompts.MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT
|
|
140
|
+
prompt = aab_prompts.MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT
|
|
141
141
|
assert isinstance(prompt, str)
|
|
142
142
|
assert len(prompt) > 0
|
|
143
143
|
assert "Menu" in prompt or "Navigation" in prompt
|
|
@@ -145,7 +145,7 @@ class TestMenuNavigationsPrompts:
|
|
|
145
145
|
|
|
146
146
|
def test_menu_navigations_prompt_contains_menu_types(self, aab_prompts):
|
|
147
147
|
"""Test that menu navigations prompt contains menu types."""
|
|
148
|
-
prompt = aab_prompts.MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT
|
|
148
|
+
prompt = aab_prompts.MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT
|
|
149
149
|
assert "left" in prompt.lower() or "Left" in prompt
|
|
150
150
|
assert "top" in prompt.lower() or "Top" in prompt
|
|
151
151
|
assert "user" in prompt.lower() or "User" in prompt
|
|
@@ -157,7 +157,7 @@ class TestObjectsFieldsPrompts:
|
|
|
157
157
|
|
|
158
158
|
def test_standard_objects_descriptions_exists(self, aab_prompts):
|
|
159
159
|
"""Test that STANDARD_OBJECTS_DESCRIPTIONS exists."""
|
|
160
|
-
prompt = aab_prompts.STANDARD_OBJECTS_DESCRIPTIONS
|
|
160
|
+
prompt = aab_prompts.STANDARD_OBJECTS_DESCRIPTIONS
|
|
161
161
|
assert isinstance(prompt, str)
|
|
162
162
|
assert len(prompt) > 0
|
|
163
163
|
assert "Activities" in prompt or "activities" in prompt.lower()
|
|
@@ -165,7 +165,7 @@ class TestObjectsFieldsPrompts:
|
|
|
165
165
|
|
|
166
166
|
def test_system_objects_descriptions_exists(self, aab_prompts):
|
|
167
167
|
"""Test that SYSTEM_OBJECTS_DESCRIPTIONS exists."""
|
|
168
|
-
prompt = aab_prompts.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
168
|
+
prompt = aab_prompts.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
169
169
|
assert isinstance(prompt, str)
|
|
170
170
|
assert len(prompt) > 0
|
|
171
171
|
assert "Applications" in prompt or "applications" in prompt.lower()
|
|
@@ -173,7 +173,7 @@ class TestObjectsFieldsPrompts:
|
|
|
173
173
|
|
|
174
174
|
def test_objects_fields_agent_system_prompt_exists(self, aab_prompts):
|
|
175
175
|
"""Test that OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT exists."""
|
|
176
|
-
prompt = aab_prompts.OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT
|
|
176
|
+
prompt = aab_prompts.OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT
|
|
177
177
|
assert isinstance(prompt, str)
|
|
178
178
|
assert len(prompt) > 0
|
|
179
179
|
assert "Objects" in prompt or "Fields" in prompt
|
|
@@ -181,13 +181,13 @@ class TestObjectsFieldsPrompts:
|
|
|
181
181
|
|
|
182
182
|
def test_objects_fields_prompt_contains_restricted_objects(self, aab_prompts):
|
|
183
183
|
"""Test that objects fields prompt contains restricted objects list."""
|
|
184
|
-
prompt = aab_prompts.OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT
|
|
184
|
+
prompt = aab_prompts.OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT
|
|
185
185
|
# Should contain at least some restricted object names
|
|
186
186
|
assert "applications" in prompt.lower() or "objects" in prompt.lower()
|
|
187
187
|
|
|
188
188
|
def test_objects_fields_prompt_contains_schema_info(self, aab_prompts):
|
|
189
189
|
"""Test that objects fields prompt contains schema information."""
|
|
190
|
-
prompt = aab_prompts.OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT
|
|
190
|
+
prompt = aab_prompts.OBJECTS_FIELDS_AGENT_SYSTEM_PROMPT
|
|
191
191
|
assert "table" in prompt.lower() or "schema" in prompt.lower()
|
|
192
192
|
assert "data_type" in prompt.lower() or "data type" in prompt.lower()
|
|
193
193
|
|
|
@@ -197,14 +197,14 @@ class TestPagePlannerPrompts:
|
|
|
197
197
|
|
|
198
198
|
def test_page_planner_agent_system_prompt_exists(self, aab_prompts):
|
|
199
199
|
"""Test that PAGE_PLANNER_AGENT_SYSTEM_PROMPT exists."""
|
|
200
|
-
prompt = aab_prompts.PAGE_PLANNER_AGENT_SYSTEM_PROMPT
|
|
200
|
+
prompt = aab_prompts.PAGE_PLANNER_AGENT_SYSTEM_PROMPT
|
|
201
201
|
assert isinstance(prompt, str)
|
|
202
202
|
assert len(prompt) > 0
|
|
203
203
|
assert "Page Planner" in prompt or "page" in prompt.lower()
|
|
204
204
|
|
|
205
205
|
def test_page_planner_prompt_contains_page_types(self, aab_prompts):
|
|
206
206
|
"""Test that page planner prompt contains page types."""
|
|
207
|
-
prompt = aab_prompts.PAGE_PLANNER_AGENT_SYSTEM_PROMPT
|
|
207
|
+
prompt = aab_prompts.PAGE_PLANNER_AGENT_SYSTEM_PROMPT
|
|
208
208
|
assert "landing_page" in prompt.lower() or "landing" in prompt.lower()
|
|
209
209
|
assert "dashboard" in prompt.lower()
|
|
210
210
|
assert "detail_page" in prompt.lower() or "detail" in prompt.lower()
|
|
@@ -215,7 +215,7 @@ class TestPagesPrompts:
|
|
|
215
215
|
|
|
216
216
|
def test_pages_agent_system_prompt_exists(self, aab_prompts):
|
|
217
217
|
"""Test that PAGES_AGENT_SYSTEM_PROMPT exists."""
|
|
218
|
-
prompt = aab_prompts.PAGES_AGENT_SYSTEM_PROMPT
|
|
218
|
+
prompt = aab_prompts.PAGES_AGENT_SYSTEM_PROMPT
|
|
219
219
|
assert isinstance(prompt, str)
|
|
220
220
|
assert len(prompt) > 0
|
|
221
221
|
assert "Page" in prompt or "page" in prompt.lower()
|
|
@@ -223,7 +223,7 @@ class TestPagesPrompts:
|
|
|
223
223
|
|
|
224
224
|
def test_page_data_binder_exists(self, aab_prompts):
|
|
225
225
|
"""Test that PAGE_DATA_BINDER exists."""
|
|
226
|
-
prompt = aab_prompts.PAGE_DATA_BINDER
|
|
226
|
+
prompt = aab_prompts.PAGE_DATA_BINDER
|
|
227
227
|
assert isinstance(prompt, str)
|
|
228
228
|
assert len(prompt) > 0
|
|
229
229
|
assert "Page Binding" in prompt or "binding" in prompt.lower()
|
|
@@ -235,39 +235,39 @@ class TestPlannerPrompts:
|
|
|
235
235
|
|
|
236
236
|
def test_planner_examples_exists(self, aab_prompts):
|
|
237
237
|
"""Test that PLANNER_EXAMPLES exists."""
|
|
238
|
-
prompt = aab_prompts.PLANNER_EXAMPLES
|
|
238
|
+
prompt = aab_prompts.PLANNER_EXAMPLES
|
|
239
239
|
assert isinstance(prompt, str)
|
|
240
240
|
assert len(prompt) > 0
|
|
241
241
|
|
|
242
242
|
def test_planner_agent_system_prompt_exists(self, aab_prompts):
|
|
243
243
|
"""Test that PLANNER_AGENT_SYSTEM_PROMPT exists."""
|
|
244
|
-
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
244
|
+
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
245
245
|
assert isinstance(prompt, str)
|
|
246
246
|
assert len(prompt) > 0
|
|
247
247
|
assert "Planner" in prompt or "plan" in prompt.lower()
|
|
248
248
|
|
|
249
249
|
def test_planner_prompt_contains_build_order(self, aab_prompts):
|
|
250
250
|
"""Test that planner prompt contains build order information."""
|
|
251
|
-
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
251
|
+
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
252
252
|
assert "Solution" in prompt or "solution" in prompt.lower()
|
|
253
253
|
assert "Application" in prompt or "application" in prompt.lower()
|
|
254
254
|
assert "Object" in prompt or "object" in prompt.lower()
|
|
255
255
|
|
|
256
256
|
def test_planner_prompt_contains_standard_objects(self, aab_prompts):
|
|
257
257
|
"""Test that planner prompt contains standard objects descriptions."""
|
|
258
|
-
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
258
|
+
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
259
259
|
# Should reference standard objects
|
|
260
260
|
assert "STANDARD_OBJECTS_DESCRIPTIONS" in prompt or "standard" in prompt.lower()
|
|
261
261
|
|
|
262
262
|
def test_planner_prompt_contains_system_objects(self, aab_prompts):
|
|
263
263
|
"""Test that planner prompt contains system objects descriptions."""
|
|
264
|
-
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
264
|
+
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
265
265
|
# Should reference system objects
|
|
266
266
|
assert "SYSTEM_OBJECTS_DESCRIPTIONS" in prompt or "system" in prompt.lower()
|
|
267
267
|
|
|
268
268
|
def test_planner_prompt_contains_restricted_objects(self, aab_prompts):
|
|
269
269
|
"""Test that planner prompt contains restricted objects list."""
|
|
270
|
-
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
270
|
+
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
271
271
|
# Should reference restricted objects
|
|
272
272
|
assert "RESTRICTED_OBJECTS_LIST" in prompt or "reserved" in prompt.lower()
|
|
273
273
|
|
|
@@ -277,24 +277,24 @@ class TestRouterPrompts:
|
|
|
277
277
|
|
|
278
278
|
def test_router_agent_system_prompt_exists(self, aab_prompts):
|
|
279
279
|
"""Test that ROUTER_AGENT_SYSTEM_PROMPT exists."""
|
|
280
|
-
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
280
|
+
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
281
281
|
assert isinstance(prompt, str)
|
|
282
282
|
assert len(prompt) > 0
|
|
283
283
|
assert "Router" in prompt or "Snappy" in prompt or "Supervisor" in prompt
|
|
284
284
|
|
|
285
285
|
def test_router_prompt_contains_standard_objects(self, aab_prompts):
|
|
286
286
|
"""Test that router prompt contains standard objects descriptions."""
|
|
287
|
-
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
287
|
+
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
288
288
|
assert "STANDARD_OBJECTS_DESCRIPTIONS" in prompt or "standard" in prompt.lower()
|
|
289
289
|
|
|
290
290
|
def test_router_prompt_contains_system_objects(self, aab_prompts):
|
|
291
291
|
"""Test that router prompt contains system objects descriptions."""
|
|
292
|
-
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
292
|
+
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
293
293
|
assert "SYSTEM_OBJECTS_DESCRIPTIONS" in prompt or "system" in prompt.lower()
|
|
294
294
|
|
|
295
295
|
def test_router_prompt_contains_planner_examples(self, aab_prompts):
|
|
296
296
|
"""Test that router prompt contains planner examples."""
|
|
297
|
-
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
297
|
+
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
298
298
|
assert "PLANNER_EXAMPLES" in prompt or "example" in prompt.lower()
|
|
299
299
|
|
|
300
300
|
|
|
@@ -303,7 +303,7 @@ class TestSolutionsApplicationsPrompts:
|
|
|
303
303
|
|
|
304
304
|
def test_solutions_applications_agent_system_prompt_exists(self, aab_prompts):
|
|
305
305
|
"""Test that SOLUTIONS_APPLICATIONS_AGENT_SYSTEM_PROMPT exists."""
|
|
306
|
-
prompt = aab_prompts.SOLUTIONS_APPLICATIONS_AGENT_SYSTEM_PROMPT
|
|
306
|
+
prompt = aab_prompts.SOLUTIONS_APPLICATIONS_AGENT_SYSTEM_PROMPT
|
|
307
307
|
assert isinstance(prompt, str)
|
|
308
308
|
assert len(prompt) > 0
|
|
309
309
|
assert "Solution" in prompt or "Application" in prompt
|
|
@@ -311,7 +311,7 @@ class TestSolutionsApplicationsPrompts:
|
|
|
311
311
|
|
|
312
312
|
def test_solutions_applications_prompt_contains_default_ids(self, aab_prompts):
|
|
313
313
|
"""Test that solutions applications prompt contains default IDs."""
|
|
314
|
-
prompt = aab_prompts.SOLUTIONS_APPLICATIONS_AGENT_SYSTEM_PROMPT
|
|
314
|
+
prompt = aab_prompts.SOLUTIONS_APPLICATIONS_AGENT_SYSTEM_PROMPT
|
|
315
315
|
assert DEFAULT_SOLUTION_ID in prompt
|
|
316
316
|
assert DEFAULT_APPLICATION_ID in prompt
|
|
317
317
|
|
|
@@ -321,7 +321,7 @@ class TestViewsPrompts:
|
|
|
321
321
|
|
|
322
322
|
def test_view_type_details_exists(self, aab_prompts):
|
|
323
323
|
"""Test that VIEW_TYPE_DETAILS exists."""
|
|
324
|
-
prompt = aab_prompts.VIEW_TYPE_DETAILS
|
|
324
|
+
prompt = aab_prompts.VIEW_TYPE_DETAILS
|
|
325
325
|
assert isinstance(prompt, str)
|
|
326
326
|
assert len(prompt) > 0
|
|
327
327
|
assert "view" in prompt.lower()
|
|
@@ -329,7 +329,7 @@ class TestViewsPrompts:
|
|
|
329
329
|
|
|
330
330
|
def test_common_view_properties_exists(self, aab_prompts):
|
|
331
331
|
"""Test that COMMON_VIEW_PROPERTIES exists."""
|
|
332
|
-
prompt = aab_prompts.COMMON_VIEW_PROPERTIES
|
|
332
|
+
prompt = aab_prompts.COMMON_VIEW_PROPERTIES
|
|
333
333
|
assert isinstance(prompt, str)
|
|
334
334
|
assert len(prompt) > 0
|
|
335
335
|
assert "type" in prompt.lower()
|
|
@@ -337,91 +337,91 @@ class TestViewsPrompts:
|
|
|
337
337
|
|
|
338
338
|
def test_list_view_properties_exists(self, aab_prompts):
|
|
339
339
|
"""Test that LIST_VIEW_PROPERTIES exists."""
|
|
340
|
-
prompt = aab_prompts.LIST_VIEW_PROPERTIES
|
|
340
|
+
prompt = aab_prompts.LIST_VIEW_PROPERTIES
|
|
341
341
|
assert isinstance(prompt, str)
|
|
342
342
|
assert len(prompt) > 0
|
|
343
343
|
assert "list" in prompt.lower() or "inline" in prompt.lower()
|
|
344
344
|
|
|
345
345
|
def test_card_view_properties_exists(self, aab_prompts):
|
|
346
346
|
"""Test that CARD_VIEW_PROPERTIES exists."""
|
|
347
|
-
prompt = aab_prompts.CARD_VIEW_PROPERTIES
|
|
347
|
+
prompt = aab_prompts.CARD_VIEW_PROPERTIES
|
|
348
348
|
assert isinstance(prompt, str)
|
|
349
349
|
assert len(prompt) > 0
|
|
350
350
|
assert "card" in prompt.lower() or "title" in prompt.lower()
|
|
351
351
|
|
|
352
352
|
def test_detail_view_properties_exists(self, aab_prompts):
|
|
353
353
|
"""Test that DETAIL_VIEW_PROPERTIES exists."""
|
|
354
|
-
prompt = aab_prompts.DETAIL_VIEW_PROPERTIES
|
|
354
|
+
prompt = aab_prompts.DETAIL_VIEW_PROPERTIES
|
|
355
355
|
assert isinstance(prompt, str)
|
|
356
356
|
assert len(prompt) > 0
|
|
357
357
|
assert "detail" in prompt.lower() or "feed" in prompt.lower()
|
|
358
358
|
|
|
359
359
|
def test_create_view_properties_exists(self, aab_prompts):
|
|
360
360
|
"""Test that CREATE_VIEW_PROPERTIES exists."""
|
|
361
|
-
prompt = aab_prompts.CREATE_VIEW_PROPERTIES
|
|
361
|
+
prompt = aab_prompts.CREATE_VIEW_PROPERTIES
|
|
362
362
|
assert isinstance(prompt, str)
|
|
363
363
|
assert len(prompt) > 0
|
|
364
364
|
assert "create" in prompt.lower() or "recaptcha" in prompt.lower()
|
|
365
365
|
|
|
366
366
|
def test_map_view_properties_exists(self, aab_prompts):
|
|
367
367
|
"""Test that MAP_VIEW_PROPERTIES exists."""
|
|
368
|
-
prompt = aab_prompts.MAP_VIEW_PROPERTIES
|
|
368
|
+
prompt = aab_prompts.MAP_VIEW_PROPERTIES
|
|
369
369
|
assert isinstance(prompt, str)
|
|
370
370
|
assert len(prompt) > 0
|
|
371
371
|
assert "map" in prompt.lower() or "address" in prompt.lower()
|
|
372
372
|
|
|
373
373
|
def test_calendar_view_properties_exists(self, aab_prompts):
|
|
374
374
|
"""Test that CALENDAR_VIEW_PROPERTIES exists."""
|
|
375
|
-
prompt = aab_prompts.CALENDAR_VIEW_PROPERTIES
|
|
375
|
+
prompt = aab_prompts.CALENDAR_VIEW_PROPERTIES
|
|
376
376
|
assert isinstance(prompt, str)
|
|
377
377
|
assert len(prompt) > 0
|
|
378
378
|
assert "calendar" in prompt.lower() or "date" in prompt.lower()
|
|
379
379
|
|
|
380
380
|
def test_deck_view_properties_exists(self, aab_prompts):
|
|
381
381
|
"""Test that DECK_VIEW_PROPERTIES exists."""
|
|
382
|
-
prompt = aab_prompts.DECK_VIEW_PROPERTIES
|
|
382
|
+
prompt = aab_prompts.DECK_VIEW_PROPERTIES
|
|
383
383
|
assert isinstance(prompt, str)
|
|
384
384
|
assert len(prompt) > 0
|
|
385
385
|
assert "deck" in prompt.lower() or "badge" in prompt.lower()
|
|
386
386
|
|
|
387
387
|
def test_view_links_properties_exists(self, aab_prompts):
|
|
388
388
|
"""Test that VIEW_LINKS_PROPERTIES exists."""
|
|
389
|
-
prompt = aab_prompts.VIEW_LINKS_PROPERTIES
|
|
389
|
+
prompt = aab_prompts.VIEW_LINKS_PROPERTIES
|
|
390
390
|
assert isinstance(prompt, str)
|
|
391
391
|
assert len(prompt) > 0
|
|
392
392
|
assert "view link" in prompt.lower() or "button" in prompt.lower()
|
|
393
393
|
|
|
394
394
|
def test_view_filters_properties_exists(self, aab_prompts):
|
|
395
395
|
"""Test that VIEW_FILTERS_PROPERTIES exists."""
|
|
396
|
-
prompt = aab_prompts.VIEW_FILTERS_PROPERTIES
|
|
396
|
+
prompt = aab_prompts.VIEW_FILTERS_PROPERTIES
|
|
397
397
|
assert isinstance(prompt, str)
|
|
398
398
|
assert len(prompt) > 0
|
|
399
399
|
assert "filter" in prompt.lower() or "condition" in prompt.lower()
|
|
400
400
|
|
|
401
401
|
def test_views_agent_system_prompt_exists(self, aab_prompts):
|
|
402
402
|
"""Test that VIEWS_AGENT_SYSTEM_PROMPT exists."""
|
|
403
|
-
prompt = aab_prompts.VIEWS_AGENT_SYSTEM_PROMPT
|
|
403
|
+
prompt = aab_prompts.VIEWS_AGENT_SYSTEM_PROMPT
|
|
404
404
|
assert isinstance(prompt, str)
|
|
405
405
|
assert len(prompt) > 0
|
|
406
406
|
assert "Views" in prompt or "view" in prompt.lower()
|
|
407
407
|
|
|
408
408
|
def test_views_planner_agent_system_prompt_exists(self, aab_prompts):
|
|
409
409
|
"""Test that VIEWS_PLANNER_AGENT_SYSTEM_PROMPT exists."""
|
|
410
|
-
prompt = aab_prompts.VIEWS_PLANNER_AGENT_SYSTEM_PROMPT
|
|
410
|
+
prompt = aab_prompts.VIEWS_PLANNER_AGENT_SYSTEM_PROMPT
|
|
411
411
|
assert isinstance(prompt, str)
|
|
412
412
|
assert len(prompt) > 0
|
|
413
413
|
assert "View Planner" in prompt or "planner" in prompt.lower()
|
|
414
414
|
|
|
415
415
|
def test_view_links_planner_prompt_exists(self, aab_prompts):
|
|
416
416
|
"""Test that VIEW_LINKS_PLANNER_PROMPT exists."""
|
|
417
|
-
prompt = aab_prompts.VIEW_LINKS_PLANNER_PROMPT
|
|
417
|
+
prompt = aab_prompts.VIEW_LINKS_PLANNER_PROMPT
|
|
418
418
|
assert isinstance(prompt, str)
|
|
419
419
|
assert len(prompt) > 0
|
|
420
420
|
assert "View Link" in prompt or "view link" in prompt.lower()
|
|
421
421
|
|
|
422
422
|
def test_view_filter_planner_prompt_exists(self, aab_prompts):
|
|
423
423
|
"""Test that VIEW_FILTER_PLANNER_PROMPT exists."""
|
|
424
|
-
prompt = aab_prompts.VIEW_FILTER_PLANNER_PROMPT
|
|
424
|
+
prompt = aab_prompts.VIEW_FILTER_PLANNER_PROMPT
|
|
425
425
|
assert isinstance(prompt, str)
|
|
426
426
|
assert len(prompt) > 0
|
|
427
427
|
assert "View Filter" in prompt or "filter" in prompt.lower()
|
|
@@ -550,7 +550,7 @@ class TestPromptQuality:
|
|
|
550
550
|
for method_name in all_methods:
|
|
551
551
|
if hasattr(aab_prompts, method_name):
|
|
552
552
|
method = getattr(aab_prompts, method_name)
|
|
553
|
-
prompt = method
|
|
553
|
+
prompt = method
|
|
554
554
|
assert len(prompt) <= max_length, f"{method_name} is too long ({len(prompt)} chars)"
|
|
555
555
|
|
|
556
556
|
def test_prompts_are_not_empty(self, aab_prompts):
|
|
@@ -575,7 +575,7 @@ class TestPromptQuality:
|
|
|
575
575
|
for method_name in all_methods:
|
|
576
576
|
if hasattr(aab_prompts, method_name):
|
|
577
577
|
method = getattr(aab_prompts, method_name)
|
|
578
|
-
prompt = method
|
|
578
|
+
prompt = method
|
|
579
579
|
assert len(prompt.strip()) > 0, f"{method_name} is empty"
|
|
580
580
|
|
|
581
581
|
def test_prompts_have_no_obvious_formatting_errors(self, aab_prompts):
|
|
@@ -596,7 +596,7 @@ class TestPromptQuality:
|
|
|
596
596
|
for method_name in all_methods:
|
|
597
597
|
if hasattr(aab_prompts, method_name):
|
|
598
598
|
method = getattr(aab_prompts, method_name)
|
|
599
|
-
prompt = method
|
|
599
|
+
prompt = method
|
|
600
600
|
# Check for common formatting issues
|
|
601
601
|
# Note: Some prompts may have intentional braces in code examples, so we check for unreplaced template placeholders instead
|
|
602
602
|
# Check for placeholder format strings that weren't replaced (double braces that should have been single)
|
|
@@ -613,12 +613,12 @@ class TestPromptIntegration:
|
|
|
613
613
|
def test_expression_prompts_reference_core_expressions(self, aab_prompts):
|
|
614
614
|
"""Test that expression-related prompts reference core expressions."""
|
|
615
615
|
expression_prompts = [
|
|
616
|
-
aab_prompts.EXPRESSIONS_AGENT_PROMPT
|
|
617
|
-
aab_prompts.SHOW_IF_EXPRESSION_AGENT_PROMPT
|
|
618
|
-
aab_prompts.VIEW_FILTER_EXPRESSION_AGENT_PROMPT
|
|
619
|
-
aab_prompts.FIELDS_EXPRESSION_AGENT_PROMPT
|
|
620
|
-
aab_prompts.VIEWS_EXPRESSION_AGENT_PROMPT
|
|
621
|
-
aab_prompts.PAGE_DATA_BINDER_AGENT_PROMPT
|
|
616
|
+
aab_prompts.EXPRESSIONS_AGENT_PROMPT,
|
|
617
|
+
aab_prompts.SHOW_IF_EXPRESSION_AGENT_PROMPT,
|
|
618
|
+
aab_prompts.VIEW_FILTER_EXPRESSION_AGENT_PROMPT,
|
|
619
|
+
aab_prompts.FIELDS_EXPRESSION_AGENT_PROMPT,
|
|
620
|
+
aab_prompts.VIEWS_EXPRESSION_AGENT_PROMPT,
|
|
621
|
+
aab_prompts.PAGE_DATA_BINDER_AGENT_PROMPT,
|
|
622
622
|
]
|
|
623
623
|
|
|
624
624
|
for prompt in expression_prompts:
|
|
@@ -627,7 +627,7 @@ class TestPromptIntegration:
|
|
|
627
627
|
|
|
628
628
|
def test_planner_prompt_integrates_components(self, aab_prompts):
|
|
629
629
|
"""Test that planner prompt integrates all necessary components."""
|
|
630
|
-
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
630
|
+
prompt = aab_prompts.PLANNER_AGENT_SYSTEM_PROMPT
|
|
631
631
|
# Should reference standard objects, system objects, and restricted objects
|
|
632
632
|
assert "STANDARD_OBJECTS_DESCRIPTIONS" in prompt or "standard" in prompt.lower()
|
|
633
633
|
assert "SYSTEM_OBJECTS_DESCRIPTIONS" in prompt or "system" in prompt.lower()
|
|
@@ -635,7 +635,7 @@ class TestPromptIntegration:
|
|
|
635
635
|
|
|
636
636
|
def test_router_prompt_integrates_components(self, aab_prompts):
|
|
637
637
|
"""Test that router prompt integrates all necessary components."""
|
|
638
|
-
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
638
|
+
prompt = aab_prompts.ROUTER_AGENT_SYSTEM_PROMPT
|
|
639
639
|
# Should reference standard objects, system objects, and planner examples
|
|
640
640
|
assert "STANDARD_OBJECTS_DESCRIPTIONS" in prompt or "standard" in prompt.lower()
|
|
641
641
|
assert "SYSTEM_OBJECTS_DESCRIPTIONS" in prompt or "system" in prompt.lower()
|
|
@@ -643,14 +643,14 @@ class TestPromptIntegration:
|
|
|
643
643
|
|
|
644
644
|
def test_views_prompt_integrates_view_properties(self, aab_prompts):
|
|
645
645
|
"""Test that views prompt integrates view property templates."""
|
|
646
|
-
prompt = aab_prompts.VIEWS_AGENT_SYSTEM_PROMPT
|
|
646
|
+
prompt = aab_prompts.VIEWS_AGENT_SYSTEM_PROMPT
|
|
647
647
|
# Should contain view type details and properties (already formatted)
|
|
648
648
|
assert "view type" in prompt.lower() or "list" in prompt.lower() or "detail" in prompt.lower()
|
|
649
649
|
assert "property" in prompt.lower() or "object_id" in prompt.lower() or "type" in prompt.lower()
|
|
650
650
|
|
|
651
651
|
def test_views_planner_prompt_integrates_all_properties(self, aab_prompts):
|
|
652
652
|
"""Test that views planner prompt integrates all view properties."""
|
|
653
|
-
prompt = aab_prompts.VIEWS_PLANNER_AGENT_SYSTEM_PROMPT
|
|
653
|
+
prompt = aab_prompts.VIEWS_PLANNER_AGENT_SYSTEM_PROMPT
|
|
654
654
|
# Should contain all view property content (already formatted)
|
|
655
655
|
assert "view type" in prompt.lower() or "list" in prompt.lower() or "detail" in prompt.lower()
|
|
656
656
|
assert "property" in prompt.lower() or "object_id" in prompt.lower()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|