@spine-event-engine/server 2.0.0-snapshot.25 → 2.0.0-snapshot.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -9
- package/REFERENCE.md +339 -22
- package/dist/agent/agent-history.d.ts +19 -3
- package/dist/agent/agent-history.d.ts.map +1 -1
- package/dist/agent/agent-history.js +41 -10
- package/dist/agent/agent-history.js.map +1 -1
- package/dist/agent/agent-live-read-runtime.d.ts +12 -1
- package/dist/agent/agent-live-read-runtime.d.ts.map +1 -1
- package/dist/agent/agent-live-read-runtime.js +5 -4
- package/dist/agent/agent-live-read-runtime.js.map +1 -1
- package/dist/browser/browser-server.d.ts +163 -0
- package/dist/browser/browser-server.d.ts.map +1 -1
- package/dist/browser/browser-server.js +579 -188
- package/dist/browser/browser-server.js.map +1 -1
- package/dist/browser/durable-subscription-bindings.d.ts +5 -0
- package/dist/browser/durable-subscription-bindings.d.ts.map +1 -1
- package/dist/browser/durable-subscription-bindings.js +226 -38
- package/dist/browser/durable-subscription-bindings.js.map +1 -1
- package/dist/browser/options.d.ts +5 -0
- package/dist/browser/options.d.ts.map +1 -1
- package/dist/bus/command-bus.d.ts +3 -0
- package/dist/bus/command-bus.d.ts.map +1 -1
- package/dist/bus/command-bus.js +69 -9
- package/dist/bus/command-bus.js.map +1 -1
- package/dist/bus/command-errors.d.ts +20 -4
- package/dist/bus/command-errors.d.ts.map +1 -1
- package/dist/bus/command-errors.js +47 -7
- package/dist/bus/command-errors.js.map +1 -1
- package/dist/bus/event-bus.d.ts +3 -0
- package/dist/bus/event-bus.d.ts.map +1 -1
- package/dist/bus/event-bus.js +130 -8
- package/dist/bus/event-bus.js.map +1 -1
- package/dist/context/bounded-context.d.ts +29 -11
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +147 -186
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/entity/entity.d.ts +59 -0
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +60 -0
- package/dist/entity/entity.js.map +1 -1
- package/dist/handler/app-query-handler.d.ts +60 -0
- package/dist/handler/app-query-handler.d.ts.map +1 -0
- package/dist/handler/app-query-handler.js +23 -0
- package/dist/handler/app-query-handler.js.map +1 -0
- package/dist/handler/generated-registry-discovery.d.ts +6 -0
- package/dist/handler/generated-registry-discovery.d.ts.map +1 -1
- package/dist/handler/generated-registry-discovery.js +71 -2
- package/dist/handler/generated-registry-discovery.js.map +1 -1
- package/dist/handler/handler-decorators.d.ts +8 -29
- package/dist/handler/handler-decorators.d.ts.map +1 -1
- package/dist/handler/handler-decorators.js +33 -210
- package/dist/handler/handler-decorators.js.map +1 -1
- package/dist/handler/spine-metadata-inventory.d.ts +99 -0
- package/dist/handler/spine-metadata-inventory.d.ts.map +1 -0
- package/dist/handler/spine-metadata-inventory.js +162 -0
- package/dist/handler/spine-metadata-inventory.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/repository/repository.d.ts +44 -1
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +368 -88
- package/dist/repository/repository.js.map +1 -1
- package/dist/server/managed-server-application.d.ts +12 -11
- package/dist/server/managed-server-application.d.ts.map +1 -1
- package/dist/server/managed-server-application.js +41 -25
- package/dist/server/managed-server-application.js.map +1 -1
- package/dist/server/node-coordinator.d.ts +18 -5
- package/dist/server/node-coordinator.d.ts.map +1 -1
- package/dist/server/node-coordinator.js +554 -84
- package/dist/server/node-coordinator.js.map +1 -1
- package/dist/server/reserved-spine-rpc-paths.json +1 -0
- package/dist/server/server-environment.d.ts +17 -0
- package/dist/server/server-environment.d.ts.map +1 -1
- package/dist/server/server-environment.js +77 -16
- package/dist/server/server-environment.js.map +1 -1
- package/dist/server/server.d.ts +45 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +111 -3
- package/dist/server/server.js.map +1 -1
- package/dist/services/app-query-execution.d.ts +53 -0
- package/dist/services/app-query-execution.d.ts.map +1 -0
- package/dist/services/app-query-execution.js +408 -0
- package/dist/services/app-query-execution.js.map +1 -0
- package/dist/services/query-reader.d.ts +32 -7
- package/dist/services/query-reader.d.ts.map +1 -1
- package/dist/services/query-reader.js +22 -2
- package/dist/services/query-reader.js.map +1 -1
- package/dist/services/read-request-status.d.ts +65 -0
- package/dist/services/read-request-status.d.ts.map +1 -0
- package/dist/services/read-request-status.js +151 -0
- package/dist/services/read-request-status.js.map +1 -0
- package/dist/services/spine-services.d.ts +36 -7
- package/dist/services/spine-services.d.ts.map +1 -1
- package/dist/services/spine-services.js +900 -168
- package/dist/services/spine-services.js.map +1 -1
- package/dist/services/trusted-reader-ingress.d.ts +92 -0
- package/dist/services/trusted-reader-ingress.d.ts.map +1 -0
- package/dist/services/trusted-reader-ingress.js +89 -0
- package/dist/services/trusted-reader-ingress.js.map +1 -0
- package/dist/spi/handler-registry.d.ts +2 -0
- package/dist/spi/handler-registry.d.ts.map +1 -1
- package/dist/spi/handler-registry.js +1 -1
- package/dist/spi/handler-registry.js.map +1 -1
- package/dist/stand/read-side-filter-engine.d.ts +46 -0
- package/dist/stand/read-side-filter-engine.d.ts.map +1 -0
- package/dist/stand/read-side-filter-engine.js +356 -0
- package/dist/stand/read-side-filter-engine.js.map +1 -0
- package/dist/stand/read-side-filter.d.ts +247 -0
- package/dist/stand/read-side-filter.d.ts.map +1 -0
- package/dist/stand/read-side-filter.js +39 -0
- package/dist/stand/read-side-filter.js.map +1 -0
- package/dist/stand/read-side-message.d.ts +66 -0
- package/dist/stand/read-side-message.d.ts.map +1 -0
- package/dist/stand/read-side-message.js +167 -0
- package/dist/stand/read-side-message.js.map +1 -0
- package/dist/stand/stand-direct-delivery.d.ts +161 -0
- package/dist/stand/stand-direct-delivery.d.ts.map +1 -0
- package/dist/stand/stand-direct-delivery.js +210 -0
- package/dist/stand/stand-direct-delivery.js.map +1 -0
- package/dist/stand/stand.d.ts +80 -42
- package/dist/stand/stand.d.ts.map +1 -1
- package/dist/stand/stand.js +410 -54
- package/dist/stand/stand.js.map +1 -1
- package/dist/stand/subscription-observer.d.ts.map +1 -1
- package/dist/stand/subscription-observer.js +103 -0
- package/dist/stand/subscription-observer.js.map +1 -1
- package/dist/stand/subscription-read-filters.d.ts +40 -0
- package/dist/stand/subscription-read-filters.d.ts.map +1 -0
- package/dist/stand/subscription-read-filters.js +91 -0
- package/dist/stand/subscription-read-filters.js.map +1 -0
- package/dist/stand/subscription-reader-binding.d.ts +20 -0
- package/dist/stand/subscription-reader-binding.d.ts.map +1 -0
- package/dist/stand/subscription-reader-binding.js +56 -0
- package/dist/stand/subscription-reader-binding.js.map +1 -0
- package/dist/stand/subscription-records.d.ts +30 -3
- package/dist/stand/subscription-records.d.ts.map +1 -1
- package/dist/stand/subscription-records.js +61 -16
- package/dist/stand/subscription-records.js.map +1 -1
- package/dist/stand/subscription-registry.d.ts +49 -14
- package/dist/stand/subscription-registry.d.ts.map +1 -1
- package/dist/stand/subscription-registry.js +150 -31
- package/dist/stand/subscription-registry.js.map +1 -1
- package/dist/stand/subscription-runtime.d.ts +7 -2
- package/dist/stand/subscription-runtime.d.ts.map +1 -1
- package/dist/stand/subscription-runtime.js +131 -25
- package/dist/stand/subscription-runtime.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
|
-
import { create } from "@bufbuild/protobuf";
|
|
14
|
+
import { clone, create } from "@bufbuild/protobuf";
|
|
15
15
|
import { TimestampSchema } from "@bufbuild/protobuf/wkt";
|
|
16
|
-
import { AgentHistoryCursorSchema, AgentHistoryEntrySchema, } from "@spine-event-engine/proto/agent";
|
|
16
|
+
import { AgentHistoryCursorSchema, AgentHistoryEntrySchema, ConversationIdSchema, } from "@spine-event-engine/proto/agent";
|
|
17
17
|
import { AgentHistoryKeys, } from "@spine-event-engine/storage/provider";
|
|
18
18
|
const bindings = new WeakMap();
|
|
19
19
|
/**
|
|
@@ -30,6 +30,9 @@ export const AgentHistoryReads = Object.freeze({
|
|
|
30
30
|
bind(entity, binding) {
|
|
31
31
|
bindings.set(entity, binding);
|
|
32
32
|
},
|
|
33
|
+
/**
|
|
34
|
+
* Installs a temporary history-read interceptor for the active Entity execution.
|
|
35
|
+
*/
|
|
33
36
|
withReadInterceptor(entity, interceptRead) {
|
|
34
37
|
const binding = bindings.get(entity);
|
|
35
38
|
if (binding === undefined)
|
|
@@ -140,7 +143,7 @@ export const AgentHistoryReads = Object.freeze({
|
|
|
140
143
|
const binding = bindings.get(entity);
|
|
141
144
|
if (binding === undefined)
|
|
142
145
|
throw new Error("Agent history is available only from repository execution.");
|
|
143
|
-
return this.readBound(binding, view, request);
|
|
146
|
+
return this.readBound(binding, view, request, binding.captureActor?.());
|
|
144
147
|
},
|
|
145
148
|
/**
|
|
146
149
|
* Reads a bounded provider page through the current live interceptor.
|
|
@@ -149,10 +152,26 @@ export const AgentHistoryReads = Object.freeze({
|
|
|
149
152
|
* @param binding Repository storage, identity and optional live read interceptor.
|
|
150
153
|
* @param view Indexed category and optional conversation filter.
|
|
151
154
|
* @param request Page size and opaque continuation from a previous page.
|
|
155
|
+
* @param actorContext Signal metadata captured before provider work.
|
|
152
156
|
* @returns Retained entries with the next cursor when older entries remain.
|
|
153
157
|
*/
|
|
154
|
-
async readBound(binding, view, request) {
|
|
155
|
-
const
|
|
158
|
+
async readBound(binding, view, request, actorContext) {
|
|
159
|
+
const capturedRequest = {
|
|
160
|
+
pageSize: request.pageSize,
|
|
161
|
+
...(request.cursor === undefined
|
|
162
|
+
? {}
|
|
163
|
+
: { cursor: clone(AgentHistoryCursorSchema, request.cursor) }),
|
|
164
|
+
};
|
|
165
|
+
const capturedView = view.kind === "conversation"
|
|
166
|
+
? {
|
|
167
|
+
kind: "conversation",
|
|
168
|
+
conversation: clone(ConversationIdSchema, view.conversation),
|
|
169
|
+
}
|
|
170
|
+
: view;
|
|
171
|
+
/**
|
|
172
|
+
* Admits the captured history read through the configured read boundary.
|
|
173
|
+
*/
|
|
174
|
+
const onRead = () => AgentHistoryPages.readBound(binding, capturedView, capturedRequest, actorContext);
|
|
156
175
|
return binding.onAdmit === undefined ? onRead() : binding.onAdmit(onRead);
|
|
157
176
|
},
|
|
158
177
|
});
|
|
@@ -166,18 +185,30 @@ const AgentHistoryPages = Object.freeze({
|
|
|
166
185
|
* @param binding Captured Agent history binding.
|
|
167
186
|
* @param view Indexed history category.
|
|
168
187
|
* @param request Requested page and continuation.
|
|
188
|
+
* @param actorContext Signal metadata captured when protected read began.
|
|
169
189
|
* @returns Complete protected page.
|
|
170
190
|
*/
|
|
171
|
-
async readBound(binding, view, request) {
|
|
191
|
+
async readBound(binding, view, request, actorContext) {
|
|
172
192
|
if (!Number.isSafeInteger(request.pageSize) || request.pageSize <= 0)
|
|
173
193
|
throw new RangeError("Agent history pageSize must be a positive safe integer.");
|
|
174
194
|
const maxBytes = this.limit(binding.maxBytes);
|
|
175
195
|
const after = AgentHistoryCursorValues.decode(request.cursor?.value, binding.scope, view, maxBytes);
|
|
196
|
+
/**
|
|
197
|
+
* Loads the next provider page when cached history cannot serve the request.
|
|
198
|
+
*/
|
|
176
199
|
const live = () => this.load(binding, view, request, after, maxBytes);
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
200
|
+
/**
|
|
201
|
+
* Converts one retained page and applies the configured visibility filter.
|
|
202
|
+
*/
|
|
203
|
+
const present = (page) => {
|
|
204
|
+
const result = this.present(binding.scope, view, page);
|
|
205
|
+
return binding.filterPage === undefined
|
|
206
|
+
? Promise.resolve(result)
|
|
207
|
+
: binding.filterPage(result, view, request, actorContext);
|
|
208
|
+
};
|
|
209
|
+
return binding.interceptRead === undefined
|
|
210
|
+
? present(await live())
|
|
211
|
+
: binding.interceptRead(binding.scope, request, live, maxBytes, present);
|
|
181
212
|
},
|
|
182
213
|
/**
|
|
183
214
|
* Loads a scoped provider page after validating the request.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-history.js","sourceRoot":"","sources":["../../src/agent/agent-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-history.js","sourceRoot":"","sources":["../../src/agent/agent-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type MessageShape } from "@bufbuild/protobuf";
|
|
2
2
|
import { type MessageSchema } from "@spine-event-engine/core";
|
|
3
|
-
import type { HistoryRead } from "@spine-event-engine/ai";
|
|
3
|
+
import type { HistoryPage, HistoryRead } from "@spine-event-engine/ai";
|
|
4
4
|
import type { Query } from "@spine-event-engine/proto/client";
|
|
5
|
+
import { type AgentHistoryEntry } from "@spine-event-engine/proto/agent";
|
|
5
6
|
import type { AgentHistoryPage } from "@spine-event-engine/storage/provider";
|
|
6
7
|
import type { AgentHistoryScope } from "./agent-history.js";
|
|
7
8
|
import { AgentLiveBudget } from "./agent-live-budget.js";
|
|
@@ -30,6 +31,16 @@ export declare class AgentLiveReadRuntime {
|
|
|
30
31
|
* @returns The current provider page.
|
|
31
32
|
*/
|
|
32
33
|
history(scope: AgentHistoryScope, request: HistoryRead, live: () => Promise<AgentHistoryPage>, maxBytes: number | undefined): Promise<AgentHistoryPage>;
|
|
34
|
+
/**
|
|
35
|
+
* Reads and presents a page within the same sequenced read lifetime.
|
|
36
|
+
* @param scope Exact repository and Agent identity.
|
|
37
|
+
* @param request Public page request.
|
|
38
|
+
* @param live Complete provider page callback.
|
|
39
|
+
* @param maxBytes Optional effective response byte ceiling.
|
|
40
|
+
* @param present Outward transformation after original byte accounting.
|
|
41
|
+
* @returns The presented page and original continuation.
|
|
42
|
+
*/
|
|
43
|
+
history(scope: AgentHistoryScope, request: HistoryRead, live: () => Promise<AgentHistoryPage>, maxBytes: number | undefined, present: (page: AgentHistoryPage) => Promise<HistoryPage<AgentHistoryEntry>>): Promise<HistoryPage<AgentHistoryEntry>>;
|
|
33
44
|
/**
|
|
34
45
|
* Executes one typed projection query in the same call-order queue.
|
|
35
46
|
* @typeParam Schema Generated Projection state schema.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-live-read-runtime.d.ts","sourceRoot":"","sources":["../../src/agent/agent-live-read-runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-live-read-runtime.d.ts","sourceRoot":"","sources":["../../src/agent/agent-live-read-runtime.ts"],"names":[],"mappings":"AAcA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,qBAAa,oBAAoB;;IAe7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAVhC;;;;;;OAMG;gBAEgB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,eAAe,EACvB,YAAY,CAAC,GAAE,MAAM,OAAO,CAAC,IAAI,CAAC,aAAA;IAGrD;;;;;;;OAOG;IACH,OAAO,CACL,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,EACrC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IAE5B;;;;;;;;OAQG;IACH,OAAO,CACL,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,EACrC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,GAC3E,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAqC1C;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,SAAS,aAAa,EAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,GACnD,OAAO,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IAU3C;;OAEG;IACH,MAAM,IAAI,IAAI;IAKd;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAahB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -38,14 +38,15 @@ export class AgentLiveReadRuntime {
|
|
|
38
38
|
this.checkSession = checkSession;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Processes provider and optional policy work under one Agent read admission.
|
|
42
42
|
* @param scope Exact repository and Agent identity.
|
|
43
43
|
* @param request Public page request.
|
|
44
44
|
* @param live Complete provider page callback.
|
|
45
45
|
* @param maxBytes Optional effective response byte ceiling.
|
|
46
|
-
* @
|
|
46
|
+
* @param present Optional outward transformation after original byte accounting.
|
|
47
|
+
* @returns Provider or presented page after all work settles.
|
|
47
48
|
*/
|
|
48
|
-
history(scope, request, live, maxBytes) {
|
|
49
|
+
history(scope, request, live, maxBytes, present) {
|
|
49
50
|
return this.sequence(async () => {
|
|
50
51
|
this.checkScope(scope);
|
|
51
52
|
if (!Number.isSafeInteger(request.pageSize) || request.pageSize <= 0)
|
|
@@ -59,7 +60,7 @@ export class AgentLiveReadRuntime {
|
|
|
59
60
|
const bytes = page.entries.reduce((sum, entry) => sum + toBinary(AgentHistoryEntrySchema, entry).length, 0);
|
|
60
61
|
if (maxBytes !== undefined && bytes > maxBytes)
|
|
61
62
|
throw new RangeError("Agent history page exceeds maxBytes.");
|
|
62
|
-
return page;
|
|
63
|
+
return present === undefined ? page : present(page);
|
|
63
64
|
});
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-live-read-runtime.js","sourceRoot":"","sources":["../../src/agent/agent-live-read-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAqB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAsB,MAAM,0BAA0B,CAAC;AAGxE,OAAO,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"agent-live-read-runtime.js","sourceRoot":"","sources":["../../src/agent/agent-live-read-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,35 +31,147 @@ type BrowserServerTestOptions = BrowserServerOptions & Partial<BrowserHostOption
|
|
|
31
31
|
* Hosts browser-facing Spine gateway routes independently from native server assembly.
|
|
32
32
|
*/
|
|
33
33
|
export declare const browserServerImplementation: Readonly<{
|
|
34
|
+
/**
|
|
35
|
+
* Starts a browser listener against the supplied native backend.
|
|
36
|
+
*
|
|
37
|
+
* @param native The native backend to expose through this browser host.
|
|
38
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
39
|
+
* @returns The listening browser endpoint with coordinated native-backend cleanup.
|
|
40
|
+
*/
|
|
34
41
|
open(native: RunningServer, options: BrowserServerOptions): Promise<RunningServer>;
|
|
42
|
+
/**
|
|
43
|
+
* Starts a browser listener against the supplied native backend.
|
|
44
|
+
*
|
|
45
|
+
* @param native The native backend to expose through this browser host.
|
|
46
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
47
|
+
* @returns The listening browser endpoint with coordinated native-backend cleanup.
|
|
48
|
+
*/
|
|
35
49
|
open(native: string | readonly string[] | undefined, options: StandaloneBrowserServerOptions): Promise<RunningServer>;
|
|
50
|
+
/**
|
|
51
|
+
* Starts the browser host and registers it for process-level shutdown.
|
|
52
|
+
*
|
|
53
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
54
|
+
* @returns The running host registered with the process coordinator.
|
|
55
|
+
*/
|
|
36
56
|
run(options: StandaloneBrowserServerOptions): Promise<RunningServer>;
|
|
57
|
+
/**
|
|
58
|
+
* Starts the browser host and registers it for process-level shutdown.
|
|
59
|
+
*
|
|
60
|
+
* @param native The native backend to expose through this browser host.
|
|
61
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
62
|
+
* @returns The running host registered with the process coordinator.
|
|
63
|
+
*/
|
|
37
64
|
run(native: Server, options: BrowserServerOptions): Promise<RunningServer>;
|
|
65
|
+
/**
|
|
66
|
+
* Builds credential extraction and transport-fact adapters for browser requests.
|
|
67
|
+
*
|
|
68
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
69
|
+
* @returns Adapters that the gateway uses to admit each incoming request.
|
|
70
|
+
*/
|
|
38
71
|
requests(options: BrowserServerOptions): {
|
|
72
|
+
/**
|
|
73
|
+
* Reads a configured cookie credential or a Bearer authorization value.
|
|
74
|
+
*
|
|
75
|
+
* @param context Incoming request headers; these do not establish authenticated identity.
|
|
76
|
+
* @returns The extracted credential, an empty bearer value for rejected cookies, or no credential.
|
|
77
|
+
*/
|
|
39
78
|
credential(context: {
|
|
40
79
|
readonly requestHeader: Headers;
|
|
41
80
|
}): {
|
|
42
81
|
readonly kind: "bearer" | "cookie";
|
|
43
82
|
readonly value: string;
|
|
44
83
|
} | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* Captures browser request headers and origin for admission policy.
|
|
86
|
+
*
|
|
87
|
+
* @param context Incoming request headers; these do not establish authenticated identity.
|
|
88
|
+
* @returns Transport facts containing the browser origin and request headers.
|
|
89
|
+
*/
|
|
45
90
|
transport(context: {
|
|
46
91
|
readonly requestHeader: Headers;
|
|
47
92
|
}): ReturnType<typeof TransportFacts.from>;
|
|
48
93
|
};
|
|
94
|
+
/**
|
|
95
|
+
* Validates a nonempty set of unique canonical HTTP(S) origins.
|
|
96
|
+
*
|
|
97
|
+
* @param origins Canonical browser origins permitted to access the listener.
|
|
98
|
+
* @returns The validated origins for exact admission checks.
|
|
99
|
+
*/
|
|
49
100
|
origins(origins: readonly string[]): ReadonlySet<string>;
|
|
101
|
+
/**
|
|
102
|
+
* Rejects backend URLs containing paths, credentials, queries, or fragments.
|
|
103
|
+
*
|
|
104
|
+
* @param value The backend origin to validate.
|
|
105
|
+
* @returns The original canonical backend origin.
|
|
106
|
+
*/
|
|
50
107
|
backendUrl(value: string): string;
|
|
108
|
+
/**
|
|
109
|
+
* Validates a nonempty list of distinct native backend origins.
|
|
110
|
+
*
|
|
111
|
+
* @param values Native backend origins in routing order.
|
|
112
|
+
* @returns The validated backend origins in their configured order.
|
|
113
|
+
*/
|
|
51
114
|
backendUrls(values: readonly string[]): readonly string[];
|
|
115
|
+
/**
|
|
116
|
+
* Selects the node endpoint and its configured TLS server name.
|
|
117
|
+
*
|
|
118
|
+
* @param node The application node whose native transport is being configured.
|
|
119
|
+
* @returns Transport settings preserving the node's TLS server-name override.
|
|
120
|
+
*/
|
|
52
121
|
dynamicTransportOptions(node: ApplicationNode): {
|
|
53
122
|
readonly baseUrl: string;
|
|
54
123
|
readonly nodeOptions?: {
|
|
55
124
|
readonly servername: string;
|
|
56
125
|
};
|
|
57
126
|
};
|
|
127
|
+
/**
|
|
128
|
+
* Checks admission ports and production subscription-persistence requirements.
|
|
129
|
+
*
|
|
130
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
131
|
+
* @param production Whether production persistence requirements must be enforced.
|
|
132
|
+
*/
|
|
58
133
|
requireDurableBindings(options: BrowserServerOptions, production: boolean): void;
|
|
134
|
+
/**
|
|
135
|
+
* Validates authentication routes and rejects duplicate or reserved RPC paths.
|
|
136
|
+
*
|
|
137
|
+
* @param routes Optional HTTP authentication endpoints to validate and index.
|
|
138
|
+
* @returns Validated routes indexed by their exact HTTP path.
|
|
139
|
+
*/
|
|
59
140
|
authRoutes(routes: readonly BrowserAuthRoute[] | undefined): ReadonlyMap<string, BrowserAuthRoute>;
|
|
141
|
+
/**
|
|
142
|
+
* Executes an authentication route within its configured origin, size, and time bounds.
|
|
143
|
+
*
|
|
144
|
+
* @param request The incoming HTTP request.
|
|
145
|
+
* @param response The HTTP response to complete with the route outcome.
|
|
146
|
+
* @param route The matched authentication endpoint and its admission constraints.
|
|
147
|
+
* @param active Controllers tracked so shutdown can abort active authentication requests.
|
|
148
|
+
* @param writeMaxBytes The existing transport bound for the authentication response body.
|
|
149
|
+
* @returns Completion after the HTTP response and request cleanup settle.
|
|
150
|
+
*/
|
|
60
151
|
dispatchAuth(request: http.IncomingMessage, response: http.ServerResponse, route: BrowserAuthRoute, active: Set<AbortController>, writeMaxBytes: number): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Binds the HTTP listener and propagates startup errors.
|
|
154
|
+
*
|
|
155
|
+
* @param server The HTTP listener being started or stopped.
|
|
156
|
+
* @param host The interface address on which to bind the listener.
|
|
157
|
+
* @param port The requested listener port; zero requests an ephemeral port.
|
|
158
|
+
* @returns The actual bound address, including an allocated ephemeral port.
|
|
159
|
+
*/
|
|
61
160
|
listen(server: http.Server, host: string, port: number): Promise<AddressInfo>;
|
|
161
|
+
/**
|
|
162
|
+
* Stops accepting connections and drains the HTTP listener.
|
|
163
|
+
*
|
|
164
|
+
* @param server The HTTP listener being started or stopped.
|
|
165
|
+
* @returns Completion after the listener closes; rejects on a close error.
|
|
166
|
+
*/
|
|
62
167
|
closeListener(server: http.Server): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Applies listener defaults and checks browser admission configuration before startup.
|
|
170
|
+
*
|
|
171
|
+
* @param mode Whether a native server is started locally or supplied as a separate backend.
|
|
172
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
173
|
+
* @returns Normalized listener options after all preflight checks pass.
|
|
174
|
+
*/
|
|
63
175
|
preflight(mode: "combined" | "standalone", options: BrowserServerOptions): BrowserHostOptions;
|
|
64
176
|
}>;
|
|
65
177
|
/**
|
|
@@ -68,21 +180,72 @@ export declare const browserServerImplementation: Readonly<{
|
|
|
68
180
|
* @internal
|
|
69
181
|
*/
|
|
70
182
|
type BrowserServerTestAccess = Omit<typeof browserServerImplementation, "open" | "run" | "requests" | "requireDurableBindings" | "preflight"> & {
|
|
183
|
+
/**
|
|
184
|
+
* Starts a browser listener against the supplied native backend.
|
|
185
|
+
*
|
|
186
|
+
* @param native The native backend to expose through this browser host.
|
|
187
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
188
|
+
* @returns The listening browser endpoint with coordinated native-backend cleanup.
|
|
189
|
+
*/
|
|
71
190
|
open(native: RunningServer | string | readonly string[] | undefined, options: BrowserServerTestOptions): Promise<RunningServer>;
|
|
191
|
+
/**
|
|
192
|
+
* Starts the browser host and registers it for process-level shutdown.
|
|
193
|
+
*
|
|
194
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
195
|
+
* @returns The running host registered with the process coordinator.
|
|
196
|
+
*/
|
|
72
197
|
run(options: BrowserServerTestOptions): Promise<RunningServer>;
|
|
198
|
+
/**
|
|
199
|
+
* Starts the browser host and registers it for process-level shutdown.
|
|
200
|
+
*
|
|
201
|
+
* @param native The native backend to expose through this browser host.
|
|
202
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
203
|
+
* @returns The running host registered with the process coordinator.
|
|
204
|
+
*/
|
|
73
205
|
run(native: Server, options: BrowserServerTestOptions): Promise<RunningServer>;
|
|
206
|
+
/**
|
|
207
|
+
* Builds credential extraction and transport-fact adapters for browser requests.
|
|
208
|
+
*
|
|
209
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
210
|
+
* @returns Adapters that the gateway uses to admit each incoming request.
|
|
211
|
+
*/
|
|
74
212
|
requests(options: BrowserServerTestOptions): {
|
|
213
|
+
/**
|
|
214
|
+
* Reads a configured cookie credential or a Bearer authorization value.
|
|
215
|
+
*
|
|
216
|
+
* @param context Incoming request headers; these do not establish authenticated identity.
|
|
217
|
+
* @returns The extracted credential, an empty bearer value for rejected cookies, or no credential.
|
|
218
|
+
*/
|
|
75
219
|
credential(context: {
|
|
76
220
|
readonly requestHeader: Headers;
|
|
77
221
|
}): {
|
|
78
222
|
readonly kind: "bearer" | "cookie";
|
|
79
223
|
readonly value: string;
|
|
80
224
|
} | undefined;
|
|
225
|
+
/**
|
|
226
|
+
* Captures browser request headers and origin for admission policy.
|
|
227
|
+
*
|
|
228
|
+
* @param context Incoming request headers; these do not establish authenticated identity.
|
|
229
|
+
* @returns Transport facts containing the browser origin and request headers.
|
|
230
|
+
*/
|
|
81
231
|
transport(context: {
|
|
82
232
|
readonly requestHeader: Headers;
|
|
83
233
|
}): ReturnType<typeof TransportFacts.from>;
|
|
84
234
|
};
|
|
235
|
+
/**
|
|
236
|
+
* Checks admission ports and production subscription-persistence requirements.
|
|
237
|
+
*
|
|
238
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
239
|
+
* @param production Whether production persistence requirements must be enforced.
|
|
240
|
+
*/
|
|
85
241
|
requireDurableBindings(options: BrowserServerTestOptions, production: boolean): void;
|
|
242
|
+
/**
|
|
243
|
+
* Applies listener defaults and checks browser admission configuration before startup.
|
|
244
|
+
*
|
|
245
|
+
* @param mode Whether a native server is started locally or supplied as a separate backend.
|
|
246
|
+
* @param options Browser listener, admission, and backend configuration.
|
|
247
|
+
* @returns Normalized listener options after all preflight checks pass.
|
|
248
|
+
*/
|
|
86
249
|
preflight(mode: "combined" | "standalone", options: BrowserServerTestOptions): BrowserHostOptions;
|
|
87
250
|
};
|
|
88
251
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-server.d.ts","sourceRoot":"","sources":["../../src/browser/browser-server.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAOL,cAAc,EAMf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAsB,MAAM,gCAAgC,CAAC;AAOrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAuB,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-server.d.ts","sourceRoot":"","sources":["../../src/browser/browser-server.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAOL,cAAc,EAMf,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAsB,MAAM,gCAAgC,CAAC;AAOrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAuB,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,EAC/B,MAAM,cAAc,CAAC;AAwBtB;;;;GAIG;AACH,KAAK,kBAAkB,GAAG,oBAAoB,GAAG;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,mBAAmB,CAAC;CACjF,CAAC;AAEF;;;;GAIG;AACH,KAAK,wBAAwB,GAAG,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAsCnF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC;IACjD;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEnF;;;;;;OAMG;IACH,IAAI,CACF,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,EAC9C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAErE;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE3E;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG;QACvC;;;;;WAKG;QACH,UAAU,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;SAAE,GACnD;YACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;YACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,GACD,SAAS,CAAC;QAEd;;;;;WAKG;QACH,SAAS,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;SAAE,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;KACjG,CAAC;IAEF;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAEzD;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAElC;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAC;IAE1D;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG;QAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,CAAC,EAAE;YAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KACxD,CAAC;IAEF;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjF;;;;;OAKG;IACH,UAAU,CACR,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,GAC9C,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEzC;;;;;;;;;OASG;IACH,YAAY,CACV,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CAAC;CAC/F,CA4dC,CAAC;AAEH;;;;GAIG;AACH,KAAK,uBAAuB,GAAG,IAAI,CACjC,OAAO,2BAA2B,EAClC,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,wBAAwB,GAAG,WAAW,CACrE,GAAG;IACF;;;;;;OAMG;IACH,IAAI,CACF,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,EAC9D,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/E;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG;QAC3C;;;;;WAKG;QACH,UAAU,CAAC,OAAO,EAAE;YAClB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;SACjC,GAAG;YAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;QAE/E;;;;;WAKG;QACH,SAAS,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;SAAE,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;KACjG,CAAC;IAEF;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAErF;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,OAAO,EAAE,wBAAwB,GAAG,kBAAkB,CAAC;CACnG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,uBAEpC,CAAC"}
|