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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hire-ai
3
- Version: 0.1.3
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
@@ -1,3 +1,3 @@
1
1
  """hire - CLI to orchestrate AI agents (Claude, Codex, Gemini)."""
2
2
 
3
- __version__ = "0.1.3"
3
+ __version__ = "0.1.4"
@@ -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
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hire-ai"
7
- version = "0.1.3"
7
+ version = "0.1.4"
8
8
  description = "CLI to orchestrate AI agents (Claude, Codex, Gemini)"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -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