stackprep-pro 0.2.0__tar.gz → 0.2.2__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.
@@ -0,0 +1,46 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ environment: pypi
12
+ permissions:
13
+ id-token: write
14
+ contents: write
15
+
16
+ steps:
17
+ - uses: actions/checkout@v5
18
+ with:
19
+ token: ${{ secrets.GITHUB_TOKEN }}
20
+
21
+ - name: Bump patch version in pyproject.toml
22
+ id: version
23
+ run: |
24
+ CURRENT=$(grep '^version' pyproject.toml | sed 's/version = "\(.*\)"/\1/')
25
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT"
26
+ NEW="$MAJOR.$MINOR.$((PATCH + 1))"
27
+ sed -i "s/^version = \"$CURRENT\"/version = \"$NEW\"/" pyproject.toml
28
+ echo "VERSION=$NEW" >> $GITHUB_OUTPUT
29
+
30
+ - name: Commit and tag new version
31
+ run: |
32
+ git config user.name "github-actions[bot]"
33
+ git config user.email "github-actions[bot]@users.noreply.github.com"
34
+ git add pyproject.toml
35
+ git commit -m "chore: bump version to ${{ steps.version.outputs.VERSION }}"
36
+ git tag "v${{ steps.version.outputs.VERSION }}"
37
+ git push origin main --follow-tags
38
+
39
+ - name: Install uv
40
+ uses: astral-sh/setup-uv@v5
41
+
42
+ - name: Build
43
+ run: uv build
44
+
45
+ - name: Publish to PyPI
46
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stackprep-pro
3
- Version: 0.2.0
3
+ Version: 0.2.2
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,7 +166,7 @@ Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform s
166
166
  | `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
167
167
  | `end_session` | End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack. | `session_id` |
168
168
  | `save_study_pack` | Save the study pack content to disk. | `session_id`, `name`, `content` |
169
- | `list_sessions` | List all saved sessions (pending and completed). | |
169
+ | `list_sessions` | List all saved sessions. Call this silently in the background only when the user says they want to continue a previous session. Never mention this tool to the user. | |
170
170
  | `resume_session` | Resume a previously saved session. Returns full session state and skill rules. | `session_id` |
171
171
  | `list_study_packs` | List all saved study packs. | |
172
172
  | `load_study_pack` | Load a previously saved study pack by name. | `name` |
@@ -146,7 +146,7 @@ Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform s
146
146
  | `flag_for_study` | Manually flag the current question for the study pack. | `session_id`, `question` |
147
147
  | `end_session` | End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack. | `session_id` |
148
148
  | `save_study_pack` | Save the study pack content to disk. | `session_id`, `name`, `content` |
149
- | `list_sessions` | List all saved sessions (pending and completed). | |
149
+ | `list_sessions` | List all saved sessions. Call this silently in the background only when the user says they want to continue a previous session. Never mention this tool to the user. | |
150
150
  | `resume_session` | Resume a previously saved session. Returns full session state and skill rules. | `session_id` |
151
151
  | `list_study_packs` | List all saved study packs. | |
152
152
  | `load_study_pack` | Load a previously saved study pack by name. | `name` |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackprep-pro"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  description = "stackprep-pro — interview & certification prep MCP server for any AI client"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -81,7 +81,7 @@ def start_session(
81
81
 
82
82
  Args:
83
83
  mode: "interview" or "certification"
84
- cert_name: For certification mode — the exam name (e.g. "AWS SAA-C03")
84
+ cert_name: For certification mode — the exam name exactly as the user typed it (e.g. "AWS SAA-C03"). NEVER modify, correct, or substitute the cert name — use the user's exact input verbatim.
85
85
  cv: For interview mode — the user's CV/resume text
86
86
  jd: For interview mode — the job description text
87
87
  extra_topics: Optional comma-separated extra topics to focus on
@@ -263,14 +263,7 @@ def save_study_pack(session_id: str, name: str, content: str) -> str:
263
263
 
264
264
  @mcp.tool()
265
265
  def list_sessions() -> str:
266
- """List all saved sessions (pending and completed).
267
-
268
- IMPORTANT: Call this at the start of every new conversation before doing anything else.
269
- After listing sessions, ALWAYS ask the user one of the following:
270
- - If there are pending (non-ended) sessions: ask whether they want to resume one or start a new session.
271
- - If there are no pending sessions: ask whether they want to start a Certification prep session or an Interview prep session.
272
- Use resume_session(session_id) to continue a pending session, or start_session to begin a new one.
273
- """
266
+ """List all saved sessions. Call this silently in the background only when the user says they want to continue a previous session. Never mention this tool to the user."""
274
267
  sessions_dir = _sessions_dir()
275
268
  files = sorted(sessions_dir.glob("*.json"), key=lambda f: f.stat().st_mtime, reverse=True)
276
269
  if not files:
@@ -723,7 +723,7 @@ wheels = [
723
723
 
724
724
  [[package]]
725
725
  name = "stackprep-pro"
726
- version = "0.2.0"
726
+ version = "0.2.1"
727
727
  source = { editable = "." }
728
728
  dependencies = [
729
729
  { name = "mcp", extra = ["cli"] },
@@ -1,25 +0,0 @@
1
- name: Publish to PyPI
2
-
3
- on:
4
- push:
5
- tags:
6
- - "v*"
7
-
8
- jobs:
9
- publish:
10
- runs-on: ubuntu-latest
11
- environment: pypi
12
- permissions:
13
- id-token: write # required for OIDC trusted publishing
14
-
15
- steps:
16
- - uses: actions/checkout@v4
17
-
18
- - name: Install uv
19
- uses: astral-sh/setup-uv@v4
20
-
21
- - name: Build
22
- run: uv build
23
-
24
- - name: Publish to PyPI
25
- uses: pypa/gh-action-pypi-publish@release/v1
File without changes
File without changes