pygeai 0.6.0b13__py3-none-any.whl → 0.6.0b14__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.
@@ -109,6 +109,383 @@ The required API keys depend on whether you're creating a new project or migrati
109
109
  .. warning::
110
110
  When migrating to an existing project (using ``--to-project-id``), you MUST provide ``--to-api-key``. This is a project scope token that has write access to the destination project.
111
111
 
112
+ Interactive Mode
113
+ ----------------
114
+
115
+ The migration tool provides an **interactive mode** that guides you through the migration process with step-by-step prompts. This mode is ideal when:
116
+
117
+ - You're new to the migration tool and want guidance
118
+ - You don't know the exact IDs of resources to migrate
119
+ - You want to browse and select resources interactively
120
+ - You prefer a wizard-style interface over command-line arguments
121
+
122
+ Invoking Interactive Mode
123
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
124
+
125
+ To start the interactive migration wizard, use the ``--interactive`` or ``-i`` flag:
126
+
127
+ .. code-block:: shell
128
+
129
+ geai migrate clone-project --interactive
130
+
131
+ or shorter:
132
+
133
+ .. code-block:: shell
134
+
135
+ geai migrate clone-project -i
136
+
137
+ Interactive Mode Walkthrough
138
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139
+
140
+ When you launch interactive mode, the wizard will guide you through the following steps:
141
+
142
+ **Step 1: Migration Type Selection**
143
+
144
+ Choose whether you're migrating within the same instance or to a different instance:
145
+
146
+ .. code-block:: text
147
+
148
+ ================================================================================
149
+ PROJECT MIGRATION ASSISTANT
150
+ ================================================================================
151
+
152
+ Migration type (1=same instance, 2=cross instance):
153
+
154
+ - Option ``1``: Migrate within the same GEAI instance (destination instance will be same as source)
155
+ - Option ``2``: Migrate to a different GEAI instance (you'll provide separate destination credentials)
156
+
157
+ **Step 2: Source Configuration**
158
+
159
+ Provide your source project credentials:
160
+
161
+ .. code-block:: text
162
+
163
+ --- Source Configuration ---
164
+ Source API key: [enter your source API key]
165
+ Source instance URL: [enter source instance URL, e.g., https://api.dev.example.ai]
166
+ Source project ID: [enter source project ID]
167
+
168
+ The wizard will automatically retrieve your source organization ID from the API token.
169
+
170
+ **Step 3: Project Creation or Selection**
171
+
172
+ Decide whether to create a new destination project or use an existing one:
173
+
174
+ .. code-block:: text
175
+
176
+ Create new destination project? (y/n):
177
+
178
+ - If you choose ``y`` (yes): You'll provide organization API keys, project name, and admin email to create a new project
179
+ - If you choose ``n`` (no): You'll provide an existing destination project ID
180
+
181
+ **For new project creation:**
182
+
183
+ .. code-block:: text
184
+
185
+ Source organization API key: [enter organization scope API key]
186
+ Destination organization API key: [same as source for same instance, or enter different key]
187
+ New project name: [enter name for new project]
188
+ Admin email: [enter admin email for project]
189
+
190
+ **For existing project:**
191
+
192
+ .. code-block:: text
193
+
194
+ Destination project ID: [enter existing project ID]
195
+
196
+ **Step 4: Destination Configuration**
197
+
198
+ If you selected cross-instance migration (option 2) or using an existing project, provide destination details:
199
+
200
+ .. code-block:: text
201
+
202
+ --- Destination Configuration ---
203
+ Destination instance URL: [enter destination URL if cross-instance]
204
+ Destination API key: [enter project API key for destination]
205
+
206
+ **Step 5: Resource Type Selection**
207
+
208
+ Select which types of resources you want to migrate:
209
+
210
+ .. code-block:: text
211
+
212
+ --- Resource Type Selection ---
213
+ Which resource types do you want to migrate?
214
+ 1. Agents
215
+ 2. Tools
216
+ 3. Agentic Processes
217
+ 4. Tasks
218
+ 5. RAG Assistants
219
+ 6. Files
220
+ 7. Usage Limits
221
+ 8. Secrets
222
+
223
+ Select resource types (comma-separated numbers, or empty for all):
224
+
225
+ - Enter specific numbers (e.g., ``1,2,5`` for Agents, Tools, and RAG Assistants)
226
+ - Press Enter without typing anything to migrate **all** resource types
227
+
228
+ **Step 6: Resource Selection**
229
+
230
+ For each selected resource type, the wizard fetches available resources and displays an interactive menu:
231
+
232
+ .. code-block:: text
233
+
234
+ --- Retrieving Available Resources ---
235
+
236
+ Available agents:
237
+ 0. Cancel (don't migrate this resource type)
238
+ 1. Customer Support Agent (ID: agent-abc-123)
239
+ 2. Data Analysis Agent (ID: agent-def-456)
240
+ 3. Code Review Agent (ID: agent-ghi-789)
241
+
242
+ Select agents (comma-separated numbers, or empty for all):
243
+
244
+ Selection options:
245
+
246
+ - Press **Enter** without typing: Migrate **all** resources of this type
247
+ - Enter **0**: Skip this resource type entirely
248
+ - Enter **specific numbers**: Migrate only selected resources (e.g., ``1,3`` to migrate items 1 and 3)
249
+
250
+ This process repeats for each resource type you selected in Step 5.
251
+
252
+ **Step 7: Migration Summary and Confirmation**
253
+
254
+ Review your migration configuration before execution:
255
+
256
+ .. code-block:: text
257
+
258
+ --- Migration Summary ---
259
+ Source: https://api.dev.example.ai / Project: source-project-123
260
+ Destination: https://api.prod.example.ai / Project: Production Release
261
+ Resources: agents, tools, rag_assistants
262
+
263
+ Stop migration on first error? (Y/n):
264
+
265
+ - Enter ``Y`` or press Enter to stop migration if any resource fails
266
+ - Enter ``n`` to continue migrating remaining resources even if some fail
267
+
268
+ .. code-block:: text
269
+
270
+ Proceed with migration? (y/n):
271
+
272
+ - Enter ``y`` to start the migration
273
+ - Enter ``n`` to cancel and exit without making changes
274
+
275
+ **Step 8: Migration Execution**
276
+
277
+ The migration proceeds with real-time progress updates:
278
+
279
+ .. code-block:: text
280
+
281
+ ============================================================
282
+ Migration Progress: 0/15 completed
283
+ ============================================================
284
+
285
+ [1/15] Migrating agent 'Customer Support Agent'...
286
+ ✓ Successfully migrated agent 'Customer Support Agent'
287
+
288
+ [2/15] Migrating agent 'Data Analysis Agent'...
289
+ ✓ Successfully migrated agent 'Data Analysis Agent'
290
+
291
+ [3/15] Migrating tool 'Database Query Tool'...
292
+ ✓ Successfully migrated tool 'Database Query Tool'
293
+
294
+ ...
295
+
296
+ ============================================================
297
+ Migration Complete: 15/15 successful
298
+ ============================================================
299
+
300
+ Interactive Mode Benefits
301
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
302
+
303
+ **1. No Need to Remember IDs**
304
+
305
+ You don't need to know resource IDs beforehand. The wizard fetches and displays all available resources with their names and IDs.
306
+
307
+ **2. Visual Resource Selection**
308
+
309
+ Browse resources in numbered menus and select exactly what you want to migrate.
310
+
311
+ **3. Guided Configuration**
312
+
313
+ Step-by-step prompts ensure you provide all required information in the correct order.
314
+
315
+ **4. Input Validation**
316
+
317
+ The wizard validates your input at each step and prompts you to retry if something is invalid.
318
+
319
+ **5. Pre-Migration Summary**
320
+
321
+ Review all settings before execution with a clear summary of what will be migrated.
322
+
323
+ **6. Flexible Selection**
324
+
325
+ Easily mix migration strategies: migrate all agents, specific tools, all RAG assistants, etc.
326
+
327
+ **7. Error Recovery**
328
+
329
+ If you make a mistake during prompts, the wizard will ask again instead of failing the entire operation.
330
+
331
+ Interactive vs. CLI Mode Comparison
332
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
333
+
334
+ +----------------------------+---------------------------+---------------------------+
335
+ | Feature | Interactive Mode | CLI Mode |
336
+ +============================+===========================+===========================+
337
+ | **Ease of Use** | Beginner-friendly wizard | Requires knowledge of |
338
+ | | | all CLI arguments |
339
+ +----------------------------+---------------------------+---------------------------+
340
+ | **Resource Discovery** | Automatic with menus | Manual (use API or docs) |
341
+ +----------------------------+---------------------------+---------------------------+
342
+ | **Input Validation** | Real-time with retry | Fails if invalid args |
343
+ +----------------------------+---------------------------+---------------------------+
344
+ | **Automation** | Not scriptable | Fully scriptable |
345
+ +----------------------------+---------------------------+---------------------------+
346
+ | **Best For** | One-time migrations, | CI/CD pipelines, |
347
+ | | exploration, learning | automation, scripting |
348
+ +----------------------------+---------------------------+---------------------------+
349
+
350
+ When to Use Interactive Mode
351
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
352
+
353
+ ✅ **Use Interactive Mode when:**
354
+
355
+ - You're performing a one-time migration
356
+ - You're unsure of exact resource IDs or names
357
+ - You want to browse available resources before selecting
358
+ - You're learning how migration works
359
+ - You prefer guided prompts over memorizing command syntax
360
+
361
+ ❌ **Use CLI Mode instead when:**
362
+
363
+ - You're automating migrations in scripts or CI/CD pipelines
364
+ - You already know exact resource IDs to migrate
365
+ - You need to run the same migration multiple times
366
+ - You want to version control migration commands
367
+
368
+ Example Interactive Session
369
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
370
+
371
+ Here's a complete example of an interactive migration session:
372
+
373
+ .. code-block:: text
374
+
375
+ $ geai migrate clone-project -i
376
+
377
+ ================================================================================
378
+ PROJECT MIGRATION ASSISTANT
379
+ ================================================================================
380
+
381
+ Migration type (1=same instance, 2=cross instance): 2
382
+
383
+ --- Source Configuration ---
384
+ Source API key: sk_dev_abc123...
385
+ Source instance URL: https://api.dev.example.ai
386
+ Source project ID: proj-dev-001
387
+
388
+ Create new destination project? (y/n): y
389
+ Source organization API key: sk_org_dev_xyz789...
390
+ Destination organization API key: sk_org_prod_def456...
391
+ New project name: Production Release v2.0
392
+ Admin email: admin@example.com
393
+
394
+ --- Destination Configuration ---
395
+ Destination instance URL: https://api.prod.example.ai
396
+ Destination API key: (will be created after project creation)
397
+
398
+ --- Resource Type Selection ---
399
+ Which resource types do you want to migrate?
400
+ 1. Agents
401
+ 2. Tools
402
+ 3. Agentic Processes
403
+ 4. Tasks
404
+ 5. RAG Assistants
405
+ 6. Files
406
+ 7. Usage Limits
407
+ 8. Secrets
408
+
409
+ Select resource types (comma-separated numbers, or empty for all): 1,2,5
410
+
411
+ --- Retrieving Available Resources ---
412
+
413
+ Available agents:
414
+ 0. Cancel (don't migrate this resource type)
415
+ 1. Customer Support Agent (ID: agent-001)
416
+ 2. Sales Assistant (ID: agent-002)
417
+ 3. HR Onboarding Agent (ID: agent-003)
418
+
419
+ Select agents (comma-separated numbers, or empty for all):
420
+
421
+ Available tools:
422
+ 0. Cancel (don't migrate this resource type)
423
+ 1. Database Query Tool (ID: tool-001)
424
+ 2. Email Sender (ID: tool-002)
425
+ 3. Calendar Integration (ID: tool-003)
426
+
427
+ Select tools (comma-separated numbers, or empty for all): 1,3
428
+
429
+ Available RAG assistants:
430
+ 0. Cancel (don't migrate this resource type)
431
+ 1. Documentation Assistant (ID: doc-assistant-001)
432
+ 2. Code Helper (ID: code-assistant-002)
433
+
434
+ Select RAG assistants (comma-separated numbers, or empty for all):
435
+
436
+ --- Migration Summary ---
437
+ Source: https://api.dev.example.ai / Project: proj-dev-001
438
+ Destination: https://api.prod.example.ai / Project: Production Release v2.0
439
+ Resources: agents, tools, rag_assistants
440
+
441
+ Stop migration on first error? (Y/n): Y
442
+
443
+ Proceed with migration? (y/n): y
444
+
445
+ Creating new project 'Production Release v2.0'...
446
+ Project 'Production Release v2.0' created successfully with ID: proj-prod-002
447
+ Creating project API key for new project...
448
+ Project API key created successfully
449
+
450
+ ============================================================
451
+ Migration Progress: 0/7 completed
452
+ ============================================================
453
+
454
+ [1/7] Migrating agent 'Customer Support Agent'...
455
+ ✓ Successfully migrated agent 'Customer Support Agent'
456
+
457
+ [2/7] Migrating agent 'Sales Assistant'...
458
+ ✓ Successfully migrated agent 'Sales Assistant'
459
+
460
+ [3/7] Migrating agent 'HR Onboarding Agent'...
461
+ ✓ Successfully migrated agent 'HR Onboarding Agent'
462
+
463
+ [4/7] Migrating tool 'Database Query Tool'...
464
+ ✓ Successfully migrated tool 'Database Query Tool'
465
+
466
+ [5/7] Migrating tool 'Calendar Integration'...
467
+ ✓ Successfully migrated tool 'Calendar Integration'
468
+
469
+ [6/7] Migrating RAG assistant 'Documentation Assistant'...
470
+ ✓ Successfully migrated RAG assistant 'Documentation Assistant'
471
+
472
+ [7/7] Migrating RAG assistant 'Code Helper'...
473
+ ✓ Successfully migrated RAG assistant 'Code Helper'
474
+
475
+ ============================================================
476
+ Migration Complete: 7/7 successful
477
+ ============================================================
478
+
479
+ Migration completed: 7/7 successful
480
+
481
+ This example demonstrates:
482
+
483
+ - Cross-instance migration (dev to prod)
484
+ - New project creation
485
+ - Selective resource type migration (agents, tools, RAG assistants only)
486
+ - Mixed selection strategies (all agents, specific tools, all RAG assistants)
487
+ - Successful completion with progress tracking
488
+
112
489
  Basic Usage
113
490
  -----------
114
491
 
@@ -310,7 +687,12 @@ Command: ``geai migrate clone-project``
310
687
 
311
688
  **Description:** Clone a project with selective or complete resource migration.
312
689
 
313
- **Required Arguments:**
690
+ **Interactive Mode Flag:**
691
+
692
+ ``--interactive`` or ``-i``
693
+ Launch the interactive migration wizard with step-by-step prompts. When this flag is used, all other arguments are ignored and the wizard will prompt for all required information. See the :ref:`Interactive Mode` section for details.
694
+
695
+ **Required Arguments (CLI Mode):**
314
696
 
315
697
  ``--from-api-key <key>``
316
698
  Project scope API key for the source GEAI instance (for migrating resources)
@@ -425,12 +807,14 @@ Best Practices
425
807
  --------------
426
808
 
427
809
  1. **Test First**: Always test migrations in a development environment before production
428
- 2. **Use --all for Complete Clones**: When creating backups or full clones, use ``--all``
429
- 3. **Verify Credentials**: Double-check API keys and instance URLs before running migrations
430
- 4. **Monitor Progress**: Watch the console output for discovery counts and migration status
431
- 5. **Check Results**: Review the migration result summary after completion
432
- 6. **Incremental Migration**: For large projects, consider migrating resource types incrementally
433
- 7. **Document Migrations**: Keep track of what was migrated and when
810
+ 2. **Start with Interactive Mode**: If you're new to migrations or unsure about resource IDs, use ``--interactive`` mode for guided assistance
811
+ 3. **Use --all for Complete Clones**: When creating backups or full clones, use ``--all``
812
+ 4. **Verify Credentials**: Double-check API keys and instance URLs before running migrations
813
+ 5. **Monitor Progress**: Watch the console output for discovery counts and migration status
814
+ 6. **Check Results**: Review the migration result summary after completion
815
+ 7. **Incremental Migration**: For large projects, consider migrating resource types incrementally
816
+ 8. **Document Migrations**: Keep track of what was migrated and when
817
+ 9. **Automate Repeated Migrations**: Once you know the exact resources and IDs, convert interactive sessions to CLI commands for repeatability
434
818
 
435
819
  Common Use Cases
436
820
  ----------------
@@ -63,8 +63,9 @@ def get_agents_created_and_modified(option_list: list):
63
63
  if option_flag.name == "end_date":
64
64
  end_date = option_arg
65
65
 
66
- if not (start_date and end_date):
67
- raise MissingRequirementException("Cannot retrieve agents created and modified without start-date and end-date")
66
+ if not start_date or not end_date:
67
+ start_date, end_date = get_default_date_range()
68
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
68
69
 
69
70
  manager = AnalyticsManager()
70
71
  result = manager.get_agents_created_and_modified(start_date, end_date)
@@ -86,8 +87,9 @@ def get_total_requests_per_day(option_list: list):
86
87
  if option_flag.name == "agent_name":
87
88
  agent_name = option_arg
88
89
 
89
- if not (start_date and end_date):
90
- raise MissingRequirementException("Cannot retrieve total requests per day without start-date and end-date")
90
+ if not start_date or not end_date:
91
+ start_date, end_date = get_default_date_range()
92
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
91
93
 
92
94
  manager = AnalyticsManager()
93
95
  result = manager.get_total_requests_per_day(start_date, end_date, agent_name)
@@ -108,8 +110,9 @@ def get_total_cost(option_list: list):
108
110
  if option_flag.name == "end_date":
109
111
  end_date = option_arg
110
112
 
111
- if not (start_date and end_date):
112
- raise MissingRequirementException("Cannot retrieve total cost without start-date and end-date")
113
+ if not start_date or not end_date:
114
+ start_date, end_date = get_default_date_range()
115
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
113
116
 
114
117
  manager = AnalyticsManager()
115
118
  result = manager.get_total_cost(start_date, end_date)
@@ -128,8 +131,9 @@ def get_average_cost_per_request(option_list: list):
128
131
  if option_flag.name == "end_date":
129
132
  end_date = option_arg
130
133
 
131
- if not (start_date and end_date):
132
- raise MissingRequirementException("Cannot retrieve average cost per request without start-date and end-date")
134
+ if not start_date or not end_date:
135
+ start_date, end_date = get_default_date_range()
136
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
133
137
 
134
138
  manager = AnalyticsManager()
135
139
  result = manager.get_average_cost_per_request(start_date, end_date)
@@ -148,8 +152,9 @@ def get_total_tokens(option_list: list):
148
152
  if option_flag.name == "end_date":
149
153
  end_date = option_arg
150
154
 
151
- if not (start_date and end_date):
152
- raise MissingRequirementException("Cannot retrieve total tokens without start-date and end-date")
155
+ if not start_date or not end_date:
156
+ start_date, end_date = get_default_date_range()
157
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
153
158
 
154
159
  manager = AnalyticsManager()
155
160
  result = manager.get_total_tokens(start_date, end_date)
@@ -168,8 +173,9 @@ def get_overall_error_rate(option_list: list):
168
173
  if option_flag.name == "end_date":
169
174
  end_date = option_arg
170
175
 
171
- if not (start_date and end_date):
172
- raise MissingRequirementException("Cannot retrieve overall error rate without start-date and end-date")
176
+ if not start_date or not end_date:
177
+ start_date, end_date = get_default_date_range()
178
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
173
179
 
174
180
  manager = AnalyticsManager()
175
181
  result = manager.get_overall_error_rate(start_date, end_date)
@@ -188,8 +194,9 @@ def get_top_agents_by_requests(option_list: list):
188
194
  if option_flag.name == "end_date":
189
195
  end_date = option_arg
190
196
 
191
- if not (start_date and end_date):
192
- raise MissingRequirementException("Cannot retrieve top agents by requests without start-date and end-date")
197
+ if not start_date or not end_date:
198
+ start_date, end_date = get_default_date_range()
199
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
193
200
 
194
201
  manager = AnalyticsManager()
195
202
  result = manager.get_top_10_agents_by_requests(start_date, end_date)
@@ -210,8 +217,9 @@ def get_total_active_users(option_list: list):
210
217
  if option_flag.name == "end_date":
211
218
  end_date = option_arg
212
219
 
213
- if not (start_date and end_date):
214
- raise MissingRequirementException("Cannot retrieve total active users without start-date and end-date")
220
+ if not start_date or not end_date:
221
+ start_date, end_date = get_default_date_range()
222
+ Console.write_stdout(f"Using default date range: {start_date} to {end_date}")
215
223
 
216
224
  manager = AnalyticsManager()
217
225
  result = manager.get_total_active_users(start_date, end_date)
@@ -111,7 +111,7 @@ def get_session(alias: str = None) -> Session:
111
111
  if not alias:
112
112
  alias = "default"
113
113
 
114
- _validate_alias(alias)
114
+ _validate_alias(alias, allow_missing_default=True)
115
115
 
116
116
  _session = Session(
117
117
  api_key=settings.get_api_key(alias),
@@ -122,7 +122,7 @@ def get_session(alias: str = None) -> Session:
122
122
  alias=alias,
123
123
  )
124
124
  elif _session is not None and alias:
125
- _validate_alias(alias)
125
+ _validate_alias(alias, allow_missing_default=False)
126
126
 
127
127
  _session.alias = alias
128
128
  _session.api_key = settings.get_api_key(alias)
@@ -141,10 +141,11 @@ def get_session(alias: str = None) -> Session:
141
141
  sys.stdout.write("Warning: API_KEY and/or BASE_URL not set. Please run geai configure to set them up.\n")
142
142
 
143
143
 
144
- def _validate_alias(alias: str):
145
- # Validate alias exists
144
+ def _validate_alias(alias: str, allow_missing_default: bool = False):
146
145
  available_aliases = settings.list_aliases()
147
146
  if alias not in available_aliases:
147
+ if allow_missing_default and alias == "default":
148
+ return
148
149
  raise MissingRequirementException(
149
150
  f"The profile '{alias}' doesn't exist. Use 'geai configure --list' to see available profiles."
150
151
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygeai
3
- Version: 0.6.0b13
3
+ Version: 0.6.0b14
4
4
  Summary: Software Development Kit to interact with Globant Enterprise AI.
5
5
  Author-email: Globant <geai-sdk@globant.com>
6
6
  License-Expression: MIT
@@ -110,7 +110,7 @@ pygeai/_docs/source/content/chat_gui.rst,sha256=0nnQFh_m4V-TqbeZXTKYMzU6gmPTOwRH
110
110
  pygeai/_docs/source/content/cli.rst,sha256=WZFfxzmvFTmoi88uZO6VA96b5bUVApJ8QkXmCBPRrnI,5501
111
111
  pygeai/_docs/source/content/debugger.rst,sha256=dc3mj6YxmBlyiOKk67AmFzfLkj7P4VWzU_j2R83zTCw,15112
112
112
  pygeai/_docs/source/content/intro.rst,sha256=nRoIXypN6xGN9kaqTJM5HrhE0LPn7bnk0CDFeRixito,4532
113
- pygeai/_docs/source/content/migration.rst,sha256=L19u9CanjcAt5ZVcpombvjt7I8ABcisVIKIUQtsYCGM,19898
113
+ pygeai/_docs/source/content/migration.rst,sha256=4778of_8oDGx_LEzuPuGfLncj6M_ANkeh7qpq__rW0o,33448
114
114
  pygeai/_docs/source/content/modules.rst,sha256=MufbaO6dfESPq2yqhk9xpCsfSMdhNRcTuODE6LW1HxE,78
115
115
  pygeai/_docs/source/content/quickstart.rst,sha256=bsz8ZwTJTWlznnPNq3XJJuOXuV63-7UKqur2YHGD8No,4159
116
116
  pygeai/_docs/source/content/samples.rst,sha256=BfRzjBDVgiegbW1OPczZvq1LvS-aHGCH-zDmbX6mNPI,12488
@@ -180,7 +180,7 @@ pygeai/cli/install_man.py,sha256=DjZ3k05sKSzpLFqsU4LHz1b37NHLVdOvS6oZihdBSis,379
180
180
  pygeai/cli/parsers.py,sha256=0Y38zQ9tG9rqVspr-ksV6LrC0Ynt8uBWbvae89HAWe8,4716
181
181
  pygeai/cli/commands/__init__.py,sha256=rWx5Qmo-CqTS41m6ROHX0j1NnWFVpj_DF_ORQS0AaZw,1808
182
182
  pygeai/cli/commands/admin.py,sha256=LDxUrq9qGAswT4HbaN_c_ovVKbgGct7ffjXA8zVYjWY,5833
183
- pygeai/cli/commands/analytics.py,sha256=IvGQ9eBaXKyp3f1rJyZBkINmXHcITSwmU_SNaptrl3g,19710
183
+ pygeai/cli/commands/analytics.py,sha256=_EJ1Opg4yvYrl-N11zpa-sdOtEEwQwQKZP1eOvPBeOQ,19949
184
184
  pygeai/cli/commands/assistant.py,sha256=fQ_El6_BmFDpFjm_gPxzWk7bOzhimhiTwG8K0UpcxDo,18711
185
185
  pygeai/cli/commands/auth.py,sha256=w1XIcTYh7SQ4keOhQiJiUJ2NFMY349K53P2BoGe2Rgc,8318
186
186
  pygeai/cli/commands/base.py,sha256=J48IjpFr5oiRpxndiSI3vtNG1pfHBlDeRDOm7QQxk_U,7836
@@ -223,7 +223,7 @@ pygeai/core/base/clients.py,sha256=sIO5TExfeSMmRp06q1cF9iuP3YywGgzZczu7xSgyFFY,2
223
223
  pygeai/core/base/mappers.py,sha256=u5_UkRPPQ9vUQQANgmOHBbaaxtK77RNTTI2KoQafEDw,17793
224
224
  pygeai/core/base/models.py,sha256=_h62nnMhJXr1BLNoaldT4d9oqCTSistfF3D2LQ3bvlg,380
225
225
  pygeai/core/base/responses.py,sha256=k-mrzNO_AtEsGTUJnyRT76FJ7gfYxQ_SAhB8MBNqPZI,763
226
- pygeai/core/base/session.py,sha256=bxooljwjFNYLuLUuBAgb1kNq2DbEcwlyxWNY7naXp-k,4674
226
+ pygeai/core/base/session.py,sha256=pBHzRG6qDI6Ep60npM-aEB7_f1fqAsZi7Z7s1IwOpA0,4816
227
227
  pygeai/core/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
228
  pygeai/core/common/config.py,sha256=_MFT5xxQ1ae8d6l-ksC8ziQOu7WvW3fWPv6uFxrMmhU,5506
229
229
  pygeai/core/common/decorators.py,sha256=X7Tv5XBmsuS7oZHSmI95eX8UkuukKoiOiNRl5w9lgR4,1227
@@ -787,9 +787,9 @@ pygeai/vendor/a2a/utils/helpers.py,sha256=6Tbd8SVfXvdNEk6WYmLOjrAxkzFf1aIg8dkFfB
787
787
  pygeai/vendor/a2a/utils/message.py,sha256=gc_EKO69CJ4HkR76IFgsy-kENJz1dn7CfSgWJWvt-gs,2197
788
788
  pygeai/vendor/a2a/utils/task.py,sha256=BYRA_L1HpoUGJAVlyHML0lCM9Awhf2Ovjj7oPFXKbh0,1647
789
789
  pygeai/vendor/a2a/utils/telemetry.py,sha256=VvSp1Ztqaobkmq9-3sNhhPEilJS32-JTSfKzegkj6FU,10861
790
- pygeai-0.6.0b13.dist-info/licenses/LICENSE,sha256=eHfqo7-AWS8cMq0cg03lq7owsLeCmZA-xS5L0kuHnl8,1474
791
- pygeai-0.6.0b13.dist-info/METADATA,sha256=jh6TnF6a2qnslbtTvT1xj4lmx0aRrkbc80mMALlXtVM,7978
792
- pygeai-0.6.0b13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
793
- pygeai-0.6.0b13.dist-info/entry_points.txt,sha256=OAmwuXVCQBTCE3HeVegVd37hbhCcp9TPahvdrCuMYWw,178
794
- pygeai-0.6.0b13.dist-info/top_level.txt,sha256=bJFwp2tURmCfB94yXDF7ylvdSJXFDDJsyUOb-7PJgwc,7
795
- pygeai-0.6.0b13.dist-info/RECORD,,
790
+ pygeai-0.6.0b14.dist-info/licenses/LICENSE,sha256=eHfqo7-AWS8cMq0cg03lq7owsLeCmZA-xS5L0kuHnl8,1474
791
+ pygeai-0.6.0b14.dist-info/METADATA,sha256=O12R94x2uAZn6Uy2WIGPaEPwHFWBEHo-DlOOz7nv9js,7978
792
+ pygeai-0.6.0b14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
793
+ pygeai-0.6.0b14.dist-info/entry_points.txt,sha256=OAmwuXVCQBTCE3HeVegVd37hbhCcp9TPahvdrCuMYWw,178
794
+ pygeai-0.6.0b14.dist-info/top_level.txt,sha256=bJFwp2tURmCfB94yXDF7ylvdSJXFDDJsyUOb-7PJgwc,7
795
+ pygeai-0.6.0b14.dist-info/RECORD,,