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.
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/PKG-INFO +2 -1
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/README.md +1 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/pyproject.toml +1 -1
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/src/stackprep_pro/server.py +16 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/src/stackprep_pro/skills/certification.md +1 -1
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/src/stackprep_pro/skills/interview.md +1 -1
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/uv.lock +1 -1
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/.claude/settings.json +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/.githooks/pre-commit +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/.github/workflows/publish.yml +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/.gitignore +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/.mcp.json +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/CLAUDE.md +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/scripts/bump_version.sh +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/scripts/generate_readme.py +0 -0
- {stackprep_pro-0.2.15 → stackprep_pro-0.2.16}/src/stackprep_pro/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: stackprep-pro
|
|
3
|
-
Version: 0.2.
|
|
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` |
|
|
@@ -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** →
|
|
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** →
|
|
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
|
|
|
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
|