superproductivity-mcp 1.2.6.dev8__tar.gz → 1.2.6.dev10__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.dev10}/PKG-INFO +1 -1
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/plugin/manifest.json +1 -1
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/plugin/plugin.js +26 -3
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/pyproject.toml +1 -1
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.github/workflows/build.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.github/workflows/publish-dev.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.github/workflows/publish.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.github/workflows/release.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.github/workflows/version-gate.yml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.gitignore +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.mcp.json.example +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.mise.toml +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/LICENSE.txt +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/README.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/build-plugin.sh +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/docs/superpowers/plans/2026-04-29-packaging-distribution.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/docs/superpowers/plans/2026-04-30-gitflow-ci.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/docs/superpowers/specs/2026-04-29-gitflow-ci-design.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/docs/superpowers/specs/2026-04-29-packaging-distribution-design.md +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/plugin/index.html +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/src/superproductivity_mcp/__init__.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/src/superproductivity_mcp/__main__.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/src/superproductivity_mcp/server.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/tests/__init__.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/tests/test_mcp_logic.py +0 -0
- {superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/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.dev10
|
|
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.dev10",
|
|
6
6
|
"manifestVersion": 1,
|
|
7
7
|
"author": "Super Productivity Team",
|
|
8
8
|
"homepage": "https://github.com/johannesjo/super-productivity",
|
|
@@ -543,16 +543,39 @@ 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: Build authoritative set of all task IDs that are subtasks of anything.
|
|
560
|
+
// Use subTaskIds scan (not parentId) — more reliable since parentId may be stale/missing.
|
|
561
|
+
const knownSubtaskIds = new Set(
|
|
562
|
+
allTasks.flatMap(t => t.subTaskIds || [])
|
|
563
|
+
);
|
|
564
|
+
|
|
565
|
+
// Remove any task from project.taskIds that is a known subtask.
|
|
566
|
+
// Tasks created without parentId get added to project.taskIds by SP; later
|
|
567
|
+
// parentId/subTaskIds updates don't remove them, causing double-display.
|
|
568
|
+
const projects = await PluginAPI.getAllProjects();
|
|
569
|
+
for (const project of projects) {
|
|
570
|
+
const wronglyInProject = (project.taskIds || []).filter(id => knownSubtaskIds.has(id));
|
|
571
|
+
if (wronglyInProject.length > 0) {
|
|
572
|
+
try {
|
|
573
|
+
const cleaned = (project.taskIds || []).filter(id => !knownSubtaskIds.has(id));
|
|
574
|
+
await PluginAPI.updateProject(project.id, { taskIds: cleaned });
|
|
575
|
+
fixes.push(`project "${project.title}": removed ${wronglyInProject.length} subtasks from root list`);
|
|
576
|
+
} catch (e) {
|
|
577
|
+
errors.push(`failed to clean project "${project.title}": ${e.message}`);
|
|
578
|
+
}
|
|
556
579
|
}
|
|
557
580
|
}
|
|
558
581
|
|
{superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.github/workflows/build.yml
RENAMED
|
File without changes
|
|
File without changes
|
{superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.github/workflows/publish.yml
RENAMED
|
File without changes
|
{superproductivity_mcp-1.2.6.dev8 → superproductivity_mcp-1.2.6.dev10}/.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.dev10}/tests/test_mcp_logic.py
RENAMED
|
File without changes
|
|
File without changes
|