@procedures/peer 0.2.3 → 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.
@@ -6,13 +6,14 @@
6
6
  */
7
7
  import { Client } from "@procedures/client";
8
8
  import type { TransportType, PeerConnection } from "../types.js";
9
+ import { type Duration } from "@procedures/client";
9
10
  export interface ConnectOptions {
10
11
  /** Remote address (URL) */
11
12
  address: string;
12
13
  /** Transport type (auto-detected from URL if not specified) */
13
14
  transport?: TransportType;
14
- /** Connection timeout in ms */
15
- timeout?: number;
15
+ /** The time limit of the connection, for example `seconds(10)` */
16
+ timeout?: Duration;
16
17
  /** Local peer ID to identify ourselves */
17
18
  localPeerId?: string;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connection/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,MAAM,EAMP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAGf,MAAM,aAAa,CAAC;AAMrB,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AASD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAgC1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connection/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,MAAM,EAMP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAM,KAAK,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMvD,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,kEAAkE;IAClE,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AASD;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAgC1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C"}
@@ -5,6 +5,7 @@
5
5
  * Uses Client + Transport for bidirectional RPC.
6
6
  */
7
7
  import { Client, HttpTransport, WebSocketTransport, defaultUrlPattern, postOnlyStrategy, } from "@procedures/client";
8
+ import { ms } from "@procedures/client";
8
9
  // =============================================================================
9
10
  // Connection Manager
10
11
  // =============================================================================
@@ -105,7 +106,7 @@ function createClient(address, transport, timeout) {
105
106
  return new Client({
106
107
  transport: new WebSocketTransport({
107
108
  url: address,
108
- connectionTimeout: timeout ?? 10000,
109
+ connectionTimeout: timeout ?? ms(10000),
109
110
  reconnect: {
110
111
  enabled: true,
111
112
  maxAttempts: 3,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connection/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connection/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Implements procedure discovery protocol for peers.
5
5
  * Peers exchange procedure manifests on connection.
6
6
  */
7
- import { type Effects, type Procedure, type ProcedureRegistry, type ProcedureRegistryLike } from "@procedures/client";
7
+ import { type Effects, type Procedure, type ProcedureRegistry, type ProcedureRegistryLike, type ProcedureEntry, type ProcedurePath } from "@procedures/client";
8
8
  import type { ProcedureInfo, ProcedureAnnounceMessage } from "../types.js";
9
9
  interface DiscoveryAnnounceInput {
10
10
  /** Optional peer ID of the connecting peer */
@@ -22,7 +22,9 @@ export declare const discoveryAnnounceProcedure: Procedure<DiscoveryAnnounceInpu
22
22
  /**
23
23
  * Get procedure info for all registered procedures of a registry (default: the global registry)
24
24
  */
25
- export declare function getProcedureInfos(registry?: ProcedureRegistryLike): ProcedureInfo[];
25
+ export declare function getProcedureInfos(registry?: ProcedureRegistryLike, expose?: (path: ProcedurePath) => boolean): ProcedureInfo[];
26
+ /** The ProcedureInfo of a manifest entry: the form that the peers exchange. */
27
+ export declare function infoOf(entry: ProcedureEntry): ProcedureInfo;
26
28
  /**
27
29
  * Watch for procedure changes in a registry (default: the global registry)
28
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAG3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAMrB,UAAU,sBAAsB;IAC9B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,CAChD,sBAAsB,EACtB,wBAAwB,EACxB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA0CpD,CAAC;AAMX;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,qBAA0C,GAAG,aAAa,EAAE,CAevG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,EACzE,QAAQ,GAAE,iBAAsC,GAC/C,MAAM,IAAI,CAuBZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAK1B,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAMrB,UAAU,sBAAsB;IAC9B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,CAChD,sBAAsB,EACtB,wBAAwB,EACxB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA6BpD,CAAC;AAMX;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,qBAA0C,EACpD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,GACxC,aAAa,EAAE,CAGjB;AAED,+EAA+E;AAC/E,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,CAM3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,EACzE,QAAQ,GAAE,iBAAsC,GAC/C,MAAM,IAAI,CAuBZ"}
@@ -4,7 +4,7 @@
4
4
  * Implements procedure discovery protocol for peers.
5
5
  * Peers exchange procedure manifests on connection.
6
6
  */
7
- import { createProcedure, PROCEDURE_REGISTRY, REGISTRY_READ_EFFECTS, } from "@procedures/client";
7
+ import { createProcedure, PROCEDURE_REGISTRY, REGISTRY_READ_EFFECTS, describeRegistry, } from "@procedures/client";
8
8
  import { schema } from "../schema.js";
9
9
  // =============================================================================
10
10
  // Discovery Procedure
@@ -25,26 +25,14 @@ export const discoveryAnnounceProcedure = createProcedure()
25
25
  effects: REGISTRY_READ_EFFECTS,
26
26
  })
27
27
  .handler(async (_input, ctx) => {
28
- // The procedures of the registry that serves this call (the peer's registry)
29
- const procedures = (ctx?.registry ?? PROCEDURE_REGISTRY).getAll();
30
- // Convert to ProcedureInfo format
31
- const procedureInfos = procedures
32
- .filter((proc) => {
33
- // Skip internal procedures in discovery
34
- const meta = proc.metadata;
35
- return !meta?.internal;
36
- })
37
- .map((proc) => {
38
- const meta = proc.metadata;
39
- const info = {
40
- path: proc.path,
41
- };
42
- if (meta?.description !== undefined) {
43
- info.description = meta.description;
44
- }
45
- // TODO: Generate JSON schema from input/output schemas
46
- return info;
28
+ // The one manifest of the core (roadmap R17): the procedures of the registry that serves this
29
+ // call and that the host exposes, with their JSON Schemas, without the internal ones.
30
+ // Before, the announce gave no schemas and listed the procedures that the host hides.
31
+ const manifest = describeRegistry(ctx?.registry ?? PROCEDURE_REGISTRY, {
32
+ ...(ctx?.expose ? { expose: ctx.expose } : {}),
33
+ include: (proc) => !proc.metadata?.internal,
47
34
  });
35
+ const procedureInfos = manifest.procedures.map(infoOf);
48
36
  // Generate a peer ID based on process (could be configured)
49
37
  const peerId = `peer-${process.pid}-${Date.now().toString(36)}`;
50
38
  return {
@@ -60,20 +48,20 @@ export const discoveryAnnounceProcedure = createProcedure()
60
48
  /**
61
49
  * Get procedure info for all registered procedures of a registry (default: the global registry)
62
50
  */
63
- export function getProcedureInfos(registry = PROCEDURE_REGISTRY) {
64
- const procedures = registry.getAll();
65
- return procedures
66
- .filter((proc) => proc.handler !== undefined)
67
- .map((proc) => {
68
- const meta = proc.metadata;
69
- const info = {
70
- path: proc.path,
71
- };
72
- if (meta?.description !== undefined) {
73
- info.description = meta.description;
74
- }
75
- return info;
76
- });
51
+ export function getProcedureInfos(registry = PROCEDURE_REGISTRY, expose) {
52
+ // The one manifest of the core (roadmap R17), without the schemas
53
+ return describeRegistry(registry, { schemas: false, ...(expose ? { expose } : {}) }).procedures.map(infoOf);
54
+ }
55
+ /** The ProcedureInfo of a manifest entry: the form that the peers exchange. */
56
+ export function infoOf(entry) {
57
+ const info = { path: [...entry.path] };
58
+ if (entry.description !== undefined)
59
+ info.description = entry.description;
60
+ if (entry.input)
61
+ info.inputSchema = entry.input;
62
+ if (entry.output)
63
+ info.outputSchema = entry.output;
64
+ return info;
77
65
  }
78
66
  /**
79
67
  * Watch for procedure changes in a registry (default: the global registry)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,eAAe,EAMf,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAetC,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,MAAM,4BAA4B,GAAG,MAAM,EAA0B,CAAC;AACtE,MAAM,6BAA6B,GAAG,MAAM,EAA4B,CAAC;AAEzE;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAInC,eAAe,EAAE;KAClB,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;KAChC,KAAK,CAAC,4BAA4B,CAAC;KACnC,MAAM,CAAC,6BAA6B,CAAC;KACrC,IAAI,CAAC;IACJ,WAAW,EAAE,4CAA4C;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,qBAAqB;CAC/B,CAAC;KACD,OAAO,CAAC,KAAK,EAAE,MAA8B,EAAE,GAAsB,EAAE,EAAE;IACxE,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC;IAElE,kCAAkC;IAClC,MAAM,cAAc,GAAoB,UAAU;SAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAA8C,CAAC;QACjE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;IACzB,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,QAAgD,CAAC;QACnE,MAAM,IAAI,GAAkB;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QACF,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;QACD,uDAAuD;QACvD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,4DAA4D;IAC5D,MAAM,MAAM,GAAG,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAEhE,OAAO;QACL,IAAI,EAAE,oBAA6B;QACnC,MAAM;QACN,UAAU,EAAE,cAAc;KAC3B,CAAC;AACJ,CAAC,CAAC;KACD,KAAK,EAAE,CAAC;AAEX,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAQ,GAA0B,kBAAkB;IACpF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IAErC,OAAO,UAAU;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;SAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,QAAgD,CAAC;QACnE,MAAM,IAAI,GAAkB;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QACF,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAyE,EACzE,QAAQ,GAAsB,kBAAkB;IAEhD,MAAM,aAAa,GAAG,CAAC,SAAoC,EAAE,EAAE;QAC7D,OAAO,CAAC,IAA6D,EAAE,EAAE;YACvE,MAAM,IAAI,GAAkB;gBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YACF,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC/C,CAAC;YACD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAEtD,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAE7C,OAAO,GAAG,EAAE;QACV,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAC1C,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAChD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Transport-agnostic peer implementation for bidirectional RPC.
5
5
  */
6
- import { ProcedureServer, type ProcedureRegistry, type HostPolicy } from "@procedures/client";
7
- import type { ProcedurePath } from "@procedures/client";
6
+ import { ProcedureServer, type ProcedureRegistry, Client, type HostPolicy } from "@procedures/client";
7
+ import type { ProcedurePath, StopOptions } from "@procedures/client";
8
8
  import type { TransportConfig, TransportType } from "../types.js";
9
9
  export interface PeerOptions {
10
10
  /** Unique peer ID */
@@ -17,6 +17,11 @@ export interface PeerOptions {
17
17
  registry?: ProcedureRegistry;
18
18
  /** The procedures that the peer serves (see `exposeRule`). Without it, the peer serves every procedure. */
19
19
  expose?: ((path: ProcedurePath) => boolean) | undefined;
20
+ /**
21
+ * The peer counts the calls of each procedure, and `host.metrics` gives the counts (roadmap
22
+ * R19). The default is true.
23
+ */
24
+ metrics?: boolean | undefined;
20
25
  /**
21
26
  * The policy of the host (`hostPolicy()` of the core, roadmap 2.3): the expose rule, the call
22
27
  * rule, the interceptors (a time limit), the token of each network transport that has none of
@@ -34,11 +39,19 @@ export interface Peer {
34
39
  /** Start all transports */
35
40
  start(): Promise<void>;
36
41
  /** Stop all transports */
37
- stop(): Promise<void>;
42
+ /** Stop the peer. With `grace`, the calls in flight have that time to end (roadmap R14). */
43
+ stop(options?: StopOptions): Promise<void>;
38
44
  /** Get active endpoints */
39
45
  getEndpoints(): PeerEndpoint[];
40
46
  /** Get underlying server */
41
47
  getServer(): ProcedureServer;
48
+ /** The ids of the WebSocket connections of the clients (roadmap R24). */
49
+ connections(): string[];
50
+ /**
51
+ * A client of one connected client (roadmap R24): its calls go to the procedures that the client
52
+ * serves (the `serve` option of its WebSocketTransport), over the same WebSocket.
53
+ */
54
+ clientFor(connectionId: string): Client;
42
55
  }
43
56
  /**
44
57
  * Create a new peer instance
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/peer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EAGf,KAAK,iBAAiB,EAOtB,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAuB,eAAe,EAAE,aAAa,EAA4B,MAAM,aAAa,CAAC;AA0BjH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,2GAA2G;IAC3G,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACxD;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,IAAI;IACnB,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,0BAA0B;IAC1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,2BAA2B;IAC3B,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,4BAA4B;IAC5B,SAAS,IAAI,eAAe,CAAC;CAC9B;AA4OD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/peer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EAGf,KAAK,iBAAiB,EAQtB,MAAM,EAEN,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAuB,eAAe,EAAE,aAAa,EAA4B,MAAM,aAAa,CAAC;AA0BjH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,2GAA2G;IAC3G,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACxD;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,IAAI;IACnB,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,0BAA0B;IAC1B,4FAA4F;IAC5F,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,2BAA2B;IAC3B,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,4BAA4B;IAC5B,SAAS,IAAI,eAAe,CAAC;IAC7B,yEAAyE;IACzE,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CACzC;AA2RD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Transport-agnostic peer implementation for bidirectional RPC.
5
5
  */
6
- import { ProcedureServer, HttpServerTransport, WebSocketServerTransport, PROCEDURE_REGISTRY, rpcServerUrlStrategy, defaultServerUrlStrategy, defaultUrlPattern, procedureServerOptions, } from "@procedures/client";
6
+ import { ProcedureServer, HttpServerTransport, WebSocketServerTransport, PROCEDURE_REGISTRY, rpcServerUrlStrategy, defaultServerUrlStrategy, defaultUrlPattern, procedureServerOptions, hostProcedures, metricsInterceptor, Client, } from "@procedures/client";
7
7
  import { bearerToken, hostAllowed, originAllowed, tokenMatches } from "./security.js";
8
8
  /**
9
9
  * URL strategy that matches the client's defaultUrlPattern
@@ -30,6 +30,10 @@ class PeerImpl {
30
30
  transports;
31
31
  endpoints = [];
32
32
  started = false;
33
+ /** The WebSocket transports of the peer: the calls to its clients go over them (R24) */
34
+ wsTransports = [];
35
+ /** The HTTP servers that the peer made for its WebSocket transports: `stop()` closes them */
36
+ ownedServers = [];
33
37
  registry;
34
38
  startTime = Date.now();
35
39
  /** The browser checks of the policy (an origin rule here replaces the peer's own rule). */
@@ -43,13 +47,25 @@ class PeerImpl {
43
47
  : { ...transport, token: policy.token });
44
48
  this.registry = options.registry ?? PROCEDURE_REGISTRY;
45
49
  this.browser = policy?.browser ?? {};
46
- // Create procedure server
50
+ // Create procedure server. The metrics interceptor counts each call for host.metrics (R19).
51
+ const metrics = options.metrics === false ? undefined : metricsInterceptor();
52
+ const serverOptions = policy ? procedureServerOptions(policy, this.registry) : {};
53
+ const interceptors = [...(serverOptions.interceptors ?? []), ...(metrics ? [metrics.interceptor] : [])];
47
54
  this.server = new ProcedureServer({
48
- ...(policy ? procedureServerOptions(policy, this.registry) : {}),
55
+ ...serverOptions,
56
+ ...(interceptors.length > 0 ? { interceptors } : {}),
49
57
  autoRegister: options.autoRegister ?? true,
50
58
  registry: this.registry,
51
59
  ...(options.expose ? { expose: options.expose } : {}),
52
60
  });
61
+ // host.health, host.info and host.metrics: pinned on the server, not in the registry (R19)
62
+ this.server.registerProcedures(hostProcedures({
63
+ id: this.id,
64
+ startedAt: this.startTime,
65
+ server: this.server,
66
+ endpoints: () => this.getEndpoints(),
67
+ ...(metrics ? { metrics } : {}),
68
+ }));
53
69
  }
54
70
  async start() {
55
71
  if (this.started)
@@ -88,7 +104,9 @@ class PeerImpl {
88
104
  // Dynamic import to avoid bundling express if not used
89
105
  const express = (await import("express")).default;
90
106
  const app = express();
91
- app.use(express.json());
107
+ // No body parser here: the transport reads the body itself, with bodyLimit, and accepts each
108
+ // JSON value (roadmap R5). Before, the strict parser of express refused a bare value (a
109
+ // number, a string, null) with 400, and its limit of 100 kB replaced bodyLimit.
92
110
  const port = config.port ?? 3000;
93
111
  // Loopback by default so the full procedure registry (incl. shell.run / fs.write) is not
94
112
  // served unauthenticated on all interfaces. Pass host: "0.0.0.0" to expose on the LAN
@@ -149,6 +167,7 @@ class PeerImpl {
149
167
  allowedOrigins: this.browser.allowedOrigins ?? ((origin) => originAllowed(origin, config.corsOrigins)),
150
168
  ...(this.browser.allowedHosts ? { allowedHosts: this.browser.allowedHosts } : {}),
151
169
  allowGet: this.browser.allowGet ?? config.urlStrategy === "rest",
170
+ ...(config.bodyLimit !== undefined ? { bodyLimit: config.bodyLimit } : {}),
152
171
  });
153
172
  this.server.addTransport(httpTransport);
154
173
  await httpTransport.start();
@@ -203,17 +222,28 @@ class PeerImpl {
203
222
  httpServer.close();
204
223
  throw error;
205
224
  }
225
+ this.ownedServers.push(httpServer);
226
+ this.wsTransports.push(wsTransport);
206
227
  this.endpoints.push({
207
228
  type: "websocket",
208
229
  address: `ws://${host === "0.0.0.0" ? "localhost" : host}:${port}${path}`,
209
230
  });
210
231
  }
211
- async stop() {
232
+ async stop(options = {}) {
212
233
  if (!this.started)
213
234
  return;
214
- await this.server.stop();
235
+ await this.server.stop(options);
236
+ // The HTTP servers of the WebSocket transports: before, they stayed open, so the port stayed
237
+ // bound after stop() (roadmap R5)
238
+ const owned = this.ownedServers;
239
+ this.ownedServers = [];
240
+ await Promise.all(owned.map((httpServer) => new Promise((resolve) => {
241
+ httpServer.close(() => resolve());
242
+ httpServer.closeAllConnections();
243
+ })));
215
244
  this.started = false;
216
245
  this.endpoints = [];
246
+ this.wsTransports = [];
217
247
  }
218
248
  getEndpoints() {
219
249
  return [...this.endpoints];
@@ -221,6 +251,15 @@ class PeerImpl {
221
251
  getServer() {
222
252
  return this.server;
223
253
  }
254
+ connections() {
255
+ return this.wsTransports.flatMap((transport) => transport.getTrackedConnections().map((connection) => connection.id));
256
+ }
257
+ clientFor(connectionId) {
258
+ const transport = this.wsTransports.find((ws) => ws.getTrackedConnection(connectionId) !== undefined);
259
+ if (!transport)
260
+ throw new Error(`Connection not found: ${connectionId}`);
261
+ return new Client({ transport: transport.transportFor(connectionId), throwOnError: true });
262
+ }
224
263
  }
225
264
  // =============================================================================
226
265
  // Factory
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/peer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/peer/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.generate.d.ts","sourceRoot":"","sources":["../../src/procedures/manifest.generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAiC,KAAK,OAAO,EAAE,KAAK,SAAS,EAA6C,MAAM,oBAAoB,CAAC;AAI5I,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAiB,MAAM,aAAa,CAAC;AAShG,eAAO,MAAM,yBAAyB,EAAE,SAAS,CAC/C,qBAAqB,EACrB,sBAAsB,EACtB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAkFjC,CAAC;AAaX,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"manifest.generate.d.ts","sourceRoot":"","sources":["../../src/procedures/manifest.generate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAwD,KAAK,OAAO,EAAE,KAAK,SAAS,EAA6C,MAAM,oBAAoB,CAAC;AAKnK,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAiB,MAAM,aAAa,CAAC;AAShG,eAAO,MAAM,yBAAyB,EAAE,SAAS,CAC/C,qBAAqB,EACrB,sBAAsB,EACtB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA0DjC,CAAC;AAaX,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC"}
@@ -2,7 +2,8 @@
2
2
  * Procedure: manifest.generate
3
3
  * Generates procedure manifests in various formats
4
4
  */
5
- import { createProcedure, jsonSchemaOf, PROCEDURE_REGISTRY } from "@procedures/client";
5
+ import { createProcedure, describeRegistry, PROCEDURE_REGISTRY } from "@procedures/client";
6
+ import { infoOf } from "../discovery/index.js";
6
7
  import { wrapSchema } from "../schema.js";
7
8
  import { ManifestGenerateOutputSchema } from "../output-schemas.js";
8
9
  import { manifestGenerateInputSchema } from "../input-schemas.js";
@@ -22,39 +23,15 @@ export const manifestGenerateProcedure = createProcedure()
22
23
  effects: { reads: ["registry"], writes: ["fs"], idempotent: true },
23
24
  })
24
25
  .handler(async (input, ctx) => {
25
- // The procedures of the caller's registry
26
- const allProcedures = (ctx?.registry ?? PROCEDURE_REGISTRY).getAll();
27
- // Filter by namespace if specified
28
- let procedures = allProcedures;
29
- if (input.namespace && input.namespace.length > 0) {
30
- procedures = allProcedures.filter((proc) => {
31
- // Check if procedure path starts with namespace
32
- for (let i = 0; i < input.namespace.length; i++) {
33
- if (proc.path[i] !== input.namespace[i]) {
34
- return false;
35
- }
36
- }
37
- return true;
38
- });
39
- }
40
- // Convert to ProcedureInfo format
41
- const procedureInfos = procedures.map((proc) => {
42
- const meta = proc.metadata;
43
- const info = {
44
- path: proc.path,
45
- };
46
- if (meta?.description !== undefined) {
47
- info.description = meta.description;
48
- }
49
- // The JSON Schemas of the input and the output, when the schemas can describe themselves
50
- const inputSchema = jsonSchemaOf(proc.input, { io: "input" });
51
- const outputSchema = jsonSchemaOf(proc.output, { io: "output" });
52
- if (inputSchema)
53
- info.inputSchema = inputSchema;
54
- if (outputSchema)
55
- info.outputSchema = outputSchema;
56
- return info;
26
+ // The one manifest of the core (roadmap R17): the procedures that the host exposes, with
27
+ // their JSON Schemas, under the namespace when the input gives one
28
+ const namespace = input.namespace ?? [];
29
+ const manifest = describeRegistry(ctx?.registry ?? PROCEDURE_REGISTRY, {
30
+ ...(ctx?.expose ? { expose: ctx.expose } : {}),
31
+ withoutHandler: true,
32
+ include: (proc) => namespace.every((segment, index) => proc.path[index] === segment),
57
33
  });
34
+ const procedureInfos = manifest.procedures.map(infoOf);
58
35
  // Determine formats to generate
59
36
  const formats = input.formats ?? ["json"];
60
37
  const result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.generate.js","sourceRoot":"","sources":["../../src/procedures/manifest.generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.generate.js","sourceRoot":"","sources":["../../src/procedures/manifest.generate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.call.d.ts","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAiC,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAUjG,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,wEAAwE;IACxE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAQD,eAAO,MAAM,mBAAmB,EAAE,SAAS,CACzC,eAAe,EACf,gBAAgB,EAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqDjG,CAAC"}
1
+ {"version":3,"file":"server.call.d.ts","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAuD,KAAK,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAU9I,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,wEAAwE;IACxE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAQD,eAAO,MAAM,mBAAmB,EAAE,SAAS,CACzC,eAAe,EACf,gBAAgB,EAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0DjG,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Procedure: server.call
3
3
  * Call a procedure on a remote peer through an outbound connection
4
4
  */
5
- import { createProcedure, pathToMethod } from "@procedures/client";
5
+ import { TIMEOUT_METADATA_KEY, createProcedure, pathToMethod } from "@procedures/client";
6
6
  import { wrapSchema } from "../schema.js";
7
7
  import { ServerCallOutputSchema } from "../output-schemas.js";
8
8
  import { serverCallInputSchema } from "../input-schemas.js";
@@ -23,7 +23,7 @@ export const serverCallProcedure = createProcedure()
23
23
  shorts: { connectionId: "c", address: "a" },
24
24
  output: "json",
25
25
  })
26
- .handler(async (input) => {
26
+ .handler(async (input, ctx) => {
27
27
  // Normalize path: accept dot-separated string or array
28
28
  const pathArray = typeof input.path === "string"
29
29
  ? input.path.split(".")
@@ -51,7 +51,12 @@ export const serverCallProcedure = createProcedure()
51
51
  // Convert procedure path to Method format for client.call: the core mapping of every host
52
52
  // (deep dive architecture review 3.3)
53
53
  const method = pathToMethod(pathArray);
54
- const result = await client.call(method, input.input ?? {});
54
+ // The signal and the remaining time of this call go with the relayed call (roadmap R14)
55
+ const deadline = ctx?.capability?.deadline;
56
+ const result = await client.call(method, input.input ?? {}, {
57
+ ...(ctx?.signal ? { signal: ctx.signal } : {}),
58
+ ...(deadline !== undefined ? { context: { [TIMEOUT_METADATA_KEY]: Math.max(0, deadline - Date.now()) } } : {}),
59
+ });
55
60
  return {
56
61
  result,
57
62
  connectionId,
@@ -1 +1 @@
1
- {"version":3,"file":"server.call.js","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAgC,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AA0BhE,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,sBAAsB,GAAG,UAAU,CAAmB,sBAAsB,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,mBAAmB,GAI5B,eAAe,EAAE;KAClB,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KACxB,KAAK,CAAC,qBAAqB,CAAC;KAC5B,MAAM,CAAC,sBAAsB,CAAC;KAC9B,IAAI,CAAC;IACJ,WAAW,EAAE,kEAAkE;IAC/E,uDAAuD;IACvD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE;IACpD,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,MAAM,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;IAC3C,MAAM,EAAE,MAAM;CACf,CAAC;KACD,OAAO,CAAC,KAAK,EAAE,KAAsB,EAA6B,EAAE;IACnE,uDAAuD;IACvD,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAEf,6DAA6D;IAC7D,IAAI,YAAoB,CAAC;IACzB,IAAI,MAA2C,CAAC;IAEhD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,CAAC,YAAY,kDAAkD,CAC9F,CAAC;QACJ,CAAC;QACD,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,iCAAiC;QACjC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,0FAA0F;IAC1F,sCAAsC;IACtC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAE5D,OAAO;QACL,MAAM;QACN,YAAY;QACZ,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC,CAAC;KACD,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"server.call.js","sourceRoot":"","sources":["../../src/procedures/server.call.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.connect.d.ts","sourceRoot":"","sources":["../../src/procedures/server.connect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAInF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAM3E,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAC5C,kBAAkB,EAClB,mBAAmB,EACnB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA6BjC,CAAC;AAEX,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"server.connect.d.ts","sourceRoot":"","sources":["../../src/procedures/server.connect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAInF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAO3E,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAC5C,kBAAkB,EAClB,mBAAmB,EACnB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA8BjC,CAAC;AAEX,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -7,6 +7,7 @@ import { wrapSchema } from "../schema.js";
7
7
  import { ServerConnectOutputSchema } from "../output-schemas.js";
8
8
  import { serverConnectInputSchema } from "../input-schemas.js";
9
9
  import { connect } from "../connection/index.js";
10
+ import { ms } from "@procedures/client";
10
11
  // Use pass-through schemas
11
12
  const serverConnectOutputSchema = wrapSchema(ServerConnectOutputSchema);
12
13
  export const serverConnectProcedure = createProcedure()
@@ -27,7 +28,8 @@ export const serverConnectProcedure = createProcedure()
27
28
  connectOptions.transport = input.transport;
28
29
  }
29
30
  if (input.timeout !== undefined) {
30
- connectOptions.timeout = input.timeout;
31
+ // The input is data: a number of milliseconds
32
+ connectOptions.timeout = ms(input.timeout);
31
33
  }
32
34
  const connection = await connect(connectOptions);
33
35
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"server.connect.js","sourceRoot":"","sources":["../../src/procedures/server.connect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAgC,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,2BAA2B;AAC3B,MAAM,yBAAyB,GAAG,UAAU,CAAsB,yBAAyB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,sBAAsB,GAI/B,eAAe,EAAE;KAClB,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KAC3B,KAAK,CAAC,wBAAwB,CAAC;KAC/B,MAAM,CAAC,yBAAyB,CAAC;KACjC,IAAI,CAAC;IACJ,WAAW,EAAE,gDAAgD;IAC7D,mFAAmF;IACnF,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;IACxE,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC;KACD,OAAO,CAAC,KAAK,EAAE,KAAyB,EAAE,EAAE;IAC3C,MAAM,cAAc,GAAkC;QACpD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACzC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO;QACL,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY;QAC5C,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,gBAAgB;KACrD,CAAC;AACJ,CAAC,CAAC;KACD,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"server.connect.js","sourceRoot":"","sources":["../../src/procedures/server.connect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAgC,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,2BAA2B;AAC3B,MAAM,yBAAyB,GAAG,UAAU,CAAsB,yBAAyB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,sBAAsB,GAI/B,eAAe,EAAE;KAClB,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KAC3B,KAAK,CAAC,wBAAwB,CAAC;KAC/B,MAAM,CAAC,yBAAyB,CAAC;KACjC,IAAI,CAAC;IACJ,WAAW,EAAE,gDAAgD;IAC7D,mFAAmF;IACnF,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE;IACxE,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC;KACD,OAAO,CAAC,KAAK,EAAE,KAAyB,EAAE,EAAE;IAC3C,MAAM,cAAc,GAAkC;QACpD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,8CAA8C;QAC9C,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO;QACL,YAAY,EAAE,UAAU,CAAC,EAAE;QAC3B,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY;QAC5C,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,gBAAgB;KACrD,CAAC;AACJ,CAAC,CAAC;KACD,KAAK,EAAE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -15,6 +15,8 @@ export interface HttpTransportConfig {
15
15
  urlStrategy?: "rest" | "rpc" | undefined;
16
16
  /** A secret that every request must send as `Authorization: Bearer <token>` */
17
17
  token?: string | undefined;
18
+ /** The largest request body in bytes. The default is 1 MiB. */
19
+ bodyLimit?: number | undefined;
18
20
  }
19
21
  export interface WebSocketTransportConfig {
20
22
  type: "websocket";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,8GAA8G;IAC9G,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACzC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,wBAAwB,GAAG,oBAAoB,CAAC;AAMpG,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC3C,iDAAiD;IACjD,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yGAAyG;IACzG,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACtC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAClD,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,gBAAgB,EAAE,aAAa,EAAE,CAAC;CACnC;AAMD,MAAM,WAAW,qBAAqB;IACpC,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,iCAAiC;IACjC,OAAO,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACvC,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACjC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,IAAI,CAAC,EACD;QACE,UAAU,EAAE,aAAa,EAAE,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,GACD,SAAS,CAAC;IACd,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACrC;AAMD,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,SAAS,EAAE,aAAa,CAAC;IACzB,uBAAuB;IACvB,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC;IAC7D,wBAAwB;IACxB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,sCAAsC;IACtC,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAMD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mBAAmB;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB"}