stackprep-pro 0.2.15__tar.gz → 0.2.16__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: stackprep-pro
3
- Version: 0.2.15
3
+ Version: 0.2.16
4
4
  Summary: stackprep-pro — interview & certification prep MCP server for any AI client
5
5
  Project-URL: Homepage, https://github.com/youngpada1/stackprep-pro
6
6
  Project-URL: Repository, https://github.com/youngpada1/stackprep-pro
@@ -166,6 +166,7 @@ Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform s
166
166
  | `submit_answer` | Record the result of an answered question. | `session_id`, `result`, `question` |
167
167
  | `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
168
168
  | `save_session` | Save an in-progress session so the user can continue it later. | `session_id`, `session_name` |
169
+ | `discard_session` | Permanently delete a session. Call this when the user is exiting and answers NO to saving the | `session_id` |
169
170
  | `end_session` | End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack. | `session_id` |
170
171
  | `save_study_pack` | Save the study pack content to disk. | `session_id`, `name`, `content` |
171
172
  | `list_sessions` | List saved sessions. Call this silently when the user wants to continue. Never mention this tool to the user. | `mode` |
@@ -146,6 +146,7 @@ Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform s
146
146
  | `submit_answer` | Record the result of an answered question. | `session_id`, `result`, `question` |
147
147
  | `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
148
148
  | `save_session` | Save an in-progress session so the user can continue it later. | `session_id`, `session_name` |
149
+ | `discard_session` | Permanently delete a session. Call this when the user is exiting and answers NO to saving the | `session_id` |
149
150
  | `end_session` | End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack. | `session_id` |
150
151
  | `save_study_pack` | Save the study pack content to disk. | `session_id`, `name`, `content` |
151
152
  | `list_sessions` | List saved sessions. Call this silently when the user wants to continue. Never mention this tool to the user. | `mode` |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackprep-pro"
3
- version = "0.2.15"
3
+ version = "0.2.16"
4
4
  description = "stackprep-pro — interview & certification prep MCP server for any AI client"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -293,6 +293,18 @@ def save_session(session_id: str, session_name: str) -> str:
293
293
  return f"Session saved as '{name}'. You can continue it later."
294
294
 
295
295
 
296
+ @mcp.tool()
297
+ def discard_session(session_id: str) -> str:
298
+ """Permanently delete a session. Call this when the user is exiting and answers NO to saving the
299
+ session — it removes the session file from disk so it does NOT appear in the continue list later.
300
+
301
+ Args:
302
+ session_id: The session ID to delete
303
+ """
304
+ _delete_session(session_id)
305
+ return "Session discarded. Nothing was saved."
306
+
307
+
296
308
  @mcp.tool()
297
309
  def end_session(session_id: str) -> str:
298
310
  """End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack.
@@ -392,6 +404,10 @@ def list_sessions(mode: str = "") -> str:
392
404
  continue
393
405
  if mode and data.get("mode", "") != mode:
394
406
  continue
407
+ # Only show sessions the user explicitly saved (named). Unnamed auto-persisted
408
+ # sessions are not surfaced unless the user named them via save_session.
409
+ if not data.get("session_name", "").strip():
410
+ continue
395
411
  rows.append((f.stem, data))
396
412
 
397
413
  if not rows:
@@ -16,7 +16,7 @@ The instant the user says ANYTHING meaning they want to stop — "exit", "quit",
16
16
 
17
17
  - **Yes** → ask "What would you like to name this session?" (the user MUST give the name — never invent one),
18
18
  then call `save_session(session_id, session_name=<that name>)`. It stays resumable under that name.
19
- - **No** → only then end, saving nothing.
19
+ - **No** → call `discard_session(session_id)` to permanently delete it, then end. It will NOT appear later.
20
20
 
21
21
  This is mandatory EVERY time, no matter how few questions were answered.
22
22
 
@@ -16,7 +16,7 @@ The instant the user says ANYTHING meaning they want to stop — "exit", "quit",
16
16
 
17
17
  - **Yes** → ask "What would you like to name this session?" (the user MUST give the name — never invent one),
18
18
  then call `save_session(session_id, session_name=<that name>)`. It stays resumable under that name.
19
- - **No** → only then end, saving nothing.
19
+ - **No** → call `discard_session(session_id)` to permanently delete it, then end. It will NOT appear later.
20
20
 
21
21
  This is mandatory EVERY time, no matter how few questions were answered.
22
22
 
@@ -723,7 +723,7 @@ wheels = [
723
723
 
724
724
  [[package]]
725
725
  name = "stackprep-pro"
726
- version = "0.2.15"
726
+ version = "0.2.16"
727
727
  source = { editable = "." }
728
728
  dependencies = [
729
729
  { name = "mcp", extra = ["cli"] },
File without changes
File without changes