@dalmasonto/taskflow-mcp 1.0.23 → 1.0.25

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.
package/dist/db.js CHANGED
@@ -130,7 +130,6 @@ function initSchema(db) {
130
130
  CREATE INDEX IF NOT EXISTS idx_notifications_created_at ON notifications(created_at);
131
131
  CREATE INDEX IF NOT EXISTS idx_agent_messages_status ON agent_messages(status);
132
132
  CREATE INDEX IF NOT EXISTS idx_agent_messages_project_id ON agent_messages(project_id);
133
- CREATE INDEX IF NOT EXISTS idx_agent_messages_broadcast_id ON agent_messages(broadcast_id);
134
133
  CREATE INDEX IF NOT EXISTS idx_agent_registry_status ON agent_registry(status);
135
134
  CREATE INDEX IF NOT EXISTS idx_agent_registry_name ON agent_registry(name);
136
135
  CREATE INDEX IF NOT EXISTS idx_agent_registry_project_path ON agent_registry(project_path);
@@ -166,8 +165,9 @@ function initSchema(db) {
166
165
  }
167
166
  if (!colNames.has('broadcast_id')) {
168
167
  db.exec('ALTER TABLE agent_messages ADD COLUMN broadcast_id TEXT');
169
- db.exec('CREATE INDEX IF NOT EXISTS idx_agent_messages_broadcast_id ON agent_messages(broadcast_id)');
170
168
  }
169
+ // Always ensure the index exists (safe for both fresh and migrated databases)
170
+ db.exec('CREATE INDEX IF NOT EXISTS idx_agent_messages_broadcast_id ON agent_messages(broadcast_id)');
171
171
  // Migration: make agent_messages.project_id nullable if it was NOT NULL
172
172
  try {
173
173
  const tableInfo = db.prepare("SELECT sql FROM sqlite_master WHERE name = 'agent_messages'").get();
package/dist/index.js CHANGED
@@ -60,7 +60,7 @@ if (!httpOnly) {
60
60
  const { registerTerminalTools } = await import('./tools/terminal.js');
61
61
  const { registerResources } = await import('./resources.js');
62
62
  const { registerCheckpointTools } = await import('./tools/checkpoint.js');
63
- const server = new McpServer({ name: 'taskflow', version: '1.0.23' }, {
63
+ const server = new McpServer({ name: 'taskflow', version: '1.0.25' }, {
64
64
  instructions: [
65
65
  'You MUST call bootstrap (preferred) or get_agent_instructions before doing any work. This loads your task management rules and project context.',
66
66
  'You MUST create a task in TaskFlow before editing files or running commands. search_tasks first to avoid duplicates.',
package/dist/sse.js CHANGED
@@ -618,12 +618,12 @@ export async function startSSEServer() {
618
618
  if (isTaskFlow) {
619
619
  // Another TaskFlow instance owns this port — connect to it instead
620
620
  activePort = port;
621
- console.log(`[SSE] port ${port} owned by another TaskFlow instance (pid probe) — using it`);
621
+ console.error(`[SSE] port ${port} owned by another TaskFlow instance (pid probe) — using it`);
622
622
  resolve();
623
623
  }
624
624
  else {
625
625
  // Not ours — try next port
626
- console.log(`[SSE] port ${port} in use by non-TaskFlow service — trying ${port + 1}`);
626
+ console.error(`[SSE] port ${port} in use by non-TaskFlow service — trying ${port + 1}`);
627
627
  attempt++;
628
628
  tryPort(port + 1);
629
629
  }
@@ -658,14 +658,14 @@ export async function startSSEServer() {
658
658
  catch { /* ignore */ }
659
659
  }, 3_000);
660
660
  if (port !== PREFERRED_PORT) {
661
- console.log(`[SSE] listening on fallback port ${port} (preferred ${PREFERRED_PORT} was unavailable)`);
661
+ console.error(`[SSE] listening on fallback port ${port} (preferred ${PREFERRED_PORT} was unavailable)`);
662
662
  }
663
663
  else {
664
- console.log(`[SSE] listening on port ${port}`);
664
+ console.error(`[SSE] listening on port ${port}`);
665
665
  }
666
666
  // Relay command polling + state pushing (if relay is configured)
667
667
  if (RELAY_URL && RELAY_PUSH_TOKEN) {
668
- console.log(`[relay] command polling started → ${RELAY_URL}`);
668
+ console.error(`[relay] command polling started → ${RELAY_URL}`);
669
669
  // Push lightweight sync state — only what the remote app needs
670
670
  // SSE events handle real-time updates after this initial load
671
671
  const pushState = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dalmasonto/taskflow-mcp",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "description": "MCP server for TaskFlow — manage projects, tasks, timers, analytics via AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",