gibson-cli 0.5.7__py3-none-any.whl → 0.5.8__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.
gibson/api/Cli.py CHANGED
@@ -11,6 +11,7 @@ class Cli(BaseApi):
11
11
  self.configuration = configuration
12
12
  self.configuration.require_login()
13
13
  self.configuration.require_project()
14
+ self.configuration.require_project_key()
14
15
 
15
16
  def code_api(self):
16
17
  return self.post(
@@ -13,5 +13,7 @@ class NewProject(BaseCommand):
13
13
 
14
14
  self.configuration.set_project_env(project_name)
15
15
  self.configuration.append_project_to_conf(project_name, project_description)
16
+ self.configuration.setup_project()
17
+ self.configuration.create_project_memory()
16
18
 
17
19
  self.conversation.configure_new_project(self.configuration)
@@ -38,6 +38,7 @@ class Rewrite(BaseCommand):
38
38
 
39
39
  def write(self, argument=None):
40
40
  self.configuration.require_project()
41
+ self.configuration.require_project_key()
41
42
 
42
43
  if len(self.memory.recall_merged()) == 0:
43
44
  self.conversation.cant_no_entities(self.configuration.project.name)
gibson/core/Colors.py CHANGED
@@ -74,3 +74,7 @@ def hint(text):
74
74
 
75
75
  def project(text):
76
76
  return colorize(text, Color.BOLD)
77
+
78
+
79
+ def link(text):
80
+ return colorize(colorize(text, Color.BLUE), Color.UNDERLINE)
@@ -301,6 +301,8 @@ class Configuration:
301
301
  self.conversation.pause()
302
302
 
303
303
  section = self.append_project_to_conf(project_name, project_description)
304
+ self.set_project_env(project_name)
305
+ self.setup_project()
304
306
  self.create_project_memory()
305
307
 
306
308
  self.conversation.message_configuration_added(self.paths.config, section)
@@ -365,6 +367,13 @@ class Configuration:
365
367
 
366
368
  return self
367
369
 
370
+ def require_project_key(self):
371
+ if not self.project.api.key or self.project.api.key == "FIXME":
372
+ self.conversation.project_api_key_not_set(self.app_domain())
373
+ exit(1)
374
+
375
+ return self
376
+
368
377
  def set_auth_tokens(self, access_token, refresh_token):
369
378
  try:
370
379
  os.mkdir(self.paths.auth)
@@ -397,7 +406,7 @@ class Configuration:
397
406
  config = list(self.settings.values())[0]
398
407
  self.project = Project()
399
408
  self.project.name = list(self.settings.keys())[0]
400
- else:
409
+ elif self.settings is not None:
401
410
  gibsonai_project = os.environ.get("GIBSONAI_PROJECT")
402
411
  if gibsonai_project is None:
403
412
  # TODO: traverse fs and attempt to find a .gibsonai/config file to use
@@ -213,6 +213,20 @@ class Conversation:
213
213
  self.type(f'\nA project named "{project_name}" already exists.\n')
214
214
  self.newline()
215
215
 
216
+ def project_api_key_not_set(self, domain):
217
+ self.type(
218
+ f"\nYou have not set the API key for your project. Please set the API key by executing:\n"
219
+ )
220
+ self.newline()
221
+ self.type(
222
+ f"{Colors.command('gibson')} {Colors.subcommand('conf')} {Colors.argument('api::key')} {Colors.input('[API key]')}\n"
223
+ )
224
+ self.newline()
225
+ self.type(
226
+ f"If you don't have an API key, you can get one by creating a new project at {Colors.link(domain + '/chat')}\n"
227
+ )
228
+ self.newline()
229
+
216
230
  def prompt_description(self, project_name):
217
231
  while True:
218
232
  self.type(f"Tell me about {project_name}. Don't be shy > ")
@@ -3,6 +3,6 @@ from gibson.display.WorkspaceHeader import WorkspaceHeader
3
3
 
4
4
  def test_render():
5
5
  assert WorkspaceHeader().render("abc def ghi") == (
6
- """Workspace abc def ghi [CONTEXT LOADED]
6
+ """Project abc def ghi [PAIR PROGRAMMER]
7
7
  ==============================================================================="""
8
8
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gibson-cli
3
- Version: 0.5.7
3
+ Version: 0.5.8
4
4
  Summary: Gibson Command Line Interface
5
5
  Author-email: GibsonAI <noc@gibsonai.com>
6
6
  Project-URL: Homepage, https://gibsonai.com/
@@ -1,7 +1,7 @@
1
1
  bin/build.sh,sha256=H3TAd349BECbcK3_t_jW9VzoLInMNrXtaLnXMEVanew,49
2
2
  bin/release.sh,sha256=LxPqH5kxhLKvzHaPRLBlq_ApaK7FHEteH4SzeRenidk,49
3
3
  gibson/api/BaseApi.py,sha256=tLY4IahK9Ppy5gfYvlayRb46852UFq0mHKMmv8aF6xc,3033
4
- gibson/api/Cli.py,sha256=KvlMDvcMh7i6p3yGeikGmfi4HjUWb49RncJyF-J-9lM,7752
4
+ gibson/api/Cli.py,sha256=5w4JXFb7wgXiWVClP2TnxpR2lNo9qUe1mZb5uVa8GhU,7801
5
5
  gibson/api/ProjectApi.py,sha256=T7TqtywJjrzFIfARenQUsrH-80x9Oo1pABbFAdlQkI0,356
6
6
  gibson/bin/gibson.py,sha256=N1mAWaww9pw8s5u0et87FC5cFHVU6JzN4Kls3lDn-xw,354
7
7
  gibson/command/BaseCommand.py,sha256=mmWUO0FxjMCbv3cHWnnasfAWnU_hTuGHUsRVJ4hUcqM,777
@@ -34,13 +34,13 @@ gibson/command/list/List.py,sha256=r6YQdaeMRgFKcz-VyEQTE_I2lRaaJ4kew3E_RKKaaTU,1
34
34
  gibson/command/list/Projects.py,sha256=yR4o0eZFYxORLiEe0Z5Vs9T-hKb1NxrGVUOCrYx9qDM,1140
35
35
  gibson/command/new/Module.py,sha256=HK6CGAMvrzi5kVn7zNG6JDB5Y580djI12xHfXwFrj1w,1602
36
36
  gibson/command/new/New.py,sha256=PbXj6i4Dop65DWDFSoQthm1Podubh8z652l7DICL4Gc,1626
37
- gibson/command/new/Project.py,sha256=EQBx__4Y5y0xjzHF1X7sozwapQxsX-Z4RSm6o5wL-5I,660
37
+ gibson/command/new/Project.py,sha256=ZyYTME643Rcd-0jyy9d8lBOOKd2nncS-b-oyOFU1ffk,754
38
38
  gibson/command/rename/Entity.py,sha256=SaAiN1bYsTOsqjyVzxghK8-N3sAKITThTzS5LEYgppY,1801
39
39
  gibson/command/rename/Rename.py,sha256=T6iTjo6KRArbT8wBgrn-ehtNlY7tRlovlEZfBOUKYlk,731
40
40
  gibson/command/rewrite/Api.py,sha256=sSvAqEJXdgQjYcu0uiM6ndHE3GnfkfVL6eqP2Otkbww,1002
41
41
  gibson/command/rewrite/Base.py,sha256=YJ2a5Hl0f9NXHUBBPvlt-dUIqEPWQz5vH6-1EHmbFbA,640
42
42
  gibson/command/rewrite/Models.py,sha256=eoUpZHpR0qwNgX60EWfcNz49GHmBw_FGfBuHH2ueZqY,799
43
- gibson/command/rewrite/Rewrite.py,sha256=2v5xhb6JYv-I7jF7B5CpQbw7KWBFHnXLWK5mMaL-N8k,4684
43
+ gibson/command/rewrite/Rewrite.py,sha256=LUCUQsDToajd0v8uKB0N5HqIA57VjMfsFMGAFZzKb3I,4733
44
44
  gibson/command/rewrite/Schemas.py,sha256=zZ1gjmOJg77gh70t5y2WkzHWSAvEKx5-gqRN9OcsCXA,802
45
45
  gibson/command/rewrite/Tests.py,sha256=HO1WM6pSToVKsuJn7nUA_I5qrfBN0cgKgBzjlm2Qxt8,799
46
46
  gibson/command/tests/test_command_BaseCommand.py,sha256=hSbBfLFI3RTp_DdEHtm5oOLWoN6drI6ucFJypi7xxV8,364
@@ -63,11 +63,11 @@ gibson/conf/dev/Model.py,sha256=HbHRX3VDxR7hXlzuxkKw4Bf7FH6XMfQ96k9BeIUoBf4,73
63
63
  gibson/conf/dev/Schema.py,sha256=kOSlX1jEyVb82xd8TO8jEAimLcaefIFJr6d2JYvyTqg,74
64
64
  gibson/conf/tests/test_conf_Dependencies.py,sha256=LITeeYiqXM5rKkyWFBqcnMvUR5pzDRuHVAngH372jWc,116
65
65
  gibson/conf/tests/test_conf_Platform.py,sha256=Zc53IsZmV-hT9VRrZEPNrsuehSdWnJXWKGMmOhEqWHo,138
66
- gibson/core/Colors.py,sha256=5XJdm9n5Sa75Hv0BYVaGVhnzsgpwfbB2pGXcbGh5EjU,1539
66
+ gibson/core/Colors.py,sha256=Q974NVzqZY4x7biBXgwW2kQWQ-XZfC5MXgcL35m1ABs,1622
67
67
  gibson/core/CommandRouter.py,sha256=96Y38GvY14BtBNfb3LwBz-T0_qscyeo51q6xDxVjto0,3781
68
68
  gibson/core/Completions.py,sha256=Bsh25vnf0pjpJA6MJNR_2MA2s58Ujj8XolR8fm8AQ_s,1197
69
- gibson/core/Configuration.py,sha256=s6b09fC1qnQadB_Nbm3wcdMb1kjS95dP-32TSVv01c8,16050
70
- gibson/core/Conversation.py,sha256=ExZvefcbBZH69z0aYvQ9aLItnG_1v6EtZ6mK5h5_QYg,9275
69
+ gibson/core/Configuration.py,sha256=VUn1rfpzuK9zuzlXPLDtGrCXTED8qPhNxQ435kCUBKU,16370
70
+ gibson/core/Conversation.py,sha256=QVx-YRWnre2YlkThe_8ACbx_s4ctyHJBLvgtBpdRqbQ,9836
71
71
  gibson/core/Env.py,sha256=08dZRHzzR0ahrbM4S0bXC7V1xhYQkT8Zefs00qUHf0U,498
72
72
  gibson/core/Memory.py,sha256=Yw6xmqtAsFwd5Q4VgmGDt4U2dUGLyFXZ_nO8c74Oo8E,4005
73
73
  gibson/core/PythonPath.py,sha256=p1q7n_5KnPvA8XbxJyvqC2vrIdEdTiMr6vRU9yj77Cs,1567
@@ -84,7 +84,7 @@ gibson/display/WorkspaceFooter.py,sha256=1-PsPtLcC7xUZLwufSSaVo9caXuyZEwfR_iZatx
84
84
  gibson/display/WorkspaceHeader.py,sha256=qBKtwdtO3jnbQYGwqXZH5ph4jpR9a9KEVUA63VN_zAU,216
85
85
  gibson/display/tests/test_display_Header.py,sha256=I1GmB9RRa80rcYtgm3YXtpugdp5obca94zBVjmREYCY,324
86
86
  gibson/display/tests/test_display_WorkspaceFooter.py,sha256=96syJutXZWbGOLiAS5SkRZjwEAgj0E0t-uTT85BJe_w,359
87
- gibson/display/tests/test_display_WorkspaceHeader.py,sha256=9FuNLOkCAyFSDaonZbLQhLJSizc7bI2HAz3z1ifJlYs,316
87
+ gibson/display/tests/test_display_WorkspaceHeader.py,sha256=eY1ZigLecol5PfyVJSbrbU7N28fnWDpVBqckSYgirIg,316
88
88
  gibson/lang/Python.py,sha256=WNbCTFhDh9qXVbeySyfaP-6m-c0wllSCZw8A-r_Z0Oo,1764
89
89
  gibson/lang/tests/test_lang_Python.py,sha256=YpdqYOGAssg-jP9GuzfoU4Y4L7Boj0vAUAJgjuZvedo,1862
90
90
  gibson/services/auth/Server.py,sha256=DfemWNZlZ3rDE6PsAAvDP0anK7czwhiadX6Wilo4agY,1936
@@ -113,8 +113,8 @@ gibson/structure/tests/test_Entity.py,sha256=Gl9f1NcEKdpWCx4W3takFFzp18mLhCYWKrd
113
113
  gibson/tests/test_Env.py,sha256=DPWmP0-aEelducq9bAwv7rKoY2NjWXUeCrzfJDQkn2M,369
114
114
  gibson/tests/test_Memory.py,sha256=YP7owToABAk_-s7fD5UG0HTc4lamDjdA39JUlLnk3Fg,2574
115
115
  gibson/tests/test_utils.py,sha256=r_y-EG05YTCNtL8MWiAK1KmPsmeoMgypKsQC_lVgOtM,559
116
- gibson_cli-0.5.7.dist-info/METADATA,sha256=Haom8DVpmj6Cds1ZrkGFG7EMxGcixJRxb6MRQrLO7UA,11605
117
- gibson_cli-0.5.7.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
118
- gibson_cli-0.5.7.dist-info/entry_points.txt,sha256=j5VUvq3AzL21xPvVC24zMoXFt-I5lUWulr66nL3OAPM,50
119
- gibson_cli-0.5.7.dist-info/top_level.txt,sha256=RFaUY7VXGiqkMwo1Rj7pM4kGvxkhhnfo-2LmPpuL_fs,11
120
- gibson_cli-0.5.7.dist-info/RECORD,,
116
+ gibson_cli-0.5.8.dist-info/METADATA,sha256=FCx7UVDFg94-3nlQGEXlSFLF7u1USC-Cb8rOOtXUYUk,11605
117
+ gibson_cli-0.5.8.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
118
+ gibson_cli-0.5.8.dist-info/entry_points.txt,sha256=j5VUvq3AzL21xPvVC24zMoXFt-I5lUWulr66nL3OAPM,50
119
+ gibson_cli-0.5.8.dist-info/top_level.txt,sha256=RFaUY7VXGiqkMwo1Rj7pM4kGvxkhhnfo-2LmPpuL_fs,11
120
+ gibson_cli-0.5.8.dist-info/RECORD,,