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/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 len(results) == 1:
147
- mcp = results[0]
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(results) > 1:
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 len(results) == 1:
207
- mcp = results[0]
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(results) > 1:
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}")
@@ -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?://" # http:// or 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(f"Invalid URL format: {url}")
230
+ raise ValueError("API URL must start with https:// and be a valid host.")
231
231
 
232
232
  return url
233
233
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: glaip-sdk
3
- Version: 0.6.2
3
+ Version: 0.6.4
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
@@ -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=asXkYyOiaeqqzsOk_FoFXbECBozyy7rfxgr9h0iliKc,36060
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=NXuAVPaJS_32Aw1VTaZCNwIID-gADw4F_UMieoWmg3g,17336
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=9hfjZyd4cx2_mImqykJ1sWQsuVTR2gy6D4hFqAQNKL4,24129
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=NTexdyiv9Qp3xZMxmtwOWeCkRDHegyk06O9J3UWyXHQ,24644
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=HjFXHwK9waWKD-EvFKgM0M8Imi8F3t3U1Bx5MZ6RJv4,9000
36
- glaip_sdk/cli/slash/accounts_shared.py,sha256=0fu2aBKWPK3HooffkqwwpRDCEryplkQ-7k8Z_cFncj8,638
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=AXgvlFu2SfO_bcv1dJm29owCjMdk_IAkQdG4DAD13EI,59843
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=hVATTnwYGa-uquKANRoJlFEuqWhLixQEhCJ716FoFV4,715
43
- glaip_sdk/cli/slash/tui/accounts_app.py,sha256=Po-eEmCVJcV6l7bMHiwocmsS1jx0_ol3tpRUrtvPdYM,15011
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=xDlFBqk4we-zHfIyHBFKyZA2Mhh5ju5H5VWO74Mmloo,24533
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=fV6PZlQ7K5zckpFWvwh3yLmETGrVylK9AXtN7zKBp-A,57374
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=bCpO-2ybaeQyKIQfdmz6BKmdPYb-_MG9jYEJNFykpQg,7764
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=Vt8oSnn7OM6ns5vjOl5FwGIMWBPb0yI6RD5XL_L5_4M,6826
137
- glaip_sdk-0.6.2.dist-info/METADATA,sha256=i9j_B_1f1ONjg6yRh_pcA8ZRqkhl9ZJ-V1JecnRTUOw,7128
138
- glaip_sdk-0.6.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
139
- glaip_sdk-0.6.2.dist-info/entry_points.txt,sha256=EGs8NO8J1fdFMWA3CsF7sKBEvtHb_fujdCoNPhfMouE,47
140
- glaip_sdk-0.6.2.dist-info/RECORD,,
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,,