Skip to content

Commit cfde70c

Browse files
committed
fix(build): repair upstream build gates
1 parent 7c02566 commit cfde70c

14 files changed

Lines changed: 121 additions & 162 deletions

File tree

apps/pythinker-code/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@
8686
"@pymodel/acp-server": "workspace:^",
8787
"@pymodel/agent-core-v2": "workspace:^",
8888
"@pymodel/kap-server": "workspace:^",
89-
"@pymodel/pythinker-code-oauth": "workspace:^",
90-
"@pymodel/pythinker-code-sdk": "workspace:^",
91-
"@pymodel/pythinker-telemetry": "workspace:^",
9289
"@pymodel/migration-legacy": "workspace:^",
9390
"@pymodel/minidb": "workspace:^",
9491
"@pymodel/pi-tui": "workspace:^",
92+
"@pymodel/pythinker-code-oauth": "workspace:^",
93+
"@pymodel/pythinker-code-sdk": "workspace:^",
94+
"@pymodel/pythinker-telemetry": "workspace:^",
9595
"@pymodel/vis-server": "workspace:^",
9696
"@pymodel/vis-web": "workspace:*",
9797
"@types/semver": "^7.7.0",
@@ -104,7 +104,7 @@
104104
"postject": "1.0.0-alpha.6",
105105
"semver": "^7.7.4",
106106
"smol-toml": "^1.6.1",
107-
"tsx": "^4.21.0",
107+
"tsx": "^4.23.5",
108108
"yazl": "^3.3.1",
109109
"zod": "^4.3.6"
110110
},

apps/pythinker-inspect/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
"@types/react-dom": "^19.1.2",
3535
"@vitejs/plugin-react": "^4.4.1",
3636
"tailwindcss": "^4.1.4",
37-
"typescript": "6.0.2",
37+
"typescript": "6.0.3",
3838
"vite": "^6.3.3",
39-
"vitest": "4.1.4"
39+
"vitest": "4.1.9"
4040
}
4141
}

apps/vis/server/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
"devDependencies": {
3838
"@types/yauzl": "^2.10.3",
3939
"@types/yazl": "^2.4.6",
40-
"tsx": "^4.21.0",
41-
"vitest": "4.1.4",
40+
"tsx": "^4.23.5",
41+
"vitest": "4.1.9",
4242
"yazl": "^3.3.1"
4343
}
4444
}

apps/vis/web/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
"@types/react-dom": "^19.1.2",
3535
"@vitejs/plugin-react": "^4.4.1",
3636
"tailwindcss": "^4.1.4",
37-
"typescript": "6.0.2",
37+
"typescript": "6.0.3",
3838
"vite": "^6.3.3",
3939
"vite-plugin-singlefile": "^2.3.3",
40-
"vitest": "4.1.4"
40+
"vitest": "4.1.9"
4141
}
4242
}

docs/en/customization/plugins.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Plugins
22

3-
Plugins package reusable Pythinker Code CLI capabilities into installable units — they can add [Agent Skills](./skills.md), custom [agents](./agents.md), automatically load a specified Skill at session start, contribute system-prompt instructions, and declare MCP servers to provide real tool capabilities. They are ideal for sharing workflows with a team, connecting to external services, or installing extensions from the [official plugins](#official-plugins).
3+
Plugins package reusable Pythinker Code CLI capabilities into installable units — they can add [Agent Skills](../../customization/skills.md), custom [agents](../../customization/agents.md), automatically load a specified Skill at session start, contribute system-prompt instructions, and declare MCP servers to provide real tool capabilities. They are ideal for sharing workflows with a team, connecting to external services, or installing extensions from the [official plugins](#official-plugins).
44

55
## Installation and Management
66

@@ -60,7 +60,7 @@ Network requests only go through `github.com` redirects and `codeload.github.com
6060

6161
### Custom marketplace JSON
6262

63-
Pass a custom marketplace JSON path or URL to `/plugins marketplace <source>`, or set [`PYTHINKER_CODE_PLUGIN_MARKETPLACE_URL`](../configuration/env-vars.md) to override the default catalog. Each entry in the `plugins` array needs an `id` and a `source` (local path, zip URL, or GitHub URL):
63+
Pass a custom marketplace JSON path or URL to `/plugins marketplace <source>`, or set [`PYTHINKER_CODE_PLUGIN_MARKETPLACE_URL`](../../configuration/env-vars.md) to override the default catalog. Each entry in the `plugins` array needs an `id` and a `source` (local path, zip URL, or GitHub URL):
6464

6565
```json
6666
{
@@ -253,7 +253,7 @@ Supported fields:
253253
| `version`, `description`, `keywords`, `author`, `homepage`, `license` | Display metadata |
254254
| `interface` | Fields shown in `/plugins`: `displayName`, `shortDescription`, `longDescription`, `developerName`, `websiteURL` |
255255
| `skills` | One or more `./` paths; must be within the plugin root directory. When omitted, the `SKILL.md` in the root directory is treated as a single Skill root |
256-
| `agents` | One or more `./` paths; must be within the plugin root directory and point to directories containing [agent files](./agents.md#custom-agents). When omitted, the `agents/` directory under the plugin root (if present) is picked up automatically |
256+
| `agents` | One or more `./` paths; must be within the plugin root directory and point to directories containing [agent files](../../customization/agents.md#custom-agents). When omitted, the `agents/` directory under the plugin root (if present) is picked up automatically |
257257
| `sessionStart.skill` | Loads the specified plugin Skill into the main Agent when a new or resumed session starts |
258258
| `skillInstructions` | Additional instructions appended whenever a Skill from this plugin is loaded |
259259
| `systemPrompt` | Inline instructions contributed to the agent's system prompt while the plugin is enabled |
@@ -281,7 +281,7 @@ Each field — the inline `systemPrompt` and the `systemPromptPath` file — is
281281

282282
New sessions and newly created agents read the contributions from the plugins currently enabled. An in-flight request keeps its existing system prompt. `/plugins reload` refreshes the plugin skill list and requests prompt rebuilds for live agents; use it when you need the change to converge deliberately before the next turn. On the v2 engine, installing, enabling, disabling, or removing a plugin updates the catalog immediately and a later prompt rebuild — for example after compaction or a tool-policy change — may pick up the new sections. The legacy engine keeps each live session's plugin snapshot until `/plugins reload` or a new session. A resumed session starts from its persisted prompt, and later rebuilds follow the engine-specific behavior above. Toggling a plugin's MCP server does not change system-prompt sections.
283283

284-
The built-in agent prompt includes instructions from enabled plugins automatically. A custom `SYSTEM.md` or agent file owns its template, so include `${plugin_sections}` where plugin-contributed instructions should appear. If the custom template includes `${base_prompt}` and that effective default already contains the plugin block, do not add `${plugin_sections}` again. See [Custom agents and SYSTEM.md](./agents.md#overriding-the-main-agent-s-system-prompt-with-system-md) for the complete variable table.
284+
The built-in agent prompt includes instructions from enabled plugins automatically. A custom `SYSTEM.md` or agent file owns its template, so include `${plugin_sections}` where plugin-contributed instructions should appear. If the custom template includes `${base_prompt}` and that effective default already contains the plugin block, do not add `${plugin_sections}` again. See [Custom agents and SYSTEM.md](../../customization/agents.md#overriding-the-main-agent-s-system-prompt-with-system-md) for the complete variable table.
285285

286286
## Plugin Slash Commands
287287

@@ -347,7 +347,7 @@ Whatever you type after the command replaces `$ARGUMENTS` in the body (above, `T
347347

348348
## Skills and Session Start
349349

350-
Plugin Skills use the same `SKILL.md` format as ordinary [Agent Skills](./skills.md). A typical directory structure:
350+
Plugin Skills use the same `SKILL.md` format as ordinary [Agent Skills](../../customization/skills.md). A typical directory structure:
351351

352352
```text
353353
my-plugin/
@@ -365,7 +365,7 @@ Regardless of how a Skill is loaded (`sessionStart.skill`, `/skill:<name>`, or a
365365

366366
## Plugin Agents
367367

368-
A plugin can ship custom agents: declare one or more `./` directories in the manifest's `agents` field (or simply place an `agents/` directory under the plugin root). The agent files inside use the same format as [custom agents](./agents.md#custom-agents) and, while the plugin is enabled, are discovered automatically and can be delegated to as sub-agents by the main Agent.
368+
A plugin can ship custom agents: declare one or more `./` directories in the manifest's `agents` field (or simply place an `agents/` directory under the plugin root). The agent files inside use the same format as [custom agents](../../customization/agents.md#custom-agents) and, while the plugin is enabled, are discovered automatically and can be delegated to as sub-agents by the main Agent.
369369

370370
```text
371371
my-plugin/
@@ -378,7 +378,7 @@ Plugin agents rank below every other file source: on a name collision, user-leve
378378

379379
## MCP Servers in Plugins
380380

381-
When a plugin needs real tool capabilities, it can declare `mcpServers` in its manifest, reusing the [MCP](./mcp.md) schema.
381+
When a plugin needs real tool capabilities, it can declare `mcpServers` in its manifest, reusing the [MCP](../../customization/mcp.md) schema.
382382

383383
Stdio server (local command):
384384

@@ -419,7 +419,7 @@ Plugin MCP servers start after `/reload` or in new sessions. To enable or disabl
419419

420420
## Hooks in Plugins
421421

422-
A plugin can declare hook rules in its manifest that run on lifecycle events while the plugin is enabled. Each entry uses the same fields as a [`[[hooks]]` rule in `config.toml`](./hooks.md#configuration) (`event`, `matcher`, `command`, `timeout`):
422+
A plugin can declare hook rules in its manifest that run on lifecycle events while the plugin is enabled. Each entry uses the same fields as a [`[[hooks]]` rule in `config.toml`](../../customization/hooks.md#configuration) (`event`, `matcher`, `command`, `timeout`):
423423

424424
```json
425425
{
@@ -434,7 +434,7 @@ A plugin can declare hook rules in its manifest that run on lifecycle events whi
434434
}
435435
```
436436

437-
Plugin hooks reuse the same mechanism as global hooks — see [Hooks](./hooks.md) for the event list, the stdin JSON payload, and how exit codes and return values affect the main flow. The differences are:
437+
Plugin hooks reuse the same mechanism as global hooks — see [Hooks](../../customization/hooks.md) for the event list, the stdin JSON payload, and how exit codes and return values affect the main flow. The differences are:
438438

439439
- A plugin's hooks are active only while the plugin is **enabled**; disabling the plugin stops its hooks.
440440
- Each hook runs with its working directory set to the plugin root, so `command` can use `./` paths inside the plugin.

docs/reference/pythinker-command.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,6 @@ Migrate local data from a legacy pythinker-cli installation to pythinker-code, i
258258
pythinker migrate
259259
```
260260

261-
For full migration instructions, see [Migrating from pythinker-cli](../guides/migration.md).
262-
263261
### `pythinker upgrade`
264262

265263
Immediately check for the latest version and display an update prompt; exits after you make a selection. `pythinker update` is an alias for this command.

docs/zh/guides/server.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Token: ...
2424
Stop: Ctrl+C
2525
```
2626

27-
服务在前台运行,按 `Ctrl-C` 干净退出。`--host``--log-level` 等完整选项见 [pythinker 命令参考](../reference/pythinker-command.md#pythinker-web)
27+
服务在前台运行,按 `Ctrl-C` 干净退出。`--host``--log-level` 等完整选项见 [pythinker 命令参考](../../reference/pythinker-command.md#pythinker-web)
2828

2929
## 鉴权
3030

@@ -41,7 +41,7 @@ token 泄露时运行 `pythinker web rotate-token` 轮换:新 token 立即写
4141
如果把服务绑定到非本机地址(`--host`),建议额外设置 `PYTHINKER_CODE_PASSWORD` 环境变量作为并列凭证;此时服务端会对鉴权失败自动限流。
4242

4343
::: danger 警告
44-
`--dangerous-bypass-auth` 会彻底关闭鉴权,任何能访问该端口的人都能控制你的会话、文件系统和 shell。仅在可信网络或自有鉴权代理之后使用,详见 [pythinker 命令参考](../reference/pythinker-command.md#pythinker-web)
44+
`--dangerous-bypass-auth` 会彻底关闭鉴权,任何能访问该端口的人都能控制你的会话、文件系统和 shell。仅在可信网络或自有鉴权代理之后使用,详见 [pythinker 命令参考](../../reference/pythinker-command.md#pythinker-web)
4545
:::
4646

4747
## 用 API 驱动一个会话
@@ -113,4 +113,4 @@ curl -s -H "Authorization: Bearer $TOKEN" \
113113
## 下一步
114114

115115
- [服务 API](../reference/server-api.md) — REST 端点全集、错误码、WebSocket 事件与转录协议
116-
- [pythinker 命令](../reference/pythinker-command.md#pythinker-web)`pythinker web` 的全部命令行选项
116+
- [pythinker 命令](../../reference/pythinker-command.md#pythinker-web)`pythinker web` 的全部命令行选项

docs/zh/reference/server-api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 服务 API
22

3-
`pythinker web` 启动的本地服务暴露两组程序化接口:REST API(`/api/v1`,另有 `/api/v2/sessions`)和 WebSocket 事件流(`/api/v1/ws`)。本页是这两组接口的协议参考;服务的启动方式与命令行选项见 [pythinker 命令](./pythinker-command.md#pythinker-web),端到端的上手流程见[本地服务与 API](../guides/server.md)
3+
`pythinker web` 启动的本地服务暴露两组程序化接口:REST API(`/api/v1`,另有 `/api/v2/sessions`)和 WebSocket 事件流(`/api/v1/ws`)。本页是这两组接口的协议参考;服务的启动方式与命令行选项见 [pythinker 命令](../../reference/pythinker-command.md#pythinker-web),端到端的上手流程见[本地服务与 API](../guides/server.md)
44

55
每个端点的完整请求 / 响应 schema 以服务自描述的规范文档为准:`GET /openapi.json`(OpenAPI)与 `GET /asyncapi.json`(AsyncAPI),两者都需要鉴权。
66

@@ -341,4 +341,4 @@ PTY 终端接口,仅 loopback 绑定时挂载。
341341
## 下一步
342342

343343
- [本地服务与 API](../guides/server.md) — 启动、鉴权与端到端调用流程
344-
- [pythinker 命令](./pythinker-command.md#pythinker-web)`pythinker web` 的全部命令行选项
344+
- [pythinker 命令](../../reference/pythinker-command.md#pythinker-web)`pythinker web` 的全部命令行选项

packages/agent-core-v2/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@
6060
"@google/genai": "^1.49.0",
6161
"@jsquash/webp": "^1.5.0",
6262
"@modelcontextprotocol/sdk": "^1.29.0",
63-
"@pymodel/pythinker-code-oauth": "workspace:^",
63+
"@mozilla/readability": "^0.6.0",
6464
"@pymodel/minidb": "workspace:^",
6565
"@pymodel/protocol": "workspace:^",
66+
"@pymodel/pythinker-code-oauth": "workspace:^",
6667
"@pymodel/tree-sitter-bash": "workspace:^",
67-
"@mozilla/readability": "^0.6.0",
6868
"ajv": "^8.18.0",
6969
"ajv-formats": "^3.0.1",
7070
"chokidar": "^4.0.3",
@@ -99,6 +99,6 @@
9999
"@types/yazl": "^2.4.6",
100100
"sinon": "^22.0.0",
101101
"ts-morph": "^28.0.0",
102-
"tsx": "^4.21.0"
102+
"tsx": "^4.23.5"
103103
}
104104
}

packages/agent-core/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@
7474
"@antfu/utils": "^9.3.0",
7575
"@jsquash/webp": "^1.5.0",
7676
"@modelcontextprotocol/sdk": "^1.29.0",
77+
"@mozilla/readability": "^0.6.0",
7778
"@pymodel/kaos": "workspace:^",
78-
"@pymodel/pythinker-code-oauth": "workspace:^",
7979
"@pymodel/kosong": "workspace:^",
8080
"@pymodel/protocol": "workspace:^",
81-
"@mozilla/readability": "^0.6.0",
81+
"@pymodel/pythinker-code-oauth": "workspace:^",
8282
"ajv": "^8.18.0",
8383
"ajv-formats": "^3.0.1",
8484
"chokidar": "^4.0.3",
@@ -116,4 +116,4 @@
116116
"sinon": "^22.0.0",
117117
"yazl": "^3.3.1"
118118
}
119-
}
119+
}

0 commit comments

Comments
 (0)