paseo-plugin-zcode-provider 0.2.0 → 0.3.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/NOTICE.md CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  # ZCode ランタイムの配布
14
14
 
15
- ZCode は統合 CLI を配布していないため、このリポジトリは `zcode-runtime-v<version>` タグの GitHub Release で、統合 CLI 配布物の非公式ビルドを配布します(ADR 15)。CI が公開タグの無改変ソースを公式 `scripts/build-zcode.mjs` でビルドし、上流の `LICENSE`(Apache-2.0)、`NOTICE.md`、`THIRD-PARTY-NOTICES.md` と、出典・ビルド記録の `BUILD-INFO.json` を配布物に加えます。ソースは改変しません。第三者コンポーネントはそれぞれのライセンスに従い、上流が `third-party/inventory.json` で確認中とする項目もそのまま引き継ぎます。このビルドは ZCode・Z.ai の承認や保守を受けたものではなく、ZCode・Z.ai の商標の使用許諾も含みません。
15
+ ZCode は統合 CLI を配布していないため、このリポジトリは `zcode-runtime-v<version>-paseo.<n>` タグの GitHub Release で、統合 CLI 配布物の非公式ビルドを配布します(ADR 15)。CI が公開タグのソースに [`patches/zcode/`](patches/zcode) のパッチを当て(ADR 19)、公式 `scripts/build-zcode.mjs` でビルドします。配布物には上流の `LICENSE`(Apache-2.0)、`NOTICE.md`、`THIRD-PARTY-NOTICES.md` と、当てたパッチそのもの(`patches/`)、出典・パッチの SHA-256・ビルド記録を収めた `BUILD-INFO.json` を加えます。パッチは Apache-2.0 で提供し、各パッチの冒頭に変更の目的と対象を記します。これは Apache-2.0 第 4 条 (b) の変更の明示にあたります。それ以前の `zcode-runtime-v3.14.3` は無改変のソースからのビルドです。第三者コンポーネントはそれぞれのライセンスに従い、上流が `third-party/inventory.json` で確認中とする項目もそのまま引き継ぎます。このビルドは ZCode・Z.ai の承認や保守を受けたものではなく、ZCode・Z.ai の商標の使用許諾も含みません。
16
16
 
17
17
  Node.js は利用者のマシンが nodejs.org の公式成果物を直接取得します。このリポジトリは Node.js を再配布しません。
18
18
 
package/README.md CHANGED
@@ -8,12 +8,12 @@ This is an unofficial plugin. It is not endorsed or maintained by ZCode or Z.ai.
8
8
 
9
9
  ## Requirements
10
10
 
11
- | Setting | Requirement |
12
- | -------------- | ------------------------------------------------------------------------------------------------------------ |
13
- | Paseo | 0.8.0 or later; development SDK 0.11.0-beta.5 |
14
- | Plugin Node.js | 22.12.0 or later (the Paseo daemon's runtime) |
15
- | Managed setup | darwin-arm64, linux-x64, linux-arm64, win-x64, win-arm64 |
16
- | ZCode | Managed: 3.14.3 with Node.js 24.21.0. Overrides: stable Server 3.14.0+ / Agent 0.16.9+ with Node.js 24.14.0+ |
11
+ | Setting | Requirement |
12
+ | -------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
13
+ | Paseo | 0.8.0 or later; development SDK 0.11.0-beta.5 |
14
+ | Plugin Node.js | 22.12.0 or later (the Paseo daemon's runtime) |
15
+ | Managed setup | darwin-arm64, linux-x64, linux-arm64, win-x64, win-arm64 |
16
+ | ZCode | Managed: 3.14.3 (release `3.14.3-paseo.1`) with Node.js 24.21.0. Overrides: stable Server 3.14.0+ / Agent 0.16.9+ with Node.js 24.14.0+ |
17
17
 
18
18
  ## Installation
19
19
 
@@ -35,7 +35,7 @@ Open **Settings → Plugins → zcode-provider → Settings**. The screen has tw
35
35
  On the **Runtime** tab, choose **Download and install**. The screen lists every download, its SHA-256, size and license before you start. Setup runs on the machine hosting the daemon:
36
36
 
37
37
  - Node.js 24.21.0 from nodejs.org.
38
- - The ZCode runtime 3.14.3 from this repository's [releases](https://github.com/supermomonga/paseo-plugin-zcode-provider/releases/tag/zcode-runtime-v3.14.3). ZCode does not publish its integrated CLI, so this is an **unofficial build** of the unmodified public source, made and verified by CI. It is not endorsed or maintained by ZCode or Z.ai.
38
+ - The ZCode runtime 3.14.3 from this repository's [releases](https://github.com/supermomonga/paseo-plugin-zcode-provider/releases/tag/zcode-runtime-v3.14.3-paseo.1) (`3.14.3-paseo.1`). ZCode does not publish its integrated CLI, so this is an **unofficial build** of the public source with the patches in [patches/zcode](patches/zcode) applied (ADR 19), made and verified by CI. The patches hide Computer Use and Browser Use, which cannot run here. It is not endorsed or maintained by ZCode or Z.ai.
39
39
 
40
40
  Both archives are verified against SHA-256 values pinned in the plugin and extracted to the daemon user's data directory:
41
41
 
@@ -86,7 +86,7 @@ The source baseline is `29628c9acdb81b703bbd4080c207a0e7ce5e276e` (ZCode `v3.14.
86
86
  - Native permission IDs, option values, questions and Plan approval retain their meanings. Question auto-resolution is disabled for each owned Server. Workspace hook trust is reviewed through the official CLI; it is not represented as “allow once.”
87
87
  - Each session owns its Server process and environment. Metadata requests use temporary Servers. Closing stdin gives ZCode time to clean up before process termination.
88
88
 
89
- The plugin uses ZCode's own skills, MCP configuration and tools. Browser/Computer Use, generic rewind, independent Paseo child agents, hook-review UI and Goal/Workflow controls are outside this migration. `prompt.output_schema`, custom system prompts and `persist:false` are unsupported. MCP `alwaysLoad` is unsupported; stdio MCP commands must be absolute paths. Provider options are unsupported: in Paseo 0.11 and later, `agents.providers.zcode.options` in Paseo's `config.json` makes sessions fail with `INVALID_CONFIGURATION`, and the `command` and `env` overrides there are not applied. Paseo does not show context usage reported before the first turn, and the plugin adds no substitute display; Coding Plan quota appears in Paseo 0.11's Usage screen (see [Coding Plan usage](#coding-plan-usage)).
89
+ The plugin uses ZCode's own skills, MCP configuration and tools. Browser Use and Computer Use cannot run in the plugin's ZCode, even when ZCode Desktop has them enabled: the Computer Use helper accepts only the signed Desktop app, and only Desktop provides browsers. The plugin therefore hides them from the model (ADR 19); Desktop is not affected. Generic rewind, independent Paseo child agents, hook-review UI and Goal/Workflow controls are outside this migration. `prompt.output_schema`, custom system prompts and `persist:false` are unsupported. MCP `alwaysLoad` is unsupported; stdio MCP commands must be absolute paths. Provider options are unsupported: in Paseo 0.11 and later, `agents.providers.zcode.options` in Paseo's `config.json` makes sessions fail with `INVALID_CONFIGURATION`, and the `command` and `env` overrides there are not applied. Paseo does not show context usage reported before the first turn, and the plugin adds no substitute display; Coding Plan quota appears in Paseo 0.11's Usage screen (see [Coding Plan usage](#coding-plan-usage)).
90
90
 
91
91
  ## Persistence
92
92
 
@@ -108,6 +108,6 @@ For failures, report the operation, error code, structured diagnostic and versio
108
108
 
109
109
  ## Development and license
110
110
 
111
- See [development](docs/development.md), [verification](docs/verification.md), [remaining work](docs/todo.md), [ADR 13](docs/adr/0013-公開ソースの公式stdio-serverとv4会話状態を採用する.md) and [ADR 15](docs/adr/0015-プラグイン管理のzcodeランタイムとnode-jsを設定画面から導入する.md).
111
+ See [development](docs/development.md), [verification](docs/verification.md), [remaining work](docs/todo.md), [ADR 13](docs/adr/0013-公開ソースの公式stdio-serverとv4会話状態を採用する.md), [ADR 15](docs/adr/0015-プラグイン管理のzcodeランタイムとnode-jsを設定画面から導入する.md) and [ADR 19](docs/adr/0019-使えない公式プラグインを隠すビルド時パッチを管理下ランタイムに当てる.md).
112
112
 
113
- Original code is [MIT](LICENSE). Vendored ZCode RPC/contracts retain their upstream license and provenance. The ZCode runtime releases are Apache-2.0 builds of unmodified upstream source and include ZCode's LICENSE, NOTICE.md and THIRD-PARTY-NOTICES.md; third-party components keep their own terms. Node.js is downloaded from nodejs.org, not redistributed. The icon retains Apache-2.0 attribution; the historical screenshot includes third-party UI and branding. See [NOTICE](NOTICE.md).
113
+ Original code is [MIT](LICENSE). Vendored ZCode RPC/contracts retain their upstream license and provenance. The ZCode runtime releases are Apache-2.0 builds of the upstream source and include ZCode's LICENSE, NOTICE.md and THIRD-PARTY-NOTICES.md. Releases named `<version>-paseo.<n>` modify that source with the patches in [patches/zcode](patches/zcode) (Apache-2.0), ship them in the archive and list them in `BUILD-INFO.json`; the earlier `3.14.3` release is unmodified; third-party components keep their own terms. Node.js is downloaded from nodejs.org, not redistributed. The icon retains Apache-2.0 attribution; the historical screenshot includes third-party UI and branding. See [NOTICE](NOTICE.md).
@@ -173,7 +173,7 @@ export function RuntimeTab({ theme, layout }: PluginSurfaceProps) {
173
173
  </SettingsRow>
174
174
  <SettingsRow
175
175
  label="ZCode build"
176
- hint="ZCode does not publish its CLI; CI builds the unmodified source."
176
+ hint="ZCode does not publish its CLI; CI builds the public source with this plugin's published patches."
177
177
  >
178
178
  <Value color={theme.colors.foreground} compact={compact}>
179
179
  Unofficial, not endorsed by ZCode or Z.ai
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paseo-plugin-zcode-provider",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Unofficial Paseo provider plugin for ZCode, using the official stdio Services Server of the integrated ZCode CLI.",
5
5
  "keywords": [
6
6
  "paseo",
@@ -40,8 +40,8 @@
40
40
  "test:usage-runtime": "node scripts/check-usage-runtime.mjs",
41
41
  "test:steering-runtime": "node scripts/check-steering-runtime.mjs",
42
42
  "build": "node scripts/build.mjs",
43
- "format": "prettier --write index.client.tsx index.server.ts client server shared scripts test docs README.md NOTICE.md package.json tsconfig.json tsconfig.client.json vitest.config.ts paseo-plugin.json .github/workflows",
44
- "format:check": "prettier --check index.client.tsx index.server.ts client server shared scripts test docs README.md NOTICE.md package.json tsconfig.json tsconfig.client.json vitest.config.ts paseo-plugin.json .github/workflows",
43
+ "format": "prettier --write index.client.tsx index.server.ts client server shared scripts test docs README.md NOTICE.md package.json tsconfig.json tsconfig.client.json vitest.config.ts paseo-plugin.json .github/workflows .github/actions",
44
+ "format:check": "prettier --check index.client.tsx index.server.ts client server shared scripts test docs README.md NOTICE.md package.json tsconfig.json tsconfig.client.json vitest.config.ts paseo-plugin.json .github/workflows .github/actions",
45
45
  "check:zcode-releases": "node scripts/check-zcode-releases.mjs",
46
46
  "check:paseo-releases": "node scripts/check-paseo-releases.mjs",
47
47
  "prepare": "node scripts/generate-build-info.mjs",
@@ -49,6 +49,7 @@
49
49
  "test:model-plan-runtime": "node scripts/check-model-plan-runtime.mjs",
50
50
  "test:e2e": "node scripts/check-e2e.mjs",
51
51
  "check:zcode-source": "node scripts/sync-zcode-source.mjs",
52
+ "check:zcode-patches": "node scripts/apply-zcode-patches.mjs check --source",
52
53
  "test:stdio-runtime": "node scripts/check-stdio-runtime.mjs",
53
54
  "test:native-restore": "node scripts/check-stdio-runtime.mjs --check-native-restore",
54
55
  "setup:managed-runtime": "node scripts/install-managed-runtime.mjs",
@@ -1,2 +1,2 @@
1
1
  // Generated from package.json by npm prepare / prebuild.
2
- export const PROVIDER_VERSION = "0.2.0";
2
+ export const PROVIDER_VERSION = "0.3.0";
@@ -27,6 +27,7 @@ import {
27
27
  } from "../diagnostics.js";
28
28
  import type { Logger } from "../logger.js";
29
29
  import { PROVIDER_VERSION } from "../build-info.js";
30
+ import { UNSUPPORTED_CAPABILITY_ENVIRONMENT } from "../unsupported-capabilities.js";
30
31
 
31
32
  export type SettingsChannel =
32
33
  | "oauth"
@@ -142,6 +143,7 @@ export class ZCodeHostBridge implements HostBridge {
142
143
  cwd: workspace,
143
144
  env: {
144
145
  ...runtimeEnvironment(environment),
146
+ ...UNSUPPORTED_CAPABILITY_ENVIRONMENT,
145
147
  ZCODE_SERVICE_AUTHORITY_MODE: "standalone-server",
146
148
  ZCODE_AGENT_SERVER_COMMAND: runtime.paths.executable,
147
149
  ZCODE_AGENT_SERVER_ARGS_JSON: JSON.stringify([
@@ -53,12 +53,14 @@ export const MANAGED_NODE_ARCHIVES: Readonly<
53
53
  };
54
54
 
55
55
  // Published by .github/workflows/zcode-runtime-release.yml from the pinned
56
- // unmodified source. The same archive serves every managed platform.
56
+ // source with patches/zcode applied (ADR 19). The same archive serves every
57
+ // managed platform.
57
58
  export const MANAGED_ZCODE_VERSION = "3.14.3";
59
+ const MANAGED_ZCODE_RELEASE = `${MANAGED_ZCODE_VERSION}-paseo.1`;
58
60
  export const MANAGED_ZCODE_ARCHIVE: PinnedArchive = {
59
- url: `https://github.com/supermomonga/paseo-plugin-zcode-provider/releases/download/zcode-runtime-v${MANAGED_ZCODE_VERSION}/zcode-runtime-${MANAGED_ZCODE_VERSION}.tar.gz`,
60
- sha256: "a2af414592362d226f92c105d91211e5c4f138cf985b0c86da0eb9163cb9aee7",
61
- size: 79_887_659,
61
+ url: `https://github.com/supermomonga/paseo-plugin-zcode-provider/releases/download/zcode-runtime-v${MANAGED_ZCODE_RELEASE}/zcode-runtime-${MANAGED_ZCODE_RELEASE}.tar.gz`,
62
+ sha256: "c51e4547dc804894fd7d62766ab0ce3d759948b8b56cb515528691d75a8e09f9",
63
+ size: 79_883_611,
62
64
  };
63
65
 
64
66
  export function managedPlatform(
package/server/session.ts CHANGED
@@ -41,6 +41,7 @@ import {
41
41
  } from "./host/schemas.js";
42
42
  import type { HostBridge } from "./host/bridge.js";
43
43
  import type { Logger } from "./logger.js";
44
+ import { UNSUPPORTED_TOOLS } from "./unsupported-capabilities.js";
44
45
  import type {
45
46
  NativePromptInput,
46
47
  NativeSessionEvent,
@@ -611,6 +612,7 @@ export class ZCodeSession {
611
612
  modelSelection: config.modelSelection,
612
613
  mode: config.mode,
613
614
  planEnabled: config.planEnabled === true,
615
+ toolDisallowlist: [...UNSUPPORTED_TOOLS],
614
616
  requestedDelivery: previous
615
617
  ? attachments.length
616
618
  ? "queue"
@@ -0,0 +1,18 @@
1
+ // Official ZCode capabilities that cannot run in the provider's standalone Server
2
+ // (ADR 19). Computer Use needs the code-signed Desktop to start its Helper, and
3
+ // only the Desktop host supplies browsers to Browser Use.
4
+ export const SUPPRESSED_OFFICIAL_PLUGINS = [
5
+ "computer-use@zcode-plugins-official",
6
+ "browser-use@zcode-plugins-official",
7
+ ] as const;
8
+
9
+ // Both capabilities run through this shared tool. Hiding it per turn covers
10
+ // runtimes without the ZCode patch, such as the PASEO_ZCODE_RUNTIME override.
11
+ export const UNSUPPORTED_TOOLS = ["mcp__node_repl__js"] as const;
12
+
13
+ export const UNSUPPORTED_CAPABILITY_ENVIRONMENT = {
14
+ // Official switch: the Server no longer hands node_repl a Computer Use broker.
15
+ ZCODE_CUA_PRODUCT_HELPER: "0",
16
+ // Read by patches/zcode/0001-hide-suppressed-official-plugins.patch.
17
+ PASEO_ZCODE_SUPPRESSED_PLUGINS: SUPPRESSED_OFFICIAL_PLUGINS.join(","),
18
+ } as const;