gibson-cli 0.8.2__tar.gz → 0.8.3__tar.gz
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.
- {gibson_cli-0.8.2/gibson_cli.egg-info → gibson_cli-0.8.3}/PKG-INFO +1 -1
- gibson_cli-0.8.3/bin/release.sh +5 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/api/BaseApi.py +1 -5
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/api/ProjectApi.py +0 -1
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/bin/gibson.py +1 -4
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/auth/Logout.py +2 -2
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/mcp/McpServer.py +1 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/CommandRouter.py +4 -1
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Configuration.py +11 -4
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/mcp/server.py +29 -20
- {gibson_cli-0.8.2 → gibson_cli-0.8.3/gibson_cli.egg-info}/PKG-INFO +1 -1
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/pyproject.toml +1 -1
- gibson_cli-0.8.2/bin/release.sh +0 -5
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/.gitignore +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/.pre-commit-config.yaml +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/README.md +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/bin/build.sh +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/bin/clean.sh +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/api/Cli.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/api/DataApi.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/BaseCommand.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Build.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Conf.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Count.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Dev.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Forget.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Help.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Merge.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Modify.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Question.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Remove.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Show.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Tree.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/Version.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/auth/Auth.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/auth/Login.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Api.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Base.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Code.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Model.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Models.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Schema.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Schemas.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Test.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/code/Tests.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/importer/Import.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/importer/OpenApi.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/list/Entities.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/list/List.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/list/Projects.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/new/Module.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/new/New.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/new/Project.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/rename/Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/rename/Rename.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/rewrite/Rewrite.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/tests/test_command_BaseCommand.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/command/tests/test_command_Conf.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Api.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Code.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Custom.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Datastore.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Dependencies.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Dev.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Frameworks.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Modeler.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Paths.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Platform.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Project.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/Version.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/dev/Api.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/dev/Base.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/dev/Model.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/dev/Schema.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/tests/test_conf_Dependencies.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/conf/tests/test_conf_Platform.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Colors.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Completions.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Conversation.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Diff.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Env.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Memory.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/PythonPath.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/Spinner.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/TimeKeeper.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/core/utils.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/data/bash-completion.tmpl +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/data/mysql/default-ref-table.tmpl +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/data/mysql/default-table.tmpl +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/data/postgresql/default-ref-table.tmpl +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/data/postgresql/default-table.tmpl +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/db/TableExceptions.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/db/tests/test_db_TableExceptions.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/dev/Dev.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/display/Header.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/display/WorkspaceFooter.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/display/WorkspaceHeader.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/display/tests/test_display_Header.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/display/tests/test_display_WorkspaceFooter.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/display/tests/test_display_WorkspaceHeader.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/lang/Python.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/lang/tests/test_lang_Python.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/auth/Server.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/context/schema/DataDictionary.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/context/schema/EntityKeys.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/context/schema/Manager.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/context/schema/tests/test_code_context_schema_DataDictionary.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/context/schema/tests/test_code_context_schema_EntityKeys.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/context/schema/tests/test_code_context_schema_Manager.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/Authenticator.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/BaseCustomization.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/CustomizationManager.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/Index.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/tests/test_code_customization_Authenticator.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/tests/test_code_customization_BaseCustomization.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/constraints/ReferenceConstraint.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/keys/ForeignKey.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/keys/Index.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/keys/IndexAttribute.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/keys/tests/test_structure_mysql_keys_ForeignKey.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/keys/tests/test_structure_mysql_keys_Index.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/keys/tests/test_structure_mysql_keys_IndexAttribute.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/testing.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/tests/test_structure_mysql_Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/postgresql/Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/postgresql/References.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/postgresql/table/ForeignKey.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/postgresql/table/tests/test_structure_postgresql_table_ForeignKey.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/postgresql/testing.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/postgresql/tests/test_structure_postgresql_Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/tests/test_structure_Entity.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/tests/test_Env.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/tests/test_Memory.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/tests/test_utils.py +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson_cli.egg-info/SOURCES.txt +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson_cli.egg-info/dependency_links.txt +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson_cli.egg-info/entry_points.txt +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson_cli.egg-info/requires.txt +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson_cli.egg-info/top_level.txt +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/requirements.txt +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/setup.cfg +0 -0
- {gibson_cli-0.8.2 → gibson_cli-0.8.3}/venv/bin/activate_this.py +0 -0
@@ -2,7 +2,6 @@ import pprint
|
|
2
2
|
|
3
3
|
import requests
|
4
4
|
|
5
|
-
import gibson.core.Colors as Colors
|
6
5
|
from gibson.core.Configuration import Configuration
|
7
6
|
|
8
7
|
|
@@ -103,10 +102,7 @@ class BaseApi:
|
|
103
102
|
|
104
103
|
def __raise_for_status(self, r):
|
105
104
|
if r.status_code == 401:
|
106
|
-
self.configuration.
|
107
|
-
f"\nYou need to log in to continue. Please run {Colors.command(self.configuration.command, 'auth', args='login')} and then try again.\n"
|
108
|
-
)
|
109
|
-
exit(1)
|
105
|
+
self.configuration.login_required()
|
110
106
|
|
111
107
|
try:
|
112
108
|
r.raise_for_status()
|
@@ -12,10 +12,7 @@ def main():
|
|
12
12
|
print(f"{Header().render('dev mode')}\n")
|
13
13
|
try:
|
14
14
|
configuration = Configuration()
|
15
|
-
|
16
|
-
configuration.initialize()
|
17
|
-
else:
|
18
|
-
CommandRouter(configuration).run()
|
15
|
+
CommandRouter(configuration).run()
|
19
16
|
except KeyboardInterrupt:
|
20
17
|
exit(1)
|
21
18
|
|
@@ -3,6 +3,6 @@ from gibson.command.BaseCommand import BaseCommand
|
|
3
3
|
|
4
4
|
class Logout(BaseCommand):
|
5
5
|
def execute(self):
|
6
|
-
self.configuration.
|
7
|
-
self.conversation.type(
|
6
|
+
self.configuration.set_auth_tokens(None, None)
|
7
|
+
self.conversation.type("You are now logged out.")
|
8
8
|
self.conversation.newline()
|
@@ -12,6 +12,7 @@ class McpServer(BaseCommand):
|
|
12
12
|
# Setup signal handlers to exit the server
|
13
13
|
signal.signal(signal.SIGTERM, lambda signo, frame: sys.exit(0))
|
14
14
|
signal.signal(signal.SIGINT, lambda signo, frame: sys.exit(0))
|
15
|
+
self.conversation.type("GibsonAI MCP server running...\n")
|
15
16
|
mcp.run()
|
16
17
|
else:
|
17
18
|
self.usage()
|
@@ -33,7 +33,10 @@ class CommandRouter:
|
|
33
33
|
|
34
34
|
def run(self):
|
35
35
|
if len(sys.argv) == 1:
|
36
|
-
|
36
|
+
if self.configuration.settings is None:
|
37
|
+
self.configuration.initialize()
|
38
|
+
else:
|
39
|
+
Help(self.configuration).execute()
|
37
40
|
return self
|
38
41
|
|
39
42
|
Env().verify(self.configuration)
|
@@ -17,11 +17,12 @@ class Configuration:
|
|
17
17
|
VERSION = 2
|
18
18
|
API_ENV = os.environ.get("GIBSONAI_API_ENV", "production")
|
19
19
|
|
20
|
-
def __init__(self):
|
20
|
+
def __init__(self, interactive=True):
|
21
21
|
self.command = None
|
22
22
|
if len(sys.argv) >= 1:
|
23
23
|
self.command = sys.argv[0].split("/")[-1]
|
24
24
|
|
25
|
+
self.interactive = interactive
|
25
26
|
self.conversation = Conversation()
|
26
27
|
self.platform = Platform()
|
27
28
|
self.project = None
|
@@ -132,7 +133,7 @@ class Configuration:
|
|
132
133
|
os.remove(test_file)
|
133
134
|
|
134
135
|
return path
|
135
|
-
except:
|
136
|
+
except Exception:
|
136
137
|
self.conversation.newline()
|
137
138
|
self.conversation.type(
|
138
139
|
" Well this is embarrassing. I cannot write to that path.\n"
|
@@ -304,6 +305,13 @@ class Configuration:
|
|
304
305
|
self.set_auth_tokens(access_token, refresh_token)
|
305
306
|
return True
|
306
307
|
|
308
|
+
def login_required(self):
|
309
|
+
if self.interactive:
|
310
|
+
self.conversation.message_login_required(self)
|
311
|
+
exit(1)
|
312
|
+
|
313
|
+
return self
|
314
|
+
|
307
315
|
def read_config(self):
|
308
316
|
try:
|
309
317
|
with open(self.paths.config, "r") as f:
|
@@ -317,8 +325,7 @@ class Configuration:
|
|
317
325
|
|
318
326
|
def require_login(self):
|
319
327
|
if self.get_access_token() is None:
|
320
|
-
self.
|
321
|
-
exit(1)
|
328
|
+
self.login_required()
|
322
329
|
|
323
330
|
return self
|
324
331
|
|
@@ -13,34 +13,43 @@ mcp = FastMCP("GibsonAI")
|
|
13
13
|
# See https://docs.cursor.com/context/model-context-protocol#limitations
|
14
14
|
|
15
15
|
|
16
|
+
def error_handler(e: HTTPError) -> Dict:
|
17
|
+
"""Handle HTTP errors from the API"""
|
18
|
+
status_code = e.response.status_code
|
19
|
+
message = e.response.json()
|
20
|
+
if status_code == 401:
|
21
|
+
message = "Authentication required. Run `uvx --from gibson-cli@latest gibson auth login` to authenticate then try again."
|
22
|
+
return {"status_code": status_code, "error": message}
|
23
|
+
|
24
|
+
|
16
25
|
@mcp.tool()
|
17
26
|
def get_projects() -> List[Dict]:
|
18
27
|
"""Get all GibsonAI projects"""
|
19
|
-
project_api = ProjectApi(Configuration())
|
28
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
20
29
|
try:
|
21
30
|
return project_api.list()
|
22
31
|
except HTTPError as e:
|
23
|
-
return
|
32
|
+
return error_handler(e)
|
24
33
|
|
25
34
|
|
26
35
|
@mcp.tool()
|
27
36
|
def create_project() -> Dict:
|
28
37
|
"""Create a new GibsonAI project"""
|
29
|
-
project_api = ProjectApi(Configuration())
|
38
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
30
39
|
try:
|
31
40
|
return project_api.create()
|
32
41
|
except HTTPError as e:
|
33
|
-
return
|
42
|
+
return error_handler(e)
|
34
43
|
|
35
44
|
|
36
45
|
@mcp.tool()
|
37
46
|
def get_project_details(uuid: str) -> Dict:
|
38
47
|
"""Get a GibsonAI project's details"""
|
39
|
-
project_api = ProjectApi(Configuration())
|
48
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
40
49
|
try:
|
41
50
|
return project_api.lookup(uuid=uuid)
|
42
51
|
except HTTPError as e:
|
43
|
-
return
|
52
|
+
return error_handler(e)
|
44
53
|
|
45
54
|
|
46
55
|
@mcp.tool()
|
@@ -49,11 +58,11 @@ def get_project_hosted_api_details(uuid: str) -> str:
|
|
49
58
|
Get a GibsonAI project's hosted API details
|
50
59
|
This includes necessary context for an LLM to understand and generate API calls related to fetching or modifying the project's data
|
51
60
|
"""
|
52
|
-
project_api = ProjectApi(Configuration())
|
61
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
53
62
|
try:
|
54
63
|
return project_api.mcp(uuid=uuid)
|
55
64
|
except HTTPError as e:
|
56
|
-
return
|
65
|
+
return error_handler(e)
|
57
66
|
|
58
67
|
|
59
68
|
@mcp.tool()
|
@@ -63,11 +72,11 @@ def update_project(uuid: str, project_name: str) -> Dict:
|
|
63
72
|
This currently only updates the project's name
|
64
73
|
Returns the updated project details
|
65
74
|
"""
|
66
|
-
project_api = ProjectApi(Configuration())
|
75
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
67
76
|
try:
|
68
77
|
return project_api.update(uuid=uuid, name=project_name)
|
69
78
|
except HTTPError as e:
|
70
|
-
return
|
79
|
+
return error_handler(e)
|
71
80
|
|
72
81
|
|
73
82
|
@mcp.tool()
|
@@ -77,11 +86,11 @@ def submit_data_modeling_request(uuid: str, data_modeling_request: str) -> Dict:
|
|
77
86
|
This tool fully handles all data modeling, you should provide the user's request as-is
|
78
87
|
Returns the response from the LLM
|
79
88
|
"""
|
80
|
-
project_api = ProjectApi(Configuration())
|
89
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
81
90
|
try:
|
82
91
|
return project_api.submit_message(uuid=uuid, message=data_modeling_request)
|
83
92
|
except HTTPError as e:
|
84
|
-
return
|
93
|
+
return error_handler(e)
|
85
94
|
|
86
95
|
|
87
96
|
@mcp.tool()
|
@@ -90,11 +99,11 @@ def deploy_project(uuid: str) -> None:
|
|
90
99
|
Deploy a GibsonAI project's hosted databases
|
91
100
|
This deploys both the development and production databases simultaneously and automatically handles the migrations
|
92
101
|
"""
|
93
|
-
project_api = ProjectApi(Configuration())
|
102
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
94
103
|
try:
|
95
104
|
return project_api.deploy(uuid=uuid)
|
96
105
|
except HTTPError as e:
|
97
|
-
return
|
106
|
+
return error_handler(e)
|
98
107
|
|
99
108
|
|
100
109
|
@mcp.tool()
|
@@ -103,11 +112,11 @@ def get_project_schema(uuid: str) -> str:
|
|
103
112
|
Get the schema for a GibsonAI project
|
104
113
|
This includes any changes made to the schema since the last deployment
|
105
114
|
"""
|
106
|
-
project_api = ProjectApi(Configuration())
|
115
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
107
116
|
try:
|
108
117
|
return project_api.schema(uuid=uuid)
|
109
118
|
except HTTPError as e:
|
110
|
-
return
|
119
|
+
return error_handler(e)
|
111
120
|
|
112
121
|
|
113
122
|
@mcp.tool()
|
@@ -116,11 +125,11 @@ def get_deployed_schema(uuid: str) -> str:
|
|
116
125
|
Get the deployed schema for a GibsonAI project
|
117
126
|
This is the schema that is currently live on the project's hosted databases
|
118
127
|
"""
|
119
|
-
project_api = ProjectApi(Configuration())
|
128
|
+
project_api = ProjectApi(Configuration(interactive=False))
|
120
129
|
try:
|
121
130
|
return project_api.database_schema(uuid=uuid)
|
122
131
|
except HTTPError as e:
|
123
|
-
return
|
132
|
+
return error_handler(e)
|
124
133
|
|
125
134
|
|
126
135
|
@mcp.tool()
|
@@ -129,8 +138,8 @@ def query_database(api_key: str, query: str) -> List[Dict] | None | Dict:
|
|
129
138
|
Query a GibsonAI project's hosted database using SQL
|
130
139
|
Note: the environment-specific API key must be provided
|
131
140
|
"""
|
132
|
-
data_api = DataApi(Configuration(), api_key=api_key)
|
141
|
+
data_api = DataApi(Configuration(interactive=False), api_key=api_key)
|
133
142
|
try:
|
134
143
|
return data_api.query(query=query)
|
135
144
|
except HTTPError as e:
|
136
|
-
return
|
145
|
+
return error_handler(e)
|
gibson_cli-0.8.2/bin/release.sh
DELETED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/BaseCustomization.py
RENAMED
File without changes
|
{gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/services/code/customization/CustomizationManager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/constraints/ReferenceConstraint.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{gibson_cli-0.8.2 → gibson_cli-0.8.3}/gibson/structure/mysql/tests/test_structure_mysql_Entity.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|