glaip-sdk 0.6.2__py3-none-any.whl → 0.6.4__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/agents/base.py +54 -8
- glaip_sdk/cli/account_store.py +36 -18
- glaip_sdk/cli/auth.py +1 -1
- glaip_sdk/cli/commands/accounts.py +2 -2
- 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/slash/accounts_controller.py +308 -25
- glaip_sdk/cli/slash/accounts_shared.py +57 -1
- glaip_sdk/cli/slash/session.py +109 -24
- glaip_sdk/cli/slash/tui/accounts.tcss +33 -1
- glaip_sdk/cli/slash/tui/accounts_app.py +525 -32
- glaip_sdk/cli/slash/tui/remote_runs_app.py +3 -3
- glaip_sdk/cli/utils.py +241 -1732
- glaip_sdk/registry/mcp.py +8 -6
- glaip_sdk/utils/validation.py +3 -3
- {glaip_sdk-0.6.2.dist-info → glaip_sdk-0.6.4.dist-info}/METADATA +1 -1
- {glaip_sdk-0.6.2.dist-info → glaip_sdk-0.6.4.dist-info}/RECORD +22 -17
- {glaip_sdk-0.6.2.dist-info → glaip_sdk-0.6.4.dist-info}/WHEEL +0 -0
- {glaip_sdk-0.6.2.dist-info → glaip_sdk-0.6.4.dist-info}/entry_points.txt +0 -0
glaip_sdk/registry/mcp.py
CHANGED
|
@@ -143,11 +143,12 @@ class MCPRegistry(BaseRegistry["MCP"]):
|
|
|
143
143
|
logger.info("Looking up native MCP: %s", name)
|
|
144
144
|
|
|
145
145
|
results = client.find_mcps(name)
|
|
146
|
-
if
|
|
147
|
-
|
|
146
|
+
exact_matches = [mcp for mcp in results if getattr(mcp, "name", None) == name]
|
|
147
|
+
if len(exact_matches) == 1:
|
|
148
|
+
mcp = exact_matches[0]
|
|
148
149
|
self._cache[name] = mcp
|
|
149
150
|
return mcp
|
|
150
|
-
if len(
|
|
151
|
+
if len(exact_matches) > 1:
|
|
151
152
|
raise ValueError(f"Multiple MCPs found with name '{name}'")
|
|
152
153
|
raise ValueError(f"MCP not found on platform: {name}")
|
|
153
154
|
|
|
@@ -203,11 +204,12 @@ class MCPRegistry(BaseRegistry["MCP"]):
|
|
|
203
204
|
return mcp
|
|
204
205
|
else:
|
|
205
206
|
results = client.find_mcps(name)
|
|
206
|
-
if
|
|
207
|
-
|
|
207
|
+
exact_matches = [mcp for mcp in results if getattr(mcp, "name", None) == name]
|
|
208
|
+
if len(exact_matches) == 1:
|
|
209
|
+
mcp = exact_matches[0]
|
|
208
210
|
self._cache[name] = mcp
|
|
209
211
|
return mcp
|
|
210
|
-
if len(
|
|
212
|
+
if len(exact_matches) > 1:
|
|
211
213
|
raise ValueError(f"Multiple MCPs found with name '{name}'")
|
|
212
214
|
|
|
213
215
|
raise ValueError(f"MCP not found on platform: {name}")
|
glaip_sdk/utils/validation.py
CHANGED
|
@@ -205,7 +205,7 @@ def validate_directory_path(dir_path: str | Path, must_exist: bool = True) -> Pa
|
|
|
205
205
|
|
|
206
206
|
|
|
207
207
|
def validate_url(url: str) -> str:
|
|
208
|
-
"""Validate URL format.
|
|
208
|
+
"""Validate URL format (HTTPS only).
|
|
209
209
|
|
|
210
210
|
Args:
|
|
211
211
|
url: URL to validate
|
|
@@ -217,7 +217,7 @@ def validate_url(url: str) -> str:
|
|
|
217
217
|
ValueError: If URL is invalid
|
|
218
218
|
"""
|
|
219
219
|
url_pattern = re.compile(
|
|
220
|
-
r"^https
|
|
220
|
+
r"^https://" # https:// only
|
|
221
221
|
r"(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+[A-Z]{2,6}\.?|" # domain...
|
|
222
222
|
r"localhost|" # localhost...
|
|
223
223
|
r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})" # ...or ip
|
|
@@ -227,7 +227,7 @@ def validate_url(url: str) -> str:
|
|
|
227
227
|
)
|
|
228
228
|
|
|
229
229
|
if not url_pattern.match(url):
|
|
230
|
-
raise ValueError(
|
|
230
|
+
raise ValueError("API URL must start with https:// and be a valid host.")
|
|
231
231
|
|
|
232
232
|
return url
|
|
233
233
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
glaip_sdk/__init__.py,sha256=0PAFfodqAEdggIiV1Es_JryDokZrhYLFFIXosqdguJU,420
|
|
2
2
|
glaip_sdk/_version.py,sha256=5CHGCxx_36fgmMWuEx6jJ2CzzM-i9eBFyQWFwBi23XE,2259
|
|
3
3
|
glaip_sdk/agents/__init__.py,sha256=VfYov56edbWuySXFEbWJ_jLXgwnFzPk1KB-9-mfsUCc,776
|
|
4
|
-
glaip_sdk/agents/base.py,sha256=
|
|
4
|
+
glaip_sdk/agents/base.py,sha256=OXoosHYh_J3ZCDJXNYNS78vaMbSOC5F4bk1DE31XcMc,37874
|
|
5
5
|
glaip_sdk/branding.py,sha256=tLqYCIHMkUf8p2smpuAGNptwaKUN38G4mlh0A0DOl_w,7823
|
|
6
6
|
glaip_sdk/cli/__init__.py,sha256=xCCfuF1Yc7mpCDcfhHZTX0vizvtrDSLeT8MJ3V7m5A0,156
|
|
7
|
-
glaip_sdk/cli/account_store.py,sha256=
|
|
7
|
+
glaip_sdk/cli/account_store.py,sha256=TK4iTV93Q1uD9mCY_2ZMT6EazHKU2jX0qhgWfEM4V-4,18459
|
|
8
8
|
glaip_sdk/cli/agent_config.py,sha256=YAbFKrTNTRqNA6b0i0Q3pH-01rhHDRi5v8dxSFwGSwM,2401
|
|
9
|
-
glaip_sdk/cli/auth.py,sha256=
|
|
9
|
+
glaip_sdk/cli/auth.py,sha256=e3Ctkjz3HBFk2mJE5xYpg78flot_luByLhqJ_bVtIsM,24149
|
|
10
10
|
glaip_sdk/cli/commands/__init__.py,sha256=6Z3ASXDut0lAbUX_umBFtxPzzFyqoiZfVeTahThFu1A,219
|
|
11
|
-
glaip_sdk/cli/commands/accounts.py,sha256=
|
|
11
|
+
glaip_sdk/cli/commands/accounts.py,sha256=J89chwJWWpEv6TBXaGPUJH-aLrM9Ymxp4jywp5YUUEo,24685
|
|
12
12
|
glaip_sdk/cli/commands/agents.py,sha256=WCOzllyh_Znwlju5camT4vE6OeRJbsAmjWwcyiAqWs4,48429
|
|
13
13
|
glaip_sdk/cli/commands/common_config.py,sha256=chCa0B5t6JER-pGPzItUK7fk_qQgTwf7bIRU004PrUI,3731
|
|
14
14
|
glaip_sdk/cli/commands/configure.py,sha256=95PQiJnpvsdH02v_tLVANd64qAJJnZKlhNe4tpfWIS4,30262
|
|
@@ -20,6 +20,11 @@ glaip_sdk/cli/commands/update.py,sha256=rIZo_x-tvpvcwpQLpwYwso1ix6qTHuNNTL4egmn5
|
|
|
20
20
|
glaip_sdk/cli/config.py,sha256=s0_xBB1e5YE4I_Wc4q-ayY3dwsBU1JrHAF-8ySlim7Y,3040
|
|
21
21
|
glaip_sdk/cli/constants.py,sha256=zqcVtzfj6huW97gbCmhkFqntge1H-c1vnkGqTazADgU,895
|
|
22
22
|
glaip_sdk/cli/context.py,sha256=--Y5vc6lgoAV7cRoUAr9UxSQaLmkMg29FolA7EwoRqM,3803
|
|
23
|
+
glaip_sdk/cli/core/__init__.py,sha256=HTQqpijKNts6bYnwY97rpP3J324phoQmGFi6OXqi0E4,2116
|
|
24
|
+
glaip_sdk/cli/core/context.py,sha256=I22z5IhZ09g5FPtMycDGU9Aj20Qv3TOQLhA5enaU2qk,3970
|
|
25
|
+
glaip_sdk/cli/core/output.py,sha256=9pkwT4mm-MEQ-dWjJrTDQL7-SVzePTkYnaY6vzSDztY,28045
|
|
26
|
+
glaip_sdk/cli/core/prompting.py,sha256=U6cxTSBNSa5-55M4W9zWCD_QSkkV912xTeOIRwXSDW8,21046
|
|
27
|
+
glaip_sdk/cli/core/rendering.py,sha256=QgbYzTcKH8wa7-BdR3UgiS3KBx1QYZjDcV2Hyy5ox_Q,5878
|
|
23
28
|
glaip_sdk/cli/display.py,sha256=ojgWdGeD5KUnGOmWNqqK4JP-1EaWHWX--DWze3BmIz0,12137
|
|
24
29
|
glaip_sdk/cli/hints.py,sha256=ca4krG103IS43s5BSLr0-N7uRMpte1_LY4nAXVvgDxo,1596
|
|
25
30
|
glaip_sdk/cli/io.py,sha256=ChP6CRKbtuENsNomNEaMDfPDU0iqO-WuVvl4_y7F2io,3871
|
|
@@ -32,18 +37,18 @@ glaip_sdk/cli/parsers/json_input.py,sha256=kxoxeIlgfsaH2jhe6apZAgSxAtwlpSINLTMRs
|
|
|
32
37
|
glaip_sdk/cli/resolution.py,sha256=K-VaEHm9SYY_qfb9538VNHykL4_2N6F8iQqI1zMx_64,2402
|
|
33
38
|
glaip_sdk/cli/rich_helpers.py,sha256=kO47N8e506rxrN6Oc9mbAWN3Qb536oQPWZy1s9A616g,819
|
|
34
39
|
glaip_sdk/cli/slash/__init__.py,sha256=J9TPL2UcNTkW8eifG6nRmAEGHhyEgdYMYk4cHaaObC0,386
|
|
35
|
-
glaip_sdk/cli/slash/accounts_controller.py,sha256=
|
|
36
|
-
glaip_sdk/cli/slash/accounts_shared.py,sha256=
|
|
40
|
+
glaip_sdk/cli/slash/accounts_controller.py,sha256=BDKaEfVbMh1B2T4GW3FF5hJo0SCe9_Pmy8vvyXtI9LY,21562
|
|
41
|
+
glaip_sdk/cli/slash/accounts_shared.py,sha256=Mq5HxlI0YsVEQ0KKISWvyBZhzOFFWCzwRbhF5xwvUbM,2626
|
|
37
42
|
glaip_sdk/cli/slash/agent_session.py,sha256=9r1xNRk5mk6rfJXV6KIf2Yo4B4hjknimd9fkxH1LO3c,11304
|
|
38
43
|
glaip_sdk/cli/slash/prompt.py,sha256=2urqR3QqN3O09lHmKKSEbhsIdlS4B7hm9O8AP_VwCSU,8034
|
|
39
44
|
glaip_sdk/cli/slash/remote_runs_controller.py,sha256=Ok6CezIeF1CPGQ8-QN3TRx5kGGEACOrgyPwH_BRRCyI,21354
|
|
40
|
-
glaip_sdk/cli/slash/session.py,sha256=
|
|
45
|
+
glaip_sdk/cli/slash/session.py,sha256=8pfO21vAbpxWnE71fthXXsR0TijYBDDhHR-8LFFapUs,63028
|
|
41
46
|
glaip_sdk/cli/slash/tui/__init__.py,sha256=ljBAeAFY2qNDkbJrZh5NgXxjwUlsv9-UxgKNIv0AF1Q,274
|
|
42
|
-
glaip_sdk/cli/slash/tui/accounts.tcss,sha256=
|
|
43
|
-
glaip_sdk/cli/slash/tui/accounts_app.py,sha256=
|
|
47
|
+
glaip_sdk/cli/slash/tui/accounts.tcss,sha256=xuQjQ0tBM08K1DUv6lI5Sfu1zgZzQxg60c9-RlEWB4s,1160
|
|
48
|
+
glaip_sdk/cli/slash/tui/accounts_app.py,sha256=dE0w10MSGPgjE7YQl8LzF1pSYu6LKX-L6eYMFOM2530,33593
|
|
44
49
|
glaip_sdk/cli/slash/tui/background_tasks.py,sha256=SAe1mV2vXB3mJcSGhelU950vf8Lifjhws9iomyIVFKw,2422
|
|
45
50
|
glaip_sdk/cli/slash/tui/loading.py,sha256=nW5pv_Tnl9FUOPR3Qf2O5gt1AGHSo3b5-Uofg34F6AE,1909
|
|
46
|
-
glaip_sdk/cli/slash/tui/remote_runs_app.py,sha256=
|
|
51
|
+
glaip_sdk/cli/slash/tui/remote_runs_app.py,sha256=RCrI-c5ilKV6Iy1lz2Aok9xo2Ou02vqcXACMXTdodnE,24716
|
|
47
52
|
glaip_sdk/cli/transcript/__init__.py,sha256=yiYHyNtebMCu3BXu56Xm5RBC2tDc865q8UGPnoe6QRs,920
|
|
48
53
|
glaip_sdk/cli/transcript/cache.py,sha256=Wi1uln6HP1U6F-MRTrfnxi9bn6XJTxwWXhREIRPoMqQ,17439
|
|
49
54
|
glaip_sdk/cli/transcript/capture.py,sha256=t8j_62cC6rhb51oCluZd17N04vcXqyjkhPRcRd3ZcmM,10291
|
|
@@ -52,7 +57,7 @@ glaip_sdk/cli/transcript/history.py,sha256=2FBjawxP8CX9gRPMUMP8bDjG50BGM2j2zk6If
|
|
|
52
57
|
glaip_sdk/cli/transcript/launcher.py,sha256=z5ivkPXDQJpATIqtRLUK8jH3p3WIZ72PvOPqYRDMJvw,2327
|
|
53
58
|
glaip_sdk/cli/transcript/viewer.py,sha256=ar1SzRkhKIf3_DgFz1EG1RZGDmd2w2wogAe038DLL_M,13037
|
|
54
59
|
glaip_sdk/cli/update_notifier.py,sha256=FnTjzS8YT94RmP6c5aU_XNIyRi7FRHvAskMy-VJikl8,10064
|
|
55
|
-
glaip_sdk/cli/utils.py,sha256=
|
|
60
|
+
glaip_sdk/cli/utils.py,sha256=iemmKkpPndoZFBasoVqV7QArplchtr08yYWLA2efMzg,11996
|
|
56
61
|
glaip_sdk/cli/validators.py,sha256=d-kq4y7HWMo6Gc7wLXWUsCt8JwFvJX_roZqRm1Nko1I,5622
|
|
57
62
|
glaip_sdk/client/__init__.py,sha256=F-eE_dRSzA0cc1it06oi0tZetZBHmSUjWSHGhJMLCls,263
|
|
58
63
|
glaip_sdk/client/_agent_payloads.py,sha256=cH7CvNRn0JvudwKLr072E7W2QGWO9r-4xDxWMvXoPKE,17865
|
|
@@ -81,7 +86,7 @@ glaip_sdk/payload_schemas/agent.py,sha256=Nap68mI2Ba8eNGOhk79mGrYUoYUahcUJLof3DL
|
|
|
81
86
|
glaip_sdk/registry/__init__.py,sha256=mjvElYE-wwmbriGe-c6qy4on0ccEuWxW_EWWrSbptCw,1667
|
|
82
87
|
glaip_sdk/registry/agent.py,sha256=F0axW4BIUODqnttIOzxnoS5AqQkLZ1i48FTeZNnYkhA,5203
|
|
83
88
|
glaip_sdk/registry/base.py,sha256=0x2ZBhiERGUcf9mQeWlksSYs5TxDG6FxBYQToYZa5D4,4143
|
|
84
|
-
glaip_sdk/registry/mcp.py,sha256=
|
|
89
|
+
glaip_sdk/registry/mcp.py,sha256=kNJmiijIbZL9Btx5o2tFtbaT-WG6O4Xf_nl3wz356Ow,7978
|
|
85
90
|
glaip_sdk/registry/tool.py,sha256=Y3mubiT84TOGByxOab1gF5ROBzcak_6o__JEGiv7uyM,7871
|
|
86
91
|
glaip_sdk/rich_components.py,sha256=44Z0V1ZQleVh9gUDGwRR5mriiYFnVGOhm7fFxZYbP8c,4052
|
|
87
92
|
glaip_sdk/tools/__init__.py,sha256=rhGzEqQFCzeMrxmikBuNrMz4PyYczwic28boDKVmoHs,585
|
|
@@ -133,8 +138,8 @@ glaip_sdk/utils/run_renderer.py,sha256=d_VMI6LbvHPUUeRmGqh5wK_lHqDEIAcym2iqpbtDa
|
|
|
133
138
|
glaip_sdk/utils/runtime_config.py,sha256=Y6frWR_PjD3CV2Jl3AqKxhhsJCkrxSuX27jw0-2aX2M,10124
|
|
134
139
|
glaip_sdk/utils/serialization.py,sha256=z-qpvWLSBrGK3wbUclcA1UIKLXJedTnMSwPdq-FF4lo,13308
|
|
135
140
|
glaip_sdk/utils/sync.py,sha256=3VKqs1UfNGWSobgRXohBKP7mMMzdUW3SU0bJQ1uxOgw,4872
|
|
136
|
-
glaip_sdk/utils/validation.py,sha256=
|
|
137
|
-
glaip_sdk-0.6.
|
|
138
|
-
glaip_sdk-0.6.
|
|
139
|
-
glaip_sdk-0.6.
|
|
140
|
-
glaip_sdk-0.6.
|
|
141
|
+
glaip_sdk/utils/validation.py,sha256=hB_k3lvHdIFUiSwHStrC0Eqnhx0OG2UvwqASeem0HuQ,6859
|
|
142
|
+
glaip_sdk-0.6.4.dist-info/METADATA,sha256=hP6X4i_t0aFVFqMQEh-teKaL1pzQN2q9_j8Cj6is0Pc,7128
|
|
143
|
+
glaip_sdk-0.6.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
144
|
+
glaip_sdk-0.6.4.dist-info/entry_points.txt,sha256=EGs8NO8J1fdFMWA3CsF7sKBEvtHb_fujdCoNPhfMouE,47
|
|
145
|
+
glaip_sdk-0.6.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|