gitarsenal-cli 1.6.12 โ†’ 1.6.13

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitarsenal-cli",
3
- "version": "1.6.12",
3
+ "version": "1.6.13",
4
4
  "description": "CLI tool for creating Modal sandboxes with GitHub repositories",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -2359,6 +2359,29 @@ def get_setup_commands_from_gitingest(repo_url):
2359
2359
  if commands:
2360
2360
  print(f"โœ… Successfully fetched {len(commands)} setup commands from API at {api_url}")
2361
2361
 
2362
+ # Enhanced response handling for API key detection
2363
+ if "requiredApiKeys" in result:
2364
+ api_keys = result.get("requiredApiKeys", [])
2365
+ if api_keys:
2366
+ print(f"\n๐Ÿ”‘ Required API Keys ({len(api_keys)}):")
2367
+ for i, api_key in enumerate(api_keys, 1):
2368
+ status = "๐Ÿ”ด Required" if api_key.get("required", False) else "๐ŸŸก Optional"
2369
+ print(f" {i}. {api_key.get('name', 'Unknown')} - {status}")
2370
+ print(f" Service: {api_key.get('service', 'Unknown')}")
2371
+ print(f" Description: {api_key.get('description', 'No description')}")
2372
+ if api_key.get('example'):
2373
+ print(f" Example: {api_key.get('example')}")
2374
+ if api_key.get('documentation_url'):
2375
+ print(f" Docs: {api_key.get('documentation_url')}")
2376
+ print()
2377
+
2378
+ # Display setup complexity if available
2379
+ if "setupComplexity" in result:
2380
+ complexity = result.get("setupComplexity", "medium")
2381
+ estimated_time = result.get("estimatedSetupTime", "Unknown")
2382
+ print(f"๐Ÿ“Š Setup Complexity: {complexity.upper()}")
2383
+ print(f"โฑ๏ธ Estimated Time: {estimated_time}")
2384
+
2362
2385
  # Print the commands
2363
2386
  print("\n๐Ÿ“‹ Setup Commands:")
2364
2387
  for i, cmd in enumerate(commands, 1):
@@ -2359,6 +2359,29 @@ def get_setup_commands_from_gitingest(repo_url):
2359
2359
  if commands:
2360
2360
  print(f"โœ… Successfully fetched {len(commands)} setup commands from API at {api_url}")
2361
2361
 
2362
+ # Enhanced response handling for API key detection
2363
+ if "requiredApiKeys" in result:
2364
+ api_keys = result.get("requiredApiKeys", [])
2365
+ if api_keys:
2366
+ print(f"\n๐Ÿ”‘ Required API Keys ({len(api_keys)}):")
2367
+ for i, api_key in enumerate(api_keys, 1):
2368
+ status = "๐Ÿ”ด Required" if api_key.get("required", False) else "๐ŸŸก Optional"
2369
+ print(f" {i}. {api_key.get('name', 'Unknown')} - {status}")
2370
+ print(f" Service: {api_key.get('service', 'Unknown')}")
2371
+ print(f" Description: {api_key.get('description', 'No description')}")
2372
+ if api_key.get('example'):
2373
+ print(f" Example: {api_key.get('example')}")
2374
+ if api_key.get('documentation_url'):
2375
+ print(f" Docs: {api_key.get('documentation_url')}")
2376
+ print()
2377
+
2378
+ # Display setup complexity if available
2379
+ if "setupComplexity" in result:
2380
+ complexity = result.get("setupComplexity", "medium")
2381
+ estimated_time = result.get("estimatedSetupTime", "Unknown")
2382
+ print(f"๐Ÿ“Š Setup Complexity: {complexity.upper()}")
2383
+ print(f"โฑ๏ธ Estimated Time: {estimated_time}")
2384
+
2362
2385
  # Print the commands
2363
2386
  print("\n๐Ÿ“‹ Setup Commands:")
2364
2387
  for i, cmd in enumerate(commands, 1):
@@ -1,67 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Test script to verify dynamic service support
4
- """
5
-
6
- import sys
7
- import os
8
- from gitarsenal_keys import main
9
-
10
- def test_dynamic_services():
11
- print("๐Ÿงช Testing GitArsenal Dynamic Service Support")
12
- print("=" * 60)
13
-
14
- # Test adding a new service (claude)
15
- print("\n1. Testing Claude service addition...")
16
- sys.argv = ['gitarsenal_keys.py', 'add', '--service', 'claude', '--key', 'sk-test-claude-key']
17
-
18
- try:
19
- main()
20
- print("โœ… Claude service test completed")
21
- except SystemExit as e:
22
- if e.code == 0:
23
- print("โœ… Claude service test completed successfully")
24
- else:
25
- print(f"โŒ Claude service test failed with exit code {e.code}")
26
-
27
- # Test adding another new service (custom-service)
28
- print("\n2. Testing custom service addition...")
29
- sys.argv = ['gitarsenal_keys.py', 'add', '--service', 'custom-service', '--key', 'custom-key-123']
30
-
31
- try:
32
- main()
33
- print("โœ… Custom service test completed")
34
- except SystemExit as e:
35
- if e.code == 0:
36
- print("โœ… Custom service test completed successfully")
37
- else:
38
- print(f"โŒ Custom service test failed with exit code {e.code}")
39
-
40
- # Test listing to see all services
41
- print("\n3. Testing service listing...")
42
- sys.argv = ['gitarsenal_keys.py', 'list']
43
-
44
- try:
45
- main()
46
- print("โœ… Service listing test completed")
47
- except SystemExit as e:
48
- if e.code == 0:
49
- print("โœ… Service listing test completed successfully")
50
- else:
51
- print(f"โŒ Service listing test failed with exit code {e.code}")
52
-
53
- # Test viewing a specific service
54
- print("\n4. Testing service viewing...")
55
- sys.argv = ['gitarsenal_keys.py', 'view', '--service', 'claude']
56
-
57
- try:
58
- main()
59
- print("โœ… Service viewing test completed")
60
- except SystemExit as e:
61
- if e.code == 0:
62
- print("โœ… Service viewing test completed successfully")
63
- else:
64
- print(f"โŒ Service viewing test failed with exit code {e.code}")
65
-
66
- if __name__ == "__main__":
67
- test_dynamic_services()
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Test script to verify interactive key prompting functionality
4
- """
5
-
6
- import sys
7
- import os
8
- from gitarsenal_keys import main
9
-
10
- def test_interactive_prompting():
11
- print("๐Ÿงช Testing GitArsenal Interactive Key Prompting")
12
- print("=" * 60)
13
-
14
- # Test that the script can be called with just service
15
- print("\n1. Testing interactive prompting...")
16
- print(" This should prompt for the API key when only service is provided")
17
-
18
- # Simulate command line arguments
19
- sys.argv = ['gitarsenal_keys.py', 'add', '--service', 'huggingface']
20
-
21
- try:
22
- # This will prompt for the key interactively
23
- main()
24
- print("โœ… Interactive prompting test completed")
25
- except SystemExit as e:
26
- if e.code == 0:
27
- print("โœ… Interactive prompting test completed successfully")
28
- else:
29
- print(f"โŒ Interactive prompting test failed with exit code {e.code}")
30
- except Exception as e:
31
- print(f"โŒ Interactive prompting test failed with error: {e}")
32
-
33
- if __name__ == "__main__":
34
- test_interactive_prompting()