@spine-event-engine/server 2.0.0-snapshot.21 → 2.0.0-snapshot.23
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 +104 -7
- package/REFERENCE.md +199 -19
- package/dist/agent/agent-admission.d.ts +80 -0
- package/dist/agent/agent-admission.d.ts.map +1 -0
- package/dist/agent/agent-admission.js +127 -0
- package/dist/agent/agent-admission.js.map +1 -0
- package/dist/agent/agent-ai-binding.d.ts +24 -0
- package/dist/agent/agent-ai-binding.d.ts.map +1 -0
- package/dist/agent/agent-ai-binding.js +48 -0
- package/dist/agent/agent-ai-binding.js.map +1 -0
- package/dist/agent/agent-ai-runtime.d.ts +76 -0
- package/dist/agent/agent-ai-runtime.d.ts.map +1 -0
- package/dist/agent/agent-ai-runtime.js +1269 -0
- package/dist/agent/agent-ai-runtime.js.map +1 -0
- package/dist/agent/agent-execution-capacity.d.ts +43 -0
- package/dist/agent/agent-execution-capacity.d.ts.map +1 -0
- package/dist/agent/agent-execution-capacity.js +147 -0
- package/dist/agent/agent-execution-capacity.js.map +1 -0
- package/dist/agent/agent-execution-fault.d.ts +18 -0
- package/dist/agent/agent-execution-fault.d.ts.map +1 -0
- package/dist/agent/agent-execution-fault.js +31 -0
- package/dist/agent/agent-execution-fault.js.map +1 -0
- package/dist/agent/agent-execution-session.d.ts +103 -0
- package/dist/agent/agent-execution-session.d.ts.map +1 -0
- package/dist/agent/agent-execution-session.js +238 -0
- package/dist/agent/agent-execution-session.js.map +1 -0
- package/dist/agent/agent-history.d.ts +148 -0
- package/dist/agent/agent-history.d.ts.map +1 -0
- package/dist/agent/agent-history.js +340 -0
- package/dist/agent/agent-history.js.map +1 -0
- package/dist/agent/agent-interaction-audit.d.ts +58 -0
- package/dist/agent/agent-interaction-audit.d.ts.map +1 -0
- package/dist/agent/agent-interaction-audit.js +114 -0
- package/dist/agent/agent-interaction-audit.js.map +1 -0
- package/dist/agent/agent-interaction-events.d.ts +40 -0
- package/dist/agent/agent-interaction-events.d.ts.map +1 -0
- package/dist/agent/agent-interaction-events.js +129 -0
- package/dist/agent/agent-interaction-events.js.map +1 -0
- package/dist/agent/agent-mcp-budget.d.ts +125 -0
- package/dist/agent/agent-mcp-budget.d.ts.map +1 -0
- package/dist/agent/agent-mcp-budget.js +566 -0
- package/dist/agent/agent-mcp-budget.js.map +1 -0
- package/dist/agent/agent-mcp-host.d.ts +125 -0
- package/dist/agent/agent-mcp-host.d.ts.map +1 -0
- package/dist/agent/agent-mcp-host.js +15 -0
- package/dist/agent/agent-mcp-host.js.map +1 -0
- package/dist/agent/agent-mcp-runtime.d.ts +199 -0
- package/dist/agent/agent-mcp-runtime.d.ts.map +1 -0
- package/dist/agent/agent-mcp-runtime.js +621 -0
- package/dist/agent/agent-mcp-runtime.js.map +1 -0
- package/dist/agent/agent-model-selection.d.ts +129 -0
- package/dist/agent/agent-model-selection.d.ts.map +1 -0
- package/dist/agent/agent-model-selection.js +342 -0
- package/dist/agent/agent-model-selection.js.map +1 -0
- package/dist/agent/agent-read-runtime.d.ts +70 -0
- package/dist/agent/agent-read-runtime.d.ts.map +1 -0
- package/dist/agent/agent-read-runtime.js +320 -0
- package/dist/agent/agent-read-runtime.js.map +1 -0
- package/dist/agent/agent-revisions.d.ts +35 -0
- package/dist/agent/agent-revisions.d.ts.map +1 -0
- package/dist/agent/agent-revisions.js +133 -0
- package/dist/agent/agent-revisions.js.map +1 -0
- package/dist/agent/agent-scheduler.d.ts +99 -0
- package/dist/agent/agent-scheduler.d.ts.map +1 -0
- package/dist/agent/agent-scheduler.js +398 -0
- package/dist/agent/agent-scheduler.js.map +1 -0
- package/dist/bus/command-bus.d.ts +62 -0
- package/dist/bus/command-bus.d.ts.map +1 -1
- package/dist/bus/command-bus.js +51 -2
- package/dist/bus/command-bus.js.map +1 -1
- package/dist/bus/event-bus.d.ts +137 -3
- package/dist/bus/event-bus.d.ts.map +1 -1
- package/dist/bus/event-bus.js +133 -2
- package/dist/bus/event-bus.js.map +1 -1
- package/dist/bus/saved-dispatcher-binding.d.ts +96 -0
- package/dist/bus/saved-dispatcher-binding.d.ts.map +1 -0
- package/dist/bus/saved-dispatcher-binding.js +35 -0
- package/dist/bus/saved-dispatcher-binding.js.map +1 -0
- package/dist/context/bounded-context.d.ts +36 -2
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +253 -54
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/context/entity-inbox.d.ts.map +1 -1
- package/dist/context/entity-inbox.js +5 -5
- package/dist/context/entity-inbox.js.map +1 -1
- package/dist/context/projection-handoff.d.ts.map +1 -1
- package/dist/context/projection-handoff.js +2 -1
- package/dist/context/projection-handoff.js.map +1 -1
- package/dist/context/tenant-index.d.ts +25 -0
- package/dist/context/tenant-index.d.ts.map +1 -1
- package/dist/context/tenant-index.js +45 -1
- package/dist/context/tenant-index.js.map +1 -1
- package/dist/delivery/delivery.d.ts.map +1 -1
- package/dist/delivery/delivery.js +4 -3
- package/dist/delivery/delivery.js.map +1 -1
- package/dist/delivery/inbox-records.d.ts +13 -0
- package/dist/delivery/inbox-records.d.ts.map +1 -1
- package/dist/delivery/inbox-records.js +204 -30
- package/dist/delivery/inbox-records.js.map +1 -1
- package/dist/delivery/inbox-storage.d.ts.map +1 -1
- package/dist/delivery/inbox-storage.js +26 -5
- package/dist/delivery/inbox-storage.js.map +1 -1
- package/dist/delivery/inbox.d.ts +7 -7
- package/dist/delivery/inbox.d.ts.map +1 -1
- package/dist/delivery/inbox.js +1 -2
- package/dist/delivery/inbox.js.map +1 -1
- package/dist/delivery/sharded-work-registry.d.ts +1 -0
- package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
- package/dist/delivery/sharded-work-registry.js +3 -1
- package/dist/delivery/sharded-work-registry.js.map +1 -1
- package/dist/entity/entity-transaction.d.ts.map +1 -1
- package/dist/entity/entity-transaction.js +2 -6
- package/dist/entity/entity-transaction.js.map +1 -1
- package/dist/entity/entity.d.ts +82 -3
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +121 -22
- package/dist/entity/entity.js.map +1 -1
- package/dist/handler/generated-handler-registry.js +8 -3
- package/dist/handler/generated-handler-registry.js.map +1 -1
- package/dist/handler/handler-metadata.d.ts +17 -1
- package/dist/handler/handler-metadata.d.ts.map +1 -1
- package/dist/handler/handler-metadata.js +10 -4
- package/dist/handler/handler-metadata.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/integration/third-party-context.d.ts +5 -0
- package/dist/integration/third-party-context.d.ts.map +1 -1
- package/dist/integration/third-party-context.js +7 -6
- package/dist/integration/third-party-context.js.map +1 -1
- package/dist/repository/commit-fence.d.ts +11 -0
- package/dist/repository/commit-fence.d.ts.map +1 -1
- package/dist/repository/commit-fence.js +13 -0
- package/dist/repository/commit-fence.js.map +1 -1
- package/dist/repository/repository.d.ts +222 -13
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +2329 -137
- package/dist/repository/repository.js.map +1 -1
- package/dist/runtime/signal-metadata.d.ts +7 -47
- package/dist/runtime/signal-metadata.d.ts.map +1 -1
- package/dist/runtime/signal-metadata.js +8 -62
- package/dist/runtime/signal-metadata.js.map +1 -1
- package/dist/runtime/signal-publisher.d.ts +6 -0
- package/dist/runtime/signal-publisher.d.ts.map +1 -1
- package/dist/runtime/signal-publisher.js +13 -0
- package/dist/runtime/signal-publisher.js.map +1 -1
- package/dist/runtime/standalone-handler-runtime.d.ts +7 -0
- package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
- package/dist/runtime/standalone-handler-runtime.js +148 -11
- package/dist/runtime/standalone-handler-runtime.js.map +1 -1
- package/dist/server/managed-server-application.d.ts +36 -6
- package/dist/server/managed-server-application.d.ts.map +1 -1
- package/dist/server/managed-server-application.js +257 -4
- package/dist/server/managed-server-application.js.map +1 -1
- package/dist/server/server.d.ts +9 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +13 -1
- package/dist/server/server.js.map +1 -1
- package/dist/stand/subscription-registry.d.ts.map +1 -1
- package/dist/stand/subscription-registry.js +9 -8
- package/dist/stand/subscription-registry.js.map +1 -1
- package/dist/testing/index.d.ts +57 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +87 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -12
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import {} from "@spine-event-engine/storage";
|
|
15
15
|
import { TenantBoundary } from "@spine-event-engine/storage/provider";
|
|
16
|
+
import { TenantCatalogReads } from "@spine-event-engine/storage/provider";
|
|
16
17
|
import { EffectiveTenants } from "./effective-tenant.js";
|
|
17
18
|
/**
|
|
18
19
|
* Creates context views over factory-owned tenant catalogs.
|
|
@@ -64,6 +65,23 @@ class SingleTenantIndex {
|
|
|
64
65
|
? Promise.resolve(Object.freeze([EffectiveTenants.current(false, undefined)]))
|
|
65
66
|
: Promise.reject(closed);
|
|
66
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Returns the single effective tenant without a provider catalog.
|
|
70
|
+
*
|
|
71
|
+
* @param request Finite page request.
|
|
72
|
+
* @returns One terminal tenant page.
|
|
73
|
+
*/
|
|
74
|
+
page(request) {
|
|
75
|
+
return Promise.resolve().then(() => {
|
|
76
|
+
const closed = this.closedError();
|
|
77
|
+
if (closed !== undefined)
|
|
78
|
+
throw closed;
|
|
79
|
+
TenantCatalogReads.require(request);
|
|
80
|
+
if (request.after !== undefined)
|
|
81
|
+
throw new TypeError("Single-tenant catalog does not accept a continuation.");
|
|
82
|
+
return { ids: [EffectiveTenants.current(false, undefined)], hasMore: false };
|
|
83
|
+
});
|
|
84
|
+
}
|
|
67
85
|
/**
|
|
68
86
|
* Rejects tenant recording because a single-tenant context has a fixed identity.
|
|
69
87
|
*
|
|
@@ -127,6 +145,29 @@ class StorageTenantIndex {
|
|
|
127
145
|
return boundary.tenantId;
|
|
128
146
|
}));
|
|
129
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Reads exactly one bounded provider page.
|
|
150
|
+
*
|
|
151
|
+
* @param request Finite page request.
|
|
152
|
+
* @returns Validated complete tenant IDs.
|
|
153
|
+
*/
|
|
154
|
+
async page(request) {
|
|
155
|
+
this.requireOpen();
|
|
156
|
+
TenantCatalogReads.require(request);
|
|
157
|
+
const page = await this.catalog.page(request);
|
|
158
|
+
request.signal.throwIfAborted();
|
|
159
|
+
this.requireOpen();
|
|
160
|
+
const ids = page.boundaries.map((boundary) => {
|
|
161
|
+
if (boundary.single || boundary.tenantId === undefined)
|
|
162
|
+
throw new Error("Multitenant provider catalog returned a single-tenant boundary.");
|
|
163
|
+
return boundary.tenantId;
|
|
164
|
+
});
|
|
165
|
+
return {
|
|
166
|
+
ids,
|
|
167
|
+
...(page.after === undefined ? {} : { after: page.after }),
|
|
168
|
+
hasMore: page.hasMore,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
130
171
|
/**
|
|
131
172
|
* Records a named tenant in the provider catalog.
|
|
132
173
|
*
|
|
@@ -157,6 +198,9 @@ function tenantCatalog(factory) {
|
|
|
157
198
|
const provider = factory;
|
|
158
199
|
if (typeof provider.tenantCatalog !== "function")
|
|
159
200
|
throw new Error("Multitenant storage requires a provider-owned tenant catalog.");
|
|
160
|
-
|
|
201
|
+
const catalog = provider.tenantCatalog();
|
|
202
|
+
if (typeof catalog.page !== "function")
|
|
203
|
+
throw new Error("Multitenant Agent storage requires a paged provider tenant catalog.");
|
|
204
|
+
return catalog;
|
|
161
205
|
}
|
|
162
206
|
//# sourceMappingURL=tenant-index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-index.js","sourceRoot":"","sources":["../../src/context/tenant-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAuB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant-index.js","sourceRoot":"","sources":["../../src/context/tenant-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAEL,eAAe,EAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAuB,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIlG;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAS3F,KAAK,kBAAkB,GACnB,iBAAiB,GACjB;IACE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC;CAC7D,CAAC;AAEN;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAGhC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAG1B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAG9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,QAAQ;;IAGnB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAItC;;;;OAIG;gBACS,OAAO,EAAE,eAAe;IA2BpC;;;;;OAKG;IACG,GAAG,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAe/D;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBtE;;;;;;OAMG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuChG;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;CA+BpF;AAgcD;;GAEG;AACH,MAAM,WAAW,eAAe;IAG9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAGnC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAEtC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAEvD;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAE9D;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,qBAAqB,EAAE,wBAAwB,CAAC;CAC7E"}
|
|
@@ -11,8 +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 { Time } from "@spine-event-engine/core/time";
|
|
14
15
|
import { clone, create } from "@bufbuild/protobuf";
|
|
15
|
-
import { AnySchema } from "@bufbuild/protobuf/wkt";
|
|
16
|
+
import { AnySchema, TimestampSchema } from "@bufbuild/protobuf/wkt";
|
|
16
17
|
import { randomUUID } from "node:crypto";
|
|
17
18
|
import { TenantIdSchema } from "@spine-event-engine/proto";
|
|
18
19
|
import { WorkerIdSchema } from "@spine-event-engine/proto/delivery";
|
|
@@ -549,7 +550,7 @@ class DeliveryDrain {
|
|
|
549
550
|
#retentionTime() {
|
|
550
551
|
return this.input.inbox instanceof Inbox
|
|
551
552
|
? InboxStorageClock.read(this.input.inbox.storage)
|
|
552
|
-
: new Date();
|
|
553
|
+
: new Date(Time.currentTimeMillis());
|
|
553
554
|
}
|
|
554
555
|
/**
|
|
555
556
|
* Checks the shard session and records when it is lost.
|
|
@@ -624,7 +625,7 @@ function snapshot(message) {
|
|
|
624
625
|
inboxId: Object.freeze({ ...message.inboxId }),
|
|
625
626
|
...(message.signal === undefined ? {} : { signal: clone(AnySchema, message.signal) }),
|
|
626
627
|
shard: new ShardIndex(message.shard.index, message.shard.ofTotal),
|
|
627
|
-
whenReceived:
|
|
628
|
+
whenReceived: clone(TimestampSchema, message.whenReceived),
|
|
628
629
|
...(message.keepUntil === undefined ? {} : { keepUntil: new Date(message.keepUntil) }),
|
|
629
630
|
});
|
|
630
631
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,20 @@ export type InboxRecordMessage = InboxMessage;
|
|
|
9
9
|
* Converts between the ergonomic port view and the generated durable record.
|
|
10
10
|
*/
|
|
11
11
|
export declare const InboxRecords: Readonly<{
|
|
12
|
+
/**
|
|
13
|
+
* Decodes a durable inbox record and verifies its embedded identifier when requested.
|
|
14
|
+
*
|
|
15
|
+
* @param record The generated durable inbox record.
|
|
16
|
+
* @param expectedId The optional row identifier to compare with the embedded identifier.
|
|
17
|
+
* @returns An immutable inbox view with detached payload and occurrence Timestamp.
|
|
18
|
+
*/
|
|
12
19
|
read(record: WireInboxMessage, expectedId?: WireInboxMessageId): InboxMessage;
|
|
20
|
+
/**
|
|
21
|
+
* Validates and serializes an inbox message into the generated durable record.
|
|
22
|
+
*
|
|
23
|
+
* @param message The domain inbox message to persist.
|
|
24
|
+
* @returns A generated inbox record suitable for durable storage.
|
|
25
|
+
*/
|
|
13
26
|
write(message: InboxMessage): WireInboxMessage;
|
|
14
27
|
}>;
|
|
15
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-records.d.ts","sourceRoot":"","sources":["../../src/delivery/inbox-records.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inbox-records.d.ts","sourceRoot":"","sources":["../../src/delivery/inbox-records.ts"],"names":[],"mappings":"AAyBA,OAAO,EAQL,KAAK,YAAY,IAAI,gBAAgB,EACrC,KAAK,cAAc,IAAI,kBAAkB,EAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAA6B,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGpF,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC;IAClC;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAAC;IAE9E;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,gBAAgB,CAAC;CAChD,CAqBC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,UAAU,CAAC,kBAAkB,EAAE,gBAAgB,CAgD3E,CAAC"}
|
|
@@ -23,9 +23,22 @@ import { ShardIndex } from "./shard-index.js";
|
|
|
23
23
|
* Converts between the ergonomic port view and the generated durable record.
|
|
24
24
|
*/
|
|
25
25
|
export const InboxRecords = Object.freeze({
|
|
26
|
+
/**
|
|
27
|
+
* Decodes a durable inbox record and verifies its embedded identifier when requested.
|
|
28
|
+
*
|
|
29
|
+
* @param record The generated durable inbox record.
|
|
30
|
+
* @param expectedId The optional row identifier to compare with the embedded identifier.
|
|
31
|
+
* @returns An immutable inbox view with detached payload and occurrence Timestamp.
|
|
32
|
+
*/
|
|
26
33
|
read(record, expectedId) {
|
|
27
34
|
return Values.read(record, expectedId);
|
|
28
35
|
},
|
|
36
|
+
/**
|
|
37
|
+
* Validates and serializes an inbox message into the generated durable record.
|
|
38
|
+
*
|
|
39
|
+
* @param message The domain inbox message to persist.
|
|
40
|
+
* @returns A generated inbox record suitable for durable storage.
|
|
41
|
+
*/
|
|
29
42
|
write(message) {
|
|
30
43
|
return Values.write(message);
|
|
31
44
|
},
|
|
@@ -50,6 +63,12 @@ export const inboxRecordSpec = new RecordSpec({
|
|
|
50
63
|
],
|
|
51
64
|
});
|
|
52
65
|
const Values = Object.freeze({
|
|
66
|
+
/**
|
|
67
|
+
* Validates and serializes an inbox message into the generated durable record.
|
|
68
|
+
*
|
|
69
|
+
* @param input The domain inbox message to validate and encode.
|
|
70
|
+
* @returns A generated inbox record suitable for durable storage.
|
|
71
|
+
*/
|
|
53
72
|
write(input) {
|
|
54
73
|
const message = Values.input(input);
|
|
55
74
|
Values.target(message.inboxId.targetId, InboxMessageError);
|
|
@@ -73,21 +92,48 @@ const Values = Object.freeze({
|
|
|
73
92
|
payload,
|
|
74
93
|
label: Values.label(message.label),
|
|
75
94
|
status: Values.status(message.status),
|
|
76
|
-
whenReceived: Values.
|
|
95
|
+
whenReceived: Values.receiveTime(message.whenReceived),
|
|
77
96
|
version: Number(message.version),
|
|
78
97
|
...(message.keepUntil === undefined
|
|
79
98
|
? {}
|
|
80
99
|
: { keepUntil: Values.timestamp(message.keepUntil.getTime()) }),
|
|
81
100
|
});
|
|
82
101
|
},
|
|
102
|
+
/**
|
|
103
|
+
* Decodes a durable inbox record and verifies its embedded identifier when requested.
|
|
104
|
+
*
|
|
105
|
+
* @param record The generated durable inbox record.
|
|
106
|
+
* @param expectedId The optional row identifier to compare with the embedded identifier.
|
|
107
|
+
* @returns An immutable inbox view with detached payload and occurrence Timestamp.
|
|
108
|
+
*/
|
|
83
109
|
read(record, expectedId) {
|
|
110
|
+
const { id, shard, inbox, entity, signal, payload, whenReceived } = Values.readParts(record, expectedId);
|
|
111
|
+
return Object.freeze({
|
|
112
|
+
id: Object.freeze({ value: Values.text(id.uuid, "Inbox message ID"), shard }),
|
|
113
|
+
inboxId: Object.freeze({ targetId: clone(AnySchema, entity), targetTypeUrl: inbox.typeUrl }),
|
|
114
|
+
signalId: signal,
|
|
115
|
+
...(payload === undefined ? {} : { signal: payload }),
|
|
116
|
+
label: Values.readLabel(record.label),
|
|
117
|
+
status: Values.readStatus(record.status),
|
|
118
|
+
shard,
|
|
119
|
+
whenReceived: clone(TimestampSchema, whenReceived),
|
|
120
|
+
version: BigInt(record.version),
|
|
121
|
+
...(record.keepUntil === undefined
|
|
122
|
+
? {}
|
|
123
|
+
: { keepUntil: Values.date(record.keepUntil, "Inbox keep-until time") }),
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
/**
|
|
127
|
+
* Checks required stored fields, identifier, shard, and payload before building the domain view.
|
|
128
|
+
*
|
|
129
|
+
* @param record The generated durable inbox record.
|
|
130
|
+
* @param expectedId The optional row identifier to compare with the embedded identifier.
|
|
131
|
+
* @returns Validated identifiers, target, signal, and receipt timestamp.
|
|
132
|
+
*/
|
|
133
|
+
readParts(record, expectedId) {
|
|
84
134
|
const id = Values.id(record);
|
|
85
135
|
const shard = Values.shard(record);
|
|
86
|
-
|
|
87
|
-
(id.uuid !== expectedId.uuid ||
|
|
88
|
-
id.index?.index !== expectedId.index?.index ||
|
|
89
|
-
id.index?.ofTotal !== expectedId.index?.ofTotal))
|
|
90
|
-
throw new DeliveryStorageCorruptionError("Inbox message does not match its storage ID.");
|
|
136
|
+
Values.validateExpectedId(id, expectedId);
|
|
91
137
|
const inbox = record.inboxId;
|
|
92
138
|
const entity = inbox?.entityId?.id;
|
|
93
139
|
const signal = record.signalId?.value;
|
|
@@ -99,6 +145,7 @@ const Values = Object.freeze({
|
|
|
99
145
|
typeof inbox.typeUrl !== "string" ||
|
|
100
146
|
inbox.typeUrl.trim().length === 0 ||
|
|
101
147
|
record.whenReceived === undefined ||
|
|
148
|
+
!Values.validReceiveTime(record.whenReceived) ||
|
|
102
149
|
!Number.isSafeInteger(record.version) ||
|
|
103
150
|
record.version < 0)
|
|
104
151
|
throw new DeliveryStorageCorruptionError("Inbox message record is invalid.");
|
|
@@ -109,31 +156,30 @@ const Values = Object.freeze({
|
|
|
109
156
|
? undefined
|
|
110
157
|
: Values.signal(record.payload.case, record.payload.value);
|
|
111
158
|
Values.payloadForLabel(Values.readLabel(record.label), payload, DeliveryStorageCorruptionError);
|
|
112
|
-
return
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
159
|
+
return { id, shard, inbox, entity, signal, payload, whenReceived: record.whenReceived };
|
|
160
|
+
},
|
|
161
|
+
/**
|
|
162
|
+
* Rejects a stored row whose embedded identifier differs from the requested row.
|
|
163
|
+
*
|
|
164
|
+
* @param id The embedded inbox message identifier.
|
|
165
|
+
* @param expectedId The optional row identifier to compare with the embedded identifier.
|
|
166
|
+
*/
|
|
167
|
+
validateExpectedId(id, expectedId) {
|
|
168
|
+
if (expectedId !== undefined &&
|
|
169
|
+
(id.uuid !== expectedId.uuid ||
|
|
170
|
+
id.index?.index !== expectedId.index?.index ||
|
|
171
|
+
id.index?.ofTotal !== expectedId.index?.ofTotal))
|
|
172
|
+
throw new DeliveryStorageCorruptionError("Inbox message does not match its storage ID.");
|
|
126
173
|
},
|
|
174
|
+
/**
|
|
175
|
+
* Validates domain inbox fields, receipt time, label, status, and optional expiry.
|
|
176
|
+
*
|
|
177
|
+
* @param value The candidate domain inbox message.
|
|
178
|
+
* @returns The validated domain inbox message.
|
|
179
|
+
*/
|
|
127
180
|
input(value) {
|
|
128
|
-
|
|
181
|
+
Values.validateIdentity(value);
|
|
129
182
|
const inbox = value.inboxId;
|
|
130
|
-
const shard = value.shard;
|
|
131
|
-
if (typeof id.value !== "string" ||
|
|
132
|
-
id.value.trim().length === 0 ||
|
|
133
|
-
!(id.shard instanceof ShardIndex) ||
|
|
134
|
-
!(shard instanceof ShardIndex) ||
|
|
135
|
-
id.shard.key() !== shard.key())
|
|
136
|
-
throw new InboxMessageError("Inbox message ID shard does not match message shard.");
|
|
137
183
|
if (typeof inbox.targetId.typeUrl !== "string" ||
|
|
138
184
|
inbox.targetId.typeUrl.trim().length === 0 ||
|
|
139
185
|
!(inbox.targetId.value instanceof Uint8Array) ||
|
|
@@ -141,8 +187,7 @@ const Values = Object.freeze({
|
|
|
141
187
|
inbox.targetTypeUrl.trim().length === 0 ||
|
|
142
188
|
typeof value.signalId !== "string" ||
|
|
143
189
|
value.signalId.trim().length === 0 ||
|
|
144
|
-
!(value.whenReceived
|
|
145
|
-
!Number.isFinite(value.whenReceived.getTime()) ||
|
|
190
|
+
!Values.validReceiveTime(value.whenReceived) ||
|
|
146
191
|
typeof value.version !== "bigint" ||
|
|
147
192
|
value.version < 0n ||
|
|
148
193
|
value.version > BigInt(0x7fffffff))
|
|
@@ -154,6 +199,26 @@ const Values = Object.freeze({
|
|
|
154
199
|
throw new InboxMessageError("Inbox keep-until time is invalid.");
|
|
155
200
|
return value;
|
|
156
201
|
},
|
|
202
|
+
/**
|
|
203
|
+
* Validates the inbox identity and its matching shard before encoding.
|
|
204
|
+
* @param value The inbox write input whose identity is checked.
|
|
205
|
+
*/
|
|
206
|
+
validateIdentity(value) {
|
|
207
|
+
const id = value.id;
|
|
208
|
+
const shard = value.shard;
|
|
209
|
+
if (typeof id.value !== "string" ||
|
|
210
|
+
id.value.trim().length === 0 ||
|
|
211
|
+
!(id.shard instanceof ShardIndex) ||
|
|
212
|
+
!(shard instanceof ShardIndex) ||
|
|
213
|
+
id.shard.key() !== shard.key())
|
|
214
|
+
throw new InboxMessageError("Inbox message ID shard does not match message shard.");
|
|
215
|
+
},
|
|
216
|
+
/**
|
|
217
|
+
* Encodes a serialized Command or Event into the corresponding wire payload.
|
|
218
|
+
*
|
|
219
|
+
* @param signal The command or event payload to encode.
|
|
220
|
+
* @returns The wire command or event union.
|
|
221
|
+
*/
|
|
157
222
|
payload(signal) {
|
|
158
223
|
if (signal.typeUrl === "type.spine.io/spine.core.Command")
|
|
159
224
|
return { case: "command", value: fromBinary(CommandSchema, signal.value) };
|
|
@@ -161,6 +226,12 @@ const Values = Object.freeze({
|
|
|
161
226
|
return { case: "event", value: fromBinary(EventSchema, signal.value) };
|
|
162
227
|
throw new InboxMessageError("Inbox signal must contain a command or event payload.");
|
|
163
228
|
},
|
|
229
|
+
/**
|
|
230
|
+
* Checks known target identifier encodings and wraps decoding errors for the caller.
|
|
231
|
+
*
|
|
232
|
+
* @param value The serialized entity identifier to validate.
|
|
233
|
+
* @param ErrorType The error constructor appropriate to input validation or stored-data corruption.
|
|
234
|
+
*/
|
|
164
235
|
target(value, ErrorType) {
|
|
165
236
|
try {
|
|
166
237
|
switch (value.typeUrl) {
|
|
@@ -180,6 +251,13 @@ const Values = Object.freeze({
|
|
|
180
251
|
throw new ErrorType("Inbox target ID is invalid.", { cause: error });
|
|
181
252
|
}
|
|
182
253
|
},
|
|
254
|
+
/**
|
|
255
|
+
* Checks that a command label carries a Command and other labels carry an Event.
|
|
256
|
+
*
|
|
257
|
+
* @param label The operation name used in timeout errors.
|
|
258
|
+
* @param signal The command or event payload to encode.
|
|
259
|
+
* @param ErrorType The error constructor appropriate to input validation or stored-data corruption.
|
|
260
|
+
*/
|
|
183
261
|
payloadForLabel(label, signal, ErrorType) {
|
|
184
262
|
const expected = label === "HANDLE_COMMAND"
|
|
185
263
|
? "type.spine.io/spine.core.Command"
|
|
@@ -187,6 +265,13 @@ const Values = Object.freeze({
|
|
|
187
265
|
if (signal?.typeUrl !== expected)
|
|
188
266
|
throw new ErrorType("Inbox delivery label does not match its signal payload.");
|
|
189
267
|
},
|
|
268
|
+
/**
|
|
269
|
+
* Packs a generated Command or Event as a domain signal Any.
|
|
270
|
+
*
|
|
271
|
+
* @param kind The signal domain kind.
|
|
272
|
+
* @param payload The generated command or event payload.
|
|
273
|
+
* @returns The serialized command or event Any value.
|
|
274
|
+
*/
|
|
190
275
|
signal(kind, payload) {
|
|
191
276
|
return kind === "command"
|
|
192
277
|
? create(AnySchema, {
|
|
@@ -198,11 +283,23 @@ const Values = Object.freeze({
|
|
|
198
283
|
value: toBinary(EventSchema, payload),
|
|
199
284
|
});
|
|
200
285
|
},
|
|
286
|
+
/**
|
|
287
|
+
* Returns the required embedded identifier or reports stored-data corruption.
|
|
288
|
+
*
|
|
289
|
+
* @param record The generated durable inbox record.
|
|
290
|
+
* @returns The embedded generated identifier.
|
|
291
|
+
*/
|
|
201
292
|
id(record) {
|
|
202
293
|
if (record.id === undefined)
|
|
203
294
|
throw new DeliveryStorageCorruptionError("Inbox message ID is missing.");
|
|
204
295
|
return record.id;
|
|
205
296
|
},
|
|
297
|
+
/**
|
|
298
|
+
* Decodes the stored identifier shard or reports stored-data corruption.
|
|
299
|
+
*
|
|
300
|
+
* @param record The generated durable inbox record.
|
|
301
|
+
* @returns The validated shard index.
|
|
302
|
+
*/
|
|
206
303
|
shard(record) {
|
|
207
304
|
const index = record.id?.index;
|
|
208
305
|
if (index === undefined)
|
|
@@ -214,6 +311,12 @@ const Values = Object.freeze({
|
|
|
214
311
|
throw new DeliveryStorageCorruptionError("Inbox message shard is invalid.", { cause: error });
|
|
215
312
|
}
|
|
216
313
|
},
|
|
314
|
+
/**
|
|
315
|
+
* Converts a Unix millisecond instant to Protobuf seconds and nanos.
|
|
316
|
+
*
|
|
317
|
+
* @param ms The Unix millisecond instant to encode.
|
|
318
|
+
* @returns A Protobuf Timestamp at millisecond precision.
|
|
319
|
+
*/
|
|
217
320
|
timestamp(ms) {
|
|
218
321
|
const seconds = Math.floor(ms / 1_000);
|
|
219
322
|
return create(TimestampSchema, {
|
|
@@ -221,6 +324,36 @@ const Values = Object.freeze({
|
|
|
221
324
|
nanos: (ms - seconds * 1_000) * 1_000_000,
|
|
222
325
|
});
|
|
223
326
|
},
|
|
327
|
+
/**
|
|
328
|
+
* Copies an occurrence Timestamp without reducing nanos.
|
|
329
|
+
*
|
|
330
|
+
* @param value The occurrence Protobuf Timestamp.
|
|
331
|
+
* @returns A cloned occurrence Timestamp.
|
|
332
|
+
*/
|
|
333
|
+
receiveTime(value) {
|
|
334
|
+
return clone(TimestampSchema, value);
|
|
335
|
+
},
|
|
336
|
+
/**
|
|
337
|
+
* Checks valid Protobuf Timestamp fields without reducing nanosecond precision.
|
|
338
|
+
*
|
|
339
|
+
* @param value The candidate occurrence Protobuf Timestamp.
|
|
340
|
+
* @returns Whether the Protobuf Timestamp is in its valid range.
|
|
341
|
+
*/
|
|
342
|
+
validReceiveTime(value) {
|
|
343
|
+
return (value?.$typeName === TimestampSchema.typeName &&
|
|
344
|
+
value.seconds >= -62135596800n &&
|
|
345
|
+
value.seconds <= 253402300799n &&
|
|
346
|
+
Number.isInteger(value.nanos) &&
|
|
347
|
+
value.nanos >= 0 &&
|
|
348
|
+
value.nanos < 1_000_000_000);
|
|
349
|
+
},
|
|
350
|
+
/**
|
|
351
|
+
* Converts stored Protobuf seconds and nanos to a millisecond Date for the expiry boundary.
|
|
352
|
+
*
|
|
353
|
+
* @param value The stored Protobuf timestamp fields.
|
|
354
|
+
* @param label The field name used in corruption errors.
|
|
355
|
+
* @returns A Date rounded down to milliseconds from the Protobuf timestamp.
|
|
356
|
+
*/
|
|
224
357
|
date(value, label) {
|
|
225
358
|
const ms = Number(value.seconds) * 1000 + Math.floor(value.nanos / 1_000_000);
|
|
226
359
|
if (!Number.isInteger(value.nanos) ||
|
|
@@ -230,6 +363,12 @@ const Values = Object.freeze({
|
|
|
230
363
|
throw new DeliveryStorageCorruptionError(`${label} is invalid.`);
|
|
231
364
|
return new Date(ms);
|
|
232
365
|
},
|
|
366
|
+
/**
|
|
367
|
+
* Maps a domain delivery label to its generated enum value.
|
|
368
|
+
*
|
|
369
|
+
* @param value The domain delivery label.
|
|
370
|
+
* @returns The matching generated inbox label.
|
|
371
|
+
*/
|
|
233
372
|
label(value) {
|
|
234
373
|
return {
|
|
235
374
|
HANDLE_COMMAND: InboxLabel.HANDLE_COMMAND,
|
|
@@ -238,6 +377,12 @@ const Values = Object.freeze({
|
|
|
238
377
|
CATCH_UP: InboxLabel.CATCH_UP,
|
|
239
378
|
}[value];
|
|
240
379
|
},
|
|
380
|
+
/**
|
|
381
|
+
* Maps a domain delivery status to its generated enum value.
|
|
382
|
+
*
|
|
383
|
+
* @param value The domain delivery status.
|
|
384
|
+
* @returns The matching generated delivery status.
|
|
385
|
+
*/
|
|
241
386
|
status(value) {
|
|
242
387
|
return {
|
|
243
388
|
TO_DELIVER: InboxMessageStatus.TO_DELIVER,
|
|
@@ -246,6 +391,12 @@ const Values = Object.freeze({
|
|
|
246
391
|
TO_CATCH_UP: InboxMessageStatus.TO_CATCH_UP,
|
|
247
392
|
}[value];
|
|
248
393
|
},
|
|
394
|
+
/**
|
|
395
|
+
* Maps a stored enum to a known domain label or reports corruption.
|
|
396
|
+
*
|
|
397
|
+
* @param value The stored wire label enum.
|
|
398
|
+
* @returns The domain delivery label.
|
|
399
|
+
*/
|
|
249
400
|
readLabel(value) {
|
|
250
401
|
const result = {
|
|
251
402
|
[InboxLabel.HANDLE_COMMAND]: "HANDLE_COMMAND",
|
|
@@ -257,6 +408,12 @@ const Values = Object.freeze({
|
|
|
257
408
|
throw new DeliveryStorageCorruptionError("Inbox label is invalid.");
|
|
258
409
|
return result[value];
|
|
259
410
|
},
|
|
411
|
+
/**
|
|
412
|
+
* Maps a stored enum to a known domain status or reports corruption.
|
|
413
|
+
*
|
|
414
|
+
* @param value The stored wire status enum.
|
|
415
|
+
* @returns The domain delivery status.
|
|
416
|
+
*/
|
|
260
417
|
readStatus(value) {
|
|
261
418
|
const result = {
|
|
262
419
|
[InboxMessageStatus.TO_DELIVER]: "TO_DELIVER",
|
|
@@ -268,6 +425,11 @@ const Values = Object.freeze({
|
|
|
268
425
|
throw new DeliveryStorageCorruptionError("Inbox status is invalid.");
|
|
269
426
|
return result[value];
|
|
270
427
|
},
|
|
428
|
+
/**
|
|
429
|
+
* Rejects labels outside the supported domain delivery states.
|
|
430
|
+
*
|
|
431
|
+
* @param value The candidate domain delivery label.
|
|
432
|
+
*/
|
|
271
433
|
inputLabel(value) {
|
|
272
434
|
if (!(value === "HANDLE_COMMAND" ||
|
|
273
435
|
value === "UPDATE_SUBSCRIBER" ||
|
|
@@ -275,6 +437,11 @@ const Values = Object.freeze({
|
|
|
275
437
|
value === "CATCH_UP"))
|
|
276
438
|
throw new InboxMessageError("Inbox delivery label is invalid.");
|
|
277
439
|
},
|
|
440
|
+
/**
|
|
441
|
+
* Rejects statuses outside the supported domain delivery states.
|
|
442
|
+
*
|
|
443
|
+
* @param value The candidate domain delivery status.
|
|
444
|
+
*/
|
|
278
445
|
inputStatus(value) {
|
|
279
446
|
if (!(value === "TO_DELIVER" ||
|
|
280
447
|
value === "SCHEDULED" ||
|
|
@@ -282,6 +449,13 @@ const Values = Object.freeze({
|
|
|
282
449
|
value === "TO_CATCH_UP"))
|
|
283
450
|
throw new InboxMessageError("Inbox delivery status is invalid.");
|
|
284
451
|
},
|
|
452
|
+
/**
|
|
453
|
+
* Validates nonblank stored text and reports corruption otherwise.
|
|
454
|
+
*
|
|
455
|
+
* @param value The stored text field to check.
|
|
456
|
+
* @param label The field name used in corruption errors.
|
|
457
|
+
* @returns The nonblank stored text.
|
|
458
|
+
*/
|
|
285
459
|
text(value, label) {
|
|
286
460
|
if (typeof value !== "string" || value.trim().length === 0)
|
|
287
461
|
throw new DeliveryStorageCorruptionError(`${label} is invalid.`);
|