@vornrun/mcp 0.2.0-beta.3 → 0.2.0-beta.5
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/index.js +93 -8
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -547,6 +547,54 @@ function migrateSchema(d) {
|
|
|
547
547
|
})();
|
|
548
548
|
logger_default.info("[database] migrated schema to version 8 (approval gate timestamp)");
|
|
549
549
|
}
|
|
550
|
+
if (version < 9) {
|
|
551
|
+
d.transaction(() => {
|
|
552
|
+
d.exec(`
|
|
553
|
+
CREATE TABLE IF NOT EXISTS source_connections (
|
|
554
|
+
id TEXT PRIMARY KEY,
|
|
555
|
+
connector_id TEXT NOT NULL,
|
|
556
|
+
name TEXT NOT NULL,
|
|
557
|
+
filters TEXT NOT NULL DEFAULT '{}',
|
|
558
|
+
sync_interval_minutes INTEGER NOT NULL DEFAULT 5,
|
|
559
|
+
status_mapping TEXT NOT NULL DEFAULT '{}',
|
|
560
|
+
execution_project TEXT,
|
|
561
|
+
last_sync_at TEXT,
|
|
562
|
+
last_sync_error TEXT,
|
|
563
|
+
sync_cursor TEXT,
|
|
564
|
+
created_at TEXT NOT NULL
|
|
565
|
+
)
|
|
566
|
+
`);
|
|
567
|
+
d.exec(`
|
|
568
|
+
CREATE TABLE IF NOT EXISTS task_source_links (
|
|
569
|
+
task_id TEXT NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
570
|
+
connection_id TEXT NOT NULL REFERENCES source_connections(id) ON DELETE CASCADE,
|
|
571
|
+
connector_id TEXT NOT NULL,
|
|
572
|
+
external_id TEXT NOT NULL,
|
|
573
|
+
external_url TEXT NOT NULL,
|
|
574
|
+
source_status_raw TEXT NOT NULL,
|
|
575
|
+
source_updated_at TEXT NOT NULL,
|
|
576
|
+
last_synced_at TEXT NOT NULL,
|
|
577
|
+
conflict_state TEXT NOT NULL DEFAULT 'none',
|
|
578
|
+
PRIMARY KEY (task_id),
|
|
579
|
+
UNIQUE (connection_id, external_id)
|
|
580
|
+
)
|
|
581
|
+
`);
|
|
582
|
+
const taskCols = d.prepare("PRAGMA table_info(tasks)").all();
|
|
583
|
+
if (!taskCols.some((c) => c.name === "source_connector_id")) {
|
|
584
|
+
d.exec("ALTER TABLE tasks ADD COLUMN source_connector_id TEXT");
|
|
585
|
+
}
|
|
586
|
+
if (!taskCols.some((c) => c.name === "source_external_url")) {
|
|
587
|
+
d.exec("ALTER TABLE tasks ADD COLUMN source_external_url TEXT");
|
|
588
|
+
}
|
|
589
|
+
if (!taskCols.some((c) => c.name === "source_external_id")) {
|
|
590
|
+
d.exec("ALTER TABLE tasks ADD COLUMN source_external_id TEXT");
|
|
591
|
+
}
|
|
592
|
+
d.prepare(
|
|
593
|
+
"INSERT OR REPLACE INTO schema_meta (key, value) VALUES ('schema_version', '9')"
|
|
594
|
+
).run();
|
|
595
|
+
})();
|
|
596
|
+
logger_default.info("[database] migrated schema to version 9 (connector source connections)");
|
|
597
|
+
}
|
|
550
598
|
}
|
|
551
599
|
function verifySchema(d) {
|
|
552
600
|
const expectedByTable = {
|
|
@@ -595,6 +643,20 @@ function verifySchema(d) {
|
|
|
595
643
|
ddl: "ALTER TABLE workflow_run_nodes ADD COLUMN project_path TEXT"
|
|
596
644
|
},
|
|
597
645
|
{ column: "approved_at", ddl: "ALTER TABLE workflow_run_nodes ADD COLUMN approved_at TEXT" }
|
|
646
|
+
],
|
|
647
|
+
tasks: [
|
|
648
|
+
{
|
|
649
|
+
column: "source_connector_id",
|
|
650
|
+
ddl: "ALTER TABLE tasks ADD COLUMN source_connector_id TEXT"
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
column: "source_external_url",
|
|
654
|
+
ddl: "ALTER TABLE tasks ADD COLUMN source_external_url TEXT"
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
column: "source_external_id",
|
|
658
|
+
ddl: "ALTER TABLE tasks ADD COLUMN source_external_id TEXT"
|
|
659
|
+
}
|
|
598
660
|
]
|
|
599
661
|
};
|
|
600
662
|
for (const [table, columns] of Object.entries(expectedByTable)) {
|
|
@@ -815,8 +877,8 @@ function saveConfig(config) {
|
|
|
815
877
|
}
|
|
816
878
|
d.prepare("DELETE FROM tasks").run();
|
|
817
879
|
const insertTask = d.prepare(
|
|
818
|
-
`INSERT INTO tasks (id, project_name, title, description, status, "order", assigned_session_id, assigned_agent, agent_session_id, branch, use_worktree, created_at, updated_at, completed_at)
|
|
819
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
|
880
|
+
`INSERT INTO tasks (id, project_name, title, description, status, "order", assigned_session_id, assigned_agent, agent_session_id, branch, use_worktree, created_at, updated_at, completed_at, source_connector_id, source_external_url, source_external_id)
|
|
881
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
|
820
882
|
);
|
|
821
883
|
for (const t of config.tasks ?? []) {
|
|
822
884
|
insertTask.run(
|
|
@@ -833,7 +895,10 @@ function saveConfig(config) {
|
|
|
833
895
|
t.useWorktree ? 1 : 0,
|
|
834
896
|
t.createdAt,
|
|
835
897
|
t.updatedAt,
|
|
836
|
-
t.completedAt ?? null
|
|
898
|
+
t.completedAt ?? null,
|
|
899
|
+
t.sourceConnectorId ?? null,
|
|
900
|
+
t.sourceExternalUrl ?? null,
|
|
901
|
+
t.sourceExternalId ?? null
|
|
837
902
|
);
|
|
838
903
|
}
|
|
839
904
|
d.prepare("DELETE FROM workspaces").run();
|
|
@@ -870,8 +935,8 @@ function dbGetTask(id) {
|
|
|
870
935
|
}
|
|
871
936
|
function dbInsertTask(task) {
|
|
872
937
|
getDb().prepare(
|
|
873
|
-
`INSERT INTO tasks (id, project_name, title, description, status, "order", assigned_session_id, assigned_agent, agent_session_id, branch, use_worktree, created_at, updated_at, completed_at)
|
|
874
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
|
938
|
+
`INSERT INTO tasks (id, project_name, title, description, status, "order", assigned_session_id, assigned_agent, agent_session_id, branch, use_worktree, created_at, updated_at, completed_at, source_connector_id, source_external_url, source_external_id)
|
|
939
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
|
875
940
|
).run(
|
|
876
941
|
task.id,
|
|
877
942
|
task.projectName,
|
|
@@ -886,7 +951,10 @@ function dbInsertTask(task) {
|
|
|
886
951
|
task.useWorktree ? 1 : 0,
|
|
887
952
|
task.createdAt,
|
|
888
953
|
task.updatedAt,
|
|
889
|
-
task.completedAt ?? null
|
|
954
|
+
task.completedAt ?? null,
|
|
955
|
+
task.sourceConnectorId ?? null,
|
|
956
|
+
task.sourceExternalUrl ?? null,
|
|
957
|
+
task.sourceExternalId ?? null
|
|
890
958
|
);
|
|
891
959
|
}
|
|
892
960
|
function dbUpdateTask(id, updates) {
|
|
@@ -936,6 +1004,18 @@ function dbUpdateTask(id, updates) {
|
|
|
936
1004
|
sets.push("completed_at = ?");
|
|
937
1005
|
params.push(updates.completedAt ?? null);
|
|
938
1006
|
}
|
|
1007
|
+
if (updates.sourceConnectorId !== void 0) {
|
|
1008
|
+
sets.push("source_connector_id = ?");
|
|
1009
|
+
params.push(updates.sourceConnectorId);
|
|
1010
|
+
}
|
|
1011
|
+
if (updates.sourceExternalUrl !== void 0) {
|
|
1012
|
+
sets.push("source_external_url = ?");
|
|
1013
|
+
params.push(updates.sourceExternalUrl);
|
|
1014
|
+
}
|
|
1015
|
+
if (updates.sourceExternalId !== void 0) {
|
|
1016
|
+
sets.push("source_external_id = ?");
|
|
1017
|
+
params.push(updates.sourceExternalId);
|
|
1018
|
+
}
|
|
939
1019
|
if (sets.length === 0) return;
|
|
940
1020
|
params.push(id);
|
|
941
1021
|
getDb().prepare(`UPDATE tasks SET ${sets.join(", ")} WHERE id = ?`).run(...params);
|
|
@@ -1129,7 +1209,12 @@ function rowToTask(r) {
|
|
|
1129
1209
|
...r.use_worktree != null && r.use_worktree !== 0 && { useWorktree: true },
|
|
1130
1210
|
createdAt: r.created_at,
|
|
1131
1211
|
updatedAt: r.updated_at,
|
|
1132
|
-
...r.completed_at != null && { completedAt: r.completed_at }
|
|
1212
|
+
...r.completed_at != null && { completedAt: r.completed_at },
|
|
1213
|
+
...r.source_connector_id != null && { sourceConnectorId: r.source_connector_id },
|
|
1214
|
+
...r.source_external_url != null && { sourceExternalUrl: r.source_external_url },
|
|
1215
|
+
...r.source_external_id != null && {
|
|
1216
|
+
sourceExternalId: r.source_external_id
|
|
1217
|
+
}
|
|
1133
1218
|
};
|
|
1134
1219
|
}
|
|
1135
1220
|
function rowToProject(r) {
|
|
@@ -2614,7 +2699,7 @@ console.warn = (...args) => _origError("[mcp:warn]", ...args);
|
|
|
2614
2699
|
console.error = (...args) => _origError("[mcp:error]", ...args);
|
|
2615
2700
|
async function main() {
|
|
2616
2701
|
configManager.init();
|
|
2617
|
-
const version = true ? "0.2.0-beta.
|
|
2702
|
+
const version = true ? "0.2.0-beta.5" : createRequire(import.meta.url)("../package.json").version;
|
|
2618
2703
|
const server = createMcpServer(version);
|
|
2619
2704
|
const transport = new StdioServerTransport();
|
|
2620
2705
|
await server.connect(transport);
|