@procedures/client 0.19.0 → 0.20.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.
@@ -14,6 +14,23 @@ export interface RoutedRequest {
14
14
  /** The path of the URL, without the query. */
15
15
  readonly path: string;
16
16
  }
17
+ /**
18
+ * The request that a URL strategy of `HttpServerTransport` gets (CLI-61). The type is structural:
19
+ * a `Request` of Express agrees with it, and so does the `UrlRequest` of `procedureHandler`. Thus
20
+ * the type names no `express` and no Node module.
21
+ */
22
+ export interface UrlStrategyRequest extends RoutedRequest {
23
+ /** The URL of the request line: the path and the query. */
24
+ readonly url: string;
25
+ /** The headers of the request, by lower-case name. */
26
+ readonly headers: {
27
+ readonly [name: string]: string | string[] | undefined;
28
+ };
29
+ /** The query parameters. Express gives its parsed query. */
30
+ readonly query?: unknown;
31
+ /** The body that a body parser of the app gives. Without a body parser, the body is absent. */
32
+ readonly body?: unknown;
33
+ }
17
34
  /**
18
35
  * Default URL strategy: RESTful routes.
19
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/strategies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAmC1E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAuBtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,SAAS,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CASvG;AAED,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,IAAuC,CAAC"}
1
+ {"version":3,"file":"strategies.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/strategies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IAC7E,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,+FAA+F;IAC/F,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAmC1E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAuBtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,SAAS,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CASvG;AAED,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,IAAuC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/strategies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategies.js","sourceRoot":"","sources":["../../../../src/adapters/http/server/strategies.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,20 @@
3
3
  *
4
4
  * Type definitions for HTTP server adapter.
5
5
  */
6
- import type { Request, Express } from "express";
6
+ import type { Express } from "express";
7
7
  import type { Server as HttpServer } from "http";
8
8
  import type { Method } from "../../../client/types.js";
9
9
  import type { BrowserGuardOptions } from "../../../server/browser-guard.js";
10
10
  import type { Clock } from "../../../clock.js";
11
11
  import type { Duration } from "../../../duration.js";
12
12
  import type { Addressing } from "./addressing.js";
13
+ import type { UrlStrategyRequest } from "./strategies.js";
13
14
  /**
14
- * URL strategy for converting HTTP requests to RPC methods.
15
+ * The URL strategy of `HttpServerTransport`: it gives the method of a request, or null when the URL
16
+ * names no method. The transport gives it the `Request` of Express. The parameter type is
17
+ * structural (CLI-61), so a strategy also serves the `UrlRequest` of `procedureHandler`.
15
18
  */
16
- export type HttpUrlStrategy = (req: Request) => Method | null;
19
+ export type HttpUrlStrategy = (req: UrlStrategyRequest) => Method | null;
17
20
  /**
18
21
  * HTTP server transport options.
19
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/adapters/http/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,kBAAkB,KAAK,MAAM,GAAG,IAAI,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH"}
package/dist/browser.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Universal Client Library: the browser-safe entry point.
3
3
  *
4
- * This module exports everything of the package except the Node server transports
5
- * (`HttpServerTransport` and `WebSocketServerTransport`, which use `http` and `ws`).
6
- * A browser bundle imports "@procedures/client/browser". The root entry point
7
- * re-exports this module. It also adds the server transports as deprecated aliases: their entry
8
- * is "@procedures/client/node", and the next MINOR removes them from the root (CLI-6).
4
+ * This module exports the client, the procedures, the events and the server engine. The Node
5
+ * server transports (`HttpServerTransport` and `WebSocketServerTransport`, which use `http` and `ws`)
6
+ * have the entry "@procedures/client/node" (CLI-6). A browser bundle imports
7
+ * "@procedures/client/browser". The root entry point re-exports this module. It also adds the URL
8
+ * strategies and the browser checks of the server, which are browser-safe too.
9
9
  *
10
10
  * Collections (maps, caches, collection storage) are in @procedures/collections.
11
11
  * The program store, the storage backends that need a Client (ApiStorage, HybridStorage) and the
package/dist/browser.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Universal Client Library: the browser-safe entry point.
3
3
  *
4
- * This module exports everything of the package except the Node server transports
5
- * (`HttpServerTransport` and `WebSocketServerTransport`, which use `http` and `ws`).
6
- * A browser bundle imports "@procedures/client/browser". The root entry point
7
- * re-exports this module. It also adds the server transports as deprecated aliases: their entry
8
- * is "@procedures/client/node", and the next MINOR removes them from the root (CLI-6).
4
+ * This module exports the client, the procedures, the events and the server engine. The Node
5
+ * server transports (`HttpServerTransport` and `WebSocketServerTransport`, which use `http` and `ws`)
6
+ * have the entry "@procedures/client/node" (CLI-6). A browser bundle imports
7
+ * "@procedures/client/browser". The root entry point re-exports this module. It also adds the URL
8
+ * strategies and the browser checks of the server, which are browser-safe too.
9
9
  *
10
10
  * Collections (maps, caches, collection storage) are in @procedures/collections.
11
11
  * The program store, the storage backends that need a Client (ApiStorage, HybridStorage) and the
package/dist/index.d.ts CHANGED
@@ -4,21 +4,19 @@
4
4
  * Protocol-agnostic RPC client with middleware composition
5
5
  * and transport adapters.
6
6
  *
7
- * This entry point is for Node. It exports the browser-safe entry point
8
- * ("@procedures/client/browser"). It also exports the server transports, which use `http` and
9
- * `ws`, but these exports are deprecated (CLI-6 step 1). Their entry is "@procedures/client/node".
10
- * The next MINOR removes them from this entry, so the root imports no `http` and no `ws`.
7
+ * This entry point exports the browser-safe entry point ("@procedures/client/browser"), the URL
8
+ * strategies of the server and the browser checks of the server. It imports no Node built-in, no
9
+ * `ws` and no `express`, and its declarations name none of them (CLI-6, CLI-61). Thus a browser
10
+ * bundle can import it too. The server transports and the procedure faces of Node have the entry
11
+ * "@procedures/client/node".
11
12
  *
12
- * The `WebSocketTransport` of this entry uses the global `WebSocket`, because some applications
13
- * bundle this entry for a browser. The Node entry "@procedures/client/node" has a
14
- * `WebSocketTransport` whose sockets are of the `ws` package: a drop ends them at once.
13
+ * The `WebSocketTransport` of this entry uses the global `WebSocket`. The Node entry
14
+ * "@procedures/client/node" has a `WebSocketTransport` whose sockets are of the `ws` package: a
15
+ * drop ends them at once.
15
16
  */
16
17
  export * from "./browser.js";
17
18
  export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "./adapters/http/server/strategies.js";
18
- export { HttpServerTransport } from "./server/index.js";
19
- export type { HttpServerTransportOptions, HttpUrlStrategy, } from "./server/index.js";
20
- export { WebSocketServerTransport } from "./server/index.js";
19
+ export type { RoutedRequest } from "./adapters/http/server/strategies.js";
21
20
  export { checkBrowserRequest, hasAmbientCredentials, isLoopbackHost, isLoopbackAddress, hostNameOf } from "./server/browser-guard.js";
22
- export type { BrowserGuardOptions, GuardedRequest, GuardResult } from "./server/browser-guard.js";
23
- export type { WebSocketServerTransportOptions, WebSocketAuthHandler, WebSocketConnectionHandler, WebSocketMessage, } from "./server/index.js";
21
+ export type { BrowserGuardOptions, GuardedHeaders, GuardedRequest, GuardResult } from "./server/browser-guard.js";
24
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAK7B,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAItG,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACV,0BAA0B,EAC1B,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtI,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAElG,YAAY,EACV,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,cAAc,CAAC;AAK7B,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACtG,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtI,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -4,24 +4,20 @@
4
4
  * Protocol-agnostic RPC client with middleware composition
5
5
  * and transport adapters.
6
6
  *
7
- * This entry point is for Node. It exports the browser-safe entry point
8
- * ("@procedures/client/browser"). It also exports the server transports, which use `http` and
9
- * `ws`, but these exports are deprecated (CLI-6 step 1). Their entry is "@procedures/client/node".
10
- * The next MINOR removes them from this entry, so the root imports no `http` and no `ws`.
7
+ * This entry point exports the browser-safe entry point ("@procedures/client/browser"), the URL
8
+ * strategies of the server and the browser checks of the server. It imports no Node built-in, no
9
+ * `ws` and no `express`, and its declarations name none of them (CLI-6, CLI-61). Thus a browser
10
+ * bundle can import it too. The server transports and the procedure faces of Node have the entry
11
+ * "@procedures/client/node".
11
12
  *
12
- * The `WebSocketTransport` of this entry uses the global `WebSocket`, because some applications
13
- * bundle this entry for a browser. The Node entry "@procedures/client/node" has a
14
- * `WebSocketTransport` whose sockets are of the `ws` package: a drop ends them at once.
13
+ * The `WebSocketTransport` of this entry uses the global `WebSocket`. The Node entry
14
+ * "@procedures/client/node" has a `WebSocketTransport` whose sockets are of the `ws` package: a
15
+ * drop ends them at once.
15
16
  */
16
17
  export * from "./browser.js";
17
18
  // ============================================================================
18
- // Server Transports (Node only)
19
+ // The URL strategies and the browser checks of the server (browser-safe)
19
20
  // ============================================================================
20
21
  export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "./adapters/http/server/strategies.js";
21
- // Deprecated (CLI-6 step 1): import these from "@procedures/client/node". The next MINOR removes
22
- // them from the root. ./server/index.ts holds the deprecated aliases, so an editor marks each old
23
- // import, and each alias is the same class or type as the export of ./node.
24
- export { HttpServerTransport } from "./server/index.js";
25
- export { WebSocketServerTransport } from "./server/index.js";
26
22
  export { checkBrowserRequest, hasAmbientCredentials, isLoopbackHost, isLoopbackAddress, hostNameOf } from "./server/browser-guard.js";
27
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAE7B,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAC/E,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACtG,iGAAiG;AACjG,kGAAkG;AAClG,4EAA4E;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,cAAc,CAAC;AAE7B,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAC/E,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEtG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/node.d.ts CHANGED
@@ -19,10 +19,9 @@
19
19
  * (CLI-31). `urlAddressing()` is the default, and `bodyPathAddressing()` reads the path from the
20
20
  * body of a single endpoint.
21
21
  *
22
- * The server transports are in this entry too (CLI-6): `HttpServerTransport`, the Express shim
23
- * over `procedureHandler`, and `WebSocketServerTransport`. The root and `./server` also export
24
- * them, but these exports are deprecated. The next MINOR removes them, so the root imports no
25
- * `http` and no `ws`.
22
+ * The server transports are in this entry only (CLI-6): `HttpServerTransport`, the Express shim
23
+ * over `procedureHandler`, and `WebSocketServerTransport`. Thus the root and `./server` import no
24
+ * `http`, no `ws` and no `express`.
26
25
  */
27
26
  export { WebSocketTransport } from "./adapters/websocket/client/node.js";
28
27
  export type { WebSocketTransportOptions, WebSocketClass } from "./adapters/websocket/client/types.js";
@@ -33,7 +32,7 @@ export { readJsonBody, BodyError } from "./adapters/http/server/body.js";
33
32
  export type { ProcedureHandlerOptions, NodeProcedureHandler, NodeUrlStrategy, UrlRequest } from "./adapters/http/server/handler.js";
34
33
  export type { CorsOptions, CredentialedCorsOptions } from "./adapters/http/server/cors.js";
35
34
  export { credentialedCors } from "./adapters/http/server/cors.js";
36
- export type { RoutedRequest } from "./adapters/http/server/strategies.js";
35
+ export type { RoutedRequest, UrlStrategyRequest } from "./adapters/http/server/strategies.js";
37
36
  export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "./adapters/http/server/strategies.js";
38
37
  export { urlAddressing, bodyPathAddressing } from "./adapters/http/server/addressing.js";
39
38
  export type { Addressing, CallAddress, UrlAddressingOptions, BodyPathAddressingOptions } from "./adapters/http/server/addressing.js";
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACzE,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpI,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEtG,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AACzF,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAErI,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EACV,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AACzE,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpI,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEtG,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AACzF,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAErI,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,YAAY,EACV,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,sCAAsC,CAAC"}
package/dist/node.js CHANGED
@@ -19,10 +19,9 @@
19
19
  * (CLI-31). `urlAddressing()` is the default, and `bodyPathAddressing()` reads the path from the
20
20
  * body of a single endpoint.
21
21
  *
22
- * The server transports are in this entry too (CLI-6): `HttpServerTransport`, the Express shim
23
- * over `procedureHandler`, and `WebSocketServerTransport`. The root and `./server` also export
24
- * them, but these exports are deprecated. The next MINOR removes them, so the root imports no
25
- * `http` and no `ws`.
22
+ * The server transports are in this entry only (CLI-6): `HttpServerTransport`, the Express shim
23
+ * over `procedureHandler`, and `WebSocketServerTransport`. Thus the root and `./server` import no
24
+ * `http`, no `ws` and no `express`.
26
25
  */
27
26
  export { WebSocketTransport } from "./adapters/websocket/client/node.js";
28
27
  export { writeNdjsonStream } from "./adapters/http/server/ndjson.js";
@@ -34,7 +33,7 @@ export { credentialedCors } from "./adapters/http/server/cors.js";
34
33
  export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "./adapters/http/server/strategies.js";
35
34
  // The addressing of a request: the URL (the default), or the path in the body of a single endpoint (CLI-31)
36
35
  export { urlAddressing, bodyPathAddressing } from "./adapters/http/server/addressing.js";
37
- // The server transports (CLI-6): the root and ./server export them only until the next MINOR
36
+ // The server transports (CLI-6): only this entry exports them
38
37
  export { HttpServerTransport } from "./adapters/http/server/transport.js";
39
38
  export { upgradeHandler } from "./adapters/websocket/server/upgrade.js";
40
39
  export { WebSocketServerTransport } from "./adapters/websocket/server/transport.js";
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,0GAA0G;AAC1G,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGzE,0FAA0F;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACtG,4GAA4G;AAC5G,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAEzF,6FAA6F;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,0GAA0G;AAC1G,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGzE,0FAA0F;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACtG,4GAA4G;AAC5G,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAEzF,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC"}
@@ -21,7 +21,6 @@
21
21
  *
22
22
  * Each refusal is the error `FORBIDDEN` of wire v1, with the status 403 and a reason (CLI-4).
23
23
  */
24
- import type { IncomingHttpHeaders } from "node:http";
25
24
  /** The options of the browser checks of a server transport. */
26
25
  export interface BrowserGuardOptions {
27
26
  /**
@@ -43,10 +42,23 @@ export interface BrowserGuardOptions {
43
42
  */
44
43
  allowGet?: boolean | undefined;
45
44
  }
46
- /** The parts of an incoming request that the checks read. */
45
+ /**
46
+ * The headers of a request, by lower-case name. The type is structural, so the root names no Node
47
+ * module (CLI-61). `IncomingHttpHeaders` of `node:http` agrees with it.
48
+ */
49
+ export interface GuardedHeaders {
50
+ readonly [name: string]: string | string[] | undefined;
51
+ readonly host?: string | undefined;
52
+ readonly origin?: string | undefined;
53
+ readonly cookie?: string | undefined;
54
+ readonly "content-type"?: string | undefined;
55
+ readonly "content-length"?: string | undefined;
56
+ readonly "transfer-encoding"?: string | undefined;
57
+ }
58
+ /** The parts of an incoming request that the checks read. An `IncomingMessage` of `node:http` agrees with it. */
47
59
  export interface GuardedRequest {
48
60
  method?: string | undefined;
49
- headers: IncomingHttpHeaders;
61
+ headers: GuardedHeaders;
50
62
  socket?: {
51
63
  localAddress?: string | undefined;
52
64
  } | undefined;
@@ -78,7 +90,7 @@ export declare function hostNameOf(header: string | undefined): string;
78
90
  * True when a request carries ambient credentials: a `Cookie` header, which a browser sends by
79
91
  * itself, also for a request that another site starts.
80
92
  */
81
- export declare function hasAmbientCredentials(headers: IncomingHttpHeaders): boolean;
93
+ export declare function hasAmbientCredentials(headers: GuardedHeaders): boolean;
82
94
  /**
83
95
  * The checks of the host, the origin and the fetch site, for HTTP and WebSocket requests.
84
96
  * `http` adds the checks of the method and the body. `ambient` is true when the server can trust
@@ -1 +1 @@
1
- {"version":3,"file":"browser-guard.d.ts","sourceRoot":"","sources":["../../src/server/browser-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIrD,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACrF;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;CAC5D;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;IACpH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAON,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAItE;AAED,gHAAgH;AAChH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI7D;AA+BD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAG3E;AA4BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EACnB,OAAO,GAAE,mBAAwB,EACjC,IAAI,UAAQ,EACZ,OAAO,UAAQ,GACd,WAAW,CAkCb"}
1
+ {"version":3,"file":"browser-guard.d.ts","sourceRoot":"","sources":["../../src/server/browser-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACrF;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnD;AAED,iHAAiH;AACjH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;CAC5D;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,wBAAwB,CAAC;IACpH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAON,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAItE;AAED,gHAAgH;AAChH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI7D;AA+BD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAGtE;AA4BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EACnB,OAAO,GAAE,mBAAwB,EACjC,IAAI,UAAQ,EACZ,OAAO,UAAQ,GACd,WAAW,CAkCb"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-guard.js","sourceRoot":"","sources":["../../src/server/browser-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-guard.js","sourceRoot":"","sources":["../../src/server/browser-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AA+D3E,wFAAwF;AACxF,SAAS,OAAO,CAAC,MAAqD,EAAE,OAAe;IACrF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACxE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,UAAU,CAAC,MAA0B;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,OAA8C,EAAE,OAAgB;IACvG,mEAAmE;IACnE,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,CAAC,OAAO,CAAC;IACrC,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,kGAAkG;AAClG,SAAS,UAAU,CAAC,MAAc,EAAE,UAA8B;IAChE,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,UAAU,CAAC,WAA+B;IACjD,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrE,OAAO,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,uFAAuF;AACvF,SAAS,OAAO,CAAC,OAAuB;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,OAAO,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,KAAK,SAAS,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAsC,EAAE,OAAuB,EAAE,YAAqB;IACrH,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;AACvG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAAsC,EAAE,cAAqD,EAAE,YAAoB;IAClK,IAAI,IAAI,KAAK,QAAQ,IAAI,cAAc,KAAK,GAAG;QAAE,OAAO;IACxD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,8HAA8H,YAAY,uEAAuE,CACzN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAmB,EACnB,OAAO,GAAwB,EAAE,EACjC,IAAI,GAAG,KAAK,EACZ,OAAO,GAAG,KAAK;IAEf,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAExB,2EAA2E;IAC3E,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9E,OAAO,OAAO,CAAC,yBAAyB,EAAE,wBAAwB,IAAI,kBAAkB,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;YACnG,OAAO,OAAO,CAAC,oBAAoB,EAAE,0BAA0B,MAAM,kBAAkB,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;YACnG,OAAO,OAAO,CAAC,oBAAoB,EAAE,wCAAwC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC,oBAAoB,EAAE,uCAAuC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC7D,OAAO,OAAO,CAAC,wBAAwB,EAAE,2EAA2E,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC"}
@@ -11,8 +11,8 @@
11
11
  * - Handler registry with pattern matching
12
12
  * - Graceful shutdown
13
13
  *
14
- * The server transports have the entry `@procedures/client/node` (CLI-6). This entry still
15
- * exports them as deprecated aliases. The next MINOR removes the aliases.
14
+ * The server transports have the entry `@procedures/client/node` (CLI-6). This entry imports no
15
+ * Node built-in, no `ws` and no `express`, and its declarations name none of them (CLI-61).
16
16
  *
17
17
  * @example
18
18
  * ```typescript
@@ -37,10 +37,6 @@
37
37
  * await httpTransport.start();
38
38
  * ```
39
39
  */
40
- import { HttpServerTransport as NodeHttpServerTransport } from "../adapters/http/server/transport.js";
41
- import type { HttpServerTransportOptions as NodeHttpServerTransportOptions, HttpUrlStrategy as NodeHttpUrlStrategy } from "../adapters/http/server/types.js";
42
- import { WebSocketServerTransport as NodeWebSocketServerTransport } from "../adapters/websocket/server/transport.js";
43
- import type { WebSocketServerTransportOptions as NodeWebSocketServerTransportOptions, WebSocketAuthHandler as NodeWebSocketAuthHandler, WebSocketConnectionHandler as NodeWebSocketConnectionHandler, WebSocketMessage as NodeWebSocketMessage } from "../adapters/websocket/server/types.js";
44
40
  export { Server } from "./server.js";
45
41
  export type { ServerOptions } from "./server.js";
46
42
  export { ProcedureServer, createProcedureServer, STREAM_METADATA_KEY, isUnboundedStream } from "./procedure-server.js";
@@ -48,64 +44,5 @@ export type { ProcedureServerOptions, RegisterProcedureOptions, StorageConfig, S
48
44
  export { pathToMethod, methodToPath, methodName } from "./method.js";
49
45
  export { HandlerNotFoundError, ServerError, type ServerRequest, type ServerResponse, type RequestHandler, type Credentials, type Principal, type PrincipalOf, type RequestIdentity, type AmbientCredentials, type ServerDebugReport, type ServerHandler, type ServerMiddleware, type ServerContext, type ServerRunner, type ServerTransport, } from "./types.js";
50
46
  export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "../adapters/http/server/strategies.js";
51
- /**
52
- * The HTTP server transport of Express, a shim over `procedureHandler`.
53
- *
54
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
55
- */
56
- export declare const HttpServerTransport: typeof NodeHttpServerTransport;
57
- /**
58
- * The HTTP server transport of Express, a shim over `procedureHandler`.
59
- *
60
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
61
- */
62
- export type HttpServerTransport = NodeHttpServerTransport;
63
- /**
64
- * The options of `HttpServerTransport`.
65
- *
66
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
67
- */
68
- export type HttpServerTransportOptions = NodeHttpServerTransportOptions;
69
- /**
70
- * The URL strategy of `HttpServerTransport`: it gives the method of an Express request.
71
- *
72
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
73
- */
74
- export type HttpUrlStrategy = NodeHttpUrlStrategy;
75
- /**
76
- * The WebSocket server transport, on the `ws` package.
77
- *
78
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
79
- */
80
- export declare const WebSocketServerTransport: typeof NodeWebSocketServerTransport;
81
- /**
82
- * The WebSocket server transport, on the `ws` package.
83
- *
84
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
85
- */
86
- export type WebSocketServerTransport = NodeWebSocketServerTransport;
87
- /**
88
- * The options of `WebSocketServerTransport`.
89
- *
90
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
91
- */
92
- export type WebSocketServerTransportOptions = NodeWebSocketServerTransportOptions;
93
- /**
94
- * The authentication handler of `WebSocketServerTransport`, for each upgrade request.
95
- *
96
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
97
- */
98
- export type WebSocketAuthHandler = NodeWebSocketAuthHandler;
99
- /**
100
- * The connection handler of `WebSocketServerTransport`, for each new connection.
101
- *
102
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
103
- */
104
- export type WebSocketConnectionHandler = NodeWebSocketConnectionHandler;
105
- /**
106
- * The RPC message of `WebSocketServerTransport`.
107
- *
108
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
109
- */
110
- export type WebSocketMessage<TReq = unknown> = NodeWebSocketMessage<TReq>;
47
+ export type { RoutedRequest } from "../adapters/http/server/strategies.js";
111
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACtG,OAAO,KAAK,EACV,0BAA0B,IAAI,8BAA8B,EAC5D,eAAe,IAAI,mBAAmB,EACvC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,wBAAwB,IAAI,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACrH,OAAO,KAAK,EACV,+BAA+B,IAAI,mCAAmC,EACtE,oBAAoB,IAAI,wBAAwB,EAChD,0BAA0B,IAAI,8BAA8B,EAC5D,gBAAgB,IAAI,oBAAoB,EACzC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvH,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvK,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AASvG;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,uBAAiD,CAAC;AAC3F;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAAO,4BAA2D,CAAC;AAC1G;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,MAAM,+BAA+B,GAAG,mCAAmC,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE5D;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,8BAA8B,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,IAAI,GAAG,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvH,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvK,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AACvG,YAAY,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC"}
@@ -11,8 +11,8 @@
11
11
  * - Handler registry with pattern matching
12
12
  * - Graceful shutdown
13
13
  *
14
- * The server transports have the entry `@procedures/client/node` (CLI-6). This entry still
15
- * exports them as deprecated aliases. The next MINOR removes the aliases.
14
+ * The server transports have the entry `@procedures/client/node` (CLI-6). This entry imports no
15
+ * Node built-in, no `ws` and no `express`, and its declarations name none of them (CLI-61).
16
16
  *
17
17
  * @example
18
18
  * ```typescript
@@ -37,29 +37,9 @@
37
37
  * await httpTransport.start();
38
38
  * ```
39
39
  */
40
- import { HttpServerTransport as NodeHttpServerTransport } from "../adapters/http/server/transport.js";
41
- import { WebSocketServerTransport as NodeWebSocketServerTransport } from "../adapters/websocket/server/transport.js";
42
40
  export { Server } from "./server.js";
43
41
  export { ProcedureServer, createProcedureServer, STREAM_METADATA_KEY, isUnboundedStream } from "./procedure-server.js";
44
42
  export { pathToMethod, methodToPath, methodName } from "./method.js";
45
43
  export { HandlerNotFoundError, ServerError, } from "./types.js";
46
44
  export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "../adapters/http/server/strategies.js";
47
- // ============================================================================
48
- // The server transports: deprecated here (CLI-6 step 1)
49
- // ============================================================================
50
- // Their entry is `@procedures/client/node`. This entry and the root (which re-exports these
51
- // names from this module) give them through deprecated aliases until the next MINOR, so an
52
- // editor marks each old import. Each alias is the same class or type as the export of ./node.
53
- /**
54
- * The HTTP server transport of Express, a shim over `procedureHandler`.
55
- *
56
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
57
- */
58
- export const HttpServerTransport = NodeHttpServerTransport;
59
- /**
60
- * The WebSocket server transport, on the `ws` package.
61
- *
62
- * @deprecated Import it from `@procedures/client/node`. The root and `@procedures/client/server` stop exporting it in the next MINOR (CLI-6).
63
- */
64
- export const WebSocketServerTransport = NodeWebSocketServerTransport;
65
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAKtG,OAAO,EAAE,wBAAwB,IAAI,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAQrH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,WAAW,GAeZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAEvG,+EAA+E;AAC/E,wDAAwD;AACxD,+EAA+E;AAC/E,4FAA4F;AAC5F,2FAA2F;AAC3F,8FAA8F;AAE9F;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAmC,uBAAuB,CAAC;AAsB3F;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAwC,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEvH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,WAAW,GAeZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@procedures/client",
4
- "version": "0.19.0",
4
+ "version": "0.20.0",
5
5
  "description": "Procedures as data for TypeScript: define typed procedures once and call them in process, over HTTP, WebSocket, the CLI or MCP. Streaming, middleware, retries, caching and a JSON program format.",
6
6
  "keywords": [
7
7
  "rpc",
@@ -89,6 +89,7 @@
89
89
  ],
90
90
  "client": {
91
91
  "browser": [
92
+ ".",
92
93
  "./browser",
93
94
  "./client",
94
95
  "./events",
@@ -18,6 +18,22 @@ export interface RoutedRequest {
18
18
  readonly path: string;
19
19
  }
20
20
 
21
+ /**
22
+ * The request that a URL strategy of `HttpServerTransport` gets (CLI-61). The type is structural:
23
+ * a `Request` of Express agrees with it, and so does the `UrlRequest` of `procedureHandler`. Thus
24
+ * the type names no `express` and no Node module.
25
+ */
26
+ export interface UrlStrategyRequest extends RoutedRequest {
27
+ /** The URL of the request line: the path and the query. */
28
+ readonly url: string;
29
+ /** The headers of the request, by lower-case name. */
30
+ readonly headers: { readonly [name: string]: string | string[] | undefined };
31
+ /** The query parameters. Express gives its parsed query. */
32
+ readonly query?: unknown;
33
+ /** The body that a body parser of the app gives. Without a body parser, the body is absent. */
34
+ readonly body?: unknown;
35
+ }
36
+
21
37
  /**
22
38
  * Default URL strategy: RESTful routes.
23
39
  *
@@ -4,18 +4,21 @@
4
4
  * Type definitions for HTTP server adapter.
5
5
  */
6
6
 
7
- import type { Request, Express } from "express";
7
+ import type { Express } from "express";
8
8
  import type { Server as HttpServer } from "http";
9
9
  import type { Method } from "../../../client/types.js";
10
10
  import type { BrowserGuardOptions } from "../../../server/browser-guard.js";
11
11
  import type { Clock } from "../../../clock.js";
12
12
  import type { Duration } from "../../../duration.js";
13
13
  import type { Addressing } from "./addressing.js";
14
+ import type { UrlStrategyRequest } from "./strategies.js";
14
15
 
15
16
  /**
16
- * URL strategy for converting HTTP requests to RPC methods.
17
+ * The URL strategy of `HttpServerTransport`: it gives the method of a request, or null when the URL
18
+ * names no method. The transport gives it the `Request` of Express. The parameter type is
19
+ * structural (CLI-61), so a strategy also serves the `UrlRequest` of `procedureHandler`.
17
20
  */
18
- export type HttpUrlStrategy = (req: Request) => Method | null;
21
+ export type HttpUrlStrategy = (req: UrlStrategyRequest) => Method | null;
19
22
 
20
23
  /**
21
24
  * HTTP server transport options.
package/src/browser.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Universal Client Library: the browser-safe entry point.
3
3
  *
4
- * This module exports everything of the package except the Node server transports
5
- * (`HttpServerTransport` and `WebSocketServerTransport`, which use `http` and `ws`).
6
- * A browser bundle imports "@procedures/client/browser". The root entry point
7
- * re-exports this module. It also adds the server transports as deprecated aliases: their entry
8
- * is "@procedures/client/node", and the next MINOR removes them from the root (CLI-6).
4
+ * This module exports the client, the procedures, the events and the server engine. The Node
5
+ * server transports (`HttpServerTransport` and `WebSocketServerTransport`, which use `http` and `ws`)
6
+ * have the entry "@procedures/client/node" (CLI-6). A browser bundle imports
7
+ * "@procedures/client/browser". The root entry point re-exports this module. It also adds the URL
8
+ * strategies and the browser checks of the server, which are browser-safe too.
9
9
  *
10
10
  * Collections (maps, caches, collection storage) are in @procedures/collections.
11
11
  * The program store, the storage backends that need a Client (ApiStorage, HybridStorage) and the