@shumai-one/shumai-transcode 0.3.5 → 0.3.6
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/bin/{chunk-ehbk2rm4.js → chunk-n7epx6sd.js} +1 -1
- package/bin/shumai-transcode-app.js +82 -13
- package/package.json +7 -7
- package/prisma/migrations/20260810025327_add_mcp_servers/migration.sql +71 -0
- package/prisma/migrations/20260810074554_mcp_server_cleanup/migration.sql +12 -0
- package/prisma/migrations/20260810124707_add_mcp_server_instructions/migration.sql +2 -0
- package/prisma/schema.prisma +69 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shumai-one/shumai-transcode",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "Media transcoding worker for the shumai media workspace",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"zod": "4.4.3"
|
|
28
28
|
},
|
|
29
29
|
"optionalDependencies": {
|
|
30
|
-
"@shumai-one/shumai-transcode-darwin-arm64": "0.3.
|
|
31
|
-
"@shumai-one/shumai-transcode-darwin-x64": "0.3.
|
|
32
|
-
"@shumai-one/shumai-transcode-linux-arm64": "0.3.
|
|
33
|
-
"@shumai-one/shumai-transcode-linux-x64": "0.3.
|
|
34
|
-
"@shumai-one/shumai-transcode-win32-arm64": "0.3.
|
|
35
|
-
"@shumai-one/shumai-transcode-win32-x64": "0.3.
|
|
30
|
+
"@shumai-one/shumai-transcode-darwin-arm64": "0.3.6",
|
|
31
|
+
"@shumai-one/shumai-transcode-darwin-x64": "0.3.6",
|
|
32
|
+
"@shumai-one/shumai-transcode-linux-arm64": "0.3.6",
|
|
33
|
+
"@shumai-one/shumai-transcode-linux-x64": "0.3.6",
|
|
34
|
+
"@shumai-one/shumai-transcode-win32-arm64": "0.3.6",
|
|
35
|
+
"@shumai-one/shumai-transcode-win32-x64": "0.3.6"
|
|
36
36
|
},
|
|
37
37
|
"repository": {
|
|
38
38
|
"type": "git",
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
-- CreateEnum
|
|
2
|
+
CREATE TYPE "McpTransport" AS ENUM ('streamable_http', 'sse');
|
|
3
|
+
|
|
4
|
+
-- CreateTable
|
|
5
|
+
CREATE TABLE "mcp_servers" (
|
|
6
|
+
"id" TEXT NOT NULL,
|
|
7
|
+
"name" TEXT NOT NULL,
|
|
8
|
+
"url" TEXT NOT NULL,
|
|
9
|
+
"transport" "McpTransport" NOT NULL DEFAULT 'streamable_http',
|
|
10
|
+
"authConfig" JSONB DEFAULT '{}',
|
|
11
|
+
"config" JSONB DEFAULT '{}',
|
|
12
|
+
"enabled" BOOLEAN NOT NULL DEFAULT true,
|
|
13
|
+
"permission" "TeamMemberRole" NOT NULL DEFAULT 'reviewer',
|
|
14
|
+
"tools" JSONB DEFAULT '[]',
|
|
15
|
+
"status" TEXT NOT NULL DEFAULT 'not_connected',
|
|
16
|
+
"last_error" TEXT,
|
|
17
|
+
"last_connected_at" TIMESTAMP(3),
|
|
18
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
19
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
20
|
+
"team_id" TEXT NOT NULL,
|
|
21
|
+
|
|
22
|
+
CONSTRAINT "mcp_servers_pkey" PRIMARY KEY ("id")
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
-- CreateTable
|
|
26
|
+
CREATE TABLE "agent_mcp_servers" (
|
|
27
|
+
"id" TEXT NOT NULL,
|
|
28
|
+
"agent_id" TEXT NOT NULL,
|
|
29
|
+
"mcp_server_id" TEXT NOT NULL,
|
|
30
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
31
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
32
|
+
|
|
33
|
+
CONSTRAINT "agent_mcp_servers_pkey" PRIMARY KEY ("id")
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
-- CreateTable
|
|
37
|
+
CREATE TABLE "mcp_server_credentials" (
|
|
38
|
+
"id" TEXT NOT NULL,
|
|
39
|
+
"server_id" TEXT NOT NULL,
|
|
40
|
+
"server_url" TEXT NOT NULL,
|
|
41
|
+
"tokens" JSONB,
|
|
42
|
+
"clientInfo" JSONB,
|
|
43
|
+
"code_verifier" TEXT,
|
|
44
|
+
"oauth_state" TEXT,
|
|
45
|
+
"pending_auth" JSONB,
|
|
46
|
+
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
47
|
+
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
48
|
+
|
|
49
|
+
CONSTRAINT "mcp_server_credentials_pkey" PRIMARY KEY ("id")
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
-- CreateIndex
|
|
53
|
+
CREATE UNIQUE INDEX "mcp_servers_team_id_name_key" ON "mcp_servers"("team_id", "name");
|
|
54
|
+
|
|
55
|
+
-- CreateIndex
|
|
56
|
+
CREATE UNIQUE INDEX "agent_mcp_servers_agent_id_mcp_server_id_key" ON "agent_mcp_servers"("agent_id", "mcp_server_id");
|
|
57
|
+
|
|
58
|
+
-- CreateIndex
|
|
59
|
+
CREATE UNIQUE INDEX "mcp_server_credentials_server_id_key" ON "mcp_server_credentials"("server_id");
|
|
60
|
+
|
|
61
|
+
-- AddForeignKey
|
|
62
|
+
ALTER TABLE "mcp_servers" ADD CONSTRAINT "mcp_servers_team_id_fkey" FOREIGN KEY ("team_id") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
63
|
+
|
|
64
|
+
-- AddForeignKey
|
|
65
|
+
ALTER TABLE "agent_mcp_servers" ADD CONSTRAINT "agent_mcp_servers_agent_id_fkey" FOREIGN KEY ("agent_id") REFERENCES "agents"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
66
|
+
|
|
67
|
+
-- AddForeignKey
|
|
68
|
+
ALTER TABLE "agent_mcp_servers" ADD CONSTRAINT "agent_mcp_servers_mcp_server_id_fkey" FOREIGN KEY ("mcp_server_id") REFERENCES "mcp_servers"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
69
|
+
|
|
70
|
+
-- AddForeignKey
|
|
71
|
+
ALTER TABLE "mcp_server_credentials" ADD CONSTRAINT "mcp_server_credentials_server_id_fkey" FOREIGN KEY ("server_id") REFERENCES "mcp_servers"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Warnings:
|
|
3
|
+
|
|
4
|
+
- You are about to drop the column `enabled` on the `mcp_servers` table. All the data in the column will be lost.
|
|
5
|
+
|
|
6
|
+
*/
|
|
7
|
+
-- DropIndex
|
|
8
|
+
DROP INDEX "mcp_servers_team_id_name_key";
|
|
9
|
+
|
|
10
|
+
-- AlterTable
|
|
11
|
+
ALTER TABLE "mcp_servers" DROP COLUMN "enabled",
|
|
12
|
+
ADD COLUMN "description" TEXT;
|
package/prisma/schema.prisma
CHANGED
|
@@ -252,6 +252,7 @@ model Team {
|
|
|
252
252
|
userMetadata UserMetadata[] @relation("TeamToUserMetadata")
|
|
253
253
|
providers Provider[] @relation("TeamToProvider")
|
|
254
254
|
skills Skill[] @relation("TeamToSkill")
|
|
255
|
+
mcpServers McpServer[] @relation("TeamToMcpServer")
|
|
255
256
|
sandbox Sandbox? @relation("TeamToSandbox")
|
|
256
257
|
agents Agent[] @relation("TeamToAgent")
|
|
257
258
|
aiUsages AiUsage[] @relation("TeamToAiUsage")
|
|
@@ -754,6 +755,7 @@ model Agent {
|
|
|
754
755
|
updatedAt DateTime @updatedAt @map("updated_at")
|
|
755
756
|
agentSessions AgentSession[]
|
|
756
757
|
skills AgentSkill[]
|
|
758
|
+
mcpServers AgentMcpServer[]
|
|
757
759
|
|
|
758
760
|
@@map("agents")
|
|
759
761
|
}
|
|
@@ -771,6 +773,73 @@ model AgentSkill {
|
|
|
771
773
|
@@map("agent_skills")
|
|
772
774
|
}
|
|
773
775
|
|
|
776
|
+
model McpServer {
|
|
777
|
+
id String @id @default(ulid())
|
|
778
|
+
name String
|
|
779
|
+
description String?
|
|
780
|
+
instructions String?
|
|
781
|
+
url String
|
|
782
|
+
transport McpTransport @default(streamable_http)
|
|
783
|
+
/// [McpServerAuthConfig]
|
|
784
|
+
authConfig Json? @default("{}")
|
|
785
|
+
/// [McpServerConfig]
|
|
786
|
+
config Json? @default("{}")
|
|
787
|
+
permission TeamMemberRole @default(reviewer)
|
|
788
|
+
/// [McpToolInfo[]]
|
|
789
|
+
tools Json? @default("[]")
|
|
790
|
+
status String @default("not_connected")
|
|
791
|
+
lastError String? @map("last_error")
|
|
792
|
+
lastConnectedAt DateTime? @map("last_connected_at")
|
|
793
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
794
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
795
|
+
|
|
796
|
+
teamId String @map("team_id")
|
|
797
|
+
team Team @relation("TeamToMcpServer", fields: [teamId], references: [id], onDelete: Cascade)
|
|
798
|
+
|
|
799
|
+
credential McpServerCredential?
|
|
800
|
+
agentMcpServers AgentMcpServer[]
|
|
801
|
+
|
|
802
|
+
@@map("mcp_servers")
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
// Join table: which agents get which MCP servers (mirrors AgentSkill).
|
|
806
|
+
model AgentMcpServer {
|
|
807
|
+
id String @id @default(ulid())
|
|
808
|
+
agentId String @map("agent_id")
|
|
809
|
+
agent Agent @relation(fields: [agentId], references: [id], onDelete: Cascade)
|
|
810
|
+
mcpServerId String @map("mcp_server_id")
|
|
811
|
+
mcpServer McpServer @relation(fields: [mcpServerId], references: [id], onDelete: Cascade)
|
|
812
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
813
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
814
|
+
|
|
815
|
+
@@unique([agentId, mcpServerId])
|
|
816
|
+
@@map("agent_mcp_servers")
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
model McpServerCredential {
|
|
820
|
+
id String @id @default(ulid())
|
|
821
|
+
serverId String @unique @map("server_id")
|
|
822
|
+
server McpServer @relation(fields: [serverId], references: [id], onDelete: Cascade)
|
|
823
|
+
serverUrl String @map("server_url")
|
|
824
|
+
/// [McpStoredTokens]
|
|
825
|
+
tokens Json?
|
|
826
|
+
/// [McpStoredClientInfo]
|
|
827
|
+
clientInfo Json?
|
|
828
|
+
codeVerifier String? @map("code_verifier")
|
|
829
|
+
oauthState String? @map("oauth_state")
|
|
830
|
+
/// [McpPendingAuth]
|
|
831
|
+
pendingAuth Json? @map("pending_auth")
|
|
832
|
+
createdAt DateTime @default(now()) @map("created_at")
|
|
833
|
+
updatedAt DateTime @updatedAt @map("updated_at")
|
|
834
|
+
|
|
835
|
+
@@map("mcp_server_credentials")
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
enum McpTransport {
|
|
839
|
+
streamable_http
|
|
840
|
+
sse
|
|
841
|
+
}
|
|
842
|
+
|
|
774
843
|
model AgentSession {
|
|
775
844
|
id String @id @default(ulid())
|
|
776
845
|
agentId String @map("agent_id")
|