glaip-sdk 0.0.20__py3-none-any.whl → 0.1.3__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/_version.py +1 -3
- glaip_sdk/branding.py +2 -6
- glaip_sdk/cli/agent_config.py +2 -6
- glaip_sdk/cli/auth.py +11 -30
- glaip_sdk/cli/commands/agents.py +64 -107
- glaip_sdk/cli/commands/configure.py +12 -36
- glaip_sdk/cli/commands/mcps.py +25 -63
- glaip_sdk/cli/commands/models.py +2 -4
- glaip_sdk/cli/commands/tools.py +22 -35
- glaip_sdk/cli/commands/update.py +3 -8
- glaip_sdk/cli/config.py +1 -3
- glaip_sdk/cli/display.py +10 -13
- glaip_sdk/cli/io.py +8 -14
- glaip_sdk/cli/main.py +10 -30
- glaip_sdk/cli/mcp_validators.py +5 -15
- glaip_sdk/cli/pager.py +3 -9
- glaip_sdk/cli/parsers/json_input.py +11 -22
- glaip_sdk/cli/resolution.py +3 -9
- glaip_sdk/cli/rich_helpers.py +1 -3
- glaip_sdk/cli/slash/agent_session.py +5 -10
- glaip_sdk/cli/slash/prompt.py +3 -10
- glaip_sdk/cli/slash/session.py +46 -98
- glaip_sdk/cli/transcript/cache.py +6 -19
- glaip_sdk/cli/transcript/capture.py +45 -20
- glaip_sdk/cli/transcript/launcher.py +1 -3
- glaip_sdk/cli/transcript/viewer.py +224 -47
- glaip_sdk/cli/update_notifier.py +165 -21
- glaip_sdk/cli/utils.py +33 -91
- glaip_sdk/cli/validators.py +11 -12
- glaip_sdk/client/_agent_payloads.py +10 -30
- glaip_sdk/client/agents.py +33 -63
- glaip_sdk/client/base.py +77 -35
- glaip_sdk/client/mcps.py +1 -3
- glaip_sdk/client/run_rendering.py +121 -26
- glaip_sdk/client/tools.py +8 -24
- glaip_sdk/client/validators.py +20 -48
- glaip_sdk/exceptions.py +1 -3
- glaip_sdk/icons.py +9 -3
- glaip_sdk/models.py +14 -33
- glaip_sdk/payload_schemas/agent.py +1 -3
- glaip_sdk/utils/agent_config.py +4 -14
- glaip_sdk/utils/client_utils.py +7 -21
- glaip_sdk/utils/display.py +2 -6
- glaip_sdk/utils/general.py +1 -3
- glaip_sdk/utils/import_export.py +3 -9
- glaip_sdk/utils/rendering/formatting.py +52 -12
- glaip_sdk/utils/rendering/models.py +17 -8
- glaip_sdk/utils/rendering/renderer/__init__.py +1 -5
- glaip_sdk/utils/rendering/renderer/base.py +1181 -328
- glaip_sdk/utils/rendering/renderer/config.py +4 -10
- glaip_sdk/utils/rendering/renderer/debug.py +4 -14
- glaip_sdk/utils/rendering/renderer/panels.py +1 -3
- glaip_sdk/utils/rendering/renderer/progress.py +3 -11
- glaip_sdk/utils/rendering/renderer/stream.py +9 -42
- glaip_sdk/utils/rendering/renderer/summary_window.py +79 -0
- glaip_sdk/utils/rendering/renderer/toggle.py +182 -0
- glaip_sdk/utils/rendering/step_tree_state.py +100 -0
- glaip_sdk/utils/rendering/steps.py +899 -25
- glaip_sdk/utils/resource_refs.py +4 -13
- glaip_sdk/utils/serialization.py +14 -46
- glaip_sdk/utils/validation.py +4 -4
- {glaip_sdk-0.0.20.dist-info → glaip_sdk-0.1.3.dist-info}/METADATA +12 -1
- glaip_sdk-0.1.3.dist-info/RECORD +83 -0
- glaip_sdk-0.0.20.dist-info/RECORD +0 -80
- {glaip_sdk-0.0.20.dist-info → glaip_sdk-0.1.3.dist-info}/WHEEL +0 -0
- {glaip_sdk-0.0.20.dist-info → glaip_sdk-0.1.3.dist-info}/entry_points.txt +0 -0
glaip_sdk/utils/resource_refs.py
CHANGED
|
@@ -95,9 +95,7 @@ def extract_names(items: list[str | Any] | None) -> list[str]:
|
|
|
95
95
|
return names
|
|
96
96
|
|
|
97
97
|
|
|
98
|
-
def find_by_name(
|
|
99
|
-
items: list[Any], name: str, case_sensitive: bool = False
|
|
100
|
-
) -> list[Any]:
|
|
98
|
+
def find_by_name(items: list[Any], name: str, case_sensitive: bool = False) -> list[Any]:
|
|
101
99
|
"""Filter items by name with optional case sensitivity.
|
|
102
100
|
|
|
103
101
|
This is a common pattern used across different clients for client-side
|
|
@@ -165,16 +163,12 @@ def validate_name_format(name: str, resource_type: str = "resource") -> str:
|
|
|
165
163
|
|
|
166
164
|
# Check for valid characters (alphanumeric, hyphens, underscores)
|
|
167
165
|
if not re.match(r"^[a-zA-Z0-9_-]+$", cleaned_name):
|
|
168
|
-
raise ValueError(
|
|
169
|
-
f"{display_type} name can only contain letters, numbers, hyphens, and underscores"
|
|
170
|
-
)
|
|
166
|
+
raise ValueError(f"{display_type} name can only contain letters, numbers, hyphens, and underscores")
|
|
171
167
|
|
|
172
168
|
return cleaned_name
|
|
173
169
|
|
|
174
170
|
|
|
175
|
-
def validate_name_uniqueness(
|
|
176
|
-
name: str, existing_names: list[str], resource_type: str = "resource"
|
|
177
|
-
) -> None:
|
|
171
|
+
def validate_name_uniqueness(name: str, existing_names: list[str], resource_type: str = "resource") -> None:
|
|
178
172
|
"""Validate that a resource name is unique.
|
|
179
173
|
|
|
180
174
|
Args:
|
|
@@ -186,7 +180,4 @@ def validate_name_uniqueness(
|
|
|
186
180
|
ValueError: If name is not unique
|
|
187
181
|
"""
|
|
188
182
|
if name.lower() in [existing.lower() for existing in existing_names]:
|
|
189
|
-
raise ValueError(
|
|
190
|
-
f"A {resource_type.lower()} named '{name}' already exists. "
|
|
191
|
-
"Please choose a unique name."
|
|
192
|
-
)
|
|
183
|
+
raise ValueError(f"A {resource_type.lower()} named '{name}' already exists. Please choose a unique name.")
|
glaip_sdk/utils/serialization.py
CHANGED
|
@@ -67,20 +67,12 @@ def read_yaml(file_path: Path) -> dict[str, Any]:
|
|
|
67
67
|
data = yaml.safe_load(f)
|
|
68
68
|
|
|
69
69
|
# Handle instruction_lines array format for user-friendly YAML
|
|
70
|
-
if (
|
|
71
|
-
isinstance(data, dict)
|
|
72
|
-
and "instruction_lines" in data
|
|
73
|
-
and isinstance(data["instruction_lines"], list)
|
|
74
|
-
):
|
|
70
|
+
if isinstance(data, dict) and "instruction_lines" in data and isinstance(data["instruction_lines"], list):
|
|
75
71
|
data["instruction"] = "\n\n".join(data["instruction_lines"])
|
|
76
72
|
del data["instruction_lines"]
|
|
77
73
|
|
|
78
74
|
# Handle instruction as list from YAML export (convert back to string)
|
|
79
|
-
if (
|
|
80
|
-
isinstance(data, dict)
|
|
81
|
-
and "instruction" in data
|
|
82
|
-
and isinstance(data["instruction"], list)
|
|
83
|
-
):
|
|
75
|
+
if isinstance(data, dict) and "instruction" in data and isinstance(data["instruction"], list):
|
|
84
76
|
data["instruction"] = "\n\n".join(data["instruction"])
|
|
85
77
|
|
|
86
78
|
return data
|
|
@@ -98,9 +90,7 @@ def write_yaml(file_path: Path, data: dict[str, Any]) -> None:
|
|
|
98
90
|
class LiteralString(str):
|
|
99
91
|
pass
|
|
100
92
|
|
|
101
|
-
def literal_string_representer(
|
|
102
|
-
dumper: yaml.Dumper, data: "LiteralString"
|
|
103
|
-
) -> yaml.nodes.Node:
|
|
93
|
+
def literal_string_representer(dumper: yaml.Dumper, data: "LiteralString") -> yaml.nodes.Node:
|
|
104
94
|
# Use literal block scalar (|) for multiline strings to preserve formatting
|
|
105
95
|
if "\n" in data:
|
|
106
96
|
return dumper.represent_scalar("tag:yaml.org,2002:str", data, style="|")
|
|
@@ -115,9 +105,7 @@ def write_yaml(file_path: Path, data: dict[str, Any]) -> None:
|
|
|
115
105
|
data["instruction"] = LiteralString(data["instruction"])
|
|
116
106
|
|
|
117
107
|
with open(file_path, "w", encoding="utf-8") as f:
|
|
118
|
-
yaml.dump(
|
|
119
|
-
data, f, default_flow_style=False, allow_unicode=True, sort_keys=False
|
|
120
|
-
)
|
|
108
|
+
yaml.dump(data, f, default_flow_style=False, allow_unicode=True, sort_keys=False)
|
|
121
109
|
|
|
122
110
|
|
|
123
111
|
def load_resource_from_file(file_path: Path) -> dict[str, Any]:
|
|
@@ -137,15 +125,10 @@ def load_resource_from_file(file_path: Path) -> dict[str, Any]:
|
|
|
137
125
|
elif file_path.suffix.lower() == ".json":
|
|
138
126
|
return read_json(file_path)
|
|
139
127
|
else:
|
|
140
|
-
raise ValueError(
|
|
141
|
-
f"Unsupported file format: {file_path.suffix}. "
|
|
142
|
-
f"Only JSON and YAML files are supported."
|
|
143
|
-
)
|
|
128
|
+
raise ValueError(f"Unsupported file format: {file_path.suffix}. Only JSON and YAML files are supported.")
|
|
144
129
|
|
|
145
130
|
|
|
146
|
-
def write_resource_export(
|
|
147
|
-
file_path: Path, data: dict[str, Any], format: str = "json"
|
|
148
|
-
) -> None:
|
|
131
|
+
def write_resource_export(file_path: Path, data: dict[str, Any], format: str = "json") -> None:
|
|
149
132
|
"""Write resource export data to file.
|
|
150
133
|
|
|
151
134
|
Args:
|
|
@@ -190,13 +173,8 @@ def collect_attributes_for_export(resource: Any) -> dict[str, Any]:
|
|
|
190
173
|
data.
|
|
191
174
|
"""
|
|
192
175
|
mapping = _coerce_resource_to_mapping(resource)
|
|
193
|
-
if
|
|
194
|
-
|
|
195
|
-
): # pragma: no cover - defensive fallback when attribute introspection fails
|
|
196
|
-
items = (
|
|
197
|
-
(name, _safe_getattr(resource, name))
|
|
198
|
-
for name in _iter_public_attribute_names(resource)
|
|
199
|
-
)
|
|
176
|
+
if mapping is None: # pragma: no cover - defensive fallback when attribute introspection fails
|
|
177
|
+
items = ((name, _safe_getattr(resource, name)) for name in _iter_public_attribute_names(resource))
|
|
200
178
|
else:
|
|
201
179
|
items = mapping.items()
|
|
202
180
|
|
|
@@ -249,9 +227,7 @@ def _coerce_resource_to_mapping(resource: Any) -> dict[str, Any] | None:
|
|
|
249
227
|
try:
|
|
250
228
|
if hasattr(resource, "__dict__"):
|
|
251
229
|
return dict(resource.__dict__)
|
|
252
|
-
except
|
|
253
|
-
Exception
|
|
254
|
-
): # pragma: no cover - pathological objects can still defeat coercion
|
|
230
|
+
except Exception: # pragma: no cover - pathological objects can still defeat coercion
|
|
255
231
|
return None
|
|
256
232
|
|
|
257
233
|
return None
|
|
@@ -284,9 +260,7 @@ def _iter_public_attribute_names(resource: Any) -> Iterable[str]:
|
|
|
284
260
|
return iter(names)
|
|
285
261
|
|
|
286
262
|
|
|
287
|
-
def _collect_from_dict(
|
|
288
|
-
resource: Any, collect_func: Callable[[Iterable[str]], None]
|
|
289
|
-
) -> None:
|
|
263
|
+
def _collect_from_dict(resource: Any, collect_func: Callable[[Iterable[str]], None]) -> None:
|
|
290
264
|
"""Safely collect attribute names from __dict__."""
|
|
291
265
|
try:
|
|
292
266
|
if hasattr(resource, "__dict__"):
|
|
@@ -297,18 +271,14 @@ def _collect_from_dict(
|
|
|
297
271
|
pass
|
|
298
272
|
|
|
299
273
|
|
|
300
|
-
def _collect_from_annotations(
|
|
301
|
-
resource: Any, collect_func: Callable[[Iterable[str]], None]
|
|
302
|
-
) -> None:
|
|
274
|
+
def _collect_from_annotations(resource: Any, collect_func: Callable[[Iterable[str]], None]) -> None:
|
|
303
275
|
"""Safely collect attribute names from __annotations__."""
|
|
304
276
|
annotations = getattr(resource, "__annotations__", {})
|
|
305
277
|
if annotations:
|
|
306
278
|
collect_func(annotations.keys())
|
|
307
279
|
|
|
308
280
|
|
|
309
|
-
def _collect_from_dir(
|
|
310
|
-
resource: Any, collect_func: Callable[[Iterable[str]], None]
|
|
311
|
-
) -> None:
|
|
281
|
+
def _collect_from_dir(resource: Any, collect_func: Callable[[Iterable[str]], None]) -> None:
|
|
312
282
|
"""Safely collect attribute names from dir()."""
|
|
313
283
|
try:
|
|
314
284
|
collect_func(name for name in dir(resource) if not name.startswith("__"))
|
|
@@ -387,9 +357,7 @@ def build_mcp_export_payload(
|
|
|
387
357
|
ImportError: If required modules (auth helpers) are not available
|
|
388
358
|
"""
|
|
389
359
|
auth_module = importlib.import_module("glaip_sdk.cli.auth")
|
|
390
|
-
prepare_authentication_export =
|
|
391
|
-
auth_module, "prepare_authentication_export"
|
|
392
|
-
)
|
|
360
|
+
prepare_authentication_export = auth_module.prepare_authentication_export
|
|
393
361
|
|
|
394
362
|
# Start with model dump (excludes None values automatically)
|
|
395
363
|
payload = mcp.model_dump(exclude_none=True)
|
|
@@ -435,4 +403,4 @@ def validate_json_string(json_str: str) -> dict[str, Any]:
|
|
|
435
403
|
try:
|
|
436
404
|
return json.loads(json_str)
|
|
437
405
|
except json.JSONDecodeError as e:
|
|
438
|
-
raise ValueError(f"Invalid JSON: {e}")
|
|
406
|
+
raise ValueError(f"Invalid JSON: {e}") from e
|
glaip_sdk/utils/validation.py
CHANGED
|
@@ -155,13 +155,13 @@ def coerce_timeout(value: Any) -> int:
|
|
|
155
155
|
try:
|
|
156
156
|
fval = float(value)
|
|
157
157
|
return validate_timeout(int(fval))
|
|
158
|
-
except ValueError:
|
|
159
|
-
raise ValueError(f"Invalid timeout value: {value}")
|
|
158
|
+
except ValueError as err:
|
|
159
|
+
raise ValueError(f"Invalid timeout value: {value}") from err
|
|
160
160
|
else:
|
|
161
161
|
try:
|
|
162
162
|
return validate_timeout(int(value))
|
|
163
|
-
except (TypeError, ValueError):
|
|
164
|
-
raise ValueError(f"Invalid timeout value: {value}")
|
|
163
|
+
except (TypeError, ValueError) as err:
|
|
164
|
+
raise ValueError(f"Invalid timeout value: {value}") from err
|
|
165
165
|
|
|
166
166
|
|
|
167
167
|
def validate_file_path(file_path: str | Path, must_exist: bool = True) -> Path:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: glaip-sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Python SDK for GL AIP (GDP Labs AI Agent Package) - Simplified CLI Design
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Raymond Christopher
|
|
@@ -170,6 +170,17 @@ aip agents run <AGENT_ID> --input "Hello world, what's the weather like?"
|
|
|
170
170
|
- **🔄 Multi-Agent Patterns**: Hierarchical, parallel, sequential, router, and aggregator patterns
|
|
171
171
|
- **💻 Modern CLI**: Rich terminal interface with fuzzy search and multiple output formats
|
|
172
172
|
|
|
173
|
+
## 🌳 Live Steps Panel
|
|
174
|
+
|
|
175
|
+
The CLI steps panel now streams a fully hierarchical tree so you can audit complex agent runs without leaving the terminal.
|
|
176
|
+
|
|
177
|
+
- Renders parent/child relationships with `│├└` connectors, even when events arrive out of order
|
|
178
|
+
- Marks running steps with spinners and duration badges sourced from SSE metadata before local fallbacks
|
|
179
|
+
- Highlights failures inline (`✗ reason`) and raises warning glyphs on affected delegate branches
|
|
180
|
+
- Derives deterministic “💭 Thinking…” spans before/after each delegate or tool action to show scheduling gaps
|
|
181
|
+
- Flags parallel work with a dedicated glyph and argument-derived labels so simultaneous tool calls stay readable
|
|
182
|
+
- Try it locally: `poetry run python scripts/replay_steps_log.py --transcript tests/fixtures/rendering/transcripts/parallel_research.jsonl --output /tmp/parallel.log`
|
|
183
|
+
|
|
173
184
|
## 📚 Documentation
|
|
174
185
|
|
|
175
186
|
📖 **[Complete Documentation](https://gdplabs.gitbook.io/gl-aip/gl-aip-sdk/overview)** - Visit our GitBook for comprehensive guides, tutorials, and API reference.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
glaip_sdk/__init__.py,sha256=-Itm_1dz4QwhIUmqagvCwwvSjKYKYJI3lZSHD2bwtko,366
|
|
2
|
+
glaip_sdk/_version.py,sha256=OtLSiyZ-H-_74HFCQrCxYc3u5AAX5S7AlUKhIa28dvY,1977
|
|
3
|
+
glaip_sdk/branding.py,sha256=K-q7OjRNNgKsd6Z_h_pfWN8BUiDjX9BVxT9ePJ3AZfw,7318
|
|
4
|
+
glaip_sdk/cli/__init__.py,sha256=xCCfuF1Yc7mpCDcfhHZTX0vizvtrDSLeT8MJ3V7m5A0,156
|
|
5
|
+
glaip_sdk/cli/agent_config.py,sha256=YAbFKrTNTRqNA6b0i0Q3pH-01rhHDRi5v8dxSFwGSwM,2401
|
|
6
|
+
glaip_sdk/cli/auth.py,sha256=oZLgZTqVgx_o2ppcp1ueFwuu88acOUPUr9ed1WDe_HY,15860
|
|
7
|
+
glaip_sdk/cli/commands/__init__.py,sha256=N2go38u3C0MPxfDXk-K2zz93OnqSTpQyOE6dIC82lHg,191
|
|
8
|
+
glaip_sdk/cli/commands/agents.py,sha256=t80p_olOL4htn8VZJSBizj5ajeKomVaeN72iP1fk72I,43897
|
|
9
|
+
glaip_sdk/cli/commands/configure.py,sha256=7dmMSs-rMRETtpWgUDEGeNedSJl04yrp6VCRiLEpBUI,9074
|
|
10
|
+
glaip_sdk/cli/commands/mcps.py,sha256=oYzL52gUImi5x5mx8grbWkTwUTpAp7VoYGalOzEyLqU,37465
|
|
11
|
+
glaip_sdk/cli/commands/models.py,sha256=CQrjIwVeZED6AQXJ321UVB8IvmGrEjOIWrtlgDBu6HI,1775
|
|
12
|
+
glaip_sdk/cli/commands/tools.py,sha256=5y0ec1K1sNvLv0MwvEY0ggb5xiU2k2O2FsWL6k9NDxI,19102
|
|
13
|
+
glaip_sdk/cli/commands/update.py,sha256=rIZo_x-tvpvcwpQLpwYwso1ix6qTHuNNTL4egmn5fEM,1812
|
|
14
|
+
glaip_sdk/cli/config.py,sha256=sZLG0wPlLegl71g_J4PZxWb46wCZJgtEQQ5ppsr45CU,1297
|
|
15
|
+
glaip_sdk/cli/context.py,sha256=M4weRf8dmp5bMtPLRF3w1StnRB7Lo8FPFq2GQMv3Rv8,3617
|
|
16
|
+
glaip_sdk/cli/display.py,sha256=AIB81s85ejMg-nM-CIAQ5s3pmVDo6oNykUW680rluJw,11385
|
|
17
|
+
glaip_sdk/cli/io.py,sha256=_7qHA3K4VfzNXP7NYHShby_Bw9xigJ26oIaESXYDAQ8,3678
|
|
18
|
+
glaip_sdk/cli/main.py,sha256=ESxVe_m5NDXPUc9XMHhgneH4MtBVOZpxdwPyYDtNz64,17110
|
|
19
|
+
glaip_sdk/cli/masking.py,sha256=BOZjwUqxQf3LQlYgUMwq7UYgve8x4_1Qk04ixiJJPZ8,4399
|
|
20
|
+
glaip_sdk/cli/mcp_validators.py,sha256=cwbz7p_p7_9xVuuF96OBQOdmEgo5UObU6iWWQ2X03PI,10047
|
|
21
|
+
glaip_sdk/cli/pager.py,sha256=Cp1t47ViCUW3T3IkHdRBF2yNOrVLrnIBIemTxBso17Q,8049
|
|
22
|
+
glaip_sdk/cli/parsers/__init__.py,sha256=Ycd4HDfYmA7GUGFt0ndBPBo5uTbv15XsXnYUj-a89ug,183
|
|
23
|
+
glaip_sdk/cli/parsers/json_input.py,sha256=kxoxeIlgfsaH2jhe6apZAgSxAtwlpSINLTMRsZZYboQ,5630
|
|
24
|
+
glaip_sdk/cli/resolution.py,sha256=K-VaEHm9SYY_qfb9538VNHykL4_2N6F8iQqI1zMx_64,2402
|
|
25
|
+
glaip_sdk/cli/rich_helpers.py,sha256=kO47N8e506rxrN6Oc9mbAWN3Qb536oQPWZy1s9A616g,819
|
|
26
|
+
glaip_sdk/cli/slash/__init__.py,sha256=3kAXgOAnXmWkDheNtRuWqCooyIDaNYZMLTrbdhMGz9w,738
|
|
27
|
+
glaip_sdk/cli/slash/agent_session.py,sha256=LbG7MLAptr_JB5YnU6CtDCKUtpmxRzJS0mcQwaZX-5o,9427
|
|
28
|
+
glaip_sdk/cli/slash/prompt.py,sha256=4rCGSu56EEj24J42vHWAuJNwiUE5Cb6AK3gOhpms38k,7627
|
|
29
|
+
glaip_sdk/cli/slash/session.py,sha256=A8xO4gKZENmEwVGp6BN8791kuo2cjEJlaLlhsITc5vI,41191
|
|
30
|
+
glaip_sdk/cli/transcript/__init__.py,sha256=zQNgAETJsj2tO3OmuINgXiCQCmh_ODzI6HQPPmxMXVs,1816
|
|
31
|
+
glaip_sdk/cli/transcript/cache.py,sha256=1jZdrLo9CebXuKnD1tIiMJy2-6D-zjf0WmJcBJ5gOvE,9760
|
|
32
|
+
glaip_sdk/cli/transcript/capture.py,sha256=1Oguv9syhp7n4eb42-gw90X19RqEe4phnrq9T1oj8Pw,9397
|
|
33
|
+
glaip_sdk/cli/transcript/export.py,sha256=reCvrZVzli8_LzYe5ZNdaa-MwZ1ov2RjnDzKZWr_6-E,1117
|
|
34
|
+
glaip_sdk/cli/transcript/launcher.py,sha256=z5ivkPXDQJpATIqtRLUK8jH3p3WIZ72PvOPqYRDMJvw,2327
|
|
35
|
+
glaip_sdk/cli/transcript/viewer.py,sha256=dsEPki92XuVICneXZSfVq73rED_ryjxpu4_mY40qgwM,28030
|
|
36
|
+
glaip_sdk/cli/update_notifier.py,sha256=4h3F7q2DoMGyJSp8tu5NJHt8yeCVBOL-3A0ZyHyvRpw,9532
|
|
37
|
+
glaip_sdk/cli/utils.py,sha256=HxZfkauGNl0YfQe43zOHEi1pR9mis_2jVCcCjLchIHA,40589
|
|
38
|
+
glaip_sdk/cli/validators.py,sha256=Squ2W-fMz9kfvhtTt7pCcAYnzFU28ZxxTEqH1vF9r00,5620
|
|
39
|
+
glaip_sdk/client/__init__.py,sha256=nYLXfBVTTWwKjP0e63iumPYO4k5FifwWaELQPaPIKIg,188
|
|
40
|
+
glaip_sdk/client/_agent_payloads.py,sha256=QjaSqXZvDNX0bQVKC7Eb5nHj7KxhU0zLSfNUQiKf2J8,16269
|
|
41
|
+
glaip_sdk/client/agents.py,sha256=hRkt-D2ZRkeWamPqKsqKwl74ZjScKL4UHLbbVezGCWc,37597
|
|
42
|
+
glaip_sdk/client/base.py,sha256=ikW33raz2M6rXzo3JmhttfXXuVdMv5zBRKEZkU1F-4I,18176
|
|
43
|
+
glaip_sdk/client/main.py,sha256=tELAA36rzthnNKTgwZ6lLPb3Au8Wh1mF8Kz-9N-YtCg,8652
|
|
44
|
+
glaip_sdk/client/mcps.py,sha256=GQ1EBTSVc-WrFigyw8iocK34DT3TMW85XtnDeOawP9E,8945
|
|
45
|
+
glaip_sdk/client/run_rendering.py,sha256=gtXdOow1U-eol17l3kOf_EjaBwcuqHoKlgiQfuyI10w,12156
|
|
46
|
+
glaip_sdk/client/tools.py,sha256=xCPqDqtVNePCBeJvbKDqzZI-jbaduIeWd-6XbCSg_2Y,17324
|
|
47
|
+
glaip_sdk/client/validators.py,sha256=ioF9VCs-LG2yLkaRDd7Hff74lojDZZ0_Q3CiLbdm1RY,8381
|
|
48
|
+
glaip_sdk/config/constants.py,sha256=B9CSlYG8LYjQuo_vNpqy-eSks3ej37FMcvJMy6d_F4U,888
|
|
49
|
+
glaip_sdk/exceptions.py,sha256=iAChFClkytXRBLP0vZq1_YjoZxA9i4m4bW1gDLiGR1g,2321
|
|
50
|
+
glaip_sdk/icons.py,sha256=J5THz0ReAmDwIiIooh1_G3Le-mwTJyEjhJDdJ13KRxM,524
|
|
51
|
+
glaip_sdk/models.py,sha256=3ghS29EjcE6A9iHEiSxbPco5bCHqnVGpVbE2kGliz_o,8751
|
|
52
|
+
glaip_sdk/payload_schemas/__init__.py,sha256=fJamlkpS3IfS9xyKAQaUbnalvrtG5Ied69OUVAA3xvs,395
|
|
53
|
+
glaip_sdk/payload_schemas/agent.py,sha256=Nap68mI2Ba8eNGOhk79mGrYUoYUahcUJLof3DLWtVO4,3198
|
|
54
|
+
glaip_sdk/rich_components.py,sha256=rU3CD55WZlwjY81usctfX-S0bmsQ2Yd4nWEXhueGv7U,2090
|
|
55
|
+
glaip_sdk/utils/__init__.py,sha256=HLL4AX31lWo9gJn1dL1S-IPs2q4yPxqeHVCLJfSYyx4,892
|
|
56
|
+
glaip_sdk/utils/agent_config.py,sha256=RhcHsSOVwOaSC2ggnPuHn36Aa0keGJhs8KGb2InvzRk,7262
|
|
57
|
+
glaip_sdk/utils/client_utils.py,sha256=UdyEtFlpZ3TNFrvx2NsjPNzx8sm5Lkz3S13-9OrFjnE,13894
|
|
58
|
+
glaip_sdk/utils/display.py,sha256=_lQ9fHLJnsSgY7nJkYlGLBk47bwNjbqMTr3_GvOyRyM,3983
|
|
59
|
+
glaip_sdk/utils/general.py,sha256=RKRNWrwaxqj0F8Akg3it5lzsgfuCxjbfcl0c4donmAk,2264
|
|
60
|
+
glaip_sdk/utils/import_export.py,sha256=qeAlTycM2Tv4bV4_dI_X_0cNswCVNtxDMmnKxl9Y1-M,5192
|
|
61
|
+
glaip_sdk/utils/rendering/__init__.py,sha256=vXjwk5rPhhfPyD8S0DnV4GFFEtPJp4HCCg1Um9SXfs0,70
|
|
62
|
+
glaip_sdk/utils/rendering/formatting.py,sha256=PBT1jD6pxpkiUSs5RQOVWImmKgAwbWuQCUpgu0PNs3Q,8828
|
|
63
|
+
glaip_sdk/utils/rendering/models.py,sha256=wB9QtEiwN-AaY8k_YKBBT2qMQSBNMv27VcaZH88DdCM,2823
|
|
64
|
+
glaip_sdk/utils/rendering/renderer/__init__.py,sha256=gQEbZhZl9qXEVKDDTy0ijd-RnHWdqcazcJyOmORDwEk,2843
|
|
65
|
+
glaip_sdk/utils/rendering/renderer/base.py,sha256=Obm5J9UopxgPfYZSfXwU6AqhGDGNyFqsmiMVKGzgUZg,85660
|
|
66
|
+
glaip_sdk/utils/rendering/renderer/config.py,sha256=FgSAZpG1g7Atm2MXg0tY0lOEciY90MR-RO6YuGFhp0E,626
|
|
67
|
+
glaip_sdk/utils/rendering/renderer/console.py,sha256=4cLOw4Q1fkHkApuj6dWW8eYpeYdcT0t2SO5MbVt5UTc,1844
|
|
68
|
+
glaip_sdk/utils/rendering/renderer/debug.py,sha256=_qPP03RicGhCCCAEEJ2zoSEJaUT2ZvgL4xOF5ikg9Uw,5569
|
|
69
|
+
glaip_sdk/utils/rendering/renderer/panels.py,sha256=tbExgFXzK6NHlvuJlVwsejznGJY1ALwTi9KfIej9aWM,3784
|
|
70
|
+
glaip_sdk/utils/rendering/renderer/progress.py,sha256=iwAx76q0hdnjDrHMF_MB2AYQ2kAA4pwfIn0FiSAEkyg,4068
|
|
71
|
+
glaip_sdk/utils/rendering/renderer/stream.py,sha256=Y0egKCdWSdM5kGiiDG5Bwc1VQuimI-NUlal2kDojb08,7862
|
|
72
|
+
glaip_sdk/utils/rendering/renderer/summary_window.py,sha256=ffBsVHaUyy2RfIuXLjhfiO31HeeprVcPP_pe4cjDLsU,2286
|
|
73
|
+
glaip_sdk/utils/rendering/renderer/toggle.py,sha256=N3LB4g1r8EdDkQyItQdrP5gig6Sszz9uZ6WJuD0KUmk,5396
|
|
74
|
+
glaip_sdk/utils/rendering/step_tree_state.py,sha256=EItKFTV2FYvm5pSyHbXk7lkzJ-0DW_s-VENIBZe8sp4,4062
|
|
75
|
+
glaip_sdk/utils/rendering/steps.py,sha256=J9qEZLnGqxeEWrlsDczvAJS1pbCN19sjD5_OZbMoinA,42275
|
|
76
|
+
glaip_sdk/utils/resource_refs.py,sha256=OpwJxTCKq3RIqLAmKE0xspJplD4IhKqLCo0OqPafmAk,5418
|
|
77
|
+
glaip_sdk/utils/run_renderer.py,sha256=d_VMI6LbvHPUUeRmGqh5wK_lHqDEIAcym2iqpbtDad0,1365
|
|
78
|
+
glaip_sdk/utils/serialization.py,sha256=cvlPQ73y4jhsbJeQ6Bv7vaq0NV8uZ27p2vD_R-nyiRQ,12646
|
|
79
|
+
glaip_sdk/utils/validation.py,sha256=NPDexNgGUIoLkEIz6hl3K6EG7ZKSEkcNLDElqm8-Ng4,7019
|
|
80
|
+
glaip_sdk-0.1.3.dist-info/METADATA,sha256=xmqRfmzC1WiNwUVJgpRyfcyC2cxjvd8IxXQcgWqAMkc,6023
|
|
81
|
+
glaip_sdk-0.1.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
82
|
+
glaip_sdk-0.1.3.dist-info/entry_points.txt,sha256=EGs8NO8J1fdFMWA3CsF7sKBEvtHb_fujdCoNPhfMouE,47
|
|
83
|
+
glaip_sdk-0.1.3.dist-info/RECORD,,
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
glaip_sdk/__init__.py,sha256=-Itm_1dz4QwhIUmqagvCwwvSjKYKYJI3lZSHD2bwtko,366
|
|
2
|
-
glaip_sdk/_version.py,sha256=J-UdD2Nya3c8WAXCrTRY-2bWpKGvTYY_JIaubZ4OoEw,1999
|
|
3
|
-
glaip_sdk/branding.py,sha256=BvLcD-z1D8CnYhNSGs0B1LeIrXgG1bHJ-fr4AInNhwE,7356
|
|
4
|
-
glaip_sdk/cli/__init__.py,sha256=xCCfuF1Yc7mpCDcfhHZTX0vizvtrDSLeT8MJ3V7m5A0,156
|
|
5
|
-
glaip_sdk/cli/agent_config.py,sha256=VHjebw68wAdhGUzYdPH8qz10oADZPRgUQcPW6F7iHIU,2421
|
|
6
|
-
glaip_sdk/cli/auth.py,sha256=eMqMXss3v36yyimSgm4PN8uG85UvIFn1U_XOXUvcZmI,16026
|
|
7
|
-
glaip_sdk/cli/commands/__init__.py,sha256=N2go38u3C0MPxfDXk-K2zz93OnqSTpQyOE6dIC82lHg,191
|
|
8
|
-
glaip_sdk/cli/commands/agents.py,sha256=3v9oHuPaIXFGRuoJ5jt-_hL_U8BDg4vBO2C87s7qLK8,43770
|
|
9
|
-
glaip_sdk/cli/commands/configure.py,sha256=xpryuPXzuwfCKyolxRqh-WpzxIv7sBVp7ZUjlnNrkcQ,9338
|
|
10
|
-
glaip_sdk/cli/commands/mcps.py,sha256=miZgPIyqHEgFDGcvEVr53MHODABO4UuLJyqyNytz_1g,37855
|
|
11
|
-
glaip_sdk/cli/commands/models.py,sha256=EUC-_3QPAjtqId4WobWbQZVPjgQ9Eo_srcGIRlhhPq8,1790
|
|
12
|
-
glaip_sdk/cli/commands/tools.py,sha256=rWWgzyfLp_WOMYxU1XluombLkRzWQH8WrohlWc75piU,19212
|
|
13
|
-
glaip_sdk/cli/commands/update.py,sha256=nV0C08bHDYn5byFP_N8rzdKbDc5_tDKXC19L_HftJX8,1869
|
|
14
|
-
glaip_sdk/cli/config.py,sha256=vCanx4Pv_juPX4W9O-SL658-Bq49MqyCsawPtKscpJU,1313
|
|
15
|
-
glaip_sdk/cli/context.py,sha256=M4weRf8dmp5bMtPLRF3w1StnRB7Lo8FPFq2GQMv3Rv8,3617
|
|
16
|
-
glaip_sdk/cli/display.py,sha256=0iysRFznPpkShRHp6MEc0Obao14D9k_Tx1lKoraF5f4,11273
|
|
17
|
-
glaip_sdk/cli/io.py,sha256=V8tIo0rc6t0CHGPM3cwhmlZAvzh4UPnlemUsrSFFtg8,3675
|
|
18
|
-
glaip_sdk/cli/main.py,sha256=O1q9h0LRAVxW8cwsAEXEGy6NDCchVZQHe3OXGNAGS8M,17305
|
|
19
|
-
glaip_sdk/cli/masking.py,sha256=BOZjwUqxQf3LQlYgUMwq7UYgve8x4_1Qk04ixiJJPZ8,4399
|
|
20
|
-
glaip_sdk/cli/mcp_validators.py,sha256=SeDbgXkRuBXyDtCmUMpL-1Vh7fmGldz-shAaHhOqbCc,10125
|
|
21
|
-
glaip_sdk/cli/pager.py,sha256=HZpdmgKjj367k0aZXXO9hyo38qyvWl0fUCD_VSeqJfs,8083
|
|
22
|
-
glaip_sdk/cli/parsers/__init__.py,sha256=Ycd4HDfYmA7GUGFt0ndBPBo5uTbv15XsXnYUj-a89ug,183
|
|
23
|
-
glaip_sdk/cli/parsers/json_input.py,sha256=ZBhJNUR4bKDX3A5s9lRvuCicaztvQyP0lWuiNYMIO08,5721
|
|
24
|
-
glaip_sdk/cli/resolution.py,sha256=cRkz5u8TNzjD4ybOywtisUXPKV0V-jXqKB68nRUF3O4,2465
|
|
25
|
-
glaip_sdk/cli/rich_helpers.py,sha256=ByUOmK16IisoXWE7nEiI55BF1KWDrm6KCYAxqHu0XOU,825
|
|
26
|
-
glaip_sdk/cli/slash/__init__.py,sha256=3kAXgOAnXmWkDheNtRuWqCooyIDaNYZMLTrbdhMGz9w,738
|
|
27
|
-
glaip_sdk/cli/slash/agent_session.py,sha256=Q1WUOthWMc6PglFwN_LCg60Yi51nvzPdjVdeumo_I8Y,9491
|
|
28
|
-
glaip_sdk/cli/slash/prompt.py,sha256=JBwRvIJgK0MR2Wx0wt7XAqAKpVL2Etp28ifwtklIM9M,7669
|
|
29
|
-
glaip_sdk/cli/slash/session.py,sha256=OE7WNJzN-jJIlIa_ljyJ6XwdEWIzaoCun0RAJFOhW2s,41577
|
|
30
|
-
glaip_sdk/cli/transcript/__init__.py,sha256=zQNgAETJsj2tO3OmuINgXiCQCmh_ODzI6HQPPmxMXVs,1816
|
|
31
|
-
glaip_sdk/cli/transcript/cache.py,sha256=_YGv2M-tZASljGrzbJCgiV59KmIf0w-r6Qq0bqtkZqc,9860
|
|
32
|
-
glaip_sdk/cli/transcript/capture.py,sha256=EtSac3BBYGvcZTyCe9orPvKOZKZ8ooGBOlpKlmxAg_o,8325
|
|
33
|
-
glaip_sdk/cli/transcript/export.py,sha256=reCvrZVzli8_LzYe5ZNdaa-MwZ1ov2RjnDzKZWr_6-E,1117
|
|
34
|
-
glaip_sdk/cli/transcript/launcher.py,sha256=OBaTBcNywy8NbwfdYD4IIOlksXbLT_K3poGJDP6bNyE,2333
|
|
35
|
-
glaip_sdk/cli/transcript/viewer.py,sha256=9fpxCpHdFUtj6ct5GjDCIg1b5LDogS9QI6_rnKzjpoM,21405
|
|
36
|
-
glaip_sdk/cli/update_notifier.py,sha256=Zy4VJVGI4rfYFnMQ3J2IwXLKhDZ95ODSTXgfg7gdrxU,4175
|
|
37
|
-
glaip_sdk/cli/utils.py,sha256=SoJlnmu3xgGoGGmY9pTDp6Eei31qSzgpSTDJh1WZ-nY,41050
|
|
38
|
-
glaip_sdk/cli/validators.py,sha256=USbBgY86AwuDHO-Q_g8g7hu-ot4NgITBsWjTWIl62ms,5569
|
|
39
|
-
glaip_sdk/client/__init__.py,sha256=nYLXfBVTTWwKjP0e63iumPYO4k5FifwWaELQPaPIKIg,188
|
|
40
|
-
glaip_sdk/client/_agent_payloads.py,sha256=sYlMzrfAdd8KC37qxokLy2uDd3aOhzQirnv7UYlvwYc,16385
|
|
41
|
-
glaip_sdk/client/agents.py,sha256=nGXYIAkz3jDL2glNyoROGjiAUpLwXdeqYrnc4Qxl8o0,37628
|
|
42
|
-
glaip_sdk/client/base.py,sha256=OPRlAWhZ77rUK0MRGA83-zW5NVhxJ1RgdfcfGOYr8rI,16267
|
|
43
|
-
glaip_sdk/client/main.py,sha256=tELAA36rzthnNKTgwZ6lLPb3Au8Wh1mF8Kz-9N-YtCg,8652
|
|
44
|
-
glaip_sdk/client/mcps.py,sha256=-O-I15qjbwfSA69mouHY6g5_qgPWC4rM98VJLpOkh1A,8975
|
|
45
|
-
glaip_sdk/client/run_rendering.py,sha256=WCAkVfj7FzZluBSSspWgSg37uj8tVljGjzaSy1l3Hs8,9184
|
|
46
|
-
glaip_sdk/client/tools.py,sha256=rWxfNO30sS468513IoE5PfEaqNq6HBwmcHVh4FzhvYQ,17532
|
|
47
|
-
glaip_sdk/client/validators.py,sha256=NtPsWjQLjj25LiUnmR-WuS8lL5p4MVRaYT9UVRmj9bo,8809
|
|
48
|
-
glaip_sdk/config/constants.py,sha256=B9CSlYG8LYjQuo_vNpqy-eSks3ej37FMcvJMy6d_F4U,888
|
|
49
|
-
glaip_sdk/exceptions.py,sha256=ILquxC4QGPFR9eY6RpeXzkQsblfsvZMGFqz38ZjeW3E,2345
|
|
50
|
-
glaip_sdk/icons.py,sha256=G45gnd9XA68JCi6S9e37CFxJD5sl6UeCy135JlRAU2k,358
|
|
51
|
-
glaip_sdk/models.py,sha256=uXWsC5VdXSxPci8GRYOofZrIdsFgradayrIzJyhc7u8,9188
|
|
52
|
-
glaip_sdk/payload_schemas/__init__.py,sha256=fJamlkpS3IfS9xyKAQaUbnalvrtG5Ied69OUVAA3xvs,395
|
|
53
|
-
glaip_sdk/payload_schemas/agent.py,sha256=nlizuv2w4SVzmMJSE90rE6Ll0Hfpcr5hvPsW_NtXCV0,3204
|
|
54
|
-
glaip_sdk/rich_components.py,sha256=rU3CD55WZlwjY81usctfX-S0bmsQ2Yd4nWEXhueGv7U,2090
|
|
55
|
-
glaip_sdk/utils/__init__.py,sha256=HLL4AX31lWo9gJn1dL1S-IPs2q4yPxqeHVCLJfSYyx4,892
|
|
56
|
-
glaip_sdk/utils/agent_config.py,sha256=p3uK5qC0M5uQv9uY7-U8ej11Vh81fwKAPSsYcRoNdlk,7342
|
|
57
|
-
glaip_sdk/utils/client_utils.py,sha256=OATfWztkcGlGNnrrLdM7C5eyCT7EoBD4xCLrl4rdo2w,13976
|
|
58
|
-
glaip_sdk/utils/display.py,sha256=afHuUUKs6eQrCMh16r88kNufbEtOH6WQLT9yatPP610,4027
|
|
59
|
-
glaip_sdk/utils/general.py,sha256=V5hJrIpYDvDsldU_nChHpuvV2AwhFLUI7Qvcaihq_8A,2270
|
|
60
|
-
glaip_sdk/utils/import_export.py,sha256=jEhl5U6hWWMR1wo5AXpV-_jN_56DcWcemOa2UaFHapk,5217
|
|
61
|
-
glaip_sdk/utils/rendering/__init__.py,sha256=vXjwk5rPhhfPyD8S0DnV4GFFEtPJp4HCCg1Um9SXfs0,70
|
|
62
|
-
glaip_sdk/utils/rendering/formatting.py,sha256=NY4aYkCyhn38kbbTHtxizNHxAYMRkaxqIrPeVzRgYhM,7785
|
|
63
|
-
glaip_sdk/utils/rendering/models.py,sha256=AM9JbToyA3zrAzXQYjh6oxjBkgZDfWEbs5MmNKODnOY,2259
|
|
64
|
-
glaip_sdk/utils/rendering/renderer/__init__.py,sha256=EXwVBmGkSYcype4ocAXo69Z1kXu0gpNXmhH5LW0_B7A,2939
|
|
65
|
-
glaip_sdk/utils/rendering/renderer/base.py,sha256=YgVb4vTzmrLKfvaM2TBHGS-xVDgO9JbnWDADHfZ4OAo,50650
|
|
66
|
-
glaip_sdk/utils/rendering/renderer/config.py,sha256=-P35z9JO_1ypJXAqxJ1ybHraH4i-I1LPopeW3Lh7ACE,785
|
|
67
|
-
glaip_sdk/utils/rendering/renderer/console.py,sha256=4cLOw4Q1fkHkApuj6dWW8eYpeYdcT0t2SO5MbVt5UTc,1844
|
|
68
|
-
glaip_sdk/utils/rendering/renderer/debug.py,sha256=uVaBs33mfXo44lWm4Fi5LXcrlfVmT1_Kp_IXf09RzfI,5651
|
|
69
|
-
glaip_sdk/utils/rendering/renderer/panels.py,sha256=Bv_dpUKiKlL6r0_aZ2okY7Ov7pp5-MxFjjftTWG71L4,3790
|
|
70
|
-
glaip_sdk/utils/rendering/renderer/progress.py,sha256=RnnAnw5rFd24Ij0U8Qm2oFHud8mmzDQ9Fwg3QFrRJNg,4128
|
|
71
|
-
glaip_sdk/utils/rendering/renderer/stream.py,sha256=1RP5TIV7tqg07X9gPN053XeabFGVT4jPplxaoPU0L38,8601
|
|
72
|
-
glaip_sdk/utils/rendering/steps.py,sha256=V7xFoJM_B-nWT1wMdcXGN5ytCrDTxEzKcX_YCWyJqkk,9051
|
|
73
|
-
glaip_sdk/utils/resource_refs.py,sha256=0YzblJNfRhz9xhpaKE9aE68XEV-6_ssr0fIkiMVOka0,5489
|
|
74
|
-
glaip_sdk/utils/run_renderer.py,sha256=d_VMI6LbvHPUUeRmGqh5wK_lHqDEIAcym2iqpbtDad0,1365
|
|
75
|
-
glaip_sdk/utils/serialization.py,sha256=3Bwxw2M0qR59Rx0GS0hrnWZz46Ht-gpda9dva07Pr_A,12893
|
|
76
|
-
glaip_sdk/utils/validation.py,sha256=6jv1fExRllOK6sIvU7YX3a-Sf0AlFHar4KYiTC0Pzs4,6987
|
|
77
|
-
glaip_sdk-0.0.20.dist-info/METADATA,sha256=57YytJ1dpdDIwZ6j8Yq481HEfGoY6P6J1OrMrERY20w,5164
|
|
78
|
-
glaip_sdk-0.0.20.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
79
|
-
glaip_sdk-0.0.20.dist-info/entry_points.txt,sha256=EGs8NO8J1fdFMWA3CsF7sKBEvtHb_fujdCoNPhfMouE,47
|
|
80
|
-
glaip_sdk-0.0.20.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|