@spine-event-engine/server 2.0.0-snapshot.2 → 2.0.0-snapshot.5

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.
Files changed (97) hide show
  1. package/README.md +63 -539
  2. package/REFERENCE.md +32 -10
  3. package/dist/browser/browser-server.d.ts +95 -0
  4. package/dist/browser/browser-server.d.ts.map +1 -0
  5. package/dist/{server → browser}/browser-server.js +93 -7
  6. package/dist/browser/browser-server.js.map +1 -0
  7. package/dist/browser/durable-subscription-bindings.d.ts.map +1 -0
  8. package/dist/browser/durable-subscription-bindings.js.map +1 -0
  9. package/dist/browser/index.d.ts +12 -0
  10. package/dist/browser/index.d.ts.map +1 -0
  11. package/dist/browser/index.js +24 -0
  12. package/dist/browser/index.js.map +1 -0
  13. package/dist/browser/options.d.ts +183 -0
  14. package/dist/browser/options.d.ts.map +1 -0
  15. package/dist/browser/options.js +15 -0
  16. package/dist/browser/options.js.map +1 -0
  17. package/dist/context/bounded-context.d.ts.map +1 -1
  18. package/dist/context/bounded-context.js +2 -1
  19. package/dist/context/bounded-context.js.map +1 -1
  20. package/dist/context/entity-inbox.js +1 -1
  21. package/dist/context/entity-inbox.js.map +1 -1
  22. package/dist/context/local-inbox-handoff.js +1 -1
  23. package/dist/context/local-inbox-handoff.js.map +1 -1
  24. package/dist/context/tenant-index.d.ts.map +1 -1
  25. package/dist/context/tenant-index.js +2 -1
  26. package/dist/context/tenant-index.js.map +1 -1
  27. package/dist/delivery/inbox-storage.js +1 -1
  28. package/dist/delivery/inbox-storage.js.map +1 -1
  29. package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
  30. package/dist/delivery/sharded-work-registry.js +2 -1
  31. package/dist/delivery/sharded-work-registry.js.map +1 -1
  32. package/dist/entity/entity-storage-descriptor.d.ts +1 -1
  33. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
  34. package/dist/handler/generated-handler-registry.d.ts +0 -7
  35. package/dist/handler/generated-handler-registry.d.ts.map +1 -1
  36. package/dist/handler/generated-handler-registry.js.map +1 -1
  37. package/dist/index.d.ts +1 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +0 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/repository/repository.d.ts.map +1 -1
  42. package/dist/repository/repository.js +3 -2
  43. package/dist/repository/repository.js.map +1 -1
  44. package/dist/server/environment-attachment.d.ts.map +1 -1
  45. package/dist/server/environment-attachment.js +2 -1
  46. package/dist/server/environment-attachment.js.map +1 -1
  47. package/dist/server/environment-delivery-worker.d.ts.map +1 -1
  48. package/dist/server/environment-delivery-worker.js +2 -1
  49. package/dist/server/environment-delivery-worker.js.map +1 -1
  50. package/dist/server/node-coordinator.js +2 -2
  51. package/dist/server/node-coordinator.js.map +1 -1
  52. package/dist/server/server.d.ts +9 -177
  53. package/dist/server/server.d.ts.map +1 -1
  54. package/dist/server/server.js +24 -72
  55. package/dist/server/server.js.map +1 -1
  56. package/dist/services/spine-services.js +2 -1
  57. package/dist/services/spine-services.js.map +1 -1
  58. package/dist/spi/delivery.d.ts +5 -0
  59. package/dist/spi/delivery.d.ts.map +1 -0
  60. package/dist/spi/delivery.js +18 -0
  61. package/dist/spi/delivery.js.map +1 -0
  62. package/dist/spi/handler-registry.d.ts +8 -0
  63. package/dist/spi/handler-registry.d.ts.map +1 -0
  64. package/dist/spi/handler-registry.js +15 -0
  65. package/dist/spi/handler-registry.js.map +1 -0
  66. package/dist/stand/stand.d.ts.map +1 -1
  67. package/dist/stand/stand.js +2 -1
  68. package/dist/stand/stand.js.map +1 -1
  69. package/dist/stand/subscription-observer.js +1 -1
  70. package/dist/stand/subscription-observer.js.map +1 -1
  71. package/dist/stand/subscription-registry.js +1 -1
  72. package/dist/stand/subscription-registry.js.map +1 -1
  73. package/dist/testing/index.d.ts +2 -3
  74. package/dist/testing/index.d.ts.map +1 -1
  75. package/dist/testing/index.js +2 -3
  76. package/dist/testing/index.js.map +1 -1
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +34 -23
  79. package/dist/handler/build-time-handler-analyzer.d.ts +0 -150
  80. package/dist/handler/build-time-handler-analyzer.d.ts.map +0 -1
  81. package/dist/handler/build-time-handler-analyzer.js +0 -1101
  82. package/dist/handler/build-time-handler-analyzer.js.map +0 -1
  83. package/dist/handler/generated-registry-writer.d.ts +0 -58
  84. package/dist/handler/generated-registry-writer.d.ts.map +0 -1
  85. package/dist/handler/generated-registry-writer.js +0 -458
  86. package/dist/handler/generated-registry-writer.js.map +0 -1
  87. package/dist/handler/handler-codegen.d.ts +0 -48
  88. package/dist/handler/handler-codegen.d.ts.map +0 -1
  89. package/dist/handler/handler-codegen.js +0 -214
  90. package/dist/handler/handler-codegen.js.map +0 -1
  91. package/dist/server/browser-server.d.ts +0 -49
  92. package/dist/server/browser-server.d.ts.map +0 -1
  93. package/dist/server/browser-server.js.map +0 -1
  94. package/dist/server/durable-subscription-bindings.d.ts.map +0 -1
  95. package/dist/server/durable-subscription-bindings.js.map +0 -1
  96. /package/dist/{server → browser}/durable-subscription-bindings.d.ts +0 -0
  97. /package/dist/{server → browser}/durable-subscription-bindings.js +0 -0
@@ -1,48 +0,0 @@
1
- /**
2
- * Options for application-local generated handler registry production.
3
- */
4
- export interface HandlerCodegenOptions {
5
- /**
6
- * Application root containing its TypeScript project.
7
- */
8
- readonly appRoot: string;
9
- }
10
- /**
11
- * Filesystem operations used to stage an application handler registry.
12
- */
13
- export interface HandlerCodegenOperations {
14
- /**
15
- * Creates a directory at the supplied path.
16
- *
17
- * @param path Directory path to create.
18
- */
19
- readonly mkdir: (path: string) => void;
20
- /**
21
- * Writes source text to the supplied path.
22
- *
23
- * @param path File path to write.
24
- * @param source UTF-8 source text to write.
25
- */
26
- readonly write: (path: string, source: string) => void;
27
- /**
28
- * Updates a filesystem entry to use another path.
29
- *
30
- * @param from Existing filesystem entry path.
31
- * @param to Destination filesystem entry path.
32
- */
33
- readonly rename: (from: string, to: string) => void;
34
- /**
35
- * Removes the filesystem entry at the supplied path.
36
- *
37
- * @param path Filesystem entry path to remove.
38
- */
39
- readonly remove: (path: string) => void;
40
- }
41
- /**
42
- * Creates and atomically replaces an application's generated handler registry.
43
- *
44
- * @param options Application root and generation configuration.
45
- * @param operations Optional filesystem operations used for generation.
46
- */
47
- export declare function generateHandlerRegistry(options: HandlerCodegenOptions, operations?: Partial<HandlerCodegenOperations>): void;
48
- //# sourceMappingURL=handler-codegen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler-codegen.d.ts","sourceRoot":"","sources":["../../src/handler/handler-codegen.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAGpC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IAGvC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAiBD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,qBAAqB,EAC9B,UAAU,GAAE,OAAO,CAAC,wBAAwB,CAAM,GACjD,IAAI,CAkBN"}
@@ -1,214 +0,0 @@
1
- /*
2
- * Copyright 2026, CodeMatters. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5
- * in compliance with the License. You may obtain a copy of the License at
6
- *
7
- * https://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software distributed under the License
10
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11
- * or implied. See the License for the specific language governing permissions and limitations under
12
- * the License.
13
- */
14
- import { lstatSync, mkdirSync, opendirSync, renameSync, rmSync, writeFileSync } from "node:fs";
15
- import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
16
- import ts from "typescript";
17
- import { BuildHandlerAnalyzer } from "./build-time-handler-analyzer.js";
18
- import { GeneratedRegistryWriter } from "./generated-registry-writer.js";
19
- const maxCompilerRoots = 1000;
20
- const maxDiscoveryEntries = 1000;
21
- const defaultOperations = {
22
- mkdir: (path) => {
23
- mkdirSync(path, { recursive: true });
24
- },
25
- write: (path, source) => {
26
- writeFileSync(path, source, "utf8");
27
- },
28
- rename: renameSync,
29
- remove: (path) => {
30
- rmSync(path, { force: true });
31
- },
32
- };
33
- /**
34
- * Creates and atomically replaces an application's generated handler registry.
35
- *
36
- * @param options Application root and generation configuration.
37
- * @param operations Optional filesystem operations used for generation.
38
- */
39
- export function generateHandlerRegistry(options, operations = {}) {
40
- const appRoot = HandlerFiles.directory(resolve(options.appRoot), "Application root");
41
- const project = HandlerFiles.file(appRoot, join(appRoot, "tsconfig.json"), "Project");
42
- const generatedRoot = HandlerFiles.path(appRoot, join(appRoot, "generated"), "Generated root");
43
- const outputFile = HandlerFiles.path(generatedRoot, join(generatedRoot, "handler/generated-handler-registry.ts"), "Generated output");
44
- const { program, sources } = HandlerFiles.program(appRoot, project);
45
- const analysis = BuildHandlerAnalyzer.analyze(program, sources);
46
- if (analysis.diagnostics.length > 0)
47
- throw new Error(HandlerFiles.diagnostics(analysis.diagnostics));
48
- const source = new GeneratedRegistryWriter().render(analysis, { outputFile });
49
- (operations.mkdir ?? defaultOperations.mkdir)(dirname(outputFile));
50
- HandlerFiles.write(outputFile, source, operations);
51
- }
52
- const HandlerFiles = Object.freeze({
53
- program(appRoot, project) {
54
- const config = ts.readConfigFile(project, (path) => ts.sys.readFile(path));
55
- if (config.error !== undefined)
56
- throw new Error(HandlerFiles.configDiagnostics([config.error]));
57
- HandlerFiles.assertIncludes(HandlerFiles.value(config.config, "include"), appRoot);
58
- const parsed = ts.parseJsonConfigFileContent(config.config, HandlerFiles.configHost(appRoot, dirname(project)), dirname(project), undefined, project);
59
- if (parsed.errors.length > 0)
60
- throw new Error(HandlerFiles.configDiagnostics(parsed.errors));
61
- if ((parsed.projectReferences?.length ?? 0) > 0)
62
- throw new Error("Project references are not supported for handler generation.");
63
- if (parsed.fileNames.length > maxCompilerRoots)
64
- throw new Error(`Handler source count exceeds ${String(maxCompilerRoots)}.`);
65
- const roots = parsed.fileNames.map((file) => HandlerFiles.typeScriptFile(appRoot, file));
66
- const program = ts.createProgram({
67
- rootNames: roots,
68
- options: parsed.options,
69
- ...(parsed.projectReferences === undefined
70
- ? {}
71
- : { projectReferences: parsed.projectReferences }),
72
- });
73
- const sources = roots
74
- .map((root) => program.getSourceFile(root))
75
- .filter(HandlerFiles.sourceFile);
76
- return { program, sources };
77
- },
78
- assertIncludes(value, appRoot) {
79
- if (!Array.isArray(value))
80
- return;
81
- for (const include of value) {
82
- if (typeof include !== "string")
83
- continue;
84
- if (include.split(/[\\/]/u).includes(".."))
85
- throw new Error(`Handler source must stay within ${appRoot}.`);
86
- }
87
- },
88
- value(value, key) {
89
- if (typeof value !== "object" || value === null)
90
- return undefined;
91
- return value[key];
92
- },
93
- configHost(appRoot, currentDirectory) {
94
- let entries = 0;
95
- // TypeScript 6.0.3 exports matchFiles at runtime but omits it from its declarations.
96
- const matchFiles = ts.matchFiles;
97
- return {
98
- useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames,
99
- readDirectory: (path, extensions, excludes, includes, depth) => matchFiles(path, extensions, excludes, includes, ts.sys.useCaseSensitiveFileNames, currentDirectory, depth, (directory) => {
100
- const resolvedDirectory = resolve(currentDirectory, directory);
101
- HandlerFiles.containedPath(appRoot, resolvedDirectory, "Handler discovery directory");
102
- const files = [];
103
- const directories = [];
104
- const handle = opendirSync(resolvedDirectory);
105
- try {
106
- let entry;
107
- while ((entry = handle.readSync()) !== null) {
108
- entries += 1;
109
- if (entries > maxDiscoveryEntries)
110
- throw new Error(`Handler discovery entry count exceeds ${String(maxDiscoveryEntries)}.`);
111
- const candidate = join(resolvedDirectory, entry.name);
112
- if (lstatSync(candidate).isSymbolicLink())
113
- throw new Error(`Handler discovery must not traverse symlink: ${candidate}`);
114
- if (entry.isDirectory())
115
- directories.push(entry.name);
116
- else if (entry.isFile())
117
- files.push(entry.name);
118
- }
119
- }
120
- finally {
121
- handle.closeSync();
122
- }
123
- return { files, directories };
124
- }, (path) => ts.sys.realpath?.(path) ?? path),
125
- fileExists: (path) => ts.sys.fileExists(path),
126
- readFile: (path) => ts.sys.readFile(path),
127
- trace: () => undefined,
128
- directoryExists: (path) => ts.sys.directoryExists(path),
129
- realpath: (path) => ts.sys.realpath?.(path) ?? path,
130
- };
131
- },
132
- sourceFile(value) {
133
- return value !== undefined;
134
- },
135
- diagnostics(diagnostics) {
136
- return diagnostics
137
- .map((diagnostic) => {
138
- const location = `${diagnostic.sourceFile}:${String(diagnostic.line)}:` + String(diagnostic.column);
139
- return `${location} ${diagnostic.code} ${diagnostic.message}`;
140
- })
141
- .join("\n");
142
- },
143
- configDiagnostics(diagnostics) {
144
- return ts.formatDiagnosticsWithColorAndContext(diagnostics, {
145
- getCanonicalFileName: (fileName) => fileName,
146
- getCurrentDirectory: () => process.cwd(),
147
- getNewLine: () => "\n",
148
- });
149
- },
150
- file(root, value, label) {
151
- const path = HandlerFiles.path(root, value, label);
152
- if (!lstatSync(path).isFile())
153
- throw new Error(`${label} must be a regular file: ${path}`);
154
- return path;
155
- },
156
- typeScriptFile(root, value) {
157
- if (!value.endsWith(".ts") || value.endsWith(".d.ts"))
158
- throw new Error(`Handler source must be a TypeScript file: ${value}`);
159
- return HandlerFiles.file(root, value, "Handler source");
160
- },
161
- directory(path, label) {
162
- HandlerFiles.assertNoSymlinkAncestors(path, label);
163
- if (!lstatSync(path).isDirectory())
164
- throw new Error(`${label} must be a directory: ${path}`);
165
- return path;
166
- },
167
- path(root, path, label) {
168
- const value = relative(root, path);
169
- if (value === "" || value.startsWith("..") || isAbsolute(value))
170
- throw new Error(`${label} must stay within ${root}.`);
171
- HandlerFiles.assertNoSymlinkAncestors(path, label);
172
- return path;
173
- },
174
- containedPath(root, path, label) {
175
- const value = relative(root, path);
176
- if (value.startsWith("..") || isAbsolute(value))
177
- throw new Error(`${label} must stay within ${root}.`);
178
- HandlerFiles.assertNoSymlinkAncestors(path, label);
179
- return path;
180
- },
181
- assertNoSymlinkAncestors(path, label) {
182
- const parts = resolve(path).split(sep).filter(Boolean);
183
- let current = sep;
184
- for (const part of parts) {
185
- current = join(current, part);
186
- try {
187
- if (lstatSync(current).isSymbolicLink())
188
- throw new Error(`${label} must not use a symlink path.`);
189
- }
190
- catch (error) {
191
- if (error.code !== "ENOENT")
192
- throw error;
193
- }
194
- }
195
- },
196
- write(outputFile, source, operations) {
197
- const fileOperations = { ...defaultOperations, ...operations };
198
- const stage = join(dirname(outputFile), `.${basename(outputFile)}.${String(process.pid)}.${crypto.randomUUID()}.tmp`);
199
- try {
200
- fileOperations.write(stage, source);
201
- fileOperations.rename(stage, outputFile);
202
- }
203
- catch (primary) {
204
- try {
205
- fileOperations.remove(stage);
206
- }
207
- catch (cleanup) {
208
- throw new AggregateError([primary, cleanup], "Generated handler registry publication failed.");
209
- }
210
- throw primary;
211
- }
212
- },
213
- });
214
- //# sourceMappingURL=handler-codegen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler-codegen.js","sourceRoot":"","sources":["../../src/handler/handler-codegen.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import * as http from "node:http";
2
- import type { AddressInfo } from "node:net";
3
- import { TransportFacts } from "@spine-event-engine/auth";
4
- import { Http2SessionManager } from "@connectrpc/connect-node";
5
- import { ApplicationNode } from "@spine-event-engine/deployment";
6
- import type { BrowserAuthRoute, BrowserServerOptions, RunningServer } from "./server.js";
7
- type BrowserHostOptions = BrowserServerOptions & {
8
- readonly host: string;
9
- readonly port: number;
10
- readonly readMaxBytes: number;
11
- readonly writeMaxBytes: number;
12
- readonly production: boolean;
13
- readonly dynamicManagerFactory?: (node: ApplicationNode) => Http2SessionManager;
14
- };
15
- /**
16
- * Runs the private native endpoint behind one admitted browser listener.
17
- *
18
- * @internal
19
- */
20
- export declare const BrowserServer: Readonly<{
21
- open(native: RunningServer | string | readonly string[] | undefined, options: BrowserHostOptions): Promise<RunningServer>;
22
- requests(options: BrowserServerOptions): {
23
- credential(context: {
24
- readonly requestHeader: Headers;
25
- }): {
26
- readonly kind: "bearer" | "cookie";
27
- readonly value: string;
28
- } | undefined;
29
- transport(context: {
30
- readonly requestHeader: Headers;
31
- }): ReturnType<typeof TransportFacts.from>;
32
- };
33
- origins(origins: readonly string[]): ReadonlySet<string>;
34
- backendUrl(value: string): string;
35
- backendUrls(values: readonly string[]): readonly string[];
36
- dynamicTransportOptions(node: ApplicationNode): {
37
- readonly baseUrl: string;
38
- readonly nodeOptions?: {
39
- readonly servername: string;
40
- };
41
- };
42
- requireDurableBindings(options: BrowserServerOptions, production: boolean): void;
43
- authRoutes(routes: readonly BrowserAuthRoute[] | undefined): ReadonlyMap<string, BrowserAuthRoute>;
44
- dispatchAuth(request: http.IncomingMessage, response: http.ServerResponse, route: BrowserAuthRoute, active: Set<AbortController>, writeMaxBytes: number): Promise<void>;
45
- listen(server: http.Server, host: string, port: number): Promise<AddressInfo>;
46
- closeListener(server: http.Server): Promise<void>;
47
- }>;
48
- export {};
49
- //# sourceMappingURL=browser-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-server.d.ts","sourceRoot":"","sources":["../../src/server/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,gBAAgB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAkBzF,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,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC;IACnC,IAAI,CACF,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,EAC9D,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG;QACvC,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;QACd,SAAS,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;SAAE,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;KACjG,CAAC;IACF,OAAO,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAAC;IAC1D,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;IACF,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IACjF,UAAU,CACR,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,GAC9C,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,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;IACjB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9E,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD,CA+gBC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-server.js","sourceRoot":"","sources":["../../src/server/browser-server.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"durable-subscription-bindings.d.ts","sourceRoot":"","sources":["../../src/server/durable-subscription-bindings.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAUrC;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAGjD;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CACpB,yBAAyB,EACzB,uBAAuB,GAAG,oBAAoB,GAAG,mBAAmB,CACrE,CAAC;CACH;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,YAAW,oBAAoB;;IAGtE;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAmB3B;;;;OAIG;gBACS,OAAO,EAAE,kCAAkC;IAqCvD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;QACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA0CnC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;QAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;QAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;KAC9B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAqB1C;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;QAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;KACjD,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAwB1C;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwD1C;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE;QACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,YAAY,EAAE,CACrB,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CjB;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAwKvB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GACzC,QAAQ,IAAI,2BAA2B,CAEzC;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,2BAA2B,EACrC,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAON"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"durable-subscription-bindings.js","sourceRoot":"","sources":["../../src/server/durable-subscription-bindings.ts"],"names":[],"mappings":"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"}