zcode-acp-server 0.47.0 → 0.47.2

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.
@@ -93,6 +93,23 @@ export interface CliConfigFile {
93
93
  export declare function readCliConfig(): Promise<CliConfigFile>;
94
94
  /** Structural check for the parts of the file this module owns. */
95
95
  export declare function validateCliConfig(doc: Record<string, unknown>): boolean | string;
96
+ /**
97
+ * Type-check the known MCP server fields before they reach the config file.
98
+ *
99
+ * The route passes the request body through to `upsertMcpServer` unmerged, and
100
+ * the schema check above only asks "is it an object" — so without this a
101
+ * `{"args": "npx"}` (string where the runtime expects an array) would persist
102
+ * happily. It does NOT take the whole map down: the runtime validates each
103
+ * entry separately and skips only the bad one (source: ZCode
104
+ * `packages/adapters/src/config/schema.ts`, `normalizeConfigFileInput` —
105
+ * per-entry `mcpServerSchema.safeParse` with a `config_mcp_server_invalid`
106
+ * warning). What the user loses is the server they just added, disappearing
107
+ * with no error anywhere in the bridge — so the write is refused here, where
108
+ * the reason can be reported, instead of being silently dropped at the next
109
+ * agent start. Unknown keys still pass through: the runtime keeps adding
110
+ * fields and the file is not ours to narrow.
111
+ */
112
+ export declare function validateMcpServer(name: string, server: unknown): boolean | string;
96
113
  /**
97
114
  * Set a skill's enabled state.
98
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cli-config.d.ts","sourceRoot":"","sources":["../../src/settings/cli-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-config.d.ts","sourceRoot":"","sources":["../../src/settings/cli-config.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,55 @@ export function validateCliConfig(doc) {
113
113
  function isRecord(value) {
114
114
  return typeof value === "object" && value !== null && !Array.isArray(value);
115
115
  }
116
+ /**
117
+ * Type-check the known MCP server fields before they reach the config file.
118
+ *
119
+ * The route passes the request body through to `upsertMcpServer` unmerged, and
120
+ * the schema check above only asks "is it an object" — so without this a
121
+ * `{"args": "npx"}` (string where the runtime expects an array) would persist
122
+ * happily. It does NOT take the whole map down: the runtime validates each
123
+ * entry separately and skips only the bad one (source: ZCode
124
+ * `packages/adapters/src/config/schema.ts`, `normalizeConfigFileInput` —
125
+ * per-entry `mcpServerSchema.safeParse` with a `config_mcp_server_invalid`
126
+ * warning). What the user loses is the server they just added, disappearing
127
+ * with no error anywhere in the bridge — so the write is refused here, where
128
+ * the reason can be reported, instead of being silently dropped at the next
129
+ * agent start. Unknown keys still pass through: the runtime keeps adding
130
+ * fields and the file is not ours to narrow.
131
+ */
132
+ export function validateMcpServer(name, server) {
133
+ if (!isRecord(server))
134
+ return "server must be an object";
135
+ for (const key of ["type", "url", "command"]) {
136
+ const value = server[key];
137
+ if (value !== undefined && typeof value !== "string") {
138
+ return `mcp.servers.${name}.${key} must be a string`;
139
+ }
140
+ }
141
+ for (const key of ["args"]) {
142
+ const value = server[key];
143
+ if (value !== undefined &&
144
+ (!Array.isArray(value) || value.some((v) => typeof v !== "string"))) {
145
+ return `mcp.servers.${name}.${key} must be an array of strings`;
146
+ }
147
+ }
148
+ for (const key of ["env", "headers"]) {
149
+ const value = server[key];
150
+ if (value === undefined)
151
+ continue;
152
+ if (!isRecord(value))
153
+ return `mcp.servers.${name}.${key} must be an object`;
154
+ for (const inner of Object.values(value)) {
155
+ if (typeof inner !== "string")
156
+ return `mcp.servers.${name}.${key} values must be strings`;
157
+ }
158
+ }
159
+ const enabled = server["enabled"];
160
+ if (enabled !== undefined && typeof enabled !== "boolean") {
161
+ return `mcp.servers.${name}.enabled must be a boolean`;
162
+ }
163
+ return true;
164
+ }
116
165
  /** The single write path for this file. */
117
166
  async function saveCliConfig(mutator) {
118
167
  const { doc } = await writeJsonAtomic(zcodeCliConfigPath(), async (current) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-config.js","sourceRoot":"","sources":["../../src/settings/cli-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-config.js","sourceRoot":"","sources":["../../src/settings/cli-config.ts"],"names":[],"mappings":"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"}
@@ -477,9 +477,20 @@ a `providerId` and a network read, so fetch them from
477
477
 
478
478
  Notes that clients must honor:
479
479
 
480
+ - **Methods include PUT and DELETE**, and the hub's CORS preflight allows all
481
+ four (`GET, POST, PUT, DELETE, OPTIONS`) — a browser-based client can issue
482
+ them without a plugin fetch shim.
480
483
  - **Providers cannot be created or deleted** through this API — only enabled
481
484
  state, display name, and the models inside an existing provider. Adding a
482
485
  brand-new provider stays a desktop-app (or hand-edit) operation.
486
+ - **MCP writes are type-checked**: `type` / `url` / `command` must be strings,
487
+ `args` an array of strings, `env` / `headers` objects of strings, `enabled` a
488
+ boolean — anything else is a `400`. Unknown keys still pass through, but a
489
+ malformed known field is refused rather than persisted: the agent runtime
490
+ validates each server on its own and silently SKIPS the one that fails, so a
491
+ bad entry would make the server you just added vanish at the next start with
492
+ no error anywhere. `type` may be omitted — the runtime infers `stdio` from a
493
+ `command` and `http` from a `url`, and also accepts a legacy `remote`.
483
494
  - **Hooks are read-complete but write-limited**: the tree is returned in full,
484
495
  and writes may only modify an existing entry's `command` / `timeoutMs` /
485
496
  `enabled`. Adding or removing events, matchers, or hook entries is not
@@ -508,7 +519,9 @@ POST {hub}/api/instances/{id}/backend/restart → 200 { "ok": true, "cancelledTu
508
519
  Cancels that bridge's in-flight turns, kills its `zcode app-server` child, and
509
520
  lets the next prompt respawn it — the same path the sandbox arm-flip uses.
510
521
  `cancelledTurns` is how many conversations were interrupted; surface it before
511
- the user commits to the action.
522
+ the user commits to the action. The response also carries `closed`: `false`
523
+ means the old child refused to die, the pending flag stays armed (the writes
524
+ were NOT applied), and the restart is worth retrying.
512
525
 
513
526
  `GET /api/instances/{id}/settings/pending-restart` reports whether that bridge
514
527
  process has recorded any `needs-restart` write since it last restarted its
@@ -518,8 +531,10 @@ tracking it itself. The flag is cleared by a successful backend restart.
518
531
  Use the **per-instance** spelling, not the hub-local
519
532
  `GET /api/settings/pending-restart`: the counter lives in the bridge that served
520
533
  the write, and the hub has no backend of its own to restart, so its copy can
521
- never be cleared (the hub-local route answers `501` on a restart attempt and
522
- keeps reporting `true` until the hub idle-exits).
534
+ never be cleared. The hub-local route therefore answers `409` with a pointer to
535
+ the per-instance spelling rather than a `pendingRestart` boolean — reporting
536
+ `true` would strand a client on "restart needed" with no request able to clear
537
+ it, and reporting `false` would be a claim it cannot verify.
523
538
 
524
539
  ### Reset cards (coding-plan quota)
525
540
 
@@ -542,12 +557,30 @@ POST /settings/reset-cards/history-read { providerId }
542
557
  ```
543
558
 
544
559
  - `resetType` is `FIVE_HOUR` or `WEEK`.
545
- - The `nonce` is single-use and issued per status read. Sending a stale one
546
- answers `409` — refresh the status and retry. This is what stops a screen the
547
- user left open an hour ago from spending a card they have since seen change.
560
+ - The `nonce` is issued per status read. Sending one that was never issued (or
561
+ that a newer status read replaced) answers `409` — refresh the status and
562
+ retry. This is what stops a screen the user left open an hour ago from
563
+ spending a card they have since seen change.
564
+ - The nonce is burned only **after** the spend settles, never before it. A spend
565
+ that reached the server and failed on the way back (timeout, dropped
566
+ response, upstream error) leaves the nonce valid, so the retry is judged by
567
+ the backend and its idempotency key — not rejected out of hand with a `409`
568
+ the user cannot act on.
569
+ - A spend already in flight for the same provider is refused with `409` ("a
570
+ reset for this provider is already in progress"). The deferred burn is safe
571
+ for a RETRY of the same gesture — same key, so the backend answers with the
572
+ outcome it already recorded — but a second INDEPENDENT gesture (a double tap,
573
+ another client that read the same status) brings its own key, and nothing
574
+ upstream could stop it burning a second card. Serialize the UI on the busy
575
+ state the client already tracks.
548
576
  - The `idempotencyKey` is what makes a retry safe: the same key always answers
549
577
  the same outcome, so a dropped response cannot burn a second card. Generate
550
- it once per user gesture and reuse it on retry.
578
+ it once per user gesture and reuse it on retry — a FRESH key per attempt is
579
+ exactly what defeats it.
580
+ - Status codes carry the retry advice. A `409` is a nonce problem (refresh). A
581
+ `502`/`504` means the reset API was unreachable or failed — the card may have
582
+ been spent, so retry with the same key rather than assuming the write failed.
583
+ A `400` is a request the server rejected outright.
551
584
  - A denial is `{ok: true, granted: false, nextTryAt: <ms>}` — a countdown to
552
585
  render, not an error.
553
586
  - `credentials_unavailable` means the machine's encrypted credential store
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zcode-acp-server",
3
- "version": "0.47.0",
3
+ "version": "0.47.2",
4
4
  "description": "Agent Client Protocol (ACP) server bridging headless ZCode to editors like Zed and JetBrains.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",