browsergym-workarena 0.2.1__py3-none-any.whl → 0.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.
Files changed (91) hide show
  1. browsergym/workarena/__init__.py +13 -1
  2. browsergym/workarena/api/category.py +74 -0
  3. browsergym/workarena/api/change_request.py +87 -0
  4. browsergym/workarena/api/computer_asset.py +90 -0
  5. browsergym/workarena/api/cost_center.py +19 -0
  6. browsergym/workarena/api/expense_line.py +89 -0
  7. browsergym/workarena/api/incident.py +45 -0
  8. browsergym/workarena/api/knowledge.py +29 -0
  9. browsergym/workarena/api/problem.py +90 -0
  10. browsergym/workarena/api/report.py +183 -0
  11. browsergym/workarena/api/requested_items.py +63 -0
  12. browsergym/workarena/api/user.py +11 -8
  13. browsergym/workarena/api/utils.py +47 -3
  14. browsergym/workarena/config.py +21 -1
  15. browsergym/workarena/data_files/setup_files/forms/expected_incident_form_fields.json +1 -1
  16. browsergym/workarena/data_files/setup_files/forms/expected_request_item_form_fields.json +1 -0
  17. browsergym/workarena/data_files/setup_files/knowledge/protocols.json +46 -0
  18. browsergym/workarena/data_files/setup_files/knowledge/test.html +1 -0
  19. browsergym/workarena/data_files/setup_files/lists/expected_asset_list_columns.json +2 -24
  20. browsergym/workarena/data_files/setup_files/lists/expected_change_request_list_columns.json +4 -40
  21. browsergym/workarena/data_files/setup_files/lists/expected_expense_line_list_columns.json +12 -0
  22. browsergym/workarena/data_files/setup_files/lists/expected_hardware_list_columns.json +1 -42
  23. browsergym/workarena/data_files/setup_files/lists/expected_incident_list_columns.json +2 -18
  24. browsergym/workarena/data_files/setup_files/lists/expected_problem_list_columns.json +12 -0
  25. browsergym/workarena/data_files/setup_files/lists/expected_requested_items_list_columns.json +12 -0
  26. browsergym/workarena/data_files/setup_files/lists/expected_service_catalog_list_columns.json +2 -19
  27. browsergym/workarena/data_files/setup_files/lists/expected_user_list_columns.json +3 -50
  28. browsergym/workarena/data_files/task_configs/all_menu.json +1 -1
  29. browsergym/workarena/data_files/task_configs/dashboard_retrieval_minmax_task.json +1 -1
  30. browsergym/workarena/data_files/task_configs/dashboard_retrieval_value_task.json +1 -1
  31. browsergym/workarena/data_files/task_configs/filter_service_catalog_item_list_task.json +1 -1
  32. browsergym/workarena/data_files/task_configs/impersonation_users.json +1 -1
  33. browsergym/workarena/data_files/task_configs/report_retrieval_minmax_task.json +1 -1
  34. browsergym/workarena/data_files/task_configs/report_retrieval_value_task.json +1 -1
  35. browsergym/workarena/human_eval/console.js +176 -0
  36. browsergym/workarena/human_eval/tool.py +366 -0
  37. browsergym/workarena/install.py +81 -20
  38. browsergym/workarena/tasks/base.py +55 -20
  39. browsergym/workarena/tasks/comp_building_block.py +4 -0
  40. browsergym/workarena/tasks/compositional/__init__.py +76 -0
  41. browsergym/workarena/tasks/compositional/base.py +364 -0
  42. browsergym/workarena/tasks/compositional/dash_do_base.py +1366 -0
  43. browsergym/workarena/tasks/compositional/dash_do_catalog.py +1127 -0
  44. browsergym/workarena/tasks/compositional/dash_do_catalog_infeasible.py +2047 -0
  45. browsergym/workarena/tasks/compositional/dash_do_create_incident.py +403 -0
  46. browsergym/workarena/tasks/compositional/dash_do_create_incident_infeasible.py +278 -0
  47. browsergym/workarena/tasks/compositional/dash_do_create_problem.py +336 -0
  48. browsergym/workarena/tasks/compositional/dash_do_create_problem_infeasible.py +235 -0
  49. browsergym/workarena/tasks/compositional/dash_do_filter.py +1600 -0
  50. browsergym/workarena/tasks/compositional/dash_do_request_item.py +1315 -0
  51. browsergym/workarena/tasks/compositional/dash_do_request_item_infeasible.py +693 -0
  52. browsergym/workarena/tasks/compositional/delete_record.py +341 -0
  53. browsergym/workarena/tasks/compositional/edit_knowledge_base.py +457 -0
  54. browsergym/workarena/tasks/compositional/expense_management.py +598 -0
  55. browsergym/workarena/tasks/compositional/filter_and_do.py +139 -0
  56. browsergym/workarena/tasks/compositional/find_and_order_item.py +345 -0
  57. browsergym/workarena/tasks/compositional/manage_change_request_schedule.py +1417 -0
  58. browsergym/workarena/tasks/compositional/mark_duplicate_problems.py +499 -0
  59. browsergym/workarena/tasks/compositional/maximize_investment_return.py +1763 -0
  60. browsergym/workarena/tasks/compositional/navigate_and_do.py +1151 -0
  61. browsergym/workarena/tasks/compositional/navigate_and_do_infeasible.py +2100 -0
  62. browsergym/workarena/tasks/compositional/offboard_user.py +207 -0
  63. browsergym/workarena/tasks/compositional/onboard_user.py +226 -0
  64. browsergym/workarena/tasks/compositional/update_task.py +145 -0
  65. browsergym/workarena/tasks/compositional/utils/curriculum.py +215 -0
  66. browsergym/workarena/tasks/compositional/utils/infeasible_configs.py +151 -0
  67. browsergym/workarena/tasks/compositional/utils/knapsack.py +192 -0
  68. browsergym/workarena/tasks/compositional/warranty_check.py +227 -0
  69. browsergym/workarena/tasks/compositional/work_assignment.py +804 -0
  70. browsergym/workarena/tasks/compositional/workload_balancing.py +396 -0
  71. browsergym/workarena/tasks/dashboard.py +188 -8
  72. browsergym/workarena/tasks/form.py +1024 -232
  73. browsergym/workarena/tasks/knowledge.py +216 -25
  74. browsergym/workarena/tasks/list.py +519 -102
  75. browsergym/workarena/tasks/mark_duplicate_problem.py +171 -0
  76. browsergym/workarena/tasks/navigation.py +55 -13
  77. browsergym/workarena/tasks/scripts/extract_all_menu_items.py +9 -2
  78. browsergym/workarena/tasks/scripts/generate_dashboard_configs.py +6 -5
  79. browsergym/workarena/tasks/scripts/service_catalog.py +2 -1
  80. browsergym/workarena/tasks/scripts/validate.py +8 -2
  81. browsergym/workarena/tasks/send_chat_message.py +90 -0
  82. browsergym/workarena/tasks/service_catalog.py +94 -26
  83. browsergym/workarena/tasks/utils/form.py +1 -4
  84. browsergym/workarena/tasks/utils/private_tasks.py +63 -0
  85. browsergym/workarena/tasks/utils/utils.py +13 -0
  86. {browsergym_workarena-0.2.1.dist-info → browsergym_workarena-0.3.0.dist-info}/METADATA +19 -18
  87. browsergym_workarena-0.3.0.dist-info/RECORD +138 -0
  88. {browsergym_workarena-0.2.1.dist-info → browsergym_workarena-0.3.0.dist-info}/entry_points.txt +1 -0
  89. browsergym_workarena-0.2.1.dist-info/RECORD +0 -85
  90. {browsergym_workarena-0.2.1.dist-info → browsergym_workarena-0.3.0.dist-info}/WHEEL +0 -0
  91. {browsergym_workarena-0.2.1.dist-info → browsergym_workarena-0.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,2047 @@
1
+ from .dash_do_base import DashboardRetrieveCatalogAndDoInfeasibleTask, DashDoFinalTask
2
+
3
+ from ..base import AbstractServiceNowTask
4
+ from ..dashboard import ReportMinMaxRetrievalTask, ReportMeanMedianModeRetrievalTask
5
+
6
+ from ...api.utils import table_api_call, db_delete_from_table
7
+ from ...config import (
8
+ ORDER_DEVELOPER_LAPTOP_TASK_CONFIG_PATH,
9
+ ORDER_IPAD_MINI_TASK_CONFIG_PATH,
10
+ ORDER_IPAD_PRO_TASK_CONFIG_PATH,
11
+ ORDER_SALES_LAPTOP_TASK_CONFIG_PATH,
12
+ ORDER_STANDARD_LAPTOP_TASK_CONFIG_PATH,
13
+ ORDER_APPLE_WATCH_TASK_CONFIG_PATH,
14
+ ORDER_APPLE_MAC_BOOK_PRO15_TASK_CONFIG_PATH,
15
+ ORDER_DEVELOPMENT_LAPTOP_PC_TASK_CONFIG_PATH,
16
+ ORDER_LOANER_LAPTOP_TASK_CONFIG_PATH,
17
+ )
18
+ from ...instance import SNowInstance
19
+
20
+ from browsergym.workarena.tasks.navigation import AllMenuTask
21
+ from browsergym.workarena.tasks.service_catalog import (
22
+ OrderDeveloperLaptopTask,
23
+ OrderIpadMiniTask,
24
+ OrderIpadProTask,
25
+ OrderSalesLaptopTask,
26
+ OrderStandardLaptopTask,
27
+ OrderAppleWatchTask,
28
+ OrderAppleMacBookPro15Task,
29
+ OrderDevelopmentLaptopPCTask,
30
+ OrderLoanerLaptopTask,
31
+ )
32
+
33
+
34
+ class DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask(
35
+ DashboardRetrieveCatalogAndDoInfeasibleTask
36
+ ):
37
+ config_path = ORDER_DEVELOPER_LAPTOP_TASK_CONFIG_PATH
38
+
39
+ def __init__(
40
+ self,
41
+ instance: SNowInstance = None,
42
+ seed: int = None,
43
+ fixed_config: list[AbstractServiceNowTask] = None,
44
+ level: int = 2,
45
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
46
+ question: str = None,
47
+ provide_reason: bool = None,
48
+ ) -> None:
49
+ """
50
+ Retrieve information based on incidents from the dashboard and do the task.
51
+ """
52
+ self.order_item_class = OrderDeveloperLaptopTask
53
+ super().__init__(
54
+ instance=instance,
55
+ seed=seed,
56
+ fixed_config=fixed_config,
57
+ level=level,
58
+ dashboard_class=dashboard_class,
59
+ question=question,
60
+ min_catalog_item="Developer Laptop (Mac)",
61
+ provide_reason=provide_reason,
62
+ )
63
+
64
+
65
+ class DashboardRetrieveCatalogAndMaxOrderDeveloperLaptopInfeasibleWithReasonTask(
66
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
67
+ ):
68
+ def __init__(
69
+ self,
70
+ instance: SNowInstance = None,
71
+ seed: int = None,
72
+ fixed_config: list[AbstractServiceNowTask] = None,
73
+ level: int = 2,
74
+ ) -> None:
75
+ """
76
+ Retrieve information based on incidents from the dashboard and do the task.
77
+ """
78
+ super().__init__(
79
+ instance=instance,
80
+ seed=seed,
81
+ fixed_config=fixed_config,
82
+ level=level,
83
+ dashboard_class=ReportMinMaxRetrievalTask,
84
+ question="max",
85
+ provide_reason=True,
86
+ )
87
+
88
+
89
+ class DashboardRetrieveCatalogAndMaxOrderDeveloperLaptopInfeasibleTask(
90
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
91
+ ):
92
+ def __init__(
93
+ self,
94
+ instance: SNowInstance = None,
95
+ seed: int = None,
96
+ fixed_config: list[AbstractServiceNowTask] = None,
97
+ level: int = 2,
98
+ ) -> None:
99
+ """
100
+ Retrieve information based on incidents from the dashboard and do the task.
101
+ """
102
+ super().__init__(
103
+ instance=instance,
104
+ seed=seed,
105
+ fixed_config=fixed_config,
106
+ level=level,
107
+ dashboard_class=ReportMinMaxRetrievalTask,
108
+ question="max",
109
+ provide_reason=False,
110
+ )
111
+
112
+
113
+ class DashboardRetrieveCatalogAndMeanOrderDeveloperLaptopWithReasonInfeasibleTask(
114
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
115
+ ):
116
+ def __init__(
117
+ self,
118
+ instance: SNowInstance = None,
119
+ seed: int = None,
120
+ fixed_config: list[AbstractServiceNowTask] = None,
121
+ level: int = 2,
122
+ ) -> None:
123
+ """
124
+ Retrieve information based on incidents from the dashboard and do the task.
125
+ """
126
+ super().__init__(
127
+ instance=instance,
128
+ seed=seed,
129
+ fixed_config=fixed_config,
130
+ level=level,
131
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
132
+ question="mean",
133
+ provide_reason=True,
134
+ )
135
+
136
+
137
+ class DashboardRetrieveCatalogAndMeanOrderDeveloperLaptopInfeasibleTask(
138
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
139
+ ):
140
+ def __init__(
141
+ self,
142
+ instance: SNowInstance = None,
143
+ seed: int = None,
144
+ fixed_config: list[AbstractServiceNowTask] = None,
145
+ level: int = 2,
146
+ ) -> None:
147
+ """
148
+ Retrieve information based on incidents from the dashboard and do the task.
149
+ """
150
+ super().__init__(
151
+ instance=instance,
152
+ seed=seed,
153
+ fixed_config=fixed_config,
154
+ level=level,
155
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
156
+ question="mean",
157
+ provide_reason=False,
158
+ )
159
+
160
+
161
+ class DashboardRetrieveCatalogAndMedianOrderDeveloperLaptopInfeasibleWithReasonTask(
162
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
163
+ ):
164
+ def __init__(
165
+ self,
166
+ instance: SNowInstance = None,
167
+ seed: int = None,
168
+ fixed_config: list[AbstractServiceNowTask] = None,
169
+ level: int = 2,
170
+ ) -> None:
171
+ """
172
+ Retrieve information based on incidents from the dashboard and do the task.
173
+ """
174
+ super().__init__(
175
+ instance=instance,
176
+ seed=seed,
177
+ fixed_config=fixed_config,
178
+ level=level,
179
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
180
+ question="median",
181
+ provide_reason=True,
182
+ )
183
+
184
+
185
+ class DashboardRetrieveCatalogAndMedianOrderDeveloperLaptopInfeasibleTask(
186
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
187
+ ):
188
+ def __init__(
189
+ self,
190
+ instance: SNowInstance = None,
191
+ seed: int = None,
192
+ fixed_config: list[AbstractServiceNowTask] = None,
193
+ level: int = 2,
194
+ ) -> None:
195
+ """
196
+ Retrieve information based on incidents from the dashboard and do the task.
197
+ """
198
+ super().__init__(
199
+ instance=instance,
200
+ seed=seed,
201
+ fixed_config=fixed_config,
202
+ level=level,
203
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
204
+ question="median",
205
+ provide_reason=False,
206
+ )
207
+
208
+
209
+ class DashboardRetrieveCatalogAndModeOrderDeveloperLaptopInfeasibleWithReasonTask(
210
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
211
+ ):
212
+ def __init__(
213
+ self,
214
+ instance: SNowInstance = None,
215
+ seed: int = None,
216
+ fixed_config: list[AbstractServiceNowTask] = None,
217
+ level: int = 2,
218
+ ) -> None:
219
+ """
220
+ Retrieve information based on incidents from the dashboard and do the task.
221
+ """
222
+ super().__init__(
223
+ instance=instance,
224
+ seed=seed,
225
+ fixed_config=fixed_config,
226
+ level=level,
227
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
228
+ question="mode",
229
+ provide_reason=True,
230
+ )
231
+
232
+
233
+ class DashboardRetrieveCatalogAndModeOrderDeveloperLaptopInfeasibleTask(
234
+ DashboardRetrieveCatalogAndOrderDeveloperLaptopInfeasibleTask, DashDoFinalTask
235
+ ):
236
+ def __init__(
237
+ self,
238
+ instance: SNowInstance = None,
239
+ seed: int = None,
240
+ fixed_config: list[AbstractServiceNowTask] = None,
241
+ level: int = 2,
242
+ ) -> None:
243
+ """
244
+ Retrieve information based on incidents from the dashboard and do the task.
245
+ """
246
+ super().__init__(
247
+ instance=instance,
248
+ seed=seed,
249
+ fixed_config=fixed_config,
250
+ level=level,
251
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
252
+ question="mode",
253
+ provide_reason=False,
254
+ )
255
+
256
+
257
+ class DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask(
258
+ DashboardRetrieveCatalogAndDoInfeasibleTask
259
+ ):
260
+ config_path = ORDER_IPAD_MINI_TASK_CONFIG_PATH
261
+
262
+ def __init__(
263
+ self,
264
+ instance: SNowInstance = None,
265
+ seed: int = None,
266
+ fixed_config: list[AbstractServiceNowTask] = None,
267
+ level: int = 2,
268
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
269
+ question: str = None,
270
+ provide_reason: bool = None,
271
+ ) -> None:
272
+ """
273
+ Retrieve information based on incidents from the dashboard and do the task.
274
+ """
275
+ self.order_item_class = OrderIpadMiniTask
276
+ super().__init__(
277
+ instance=instance,
278
+ seed=seed,
279
+ fixed_config=fixed_config,
280
+ level=level,
281
+ dashboard_class=dashboard_class,
282
+ question=question,
283
+ min_catalog_item="iPad mini",
284
+ provide_reason=provide_reason,
285
+ )
286
+
287
+
288
+ class DashboardRetrieveCatalogAndMaxOrderiPadMiniInfeasibleWithReasonTask(
289
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
290
+ ):
291
+ def __init__(
292
+ self,
293
+ instance: SNowInstance = None,
294
+ seed: int = None,
295
+ fixed_config: list[AbstractServiceNowTask] = None,
296
+ level: int = 2,
297
+ ) -> None:
298
+ """
299
+ Retrieve information based on incidents from the dashboard and do the task.
300
+ """
301
+ super().__init__(
302
+ instance=instance,
303
+ seed=seed,
304
+ fixed_config=fixed_config,
305
+ level=level,
306
+ dashboard_class=ReportMinMaxRetrievalTask,
307
+ question="max",
308
+ provide_reason=True,
309
+ )
310
+
311
+
312
+ class DashboardRetrieveCatalogAndMaxOrderiPadMiniInfeasibleTask(
313
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
314
+ ):
315
+ def __init__(
316
+ self,
317
+ instance: SNowInstance = None,
318
+ seed: int = None,
319
+ fixed_config: list[AbstractServiceNowTask] = None,
320
+ level: int = 2,
321
+ ) -> None:
322
+ """
323
+ Retrieve information based on incidents from the dashboard and do the task.
324
+ """
325
+ super().__init__(
326
+ instance=instance,
327
+ seed=seed,
328
+ fixed_config=fixed_config,
329
+ level=level,
330
+ dashboard_class=ReportMinMaxRetrievalTask,
331
+ question="max",
332
+ provide_reason=False,
333
+ )
334
+
335
+
336
+ class DashboardRetrieveCatalogAndMeanOrderiPadMiniInfeasibleWithReasonTask(
337
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
338
+ ):
339
+ def __init__(
340
+ self,
341
+ instance: SNowInstance = None,
342
+ seed: int = None,
343
+ fixed_config: list[AbstractServiceNowTask] = None,
344
+ level: int = 2,
345
+ ) -> None:
346
+ """
347
+ Retrieve information based on incidents from the dashboard and do the task.
348
+ """
349
+ super().__init__(
350
+ instance=instance,
351
+ seed=seed,
352
+ fixed_config=fixed_config,
353
+ level=level,
354
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
355
+ question="mean",
356
+ provide_reason=True,
357
+ )
358
+
359
+
360
+ class DashboardRetrieveCatalogAndMeanOrderiPadMiniInfeasibleTask(
361
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
362
+ ):
363
+ def __init__(
364
+ self,
365
+ instance: SNowInstance = None,
366
+ seed: int = None,
367
+ fixed_config: list[AbstractServiceNowTask] = None,
368
+ level: int = 2,
369
+ ) -> None:
370
+ """
371
+ Retrieve information based on incidents from the dashboard and do the task.
372
+ """
373
+ super().__init__(
374
+ instance=instance,
375
+ seed=seed,
376
+ fixed_config=fixed_config,
377
+ level=level,
378
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
379
+ question="mean",
380
+ provide_reason=False,
381
+ )
382
+
383
+
384
+ class DashboardRetrieveCatalogAndMedianOrderiPadMiniInfeasibleWithReasonTask(
385
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
386
+ ):
387
+ def __init__(
388
+ self,
389
+ instance: SNowInstance = None,
390
+ seed: int = None,
391
+ fixed_config: list[AbstractServiceNowTask] = None,
392
+ level: int = 2,
393
+ ) -> None:
394
+ """
395
+ Retrieve information based on incidents from the dashboard and do the task.
396
+ """
397
+ super().__init__(
398
+ instance=instance,
399
+ seed=seed,
400
+ fixed_config=fixed_config,
401
+ level=level,
402
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
403
+ question="median",
404
+ provide_reason=True,
405
+ )
406
+
407
+
408
+ class DashboardRetrieveCatalogAndMedianOrderiPadMiniInfeasibleTask(
409
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
410
+ ):
411
+ def __init__(
412
+ self,
413
+ instance: SNowInstance = None,
414
+ seed: int = None,
415
+ fixed_config: list[AbstractServiceNowTask] = None,
416
+ level: int = 2,
417
+ ) -> None:
418
+ """
419
+ Retrieve information based on incidents from the dashboard and do the task.
420
+ """
421
+ super().__init__(
422
+ instance=instance,
423
+ seed=seed,
424
+ fixed_config=fixed_config,
425
+ level=level,
426
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
427
+ question="median",
428
+ provide_reason=False,
429
+ )
430
+
431
+
432
+ class DashboardRetrieveCatalogAndModeOrderiPadMiniInfeasibleWithReasonTask(
433
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
434
+ ):
435
+ def __init__(
436
+ self,
437
+ instance: SNowInstance = None,
438
+ seed: int = None,
439
+ fixed_config: list[AbstractServiceNowTask] = None,
440
+ level: int = 2,
441
+ ) -> None:
442
+ """
443
+ Retrieve information based on incidents from the dashboard and do the task.
444
+ """
445
+ super().__init__(
446
+ instance=instance,
447
+ seed=seed,
448
+ fixed_config=fixed_config,
449
+ level=level,
450
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
451
+ question="mode",
452
+ provide_reason=True,
453
+ )
454
+
455
+
456
+ class DashboardRetrieveCatalogAndModeOrderiPadMiniInfeasibleTask(
457
+ DashboardRetrieveCatalogAndOrderiPadMiniInfeasibleTask, DashDoFinalTask
458
+ ):
459
+ def __init__(
460
+ self,
461
+ instance: SNowInstance = None,
462
+ seed: int = None,
463
+ fixed_config: list[AbstractServiceNowTask] = None,
464
+ level: int = 2,
465
+ ) -> None:
466
+ """
467
+ Retrieve information based on incidents from the dashboard and do the task.
468
+ """
469
+ super().__init__(
470
+ instance=instance,
471
+ seed=seed,
472
+ fixed_config=fixed_config,
473
+ level=level,
474
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
475
+ question="mode",
476
+ provide_reason=False,
477
+ )
478
+
479
+
480
+ class DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask(
481
+ DashboardRetrieveCatalogAndDoInfeasibleTask
482
+ ):
483
+ config_path = ORDER_IPAD_PRO_TASK_CONFIG_PATH
484
+
485
+ def __init__(
486
+ self,
487
+ instance: SNowInstance = None,
488
+ seed: int = None,
489
+ fixed_config: list[AbstractServiceNowTask] = None,
490
+ level: int = 2,
491
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
492
+ question: str = None,
493
+ provide_reason: bool = None,
494
+ ) -> None:
495
+ """
496
+ Retrieve information based on incidents from the dashboard and do the task.
497
+ """
498
+ self.order_item_class = OrderIpadProTask
499
+ super().__init__(
500
+ instance=instance,
501
+ seed=seed,
502
+ fixed_config=fixed_config,
503
+ level=level,
504
+ dashboard_class=dashboard_class,
505
+ question=question,
506
+ min_catalog_item="iPad pro",
507
+ provide_reason=provide_reason,
508
+ )
509
+
510
+
511
+ class DashboardRetrieveCatalogAndMaxOrderiPadProInfeasibleWithReasonTask(
512
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
513
+ ):
514
+ def __init__(
515
+ self,
516
+ instance: SNowInstance = None,
517
+ seed: int = None,
518
+ fixed_config: list[AbstractServiceNowTask] = None,
519
+ level: int = 2,
520
+ ) -> None:
521
+ """
522
+ Retrieve information based on incidents from the dashboard and do the task.
523
+ """
524
+ super().__init__(
525
+ instance=instance,
526
+ seed=seed,
527
+ fixed_config=fixed_config,
528
+ level=level,
529
+ dashboard_class=ReportMinMaxRetrievalTask,
530
+ question="max",
531
+ provide_reason=True,
532
+ )
533
+
534
+
535
+ class DashboardRetrieveCatalogAndMaxOrderiPadProInfeasibleTask(
536
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
537
+ ):
538
+ def __init__(
539
+ self,
540
+ instance: SNowInstance = None,
541
+ seed: int = None,
542
+ fixed_config: list[AbstractServiceNowTask] = None,
543
+ level: int = 2,
544
+ ) -> None:
545
+ """
546
+ Retrieve information based on incidents from the dashboard and do the task.
547
+ """
548
+ super().__init__(
549
+ instance=instance,
550
+ seed=seed,
551
+ fixed_config=fixed_config,
552
+ level=level,
553
+ dashboard_class=ReportMinMaxRetrievalTask,
554
+ question="max",
555
+ provide_reason=False,
556
+ )
557
+
558
+
559
+ class DashboardRetrieveCatalogAndMeanOrderiPadProInfeasibleWithReasonTask(
560
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
561
+ ):
562
+ def __init__(
563
+ self,
564
+ instance: SNowInstance = None,
565
+ seed: int = None,
566
+ fixed_config: list[AbstractServiceNowTask] = None,
567
+ level: int = 2,
568
+ ) -> None:
569
+ """
570
+ Retrieve information based on incidents from the dashboard and do the task.
571
+ """
572
+ super().__init__(
573
+ instance=instance,
574
+ seed=seed,
575
+ fixed_config=fixed_config,
576
+ level=level,
577
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
578
+ question="mean",
579
+ provide_reason=True,
580
+ )
581
+
582
+
583
+ class DashboardRetrieveCatalogAndMeanOrderiPadProInfeasibleTask(
584
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
585
+ ):
586
+ def __init__(
587
+ self,
588
+ instance: SNowInstance = None,
589
+ seed: int = None,
590
+ fixed_config: list[AbstractServiceNowTask] = None,
591
+ level: int = 2,
592
+ ) -> None:
593
+ """
594
+ Retrieve information based on incidents from the dashboard and do the task.
595
+ """
596
+ super().__init__(
597
+ instance=instance,
598
+ seed=seed,
599
+ fixed_config=fixed_config,
600
+ level=level,
601
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
602
+ question="mean",
603
+ provide_reason=False,
604
+ )
605
+
606
+
607
+ class DashboardRetrieveCatalogAndMedianOrderiPadProInfeasibleWithReasonTask(
608
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
609
+ ):
610
+ def __init__(
611
+ self,
612
+ instance: SNowInstance = None,
613
+ seed: int = None,
614
+ fixed_config: list[AbstractServiceNowTask] = None,
615
+ level: int = 2,
616
+ ) -> None:
617
+ """
618
+ Retrieve information based on incidents from the dashboard and do the task.
619
+ """
620
+ super().__init__(
621
+ instance=instance,
622
+ seed=seed,
623
+ fixed_config=fixed_config,
624
+ level=level,
625
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
626
+ question="median",
627
+ provide_reason=True,
628
+ )
629
+
630
+
631
+ class DashboardRetrieveCatalogAndMedianOrderiPadProInfeasibleTask(
632
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
633
+ ):
634
+ def __init__(
635
+ self,
636
+ instance: SNowInstance = None,
637
+ seed: int = None,
638
+ fixed_config: list[AbstractServiceNowTask] = None,
639
+ level: int = 2,
640
+ ) -> None:
641
+ """
642
+ Retrieve information based on incidents from the dashboard and do the task.
643
+ """
644
+ super().__init__(
645
+ instance=instance,
646
+ seed=seed,
647
+ fixed_config=fixed_config,
648
+ level=level,
649
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
650
+ question="median",
651
+ provide_reason=False,
652
+ )
653
+
654
+
655
+ class DashboardRetrieveCatalogAndModeOrderiPadProInfeasibleWithReasonTask(
656
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
657
+ ):
658
+ def __init__(
659
+ self,
660
+ instance: SNowInstance = None,
661
+ seed: int = None,
662
+ fixed_config: list[AbstractServiceNowTask] = None,
663
+ level: int = 2,
664
+ ) -> None:
665
+ """
666
+ Retrieve information based on incidents from the dashboard and do the task.
667
+ """
668
+ super().__init__(
669
+ instance=instance,
670
+ seed=seed,
671
+ fixed_config=fixed_config,
672
+ level=level,
673
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
674
+ question="mode",
675
+ provide_reason=True,
676
+ )
677
+
678
+
679
+ class DashboardRetrieveCatalogAndModeOrderiPadProInfeasibleTask(
680
+ DashboardRetrieveCatalogAndOrderiPadProInfeasibleTask, DashDoFinalTask
681
+ ):
682
+ def __init__(
683
+ self,
684
+ instance: SNowInstance = None,
685
+ seed: int = None,
686
+ fixed_config: list[AbstractServiceNowTask] = None,
687
+ level: int = 2,
688
+ ) -> None:
689
+ """
690
+ Retrieve information based on incidents from the dashboard and do the task.
691
+ """
692
+ super().__init__(
693
+ instance=instance,
694
+ seed=seed,
695
+ fixed_config=fixed_config,
696
+ level=level,
697
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
698
+ question="mode",
699
+ provide_reason=False,
700
+ )
701
+
702
+
703
+ class DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask(
704
+ DashboardRetrieveCatalogAndDoInfeasibleTask
705
+ ):
706
+ config_path = ORDER_SALES_LAPTOP_TASK_CONFIG_PATH
707
+
708
+ def __init__(
709
+ self,
710
+ instance: SNowInstance = None,
711
+ seed: int = None,
712
+ fixed_config: list[AbstractServiceNowTask] = None,
713
+ level: int = 2,
714
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
715
+ question: str = None,
716
+ provide_reason: bool = None,
717
+ ) -> None:
718
+ """
719
+ Retrieve information based on incidents from the dashboard and do the task.
720
+ """
721
+ self.order_item_class = OrderSalesLaptopTask
722
+ super().__init__(
723
+ instance=instance,
724
+ seed=seed,
725
+ fixed_config=fixed_config,
726
+ level=level,
727
+ dashboard_class=dashboard_class,
728
+ question=question,
729
+ min_catalog_item="Sales Laptop",
730
+ provide_reason=provide_reason,
731
+ )
732
+
733
+
734
+ class DashboardRetrieveCatalogAndMaxOrderSalesLaptopInfeasibleWithReasonTask(
735
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
736
+ ):
737
+ def __init__(
738
+ self,
739
+ instance: SNowInstance = None,
740
+ seed: int = None,
741
+ fixed_config: list[AbstractServiceNowTask] = None,
742
+ level: int = 2,
743
+ ) -> None:
744
+ """
745
+ Retrieve information based on incidents from the dashboard and do the task.
746
+ """
747
+ super().__init__(
748
+ instance=instance,
749
+ seed=seed,
750
+ fixed_config=fixed_config,
751
+ level=level,
752
+ dashboard_class=ReportMinMaxRetrievalTask,
753
+ question="max",
754
+ provide_reason=True,
755
+ )
756
+
757
+
758
+ class DashboardRetrieveCatalogAndMaxOrderSalesLaptopInfeasibleTask(
759
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
760
+ ):
761
+ def __init__(
762
+ self,
763
+ instance: SNowInstance = None,
764
+ seed: int = None,
765
+ fixed_config: list[AbstractServiceNowTask] = None,
766
+ level: int = 2,
767
+ ) -> None:
768
+ """
769
+ Retrieve information based on incidents from the dashboard and do the task.
770
+ """
771
+ super().__init__(
772
+ instance=instance,
773
+ seed=seed,
774
+ fixed_config=fixed_config,
775
+ level=level,
776
+ dashboard_class=ReportMinMaxRetrievalTask,
777
+ question="max",
778
+ provide_reason=False,
779
+ )
780
+
781
+
782
+ class DashboardRetrieveCatalogAndMeanOrderSalesLaptopInfeasibleWithReasonTask(
783
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
784
+ ):
785
+ def __init__(
786
+ self,
787
+ instance: SNowInstance = None,
788
+ seed: int = None,
789
+ fixed_config: list[AbstractServiceNowTask] = None,
790
+ level: int = 2,
791
+ ) -> None:
792
+ """
793
+ Retrieve information based on incidents from the dashboard and do the task.
794
+ """
795
+ super().__init__(
796
+ instance=instance,
797
+ seed=seed,
798
+ fixed_config=fixed_config,
799
+ level=level,
800
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
801
+ question="mean",
802
+ provide_reason=True,
803
+ )
804
+
805
+
806
+ class DashboardRetrieveCatalogAndMeanOrderSalesLaptopInfeasibleTask(
807
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
808
+ ):
809
+ def __init__(
810
+ self,
811
+ instance: SNowInstance = None,
812
+ seed: int = None,
813
+ fixed_config: list[AbstractServiceNowTask] = None,
814
+ level: int = 2,
815
+ ) -> None:
816
+ """
817
+ Retrieve information based on incidents from the dashboard and do the task.
818
+ """
819
+ super().__init__(
820
+ instance=instance,
821
+ seed=seed,
822
+ fixed_config=fixed_config,
823
+ level=level,
824
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
825
+ question="mean",
826
+ provide_reason=False,
827
+ )
828
+
829
+
830
+ class DashboardRetrieveCatalogAndMedianOrderSalesLaptopInfeasibleWithReasonTask(
831
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
832
+ ):
833
+ def __init__(
834
+ self,
835
+ instance: SNowInstance = None,
836
+ seed: int = None,
837
+ fixed_config: list[AbstractServiceNowTask] = None,
838
+ level: int = 2,
839
+ ) -> None:
840
+ """
841
+ Retrieve information based on incidents from the dashboard and do the task.
842
+ """
843
+ super().__init__(
844
+ instance=instance,
845
+ seed=seed,
846
+ fixed_config=fixed_config,
847
+ level=level,
848
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
849
+ question="median",
850
+ provide_reason=True,
851
+ )
852
+
853
+
854
+ class DashboardRetrieveCatalogAndMedianOrderSalesLaptopInfeasibleTask(
855
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
856
+ ):
857
+ def __init__(
858
+ self,
859
+ instance: SNowInstance = None,
860
+ seed: int = None,
861
+ fixed_config: list[AbstractServiceNowTask] = None,
862
+ level: int = 2,
863
+ ) -> None:
864
+ """
865
+ Retrieve information based on incidents from the dashboard and do the task.
866
+ """
867
+ super().__init__(
868
+ instance=instance,
869
+ seed=seed,
870
+ fixed_config=fixed_config,
871
+ level=level,
872
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
873
+ question="median",
874
+ provide_reason=False,
875
+ )
876
+
877
+
878
+ class DashboardRetrieveCatalogAndModeOrderSalesLaptopInfeasibleWithReasonTask(
879
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
880
+ ):
881
+ def __init__(
882
+ self,
883
+ instance: SNowInstance = None,
884
+ seed: int = None,
885
+ fixed_config: list[AbstractServiceNowTask] = None,
886
+ level: int = 2,
887
+ ) -> None:
888
+ """
889
+ Retrieve information based on incidents from the dashboard and do the task.
890
+ """
891
+ super().__init__(
892
+ instance=instance,
893
+ seed=seed,
894
+ fixed_config=fixed_config,
895
+ level=level,
896
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
897
+ question="mode",
898
+ provide_reason=True,
899
+ )
900
+
901
+
902
+ class DashboardRetrieveCatalogAndModeOrderSalesLaptopInfeasibleTask(
903
+ DashboardRetrieveCatalogAndOrderSalesLaptopInfeasibleTask, DashDoFinalTask
904
+ ):
905
+ def __init__(
906
+ self,
907
+ instance: SNowInstance = None,
908
+ seed: int = None,
909
+ fixed_config: list[AbstractServiceNowTask] = None,
910
+ level: int = 2,
911
+ ) -> None:
912
+ """
913
+ Retrieve information based on incidents from the dashboard and do the task.
914
+ """
915
+ super().__init__(
916
+ instance=instance,
917
+ seed=seed,
918
+ fixed_config=fixed_config,
919
+ level=level,
920
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
921
+ question="mode",
922
+ provide_reason=False,
923
+ )
924
+
925
+
926
+ class DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask(
927
+ DashboardRetrieveCatalogAndDoInfeasibleTask
928
+ ):
929
+ config_path = ORDER_STANDARD_LAPTOP_TASK_CONFIG_PATH
930
+
931
+ def __init__(
932
+ self,
933
+ instance: SNowInstance = None,
934
+ seed: int = None,
935
+ fixed_config: list[AbstractServiceNowTask] = None,
936
+ level: int = 2,
937
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
938
+ question: str = None,
939
+ provide_reason: bool = None,
940
+ ) -> None:
941
+ """
942
+ Retrieve information based on incidents from the dashboard and do the task.
943
+ """
944
+ self.order_item_class = OrderStandardLaptopTask
945
+ super().__init__(
946
+ instance=instance,
947
+ seed=seed,
948
+ fixed_config=fixed_config,
949
+ level=level,
950
+ dashboard_class=dashboard_class,
951
+ question=question,
952
+ min_catalog_item="Standard Laptop",
953
+ provide_reason=provide_reason,
954
+ )
955
+
956
+
957
+ class DashboardRetrieveCatalogAndMaxOrderStandardLaptopInfeasibleWithReasonTask(
958
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
959
+ ):
960
+ def __init__(
961
+ self,
962
+ instance: SNowInstance = None,
963
+ seed: int = None,
964
+ fixed_config: list[AbstractServiceNowTask] = None,
965
+ level: int = 2,
966
+ ) -> None:
967
+ """
968
+ Retrieve information based on incidents from the dashboard and do the task.
969
+ """
970
+ super().__init__(
971
+ instance=instance,
972
+ seed=seed,
973
+ fixed_config=fixed_config,
974
+ level=level,
975
+ dashboard_class=ReportMinMaxRetrievalTask,
976
+ question="max",
977
+ provide_reason=True,
978
+ )
979
+
980
+
981
+ class DashboardRetrieveCatalogAndMaxOrderStandardLaptopInfeasibleTask(
982
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
983
+ ):
984
+ def __init__(
985
+ self,
986
+ instance: SNowInstance = None,
987
+ seed: int = None,
988
+ fixed_config: list[AbstractServiceNowTask] = None,
989
+ level: int = 2,
990
+ ) -> None:
991
+ """
992
+ Retrieve information based on incidents from the dashboard and do the task.
993
+ """
994
+ super().__init__(
995
+ instance=instance,
996
+ seed=seed,
997
+ fixed_config=fixed_config,
998
+ level=level,
999
+ dashboard_class=ReportMinMaxRetrievalTask,
1000
+ question="max",
1001
+ provide_reason=False,
1002
+ )
1003
+
1004
+
1005
+ class DashboardRetrieveCatalogAndMeanOrderStandardLaptopInfeasibleWithReasonTask(
1006
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
1007
+ ):
1008
+ def __init__(
1009
+ self,
1010
+ instance: SNowInstance = None,
1011
+ seed: int = None,
1012
+ fixed_config: list[AbstractServiceNowTask] = None,
1013
+ level: int = 2,
1014
+ ) -> None:
1015
+ """
1016
+ Retrieve information based on incidents from the dashboard and do the task.
1017
+ """
1018
+ super().__init__(
1019
+ instance=instance,
1020
+ seed=seed,
1021
+ fixed_config=fixed_config,
1022
+ level=level,
1023
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1024
+ question="mean",
1025
+ provide_reason=True,
1026
+ )
1027
+
1028
+
1029
+ class DashboardRetrieveCatalogAndMeanOrderStandardLaptopInfeasibleTask(
1030
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
1031
+ ):
1032
+ def __init__(
1033
+ self,
1034
+ instance: SNowInstance = None,
1035
+ seed: int = None,
1036
+ fixed_config: list[AbstractServiceNowTask] = None,
1037
+ level: int = 2,
1038
+ ) -> None:
1039
+ """
1040
+ Retrieve information based on incidents from the dashboard and do the task.
1041
+ """
1042
+ super().__init__(
1043
+ instance=instance,
1044
+ seed=seed,
1045
+ fixed_config=fixed_config,
1046
+ level=level,
1047
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1048
+ question="mean",
1049
+ provide_reason=False,
1050
+ )
1051
+
1052
+
1053
+ class DashboardRetrieveCatalogAndMedianOrderStandardLaptopInfeasibleWithReasonTask(
1054
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
1055
+ ):
1056
+ def __init__(
1057
+ self,
1058
+ instance: SNowInstance = None,
1059
+ seed: int = None,
1060
+ fixed_config: list[AbstractServiceNowTask] = None,
1061
+ level: int = 2,
1062
+ ) -> None:
1063
+ """
1064
+ Retrieve information based on incidents from the dashboard and do the task.
1065
+ """
1066
+ super().__init__(
1067
+ instance=instance,
1068
+ seed=seed,
1069
+ fixed_config=fixed_config,
1070
+ level=level,
1071
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1072
+ question="median",
1073
+ provide_reason=True,
1074
+ )
1075
+
1076
+
1077
+ class DashboardRetrieveCatalogAndMedianOrderStandardLaptopInfeasibleTask(
1078
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
1079
+ ):
1080
+ def __init__(
1081
+ self,
1082
+ instance: SNowInstance = None,
1083
+ seed: int = None,
1084
+ fixed_config: list[AbstractServiceNowTask] = None,
1085
+ level: int = 2,
1086
+ ) -> None:
1087
+ """
1088
+ Retrieve information based on incidents from the dashboard and do the task.
1089
+ """
1090
+ super().__init__(
1091
+ instance=instance,
1092
+ seed=seed,
1093
+ fixed_config=fixed_config,
1094
+ level=level,
1095
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1096
+ question="median",
1097
+ provide_reason=False,
1098
+ )
1099
+
1100
+
1101
+ class DashboardRetrieveCatalogAndModeOrderStandardLaptopInfeasibleWithReasonTask(
1102
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
1103
+ ):
1104
+ def __init__(
1105
+ self,
1106
+ instance: SNowInstance = None,
1107
+ seed: int = None,
1108
+ fixed_config: list[AbstractServiceNowTask] = None,
1109
+ level: int = 2,
1110
+ ) -> None:
1111
+ """
1112
+ Retrieve information based on incidents from the dashboard and do the task.
1113
+ """
1114
+ super().__init__(
1115
+ instance=instance,
1116
+ seed=seed,
1117
+ fixed_config=fixed_config,
1118
+ level=level,
1119
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1120
+ question="mode",
1121
+ provide_reason=True,
1122
+ )
1123
+
1124
+
1125
+ class DashboardRetrieveCatalogAndModeOrderStandardLaptopInfeasibleTask(
1126
+ DashboardRetrieveCatalogAndOrderStandardLaptopInfeasibleTask, DashDoFinalTask
1127
+ ):
1128
+ def __init__(
1129
+ self,
1130
+ instance: SNowInstance = None,
1131
+ seed: int = None,
1132
+ fixed_config: list[AbstractServiceNowTask] = None,
1133
+ level: int = 2,
1134
+ ) -> None:
1135
+ """
1136
+ Retrieve information based on incidents from the dashboard and do the task.
1137
+ """
1138
+ super().__init__(
1139
+ instance=instance,
1140
+ seed=seed,
1141
+ fixed_config=fixed_config,
1142
+ level=level,
1143
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1144
+ question="mode",
1145
+ provide_reason=False,
1146
+ )
1147
+
1148
+
1149
+ class DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask(
1150
+ DashboardRetrieveCatalogAndDoInfeasibleTask
1151
+ ):
1152
+ config_path = ORDER_APPLE_WATCH_TASK_CONFIG_PATH
1153
+
1154
+ def __init__(
1155
+ self,
1156
+ instance: SNowInstance = None,
1157
+ seed: int = None,
1158
+ fixed_config: list[AbstractServiceNowTask] = None,
1159
+ level: int = 2,
1160
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
1161
+ question: str = None,
1162
+ provide_reason: bool = None,
1163
+ ) -> None:
1164
+ """
1165
+ Retrieve information based on incidents from the dashboard and do the task.
1166
+ """
1167
+ self.order_item_class = OrderAppleWatchTask
1168
+ super().__init__(
1169
+ instance=instance,
1170
+ seed=seed,
1171
+ fixed_config=fixed_config,
1172
+ level=level,
1173
+ dashboard_class=dashboard_class,
1174
+ question=question,
1175
+ min_catalog_item="Apple Watch",
1176
+ provide_reason=provide_reason,
1177
+ )
1178
+
1179
+
1180
+ class DashboardRetrieveCatalogAndMaxOrderAppleWatchInfeasibleWithReasonTask(
1181
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1182
+ ):
1183
+ def __init__(
1184
+ self,
1185
+ instance: SNowInstance = None,
1186
+ seed: int = None,
1187
+ fixed_config: list[AbstractServiceNowTask] = None,
1188
+ level: int = 2,
1189
+ ) -> None:
1190
+ """
1191
+ Retrieve information based on incidents from the dashboard and do the task.
1192
+ """
1193
+ super().__init__(
1194
+ instance=instance,
1195
+ seed=seed,
1196
+ fixed_config=fixed_config,
1197
+ level=level,
1198
+ dashboard_class=ReportMinMaxRetrievalTask,
1199
+ question="max",
1200
+ provide_reason=True,
1201
+ )
1202
+
1203
+
1204
+ class DashboardRetrieveCatalogAndMaxOrderAppleWatchInfeasibleTask(
1205
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1206
+ ):
1207
+ def __init__(
1208
+ self,
1209
+ instance: SNowInstance = None,
1210
+ seed: int = None,
1211
+ fixed_config: list[AbstractServiceNowTask] = None,
1212
+ level: int = 2,
1213
+ ) -> None:
1214
+ """
1215
+ Retrieve information based on incidents from the dashboard and do the task.
1216
+ """
1217
+ super().__init__(
1218
+ instance=instance,
1219
+ seed=seed,
1220
+ fixed_config=fixed_config,
1221
+ level=level,
1222
+ dashboard_class=ReportMinMaxRetrievalTask,
1223
+ question="max",
1224
+ provide_reason=False,
1225
+ )
1226
+
1227
+
1228
+ class DashboardRetrieveCatalogAndMeanOrderAppleWatchInfeasibleWithReasonTask(
1229
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1230
+ ):
1231
+ def __init__(
1232
+ self,
1233
+ instance: SNowInstance = None,
1234
+ seed: int = None,
1235
+ fixed_config: list[AbstractServiceNowTask] = None,
1236
+ level: int = 2,
1237
+ ) -> None:
1238
+ """
1239
+ Retrieve information based on incidents from the dashboard and do the task.
1240
+ """
1241
+ super().__init__(
1242
+ instance=instance,
1243
+ seed=seed,
1244
+ fixed_config=fixed_config,
1245
+ level=level,
1246
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1247
+ question="mean",
1248
+ provide_reason=True,
1249
+ )
1250
+
1251
+
1252
+ class DashboardRetrieveCatalogAndMeanOrderAppleWatchInfeasibleTask(
1253
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1254
+ ):
1255
+ def __init__(
1256
+ self,
1257
+ instance: SNowInstance = None,
1258
+ seed: int = None,
1259
+ fixed_config: list[AbstractServiceNowTask] = None,
1260
+ level: int = 2,
1261
+ ) -> None:
1262
+ """
1263
+ Retrieve information based on incidents from the dashboard and do the task.
1264
+ """
1265
+ super().__init__(
1266
+ instance=instance,
1267
+ seed=seed,
1268
+ fixed_config=fixed_config,
1269
+ level=level,
1270
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1271
+ question="mean",
1272
+ provide_reason=False,
1273
+ )
1274
+
1275
+
1276
+ class DashboardRetrieveCatalogAndMedianOrderAppleWatchInfeasibleWithReasonTask(
1277
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1278
+ ):
1279
+ def __init__(
1280
+ self,
1281
+ instance: SNowInstance = None,
1282
+ seed: int = None,
1283
+ fixed_config: list[AbstractServiceNowTask] = None,
1284
+ level: int = 2,
1285
+ ) -> None:
1286
+ """
1287
+ Retrieve information based on incidents from the dashboard and do the task.
1288
+ """
1289
+ super().__init__(
1290
+ instance=instance,
1291
+ seed=seed,
1292
+ fixed_config=fixed_config,
1293
+ level=level,
1294
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1295
+ question="median",
1296
+ provide_reason=True,
1297
+ )
1298
+
1299
+
1300
+ class DashboardRetrieveCatalogAndMedianOrderAppleWatchInfeasibleTask(
1301
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1302
+ ):
1303
+ def __init__(
1304
+ self,
1305
+ instance: SNowInstance = None,
1306
+ seed: int = None,
1307
+ fixed_config: list[AbstractServiceNowTask] = None,
1308
+ level: int = 2,
1309
+ ) -> None:
1310
+ """
1311
+ Retrieve information based on incidents from the dashboard and do the task.
1312
+ """
1313
+ super().__init__(
1314
+ instance=instance,
1315
+ seed=seed,
1316
+ fixed_config=fixed_config,
1317
+ level=level,
1318
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1319
+ question="median",
1320
+ provide_reason=False,
1321
+ )
1322
+
1323
+
1324
+ class DashboardRetrieveCatalogAndModeOrderAppleWatchInfeasibleWithReasonTask(
1325
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1326
+ ):
1327
+ def __init__(
1328
+ self,
1329
+ instance: SNowInstance = None,
1330
+ seed: int = None,
1331
+ fixed_config: list[AbstractServiceNowTask] = None,
1332
+ level: int = 2,
1333
+ ) -> None:
1334
+ """
1335
+ Retrieve information based on incidents from the dashboard and do the task.
1336
+ """
1337
+ super().__init__(
1338
+ instance=instance,
1339
+ seed=seed,
1340
+ fixed_config=fixed_config,
1341
+ level=level,
1342
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1343
+ question="mode",
1344
+ provide_reason=True,
1345
+ )
1346
+
1347
+
1348
+ class DashboardRetrieveCatalogAndModeOrderAppleWatchInfeasibleTask(
1349
+ DashboardRetrieveCatalogAndOrderAppleWatchInfeasibleTask, DashDoFinalTask
1350
+ ):
1351
+ def __init__(
1352
+ self,
1353
+ instance: SNowInstance = None,
1354
+ seed: int = None,
1355
+ fixed_config: list[AbstractServiceNowTask] = None,
1356
+ level: int = 2,
1357
+ ) -> None:
1358
+ """
1359
+ Retrieve information based on incidents from the dashboard and do the task.
1360
+ """
1361
+ super().__init__(
1362
+ instance=instance,
1363
+ seed=seed,
1364
+ fixed_config=fixed_config,
1365
+ level=level,
1366
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1367
+ question="mode",
1368
+ provide_reason=False,
1369
+ )
1370
+
1371
+
1372
+ class DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask(
1373
+ DashboardRetrieveCatalogAndDoInfeasibleTask
1374
+ ):
1375
+ config_path = ORDER_APPLE_MAC_BOOK_PRO15_TASK_CONFIG_PATH
1376
+
1377
+ def __init__(
1378
+ self,
1379
+ instance: SNowInstance = None,
1380
+ seed: int = None,
1381
+ fixed_config: list[AbstractServiceNowTask] = None,
1382
+ level: int = 2,
1383
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
1384
+ question: str = None,
1385
+ provide_reason: bool = None,
1386
+ ) -> None:
1387
+ """
1388
+ Retrieve information based on incidents from the dashboard and do the task.
1389
+ """
1390
+ self.order_item_class = OrderAppleMacBookPro15Task
1391
+ super().__init__(
1392
+ instance=instance,
1393
+ seed=seed,
1394
+ fixed_config=fixed_config,
1395
+ level=level,
1396
+ dashboard_class=dashboard_class,
1397
+ question=question,
1398
+ min_catalog_item="Apple MacBook Pro 15",
1399
+ provide_reason=provide_reason,
1400
+ )
1401
+
1402
+
1403
+ class DashboardRetrieveCatalogAndMaxOrderAppleMacbookPro15InfeasibleWithReasonTask(
1404
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1405
+ ):
1406
+ def __init__(
1407
+ self,
1408
+ instance: SNowInstance = None,
1409
+ seed: int = None,
1410
+ fixed_config: list[AbstractServiceNowTask] = None,
1411
+ level: int = 2,
1412
+ ) -> None:
1413
+ """
1414
+ Retrieve information based on incidents from the dashboard and do the task.
1415
+ """
1416
+ super().__init__(
1417
+ instance=instance,
1418
+ seed=seed,
1419
+ fixed_config=fixed_config,
1420
+ level=level,
1421
+ dashboard_class=ReportMinMaxRetrievalTask,
1422
+ question="max",
1423
+ provide_reason=True,
1424
+ )
1425
+
1426
+
1427
+ class DashboardRetrieveCatalogAndMaxOrderAppleMacbookPro15InfeasibleTask(
1428
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1429
+ ):
1430
+ def __init__(
1431
+ self,
1432
+ instance: SNowInstance = None,
1433
+ seed: int = None,
1434
+ fixed_config: list[AbstractServiceNowTask] = None,
1435
+ level: int = 2,
1436
+ ) -> None:
1437
+ """
1438
+ Retrieve information based on incidents from the dashboard and do the task.
1439
+ """
1440
+ super().__init__(
1441
+ instance=instance,
1442
+ seed=seed,
1443
+ fixed_config=fixed_config,
1444
+ level=level,
1445
+ dashboard_class=ReportMinMaxRetrievalTask,
1446
+ question="max",
1447
+ provide_reason=False,
1448
+ )
1449
+
1450
+
1451
+ class DashboardRetrieveCatalogAndMeanOrderAppleMacbookPro15InfeasibleWithReasonTask(
1452
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1453
+ ):
1454
+ def __init__(
1455
+ self,
1456
+ instance: SNowInstance = None,
1457
+ seed: int = None,
1458
+ fixed_config: list[AbstractServiceNowTask] = None,
1459
+ level: int = 2,
1460
+ ) -> None:
1461
+ """
1462
+ Retrieve information based on incidents from the dashboard and do the task.
1463
+ """
1464
+ super().__init__(
1465
+ instance=instance,
1466
+ seed=seed,
1467
+ fixed_config=fixed_config,
1468
+ level=level,
1469
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1470
+ question="mean",
1471
+ provide_reason=True,
1472
+ )
1473
+
1474
+
1475
+ class DashboardRetrieveCatalogAndMeanOrderAppleMacbookPro15InfeasibleTask(
1476
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1477
+ ):
1478
+ def __init__(
1479
+ self,
1480
+ instance: SNowInstance = None,
1481
+ seed: int = None,
1482
+ fixed_config: list[AbstractServiceNowTask] = None,
1483
+ level: int = 2,
1484
+ ) -> None:
1485
+ """
1486
+ Retrieve information based on incidents from the dashboard and do the task.
1487
+ """
1488
+ super().__init__(
1489
+ instance=instance,
1490
+ seed=seed,
1491
+ fixed_config=fixed_config,
1492
+ level=level,
1493
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1494
+ question="mean",
1495
+ provide_reason=False,
1496
+ )
1497
+
1498
+
1499
+ class DashboardRetrieveCatalogAndMedianOrderAppleMacbookPro15InfeasibleWithReasonTask(
1500
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1501
+ ):
1502
+ def __init__(
1503
+ self,
1504
+ instance: SNowInstance = None,
1505
+ seed: int = None,
1506
+ fixed_config: list[AbstractServiceNowTask] = None,
1507
+ level: int = 2,
1508
+ ) -> None:
1509
+ """
1510
+ Retrieve information based on incidents from the dashboard and do the task.
1511
+ """
1512
+ super().__init__(
1513
+ instance=instance,
1514
+ seed=seed,
1515
+ fixed_config=fixed_config,
1516
+ level=level,
1517
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1518
+ question="median",
1519
+ provide_reason=True,
1520
+ )
1521
+
1522
+
1523
+ class DashboardRetrieveCatalogAndMedianOrderAppleMacbookPro15InfeasibleTask(
1524
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1525
+ ):
1526
+ def __init__(
1527
+ self,
1528
+ instance: SNowInstance = None,
1529
+ seed: int = None,
1530
+ fixed_config: list[AbstractServiceNowTask] = None,
1531
+ level: int = 2,
1532
+ ) -> None:
1533
+ """
1534
+ Retrieve information based on incidents from the dashboard and do the task.
1535
+ """
1536
+ super().__init__(
1537
+ instance=instance,
1538
+ seed=seed,
1539
+ fixed_config=fixed_config,
1540
+ level=level,
1541
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1542
+ question="median",
1543
+ provide_reason=False,
1544
+ )
1545
+
1546
+
1547
+ class DashboardRetrieveCatalogAndModeOrderAppleMacbookPro15InfeasibleWithReasonTask(
1548
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1549
+ ):
1550
+ def __init__(
1551
+ self,
1552
+ instance: SNowInstance = None,
1553
+ seed: int = None,
1554
+ fixed_config: list[AbstractServiceNowTask] = None,
1555
+ level: int = 2,
1556
+ ) -> None:
1557
+ """
1558
+ Retrieve information based on incidents from the dashboard and do the task.
1559
+ """
1560
+ super().__init__(
1561
+ instance=instance,
1562
+ seed=seed,
1563
+ fixed_config=fixed_config,
1564
+ level=level,
1565
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1566
+ question="mode",
1567
+ provide_reason=True,
1568
+ )
1569
+
1570
+
1571
+ class DashboardRetrieveCatalogAndModeOrderAppleMacbookPro15InfeasibleTask(
1572
+ DashboardRetrieveCatalogAndOrderAppleMacbookPro15InfeasibleTask, DashDoFinalTask
1573
+ ):
1574
+ def __init__(
1575
+ self,
1576
+ instance: SNowInstance = None,
1577
+ seed: int = None,
1578
+ fixed_config: list[AbstractServiceNowTask] = None,
1579
+ level: int = 2,
1580
+ ) -> None:
1581
+ """
1582
+ Retrieve information based on incidents from the dashboard and do the task.
1583
+ """
1584
+ super().__init__(
1585
+ instance=instance,
1586
+ seed=seed,
1587
+ fixed_config=fixed_config,
1588
+ level=level,
1589
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1590
+ question="mode",
1591
+ provide_reason=False,
1592
+ )
1593
+
1594
+
1595
+ class DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask(
1596
+ DashboardRetrieveCatalogAndDoInfeasibleTask
1597
+ ):
1598
+ config_path = ORDER_DEVELOPMENT_LAPTOP_PC_TASK_CONFIG_PATH
1599
+
1600
+ def __init__(
1601
+ self,
1602
+ instance: SNowInstance = None,
1603
+ seed: int = None,
1604
+ fixed_config: list[AbstractServiceNowTask] = None,
1605
+ level: int = 2,
1606
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
1607
+ question: str = None,
1608
+ provide_reason: bool = None,
1609
+ ) -> None:
1610
+ """
1611
+ Retrieve information based on incidents from the dashboard and do the task.
1612
+ """
1613
+ self.order_item_class = OrderDevelopmentLaptopPCTask
1614
+ super().__init__(
1615
+ instance=instance,
1616
+ seed=seed,
1617
+ fixed_config=fixed_config,
1618
+ level=level,
1619
+ dashboard_class=dashboard_class,
1620
+ question=question,
1621
+ min_catalog_item="Development Laptop (PC)",
1622
+ provide_reason=provide_reason,
1623
+ )
1624
+
1625
+
1626
+ class DashboardRetrieveCatalogAndMaxOrderDevelopmentLaptopPCInfeasibleWithReasonTask(
1627
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1628
+ ):
1629
+ def __init__(
1630
+ self,
1631
+ instance: SNowInstance = None,
1632
+ seed: int = None,
1633
+ fixed_config: list[AbstractServiceNowTask] = None,
1634
+ level: int = 2,
1635
+ ) -> None:
1636
+ """
1637
+ Retrieve information based on incidents from the dashboard and do the task.
1638
+ """
1639
+ super().__init__(
1640
+ instance=instance,
1641
+ seed=seed,
1642
+ fixed_config=fixed_config,
1643
+ level=level,
1644
+ dashboard_class=ReportMinMaxRetrievalTask,
1645
+ question="max",
1646
+ provide_reason=True,
1647
+ )
1648
+
1649
+
1650
+ class DashboardRetrieveCatalogAndMaxOrderDevelopmentLaptopPCInfeasibleTask(
1651
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1652
+ ):
1653
+ def __init__(
1654
+ self,
1655
+ instance: SNowInstance = None,
1656
+ seed: int = None,
1657
+ fixed_config: list[AbstractServiceNowTask] = None,
1658
+ level: int = 2,
1659
+ ) -> None:
1660
+ """
1661
+ Retrieve information based on incidents from the dashboard and do the task.
1662
+ """
1663
+ super().__init__(
1664
+ instance=instance,
1665
+ seed=seed,
1666
+ fixed_config=fixed_config,
1667
+ level=level,
1668
+ dashboard_class=ReportMinMaxRetrievalTask,
1669
+ question="max",
1670
+ provide_reason=False,
1671
+ )
1672
+
1673
+
1674
+ class DashboardRetrieveCatalogAndMeanOrderDevelopmentLaptopPCInfeasibleWithReasonTask(
1675
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1676
+ ):
1677
+ def __init__(
1678
+ self,
1679
+ instance: SNowInstance = None,
1680
+ seed: int = None,
1681
+ fixed_config: list[AbstractServiceNowTask] = None,
1682
+ level: int = 2,
1683
+ ) -> None:
1684
+ """
1685
+ Retrieve information based on incidents from the dashboard and do the task.
1686
+ """
1687
+ super().__init__(
1688
+ instance=instance,
1689
+ seed=seed,
1690
+ fixed_config=fixed_config,
1691
+ level=level,
1692
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1693
+ question="mean",
1694
+ provide_reason=True,
1695
+ )
1696
+
1697
+
1698
+ class DashboardRetrieveCatalogAndMeanOrderDevelopmentLaptopPCInfeasibleTask(
1699
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1700
+ ):
1701
+ def __init__(
1702
+ self,
1703
+ instance: SNowInstance = None,
1704
+ seed: int = None,
1705
+ fixed_config: list[AbstractServiceNowTask] = None,
1706
+ level: int = 2,
1707
+ ) -> None:
1708
+ """
1709
+ Retrieve information based on incidents from the dashboard and do the task.
1710
+ """
1711
+ super().__init__(
1712
+ instance=instance,
1713
+ seed=seed,
1714
+ fixed_config=fixed_config,
1715
+ level=level,
1716
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1717
+ question="mean",
1718
+ provide_reason=False,
1719
+ )
1720
+
1721
+
1722
+ class DashboardRetrieveCatalogAndMedianOrderDevelopmentLaptopPCInfeasibleWithReasonTask(
1723
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1724
+ ):
1725
+ def __init__(
1726
+ self,
1727
+ instance: SNowInstance = None,
1728
+ seed: int = None,
1729
+ fixed_config: list[AbstractServiceNowTask] = None,
1730
+ level: int = 2,
1731
+ ) -> None:
1732
+ """
1733
+ Retrieve information based on incidents from the dashboard and do the task.
1734
+ """
1735
+ super().__init__(
1736
+ instance=instance,
1737
+ seed=seed,
1738
+ fixed_config=fixed_config,
1739
+ level=level,
1740
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1741
+ question="median",
1742
+ provide_reason=True,
1743
+ )
1744
+
1745
+
1746
+ class DashboardRetrieveCatalogAndMedianOrderDevelopmentLaptopPCInfeasibleTask(
1747
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1748
+ ):
1749
+ def __init__(
1750
+ self,
1751
+ instance: SNowInstance = None,
1752
+ seed: int = None,
1753
+ fixed_config: list[AbstractServiceNowTask] = None,
1754
+ level: int = 2,
1755
+ ) -> None:
1756
+ """
1757
+ Retrieve information based on incidents from the dashboard and do the task.
1758
+ """
1759
+ super().__init__(
1760
+ instance=instance,
1761
+ seed=seed,
1762
+ fixed_config=fixed_config,
1763
+ level=level,
1764
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1765
+ question="median",
1766
+ provide_reason=False,
1767
+ )
1768
+
1769
+
1770
+ class DashboardRetrieveCatalogAndModeOrderDevelopmentLaptopPCInfeasibleWithReasonTask(
1771
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1772
+ ):
1773
+ def __init__(
1774
+ self,
1775
+ instance: SNowInstance = None,
1776
+ seed: int = None,
1777
+ fixed_config: list[AbstractServiceNowTask] = None,
1778
+ level: int = 2,
1779
+ ) -> None:
1780
+ """
1781
+ Retrieve information based on incidents from the dashboard and do the task.
1782
+ """
1783
+ super().__init__(
1784
+ instance=instance,
1785
+ seed=seed,
1786
+ fixed_config=fixed_config,
1787
+ level=level,
1788
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1789
+ question="mode",
1790
+ provide_reason=True,
1791
+ )
1792
+
1793
+
1794
+ class DashboardRetrieveCatalogAndModeOrderDevelopmentLaptopPCInfeasibleTask(
1795
+ DashboardRetrieveCatalogAndOrderDevelopmentLaptopPCInfeasibleTask, DashDoFinalTask
1796
+ ):
1797
+ def __init__(
1798
+ self,
1799
+ instance: SNowInstance = None,
1800
+ seed: int = None,
1801
+ fixed_config: list[AbstractServiceNowTask] = None,
1802
+ level: int = 2,
1803
+ ) -> None:
1804
+ """
1805
+ Retrieve information based on incidents from the dashboard and do the task.
1806
+ """
1807
+ super().__init__(
1808
+ instance=instance,
1809
+ seed=seed,
1810
+ fixed_config=fixed_config,
1811
+ level=level,
1812
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1813
+ question="mode",
1814
+ provide_reason=False,
1815
+ )
1816
+
1817
+
1818
+ class DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask(
1819
+ DashboardRetrieveCatalogAndDoInfeasibleTask
1820
+ ):
1821
+ config_path = ORDER_LOANER_LAPTOP_TASK_CONFIG_PATH
1822
+
1823
+ def __init__(
1824
+ self,
1825
+ instance: SNowInstance = None,
1826
+ seed: int = None,
1827
+ fixed_config: list[AbstractServiceNowTask] = None,
1828
+ level: int = 2,
1829
+ dashboard_class: AbstractServiceNowTask = ReportMinMaxRetrievalTask,
1830
+ question: str = None,
1831
+ provide_reason: bool = None,
1832
+ ) -> None:
1833
+ """
1834
+ Retrieve information based on incidents from the dashboard and do the task.
1835
+ """
1836
+ self.order_item_class = OrderLoanerLaptopTask
1837
+ super().__init__(
1838
+ instance=instance,
1839
+ seed=seed,
1840
+ fixed_config=fixed_config,
1841
+ level=level,
1842
+ dashboard_class=dashboard_class,
1843
+ question=question,
1844
+ min_catalog_item="Loaner Laptop",
1845
+ provide_reason=provide_reason,
1846
+ )
1847
+
1848
+
1849
+ class DashboardRetrieveCatalogAndMaxOrderLoanerLaptopInfeasibleWithReasonTask(
1850
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
1851
+ ):
1852
+ def __init__(
1853
+ self,
1854
+ instance: SNowInstance = None,
1855
+ seed: int = None,
1856
+ fixed_config: list[AbstractServiceNowTask] = None,
1857
+ level: int = 2,
1858
+ ) -> None:
1859
+ """
1860
+ Retrieve information based on incidents from the dashboard and do the task.
1861
+ """
1862
+ super().__init__(
1863
+ instance=instance,
1864
+ seed=seed,
1865
+ fixed_config=fixed_config,
1866
+ level=level,
1867
+ dashboard_class=ReportMinMaxRetrievalTask,
1868
+ question="max",
1869
+ provide_reason=True,
1870
+ )
1871
+
1872
+
1873
+ class DashboardRetrieveCatalogAndMaxOrderLoanerLaptopInfeasibleTask(
1874
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
1875
+ ):
1876
+ def __init__(
1877
+ self,
1878
+ instance: SNowInstance = None,
1879
+ seed: int = None,
1880
+ fixed_config: list[AbstractServiceNowTask] = None,
1881
+ level: int = 2,
1882
+ ) -> None:
1883
+ """
1884
+ Retrieve information based on incidents from the dashboard and do the task.
1885
+ """
1886
+ super().__init__(
1887
+ instance=instance,
1888
+ seed=seed,
1889
+ fixed_config=fixed_config,
1890
+ level=level,
1891
+ dashboard_class=ReportMinMaxRetrievalTask,
1892
+ question="max",
1893
+ provide_reason=False,
1894
+ )
1895
+
1896
+
1897
+ class DashboardRetrieveCatalogAndMeanOrderLoanerLaptopInfeasibleWithReasonTask(
1898
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
1899
+ ):
1900
+ def __init__(
1901
+ self,
1902
+ instance: SNowInstance = None,
1903
+ seed: int = None,
1904
+ fixed_config: list[AbstractServiceNowTask] = None,
1905
+ level: int = 2,
1906
+ ) -> None:
1907
+ """
1908
+ Retrieve information based on incidents from the dashboard and do the task.
1909
+ """
1910
+ super().__init__(
1911
+ instance=instance,
1912
+ seed=seed,
1913
+ fixed_config=fixed_config,
1914
+ level=level,
1915
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1916
+ question="mean",
1917
+ provide_reason=True,
1918
+ )
1919
+
1920
+
1921
+ class DashboardRetrieveCatalogAndMeanOrderLoanerLaptopInfeasibleTask(
1922
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
1923
+ ):
1924
+ def __init__(
1925
+ self,
1926
+ instance: SNowInstance = None,
1927
+ seed: int = None,
1928
+ fixed_config: list[AbstractServiceNowTask] = None,
1929
+ level: int = 2,
1930
+ ) -> None:
1931
+ """
1932
+ Retrieve information based on incidents from the dashboard and do the task.
1933
+ """
1934
+ super().__init__(
1935
+ instance=instance,
1936
+ seed=seed,
1937
+ fixed_config=fixed_config,
1938
+ level=level,
1939
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1940
+ question="mean",
1941
+ provide_reason=False,
1942
+ )
1943
+
1944
+
1945
+ class DashboardRetrieveCatalogAndMedianOrderLoanerLaptopInfeasibleWithReasonTask(
1946
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
1947
+ ):
1948
+ def __init__(
1949
+ self,
1950
+ instance: SNowInstance = None,
1951
+ seed: int = None,
1952
+ fixed_config: list[AbstractServiceNowTask] = None,
1953
+ level: int = 2,
1954
+ ) -> None:
1955
+ """
1956
+ Retrieve information based on incidents from the dashboard and do the task.
1957
+ """
1958
+ super().__init__(
1959
+ instance=instance,
1960
+ seed=seed,
1961
+ fixed_config=fixed_config,
1962
+ level=level,
1963
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1964
+ question="median",
1965
+ provide_reason=True,
1966
+ )
1967
+
1968
+
1969
+ class DashboardRetrieveCatalogAndMedianOrderLoanerLaptopInfeasibleTask(
1970
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
1971
+ ):
1972
+ def __init__(
1973
+ self,
1974
+ instance: SNowInstance = None,
1975
+ seed: int = None,
1976
+ fixed_config: list[AbstractServiceNowTask] = None,
1977
+ level: int = 2,
1978
+ ) -> None:
1979
+ """
1980
+ Retrieve information based on incidents from the dashboard and do the task.
1981
+ """
1982
+ super().__init__(
1983
+ instance=instance,
1984
+ seed=seed,
1985
+ fixed_config=fixed_config,
1986
+ level=level,
1987
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
1988
+ question="median",
1989
+ provide_reason=False,
1990
+ )
1991
+
1992
+
1993
+ class DashboardRetrieveCatalogAndModeOrderLoanerLaptopInfeasibleWithReasonTask(
1994
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
1995
+ ):
1996
+ def __init__(
1997
+ self,
1998
+ instance: SNowInstance = None,
1999
+ seed: int = None,
2000
+ fixed_config: list[AbstractServiceNowTask] = None,
2001
+ level: int = 2,
2002
+ ) -> None:
2003
+ """
2004
+ Retrieve information based on incidents from the dashboard and do the task.
2005
+ """
2006
+ super().__init__(
2007
+ instance=instance,
2008
+ seed=seed,
2009
+ fixed_config=fixed_config,
2010
+ level=level,
2011
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
2012
+ question="mode",
2013
+ provide_reason=True,
2014
+ )
2015
+
2016
+
2017
+ class DashboardRetrieveCatalogAndModeOrderLoanerLaptopInfeasibleTask(
2018
+ DashboardRetrieveCatalogAndOrderLoanerLaptopInfeasibleTask, DashDoFinalTask
2019
+ ):
2020
+ def __init__(
2021
+ self,
2022
+ instance: SNowInstance = None,
2023
+ seed: int = None,
2024
+ fixed_config: list[AbstractServiceNowTask] = None,
2025
+ level: int = 2,
2026
+ ) -> None:
2027
+ """
2028
+ Retrieve information based on incidents from the dashboard and do the task.
2029
+ """
2030
+ super().__init__(
2031
+ instance=instance,
2032
+ seed=seed,
2033
+ fixed_config=fixed_config,
2034
+ level=level,
2035
+ dashboard_class=ReportMeanMedianModeRetrievalTask,
2036
+ question="mode",
2037
+ provide_reason=False,
2038
+ )
2039
+
2040
+
2041
+ local_vars = locals().copy()
2042
+
2043
+ __TASKS__ = [
2044
+ var
2045
+ for var in local_vars.values()
2046
+ if isinstance(var, type) and issubclass(var, DashDoFinalTask) and var is not DashDoFinalTask
2047
+ ]