pygeai 0.6.0b7__py3-none-any.whl → 0.6.0b10__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 (178) hide show
  1. pygeai/_docs/source/conf.py +78 -6
  2. pygeai/_docs/source/content/api_reference/embeddings.rst +31 -1
  3. pygeai/_docs/source/content/api_reference/evaluation.rst +590 -0
  4. pygeai/_docs/source/content/api_reference/feedback.rst +237 -0
  5. pygeai/_docs/source/content/api_reference/files.rst +592 -0
  6. pygeai/_docs/source/content/api_reference/gam.rst +401 -0
  7. pygeai/_docs/source/content/api_reference/proxy.rst +318 -0
  8. pygeai/_docs/source/content/api_reference/secrets.rst +495 -0
  9. pygeai/_docs/source/content/api_reference/usage_limits.rst +390 -0
  10. pygeai/_docs/source/content/api_reference.rst +7 -0
  11. pygeai/_docs/source/content/debugger.rst +376 -83
  12. pygeai/_docs/source/content/migration.rst +528 -0
  13. pygeai/_docs/source/content/modules.rst +1 -1
  14. pygeai/_docs/source/pygeai.cli.rst +8 -0
  15. pygeai/_docs/source/pygeai.tests.cli.rst +16 -0
  16. pygeai/_docs/source/pygeai.tests.core.embeddings.rst +16 -0
  17. pygeai/_docs/source/pygeai.tests.snippets.chat.rst +40 -0
  18. pygeai/_docs/source/pygeai.tests.snippets.dbg.rst +45 -0
  19. pygeai/_docs/source/pygeai.tests.snippets.embeddings.rst +40 -0
  20. pygeai/_docs/source/pygeai.tests.snippets.evaluation.dataset.rst +197 -0
  21. pygeai/_docs/source/pygeai.tests.snippets.evaluation.plan.rst +133 -0
  22. pygeai/_docs/source/pygeai.tests.snippets.evaluation.result.rst +37 -0
  23. pygeai/_docs/source/pygeai.tests.snippets.evaluation.rst +10 -0
  24. pygeai/_docs/source/pygeai.tests.snippets.rst +1 -0
  25. pygeai/admin/clients.py +5 -0
  26. pygeai/assistant/clients.py +7 -0
  27. pygeai/assistant/data_analyst/clients.py +2 -0
  28. pygeai/assistant/rag/clients.py +11 -0
  29. pygeai/chat/clients.py +191 -25
  30. pygeai/chat/endpoints.py +2 -1
  31. pygeai/cli/commands/chat.py +227 -1
  32. pygeai/cli/commands/embeddings.py +56 -8
  33. pygeai/cli/commands/migrate.py +994 -434
  34. pygeai/cli/error_handler.py +116 -0
  35. pygeai/cli/geai.py +28 -10
  36. pygeai/cli/parsers.py +8 -2
  37. pygeai/core/base/clients.py +3 -1
  38. pygeai/core/common/exceptions.py +11 -10
  39. pygeai/core/embeddings/__init__.py +19 -0
  40. pygeai/core/embeddings/clients.py +17 -2
  41. pygeai/core/embeddings/mappers.py +16 -2
  42. pygeai/core/embeddings/responses.py +9 -2
  43. pygeai/core/feedback/clients.py +1 -0
  44. pygeai/core/files/clients.py +5 -7
  45. pygeai/core/files/managers.py +42 -0
  46. pygeai/core/llm/clients.py +4 -0
  47. pygeai/core/plugins/clients.py +1 -0
  48. pygeai/core/rerank/clients.py +1 -0
  49. pygeai/core/secrets/clients.py +6 -0
  50. pygeai/core/services/rest.py +1 -1
  51. pygeai/dbg/__init__.py +3 -0
  52. pygeai/dbg/debugger.py +565 -70
  53. pygeai/evaluation/clients.py +1 -1
  54. pygeai/evaluation/dataset/clients.py +45 -44
  55. pygeai/evaluation/plan/clients.py +27 -26
  56. pygeai/evaluation/result/clients.py +37 -5
  57. pygeai/gam/clients.py +4 -0
  58. pygeai/health/clients.py +1 -0
  59. pygeai/lab/agents/clients.py +8 -1
  60. pygeai/lab/models.py +3 -3
  61. pygeai/lab/processes/clients.py +21 -0
  62. pygeai/lab/strategies/clients.py +4 -0
  63. pygeai/lab/tools/clients.py +1 -0
  64. pygeai/migration/__init__.py +31 -0
  65. pygeai/migration/strategies.py +404 -155
  66. pygeai/migration/tools.py +170 -3
  67. pygeai/organization/clients.py +13 -0
  68. pygeai/organization/limits/clients.py +15 -0
  69. pygeai/proxy/clients.py +3 -1
  70. pygeai/tests/admin/test_clients.py +16 -11
  71. pygeai/tests/assistants/rag/test_clients.py +35 -23
  72. pygeai/tests/assistants/test_clients.py +22 -15
  73. pygeai/tests/auth/test_clients.py +14 -6
  74. pygeai/tests/chat/test_clients.py +211 -1
  75. pygeai/tests/cli/commands/test_embeddings.py +32 -9
  76. pygeai/tests/cli/commands/test_evaluation.py +7 -0
  77. pygeai/tests/cli/commands/test_migrate.py +112 -243
  78. pygeai/tests/cli/test_error_handler.py +225 -0
  79. pygeai/tests/cli/test_geai_driver.py +154 -0
  80. pygeai/tests/cli/test_parsers.py +5 -5
  81. pygeai/tests/core/embeddings/test_clients.py +144 -0
  82. pygeai/tests/core/embeddings/test_managers.py +171 -0
  83. pygeai/tests/core/embeddings/test_mappers.py +142 -0
  84. pygeai/tests/core/feedback/test_clients.py +2 -0
  85. pygeai/tests/core/files/test_clients.py +1 -0
  86. pygeai/tests/core/llm/test_clients.py +14 -9
  87. pygeai/tests/core/plugins/test_clients.py +5 -3
  88. pygeai/tests/core/rerank/test_clients.py +1 -0
  89. pygeai/tests/core/secrets/test_clients.py +19 -13
  90. pygeai/tests/dbg/test_debugger.py +453 -75
  91. pygeai/tests/evaluation/dataset/test_clients.py +3 -1
  92. pygeai/tests/evaluation/plan/test_clients.py +4 -2
  93. pygeai/tests/evaluation/result/test_clients.py +7 -5
  94. pygeai/tests/gam/test_clients.py +1 -1
  95. pygeai/tests/health/test_clients.py +1 -0
  96. pygeai/tests/lab/agents/test_clients.py +9 -0
  97. pygeai/tests/lab/processes/test_clients.py +36 -0
  98. pygeai/tests/lab/processes/test_mappers.py +3 -0
  99. pygeai/tests/lab/strategies/test_clients.py +14 -9
  100. pygeai/tests/migration/test_strategies.py +45 -218
  101. pygeai/tests/migration/test_tools.py +133 -9
  102. pygeai/tests/organization/limits/test_clients.py +17 -0
  103. pygeai/tests/organization/test_clients.py +22 -0
  104. pygeai/tests/proxy/test_clients.py +2 -0
  105. pygeai/tests/proxy/test_integration.py +1 -0
  106. pygeai/tests/snippets/chat/chat_completion_with_reasoning_effort.py +18 -0
  107. pygeai/tests/snippets/chat/get_response.py +15 -0
  108. pygeai/tests/snippets/chat/get_response_streaming.py +20 -0
  109. pygeai/tests/snippets/chat/get_response_with_files.py +16 -0
  110. pygeai/tests/snippets/chat/get_response_with_tools.py +36 -0
  111. pygeai/tests/snippets/dbg/__init__.py +0 -0
  112. pygeai/tests/snippets/dbg/basic_debugging.py +32 -0
  113. pygeai/tests/snippets/dbg/breakpoint_management.py +48 -0
  114. pygeai/tests/snippets/dbg/stack_navigation.py +45 -0
  115. pygeai/tests/snippets/dbg/stepping_example.py +40 -0
  116. pygeai/tests/snippets/embeddings/cache_example.py +31 -0
  117. pygeai/tests/snippets/embeddings/cohere_example.py +41 -0
  118. pygeai/tests/snippets/embeddings/openai_base64_example.py +27 -0
  119. pygeai/tests/snippets/embeddings/openai_example.py +30 -0
  120. pygeai/tests/snippets/embeddings/similarity_example.py +42 -0
  121. pygeai/tests/snippets/evaluation/dataset/__init__.py +0 -0
  122. pygeai/tests/snippets/evaluation/dataset/complete_workflow_example.py +195 -0
  123. pygeai/tests/snippets/evaluation/dataset/create_dataset.py +26 -0
  124. pygeai/tests/snippets/evaluation/dataset/create_dataset_from_file.py +11 -0
  125. pygeai/tests/snippets/evaluation/dataset/create_dataset_row.py +17 -0
  126. pygeai/tests/snippets/evaluation/dataset/create_expected_source.py +18 -0
  127. pygeai/tests/snippets/evaluation/dataset/create_filter_variable.py +19 -0
  128. pygeai/tests/snippets/evaluation/dataset/delete_dataset.py +9 -0
  129. pygeai/tests/snippets/evaluation/dataset/delete_dataset_row.py +10 -0
  130. pygeai/tests/snippets/evaluation/dataset/delete_expected_source.py +15 -0
  131. pygeai/tests/snippets/evaluation/dataset/delete_filter_variable.py +15 -0
  132. pygeai/tests/snippets/evaluation/dataset/get_dataset.py +9 -0
  133. pygeai/tests/snippets/evaluation/dataset/get_dataset_row.py +10 -0
  134. pygeai/tests/snippets/evaluation/dataset/get_expected_source.py +15 -0
  135. pygeai/tests/snippets/evaluation/dataset/get_filter_variable.py +15 -0
  136. pygeai/tests/snippets/evaluation/dataset/list_dataset_rows.py +9 -0
  137. pygeai/tests/snippets/evaluation/dataset/list_datasets.py +6 -0
  138. pygeai/tests/snippets/evaluation/dataset/list_expected_sources.py +10 -0
  139. pygeai/tests/snippets/evaluation/dataset/list_filter_variables.py +10 -0
  140. pygeai/tests/snippets/evaluation/dataset/update_dataset.py +15 -0
  141. pygeai/tests/snippets/evaluation/dataset/update_dataset_row.py +20 -0
  142. pygeai/tests/snippets/evaluation/dataset/update_expected_source.py +18 -0
  143. pygeai/tests/snippets/evaluation/dataset/update_filter_variable.py +19 -0
  144. pygeai/tests/snippets/evaluation/dataset/upload_dataset_rows_file.py +10 -0
  145. pygeai/tests/snippets/evaluation/plan/__init__.py +0 -0
  146. pygeai/tests/snippets/evaluation/plan/add_plan_system_metric.py +13 -0
  147. pygeai/tests/snippets/evaluation/plan/complete_workflow_example.py +136 -0
  148. pygeai/tests/snippets/evaluation/plan/create_evaluation_plan.py +24 -0
  149. pygeai/tests/snippets/evaluation/plan/create_rag_evaluation_plan.py +22 -0
  150. pygeai/tests/snippets/evaluation/plan/delete_evaluation_plan.py +9 -0
  151. pygeai/tests/snippets/evaluation/plan/delete_plan_system_metric.py +13 -0
  152. pygeai/tests/snippets/evaluation/plan/execute_evaluation_plan.py +11 -0
  153. pygeai/tests/snippets/evaluation/plan/get_evaluation_plan.py +9 -0
  154. pygeai/tests/snippets/evaluation/plan/get_plan_system_metric.py +13 -0
  155. pygeai/tests/snippets/evaluation/plan/get_system_metric.py +9 -0
  156. pygeai/tests/snippets/evaluation/plan/list_evaluation_plans.py +7 -0
  157. pygeai/tests/snippets/evaluation/plan/list_plan_system_metrics.py +9 -0
  158. pygeai/tests/snippets/evaluation/plan/list_system_metrics.py +7 -0
  159. pygeai/tests/snippets/evaluation/plan/update_evaluation_plan.py +22 -0
  160. pygeai/tests/snippets/evaluation/plan/update_plan_system_metric.py +14 -0
  161. pygeai/tests/snippets/evaluation/result/__init__.py +0 -0
  162. pygeai/tests/snippets/evaluation/result/complete_workflow_example.py +150 -0
  163. pygeai/tests/snippets/evaluation/result/get_evaluation_result.py +26 -0
  164. pygeai/tests/snippets/evaluation/result/list_evaluation_results.py +17 -0
  165. pygeai/tests/snippets/migrate/__init__.py +45 -0
  166. pygeai/tests/snippets/migrate/agent_migration.py +110 -0
  167. pygeai/tests/snippets/migrate/assistant_migration.py +64 -0
  168. pygeai/tests/snippets/migrate/orchestrator_examples.py +179 -0
  169. pygeai/tests/snippets/migrate/process_migration.py +64 -0
  170. pygeai/tests/snippets/migrate/project_migration.py +42 -0
  171. pygeai/tests/snippets/migrate/tool_migration.py +64 -0
  172. pygeai/tests/snippets/organization/create_project.py +2 -2
  173. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/METADATA +1 -1
  174. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/RECORD +178 -96
  175. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/WHEEL +0 -0
  176. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/entry_points.txt +0 -0
  177. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/licenses/LICENSE +0 -0
  178. {pygeai-0.6.0b7.dist-info → pygeai-0.6.0b10.dist-info}/top_level.txt +0 -0
@@ -85,6 +85,7 @@ class AgenticProcessClient(AILabClient):
85
85
  logger.debug(f"Creating agentic process with data: {data}")
86
86
 
87
87
  response = self.api_service.post(endpoint=endpoint, headers=headers, data=data)
88
+ validate_status_code(response)
88
89
  return parse_json_response(response, f"create process for project {self.project_id}")
89
90
 
90
91
 
@@ -190,6 +191,7 @@ class AgenticProcessClient(AILabClient):
190
191
  headers=headers,
191
192
  data=data
192
193
  )
194
+ validate_status_code(response)
193
195
  return parse_json_response(response, f"update process {process_id or name} in project {self.project_id}")
194
196
 
195
197
 
@@ -239,6 +241,7 @@ class AgenticProcessClient(AILabClient):
239
241
  headers=headers,
240
242
  params=params
241
243
  )
244
+ validate_status_code(response)
242
245
  return parse_json_response(response, f"retrieve process {process_id or process_name} for project {self.project_id}")
243
246
 
244
247
 
@@ -287,6 +290,7 @@ class AgenticProcessClient(AILabClient):
287
290
  headers=headers,
288
291
  params=params
289
292
  )
293
+ validate_status_code(response)
290
294
  return parse_json_response(response, f"list processes for project {self.project_id}")
291
295
 
292
296
 
@@ -329,6 +333,7 @@ class AgenticProcessClient(AILabClient):
329
333
  headers=headers,
330
334
  params=params
331
335
  )
336
+ validate_status_code(response)
332
337
  return parse_json_response(response, f"list process instances for process {process_id} in project {self.project_id}")
333
338
 
334
339
 
@@ -411,6 +416,7 @@ class AgenticProcessClient(AILabClient):
411
416
  "revision": revision
412
417
  }
413
418
  )
419
+ validate_status_code(response)
414
420
  return parse_json_response(response, f"publish revision {revision} for process {process_id or process_name} in project {self.project_id}")
415
421
 
416
422
 
@@ -466,6 +472,7 @@ class AgenticProcessClient(AILabClient):
466
472
  logger.debug(f"Creating task with data: {data}")
467
473
 
468
474
  response = self.api_service.post(endpoint=endpoint, headers=headers, data=data)
475
+ validate_status_code(response)
469
476
  return parse_json_response(response, f"create task for project {self.project_id}")
470
477
  def get_task(
471
478
  self,
@@ -497,6 +504,7 @@ class AgenticProcessClient(AILabClient):
497
504
  logger.debug(f"Retrieving task detail with name {task_name}")
498
505
 
499
506
  response = self.api_service.get(endpoint=endpoint, headers=headers)
507
+ validate_status_code(response)
500
508
  return parse_json_response(response, f"retrieve task {task_id or task_name} for project {self.project_id}")
501
509
  def list_tasks(
502
510
  self,
@@ -531,6 +539,7 @@ class AgenticProcessClient(AILabClient):
531
539
  logger.debug(f"Listing tasks for project with ID {self.project_id}")
532
540
 
533
541
  response = self.api_service.get(endpoint=endpoint, headers=headers, params=params)
542
+ validate_status_code(response)
534
543
  return parse_json_response(response, f"list tasks for project {self.project_id}")
535
544
  def update_task(
536
545
  self,
@@ -594,6 +603,7 @@ class AgenticProcessClient(AILabClient):
594
603
  logger.debug(f"Updating task with ID {task_id} with data: {data}")
595
604
 
596
605
  response = self.api_service.put(endpoint=endpoint, headers=headers, data=data)
606
+ validate_status_code(response)
597
607
  return parse_json_response(response, f"update task {task_id} in project {self.project_id}")
598
608
  def delete_task(
599
609
  self,
@@ -671,6 +681,7 @@ class AgenticProcessClient(AILabClient):
671
681
  logger.debug(f"Publishing revision {revision} for task with name {task_name}")
672
682
 
673
683
  response = self.api_service.post(endpoint=endpoint, headers=headers, data=data)
684
+ validate_status_code(response)
674
685
  return parse_json_response(response, f"publish revision {revision} for task {task_id or task_name} in project {self.project_id}")
675
686
  def start_instance(
676
687
  self,
@@ -707,6 +718,7 @@ class AgenticProcessClient(AILabClient):
707
718
  logger.info(f"Starting instance for process with name '{process_name}'")
708
719
 
709
720
  response = self.api_service.post(endpoint=endpoint, headers=headers, data=data)
721
+ validate_status_code(response)
710
722
  return parse_json_response(response, f"start instance for process {process_name} in project {self.project_id}")
711
723
  def abort_instance(
712
724
  self,
@@ -734,6 +746,7 @@ class AgenticProcessClient(AILabClient):
734
746
  logger.info(f"Aborting instance with ID '{instance_id}'")
735
747
 
736
748
  response = self.api_service.post(endpoint=endpoint, headers=headers, data={})
749
+ validate_status_code(response)
737
750
  return parse_json_response(response, f"abort instance {instance_id} in project {self.project_id}")
738
751
  def get_instance(
739
752
  self,
@@ -759,6 +772,7 @@ class AgenticProcessClient(AILabClient):
759
772
  logger.info(f"Retrieving instance detail with ID '{instance_id}'")
760
773
 
761
774
  response = self.api_service.get(endpoint=endpoint, headers=headers)
775
+ validate_status_code(response)
762
776
  return parse_json_response(response, f"retrieve instance {instance_id} for project {self.project_id}")
763
777
  def get_instance_history(
764
778
  self,
@@ -784,6 +798,7 @@ class AgenticProcessClient(AILabClient):
784
798
  logger.info(f"Retrieving instance history with ID '{instance_id}'")
785
799
 
786
800
  response = self.api_service.get(endpoint=endpoint, headers=headers)
801
+ validate_status_code(response)
787
802
  return parse_json_response(response, f"retrieve history for instance {instance_id} in project {self.project_id}")
788
803
  def get_thread_information(
789
804
  self,
@@ -809,6 +824,7 @@ class AgenticProcessClient(AILabClient):
809
824
  logger.debug(f"Retrieving information about thread with ID {thread_id}")
810
825
 
811
826
  response = self.api_service.get(endpoint=endpoint, headers=headers)
827
+ validate_status_code(response)
812
828
  return parse_json_response(response, f"retrieve thread information for thread {thread_id} in project {self.project_id}")
813
829
  def send_user_signal(
814
830
  self,
@@ -843,6 +859,7 @@ class AgenticProcessClient(AILabClient):
843
859
  logger.debug(f"Sending user signal to process instance with ID {instance_id} with data: {data}")
844
860
 
845
861
  response = self.api_service.post(endpoint=endpoint, headers=headers, data=data)
862
+ validate_status_code(response)
846
863
  return parse_json_response(response, f"send user signal {signal_name} to instance {instance_id} in project {self.project_id}")
847
864
  def create_kb(
848
865
  self,
@@ -883,6 +900,7 @@ class AgenticProcessClient(AILabClient):
883
900
  headers=headers,
884
901
  data=data
885
902
  )
903
+ validate_status_code(response)
886
904
  return parse_json_response(response, f"create knowledge base for project {self.project_id}")
887
905
  def get_kb(
888
906
  self,
@@ -915,6 +933,7 @@ class AgenticProcessClient(AILabClient):
915
933
 
916
934
  response = self.api_service.get(endpoint=endpoint, headers=headers)
917
935
  kb_identifier = kb_id or kb_name
936
+ validate_status_code(response)
918
937
  return parse_json_response(response, f"retrieve knowledge base {kb_identifier} for project {self.project_id}")
919
938
  def list_kbs(
920
939
  self,
@@ -946,6 +965,7 @@ class AgenticProcessClient(AILabClient):
946
965
  logger.debug(f"Listing tasks in project with ID {self.project_id}")
947
966
 
948
967
  response = self.api_service.get(endpoint=endpoint, headers=headers, params=params)
968
+ validate_status_code(response)
949
969
  return parse_json_response(response, f"list knowledge bases for project {self.project_id}")
950
970
  def delete_kb(
951
971
  self,
@@ -1026,5 +1046,6 @@ class AgenticProcessClient(AILabClient):
1026
1046
  headers=headers,
1027
1047
  params=params
1028
1048
  )
1049
+ validate_status_code(response)
1029
1050
  return parse_json_response(response, f"list jobs for project {self.project_id}")
1030
1051
 
@@ -47,6 +47,7 @@ class ReasoningStrategyClient(AILabClient):
47
47
  logger.debug("Listing reasoning strategies")
48
48
 
49
49
  response = self.api_service.get(endpoint=endpoint, headers=headers, params=params)
50
+ validate_status_code(response)
50
51
  return parse_json_response(response, "list reasoning strategies")
51
52
 
52
53
 
@@ -94,6 +95,7 @@ class ReasoningStrategyClient(AILabClient):
94
95
  logger.debug(f"Creating reasoning strategy with data: {data}")
95
96
 
96
97
  response = self.api_service.post(endpoint=endpoint, headers=headers, data=data)
98
+ validate_status_code(response)
97
99
  return parse_json_response(response, f"create reasoning strategy for project {self.project_id}")
98
100
 
99
101
 
@@ -165,6 +167,7 @@ class ReasoningStrategyClient(AILabClient):
165
167
  headers=headers,
166
168
  data=data
167
169
  )
170
+ validate_status_code(response)
168
171
  return parse_json_response(response, f"update reasoning strategy {reasoning_strategy_id} in project {self.project_id}")
169
172
 
170
173
 
@@ -203,6 +206,7 @@ class ReasoningStrategyClient(AILabClient):
203
206
  headers=headers
204
207
  )
205
208
  strategy_identifier = reasoning_strategy_id or reasoning_strategy_name
209
+ validate_status_code(response)
206
210
  return parse_json_response(response, f"retrieve reasoning strategy {strategy_identifier} for project {self.project_id}")
207
211
 
208
212
 
@@ -385,6 +385,7 @@ class ToolClient(AILabClient):
385
385
  "revision": revision,
386
386
  }
387
387
  )
388
+ validate_status_code(response)
388
389
  return parse_json_response(response, f"publish revision {revision} for tool {tool_id} in project {self.project_id}")
389
390
 
390
391
 
@@ -0,0 +1,31 @@
1
+ from pygeai.migration.strategies import (
2
+ MigrationStrategy,
3
+ ProjectMigrationStrategy,
4
+ AgentMigrationStrategy,
5
+ ToolMigrationStrategy,
6
+ AgenticProcessMigrationStrategy,
7
+ TaskMigrationStrategy,
8
+ UsageLimitMigrationStrategy,
9
+ RAGAssistantMigrationStrategy,
10
+ FileMigrationStrategy
11
+ )
12
+ from pygeai.migration.tools import (
13
+ MigrationTool,
14
+ MigrationPlan,
15
+ MigrationOrchestrator
16
+ )
17
+
18
+ __all__ = [
19
+ "MigrationStrategy",
20
+ "ProjectMigrationStrategy",
21
+ "AgentMigrationStrategy",
22
+ "ToolMigrationStrategy",
23
+ "AgenticProcessMigrationStrategy",
24
+ "TaskMigrationStrategy",
25
+ "UsageLimitMigrationStrategy",
26
+ "RAGAssistantMigrationStrategy",
27
+ "FileMigrationStrategy",
28
+ "MigrationTool",
29
+ "MigrationPlan",
30
+ "MigrationOrchestrator"
31
+ ]