@akagilnc/pi-workflow-roles 0.1.3744 → 0.1.3747

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.
@@ -24832,7 +24832,12 @@ function connectAcpStdio(options) {
24832
24832
  for (const handler of notificationHandlers) handler(message.method, params);
24833
24833
  if (typeof message.id === "number") {
24834
24834
  if (message.method !== "session/request_permission") {
24835
- terminate(acpError("acp-unsupported-client-request", `Unsupported ACP client request: ${message.method}`));
24835
+ child.stdin.write(`${JSON.stringify({
24836
+ jsonrpc: "2.0",
24837
+ id: message.id,
24838
+ error: { code: -32601, message: `Method not found: ${message.method}` }
24839
+ })}
24840
+ `);
24836
24841
  return;
24837
24842
  }
24838
24843
  const choices = Array.isArray(params.options) ? params.options : [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akagilnc/pi-workflow-roles",
3
- "version": "0.1.3744",
3
+ "version": "0.1.3747",
4
4
  "description": "Soul-bound workflow roles for Pi",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -120,8 +120,9 @@ export function connectAcpStdio(options: {
120
120
  for (const waiter of pending.values()) waiter.reject(error);
121
121
  pending.clear();
122
122
  };
123
- // One terminal path: any malformed/unsupported frame or process death closes stdin,
124
- // kills the child, and settles every pending request with the same typed error.
123
+ // Framing corruption or a known required capability with unusable shape still
124
+ // closes the child. Unknown client methods are answered in-band (JSON-RPC
125
+ // method not found) and do not terminate the leg (#760).
125
126
  const terminate = (error: Error): void => {
126
127
  settleClosed(error);
127
128
  child.stdin.end();
@@ -142,7 +143,13 @@ export function connectAcpStdio(options: {
142
143
  for (const handler of notificationHandlers) handler(message.method, params);
143
144
  if (typeof message.id === "number") {
144
145
  if (message.method !== "session/request_permission") {
145
- terminate(acpError("acp-unsupported-client-request", `Unsupported ACP client request: ${message.method}`));
146
+ // Vendor extensions (_x.ai/*, …) and any other unhandled client request:
147
+ // JSON-RPC method-not-found reply; session continues (#760).
148
+ child.stdin.write(`${JSON.stringify({
149
+ jsonrpc: "2.0",
150
+ id: message.id,
151
+ error: { code: -32601, message: `Method not found: ${message.method}` },
152
+ })}\n`);
146
153
  return;
147
154
  }
148
155
  const choices = Array.isArray(params.options) ? params.options : [];