procxy 0.1.0-alpha.1 → 0.1.0-alpha.3

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.
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function getHandle(handleId: string): any;
3
3
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/child/agent.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/child/agent.ts"],"names":[],"mappings":";AA0NA,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAE/C"}
@@ -1,9 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { pathToFileURL } from 'node:url';
3
3
  import { ModuleResolutionError } from '../shared/errors.js';
4
- import { validateJsonifiableArray } from '../shared/serialization.js';
4
+ import { validateJsonifiableArray, validateV8SerializableArray } from '../shared/serialization.js';
5
5
  import { ChildProxy } from './child-proxy.js';
6
+ const handleRegistry = new Map();
6
7
  let childProxy;
8
+ let serializationMode = 'json';
7
9
  function sendToParent(message) {
8
10
  if (process.send) {
9
11
  process.send(message);
@@ -25,7 +27,13 @@ function toErrorInfo(error) {
25
27
  }
26
28
  async function handleInit(message) {
27
29
  try {
28
- validateJsonifiableArray(message.constructorArgs, 'constructor arguments');
30
+ serializationMode = message.serialization ?? 'json';
31
+ if (serializationMode === 'json') {
32
+ validateJsonifiableArray(message.constructorArgs, 'constructor arguments');
33
+ }
34
+ else {
35
+ validateV8SerializableArray(message.constructorArgs, 'constructor arguments');
36
+ }
29
37
  let modulePath = message.modulePath;
30
38
  if (!modulePath.startsWith('file://')) {
31
39
  modulePath = pathToFileURL(modulePath).toString();
@@ -39,7 +47,7 @@ async function handleInit(message) {
39
47
  throw new ModuleResolutionError(message.className, `'${message.className}' is not a constructor`);
40
48
  }
41
49
  const instance = new TargetClass(...message.constructorArgs);
42
- childProxy = new ChildProxy(instance, sendToParent);
50
+ childProxy = new ChildProxy(instance, sendToParent, serializationMode);
43
51
  const success = { type: 'INIT_SUCCESS' };
44
52
  sendToParent(success);
45
53
  }
@@ -101,9 +109,14 @@ async function handleParentMessage(message) {
101
109
  }
102
110
  return;
103
111
  }
112
+ if (message.type === 'HANDLE') {
113
+ return;
114
+ }
104
115
  if (!childProxy) {
105
- const errorInfo = toErrorInfo(new Error('Child agent not initialized'));
106
- sendToParent({ type: 'ERROR', id: message.id, error: errorInfo });
116
+ if ('id' in message) {
117
+ const errorInfo = toErrorInfo(new Error('Child agent not initialized'));
118
+ sendToParent({ type: 'ERROR', id: message.id, error: errorInfo });
119
+ }
107
120
  return;
108
121
  }
109
122
  await childProxy.handleRequest(message);
@@ -113,7 +126,29 @@ function setupIpcListener() {
113
126
  console.error('Child agent must be run with IPC enabled (e.g., via child_process.fork)');
114
127
  process.exit(1);
115
128
  }
116
- process.on('message', (msg) => {
129
+ process.on('message', (msg, handle) => {
130
+ if (handle && msg.type === 'HANDLE') {
131
+ const handleMsg = msg;
132
+ try {
133
+ handleRegistry.set(handleMsg.handleId, handle);
134
+ const ack = {
135
+ type: 'HANDLE_ACK',
136
+ handleId: handleMsg.handleId,
137
+ received: true
138
+ };
139
+ sendToParent(ack);
140
+ }
141
+ catch (error) {
142
+ const ack = {
143
+ type: 'HANDLE_ACK',
144
+ handleId: handleMsg.handleId,
145
+ received: false,
146
+ error: error instanceof Error ? error.message : 'Unknown error'
147
+ };
148
+ sendToParent(ack);
149
+ }
150
+ return;
151
+ }
117
152
  handleParentMessage(msg).catch((error) => {
118
153
  console.error('Failed to handle IPC message:', error);
119
154
  });
@@ -122,5 +157,8 @@ function setupIpcListener() {
122
157
  process.exit(0);
123
158
  });
124
159
  }
160
+ export function getHandle(handleId) {
161
+ return handleRegistry.get(handleId);
162
+ }
125
163
  setupIpcListener();
126
164
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/child/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/child/agent.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import type { Request, ChildToParentMessage, CallbackResult, CallbackError, PropertyResult } from '../shared/protocol.js';
2
+ import type { SerializationMode } from '../types/options.js';
2
3
  export declare class ChildProxy {
3
4
  private readonly target;
4
5
  private readonly send;
6
+ private readonly serializationMode;
5
7
  private eventBridge?;
6
8
  private readonly pendingCallbacks;
7
9
  private readonly pendingProperties;
8
10
  private proxiedTarget;
9
- constructor(target: any, send: (message: ChildToParentMessage) => void);
11
+ constructor(target: any, send: (message: ChildToParentMessage) => void, serializationMode?: SerializationMode);
10
12
  handleRequest(message: Request): Promise<void>;
11
13
  private capturePublicProperties;
12
14
  private sendPropertyUpdates;
@@ -1 +1 @@
1
- {"version":3,"file":"child-proxy.d.ts","sourceRoot":"","sources":["../../src/child/child-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,oBAAoB,EAGpB,cAAc,EACd,aAAa,EAEb,cAAc,EACf,MAAM,uBAAuB,CAAC;AAa/B,qBAAa,UAAU;IAmBnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnBvB,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAM7B;IACJ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAM9B;IACJ,OAAO,CAAC,aAAa,CAAM;gBAGR,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI;IA8C1D,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpD,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,cAAc;YAmCR,cAAc;IAsB5B,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI;IAuBrE,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAYnD,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,SAAS;IAqBX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOvC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAG1C"}
1
+ {"version":3,"file":"child-proxy.d.ts","sourceRoot":"","sources":["../../src/child/child-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,oBAAoB,EAGpB,cAAc,EACd,aAAa,EAEb,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAa7D,qBAAa,UAAU;IAmBnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IApBpC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAM7B;IACJ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAM9B;IACJ,OAAO,CAAC,aAAa,CAAM;gBAGR,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,EAC7C,iBAAiB,GAAE,iBAA0B;IA8C1D,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpD,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,cAAc;YAmCR,cAAc;IAsB5B,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI;IAuBrE,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAYnD,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,SAAS;IAqBX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB9B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOvC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAG1C"}
@@ -4,13 +4,15 @@ import { randomUUID } from 'node:crypto';
4
4
  export class ChildProxy {
5
5
  target;
6
6
  send;
7
+ serializationMode;
7
8
  eventBridge;
8
9
  pendingCallbacks = new Map();
9
10
  pendingProperties = new Map();
10
11
  proxiedTarget;
11
- constructor(target, send) {
12
+ constructor(target, send, serializationMode = 'json') {
12
13
  this.target = target;
13
14
  this.send = send;
15
+ this.serializationMode = serializationMode;
14
16
  this.proxiedTarget = new Proxy(target, {
15
17
  get: (target, prop) => {
16
18
  const value = target[prop];
@@ -146,14 +148,24 @@ export class ChildProxy {
146
148
  sendSuccess(id, value) {
147
149
  try {
148
150
  const valueToSerialize = value === undefined ? null : value;
149
- const serialized = serializeToJson(valueToSerialize, 'response value');
150
- const deserialized = deserializeFromJson(serialized, 'response value');
151
- const response = {
152
- type: 'RESULT',
153
- id,
154
- value: deserialized
155
- };
156
- this.send(response);
151
+ if (this.serializationMode === 'json') {
152
+ const serialized = serializeToJson(valueToSerialize, 'response value');
153
+ const deserialized = deserializeFromJson(serialized, 'response value');
154
+ const response = {
155
+ type: 'RESULT',
156
+ id,
157
+ value: deserialized
158
+ };
159
+ this.send(response);
160
+ }
161
+ else {
162
+ const response = {
163
+ type: 'RESULT',
164
+ id,
165
+ value: valueToSerialize
166
+ };
167
+ this.send(response);
168
+ }
157
169
  }
158
170
  catch (error) {
159
171
  this.sendError(id, error);
@@ -1 +1 @@
1
- {"version":3,"file":"child-proxy.js","sourceRoot":"","sources":["../../src/child/child-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-proxy.js","sourceRoot":"","sources":["../../src/child/child-proxy.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export { procxy } from './parent/procxy.js';
2
2
  export type { Procxy } from './types/procxy.js';
3
- export type { ProcxyOptions } from './types/options.js';
3
+ export type { ProcxyOptions, SerializationMode } from './types/options.js';
4
+ export type { V8Serializable } from './shared/serialization.js';
5
+ export type { Procxiable, IsProcxiable, PassableHandle } from './types/procxy.js';
4
6
  export { ProcxyError } from './shared/errors.js';
5
7
  export { TimeoutError } from './shared/errors.js';
6
8
  export { ModuleResolutionError } from './shared/errors.js';
7
9
  export { ChildCrashedError } from './shared/errors.js';
8
10
  export { SerializationError } from './shared/errors.js';
9
11
  export { OptionsValidationError } from './shared/errors.js';
10
- export type { InitMessage, Request, Response, ErrorInfo, EventMessage, ParentToChildMessage, ChildToParentMessage } from './shared/protocol.js';
12
+ export type { InitMessage, Request, Response, ErrorInfo, EventMessage, ParentToChildMessage, ChildToParentMessage, HandleMessage, HandleAck } from './shared/protocol.js';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwDA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAY5C,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAShD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAmBxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkBjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAW5D,YAAY,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwDA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAY5C,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAShD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAU3E,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAmBlF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkBjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAW5D,YAAY,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,SAAS,EACV,MAAM,sBAAsB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwDA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAwC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkBjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwDA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAmD5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkBjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -25,6 +25,7 @@ export declare class IPCClient extends EventEmitter {
25
25
  hasProperty(prop: string): boolean;
26
26
  getPropertySync(prop: string): Jsonifiable;
27
27
  private handleExit;
28
+ sendHandle(handle: import('net').Socket | import('net').Server | import('dgram').Socket | number, handleId?: string): Promise<void>;
28
29
  terminate(): Promise<void>;
29
30
  private toError;
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-client.d.ts","sourceRoot":"","sources":["../../src/parent/ipc-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAkB7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuB3C,qBAAa,SAAU,SAAQ,YAAY;IAUvC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;gBAG5C,YAAY,EAAE,YAAY,EAC3C,OAAO,GAAE,MAAc,EACvB,OAAO,GAAE,MAAU;IAgBrB,IAAI,OAAO,IAAI,YAAY,CAE1B;IAMD,OAAO,CAAC,kBAAkB;IAsF1B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,kBAAkB;IA6BpB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EACxB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,WAAW,CAAC;IAkDvB,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,WAAW;YAQL,oBAAoB;IA+ClC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IAOzB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOlC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAO1C,OAAO,CAAC,UAAU;IAsBZ,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEhC,OAAO,CAAC,OAAO;CAOhB"}
1
+ {"version":3,"file":"ipc-client.d.ts","sourceRoot":"","sources":["../../src/parent/ipc-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAkB7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuB3C,qBAAa,SAAU,SAAQ,YAAY;IAUvC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;gBAG5C,YAAY,EAAE,YAAY,EAC3C,OAAO,GAAE,MAAc,EACvB,OAAO,GAAE,MAAU;IAgBrB,IAAI,OAAO,IAAI,YAAY,CAE1B;IAMD,OAAO,CAAC,kBAAkB;IAsF1B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,kBAAkB;IA6BpB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EACxB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,WAAW,CAAC;IAkDvB,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,WAAW;YAQL,oBAAoB;IA+ClC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IAOzB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOlC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAO1C,OAAO,CAAC,UAAU;IA0BZ,UAAU,CACd,MAAM,EAAE,OAAO,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,EAAE,MAAM,GAAG,OAAO,OAAO,EAAE,MAAM,GAAG,MAAM,EACrF,QAAQ,GAAE,MAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAuEV,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAmEhC,OAAO,CAAC,OAAO;CAOhB"}
@@ -257,6 +257,61 @@ export class IPCClient extends EventEmitter {
257
257
  this.pendingRequests.clear();
258
258
  this.emit('child_exit', code, signal);
259
259
  }
260
+ async sendHandle(handle, handleId = randomUUID()) {
261
+ if (this.isTerminated) {
262
+ throw new Error('Child process has been terminated');
263
+ }
264
+ let handleType;
265
+ if (typeof handle === 'number') {
266
+ handleType = 'fd';
267
+ }
268
+ else if ('listen' in handle && typeof handle.listen === 'function') {
269
+ handleType = 'server';
270
+ }
271
+ else if ('send' in handle && 'bind' in handle) {
272
+ handleType = 'dgram';
273
+ }
274
+ else {
275
+ handleType = 'socket';
276
+ }
277
+ const message = {
278
+ type: 'HANDLE',
279
+ handleId,
280
+ handleType
281
+ };
282
+ return new Promise((resolve, reject) => {
283
+ const timeoutId = setTimeout(() => {
284
+ reject(new Error(`Handle send timeout after ${this.timeout}ms`));
285
+ }, this.timeout);
286
+ const ackHandler = (msg) => {
287
+ if (msg.type === 'HANDLE_ACK' && msg.handleId === handleId) {
288
+ clearTimeout(timeoutId);
289
+ this.childProcess.off('message', ackHandler);
290
+ if (msg.received) {
291
+ resolve();
292
+ }
293
+ else {
294
+ reject(new Error(msg.error ?? 'Handle transfer failed'));
295
+ }
296
+ }
297
+ };
298
+ this.childProcess.on('message', ackHandler);
299
+ const sendHandle = typeof handle === 'number' ? undefined : handle;
300
+ if (typeof handle === 'number') {
301
+ reject(new Error('File descriptor handles are not supported via IPC. Use socket or server instead.'));
302
+ clearTimeout(timeoutId);
303
+ this.childProcess.off('message', ackHandler);
304
+ return;
305
+ }
306
+ this.childProcess.send(message, sendHandle, (error) => {
307
+ if (error) {
308
+ clearTimeout(timeoutId);
309
+ this.childProcess.off('message', ackHandler);
310
+ reject(error);
311
+ }
312
+ });
313
+ });
314
+ }
260
315
  async terminate() {
261
316
  this.childProcess.off('message', this.handleMessage);
262
317
  if (this.isTerminated) {
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-client.js","sourceRoot":"","sources":["../../src/parent/ipc-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc-client.js","sourceRoot":"","sources":["../../src/parent/ipc-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { Procxy } from '../types/procxy.js';
2
2
  import { IPCClient } from './ipc-client.js';
3
- export declare function createParentProxy<T extends object>(ipcClient: IPCClient): Procxy<T>;
3
+ export declare function createParentProxy<T extends object, M extends 'json' | 'advanced' = 'json', SH extends boolean = false>(ipcClient: IPCClient): Procxy<T, M, SH>;
4
4
  //# sourceMappingURL=parent-proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parent-proxy.d.ts","sourceRoot":"","sources":["../../src/parent/parent-proxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAkFnF"}
1
+ {"version":3,"file":"parent-proxy.d.ts","sourceRoot":"","sources":["../../src/parent/parent-proxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,EAAE,SAAS,OAAO,GAAG,KAAK,EACpH,SAAS,EAAE,SAAS,GACnB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAsFlB"}
@@ -27,6 +27,9 @@ export function createParentProxy(ipcClient) {
27
27
  if (prop === '$process') {
28
28
  return ipcClient.process;
29
29
  }
30
+ if (prop === '$sendHandle') {
31
+ return (handle, handleId) => ipcClient.sendHandle(handle, handleId);
32
+ }
30
33
  if (prop === Symbol.dispose) {
31
34
  return () => {
32
35
  void ipcClient.terminate();
@@ -1 +1 @@
1
- {"version":3,"file":"parent-proxy.js","sourceRoot":"","sources":["../../src/parent/parent-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parent-proxy.js","sourceRoot":"","sources":["../../src/parent/parent-proxy.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Constructor } from 'type-fest';
2
2
  import type { Procxy } from '../types/procxy.js';
3
3
  import type { ProcxyOptions } from '../types/options.js';
4
- export declare function procxy<T extends Record<string, typeof Object>, C extends keyof T>(className: keyof T, modulePath?: string, options?: ProcxyOptions, ...constructorArgs: T[keyof T] extends Constructor<any> ? ConstructorParameters<T[keyof T]> : never): Promise<T[C] extends Constructor<infer U> ? Procxy<U> : never>;
5
- export declare function procxy<T extends object>(Class: Constructor<T>, modulePath?: string, options?: ProcxyOptions, ...constructorArgs: ConstructorParameters<Constructor<T>>): Promise<Procxy<T>>;
4
+ export declare function procxy<T extends Record<string, typeof Object>, C extends keyof T, M extends 'advanced' | 'json', SH extends boolean = false>(className: keyof T, modulePathOrOptions?: string | ProcxyOptions<M, SH>, options?: ProcxyOptions<M, SH>, ...constructorArgs: T[keyof T] extends Constructor<any> ? ConstructorParameters<T[keyof T]> : never): Promise<T[C] extends Constructor<infer U> ? Procxy<U, M, SH> : never>;
5
+ export declare function procxy<T extends object, M extends 'advanced' | 'json', SH extends boolean = false>(Class: Constructor<T>, modulePathOrOptions?: string | ProcxyOptions<M, SH>, options?: ProcxyOptions<M, SH>, ...constructorArgs: ConstructorParameters<Constructor<T>>): Promise<Procxy<T, M, SH>>;
6
6
  //# sourceMappingURL=procxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"procxy.d.ts","sourceRoot":"","sources":["../../src/parent/procxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAwMzD,wBAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EACrF,SAAS,EAAE,MAAM,CAAC,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,aAAa,EACvB,GAAG,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GACnD,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACjC,KAAK,GACR,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAClE,wBAAsB,MAAM,CAAC,CAAC,SAAS,MAAM,EAC3C,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,aAAa,EACvB,GAAG,eAAe,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"procxy.d.ts","sourceRoot":"","sources":["../../src/parent/procxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAwNzD,wBAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,UAAU,GAAG,MAAM,EAC7B,EAAE,SAAS,OAAO,GAAG,KAAK,EAE1B,SAAS,EAAE,MAAM,CAAC,EAClB,mBAAmB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,EACnD,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9B,GAAG,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GACnD,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACjC,KAAK,GACR,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;AACzE,wBAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,UAAU,GAAG,MAAM,EAC7B,EAAE,SAAS,OAAO,GAAG,KAAK,EAE1B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,mBAAmB,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,EACnD,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9B,GAAG,eAAe,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC"}
@@ -4,7 +4,7 @@ import { createRequire } from 'node:module';
4
4
  import { resolve, dirname } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { resolveConstructorModule } from '../shared/module-resolver.js';
7
- import { validateJsonifiableArray } from '../shared/serialization.js';
7
+ import { validateJsonifiableArray, validateV8SerializableArray } from '../shared/serialization.js';
8
8
  import { createParentProxy } from './parent-proxy.js';
9
9
  import { IPCClient } from './ipc-client.js';
10
10
  import { ChildCrashedError, OptionsValidationError, TimeoutError } from '../shared/errors.js';
@@ -28,13 +28,23 @@ function validateOptions(options) {
28
28
  }
29
29
  }
30
30
  if (options.args) {
31
- validateJsonifiableArray(options.args, 'ProcxyOptions.args');
31
+ if (options.serialization === 'json' || options.serialization === undefined) {
32
+ validateJsonifiableArray(options.args, 'ProcxyOptions.args');
33
+ }
34
+ else {
35
+ validateV8SerializableArray(options.args, 'ProcxyOptions.args');
36
+ }
32
37
  }
33
38
  if (options.cwd) {
34
39
  if (!existsSync(options.cwd) || !statSync(options.cwd).isDirectory()) {
35
40
  throw new OptionsValidationError('cwd', options.cwd, 'must be an existing directory');
36
41
  }
37
42
  }
43
+ if (options.serialization !== undefined) {
44
+ if (options.serialization !== 'json' && options.serialization !== 'advanced') {
45
+ throw new OptionsValidationError('serialization', options.serialization, 'must be either "json" or "advanced"');
46
+ }
47
+ }
38
48
  }
39
49
  function pickAgentPath() {
40
50
  const currentDir = dirname(fileURLToPath(import.meta.url));
@@ -86,32 +96,55 @@ async function waitForInitialization(ipcClient, timeoutMs) {
86
96
  ipcClient.once('child_exit', onExit);
87
97
  });
88
98
  }
89
- export async function procxy(classOrClassName, modulePath, options, ...constructorArgs) {
90
- validateOptions(options ?? {});
91
- validateJsonifiableArray(constructorArgs, 'constructor arguments');
99
+ export async function procxy(classOrClassName, modulePathOrOptions, options, ...constructorArgs) {
100
+ let modulePath;
101
+ let resolvedOptions;
102
+ if (typeof modulePathOrOptions === 'string') {
103
+ modulePath = modulePathOrOptions;
104
+ resolvedOptions = options;
105
+ }
106
+ else {
107
+ resolvedOptions = modulePathOrOptions;
108
+ modulePath = resolvedOptions?.modulePath;
109
+ }
110
+ validateOptions(resolvedOptions ?? {});
111
+ const serializationMode = resolvedOptions?.serialization ?? 'json';
112
+ if (serializationMode === 'json') {
113
+ validateJsonifiableArray(constructorArgs, 'constructor arguments');
114
+ }
115
+ else if (resolvedOptions?.serialization === 'advanced') {
116
+ validateV8SerializableArray(constructorArgs, 'constructor arguments');
117
+ const supportHandles = resolvedOptions?.supportHandles ?? false;
118
+ if (supportHandles && process.platform === 'win32') {
119
+ console.warn('[procxy] Warning: Handle passing has limited support on Windows. ' +
120
+ 'Some features may not work correctly.');
121
+ }
122
+ }
92
123
  const moduleResolution = resolveConstructorModule(classOrClassName, typeof classOrClassName === 'string'
93
124
  ? classOrClassName
94
125
  : classOrClassName.name, modulePath);
95
126
  const resolvedModulePath = moduleResolution.modulePath.startsWith('file://')
96
127
  ? fileURLToPath(moduleResolution.modulePath)
97
128
  : resolve(moduleResolution.modulePath);
98
- const timeout = options?.timeout ?? DEFAULT_TIMEOUT_MS;
99
- const retries = options?.retries ?? DEFAULT_RETRIES;
129
+ const timeout = resolvedOptions?.timeout ?? DEFAULT_TIMEOUT_MS;
130
+ const retries = resolvedOptions?.retries ?? DEFAULT_RETRIES;
100
131
  const agentPath = pickAgentPath();
101
132
  const execArgv = pickExecArgv(agentPath);
102
133
  const forkOptions = {
103
134
  stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
104
- cwd: options?.cwd ?? process.cwd(),
105
- env: { ...process.env, ...options?.env },
106
- execArgv
135
+ cwd: resolvedOptions?.cwd ?? process.cwd(),
136
+ env: { ...process.env, ...resolvedOptions?.env },
137
+ execArgv,
138
+ serialization: serializationMode
107
139
  };
108
- const child = fork(agentPath, toArgStrings(options?.args), forkOptions);
140
+ const child = fork(agentPath, toArgStrings(resolvedOptions?.args), forkOptions);
109
141
  const ipcClient = new IPCClient(child, timeout, retries);
110
142
  const initMessage = {
111
143
  type: 'INIT',
112
144
  modulePath: resolvedModulePath,
113
145
  className: moduleResolution.className,
114
- constructorArgs: [...constructorArgs]
146
+ constructorArgs: [...constructorArgs],
147
+ serialization: serializationMode
115
148
  };
116
149
  child.send(initMessage);
117
150
  await waitForInitialization(ipcClient, timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"procxy.js","sourceRoot":"","sources":["../../src/parent/procxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procxy.js","sourceRoot":"","sources":["../../src/parent/procxy.ts"],"names":[],"mappings":"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"}