stackprep-pro 0.2.0__tar.gz → 0.2.1__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,48 @@
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@v4
18
+
19
+ - name: Get version from pyproject.toml
20
+ id: version
21
+ run: echo "VERSION=$(grep '^version' pyproject.toml | sed 's/version = \"\(.*\)\"/\1/')" >> $GITHUB_OUTPUT
22
+
23
+ - name: Check if tag already exists
24
+ id: tag_check
25
+ run: |
26
+ if git ls-remote --tags origin "refs/tags/v${{ steps.version.outputs.VERSION }}" | grep -q .; then
27
+ echo "EXISTS=true" >> $GITHUB_OUTPUT
28
+ else
29
+ echo "EXISTS=false" >> $GITHUB_OUTPUT
30
+ fi
31
+
32
+ - name: Create and push tag
33
+ if: steps.tag_check.outputs.EXISTS == 'false'
34
+ run: |
35
+ git tag "v${{ steps.version.outputs.VERSION }}"
36
+ git push origin "v${{ steps.version.outputs.VERSION }}"
37
+
38
+ - name: Install uv
39
+ if: steps.tag_check.outputs.EXISTS == 'false'
40
+ uses: astral-sh/setup-uv@v4
41
+
42
+ - name: Build
43
+ if: steps.tag_check.outputs.EXISTS == 'false'
44
+ run: uv build
45
+
46
+ - name: Publish to PyPI
47
+ if: steps.tag_check.outputs.EXISTS == 'false'
48
+ 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.1
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.1"
4
4
  description = "stackprep-pro — interview & certification prep MCP server for any AI client"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -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