@procedures/client 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -0
- package/README.md +95 -8
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapters/http/client/transport.d.ts +4 -0
- package/dist/adapters/http/client/transport.d.ts.map +1 -1
- package/dist/adapters/http/client/transport.js +11 -1
- package/dist/adapters/http/client/transport.js.map +1 -1
- package/dist/adapters/http/client/types.d.ts +19 -0
- package/dist/adapters/http/client/types.d.ts.map +1 -1
- package/dist/adapters/http/server/cors.d.ts +64 -0
- package/dist/adapters/http/server/cors.d.ts.map +1 -0
- package/dist/adapters/http/server/cors.js +113 -0
- package/dist/adapters/http/server/cors.js.map +1 -0
- package/dist/adapters/http/server/handler.d.ts +136 -0
- package/dist/adapters/http/server/handler.d.ts.map +1 -0
- package/dist/adapters/http/server/handler.js +495 -0
- package/dist/adapters/http/server/handler.js.map +1 -0
- package/dist/adapters/http/server/strategies.d.ts +14 -5
- package/dist/adapters/http/server/strategies.d.ts.map +1 -1
- package/dist/adapters/http/server/strategies.js.map +1 -1
- package/dist/adapters/http/server/transport.d.ts +30 -46
- package/dist/adapters/http/server/transport.d.ts.map +1 -1
- package/dist/adapters/http/server/transport.js +48 -432
- package/dist/adapters/http/server/transport.js.map +1 -1
- package/dist/adapters/http/server/types.d.ts +13 -0
- package/dist/adapters/http/server/types.d.ts.map +1 -1
- package/dist/adapters/websocket/server/transport.d.ts +46 -1
- package/dist/adapters/websocket/server/transport.d.ts.map +1 -1
- package/dist/adapters/websocket/server/transport.js +152 -15
- package/dist/adapters/websocket/server/transport.js.map +1 -1
- package/dist/adapters/websocket/server/types.d.ts +10 -3
- package/dist/adapters/websocket/server/types.d.ts.map +1 -1
- package/dist/adapters/websocket/server/upgrade-router.d.ts +28 -0
- package/dist/adapters/websocket/server/upgrade-router.d.ts.map +1 -0
- package/dist/adapters/websocket/server/upgrade-router.js +62 -0
- package/dist/adapters/websocket/server/upgrade-router.js.map +1 -0
- package/dist/adapters/websocket/server/upgrade.d.ts +68 -0
- package/dist/adapters/websocket/server/upgrade.d.ts.map +1 -0
- package/dist/adapters/websocket/server/upgrade.js +49 -0
- package/dist/adapters/websocket/server/upgrade.js.map +1 -0
- package/dist/adapters/websocket/shared/rpc.d.ts +2 -0
- package/dist/adapters/websocket/shared/rpc.d.ts.map +1 -1
- package/dist/adapters/websocket/shared/rpc.js +8 -2
- package/dist/adapters/websocket/shared/rpc.js.map +1 -1
- package/dist/browser.d.ts +12 -4
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +11 -2
- package/dist/browser.js.map +1 -1
- package/dist/client/client.d.ts +43 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +69 -1
- package/dist/client/client.js.map +1 -1
- package/dist/events/publisher.d.ts +14 -0
- package/dist/events/publisher.d.ts.map +1 -1
- package/dist/events/publisher.js +42 -4
- package/dist/events/publisher.js.map +1 -1
- package/dist/events/rows.d.ts +31 -0
- package/dist/events/rows.d.ts.map +1 -0
- package/dist/events/rows.js +39 -0
- package/dist/events/rows.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +14 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +9 -0
- package/dist/node.js.map +1 -1
- package/dist/procedures/capability.d.ts +6 -0
- package/dist/procedures/capability.d.ts.map +1 -1
- package/dist/procedures/capability.js +25 -0
- package/dist/procedures/capability.js.map +1 -1
- package/dist/procedures/collection/changes.d.ts +94 -0
- package/dist/procedures/collection/changes.d.ts.map +1 -0
- package/dist/procedures/collection/changes.js +182 -0
- package/dist/procedures/collection/changes.js.map +1 -0
- package/dist/procedures/collection/index.d.ts +8 -3
- package/dist/procedures/collection/index.d.ts.map +1 -1
- package/dist/procedures/collection/index.js +6 -1
- package/dist/procedures/collection/index.js.map +1 -1
- package/dist/procedures/collection/procedures.d.ts +39 -2
- package/dist/procedures/collection/procedures.d.ts.map +1 -1
- package/dist/procedures/collection/procedures.js +111 -8
- package/dist/procedures/collection/procedures.js.map +1 -1
- package/dist/procedures/collection/query.d.ts +246 -0
- package/dist/procedures/collection/query.d.ts.map +1 -0
- package/dist/procedures/collection/query.js +854 -0
- package/dist/procedures/collection/query.js.map +1 -0
- package/dist/procedures/collection/schemas.d.ts +50 -0
- package/dist/procedures/collection/schemas.d.ts.map +1 -1
- package/dist/procedures/collection/schemas.js +144 -6
- package/dist/procedures/collection/schemas.js.map +1 -1
- package/dist/procedures/collection/storage.d.ts +58 -6
- package/dist/procedures/collection/storage.d.ts.map +1 -1
- package/dist/procedures/collection/storage.js +23 -0
- package/dist/procedures/collection/storage.js.map +1 -1
- package/dist/procedures/elicit.d.ts +190 -0
- package/dist/procedures/elicit.d.ts.map +1 -0
- package/dist/procedures/elicit.js +127 -0
- package/dist/procedures/elicit.js.map +1 -0
- package/dist/procedures/hints.d.ts +43 -0
- package/dist/procedures/hints.d.ts.map +1 -0
- package/dist/procedures/hints.js +74 -0
- package/dist/procedures/hints.js.map +1 -0
- package/dist/procedures/index.d.ts +9 -2
- package/dist/procedures/index.d.ts.map +1 -1
- package/dist/procedures/index.js +5 -1
- package/dist/procedures/index.js.map +1 -1
- package/dist/procedures/invoke.d.ts +20 -0
- package/dist/procedures/invoke.d.ts.map +1 -1
- package/dist/procedures/invoke.js +13 -0
- package/dist/procedures/invoke.js.map +1 -1
- package/dist/procedures/progress.d.ts +24 -0
- package/dist/procedures/progress.d.ts.map +1 -0
- package/dist/procedures/progress.js +11 -0
- package/dist/procedures/progress.js.map +1 -0
- package/dist/procedures/registry.d.ts.map +1 -1
- package/dist/procedures/registry.js +5 -0
- package/dist/procedures/registry.js.map +1 -1
- package/dist/procedures/types.d.ts +42 -0
- package/dist/procedures/types.d.ts.map +1 -1
- package/dist/procedures/types.js.map +1 -1
- package/dist/procedures/untrusted.d.ts +28 -0
- package/dist/procedures/untrusted.d.ts.map +1 -0
- package/dist/procedures/untrusted.js +32 -0
- package/dist/procedures/untrusted.js.map +1 -0
- package/dist/server/browser-guard.d.ts +12 -2
- package/dist/server/browser-guard.d.ts.map +1 -1
- package/dist/server/browser-guard.js +43 -6
- package/dist/server/browser-guard.js.map +1 -1
- package/dist/server/host-policy.d.ts +10 -1
- package/dist/server/host-policy.d.ts.map +1 -1
- package/dist/server/host-policy.js +5 -0
- package/dist/server/host-policy.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/procedure-server.d.ts +38 -6
- package/dist/server/procedure-server.d.ts.map +1 -1
- package/dist/server/procedure-server.js +65 -13
- package/dist/server/procedure-server.js.map +1 -1
- package/dist/server/request-auth.d.ts +51 -4
- package/dist/server/request-auth.d.ts.map +1 -1
- package/dist/server/request-auth.js +116 -5
- package/dist/server/request-auth.js.map +1 -1
- package/dist/server/types.d.ts +73 -5
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js.map +1 -1
- package/package.json +5 -1
- package/src/adapters/http/client/transport.ts +11 -1
- package/src/adapters/http/client/types.ts +22 -0
- package/src/adapters/http/server/cors.ts +144 -0
- package/src/adapters/http/server/handler.ts +624 -0
- package/src/adapters/http/server/strategies.ts +16 -6
- package/src/adapters/http/server/transport.ts +55 -478
- package/src/adapters/http/server/types.ts +15 -0
- package/src/adapters/websocket/server/transport.ts +166 -16
- package/src/adapters/websocket/server/types.ts +11 -3
- package/src/adapters/websocket/server/upgrade-router.ts +77 -0
- package/src/adapters/websocket/server/upgrade.ts +88 -0
- package/src/adapters/websocket/shared/rpc.ts +9 -2
- package/src/browser.ts +79 -2
- package/src/client/client.ts +83 -1
- package/src/events/publisher.ts +48 -4
- package/src/events/rows.ts +48 -0
- package/src/index.ts +1 -1
- package/src/node.ts +21 -0
- package/src/procedures/capability.ts +21 -0
- package/src/procedures/collection/changes.ts +245 -0
- package/src/procedures/collection/index.ts +53 -1
- package/src/procedures/collection/procedures.ts +163 -7
- package/src/procedures/collection/query.ts +1009 -0
- package/src/procedures/collection/schemas.ts +196 -7
- package/src/procedures/collection/storage.ts +78 -6
- package/src/procedures/elicit.ts +320 -0
- package/src/procedures/hints.ts +91 -0
- package/src/procedures/index.ts +78 -2
- package/src/procedures/invoke.ts +29 -0
- package/src/procedures/progress.ts +25 -0
- package/src/procedures/registry.ts +4 -0
- package/src/procedures/types.ts +49 -0
- package/src/procedures/untrusted.ts +50 -0
- package/src/server/browser-guard.ts +48 -6
- package/src/server/host-policy.ts +13 -1
- package/src/server/index.ts +3 -0
- package/src/server/procedure-server.ts +82 -14
- package/src/server/request-auth.ts +128 -6
- package/src/server/types.ts +82 -5
package/dist/client/client.js
CHANGED
|
@@ -33,8 +33,10 @@ import { SCHEMA_REGISTRY } from "./validation/middleware.js";
|
|
|
33
33
|
import { buildResponse, toMiddlewareContext } from "./call-types.js";
|
|
34
34
|
import { RouteResolver } from "./route-resolver.js";
|
|
35
35
|
import { BatchExecutor } from "./batch-executor.js";
|
|
36
|
+
import { remoteEvents, subscribeRemote, } from "../events/remote.js";
|
|
36
37
|
import { narrowCapability } from "../procedures/capability.js";
|
|
37
|
-
import { TIMEOUT_METADATA_KEY, absorbTimeout, writeRemainingTime } from "./deadline.js";
|
|
38
|
+
import { DEADLINE_METADATA_KEY, TIMEOUT_METADATA_KEY, absorbTimeout, writeRemainingTime } from "./deadline.js";
|
|
39
|
+
import { ms } from "../duration.js";
|
|
38
40
|
import { PROCEDURE_REGISTRY } from "../procedures/registry.js";
|
|
39
41
|
import { validateSchema } from "../procedures/schema.js";
|
|
40
42
|
import { InvocationError, invokeProcedure, outputItems, outputValue, } from "../procedures/invoke.js";
|
|
@@ -101,6 +103,11 @@ function callerOf(options) {
|
|
|
101
103
|
caller.signal = options.signal;
|
|
102
104
|
return caller;
|
|
103
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* The timeouts of a subscription: none. The timeout middleware takes 0 as "no timeout", so the
|
|
108
|
+
* timeouts of the client do not end a subscription, which has no end (roadmap CLI-15).
|
|
109
|
+
*/
|
|
110
|
+
const NO_SUBSCRIPTION_TIMEOUT = Object.freeze({ overall: ms(0), perAttempt: ms(0) });
|
|
104
111
|
/**
|
|
105
112
|
* Generate a unique message ID.
|
|
106
113
|
*/
|
|
@@ -152,6 +159,8 @@ export class Client {
|
|
|
152
159
|
throwOnError;
|
|
153
160
|
/** The bus of the local procedures. Undefined: the global bus. */
|
|
154
161
|
bus;
|
|
162
|
+
/** The transport of the subscriptions through the middleware, made at the first subscription */
|
|
163
|
+
subscriptionTransport;
|
|
155
164
|
/** The interceptors of the local invocations (roadmap 1.2) */
|
|
156
165
|
interceptors = [];
|
|
157
166
|
/** The capability of the local invocations (CAPABILITIES-2026-10). Undefined: no limits. */
|
|
@@ -625,6 +634,65 @@ export class Client {
|
|
|
625
634
|
yield item.payload;
|
|
626
635
|
}
|
|
627
636
|
}
|
|
637
|
+
/**
|
|
638
|
+
* This method subscribes to topics of the event bus of the server (`documentation/EVENTS.md`).
|
|
639
|
+
* The call of `events.subscribe` goes through the middleware and the context of this client, as
|
|
640
|
+
* `stream()` does. Thus a token of the auth middleware goes with it. The subscriber resubscribes
|
|
641
|
+
* after a failure that a retry can repair, and the subscribers of the same topics share one call.
|
|
642
|
+
*
|
|
643
|
+
* A subscription has no deadline: the timeouts of the client (its timeout middleware, the
|
|
644
|
+
* `timeout` of its context and a `procedure-timeout` of its metadata) do not apply to it. For a
|
|
645
|
+
* deadline, give it in the metadata of the options, for example
|
|
646
|
+
* `{ metadata: { timeout: { overall: minutes(5) } } }`.
|
|
647
|
+
*
|
|
648
|
+
* @param topics - One topic, or a list of 1 to 64 topics
|
|
649
|
+
* @param handler - The handler of each event. A promise that it gives holds the next event.
|
|
650
|
+
* @param options - `onSubscribed`, `onError`, a signal, the metadata of the call, the resubscribe rules
|
|
651
|
+
* @returns The unsubscribe function, with the `ready` promise of the first confirmation
|
|
652
|
+
*
|
|
653
|
+
* @example
|
|
654
|
+
* ```typescript
|
|
655
|
+
* const unsubscribe = client.subscribe("collections.users", (event) => console.log(event));
|
|
656
|
+
* await unsubscribe.ready;
|
|
657
|
+
* unsubscribe();
|
|
658
|
+
* ```
|
|
659
|
+
*/
|
|
660
|
+
subscribe(topics, handler, options = {}) {
|
|
661
|
+
return subscribeRemote(this.eventTransport(), topics, handler, options);
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* This method gives the events of topics of the event bus of the server as an async iterator,
|
|
665
|
+
* through the middleware of this client. A `break` or the signal ends the subscription. As for
|
|
666
|
+
* `subscribe()`, the timeouts of the client do not apply: the metadata of the options can give one.
|
|
667
|
+
*
|
|
668
|
+
* @param topics - One topic, or a list of 1 to 64 topics
|
|
669
|
+
* @param options - A signal, `onSubscribed`, the metadata of the call, the resubscribe rules
|
|
670
|
+
*/
|
|
671
|
+
events(topics, options = {}) {
|
|
672
|
+
return remoteEvents(this.eventTransport(), topics, options);
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* The transport of the subscriptions of this client: each call goes through the middleware, with
|
|
676
|
+
* the context of the client in its metadata. The subscriptions of one client share it, so they
|
|
677
|
+
* share their calls. The timeouts and the deadline of the client stay out: only the metadata of
|
|
678
|
+
* the subscription can give them.
|
|
679
|
+
*/
|
|
680
|
+
eventTransport() {
|
|
681
|
+
if (!this.subscriptionTransport) {
|
|
682
|
+
const send = (message) => {
|
|
683
|
+
const metadata = { ...this.defaultMetadata, ...this.getEffectiveContext() };
|
|
684
|
+
delete metadata["timeout"];
|
|
685
|
+
delete metadata[TIMEOUT_METADATA_KEY];
|
|
686
|
+
delete metadata[DEADLINE_METADATA_KEY];
|
|
687
|
+
metadata["timeout"] = NO_SUBSCRIPTION_TIMEOUT;
|
|
688
|
+
Object.assign(metadata, message.metadata);
|
|
689
|
+
absorbTimeout(metadata);
|
|
690
|
+
return this.composeMiddleware()({ message: { ...message, metadata } });
|
|
691
|
+
};
|
|
692
|
+
this.subscriptionTransport = { send };
|
|
693
|
+
}
|
|
694
|
+
return this.subscriptionTransport;
|
|
695
|
+
}
|
|
628
696
|
/**
|
|
629
697
|
* Compose middleware chain using universal middleware composition.
|
|
630
698
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,17 @@
|
|
|
8
8
|
*
|
|
9
9
|
* - The topic rule (`topics`) is the expose rule of the topics. A topic outside it gives
|
|
10
10
|
* `TOPIC_NOT_FOUND`.
|
|
11
|
+
* - `reads` gives the resources that a subscriber of a topic reads. The capability of the call
|
|
12
|
+
* must permit them, as for a procedure that reads them (roadmap CLI-15). By default, a topic
|
|
13
|
+
* `collections.<name>` reads `collection:<name>`.
|
|
11
14
|
* - `allow` examines each topic with the capability of the call. A refusal gives `FORBIDDEN` with
|
|
12
15
|
* the reason `topic-not-allowed`.
|
|
13
16
|
* - The procedure declares that it reads the resource `events`, so the capability of the host
|
|
14
17
|
* applies to it as to each procedure.
|
|
15
18
|
*
|
|
19
|
+
* - A value with rows (`withRows()`) reaches each subscriber through the output filter of its host
|
|
20
|
+
* (`ctx.admit`): each row passes the filter, and the subscriber gets only the admitted rows.
|
|
21
|
+
*
|
|
16
22
|
* The delivery is at most once. The queue of a subscription holds at most `buffer` events. When
|
|
17
23
|
* it is full, the publisher drops the oldest event, and the next event tells the number of lost
|
|
18
24
|
* events (`dropped`). The bus never waits for a subscriber.
|
|
@@ -53,6 +59,13 @@ export interface EventPublisherOptions {
|
|
|
53
59
|
* @default 1024
|
|
54
60
|
*/
|
|
55
61
|
buffer?: number | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* The resources that a subscriber of a topic reads (roadmap CLI-15). The publisher refuses a
|
|
64
|
+
* topic whose reads the capability of the call does not permit, as for a procedure that reads
|
|
65
|
+
* them: `FORBIDDEN` with the reason `effects-exceeded`.
|
|
66
|
+
* @default `collectionTopicReads`: a topic `collections.<name>` reads `collection:<name>`
|
|
67
|
+
*/
|
|
68
|
+
reads?: ((topic: string) => readonly string[]) | undefined;
|
|
56
69
|
}
|
|
57
70
|
/** This function gives the test of a topic rule. */
|
|
58
71
|
export declare function topicMatcher(rule: TopicRule): (topic: string) => boolean;
|
|
@@ -74,6 +87,7 @@ export declare class EventPublisher {
|
|
|
74
87
|
readonly procedure: AnyProcedure;
|
|
75
88
|
private readonly known;
|
|
76
89
|
private readonly allow;
|
|
90
|
+
private readonly reads;
|
|
77
91
|
private readonly buffer;
|
|
78
92
|
private readonly open;
|
|
79
93
|
constructor(options: EventPublisherOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,YAAY,CAAC;AAKxD,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAEzE,2DAA2D;AAC3D,MAAM,WAAW,SAAS;IACxB,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,mGAAmG;IACnG,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,iGAAiG;IACjG,MAAM,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAClE;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CAC5D;AAOD,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAWxE;AA0LD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,gGAAgG;IAChG,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IAErD,YAAY,OAAO,EAAE,qBAAqB,EAiBzC;IAED,2FAA2F;IAC3F,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAEvC;IAED,wCAAwC;IACxC,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;OAGG;IACH,GAAG,IAAI,IAAI,CAEV;IAED;;;OAGG;IACH,OAAO,CAAC,SAAS;CAwBlB"}
|
package/dist/events/publisher.js
CHANGED
|
@@ -8,11 +8,17 @@
|
|
|
8
8
|
*
|
|
9
9
|
* - The topic rule (`topics`) is the expose rule of the topics. A topic outside it gives
|
|
10
10
|
* `TOPIC_NOT_FOUND`.
|
|
11
|
+
* - `reads` gives the resources that a subscriber of a topic reads. The capability of the call
|
|
12
|
+
* must permit them, as for a procedure that reads them (roadmap CLI-15). By default, a topic
|
|
13
|
+
* `collections.<name>` reads `collection:<name>`.
|
|
11
14
|
* - `allow` examines each topic with the capability of the call. A refusal gives `FORBIDDEN` with
|
|
12
15
|
* the reason `topic-not-allowed`.
|
|
13
16
|
* - The procedure declares that it reads the resource `events`, so the capability of the host
|
|
14
17
|
* applies to it as to each procedure.
|
|
15
18
|
*
|
|
19
|
+
* - A value with rows (`withRows()`) reaches each subscriber through the output filter of its host
|
|
20
|
+
* (`ctx.admit`): each row passes the filter, and the subscriber gets only the admitted rows.
|
|
21
|
+
*
|
|
16
22
|
* The delivery is at most once. The queue of a subscription holds at most `buffer` events. When
|
|
17
23
|
* it is full, the publisher drops the oldest event, and the next event tells the number of lost
|
|
18
24
|
* events (`dropped`). The bus never waits for a subscriber.
|
|
@@ -20,12 +26,19 @@
|
|
|
20
26
|
import { z } from "zod";
|
|
21
27
|
import { createProcedure } from "../procedures/define.js";
|
|
22
28
|
import { InvocationError } from "../procedures/invoke.js";
|
|
29
|
+
import { capabilityRefusal } from "../procedures/capability.js";
|
|
30
|
+
import { collectionTopicReads } from "../procedures/collection/changes.js";
|
|
23
31
|
import { getGlobalEventBus } from "./bus.js";
|
|
24
32
|
import { EVENTS_SUBSCRIBE_PATH } from "./remote.js";
|
|
33
|
+
import { admittedValue, rowsOf } from "./rows.js";
|
|
25
34
|
/** The number of topics that one subscription can name. */
|
|
26
35
|
export const MAX_SUBSCRIPTION_TOPICS = 64;
|
|
27
36
|
/** The number of characters of a topic name. */
|
|
28
37
|
export const MAX_TOPIC_LENGTH = 256;
|
|
38
|
+
/** A procedure that reads resources, for the admission of a topic under a capability. */
|
|
39
|
+
function topicReader(reads) {
|
|
40
|
+
return { path: [...EVENTS_SUBSCRIBE_PATH], metadata: { effects: { reads: [...reads], writes: [] } } };
|
|
41
|
+
}
|
|
29
42
|
/** This function gives the test of a topic rule. */
|
|
30
43
|
export function topicMatcher(rule) {
|
|
31
44
|
if (typeof rule === "function")
|
|
@@ -87,6 +100,7 @@ class TopicSubscription {
|
|
|
87
100
|
buffer;
|
|
88
101
|
signal;
|
|
89
102
|
onClose;
|
|
103
|
+
admit;
|
|
90
104
|
confirmation;
|
|
91
105
|
queue = [];
|
|
92
106
|
seq = 0;
|
|
@@ -95,10 +109,13 @@ class TopicSubscription {
|
|
|
95
109
|
closed = false;
|
|
96
110
|
failure;
|
|
97
111
|
unsubscribes;
|
|
98
|
-
constructor(bus, topics, buffer, signal, onClose
|
|
112
|
+
constructor(bus, topics, buffer, signal, onClose,
|
|
113
|
+
/** The output filter of the host for this subscriber: each row of a value passes it */
|
|
114
|
+
admit) {
|
|
99
115
|
this.buffer = buffer;
|
|
100
116
|
this.signal = signal;
|
|
101
117
|
this.onClose = onClose;
|
|
118
|
+
this.admit = admit;
|
|
102
119
|
this.confirmation = { type: "subscribed", topics };
|
|
103
120
|
// Before, clear() removed the listeners, and the subscriber saw no end (EVENTS.md)
|
|
104
121
|
this.unsubscribes = topics.map((topic) => bus.on(topic, (data) => this.push(topic, data), { onClear: () => this.fail(clearedError(topic), { keepQueue: true }) }));
|
|
@@ -119,7 +136,7 @@ class TopicSubscription {
|
|
|
119
136
|
const waiter = this.waiter;
|
|
120
137
|
if (waiter && this.queue.length === 0) {
|
|
121
138
|
this.waiter = undefined;
|
|
122
|
-
waiter.resolve(
|
|
139
|
+
waiter.resolve(this.deliver(event));
|
|
123
140
|
return;
|
|
124
141
|
}
|
|
125
142
|
if (this.queue.length >= this.buffer) {
|
|
@@ -129,6 +146,16 @@ class TopicSubscription {
|
|
|
129
146
|
}
|
|
130
147
|
this.queue.push(event);
|
|
131
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* The item of an event for the subscriber. The rows of its data pass the output filter of the
|
|
151
|
+
* host for this subscriber, and the subscriber gets only the admitted rows.
|
|
152
|
+
*/
|
|
153
|
+
deliver(event) {
|
|
154
|
+
const item = this.withDropped(event);
|
|
155
|
+
if (!this.admit || !rowsOf(item.data))
|
|
156
|
+
return Promise.resolve({ value: item, done: false });
|
|
157
|
+
return admittedValue(item.data, this.admit).then((data) => ({ value: { ...item, data }, done: false }));
|
|
158
|
+
}
|
|
132
159
|
/** The event with the number of events that the publisher dropped before it. */
|
|
133
160
|
withDropped(event) {
|
|
134
161
|
if (this.dropped === 0)
|
|
@@ -145,7 +172,7 @@ class TopicSubscription {
|
|
|
145
172
|
}
|
|
146
173
|
const event = this.queue.shift();
|
|
147
174
|
if (event)
|
|
148
|
-
return
|
|
175
|
+
return this.deliver(event);
|
|
149
176
|
if (this.failure !== undefined) {
|
|
150
177
|
const failure = this.failure;
|
|
151
178
|
this.failure = undefined;
|
|
@@ -221,12 +248,14 @@ export class EventPublisher {
|
|
|
221
248
|
procedure;
|
|
222
249
|
known;
|
|
223
250
|
allow;
|
|
251
|
+
reads;
|
|
224
252
|
buffer;
|
|
225
253
|
open = new Set();
|
|
226
254
|
constructor(options) {
|
|
227
255
|
this.bus = options.bus ?? getGlobalEventBus();
|
|
228
256
|
this.known = topicMatcher(options.topics);
|
|
229
257
|
this.allow = options.allow;
|
|
258
|
+
this.reads = options.reads ?? collectionTopicReads;
|
|
230
259
|
this.buffer = Math.max(1, Math.floor(options.buffer ?? 1024));
|
|
231
260
|
this.procedure = createProcedure()
|
|
232
261
|
.path([...EVENTS_SUBSCRIBE_PATH])
|
|
@@ -266,6 +295,15 @@ export class EventPublisher {
|
|
|
266
295
|
if (!this.known(topic))
|
|
267
296
|
throw new TopicNotFoundError(`The host has no topic "${topic}"`);
|
|
268
297
|
}
|
|
298
|
+
// A subscriber of a topic reads its resources: the capability of the call must permit them
|
|
299
|
+
for (const topic of unique) {
|
|
300
|
+
const reads = this.reads(topic);
|
|
301
|
+
if (reads.length === 0)
|
|
302
|
+
continue;
|
|
303
|
+
const refusal = capabilityRefusal(topicReader(reads), ctx.capability);
|
|
304
|
+
if (refusal)
|
|
305
|
+
throw new InvocationError("FORBIDDEN", `The topic "${topic}": ${refusal.message}`, ctx.path, refusal.reason);
|
|
306
|
+
}
|
|
269
307
|
if (this.allow) {
|
|
270
308
|
const call = { capability: ctx.capability, metadata: ctx.metadata };
|
|
271
309
|
for (const topic of unique) {
|
|
@@ -274,7 +312,7 @@ export class EventPublisher {
|
|
|
274
312
|
}
|
|
275
313
|
}
|
|
276
314
|
}
|
|
277
|
-
const subscription = new TopicSubscription(this.bus, unique, this.buffer, ctx.signal, (closed) => this.open.delete(closed));
|
|
315
|
+
const subscription = new TopicSubscription(this.bus, unique, this.buffer, ctx.signal, (closed) => this.open.delete(closed), ctx.admit);
|
|
278
316
|
this.open.add(subscription);
|
|
279
317
|
return subscription.closeIfAborted();
|
|
280
318
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAuC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAElD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AA2CpC,yFAAyF;AACzF,SAAS,WAAW,CAAC,KAAwB;IAC3C,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAA6B,CAAC;AACnI,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,YAAY,CAAC,IAAe;IAC1C,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,GAAG;YAAE,GAAG,GAAG,IAAI,CAAC;aAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;YAC/D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,mDAAmD;AACnD,MAAM,kBAAmB,SAAQ,KAAK;IAClB,IAAI,GAAG,oBAAoB,CAAC;IACrC,IAAI,GAAG,iBAAiB,CAAC;IACzB,SAAS,GAAG,KAAK,CAAC;CAC5B;AAED,uGAAuG;AACvG,SAAS,YAAY;IACnB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,KAAK,6BAA6B,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAClJ,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAE5D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC5G,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACnD,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,gEAAgE,CAAC;KACvG,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QACrF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;KACnH,CAAC;CACH,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,iBAAiB;IAeF,MAAM;IACN,MAAM;IACN,OAAO;IAEP,KAAK;IAlBhB,YAAY,CAAwB;IAC3B,KAAK,GAAiD,EAAE,CAAC;IAClE,GAAG,GAAG,CAAC,CAAC;IACR,OAAO,GAAG,CAAC,CAAC;IACZ,MAAM,CAEA;IACN,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,CAAU;IACR,YAAY,CAAgB;IAE7C,YACE,GAAa,EACb,MAAyB,EACR,MAAc,EACd,MAA+B,EAC/B,OAAkD;IACnE,uFAAuF;IACtE,KAAwD;sBAJxD,MAAM;sBACN,MAAM;uBACN,OAAO;qBAEP,KAAK;QAEtB,IAAI,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QACnD,mFAAmF;QACnF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CACxH,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,gFAAgF;IAChF,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAEgB,OAAO,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAEpD,gEAAgE;IACxD,IAAI,CAAC,KAAa,EAAE,IAAa;QACvC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,8EAA8E;YAC9E,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,OAAO,CAAC,KAA4C;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAA0C,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5F,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAA6B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrI,CAAC;IAED,gFAAgF;IACxE,WAAW,CAAC,KAA4C;QAC9D,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAc,EAAE,OAAO,GAA4B,EAAE;QACxD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;YAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,4DAA4D;IAC5D,KAAK;QACH,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,4EAA4E;IACpE,OAAO;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY;YAAE,WAAW,EAAE,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAc;IACzB,2CAA2C;IAClC,GAAG,CAAW;IACvB,gGAAgG;IACvF,SAAS,CAAe;IAChB,KAAK,CAA6B;IAClC,KAAK,CAAiC;IACtC,KAAK,CAAuC;IAC5C,MAAM,CAAS;IACf,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAErD,YAAY,OAA8B;QACxC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,iBAAiB,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,eAAe,EAAE;aAC/B,IAAI,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC;aAChC,KAAK,CAAC,cAAc,CAAC;aACrB,MAAM,CAAC,eAAe,CAAC;aACvB,IAAI,CAAC;YACJ,WAAW,EAAE,8GAA8G;YAC3H,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1C,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC5B,CAAC;aACD,OAAO,CAAC,CAAC,KAAK,EAAE,KAAqB,EAAE,GAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAU,CAAC;aAC7G,KAAK,EAAkB,CAAC;IAC7B,CAAC;IAED,2FAA2F;IAC3F,OAAO,CAAI,KAAa,EAAE,IAAO;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,wCAAwC;IACxC,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,GAAG;QACD,KAAK,MAAM,YAAY,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACK,SAAS,CAAC,MAAyB,EAAE,GAAqB;QAChE,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,KAAK,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,2FAA2F;QAC3F,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACjC,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,cAAc,KAAK,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5H,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAc,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,yDAAyD,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBAC3I,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACvI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,YAAY,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The rows of a published value (roadmap CLI-15).
|
|
3
|
+
*
|
|
4
|
+
* A value on the bus can hold rows of data: the values of a collection change event, for example.
|
|
5
|
+
* The publisher of the remote events gives each row to the output filter of the host (`admitItem`)
|
|
6
|
+
* for each subscriber, and each subscriber gets only the rows that its filter admits. Thus a row
|
|
7
|
+
* reaches a subscriber only through the same filter as a read.
|
|
8
|
+
*
|
|
9
|
+
* The rows are on a symbol key, so they stay in this process: JSON does not take them.
|
|
10
|
+
*/
|
|
11
|
+
/** The rows of a published value, and the function that makes the value of the admitted rows. */
|
|
12
|
+
export interface PublishedRows {
|
|
13
|
+
/** The rows that the output filter examines, one at a time. */
|
|
14
|
+
readonly rows: readonly unknown[];
|
|
15
|
+
/** This function gives the value for a subscriber: `admitted[i]` tells if row `i` stays. */
|
|
16
|
+
keep(admitted: readonly boolean[]): unknown;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* This function gives the value with its rows, for the filter of each subscriber. The rows are not
|
|
20
|
+
* enumerable: a copy or a comparison of the value does not see them.
|
|
21
|
+
*/
|
|
22
|
+
export declare function withRows<T extends object>(value: T, rows: PublishedRows): T;
|
|
23
|
+
/** The rows of a published value, or undefined for a value without rows. */
|
|
24
|
+
export declare function rowsOf(value: unknown): PublishedRows | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The value of a published value for one subscriber: each row passes the filter, and the value
|
|
27
|
+
* keeps the admitted rows. An error of the filter refuses the row. Without rows or a filter, the
|
|
28
|
+
* value stays as it is.
|
|
29
|
+
*/
|
|
30
|
+
export declare function admittedValue(value: unknown, admit: ((item: unknown) => Promise<boolean>) | undefined): Promise<unknown>;
|
|
31
|
+
//# sourceMappingURL=rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/events/rows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,4FAA4F;IAC5F,IAAI,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC;CAC7C;AAKD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,GAAG,CAAC,CAE3E;AAED,4EAA4E;AAC5E,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAIhE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAK9H"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The rows of a published value (roadmap CLI-15).
|
|
3
|
+
*
|
|
4
|
+
* A value on the bus can hold rows of data: the values of a collection change event, for example.
|
|
5
|
+
* The publisher of the remote events gives each row to the output filter of the host (`admitItem`)
|
|
6
|
+
* for each subscriber, and each subscriber gets only the rows that its filter admits. Thus a row
|
|
7
|
+
* reaches a subscriber only through the same filter as a read.
|
|
8
|
+
*
|
|
9
|
+
* The rows are on a symbol key, so they stay in this process: JSON does not take them.
|
|
10
|
+
*/
|
|
11
|
+
/** The key of the rows of a published value. */
|
|
12
|
+
const ROWS = Symbol.for("procedures.publishedRows");
|
|
13
|
+
/**
|
|
14
|
+
* This function gives the value with its rows, for the filter of each subscriber. The rows are not
|
|
15
|
+
* enumerable: a copy or a comparison of the value does not see them.
|
|
16
|
+
*/
|
|
17
|
+
export function withRows(value, rows) {
|
|
18
|
+
return Object.defineProperty(value, ROWS, { value: rows, enumerable: false });
|
|
19
|
+
}
|
|
20
|
+
/** The rows of a published value, or undefined for a value without rows. */
|
|
21
|
+
export function rowsOf(value) {
|
|
22
|
+
if (typeof value !== "object" || value === null)
|
|
23
|
+
return undefined;
|
|
24
|
+
const rows = value[ROWS];
|
|
25
|
+
return typeof rows === "object" && rows !== null ? rows : undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The value of a published value for one subscriber: each row passes the filter, and the value
|
|
29
|
+
* keeps the admitted rows. An error of the filter refuses the row. Without rows or a filter, the
|
|
30
|
+
* value stays as it is.
|
|
31
|
+
*/
|
|
32
|
+
export async function admittedValue(value, admit) {
|
|
33
|
+
const rows = rowsOf(value);
|
|
34
|
+
if (!rows || !admit)
|
|
35
|
+
return value;
|
|
36
|
+
const admitted = await Promise.all(rows.rows.map((row) => admit(row).catch(() => false)));
|
|
37
|
+
return rows.keep(admitted);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../../src/events/rows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,gDAAgD;AAChD,MAAM,IAAI,GAAkB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAmB,KAAQ,EAAE,IAAmB;IACtE,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAChF,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,IAAI,GAAI,KAA8B,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,IAAsB,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAc,EAAE,KAAwD;IAC1G,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export * from "./browser.js";
|
|
|
15
15
|
export { HttpServerTransport, defaultServerUrlStrategy, rpcServerUrlStrategy, } from "./server/index.js";
|
|
16
16
|
export type { HttpServerTransportOptions, HttpUrlStrategy, } from "./server/index.js";
|
|
17
17
|
export { WebSocketServerTransport } from "./server/index.js";
|
|
18
|
-
export { checkBrowserRequest, isLoopbackHost, isLoopbackAddress, hostNameOf } from "./server/browser-guard.js";
|
|
18
|
+
export { checkBrowserRequest, hasAmbientCredentials, isLoopbackHost, isLoopbackAddress, hostNameOf } from "./server/browser-guard.js";
|
|
19
19
|
export type { BrowserGuardOptions, GuardedRequest, GuardResult } from "./server/browser-guard.js";
|
|
20
20
|
export type { WebSocketServerTransportOptions, WebSocketAuthHandler, WebSocketConnectionHandler, WebSocketMessage, } from "./server/index.js";
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAK7B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,0BAA0B,EAC1B,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAK7B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,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;AAClG,YAAY,EACV,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17,5 +17,5 @@ export * from "./browser.js";
|
|
|
17
17
|
// ============================================================================
|
|
18
18
|
export { HttpServerTransport, defaultServerUrlStrategy, rpcServerUrlStrategy, } from "./server/index.js";
|
|
19
19
|
export { WebSocketServerTransport } from "./server/index.js";
|
|
20
|
-
export { checkBrowserRequest, isLoopbackHost, isLoopbackAddress, hostNameOf } from "./server/browser-guard.js";
|
|
20
|
+
export { checkBrowserRequest, hasAmbientCredentials, isLoopbackHost, isLoopbackAddress, hostNameOf } from "./server/browser-guard.js";
|
|
21
21
|
//# 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;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAE7B,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAC/E,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAE7B,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAC/E,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/node.d.ts
CHANGED
|
@@ -9,9 +9,23 @@
|
|
|
9
9
|
* This entry also exports `writeNdjsonStream`: the writer of an NDJSON stream response of wire
|
|
10
10
|
* protocol v1, for a `ServerResponse` of `node:http`. `HttpServerTransport` uses it, so a server
|
|
11
11
|
* without Express writes the same bytes.
|
|
12
|
+
*
|
|
13
|
+
* The procedure faces of Node, without a framework (CLI-3): `procedureHandler(server, options)`
|
|
14
|
+
* gives a request handler `(req, res) => boolean`, and `upgradeHandler(server, options)` gives an
|
|
15
|
+
* upgrade handler `(req, socket, head) => boolean`. Each one takes the requests of its path and
|
|
16
|
+
* gives `false` for the others, so the routes of the application share the listener.
|
|
12
17
|
*/
|
|
13
18
|
export { WebSocketTransport } from "./adapters/websocket/client/node.js";
|
|
14
19
|
export type { WebSocketTransportOptions, WebSocketClass } from "./adapters/websocket/client/types.js";
|
|
15
20
|
export { writeNdjsonStream } from "./adapters/http/server/ndjson.js";
|
|
16
21
|
export type { WriteNdjsonStreamOptions, NdjsonError } from "./adapters/http/server/ndjson.js";
|
|
22
|
+
export { procedureHandler } from "./adapters/http/server/handler.js";
|
|
23
|
+
export type { ProcedureHandlerOptions, NodeProcedureHandler, NodeUrlStrategy, UrlRequest } from "./adapters/http/server/handler.js";
|
|
24
|
+
export type { CorsOptions } from "./adapters/http/server/cors.js";
|
|
25
|
+
export type { RoutedRequest } from "./adapters/http/server/strategies.js";
|
|
26
|
+
export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "./adapters/http/server/strategies.js";
|
|
27
|
+
export { upgradeHandler } from "./adapters/websocket/server/upgrade.js";
|
|
28
|
+
export type { UpgradeHandlerOptions, NodeUpgradeHandler } from "./adapters/websocket/server/upgrade.js";
|
|
29
|
+
export { WebSocketServerTransport } from "./adapters/websocket/server/transport.js";
|
|
30
|
+
export type { WebSocketServerTransportOptions, WebSocketAuthHandler, WebSocketConnectionHandler, WebSocketMessage, TrackedConnection, ConnectionEventHandler, } from "./adapters/websocket/server/types.js";
|
|
17
31
|
//# sourceMappingURL=node.d.ts.map
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;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;AACrE,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpI,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACtG,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
|
@@ -9,7 +9,16 @@
|
|
|
9
9
|
* This entry also exports `writeNdjsonStream`: the writer of an NDJSON stream response of wire
|
|
10
10
|
* protocol v1, for a `ServerResponse` of `node:http`. `HttpServerTransport` uses it, so a server
|
|
11
11
|
* without Express writes the same bytes.
|
|
12
|
+
*
|
|
13
|
+
* The procedure faces of Node, without a framework (CLI-3): `procedureHandler(server, options)`
|
|
14
|
+
* gives a request handler `(req, res) => boolean`, and `upgradeHandler(server, options)` gives an
|
|
15
|
+
* upgrade handler `(req, socket, head) => boolean`. Each one takes the requests of its path and
|
|
16
|
+
* gives `false` for the others, so the routes of the application share the listener.
|
|
12
17
|
*/
|
|
13
18
|
export { WebSocketTransport } from "./adapters/websocket/client/node.js";
|
|
14
19
|
export { writeNdjsonStream } from "./adapters/http/server/ndjson.js";
|
|
20
|
+
export { procedureHandler } from "./adapters/http/server/handler.js";
|
|
21
|
+
export { defaultServerUrlStrategy, rpcServerUrlStrategy } from "./adapters/http/server/strategies.js";
|
|
22
|
+
export { upgradeHandler } from "./adapters/websocket/server/upgrade.js";
|
|
23
|
+
export { WebSocketServerTransport } from "./adapters/websocket/server/transport.js";
|
|
15
24
|
//# sourceMappingURL=node.js.map
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAIrE,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACtG,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC"}
|
|
@@ -54,6 +54,12 @@ export declare function toolHints(procedure: AnyProcedure): ToolHints;
|
|
|
54
54
|
* the intersection. The deadline is the earlier one. Two different clearances need an order.
|
|
55
55
|
*/
|
|
56
56
|
export declare function narrowCapability<C>(current: Capability<C> | undefined, request: CapabilityRequest<C> | undefined, order?: ClearanceOrder<C>, now?: number): Capability<C>;
|
|
57
|
+
/**
|
|
58
|
+
* This function joins two requests for a narrower capability into one request that asks for
|
|
59
|
+
* both: the meet of the clearances, the intersection of the effects and the shorter time. Two
|
|
60
|
+
* different clearances need an order.
|
|
61
|
+
*/
|
|
62
|
+
export declare function joinNarrowing<C>(first: CapabilityRequest<C>, second: CapabilityRequest<C>, order?: ClearanceOrder<C>): CapabilityRequest<C>;
|
|
57
63
|
/** The reason of a refusal. */
|
|
58
64
|
export type CapabilityRefusalReason = "effects-undeclared" | "effects-exceeded" | "clearance" | "deadline";
|
|
59
65
|
/** A refused invocation: the reason and a message for the caller. */
|