@vibe-forge/mcp 3.1.1 → 3.2.0

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/AGENTS.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  - `vf-mcp` 启动失败
8
8
  - MCP tool 注册、过滤、分类行为异常
9
- - `StartTasks` / `ListTasks` / `AskUserQuestion` 行为异常
9
+ - task MCP tool 行为异常,例如 `AskUserQuestion`
10
10
  - 想确认独立 MCP CLI 与 core / server 的依赖边界
11
11
 
12
12
  ## 入口
@@ -19,18 +19,13 @@
19
19
  - MCP options / stdio server 启动逻辑
20
20
  - `src/tools/*`
21
21
  - MCP tool 注册与实现
22
- - `src/tools/task/manager.ts`
23
- - MCP task tools 的运行时主逻辑
24
- - 直接引用 `@vibe-forge/task`、`@vibe-forge/hooks`、`@vibe-forge/config` 和 `src/sync.ts`
25
- - `src/sync.ts`
26
- - 与 Vibe Forge server 的 session 同步 HTTP API
27
22
 
28
23
  ## 边界约定
29
24
 
30
25
  - CLI loader 统一走 `@vibe-forge/cli-helper/loader`
31
- - `@vibe-forge/mcp` 直接引用本包内需要的 task / hook / prompt / sync 模块,不再通过额外 bindings 装配层传递上下文
32
- - `task` 类工具默认启用
33
- - MCP tool 实现集中在本包
26
+ - `@vibe-forge/mcp` 直接引用本包内需要的 hook / prompt 模块,不再通过额外 bindings 装配层传递上下文
27
+ - `task` domain 不在 MCP 暴露;子 agent 调度、消息、输入提交、停止与状态查看统一走 `vf agent ...` 和 runtime protocol/store
28
+ - MCP tool 实现集中在本包,且不保留 MCP 到 task runtime command 的转换层
34
29
 
35
30
  ## 相关文档
36
31
 
@@ -17,8 +17,12 @@ describe('mcp tools integration', () => {
17
17
  vi.unstubAllGlobals()
18
18
  })
19
19
 
20
- it('registers task tools by default', () => {
21
- expect(createMcpTools()).toHaveProperty('task')
20
+ it('does not expose task tools', () => {
21
+ expect(createMcpTools()).toEqual({
22
+ general: expect.any(Function),
23
+ interaction: expect.any(Function)
24
+ })
25
+ expect(createMcpTools()).not.toHaveProperty('task')
22
26
  })
23
27
 
24
28
  describe('wait tool', () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-forge/mcp",
3
- "version": "3.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "Vibe Forge MCP server",
5
5
  "imports": {
6
6
  "#~/*.js": {
@@ -33,13 +33,9 @@
33
33
  "@modelcontextprotocol/sdk": "^1.25.3",
34
34
  "commander": "^12.1.0",
35
35
  "zod": "^3.24.1",
36
- "@vibe-forge/cli-helper": "3.0.1",
37
- "@vibe-forge/config": "3.1.0",
38
- "@vibe-forge/task": "3.1.0",
39
- "@vibe-forge/hooks": "3.1.1",
40
- "@vibe-forge/register": "3.0.1",
41
- "@vibe-forge/utils": "3.1.0",
42
- "@vibe-forge/types": "3.1.0"
36
+ "@vibe-forge/utils": "3.2.0",
37
+ "@vibe-forge/cli-helper": "3.2.0",
38
+ "@vibe-forge/register": "3.2.0"
43
39
  },
44
40
  "scripts": {
45
41
  "test": "pnpm -C ../.. exec vitest run --workspace vitest.workspace.ts --project bundler packages/mcp/__tests__"
package/src/index.ts CHANGED
@@ -1,14 +1,2 @@
1
1
  export { configureMcpCommand, registerMcpCommand } from './command'
2
- export type {
3
- McpManagedTaskInput,
4
- McpOptions,
5
- McpResolvedTaskQueryOptions,
6
- McpSelectionFilter,
7
- McpTaskBindings,
8
- McpTaskDefinitionType,
9
- McpTaskHookInputs,
10
- McpTaskOutputEvent,
11
- McpTaskQueryOptions,
12
- McpTaskRunOptions,
13
- McpTaskSession
14
- } from './types'
2
+ export type { McpOptions } from './types'
@@ -1,6 +1,5 @@
1
1
  import wait from './general/wait'
2
2
  import askUser from './interaction/ask-user'
3
- import { createTaskRegister } from './task'
4
3
  import type { Register } from './types'
5
4
 
6
5
  export const createMcpTools = (): Record<string, Register> => ({
@@ -9,6 +8,5 @@ export const createMcpTools = (): Record<string, Register> => ({
9
8
  },
10
9
  interaction: (server) => {
11
10
  askUser(server)
12
- },
13
- task: createTaskRegister()
11
+ }
14
12
  })
package/src/types.ts CHANGED
@@ -1,16 +1,3 @@
1
- export type {
2
- McpManagedTaskInput,
3
- McpResolvedTaskQueryOptions,
4
- McpSelectionFilter,
5
- McpTaskBindings,
6
- McpTaskDefinitionType,
7
- McpTaskHookInputs,
8
- McpTaskOutputEvent,
9
- McpTaskQueryOptions,
10
- McpTaskRunOptions,
11
- McpTaskSession
12
- } from '@vibe-forge/types'
13
-
14
1
  export interface McpOptions {
15
2
  includeTools?: string
16
3
  excludeTools?: string
@@ -1,23 +0,0 @@
1
- import { afterEach, describe, expect, it } from 'vitest'
2
-
3
- import { getParentSessionId } from '#~/sync.js'
4
-
5
- describe('mcp sync helpers', () => {
6
- afterEach(() => {
7
- delete process.env.__VF_PROJECT_AI_SESSION_ID__
8
- delete process.env.__VF_PROJECT_AI_CTX_ID__
9
- })
10
-
11
- it('prefers the current session id when resolving the parent session id', () => {
12
- process.env.__VF_PROJECT_AI_SESSION_ID__ = 'session-parent'
13
- process.env.__VF_PROJECT_AI_CTX_ID__ = 'ctx-parent'
14
-
15
- expect(getParentSessionId()).toBe('session-parent')
16
- })
17
-
18
- it('falls back to ctx id when the session id is missing', () => {
19
- process.env.__VF_PROJECT_AI_CTX_ID__ = 'ctx-parent'
20
-
21
- expect(getParentSessionId()).toBe('ctx-parent')
22
- })
23
- })