@vibecook/ghosttea-electron 0.6.2 → 0.8.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/README.md CHANGED
@@ -7,6 +7,13 @@ external mode when the Electron application already owns a Rust composition
7
7
  service and only wants Ghosttea to attach its authenticated control and frame
8
8
  channels.
9
9
 
10
+ Managed main processes may use the automation client's protocol 1.11
11
+ configuration document methods. Keep those exact-source read/write operations
12
+ out of preload APIs; the utility bridge enforces a reviewed command allowlist
13
+ and rejects raw document operations from renderers. Ghosttea's desktop host
14
+ exposes only open/reload intents and refuses them entirely for externally
15
+ managed daemons.
16
+
10
17
  Frame payloads travel directly from the utility process to renderer
11
18
  MessagePorts. They are not routed through Electron main.
12
19
 
@@ -1,2 +1,2 @@
1
- export { GhostteaAutomationClient, type AutomationInputResult, type GhostteaAutomationClientOptions, type GhostteaControlCommand, type GhostteaControlConnection, type SessionExitedEvent, } from "@vibecook/ghosttea-client";
1
+ export { GhostteaAutomationClient, GhostteaConfigDocumentConflictError, type AutomationInputResult, type GhostteaAutomationClientOptions, type GhostteaControlCommand, type GhostteaControlConnection, type SessionExitedEvent, } from "@vibecook/ghosttea-client";
2
2
  //# sourceMappingURL=automation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../src/automation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"automation.d.ts","sourceRoot":"","sources":["../src/automation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,mCAAmC,EACnC,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC"}
@@ -1,2 +1,2 @@
1
- export { GhostteaAutomationClient, } from "@vibecook/ghosttea-client";
1
+ export { GhostteaAutomationClient, GhostteaConfigDocumentConflictError, } from "@vibecook/ghosttea-client";
2
2
  //# sourceMappingURL=automation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"automation.js","sourceRoot":"","sources":["../src/automation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAMzB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"automation.js","sourceRoot":"","sources":["../src/automation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,mCAAmC,GAMpC,MAAM,2BAA2B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { connectSocket, packet } from "./bridge-socket.js";
2
2
  import { FrameFlowControl, requestedFrameBridgeCapabilities } from "./frame-flow.js";
3
+ import { rendererCommandRejection } from "./renderer-control.js";
3
4
  import { isMainToBridgeMessage } from "./types.js";
4
5
  const parentPort = process.parentPort;
5
6
  const MAX_CONTROL_BYTES = 1024 * 1024;
@@ -83,6 +84,11 @@ async function attachRenderer(rawData, ports) {
83
84
  }
84
85
  controlPort.on("message", ({ data: command }) => {
85
86
  try {
87
+ const rejection = rendererCommandRejection(command);
88
+ if (rejection) {
89
+ controlPort.postMessage(rejection);
90
+ return;
91
+ }
86
92
  const encoded = Buffer.from(JSON.stringify(command));
87
93
  if (encoded.byteLength > MAX_CONTROL_BYTES)
88
94
  throw new Error("control packet exceeds quota");
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-entry.js","sourceRoot":"","sources":["../src/bridge-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-entry.js","sourceRoot":"","sources":["../src/bridge-entry.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { GhostteaElectronBackend, type GhostteaElectronBackendOptions } from "./backend.js";
2
- export { GhostteaAutomationClient, type AutomationInputResult, type GhostteaAutomationClientOptions, type GhostteaControlCommand, type GhostteaControlConnection, type SessionExitedEvent, } from "./automation.js";
2
+ export { GhostteaAutomationClient, GhostteaConfigDocumentConflictError, type AutomationInputResult, type GhostteaAutomationClientOptions, type GhostteaControlCommand, type GhostteaControlConnection, type SessionExitedEvent, } from "./automation.js";
3
3
  export { GhostteaElectronBridge, type GhostteaElectronBridgeOptions } from "./bridge.js";
4
4
  export { allSettledWithin } from "./deadline.js";
5
5
  export { endpointPersists, localEndpoints, openEndpoint, type LocalEndpoints } from "@vibecook/ghosttea-client";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChH,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC1G,YAAY,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,EACxB,mCAAmC,EACnC,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChH,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC1G,YAAY,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { GhostteaElectronBackend } from "./backend.js";
2
- export { GhostteaAutomationClient, } from "./automation.js";
2
+ export { GhostteaAutomationClient, GhostteaConfigDocumentConflictError, } from "./automation.js";
3
3
  export { GhostteaElectronBridge } from "./bridge.js";
4
4
  export { allSettledWithin } from "./deadline.js";
5
5
  export { endpointPersists, localEndpoints, openEndpoint } from "@vibecook/ghosttea-client";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAuC,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,GAMzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAsC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAuB,MAAM,2BAA2B,CAAC;AAChH,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAG7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAuD,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAuC,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,EACxB,mCAAmC,GAMpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAsC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAuB,MAAM,2BAA2B,CAAC;AAChH,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAG7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAuD,MAAM,iBAAiB,CAAC"}
package/dist/main.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { GhostteaElectronBackend, type GhostteaElectronBackendOptions } from "./backend.js";
2
- export { GhostteaAutomationClient, type AutomationInputResult, type GhostteaAutomationClientOptions, type GhostteaControlCommand, type GhostteaControlConnection, type SessionExitedEvent, } from "./automation.js";
2
+ export { GhostteaAutomationClient, GhostteaConfigDocumentConflictError, type AutomationInputResult, type GhostteaAutomationClientOptions, type GhostteaControlCommand, type GhostteaControlConnection, type SessionExitedEvent, } from "./automation.js";
3
3
  export { GhostteaElectronBridge, type GhostteaElectronBridgeOptions } from "./bridge.js";
4
4
  export { installGhostteaClipboardHost, type GhostteaClipboardHost } from "./clipboard.js";
5
5
  export { allSettledWithin } from "./deadline.js";
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC1G,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,KAAK,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,EACxB,mCAAmC,EACnC,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC1G,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC"}
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { GhostteaElectronBackend } from "./backend.js";
2
- export { GhostteaAutomationClient, } from "./automation.js";
2
+ export { GhostteaAutomationClient, GhostteaConfigDocumentConflictError, } from "./automation.js";
3
3
  export { GhostteaElectronBridge } from "./bridge.js";
4
4
  export { installGhostteaClipboardHost } from "./clipboard.js";
5
5
  export { allSettledWithin } from "./deadline.js";
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAuC,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,GAMzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAsC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAA8B,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAG7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAuD,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAuC,MAAM,cAAc,CAAC;AAC5F,OAAO,EACL,wBAAwB,EACxB,mCAAmC,GAMpC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAsC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAA8B,MAAM,gBAAgB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAG7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAuD,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export interface RendererCommandRejection {
2
+ requestId: number;
3
+ type: "error";
4
+ message: string;
5
+ }
6
+ /**
7
+ * Enforce the trust boundary between an untrusted renderer and ghosttead.
8
+ *
9
+ * Shape validation remains ghosttead's responsibility. This allowlist only
10
+ * decides which command families a renderer may attempt to send.
11
+ */
12
+ export declare function rendererCommandRejection(command: unknown): RendererCommandRejection | undefined;
13
+ //# sourceMappingURL=renderer-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-control.d.ts","sourceRoot":"","sources":["../src/renderer-control.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,wBAAwB,GAAG,SAAS,CAc/F"}
@@ -0,0 +1,23 @@
1
+ import { isRendererClientCommandAllowed } from "@vibecook/ghosttea-protocol";
2
+ /**
3
+ * Enforce the trust boundary between an untrusted renderer and ghosttead.
4
+ *
5
+ * Shape validation remains ghosttead's responsibility. This allowlist only
6
+ * decides which command families a renderer may attempt to send.
7
+ */
8
+ export function rendererCommandRejection(command) {
9
+ if (isRendererClientCommandAllowed(command))
10
+ return undefined;
11
+ const requestId = command !== null &&
12
+ typeof command === "object" &&
13
+ Number.isSafeInteger(command.requestId) &&
14
+ Number(command.requestId) >= 0
15
+ ? Number(command.requestId)
16
+ : 0;
17
+ return {
18
+ requestId,
19
+ type: "error",
20
+ message: "Control command is not available to terminal renderers",
21
+ };
22
+ }
23
+ //# sourceMappingURL=renderer-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer-control.js","sourceRoot":"","sources":["../src/renderer-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAQ7E;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,8BAA8B,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9D,MAAM,SAAS,GACb,OAAO,KAAK,IAAI;QAChB,OAAO,OAAO,KAAK,QAAQ;QAC3B,MAAM,CAAC,aAAa,CAAE,OAAmC,CAAC,SAAS,CAAC;QACpE,MAAM,CAAE,OAAiC,CAAC,SAAS,CAAC,IAAI,CAAC;QACvD,CAAC,CAAC,MAAM,CAAE,OAAiC,CAAC,SAAS,CAAC;QACtD,CAAC,CAAC,CAAC,CAAC;IACR,OAAO;QACL,SAAS;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,wDAAwD;KAClE,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibecook/ghosttea-electron",
3
- "version": "0.6.2",
3
+ "version": "0.8.0",
4
4
  "description": "Electron lifecycle and direct renderer transport for Ghosttea.",
5
5
  "license": "MIT",
6
6
  "author": "James Yong",
@@ -64,7 +64,8 @@
64
64
  "prepublishOnly": "npm run build"
65
65
  },
66
66
  "dependencies": {
67
- "@vibecook/ghosttea-client": "0.6.2"
67
+ "@vibecook/ghosttea-client": "0.8.0",
68
+ "@vibecook/ghosttea-protocol": "0.8.0"
68
69
  },
69
70
  "peerDependencies": {
70
71
  "electron": ">=35"