glaip-sdk 0.0.7__py3-none-any.whl → 0.6.5b6__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.
- glaip_sdk/__init__.py +6 -3
- glaip_sdk/_version.py +12 -5
- glaip_sdk/agents/__init__.py +27 -0
- glaip_sdk/agents/base.py +1126 -0
- glaip_sdk/branding.py +79 -15
- glaip_sdk/cli/account_store.py +540 -0
- glaip_sdk/cli/agent_config.py +2 -6
- glaip_sdk/cli/auth.py +699 -0
- glaip_sdk/cli/commands/__init__.py +2 -2
- glaip_sdk/cli/commands/accounts.py +746 -0
- glaip_sdk/cli/commands/agents.py +503 -183
- glaip_sdk/cli/commands/common_config.py +101 -0
- glaip_sdk/cli/commands/configure.py +774 -137
- glaip_sdk/cli/commands/mcps.py +1124 -181
- glaip_sdk/cli/commands/models.py +25 -10
- glaip_sdk/cli/commands/tools.py +144 -92
- glaip_sdk/cli/commands/transcripts.py +755 -0
- glaip_sdk/cli/commands/update.py +61 -0
- glaip_sdk/cli/config.py +95 -0
- glaip_sdk/cli/constants.py +38 -0
- glaip_sdk/cli/context.py +150 -0
- glaip_sdk/cli/core/__init__.py +79 -0
- glaip_sdk/cli/core/context.py +124 -0
- glaip_sdk/cli/core/output.py +846 -0
- glaip_sdk/cli/core/prompting.py +649 -0
- glaip_sdk/cli/core/rendering.py +187 -0
- glaip_sdk/cli/display.py +143 -53
- glaip_sdk/cli/hints.py +57 -0
- glaip_sdk/cli/io.py +24 -18
- glaip_sdk/cli/main.py +420 -145
- glaip_sdk/cli/masking.py +136 -0
- glaip_sdk/cli/mcp_validators.py +287 -0
- glaip_sdk/cli/pager.py +266 -0
- glaip_sdk/cli/parsers/__init__.py +7 -0
- glaip_sdk/cli/parsers/json_input.py +177 -0
- glaip_sdk/cli/resolution.py +28 -21
- glaip_sdk/cli/rich_helpers.py +27 -0
- glaip_sdk/cli/slash/__init__.py +15 -0
- glaip_sdk/cli/slash/accounts_controller.py +500 -0
- glaip_sdk/cli/slash/accounts_shared.py +75 -0
- glaip_sdk/cli/slash/agent_session.py +282 -0
- glaip_sdk/cli/slash/prompt.py +245 -0
- glaip_sdk/cli/slash/remote_runs_controller.py +566 -0
- glaip_sdk/cli/slash/session.py +1679 -0
- glaip_sdk/cli/slash/tui/__init__.py +9 -0
- glaip_sdk/cli/slash/tui/accounts.tcss +86 -0
- glaip_sdk/cli/slash/tui/accounts_app.py +872 -0
- glaip_sdk/cli/slash/tui/background_tasks.py +72 -0
- glaip_sdk/cli/slash/tui/loading.py +58 -0
- glaip_sdk/cli/slash/tui/remote_runs_app.py +628 -0
- glaip_sdk/cli/transcript/__init__.py +31 -0
- glaip_sdk/cli/transcript/cache.py +536 -0
- glaip_sdk/cli/transcript/capture.py +329 -0
- glaip_sdk/cli/transcript/export.py +38 -0
- glaip_sdk/cli/transcript/history.py +815 -0
- glaip_sdk/cli/transcript/launcher.py +77 -0
- glaip_sdk/cli/transcript/viewer.py +372 -0
- glaip_sdk/cli/update_notifier.py +290 -0
- glaip_sdk/cli/utils.py +247 -1238
- glaip_sdk/cli/validators.py +16 -18
- glaip_sdk/client/__init__.py +2 -1
- glaip_sdk/client/_agent_payloads.py +520 -0
- glaip_sdk/client/agent_runs.py +147 -0
- glaip_sdk/client/agents.py +940 -574
- glaip_sdk/client/base.py +163 -48
- glaip_sdk/client/main.py +35 -12
- glaip_sdk/client/mcps.py +126 -18
- glaip_sdk/client/run_rendering.py +415 -0
- glaip_sdk/client/shared.py +21 -0
- glaip_sdk/client/tools.py +195 -37
- glaip_sdk/client/validators.py +20 -48
- glaip_sdk/config/constants.py +15 -5
- glaip_sdk/exceptions.py +16 -9
- glaip_sdk/icons.py +25 -0
- glaip_sdk/mcps/__init__.py +21 -0
- glaip_sdk/mcps/base.py +345 -0
- glaip_sdk/models/__init__.py +90 -0
- glaip_sdk/models/agent.py +47 -0
- glaip_sdk/models/agent_runs.py +116 -0
- glaip_sdk/models/common.py +42 -0
- glaip_sdk/models/mcp.py +33 -0
- glaip_sdk/models/tool.py +33 -0
- glaip_sdk/payload_schemas/__init__.py +7 -0
- glaip_sdk/payload_schemas/agent.py +85 -0
- glaip_sdk/registry/__init__.py +55 -0
- glaip_sdk/registry/agent.py +164 -0
- glaip_sdk/registry/base.py +139 -0
- glaip_sdk/registry/mcp.py +253 -0
- glaip_sdk/registry/tool.py +231 -0
- glaip_sdk/rich_components.py +98 -2
- glaip_sdk/runner/__init__.py +59 -0
- glaip_sdk/runner/base.py +84 -0
- glaip_sdk/runner/deps.py +115 -0
- glaip_sdk/runner/langgraph.py +597 -0
- glaip_sdk/runner/mcp_adapter/__init__.py +13 -0
- glaip_sdk/runner/mcp_adapter/base_mcp_adapter.py +43 -0
- glaip_sdk/runner/mcp_adapter/langchain_mcp_adapter.py +158 -0
- glaip_sdk/runner/mcp_adapter/mcp_config_builder.py +95 -0
- glaip_sdk/runner/tool_adapter/__init__.py +18 -0
- glaip_sdk/runner/tool_adapter/base_tool_adapter.py +44 -0
- glaip_sdk/runner/tool_adapter/langchain_tool_adapter.py +177 -0
- glaip_sdk/tools/__init__.py +22 -0
- glaip_sdk/tools/base.py +435 -0
- glaip_sdk/utils/__init__.py +59 -13
- glaip_sdk/utils/a2a/__init__.py +34 -0
- glaip_sdk/utils/a2a/event_processor.py +188 -0
- glaip_sdk/utils/agent_config.py +53 -40
- glaip_sdk/utils/bundler.py +267 -0
- glaip_sdk/utils/client.py +111 -0
- glaip_sdk/utils/client_utils.py +58 -26
- glaip_sdk/utils/datetime_helpers.py +58 -0
- glaip_sdk/utils/discovery.py +78 -0
- glaip_sdk/utils/display.py +65 -32
- glaip_sdk/utils/export.py +143 -0
- glaip_sdk/utils/general.py +1 -36
- glaip_sdk/utils/import_export.py +20 -25
- glaip_sdk/utils/import_resolver.py +492 -0
- glaip_sdk/utils/instructions.py +101 -0
- glaip_sdk/utils/rendering/__init__.py +115 -1
- glaip_sdk/utils/rendering/formatting.py +85 -43
- glaip_sdk/utils/rendering/layout/__init__.py +64 -0
- glaip_sdk/utils/rendering/{renderer → layout}/panels.py +51 -19
- glaip_sdk/utils/rendering/layout/progress.py +202 -0
- glaip_sdk/utils/rendering/layout/summary.py +74 -0
- glaip_sdk/utils/rendering/layout/transcript.py +606 -0
- glaip_sdk/utils/rendering/models.py +39 -7
- glaip_sdk/utils/rendering/renderer/__init__.py +9 -51
- glaip_sdk/utils/rendering/renderer/base.py +672 -759
- glaip_sdk/utils/rendering/renderer/config.py +4 -10
- glaip_sdk/utils/rendering/renderer/debug.py +75 -22
- glaip_sdk/utils/rendering/renderer/factory.py +138 -0
- glaip_sdk/utils/rendering/renderer/stream.py +13 -54
- glaip_sdk/utils/rendering/renderer/summary_window.py +79 -0
- glaip_sdk/utils/rendering/renderer/thinking.py +273 -0
- glaip_sdk/utils/rendering/renderer/toggle.py +182 -0
- glaip_sdk/utils/rendering/renderer/tool_panels.py +442 -0
- glaip_sdk/utils/rendering/renderer/transcript_mode.py +162 -0
- glaip_sdk/utils/rendering/state.py +204 -0
- glaip_sdk/utils/rendering/step_tree_state.py +100 -0
- glaip_sdk/utils/rendering/steps/__init__.py +34 -0
- glaip_sdk/utils/rendering/steps/event_processor.py +778 -0
- glaip_sdk/utils/rendering/steps/format.py +176 -0
- glaip_sdk/utils/rendering/steps/manager.py +387 -0
- glaip_sdk/utils/rendering/timing.py +36 -0
- glaip_sdk/utils/rendering/viewer/__init__.py +21 -0
- glaip_sdk/utils/rendering/viewer/presenter.py +184 -0
- glaip_sdk/utils/resource_refs.py +29 -26
- glaip_sdk/utils/runtime_config.py +422 -0
- glaip_sdk/utils/serialization.py +184 -51
- glaip_sdk/utils/sync.py +142 -0
- glaip_sdk/utils/tool_detection.py +33 -0
- glaip_sdk/utils/validation.py +21 -30
- {glaip_sdk-0.0.7.dist-info → glaip_sdk-0.6.5b6.dist-info}/METADATA +58 -12
- glaip_sdk-0.6.5b6.dist-info/RECORD +159 -0
- {glaip_sdk-0.0.7.dist-info → glaip_sdk-0.6.5b6.dist-info}/WHEEL +1 -1
- glaip_sdk/models.py +0 -250
- glaip_sdk/utils/rendering/renderer/progress.py +0 -118
- glaip_sdk/utils/rendering/steps.py +0 -232
- glaip_sdk/utils/rich_utils.py +0 -29
- glaip_sdk-0.0.7.dist-info/RECORD +0 -55
- {glaip_sdk-0.0.7.dist-info → glaip_sdk-0.6.5b6.dist-info}/entry_points.txt +0 -0
glaip_sdk/branding.py
CHANGED
|
@@ -4,7 +4,7 @@ Simple, friendly CLI branding for the GL AIP (GDP Labs AI Agent Package) SDK.
|
|
|
4
4
|
|
|
5
5
|
- Package name: GL AIP (GDP Labs AI Agent Package)
|
|
6
6
|
- Version: auto-detected (AIP_VERSION env or importlib.metadata), or passed in
|
|
7
|
-
- Colors:
|
|
7
|
+
- Colors: GDP Labs brand palette with NO_COLOR/AIP_NO_COLOR fallbacks
|
|
8
8
|
|
|
9
9
|
Author:
|
|
10
10
|
Raymond Christopher (raymond.christopher@gdplabs.id)
|
|
@@ -30,15 +30,37 @@ except Exception: # pragma: no cover
|
|
|
30
30
|
PackageNotFoundError = Exception
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
# ----
|
|
34
|
-
PRIMARY = "
|
|
35
|
-
|
|
33
|
+
# ---- GDP Labs Brand Color Palette -----------------------------------------
|
|
34
|
+
PRIMARY = "#004987" # Primary brand blue (dark blue)
|
|
35
|
+
SECONDARY_DARK = "#003A5C" # Darkest variant for emphasis
|
|
36
|
+
SECONDARY_MEDIUM = "#005CB8" # Medium variant for UI elements
|
|
37
|
+
SECONDARY_LIGHT = "#40B4E5" # Light variant for highlights
|
|
38
|
+
|
|
39
|
+
# Neutral companion palette (optimized for dark terminals)
|
|
40
|
+
SUCCESS = "#7FA089" # Muted teal-green for success messaging
|
|
41
|
+
WARNING = "#C3A46F" # Soft amber for warnings
|
|
42
|
+
ERROR = "#C97B6C" # Tempered coral-red for errors
|
|
43
|
+
INFO = "#9CA3AF" # Cool grey for informational accents
|
|
44
|
+
NEUTRAL = "#D1D5DB" # Light grey for muted text and dividers
|
|
45
|
+
|
|
46
|
+
BORDER = PRIMARY # Keep borders aligned with primary brand tone
|
|
36
47
|
TITLE_STYLE = f"bold {PRIMARY}"
|
|
37
48
|
LABEL = "bold"
|
|
49
|
+
SUCCESS_STYLE = f"bold {SUCCESS}"
|
|
50
|
+
WARNING_STYLE = f"bold {WARNING}"
|
|
51
|
+
ERROR_STYLE = f"bold {ERROR}"
|
|
52
|
+
INFO_STYLE = f"bold {INFO}"
|
|
53
|
+
ACCENT_STYLE = INFO # For subdued inline highlights
|
|
54
|
+
|
|
55
|
+
# Hint styling (slash command helpers, tips, quick actions)
|
|
56
|
+
HINT_TITLE_STYLE = f"bold {SECONDARY_LIGHT}"
|
|
57
|
+
HINT_COMMAND_STYLE = f"bold {SECONDARY_LIGHT}"
|
|
58
|
+
HINT_DESCRIPTION_COLOR = NEUTRAL
|
|
59
|
+
HINT_PREFIX_STYLE = INFO_STYLE
|
|
38
60
|
|
|
39
61
|
|
|
40
62
|
class AIPBranding:
|
|
41
|
-
"""GL AIP
|
|
63
|
+
"""GL AIP branding utilities with ASCII banner and version display."""
|
|
42
64
|
|
|
43
65
|
# GL AIP ASCII art - Modern block style with enhanced visibility
|
|
44
66
|
AIP_LOGO = r"""
|
|
@@ -56,7 +78,8 @@ GDP Labs AI Agents Package
|
|
|
56
78
|
version: str | None = None,
|
|
57
79
|
package_name: str | None = None,
|
|
58
80
|
) -> None:
|
|
59
|
-
"""
|
|
81
|
+
"""Initialize AIPBranding instance.
|
|
82
|
+
|
|
60
83
|
Args:
|
|
61
84
|
version: Explicit SDK version (overrides auto-detection).
|
|
62
85
|
package_name: If set, attempt to read version from installed package.
|
|
@@ -67,6 +90,14 @@ GDP Labs AI Agents Package
|
|
|
67
90
|
# ---- small helpers --------------------------------------------------------
|
|
68
91
|
@staticmethod
|
|
69
92
|
def _auto_version(package_name: str | None) -> str:
|
|
93
|
+
"""Auto-detect version from environment, package metadata, or fallback.
|
|
94
|
+
|
|
95
|
+
Args:
|
|
96
|
+
package_name: Optional package name to read version from installed metadata.
|
|
97
|
+
|
|
98
|
+
Returns:
|
|
99
|
+
Version string from AIP_VERSION env var, package metadata, or SDK_VERSION fallback.
|
|
100
|
+
"""
|
|
70
101
|
# Priority: env → package metadata → fallback
|
|
71
102
|
env_version = os.getenv("AIP_VERSION")
|
|
72
103
|
if env_version:
|
|
@@ -80,10 +111,13 @@ GDP Labs AI Agents Package
|
|
|
80
111
|
|
|
81
112
|
@staticmethod
|
|
82
113
|
def _make_console() -> Console:
|
|
114
|
+
"""Create a Rich Console instance respecting NO_COLOR environment variables.
|
|
115
|
+
|
|
116
|
+
Returns:
|
|
117
|
+
Console instance with color system configured based on environment.
|
|
118
|
+
"""
|
|
83
119
|
# Respect NO_COLOR/AIP_NO_COLOR environment variables
|
|
84
|
-
no_color_env = (
|
|
85
|
-
os.getenv("NO_COLOR") is not None or os.getenv("AIP_NO_COLOR") is not None
|
|
86
|
-
)
|
|
120
|
+
no_color_env = os.getenv("NO_COLOR") is not None or os.getenv("AIP_NO_COLOR") is not None
|
|
87
121
|
if no_color_env:
|
|
88
122
|
color_system = None
|
|
89
123
|
no_color = True
|
|
@@ -95,12 +129,17 @@ GDP Labs AI Agents Package
|
|
|
95
129
|
# ---- public API -----------------------------------------------------------
|
|
96
130
|
def get_welcome_banner(self) -> str:
|
|
97
131
|
"""Get AIP banner with version info."""
|
|
98
|
-
banner = self.AIP_LOGO
|
|
132
|
+
banner = f"[{PRIMARY}]{self.AIP_LOGO}[/{PRIMARY}]"
|
|
99
133
|
line = f"Version: {self.version}"
|
|
100
134
|
banner = f"{banner}\n{line}"
|
|
101
135
|
return banner
|
|
102
136
|
|
|
103
137
|
def get_version_info(self) -> dict:
|
|
138
|
+
"""Get comprehensive version information for the SDK.
|
|
139
|
+
|
|
140
|
+
Returns:
|
|
141
|
+
Dictionary containing version, Python version, platform, and architecture info
|
|
142
|
+
"""
|
|
104
143
|
return {
|
|
105
144
|
"version": self.version,
|
|
106
145
|
"python_version": f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}",
|
|
@@ -108,7 +147,18 @@ GDP Labs AI Agents Package
|
|
|
108
147
|
"architecture": platform.architecture()[0],
|
|
109
148
|
}
|
|
110
149
|
|
|
111
|
-
def display_welcome_panel(
|
|
150
|
+
def display_welcome_panel(
|
|
151
|
+
self,
|
|
152
|
+
title: str = "Welcome to AIP",
|
|
153
|
+
*,
|
|
154
|
+
console: Console | None = None,
|
|
155
|
+
) -> None:
|
|
156
|
+
"""Display a welcome panel with branding.
|
|
157
|
+
|
|
158
|
+
Args:
|
|
159
|
+
title: Custom title for the welcome panel
|
|
160
|
+
console: Optional console instance to print to. If None, uses self.console
|
|
161
|
+
"""
|
|
112
162
|
banner = self.get_welcome_banner()
|
|
113
163
|
panel = AIPPanel(
|
|
114
164
|
banner,
|
|
@@ -116,9 +166,11 @@ GDP Labs AI Agents Package
|
|
|
116
166
|
border_style=BORDER,
|
|
117
167
|
padding=(1, 2),
|
|
118
168
|
)
|
|
119
|
-
self.console
|
|
169
|
+
target_console = console or self.console
|
|
170
|
+
target_console.print(panel)
|
|
120
171
|
|
|
121
172
|
def display_version_panel(self) -> None:
|
|
173
|
+
"""Display a panel with comprehensive version information."""
|
|
122
174
|
v = self.get_version_info()
|
|
123
175
|
version_text = (
|
|
124
176
|
f"[{TITLE_STYLE}]AIP SDK Version Information[/{TITLE_STYLE}]\n\n"
|
|
@@ -136,12 +188,24 @@ GDP Labs AI Agents Package
|
|
|
136
188
|
self.console.print(panel)
|
|
137
189
|
|
|
138
190
|
def display_status_banner(self, status: str = "ready") -> None:
|
|
191
|
+
"""Display a status banner for the current state.
|
|
192
|
+
|
|
193
|
+
Args:
|
|
194
|
+
status: Current status to display
|
|
195
|
+
"""
|
|
139
196
|
# Keep it simple (no emoji); easy to parse in logs/CI
|
|
140
197
|
banner = f"[{LABEL}]AIP[/{LABEL}] - {status.title()}"
|
|
141
198
|
self.console.print(banner)
|
|
142
199
|
|
|
143
200
|
@classmethod
|
|
144
|
-
def create_from_sdk(
|
|
145
|
-
|
|
146
|
-
|
|
201
|
+
def create_from_sdk(cls, sdk_version: str | None = None, package_name: str | None = None) -> AIPBranding:
|
|
202
|
+
"""Create AIPBranding instance from SDK package information.
|
|
203
|
+
|
|
204
|
+
Args:
|
|
205
|
+
sdk_version: Explicit SDK version override
|
|
206
|
+
package_name: Package name to read version from
|
|
207
|
+
|
|
208
|
+
Returns:
|
|
209
|
+
AIPBranding instance
|
|
210
|
+
"""
|
|
147
211
|
return cls(version=sdk_version, package_name=package_name)
|