stackprep-pro 0.2.19__tar.gz → 0.2.21__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.19
3
+ Version: 0.2.21
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackprep-pro"
3
- version = "0.2.19"
3
+ version = "0.2.21"
4
4
  description = "stackprep-pro — interview & certification prep MCP server for any AI client"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -19,10 +19,11 @@ PRESENTATION (every message): always respond as elegant RENDERED markdown blocks
19
19
  dividers, clean tables/lists. NEVER output flat plain text.
20
20
 
21
21
  After the user picks a mode, silently call BOTH list_sessions(mode=<chosen mode>) and
22
- list_study_packs(mode=<chosen mode>). Show the user, as elegant blocks for that mode:
23
- - their saved sessions they can continue (by the name they gave each), and
24
- - their saved study packs they can open (by name).
25
- Then they can continue a session, open a study pack, or start new. Collect inputs and call start_session.
22
+ list_study_packs(mode=<chosen mode>). Then show ONE single "What would you like to do?" block — a single
23
+ numbered table — listing, as rows: each saved session to continue (by its name), each saved study pack to
24
+ open (by its name), and a final "Start a brand-new prep" row. Do NOT show separate "saved sessions" and
25
+ "saved study packs" tables on top of the options table only the one combined options table. The user
26
+ replies with a number. Collect inputs and call start_session.
26
27
  Follow the skill rules returned by start_session exactly — the skill is the source of truth."""
27
28
 
28
29
  # Hardcoded so the very first block is guaranteed, not AI-guessed.
@@ -166,6 +167,8 @@ def start_session(
166
167
  _sessions[session_id] = {
167
168
  "mode": mode,
168
169
  "cert_name": cert_name,
170
+ "cv": cv,
171
+ "jd": jd,
169
172
  "session_name": "",
170
173
  "extra_topics": extra_topics,
171
174
  "q_num": 0,
@@ -459,6 +462,12 @@ def resume_session(session_id: str) -> str:
459
462
  ]
460
463
  if cert:
461
464
  context_lines.append(f"Certification: {cert}")
465
+ cv = session.get("cv", "")
466
+ jd = session.get("jd", "")
467
+ if cv:
468
+ context_lines.append(f"\n--- CV ---\n{cv}")
469
+ if jd:
470
+ context_lines.append(f"\n--- Job description ---\n{jd}")
462
471
  context_lines += [
463
472
  f"Questions answered so far: {q_num}",
464
473
  f"Score so far: {score['correct']}/{score['total']} "
@@ -22,6 +22,13 @@ This is mandatory EVERY time, no matter how few questions were answered.
22
22
 
23
23
  ## Session setup
24
24
 
25
+ When starting a NEW interview session, first check (silently, via list_sessions) whether the user has a
26
+ previously saved interview session. If so, ask: "Do you want to reuse the same CV and job description from a
27
+ previous session, or provide new ones?" If they reuse, take the CV and JD from that saved session and pass
28
+ them to start_session unchanged. Otherwise ask for the new CV and JD.
29
+
30
+ The CV and JD are stored on the session, so a resumed session keeps the exact same CV and JD.
31
+
25
32
  Inputs arrive via MCP (CV, job description, extra topics). After analysing the CV and JD, present a clean, structured overview in this exact layout:
26
33
 
27
34
  ```
@@ -723,7 +723,7 @@ wheels = [
723
723
 
724
724
  [[package]]
725
725
  name = "stackprep-pro"
726
- version = "0.2.19"
726
+ version = "0.2.21"
727
727
  source = { editable = "." }
728
728
  dependencies = [
729
729
  { name = "mcp", extra = ["cli"] },
File without changes
File without changes
File without changes