superproductivity-mcp 1.2.6.dev2__tar.gz → 1.2.6.dev5__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.
Files changed (27) hide show
  1. superproductivity_mcp-1.2.6.dev5/.github/workflows/publish-dev.yml +81 -0
  2. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/PKG-INFO +2 -1
  3. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/plugin/manifest.json +1 -1
  4. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/pyproject.toml +2 -1
  5. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/uv.lock +18 -4
  6. superproductivity_mcp-1.2.6.dev2/.github/workflows/publish-dev.yml +0 -53
  7. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/.github/workflows/build.yml +0 -0
  8. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/.github/workflows/publish.yml +0 -0
  9. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/.github/workflows/release.yml +0 -0
  10. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/.github/workflows/version-gate.yml +0 -0
  11. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/.gitignore +0 -0
  12. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/.mcp.json.example +0 -0
  13. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/.mise.toml +0 -0
  14. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/LICENSE.txt +0 -0
  15. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/README.md +0 -0
  16. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/build-plugin.sh +0 -0
  17. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/docs/superpowers/plans/2026-04-29-packaging-distribution.md +0 -0
  18. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/docs/superpowers/plans/2026-04-30-gitflow-ci.md +0 -0
  19. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/docs/superpowers/specs/2026-04-29-gitflow-ci-design.md +0 -0
  20. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/docs/superpowers/specs/2026-04-29-packaging-distribution-design.md +0 -0
  21. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/plugin/index.html +0 -0
  22. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/plugin/plugin.js +0 -0
  23. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/src/superproductivity_mcp/__init__.py +0 -0
  24. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/src/superproductivity_mcp/__main__.py +0 -0
  25. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/src/superproductivity_mcp/server.py +0 -0
  26. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/tests/__init__.py +0 -0
  27. {superproductivity_mcp-1.2.6.dev2 → superproductivity_mcp-1.2.6.dev5}/tests/test_mcp_logic.py +0 -0
@@ -0,0 +1,81 @@
1
+ name: Publish dev release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - dev
7
+ tags:
8
+ - "v*.dev*"
9
+ - "v*a*"
10
+ - "v*b*"
11
+ - "v*rc*"
12
+
13
+ jobs:
14
+ publish-dev:
15
+ runs-on: ubuntu-latest
16
+ if: startsWith(github.ref, 'refs/tags/') || contains(github.event.head_commit.message, '[publish]')
17
+ permissions:
18
+ contents: write
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+
22
+ - uses: astral-sh/setup-uv@v5
23
+ with:
24
+ enable-cache: true
25
+
26
+ - name: Compute pre-release version
27
+ id: version
28
+ run: |
29
+ if [[ "$GITHUB_REF" == refs/tags/* ]]; then
30
+ VERSION="${GITHUB_REF_NAME#v}"
31
+ echo "source=tag" >> "$GITHUB_OUTPUT"
32
+ else
33
+ CURRENT=$(python3 -c "
34
+ import re
35
+ m = re.search(r'version = \"([^\"]+)\"', open('pyproject.toml').read())
36
+ print(m.group(1))
37
+ ")
38
+ VERSION="${CURRENT}.dev${{ github.run_number }}"
39
+ echo "source=keyword" >> "$GITHUB_OUTPUT"
40
+ fi
41
+ echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
42
+ echo "Pre-release version: ${VERSION}"
43
+
44
+ - name: Patch pyproject.toml and manifest versions
45
+ env:
46
+ VERSION: ${{ steps.version.outputs.version }}
47
+ run: |
48
+ sed -i "s/^version = \".*\"/version = \"${VERSION}\"/" pyproject.toml
49
+ sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"${VERSION}\"/" plugin/manifest.json
50
+ echo "pyproject.toml: $(grep '^version' pyproject.toml)"
51
+ echo "manifest version: $(python3 -c 'import json; print(json.load(open("plugin/manifest.json"))["version"])')"
52
+
53
+ - name: Build plugin zip
54
+ run: bash build-plugin.sh
55
+
56
+ - name: Build MCP package
57
+ run: uv build
58
+
59
+ - name: Publish to PyPI
60
+ run: uv publish
61
+ env:
62
+ UV_PUBLISH_TOKEN: ${{ secrets.UV_PUBLISH_TOKEN }}
63
+
64
+ - name: Publish GitHub pre-release
65
+ env:
66
+ GH_TOKEN: ${{ github.token }}
67
+ run: |
68
+ VERSION="${{ steps.version.outputs.version }}"
69
+ TAG="v${VERSION}"
70
+ ZIP="plugin/plugin-v${VERSION}.zip"
71
+
72
+ if gh release view "$TAG" &>/dev/null; then
73
+ echo "Release $TAG already exists — updating asset"
74
+ gh release upload "$TAG" "$ZIP" --clobber
75
+ else
76
+ echo "Creating pre-release $TAG"
77
+ gh release create "$TAG" "$ZIP" \
78
+ --title "Dev v${VERSION}" \
79
+ --notes "Pre-release dev build. Install MCP server: \`uvx --prerelease=allow superproductivity-mcp==${VERSION}\`" \
80
+ --prerelease
81
+ fi
@@ -1,10 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superproductivity-mcp
3
- Version: 1.2.6.dev2
3
+ Version: 1.2.6.dev5
4
4
  Summary: Super Productivity MCP server for Claude Desktop integration
5
5
  Project-URL: Homepage, https://github.com/ben-elliot-nice/superproductivity-mcp
6
6
  License-File: LICENSE.txt
7
7
  Requires-Python: >=3.10
8
+ Requires-Dist: httpx<0.28.0
8
9
  Requires-Dist: mcp>=1.0.0
9
10
  Description-Content-Type: text/markdown
10
11
 
@@ -2,7 +2,7 @@
2
2
  "id": "sp-mcp-bridge",
3
3
  "name": "MCP Bridge",
4
4
  "description": "Bridge between Super Productivity and MCP (Model Context Protocol) servers for Claude Desktop integration",
5
- "version": "1.2.6",
5
+ "version": "1.2.6.dev5",
6
6
  "manifestVersion": 1,
7
7
  "author": "Super Productivity Team",
8
8
  "homepage": "https://github.com/johannesjo/super-productivity",
@@ -1,11 +1,12 @@
1
1
  [project]
2
2
  name = "superproductivity-mcp"
3
- version = "1.2.6.dev2"
3
+ version = "1.2.6.dev5"
4
4
  description = "Super Productivity MCP server for Claude Desktop integration"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  dependencies = [
8
8
  "mcp>=1.0.0",
9
+ "httpx<0.28.0",
9
10
  ]
10
11
 
11
12
  [project.scripts]
@@ -242,17 +242,18 @@ wheels = [
242
242
 
243
243
  [[package]]
244
244
  name = "httpx"
245
- version = "0.28.1"
245
+ version = "0.27.2"
246
246
  source = { registry = "https://pypi.org/simple" }
247
247
  dependencies = [
248
248
  { name = "anyio" },
249
249
  { name = "certifi" },
250
250
  { name = "httpcore" },
251
251
  { name = "idna" },
252
+ { name = "sniffio" },
252
253
  ]
253
- sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" }
254
+ sdist = { url = "https://files.pythonhosted.org/packages/78/82/08f8c936781f67d9e6b9eeb8a0c8b4e406136ea4c3d1f89a5db71d42e0e6/httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2", size = 144189, upload-time = "2024-08-27T12:54:01.334Z" }
254
255
  wheels = [
255
- { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" },
256
+ { url = "https://files.pythonhosted.org/packages/56/95/9377bcb415797e44274b51d46e3249eba641711cf3348050f76ee7b15ffc/httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0", size = 76395, upload-time = "2024-08-27T12:53:59.653Z" },
256
257
  ]
257
258
 
258
259
  [[package]]
@@ -726,6 +727,15 @@ wheels = [
726
727
  { url = "https://files.pythonhosted.org/packages/d1/b7/b95708304cd49b7b6f82fdd039f1748b66ec2b21d6a45180910802f1abf1/rpds_py-0.30.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ac37f9f516c51e5753f27dfdef11a88330f04de2d564be3991384b2f3535d02e", size = 562191, upload-time = "2025-11-30T20:24:36.853Z" },
727
728
  ]
728
729
 
730
+ [[package]]
731
+ name = "sniffio"
732
+ version = "1.3.1"
733
+ source = { registry = "https://pypi.org/simple" }
734
+ sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" }
735
+ wheels = [
736
+ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" },
737
+ ]
738
+
729
739
  [[package]]
730
740
  name = "sse-starlette"
731
741
  version = "3.3.4"
@@ -757,6 +767,7 @@ name = "superproductivity-mcp"
757
767
  version = "1.2.6"
758
768
  source = { editable = "." }
759
769
  dependencies = [
770
+ { name = "httpx" },
760
771
  { name = "mcp" },
761
772
  ]
762
773
 
@@ -766,7 +777,10 @@ dev = [
766
777
  ]
767
778
 
768
779
  [package.metadata]
769
- requires-dist = [{ name = "mcp", specifier = ">=1.0.0" }]
780
+ requires-dist = [
781
+ { name = "httpx", specifier = "<0.28.0" },
782
+ { name = "mcp", specifier = ">=1.0.0" },
783
+ ]
770
784
 
771
785
  [package.metadata.requires-dev]
772
786
  dev = [{ name = "pytest", specifier = ">=9.0.3" }]
@@ -1,53 +0,0 @@
1
- name: Publish dev release
2
-
3
- on:
4
- push:
5
- branches:
6
- - dev
7
- tags:
8
- - "v*.dev*"
9
- - "v*a*"
10
- - "v*b*"
11
- - "v*rc*"
12
-
13
- jobs:
14
- publish-dev:
15
- runs-on: ubuntu-latest
16
- if: startsWith(github.ref, 'refs/tags/') || contains(github.event.head_commit.message, '[publish]')
17
- steps:
18
- - uses: actions/checkout@v4
19
-
20
- - uses: astral-sh/setup-uv@v5
21
- with:
22
- enable-cache: true
23
-
24
- - name: Compute pre-release version
25
- id: version
26
- run: |
27
- if [[ "$GITHUB_REF" == refs/tags/* ]]; then
28
- VERSION="${GITHUB_REF_NAME#v}"
29
- echo "source=tag" >> "$GITHUB_OUTPUT"
30
- else
31
- CURRENT=$(python3 -c "
32
- import re
33
- m = re.search(r'version = \"([^\"]+)\"', open('pyproject.toml').read())
34
- print(m.group(1))
35
- ")
36
- VERSION="${CURRENT}.dev${{ github.run_number }}"
37
- echo "source=keyword" >> "$GITHUB_OUTPUT"
38
- fi
39
- echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
40
- echo "Pre-release version: ${VERSION}"
41
-
42
- - name: Patch pyproject.toml version
43
- run: |
44
- sed -i "s/^version = \".*\"/version = \"${{ steps.version.outputs.version }}\"/" pyproject.toml
45
- grep "^version" pyproject.toml
46
-
47
- - name: Build package
48
- run: uv build
49
-
50
- - name: Publish to PyPI
51
- run: uv publish
52
- env:
53
- UV_PUBLISH_TOKEN: ${{ secrets.UV_PUBLISH_TOKEN }}