glaip-sdk 0.0.5b1__py3-none-any.whl → 0.0.7__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 (43) hide show
  1. glaip_sdk/__init__.py +1 -1
  2. glaip_sdk/_version.py +42 -19
  3. glaip_sdk/branding.py +3 -2
  4. glaip_sdk/cli/commands/__init__.py +1 -1
  5. glaip_sdk/cli/commands/agents.py +452 -285
  6. glaip_sdk/cli/commands/configure.py +14 -13
  7. glaip_sdk/cli/commands/mcps.py +30 -20
  8. glaip_sdk/cli/commands/models.py +5 -3
  9. glaip_sdk/cli/commands/tools.py +111 -106
  10. glaip_sdk/cli/display.py +48 -27
  11. glaip_sdk/cli/io.py +1 -1
  12. glaip_sdk/cli/main.py +26 -5
  13. glaip_sdk/cli/resolution.py +5 -4
  14. glaip_sdk/cli/utils.py +437 -188
  15. glaip_sdk/cli/validators.py +7 -2
  16. glaip_sdk/client/agents.py +276 -153
  17. glaip_sdk/client/base.py +69 -27
  18. glaip_sdk/client/tools.py +44 -26
  19. glaip_sdk/client/validators.py +154 -94
  20. glaip_sdk/config/constants.py +0 -2
  21. glaip_sdk/models.py +5 -4
  22. glaip_sdk/utils/__init__.py +7 -7
  23. glaip_sdk/utils/client_utils.py +191 -101
  24. glaip_sdk/utils/display.py +4 -2
  25. glaip_sdk/utils/general.py +8 -6
  26. glaip_sdk/utils/import_export.py +58 -25
  27. glaip_sdk/utils/rendering/formatting.py +12 -6
  28. glaip_sdk/utils/rendering/models.py +1 -1
  29. glaip_sdk/utils/rendering/renderer/base.py +523 -332
  30. glaip_sdk/utils/rendering/renderer/console.py +6 -5
  31. glaip_sdk/utils/rendering/renderer/debug.py +94 -52
  32. glaip_sdk/utils/rendering/renderer/stream.py +93 -48
  33. glaip_sdk/utils/rendering/steps.py +103 -39
  34. glaip_sdk/utils/rich_utils.py +1 -1
  35. glaip_sdk/utils/run_renderer.py +1 -1
  36. glaip_sdk/utils/serialization.py +9 -3
  37. glaip_sdk/utils/validation.py +2 -2
  38. glaip_sdk-0.0.7.dist-info/METADATA +183 -0
  39. glaip_sdk-0.0.7.dist-info/RECORD +55 -0
  40. glaip_sdk-0.0.5b1.dist-info/METADATA +0 -645
  41. glaip_sdk-0.0.5b1.dist-info/RECORD +0 -55
  42. {glaip_sdk-0.0.5b1.dist-info → glaip_sdk-0.0.7.dist-info}/WHEEL +0 -0
  43. {glaip_sdk-0.0.5b1.dist-info → glaip_sdk-0.0.7.dist-info}/entry_points.txt +0 -0
@@ -1,645 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: glaip-sdk
3
- Version: 0.0.5b1
4
- Summary: Python SDK for GL AIP (GDP Labs AI Agent Package) - Simplified CLI Design
5
- License: MIT
6
- Author: Raymond Christopher
7
- Author-email: raymond.christopher@gdplabs.id
8
- Requires-Python: >=3.10
9
- Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.10
12
- Classifier: Programming Language :: Python :: 3.11
13
- Classifier: Programming Language :: Python :: 3.12
14
- Requires-Dist: click (>=8.2.0)
15
- Requires-Dist: httpx (>=0.28.1)
16
- Requires-Dist: pydantic (>=2.0.0)
17
- Requires-Dist: python-dotenv (>=1.1.1,<2.0.0)
18
- Requires-Dist: pyyaml (>=6.0.0)
19
- Requires-Dist: questionary (>=2.1.0,<3.0.0)
20
- Requires-Dist: readchar (>=4.2.1,<5.0.0)
21
- Requires-Dist: rich (>=13.0.0)
22
- Description-Content-Type: text/markdown
23
-
24
- # GL AIP SDK — Enterprise AI Agent Package (Python)
25
-
26
- [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
27
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
28
- [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
29
-
30
- > **Build, run, and manage AI agents with a minimal, production-ready Python API.**
31
-
32
- - **Simple**: `Client()` → create resources → `agent.run("...")`
33
- - **Strong**: typed models (Pydantic), robust errors, clean streaming renderer
34
- - **Enterprise-ready**: shared HTTP session, timeouts/retries, consistent resource lifecycle
35
- - **Secure**: automatic recursive secret masking; no telemetry; TLS recommended
36
- - **Modern CLI**: rich terminal experience, subsequence-based fuzzy search, smart paging, multiple output formats
37
-
38
- ---
39
-
40
- ## 📋 Table of Contents
41
-
42
- - [Quick Start](#-quick-start-30-seconds)
43
- - [Features](#-features)
44
- - [Latest Improvements](#️-latest-improvements)
45
- - [Use Cases & Industries](#-use-cases--industries)
46
- - [Performance & Scalability](#-performance--scalability)
47
- - [Core API](#core-api-in-60-seconds)
48
- - [CLI](#cli)
49
- - [Configuration](#configuration)
50
- - [Learning Path](#learning-path)
51
- - [Development](#development)
52
- - [Error Handling](#️-error-handling)
53
- - [Troubleshooting](#️-troubleshooting)
54
- - [Getting Help & Support](#️-getting-help--support)
55
- - [Why Choose AIP SDK?](#️-why-choose-aip-sdk)
56
-
57
- ---
58
-
59
- ## 🚀 Installation
60
-
61
- > **📋 Current Status**: The AIP SDK is currently available for local development. Global installation from PyPI will be available once the package is published.
62
-
63
- ### Option 1: Local Development Setup (Recommended for developers - Available Now)
64
-
65
- ```bash
66
- # Clone the repository
67
- git clone <repository-url>
68
- cd ai-agent-platform-sdk
69
-
70
- # Install in editable mode - CLI command 'aip' will be available globally
71
- pip install -e .
72
-
73
- # Verify installation
74
- aip --help
75
- ```
76
-
77
- ### Option 2: Poetry Development Setup (Alternative for Poetry users - Available Now)
78
-
79
- ```bash
80
- # Clone the repository
81
- git clone <repository-url>
82
- cd ai-agent-platform-sdk
83
-
84
- # Install dependencies and package using Poetry
85
- poetry install
86
-
87
- # Run CLI through Poetry (CLI not available globally)
88
- poetry run aip --help
89
- ```
90
-
91
- ### Option 3: Global Installation from PyPI (Coming Soon)
92
-
93
- ```bash
94
- # Install globally - CLI command 'aip' will be available everywhere
95
- # ⚠️ This option will be available once the package is published to PyPI
96
- pip install glaip-sdk
97
-
98
- # Verify installation
99
- aip --help
100
- ```
101
-
102
- **Note**: All required dependencies including `click` and `rich` are automatically installed with the package. This resolves the previous "click and rich not installed" errors that users encountered.
103
-
104
- ## 🛠️ Local Development Setup
105
-
106
- ### Prerequisites
107
-
108
- - **Python 3.10+** installed on your system
109
- - **Git** for cloning the repository
110
- - **pip** or **Poetry** for package management
111
-
112
- ### Quick Local Setup
113
-
114
- ```bash
115
- # 1. Clone the repository
116
- git clone <repository-url>
117
- cd ai-agent-platform-sdk
118
-
119
- # 2. Install in editable mode (recommended)
120
- pip install -e .
121
-
122
- # 3. Verify CLI is working
123
- aip --version
124
- aip --help
125
-
126
- # 4. Test basic functionality
127
- aip status
128
- ```
129
-
130
- ### Development Workflow
131
-
132
- ```bash
133
- # After making changes to the code:
134
- pip install -e . --force-reinstall
135
-
136
- # Or simply reinstall:
137
- pip install -e .
138
-
139
- # Test your changes:
140
- aip --version
141
- ```
142
-
143
- ### Testing Examples
144
-
145
- ```bash
146
- # Run hello world examples
147
- python3 examples/getting-started/sdk/01_hello_world_agent.py
148
- python3 examples/getting-started/sdk/02_hello_world_tool.py
149
-
150
- # List all available examples
151
- python3 examples/run_examples.py --list
152
- ```
153
-
154
- ### Updating Local Development
155
-
156
- ```bash
157
- # Pull latest changes
158
- git pull origin main
159
-
160
- # Reinstall to get latest version
161
- pip install -e . --force-reinstall
162
-
163
- # Verify version
164
- aip --version
165
-
166
- # Test new features
167
- aip --help
168
- ```
169
-
170
- ### Troubleshooting Local Setup
171
-
172
- #### Common Issues
173
-
174
- **"aip command not found" after pip install -e .**
175
- ```bash
176
- # Check if the package was installed correctly
177
- pip list | grep glaip-sdk
178
-
179
- # Reinstall with force flag
180
- pip install -e . --force-reinstall
181
-
182
- # Verify the CLI script was created
183
- which aip
184
- ```
185
-
186
- **Permission errors during installation**
187
- ```bash
188
- # Use user installation (recommended)
189
- pip install -e . --user
190
-
191
- # Or use virtual environment
192
- python3 -m venv venv
193
- source venv/bin/activate
194
- pip install -e .
195
- ```
196
-
197
- **Dependency conflicts**
198
- ```bash
199
- # Clean install
200
- pip uninstall glaip-sdk -y
201
- pip install -e . --no-deps
202
- pip install -e .
203
- ```
204
-
205
- ## ⚡ Quick Start (30 seconds)
206
-
207
- ```bash
208
- # Option 1: Local development setup (Available Now)
209
- git clone <repository-url>
210
- cd ai-agent-platform-sdk
211
- pip install -e .
212
-
213
- # Option 2: Install globally from PyPI (Coming Soon)
214
- # pip install glaip-sdk
215
-
216
- export AIP_API_KEY="your-api-key"
217
- export AIP_API_URL="https://your-platform.com/api"
218
- ```
219
-
220
- **Python SDK:**
221
- ```python
222
- from glaip_sdk import Client
223
-
224
- client = Client()
225
- agent = client.create_agent(name="hello", instruction="You are a helpful assistant.")
226
- print(agent.run("Hello! What can you do?"))
227
- agent.delete()
228
- ```
229
-
230
- **CLI:**
231
- ```bash
232
- # Configure and create your first agent
233
- aip configure
234
- aip agents create --name "hello" --instruction "You are a helpful assistant"
235
- aip agents run <AGENT_ID> --input "Hello! What can you do?"
236
- aip agents delete <AGENT_ID>
237
- ```
238
-
239
- **That's it.** You created, ran, and cleaned up your first agent. 🎉
240
-
241
- ---
242
-
243
- ## 🔧 **Connection & Timeouts**
244
-
245
- ```python
246
- from glaip_sdk import Client
247
-
248
- # Auto-config from environment
249
- with Client(timeout=60.0) as client: # shared HTTP session, closes on exit
250
- print(len(client.list_agents()))
251
-
252
- # Or explicit configuration
253
- client = Client(
254
- api_url="https://your-platform.com/api",
255
- api_key="your-key",
256
- timeout=120.0
257
- )
258
- ```
259
-
260
- ---
261
-
262
- ## ✨ Features
263
-
264
- * **Python SDK**: Simple `Client()` → create resources → `agent.run("...")`
265
- * **CLI Interface**: Full command-line control with `aip` commands
266
- * **Typed Models**: Pydantic-powered `Agent`, `Tool`, `MCP` with `.run()`, `.update()`, and `.delete()` methods
267
- * **Streaming UX**: Live markdown, tool/sub-agent steps, and theme options (`AIP_THEME`, `AIP_NO_EMOJI`)
268
- * **Shared Session**: All sub-clients share one HTTP session for reliability and performance
269
- * **🔐 Enterprise Security**: Automatic recursive secret masking for sensitive data
270
- * **📱 Multiple Output Formats**: Rich, JSON, Plain text, and Markdown views
271
- * **🎯 Modern CLI Experience**: Subsequence-based fuzzy search, smart paging, and intuitive navigation
272
- * **⚡ Performance**: Optimized HTTP sessions, connection pooling, and efficient streaming
273
- * **🛡️ Reliability**: Comprehensive error handling, configurable timeouts, and graceful degradation
274
- * **🔧 Developer Tools**: Rich debugging, comprehensive logging, and testing utilities
275
-
276
- ---
277
-
278
- ## 🎯 **Use Cases & Industries**
279
-
280
- ### **🚀 Development & DevOps**
281
- - **CI/CD Automation**: Deploy agents to manage build pipelines and deployments
282
- - **Code Review**: Automated code analysis and quality checks
283
- - **Infrastructure Management**: Cloud resource provisioning and monitoring
284
- - **Testing Automation**: Intelligent test generation and execution
285
-
286
- ### **💼 Business Operations**
287
- - **Customer Support**: AI-powered customer service agents
288
- - **Data Analysis**: Automated insights and reporting
289
- - **Process Automation**: Streamline repetitive business workflows
290
- - **Document Processing**: Intelligent document analysis and summarization
291
-
292
- ### **🔬 Research & Analytics**
293
- - **Data Processing**: Automated data cleaning and transformation
294
- - **Research Automation**: Literature review and data synthesis
295
- - **Model Training**: Automated ML pipeline management
296
- - **Reporting**: Dynamic report generation and insights
297
-
298
- ### **🏢 Enterprise Applications**
299
- - **Compliance**: Automated regulatory compliance checking
300
- - **Security**: Threat detection and incident response
301
- - **Auditing**: Automated audit trail analysis
302
- - **Integration**: Connect with existing enterprise systems
303
-
304
- ---
305
-
306
- ## 🚀 **Performance & Scalability**
307
-
308
- ### **⚡ High Performance**
309
- - **Connection Pooling**: Efficient HTTP session reuse across requests
310
- - **Streaming Responses**: Real-time data processing without memory bloat
311
- - **Optimized Serialization**: Fast JSON parsing and response handling
312
- - **Concurrent Operations**: Support for parallel agent execution
313
-
314
- ### **📈 Scalability Features**
315
- - **Resource Management**: Automatic cleanup and lifecycle management
316
- - **Memory Efficiency**: Streaming processing for large datasets
317
- - **Timeout Handling**: Configurable timeouts for long-running operations
318
- - **Connection Management**: Efficient HTTP session reuse and connection pooling
319
-
320
- ### **🏗️ Enterprise Architecture**
321
- - **Microservices Ready**: Designed for distributed system integration
322
- - **API-First Design**: RESTful endpoints with consistent patterns
323
- - **Monitoring Support**: Built-in logging and debugging capabilities
324
- - **Security Compliance**: Enterprise-grade security and audit features
325
-
326
- **Security & Data Handling:**
327
-
328
- * **🔐 Secret Masking**: Sensitive data automatically masked in JSON, Plain, and Markdown outputs
329
- * **🔑 API Key Security**: API key read from env/config; **never logged or persisted** by default
330
- * **📊 No Telemetry**: Zero data collection or external reporting
331
- * **💡 Best Practice**: Use `export AIP_API_KEY="..."` instead of command-line flags
332
-
333
- **Windows Compatibility:**
334
-
335
- * **📄 Pager Behavior**: On Windows, automatically uses Rich's built-in pager for better ANSI support
336
-
337
- **Interactive Features (Optional Dependencies):**
338
-
339
- * **🔍 Fuzzy Search**: `prompt_toolkit` for intelligent subsequence-based search
340
- * **📋 Select Menus**: `questionary` for interactive selection menus
341
- * **🔄 Fallback Behavior**: Falls back to Rich tables when fuzzy search unavailable or non-TTY
342
-
343
- ---
344
-
345
- ## 🆕 **Latest Improvements**
346
-
347
- ### **🔐 Enhanced Security with Recursive Secret Masking**
348
- Automatically masks sensitive fields like API keys, tokens, and secrets at all levels of nested data structures:
349
-
350
- ```bash
351
- # Sensitive data is automatically masked in all views
352
- aip agents get <AGENT_ID> # API keys shown as "••••••••"
353
- aip agents list --view json # Recursive masking in JSON output
354
- ```
355
-
356
- ### **📱 Multiple Output Formats**
357
- Choose your preferred output format for any command:
358
-
359
- ```bash
360
- # Rich terminal experience (default)
361
- aip agents list
362
-
363
- # Clean JSON for scripting
364
- aip agents list --view json
365
-
366
- # Simple plain text
367
- aip agents list --view plain
368
-
369
- # Markdown tables
370
- aip agents list --view md
371
- ```
372
-
373
- ### **🎯 Enhanced CLI Experience**
374
- - **Fuzzy Search**: Intelligent search with typo tolerance
375
- - **Smart Paging**: Automatic paging for large datasets
376
- - **Rich Rendering**: Beautiful tables and panels with proper TTY detection
377
-
378
- ---
379
-
380
- ## Core API in 60 seconds
381
-
382
- ### Create & run an agent
383
-
384
- ```python
385
- from glaip_sdk import Client
386
-
387
- client = Client()
388
- agent = client.create_agent(
389
- name="helper",
390
- instruction="You are a helpful assistant."
391
- )
392
- print(agent.run("Summarize why streaming is useful."))
393
- ```
394
-
395
- ### Add a tool, then use it
396
-
397
- ```python
398
- tool = client.create_tool(
399
- file_path="my_tool.py",
400
- name="my_tool", # Optional: extracted from file if not provided
401
- description="Custom business logic" # Optional: extracted from file if not provided
402
- )
403
-
404
- agent = client.create_agent(
405
- name="tool-user",
406
- instruction="Use tools when helpful.",
407
- tools=[tool.id]
408
- )
409
-
410
- print(agent.run("Use the custom tool to process today's data."))
411
- ```
412
-
413
- ### Discover models
414
-
415
- ```python
416
- for lm in client.list_language_models():
417
- print(lm["name"], lm["provider"])
418
- ```
419
-
420
- ### Update & delete
421
-
422
- ```python
423
- agent.update(instruction="Be concise.")
424
- agent.delete()
425
- tool.delete()
426
- ```
427
-
428
- ---
429
-
430
- ## CLI
431
-
432
- ```bash
433
- # Configure
434
- aip configure
435
-
436
- # Agents
437
- aip agents create --name "helper" --instruction "You are helpful"
438
- aip agents run <AGENT_ID> --input "Hello!"
439
- aip agents delete <AGENT_ID>
440
-
441
- # Tools
442
- aip tools create --file my_tool.py --name my_tool --description "Custom logic"
443
- aip tools list
444
-
445
- # Multiple output formats
446
- aip agents list --view json # JSON for scripting
447
- aip agents list --view plain # Simple text
448
- aip agents list --view md # Markdown tables
449
- ```
450
-
451
- > Run full examples: `python -m examples`
452
- > Getting started: `examples/getting-started/sdk/01_hello_world_agent.py`
453
-
454
- ---
455
-
456
- ## Configuration
457
-
458
- * **Environment variables**
459
-
460
- ```bash
461
- # Copy the example file and fill in your values
462
- cp .env.example .env
463
-
464
- # Or set manually
465
- export AIP_API_KEY="your-api-key"
466
- export AIP_API_URL="https://your-platform.com/api"
467
- ```
468
- * **Optional config file**: `~/.aip/config.yaml`
469
-
470
- ```yaml
471
- api_url: https://your-platform.com/api
472
- api_key: your-api-key
473
- ```
474
-
475
- **Configuration precedence:** CLI context flags ⟶ environment variables ⟶ `~/.aip/config.yaml`
476
- * **Renderer options**
477
-
478
- ```bash
479
- export AIP_THEME=dark # or "light"
480
- export AIP_NO_EMOJI=true # disable emojis in streaming view
481
- export AIP_PAGER_HEADER=0 # disable pager headers
482
- ```
483
- * **Security options**
484
-
485
- ```bash
486
- export AIP_MASK_OFF=1 # disable secret masking (not recommended)
487
- export AIP_MASK_FIELDS="custom_field,another_secret" # add custom fields to mask
488
- ```
489
-
490
- **Environment Variables Reference:**
491
-
492
- | Variable | Default | Purpose |
493
- | ------------------------- | ------- | ---------------------------------------- |
494
- | `AIP_API_URL` | — | Base API endpoint |
495
- | `AIP_API_KEY` | — | API key used for auth (never logged) |
496
- | `AIP_TIMEOUT` | `30.0` | Request timeout (s) |
497
- | `AIP_THEME` | `dark` | Streaming code theme (`dark`/`light`) |
498
- | `AIP_NO_EMOJI` | `false` | Disable emojis in the stream view |
499
- | `AIP_PAGER_HEADER` | `1` | Show pager header (`0/1`) |
500
- | `AIP_PAGER_WRAP` | `0` | Wrap lines in pager (drops `-S`) |
501
- | `AIP_LESS_FLAGS` | auto | Override default `less` flags |
502
- | `AIP_MASK_OFF` | `0` | Disable secret masking (not recommended) |
503
- | `AIP_MASK_FIELDS` | — | Extra comma-separated keys to mask |
504
- | `AIP_TABLE_NO_SORT` | `0` | Disable automatic table sorting |
505
- * **Enterprise features**
506
-
507
- * Single shared HTTP session across sub-clients for reliability & connection reuse
508
- * Configurable timeouts and SSE streaming out of the box
509
- * Proxy support: `HTTP_PROXY` / `HTTPS_PROXY` supported by `httpx`
510
- * **Python**: 3.10–3.12
511
- * **Versioning**: semantic versioning; breaking changes bump MAJOR
512
- * **Security**: API key only read from env/config, never logged; no telemetry by default; TLS recommended
513
-
514
- ---
515
-
516
- ## Learning Path
517
-
518
- * **Start here**
519
-
520
- * `examples/getting-started/sdk/01_hello_world_agent.py`
521
- * `examples/getting-started/sdk/02_hello_world_tool.py`
522
- * `examples/getting-started/sdk/03_hello_world_mcp.py`
523
- * **Build skills**
524
-
525
- * `examples/intermediate/sdk/01_conversation_memory.py`
526
- * `examples/intermediate/sdk/02_streaming_execution.py`
527
- * `examples/intermediate/sdk/04_agent_tool_integration.py`
528
- * **Go deeper**
529
-
530
- * `examples/advanced/sdk/01_agent_workflow_orchestration.py`
531
- * `examples/advanced/sdk/02_error_handling_patterns.py`
532
- * `examples/advanced/sdk/03_performance_optimization.py`
533
- * `examples/advanced/sdk/04_metadata_patterns.py`
534
- * **SDK Testing Scenario**
535
- See: [`SDK_TESTING_SCENARIO.md`](SDK_TESTING_SCENARIO.md) (complete end-to-end coverage plan)
536
-
537
- ---
538
-
539
- ## Development
540
-
541
- ```bash
542
- make install
543
- make test-unit
544
- make test-integration
545
- make pre-commit
546
- ```
547
-
548
- ### Versioning
549
-
550
- Single source of truth: `pyproject.toml` under `[project].version`.
551
-
552
- The SDK resolves its runtime version from installed package metadata
553
- (`glaip_sdk/_version.py`), so you do not need to edit any code files when
554
- changing the version. Update once in `pyproject.toml`, then build/reinstall.
555
-
556
- Release by tagging (e.g., `v0.0.3`) and creating a GitHub Release that
557
- matches the tag.
558
-
559
- ---
560
-
561
- ## 🚨 **Error Handling**
562
-
563
- ```python
564
- from glaip_sdk import Client
565
- from glaip_sdk.exceptions import (
566
- AuthenticationError, NotFoundError, ValidationError,
567
- RateLimitError, TimeoutError, ServerError, AIPError
568
- )
569
-
570
- try:
571
- client = Client()
572
- agent = client.create_agent(name="demo", instruction="...")
573
- print(agent.run("hello"))
574
- except AuthenticationError:
575
- print("Invalid API key or insufficient permissions.")
576
- except NotFoundError:
577
- print("Resource not found.")
578
- except RateLimitError:
579
- print("Rate limited — retry later.")
580
- except TimeoutError:
581
- print("Request timed out.")
582
- except ValidationError as e:
583
- print(f"Bad request: {e}")
584
- except ServerError as e:
585
- print(f"Server issue: {e}")
586
- except AIPError as e:
587
- print(f"SDK error: {e}")
588
- ```
589
-
590
- ---
591
-
592
- ## 🔍 **Troubleshooting**
593
-
594
- ```bash
595
- # Test the connection (auth header is required)
596
- curl -s -H "X-API-Key: $AIP_API_KEY" "$AIP_API_URL/health-check"
597
-
598
- # Verify your configuration
599
- echo "API URL: $AIP_API_URL"
600
- echo "API Key length: ${#AIP_API_KEY}"
601
-
602
- # Test CLI functionality
603
- aip --version
604
- aip agents list --view json
605
- ```
606
-
607
- ---
608
-
609
- ## 🆘 **Getting Help & Support**
610
-
611
- ### **📚 Documentation & Examples**
612
- - **Comprehensive Examples**: Run `python -m examples` for complete working samples
613
- - **Getting Started**: Start with `examples/getting-started/` for basic concepts
614
- - **Advanced Patterns**: Explore `examples/advanced/` for complex use cases
615
- - **Testing Guide**: See `SDK_TESTING_SCENARIO.md` for testing strategies
616
-
617
- ### **🔧 Troubleshooting**
618
- - **Connection Issues**: Check API URL and authentication
619
- - **Performance**: Monitor timeouts and connection pooling
620
- - **Security**: Verify secret masking and access controls
621
- - **CLI Issues**: Test with `--view json` for debugging
622
-
623
- ### **💡 Best Practices**
624
- - **Resource Management**: Always clean up resources with `.delete()`
625
- - **Error Handling**: Use try-catch blocks for robust applications
626
- - **Configuration**: Use environment variables for sensitive data
627
- - **Testing**: Test with small datasets before scaling up
628
-
629
- ---
630
-
631
- ## 🏆 **Why Choose AIP SDK?**
632
-
633
- * **🚀 Production Ready**: Built for enterprise with proper error handling, timeouts, and security
634
- * **🔐 Security First**: Automatic secret masking, no sensitive data logging
635
- * **💻 Developer Experience**: Intuitive CLI with fuzzy search and multiple output formats
636
- * **📊 Rich Streaming**: Beautiful terminal experience with live updates and tool visualization
637
- * **🔧 Simple API**: Minimal boilerplate, maximum functionality
638
- * **🏗️ Enterprise Features**: Shared sessions, proxy support, comprehensive error handling
639
-
640
- ---
641
-
642
- ## License
643
-
644
- MIT — see [LICENSE](LICENSE)
645
-
@@ -1,55 +0,0 @@
1
- glaip_sdk/__init__.py,sha256=AmY3ggfFTMzWNiHc6RYkdr-IgDqU6CZvU7PGdoyVULg,370
2
- glaip_sdk/_version.py,sha256=Rb9YLDvK1DXCVFrjlLDbtucpwKh_PyCnmZ-ia9VX3Cc,1650
3
- glaip_sdk/branding.py,sha256=TLx2j4q3QJrmsbQsvtbd9Ta99rQkX8HzYIDwy-D8tz4,5301
4
- glaip_sdk/cli/__init__.py,sha256=xCCfuF1Yc7mpCDcfhHZTX0vizvtrDSLeT8MJ3V7m5A0,156
5
- glaip_sdk/cli/agent_config.py,sha256=VHjebw68wAdhGUzYdPH8qz10oADZPRgUQcPW6F7iHIU,2421
6
- glaip_sdk/cli/commands/__init__.py,sha256=ZAzgT9y68_BbSpuIClPoZureIxEM8gqmG9qL3iFkCyQ,173
7
- glaip_sdk/cli/commands/agents.py,sha256=xd8zFF8J7Qdes5ywFGhqSpEpe9UhB9oLJfrhT3kbr-I,33989
8
- glaip_sdk/cli/commands/configure.py,sha256=5Rr_gGc7j53CipCC9shE4uyvpX-06Sif0p2YpbAz33s,7306
9
- glaip_sdk/cli/commands/mcps.py,sha256=HK3XCnVajjnU02eFHzVtqCEJK5X39ozt9ag-fe32tRM,12476
10
- glaip_sdk/cli/commands/models.py,sha256=JhVhH-c5V-VkxJu4jXvm2hmaeU7LXuT9KOH9XWcpubg,1417
11
- glaip_sdk/cli/commands/tools.py,sha256=1Qm-FrWkxF-pjsU0jP9MSW4L1gfzqIYDiZdDy7qhQRg,17475
12
- glaip_sdk/cli/display.py,sha256=wFYReJQ0VTiQYepWd6uFLvHdYkpAj321o8e7P2zSvfY,8058
13
- glaip_sdk/cli/io.py,sha256=9DxJsuJyl_kDkxXCt661mZIpBxnfT7rvJ6Xq2a1ie5M,3326
14
- glaip_sdk/cli/main.py,sha256=U13On-zpLZLTDbruWHDhkgo6HYbcxrc5SL9ttiXsnlw,10414
15
- glaip_sdk/cli/resolution.py,sha256=FlWEg7Frtw2jwdLLfed58mTXsUv73loI677CezDp4KM,1619
16
- glaip_sdk/cli/utils.py,sha256=dwiZ6P6j75fcE_hDmLmV2IfrIlXsVdFWR4EI_1LMhqU,29653
17
- glaip_sdk/cli/validators.py,sha256=0VXG91hVlFVGYMfk5gm1XpiRqDKS_3wWfmfjPZmWPYw,5446
18
- glaip_sdk/client/__init__.py,sha256=nYLXfBVTTWwKjP0e63iumPYO4k5FifwWaELQPaPIKIg,188
19
- glaip_sdk/client/agents.py,sha256=j6MljkfVIDAL5sAa0fcIre_ZjQ_1co9pGhqFphBPT8c,30702
20
- glaip_sdk/client/base.py,sha256=NcxiM2oGKXktNi4zubljO5OhD3DCEP-X0KfuJ9QY4xg,12098
21
- glaip_sdk/client/main.py,sha256=LlvYHP7-Hy7Eq1ep1kfk337K-Oue5SdKWJpqYfX9eXY,7993
22
- glaip_sdk/client/mcps.py,sha256=yxwrAtztElYDEGhp2EHRpeYUxNsOlTLTqtw9jSKJmcI,8936
23
- glaip_sdk/client/tools.py,sha256=ZvRRbXHvd33XUKqmKAIFSvz_IO-1glTvJNyxOeivK9Q,15962
24
- glaip_sdk/client/validators.py,sha256=3MtOt11IivEwQAgzmdRGWUBzP223ytECOLU_a77x7IU,7101
25
- glaip_sdk/config/constants.py,sha256=mOH2conxcj8t-bGhwgP_iFX4NMkNEm-9k5QN2F8yqyY,925
26
- glaip_sdk/exceptions.py,sha256=QTVtwxRHMN4e8gGn0icXphZvdugiRvcSrlMYylwGsDc,1993
27
- glaip_sdk/models.py,sha256=d8VSE1lm8jR0p_ep8cNaPZ6h2FfKudeAtCZlTxrw_wc,8729
28
- glaip_sdk/rich_components.py,sha256=pmJd-81OQE8bC9UOXtga5rsax4zphKlzCZ1JoWbbQzQ,803
29
- glaip_sdk/utils/__init__.py,sha256=9Y4eCjXx9_t_29CfnH-ChCf2b0YsYCLSJN9s9_HnzLo,926
30
- glaip_sdk/utils/agent_config.py,sha256=b7_J5DELyk0b_XEoi7tsxbS3wqzAKbMa-3_C-65pPIY,6791
31
- glaip_sdk/utils/client_utils.py,sha256=JdmP2OolXy83lzXxKDvswRw3bCorh2c3Gm5uy-sDeXQ,11839
32
- glaip_sdk/utils/display.py,sha256=BHVD194MS1vEWm5oaLfEx_vxGoUyHGMGcQJDnKLh2AI,3071
33
- glaip_sdk/utils/general.py,sha256=YolKDCs1wNcefQ9fOk5wd9prSxJZe1-PHsZSH1a8wDQ,2186
34
- glaip_sdk/utils/import_export.py,sha256=-XX21D0emPyC6EWpBsxySU1-lb3dkY1jJEjx11oLa6I,4503
35
- glaip_sdk/utils/rendering/__init__.py,sha256=vXjwk5rPhhfPyD8S0DnV4GFFEtPJp4HCCg1Um9SXfs0,70
36
- glaip_sdk/utils/rendering/formatting.py,sha256=zTF5E7BcswaIHHGFMjy1ylo6kJfpLQmeeAgFYITthcU,7165
37
- glaip_sdk/utils/rendering/models.py,sha256=ffPMv4XrKY4V2-THL69KONZf1NL7msIa-jVZAVuz2Js,1559
38
- glaip_sdk/utils/rendering/renderer/__init__.py,sha256=EXwVBmGkSYcype4ocAXo69Z1kXu0gpNXmhH5LW0_B7A,2939
39
- glaip_sdk/utils/rendering/renderer/base.py,sha256=LjtJmEs_pAw4uux1XgfZRJGA-myPzCCpwmYbBg0io98,34067
40
- glaip_sdk/utils/rendering/renderer/config.py,sha256=E4ER8TJJbqr1hcWjkwG7XROqLuccQy4EL99CbuLvSXE,783
41
- glaip_sdk/utils/rendering/renderer/console.py,sha256=ibQU07rmrWw-MMX6n3J2ewxuOEY-Z6RnKEfzMH2-IrA,1744
42
- glaip_sdk/utils/rendering/renderer/debug.py,sha256=VqpQAmBA3DtHVIqIeWJSgrycmzORUBk1kJ5m6b3tz4s,2884
43
- glaip_sdk/utils/rendering/renderer/panels.py,sha256=_KJohKOsyOBkqKzlC-hOSwZt1SGsJRhQwizlrRgWMis,3040
44
- glaip_sdk/utils/rendering/renderer/progress.py,sha256=i4HG_iNwtK4c3Gf2sviLCiOJ-5ydX4t-YE5dgtLOxNI,3438
45
- glaip_sdk/utils/rendering/renderer/stream.py,sha256=ZKitYkt_7OirNeERu3cc_NybQ8mWUMoEstg9UL1S090,7323
46
- glaip_sdk/utils/rendering/steps.py,sha256=SPImcV6f-TY_ITLyi4mSTeTu4SJxlMN7fWEKfDLL3Z8,5862
47
- glaip_sdk/utils/resource_refs.py,sha256=0YzblJNfRhz9xhpaKE9aE68XEV-6_ssr0fIkiMVOka0,5489
48
- glaip_sdk/utils/rich_utils.py,sha256=8jPG8HsDTr6nj2vh4_be5ULCGxG1ZSinJqHZT6pdXsY,755
49
- glaip_sdk/utils/run_renderer.py,sha256=JGQzXymsptgr927-F49H1AOT5bzqErDXZMF2pOxqbfw,1365
50
- glaip_sdk/utils/serialization.py,sha256=eqbxPOBxuJ88NpES_rGWs1m7QJcs00IwhFOk1GHoZyE,7803
51
- glaip_sdk/utils/validation.py,sha256=QjBRsYFrP8MLl-xMq68Sk-Gyev-EGLGiY2l5t0ALySc,6990
52
- glaip_sdk-0.0.5b1.dist-info/METADATA,sha256=BwVLXLD8FOOvs68IBMCUcpZyobzW2qrx9AZEgbJGWsY,19549
53
- glaip_sdk-0.0.5b1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
54
- glaip_sdk-0.0.5b1.dist-info/entry_points.txt,sha256=EGs8NO8J1fdFMWA3CsF7sKBEvtHb_fujdCoNPhfMouE,47
55
- glaip_sdk-0.0.5b1.dist-info/RECORD,,