aab-prompts 1.0.1__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.1 → aab_prompts-1.0.2}/PKG-INFO +1 -1
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/aab_prompts.egg-info/PKG-INFO +1 -1
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/aab_service.py +41 -40
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/pyproject.toml +1 -1
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/tests/test_prompts.py +65 -65
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/aab_prompts.egg-info/SOURCES.txt +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/aab_prompts.egg-info/dependency_links.txt +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/aab_prompts.egg-info/top_level.txt +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/__init__.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/breadcrumbs.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/constants.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/expressions.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/menu_navigations.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/objects_fields.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/page_planner.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/pages.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/planner.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/router.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/solutions_applications.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/view_filter_planner.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/view_links_planner.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/view_planner.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/prompts/views.py +0 -0
- {aab_prompts-1.0.1 → aab_prompts-1.0.2}/setup.cfg +0 -0
|
@@ -96,15 +96,15 @@ class _ExpressionsHandler:
|
|
|
96
96
|
@property
|
|
97
97
|
def EXPRESSIONS_AGENT_PROMPT(self) -> str:
|
|
98
98
|
return EXPRESSIONS_AGENT_PROMPT_TEMPLATE.format(
|
|
99
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
100
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
99
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
100
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
101
101
|
)
|
|
102
102
|
|
|
103
103
|
@property
|
|
104
104
|
def SHOW_IF_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
105
105
|
return SHOW_IF_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
106
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
107
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
106
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
107
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
108
108
|
)
|
|
109
109
|
|
|
110
110
|
@property
|
|
@@ -114,34 +114,35 @@ class _ExpressionsHandler:
|
|
|
114
114
|
@property
|
|
115
115
|
def VIEW_FILTER_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
116
116
|
return VIEW_FILTER_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
117
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
118
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
117
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
118
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
119
119
|
)
|
|
120
120
|
|
|
121
121
|
@property
|
|
122
122
|
def FIELDS_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
123
123
|
return FIELDS_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
124
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
125
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
124
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
125
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
126
126
|
)
|
|
127
127
|
|
|
128
128
|
@property
|
|
129
129
|
def VIEWS_EXPRESSION_AGENT_PROMPT(self) -> str:
|
|
130
130
|
return VIEWS_EXPRESSION_AGENT_PROMPT_TEMPLATE.format(
|
|
131
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
132
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
131
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
132
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
133
133
|
)
|
|
134
134
|
|
|
135
135
|
@property
|
|
136
136
|
def PAGE_DATA_BINDER_AGENT_PROMPT(self) -> str:
|
|
137
137
|
return PAGE_DATA_BINDER_AGENT_PROMPT_TEMPLATE.format(
|
|
138
|
-
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS
|
|
139
|
-
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS
|
|
138
|
+
EXPRESSION_REQUIREMENTS=self.EXPRESSION_REQUIREMENTS,
|
|
139
|
+
CORE_EXPRESSIONS=self.CORE_EXPRESSIONS,
|
|
140
140
|
)
|
|
141
141
|
|
|
142
142
|
class _MenuNavigationsHandler:
|
|
143
143
|
"""Handler for all menu navigation-related prompts."""
|
|
144
144
|
|
|
145
|
+
@property
|
|
145
146
|
def MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
146
147
|
return MENU_NAVIGATIONS_AGENT_SYSTEM_PROMPT_TEMPLATE
|
|
147
148
|
|
|
@@ -205,7 +206,7 @@ class _PlannerHandler:
|
|
|
205
206
|
RESTRICTED_OBJECTS_LIST=", ".join(self.restricted_objects_list),
|
|
206
207
|
STANDARD_OBJECTS_DESCRIPTIONS=self.standard_objects_descriptions,
|
|
207
208
|
SYSTEM_OBJECTS_DESCRIPTIONS=self.system_objects_descriptions,
|
|
208
|
-
PLANNER_EXAMPLES=self.PLANNER_EXAMPLES
|
|
209
|
+
PLANNER_EXAMPLES=self.PLANNER_EXAMPLES,
|
|
209
210
|
)
|
|
210
211
|
|
|
211
212
|
|
|
@@ -291,44 +292,44 @@ class _ViewsHandler:
|
|
|
291
292
|
@property
|
|
292
293
|
def VIEWS_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
293
294
|
return VIEWS_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
294
|
-
VIEW_TYPE_DETAILS=self.VIEW_TYPE_DETAILS
|
|
295
|
-
COMMON_VIEW_PROPERTIES=self.COMMON_VIEW_PROPERTIES
|
|
296
|
-
LIST_VIEW_PROPERTIES=self.LIST_VIEW_PROPERTIES
|
|
297
|
-
CARD_VIEW_PROPERTIES=self.CARD_VIEW_PROPERTIES
|
|
298
|
-
DETAIL_VIEW_PROPERTIES=self.DETAIL_VIEW_PROPERTIES
|
|
299
|
-
CREATE_VIEW_PROPERTIES=self.CREATE_VIEW_PROPERTIES
|
|
300
|
-
MAP_VIEW_PROPERTIES=self.MAP_VIEW_PROPERTIES
|
|
301
|
-
CALENDAR_VIEW_PROPERTIES=self.CALENDAR_VIEW_PROPERTIES
|
|
302
|
-
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,
|
|
303
304
|
)
|
|
304
305
|
|
|
305
306
|
@property
|
|
306
307
|
def VIEWS_PLANNER_AGENT_SYSTEM_PROMPT(self) -> str:
|
|
307
308
|
return VIEWS_PLANNER_AGENT_SYSTEM_PROMPT_TEMPLATE.format(
|
|
308
|
-
VIEW_TYPE_DETAILS=self.VIEW_TYPE_DETAILS
|
|
309
|
-
COMMON_VIEW_PROPERTIES=self.COMMON_VIEW_PROPERTIES
|
|
310
|
-
LIST_VIEW_PROPERTIES=self.LIST_VIEW_PROPERTIES
|
|
311
|
-
CARD_VIEW_PROPERTIES=self.CARD_VIEW_PROPERTIES
|
|
312
|
-
DETAIL_VIEW_PROPERTIES=self.DETAIL_VIEW_PROPERTIES
|
|
313
|
-
CREATE_VIEW_PROPERTIES=self.CREATE_VIEW_PROPERTIES
|
|
314
|
-
MAP_VIEW_PROPERTIES=self.MAP_VIEW_PROPERTIES
|
|
315
|
-
CALENDAR_VIEW_PROPERTIES=self.CALENDAR_VIEW_PROPERTIES
|
|
316
|
-
DECK_VIEW_PROPERTIES=self.DECK_VIEW_PROPERTIES
|
|
317
|
-
VIEW_LINKS_PROPERTIES=self.VIEW_LINKS_PROPERTIES
|
|
318
|
-
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,
|
|
319
320
|
)
|
|
320
321
|
|
|
321
322
|
@property
|
|
322
323
|
def VIEW_LINKS_PLANNER_PROMPT(self) -> str:
|
|
323
324
|
return VIEW_LINKS_PLANNER_PROMPT_TEMPLATE.format(
|
|
324
|
-
VIEW_LINKS_PROPERTIES=self.VIEW_LINKS_PROPERTIES
|
|
325
|
+
VIEW_LINKS_PROPERTIES=self.VIEW_LINKS_PROPERTIES,
|
|
325
326
|
)
|
|
326
327
|
|
|
327
328
|
|
|
328
329
|
@property
|
|
329
330
|
def VIEW_FILTER_PLANNER_PROMPT(self) -> str:
|
|
330
331
|
return VIEW_FILTER_PLANNER_PROMPT_TEMPLATE.format(
|
|
331
|
-
VIEW_FILTERS_PROPERTIES=self.VIEW_FILTERS_PROPERTIES
|
|
332
|
+
VIEW_FILTERS_PROPERTIES=self.VIEW_FILTERS_PROPERTIES,
|
|
332
333
|
)
|
|
333
334
|
|
|
334
335
|
|
|
@@ -341,8 +342,8 @@ class AABPrompts:
|
|
|
341
342
|
self._objects_fields = _ObjectsFieldsHandler(restricted_objects_list)
|
|
342
343
|
self._planner = _PlannerHandler(
|
|
343
344
|
restricted_objects_list,
|
|
344
|
-
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS
|
|
345
|
-
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
345
|
+
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS,
|
|
346
|
+
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
346
347
|
)
|
|
347
348
|
|
|
348
349
|
# Store all handlers in a list for easy iteration
|
|
@@ -355,9 +356,9 @@ class AABPrompts:
|
|
|
355
356
|
_PagesHandler(),
|
|
356
357
|
self._planner,
|
|
357
358
|
_RouterHandler(
|
|
358
|
-
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS
|
|
359
|
-
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS
|
|
360
|
-
self._planner.PLANNER_EXAMPLES
|
|
359
|
+
self._objects_fields.STANDARD_OBJECTS_DESCRIPTIONS,
|
|
360
|
+
self._objects_fields.SYSTEM_OBJECTS_DESCRIPTIONS,
|
|
361
|
+
self._planner.PLANNER_EXAMPLES
|
|
361
362
|
),
|
|
362
363
|
_SolutionsApplicationsHandler(default_solution_id, default_application_id),
|
|
363
364
|
_ViewsHandler(),
|
|
@@ -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
|
|
File without changes
|
|
File without changes
|