hire-ai 0.1.3__tar.gz → 0.1.4__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.
- {hire_ai-0.1.3 → hire_ai-0.1.4}/PKG-INFO +5 -1
- {hire_ai-0.1.3 → hire_ai-0.1.4}/README.md +4 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/__init__.py +1 -1
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/cli.py +7 -0
- hire_ai-0.1.4/hire/commands/delete.py +64 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/pyproject.toml +1 -1
- hire_ai-0.1.3/hire/commands/delete.py +0 -35
- {hire_ai-0.1.3 → hire_ai-0.1.4}/.gitignore +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/LICENSE +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/adapters/__init__.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/adapters/base.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/adapters/claude.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/adapters/codex.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/adapters/gemini.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/clipboard.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/commands/__init__.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/commands/ask.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/commands/doctor.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/commands/sessions.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/commands/show.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/config.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/paths.py +0 -0
- {hire_ai-0.1.3 → hire_ai-0.1.4}/hire/session.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hire-ai
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: CLI to orchestrate AI agents (Claude, Codex, Gemini)
|
|
5
5
|
Project-URL: Homepage, https://github.com/nichiki/hire-ai
|
|
6
6
|
Project-URL: Repository, https://github.com/nichiki/hire-ai
|
|
@@ -102,6 +102,10 @@ hire sessions # List all sessions
|
|
|
102
102
|
hire sessions codex # List Codex sessions only
|
|
103
103
|
hire show SESSION_ID # Show session details
|
|
104
104
|
hire delete SESSION_ID # Delete a session
|
|
105
|
+
hire delete --all # Delete all sessions
|
|
106
|
+
|
|
107
|
+
# Check environment
|
|
108
|
+
hire doctor # Check installed agents and config
|
|
105
109
|
```
|
|
106
110
|
|
|
107
111
|
## Options
|
|
@@ -70,6 +70,10 @@ hire sessions # List all sessions
|
|
|
70
70
|
hire sessions codex # List Codex sessions only
|
|
71
71
|
hire show SESSION_ID # Show session details
|
|
72
72
|
hire delete SESSION_ID # Delete a session
|
|
73
|
+
hire delete --all # Delete all sessions
|
|
74
|
+
|
|
75
|
+
# Check environment
|
|
76
|
+
hire doctor # Check installed agents and config
|
|
73
77
|
```
|
|
74
78
|
|
|
75
79
|
## Options
|
|
@@ -60,8 +60,14 @@ def main() -> int:
|
|
|
60
60
|
delete_parser = subparsers.add_parser("delete", help="Delete a session")
|
|
61
61
|
delete_parser.add_argument(
|
|
62
62
|
"name_or_id",
|
|
63
|
+
nargs="?",
|
|
63
64
|
help="Session name or ID",
|
|
64
65
|
)
|
|
66
|
+
delete_parser.add_argument(
|
|
67
|
+
"-a", "--all",
|
|
68
|
+
action="store_true",
|
|
69
|
+
help="Delete all sessions",
|
|
70
|
+
)
|
|
65
71
|
delete_parser.add_argument(
|
|
66
72
|
"-f", "--force",
|
|
67
73
|
action="store_true",
|
|
@@ -156,6 +162,7 @@ Usage:
|
|
|
156
162
|
hire sessions [target] List sessions
|
|
157
163
|
hire show <name-or-id> Show session details
|
|
158
164
|
hire delete <name-or-id> Delete a session
|
|
165
|
+
hire delete --all Delete all sessions
|
|
159
166
|
hire doctor Check environment
|
|
160
167
|
|
|
161
168
|
Targets:
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"""Delete command implementation."""
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
from argparse import Namespace
|
|
5
|
+
|
|
6
|
+
from ..session import delete_session, find_session, list_sessions
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def run_delete(args: Namespace) -> int:
|
|
10
|
+
"""Run the delete command."""
|
|
11
|
+
name_or_id = getattr(args, "name_or_id", None)
|
|
12
|
+
delete_all = getattr(args, "all", False)
|
|
13
|
+
force = getattr(args, "force", False)
|
|
14
|
+
|
|
15
|
+
# Delete all sessions
|
|
16
|
+
if delete_all:
|
|
17
|
+
sessions = list_sessions()
|
|
18
|
+
if not sessions:
|
|
19
|
+
print("No sessions to delete")
|
|
20
|
+
return 0
|
|
21
|
+
|
|
22
|
+
# Confirm deletion unless --force
|
|
23
|
+
if not force:
|
|
24
|
+
print(f"Delete all {len(sessions)} session(s)?")
|
|
25
|
+
response = input("Type 'yes' to confirm: ")
|
|
26
|
+
if response.lower() != "yes":
|
|
27
|
+
print("Cancelled")
|
|
28
|
+
return 0
|
|
29
|
+
|
|
30
|
+
deleted = 0
|
|
31
|
+
for session in sessions:
|
|
32
|
+
if delete_session(session):
|
|
33
|
+
deleted += 1
|
|
34
|
+
|
|
35
|
+
print(f"Deleted {deleted} session(s)")
|
|
36
|
+
return 0
|
|
37
|
+
|
|
38
|
+
# Delete single session
|
|
39
|
+
if not name_or_id:
|
|
40
|
+
print("Error: Session name or ID required (or use --all)", file=sys.stderr)
|
|
41
|
+
return 1
|
|
42
|
+
|
|
43
|
+
session = find_session(name_or_id)
|
|
44
|
+
|
|
45
|
+
if not session:
|
|
46
|
+
print(f"Error: Session not found: {name_or_id}", file=sys.stderr)
|
|
47
|
+
return 1
|
|
48
|
+
|
|
49
|
+
# Confirm deletion unless --force
|
|
50
|
+
if not force:
|
|
51
|
+
agent = session.get("agent", "")
|
|
52
|
+
name = session.get("name", "-")
|
|
53
|
+
print(f"Delete session {session['id'][:8]} ({agent}, name={name})?")
|
|
54
|
+
response = input("Type 'yes' to confirm: ")
|
|
55
|
+
if response.lower() != "yes":
|
|
56
|
+
print("Cancelled")
|
|
57
|
+
return 0
|
|
58
|
+
|
|
59
|
+
if delete_session(session):
|
|
60
|
+
print(f"Deleted session: {session['id'][:8]}")
|
|
61
|
+
return 0
|
|
62
|
+
else:
|
|
63
|
+
print(f"Error: Failed to delete session", file=sys.stderr)
|
|
64
|
+
return 1
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"""Delete command implementation."""
|
|
2
|
-
|
|
3
|
-
import sys
|
|
4
|
-
from argparse import Namespace
|
|
5
|
-
|
|
6
|
-
from ..session import delete_session, find_session
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def run_delete(args: Namespace) -> int:
|
|
10
|
-
"""Run the delete command."""
|
|
11
|
-
name_or_id = args.name_or_id
|
|
12
|
-
force = getattr(args, "force", False)
|
|
13
|
-
|
|
14
|
-
session = find_session(name_or_id)
|
|
15
|
-
|
|
16
|
-
if not session:
|
|
17
|
-
print(f"Error: Session not found: {name_or_id}", file=sys.stderr)
|
|
18
|
-
return 1
|
|
19
|
-
|
|
20
|
-
# Confirm deletion unless --force
|
|
21
|
-
if not force:
|
|
22
|
-
agent = session.get("agent", "")
|
|
23
|
-
name = session.get("name", "-")
|
|
24
|
-
print(f"Delete session {session['id'][:8]} ({agent}, name={name})?")
|
|
25
|
-
response = input("Type 'yes' to confirm: ")
|
|
26
|
-
if response.lower() != "yes":
|
|
27
|
-
print("Cancelled")
|
|
28
|
-
return 0
|
|
29
|
-
|
|
30
|
-
if delete_session(session):
|
|
31
|
-
print(f"Deleted session: {session['id'][:8]}")
|
|
32
|
-
return 0
|
|
33
|
-
else:
|
|
34
|
-
print(f"Error: Failed to delete session", file=sys.stderr)
|
|
35
|
-
return 1
|
|
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
|