superproductivity-mcp 1.2.6.dev8__tar.gz → 1.2.6.dev9__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.
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/PKG-INFO +1 -1
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/plugin/manifest.json +1 -1
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/plugin/plugin.js +27 -3
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/pyproject.toml +1 -1
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/build.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/publish-dev.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/publish.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/release.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/version-gate.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.gitignore +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.mcp.json.example +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.mise.toml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/LICENSE.txt +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/README.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/build-plugin.sh +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/docs/superpowers/plans/2026-04-29-packaging-distribution.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/docs/superpowers/plans/2026-04-30-gitflow-ci.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/docs/superpowers/specs/2026-04-29-gitflow-ci-design.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/docs/superpowers/specs/2026-04-29-packaging-distribution-design.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/plugin/index.html +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/src/superproductivity_mcp/__init__.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/src/superproductivity_mcp/__main__.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/src/superproductivity_mcp/server.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/tests/__init__.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/tests/test_mcp_logic.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superproductivity-mcp
|
|
3
|
-
Version: 1.2.6.
|
|
3
|
+
Version: 1.2.6.dev9
|
|
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
|
|
@@ -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.dev9",
|
|
6
6
|
"manifestVersion": 1,
|
|
7
7
|
"author": "Super Productivity Team",
|
|
8
8
|
"homepage": "https://github.com/johannesjo/super-productivity",
|
|
@@ -543,16 +543,40 @@ class MCPBridgePlugin {
|
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
545
|
|
|
546
|
-
// For each parent,
|
|
546
|
+
// Step 1: For each parent, add ALL missing children to subTaskIds in one update
|
|
547
547
|
for (const [parentId, missingIds] of missingFromParent) {
|
|
548
548
|
const parent = taskMap.get(parentId);
|
|
549
549
|
try {
|
|
550
550
|
const updated = [...(parent.subTaskIds || []), ...missingIds];
|
|
551
551
|
await PluginAPI.updateTask(parentId, { subTaskIds: updated });
|
|
552
552
|
const childTitles = [...missingIds].map(id => taskMap.get(id)?.title || id);
|
|
553
|
-
fixes.push(`added ${missingIds.size}
|
|
553
|
+
fixes.push(`subTaskIds: added ${missingIds.size} children to "${parent.title}"`);
|
|
554
554
|
} catch (e) {
|
|
555
|
-
errors.push(`failed to fix
|
|
555
|
+
errors.push(`failed to fix subTaskIds for "${taskMap.get(parentId)?.title}": ${e.message}`);
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
// Step 2: Remove subtasks from project taskIds — tasks created without parentId
|
|
560
|
+
// get added to project.taskIds by SP; later setting parentId doesn't remove them,
|
|
561
|
+
// causing double-display (root AND nested). Fix: remove any task with parentId from
|
|
562
|
+
// its project's taskIds, grouped by project to avoid multiple updates per project.
|
|
563
|
+
const projects = await PluginAPI.getAllProjects();
|
|
564
|
+
for (const project of projects) {
|
|
565
|
+
const subtaskIdsInProject = (project.taskIds || []).filter(id => {
|
|
566
|
+
const t = taskMap.get(id);
|
|
567
|
+
return t && t.parentId;
|
|
568
|
+
});
|
|
569
|
+
if (subtaskIdsInProject.length > 0) {
|
|
570
|
+
try {
|
|
571
|
+
const cleaned = (project.taskIds || []).filter(id => {
|
|
572
|
+
const t = taskMap.get(id);
|
|
573
|
+
return !t || !t.parentId;
|
|
574
|
+
});
|
|
575
|
+
await PluginAPI.updateProject(project.id, { taskIds: cleaned });
|
|
576
|
+
fixes.push(`project taskIds: removed ${subtaskIdsInProject.length} subtasks from "${project.title}"`);
|
|
577
|
+
} catch (e) {
|
|
578
|
+
errors.push(`failed to fix taskIds for project "${project.title}": ${e.message}`);
|
|
579
|
+
}
|
|
556
580
|
}
|
|
557
581
|
}
|
|
558
582
|
|
{superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/build.yml
RENAMED
|
File without changes
|
|
File without changes
|
{superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/publish.yml
RENAMED
|
File without changes
|
{superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/.github/workflows/release.yml
RENAMED
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev9}/tests/test_mcp_logic.py
RENAMED
|
File without changes
|
|
File without changes
|