@superdurable/dex 0.2.8 → 0.2.10
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 +36 -5
- package/dist/src/client.d.ts +6 -6
- package/dist/src/client.js +15 -4
- package/dist/src/client.js.map +1 -1
- package/dist/src/context.d.ts +9 -1
- package/dist/src/errors.d.ts +6 -0
- package/dist/src/errors.js +6 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/flow.d.ts +1 -1
- package/dist/src/flow.js +26 -1
- package/dist/src/flow.js.map +1 -1
- package/dist/src/gen/dex.d.ts +37 -1
- package/dist/src/gen/dex.js +294 -5
- package/dist/src/gen/dex.js.map +1 -1
- package/dist/src/invocation-context.d.ts +8 -3
- package/dist/src/invocation-context.js +46 -8
- package/dist/src/invocation-context.js.map +1 -1
- package/dist/src/options.d.ts +2 -2
- package/dist/src/options.js +3 -3
- package/dist/src/options.js.map +1 -1
- package/dist/src/persistence.d.ts +19 -5
- package/dist/src/persistence.js +17 -7
- package/dist/src/persistence.js.map +1 -1
- package/dist/src/rpc.d.ts +12 -1
- package/dist/src/rpc.js.map +1 -1
- package/dist/src/validation.d.ts +2 -0
- package/dist/src/validation.js +12 -0
- package/dist/src/validation.js.map +1 -1
- package/dist/src/wait.d.ts +74 -14
- package/dist/src/wait.js +79 -12
- package/dist/src/wait.js.map +1 -1
- package/dist/src/worker-dispatcher.js +20 -3
- package/dist/src/worker-dispatcher.js.map +1 -1
- package/native/windows-x86_64/dex_blob_cache_node.node +0 -0
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Codec } from "./codec.js";
|
|
2
2
|
import type { AsyncContext } from "./context.js";
|
|
3
|
-
import { type AttributeWrite, type ChannelInfo, type ChannelMessage as ProtoChannelMessage, type ChannelMessageDeletion, type ConditionResults, type Context as ProtoContext, type KV, type StepStreamWrite, type Value } from "./gen/dex.js";
|
|
3
|
+
import { type AttributeWrite, type ChannelInfo, type ChannelMessage as ProtoChannelMessage, type ChannelValues, type ChannelMessageDeletion, type ConditionResults, type Context as ProtoContext, type KV, type StepStreamWrite, type Value } from "./gen/dex.js";
|
|
4
4
|
import { type RegisteredFlow } from "./flow.js";
|
|
5
5
|
import { type FlowResult } from "./flow-result.js";
|
|
6
6
|
import { AttributeMap, type Attribute } from "./persistence.js";
|
|
7
|
-
import { ChannelMap, type Channel } from "./wait.js";
|
|
7
|
+
import { ChannelMap, type Channel, type ChannelMessage } from "./wait.js";
|
|
8
8
|
import type { Stream } from "./stream.js";
|
|
9
9
|
export type InvocationMethod = "waitFor" | "execute" | "rpc";
|
|
10
10
|
export interface StepOutputEmitter {
|
|
@@ -31,6 +31,10 @@ export declare class InvocationContext implements AsyncContext {
|
|
|
31
31
|
private readonly attributes;
|
|
32
32
|
private readonly locals;
|
|
33
33
|
private readonly channelInfos;
|
|
34
|
+
private readonly loadedChannelMessages;
|
|
35
|
+
private readonly loadedAttributeMapInstances;
|
|
36
|
+
private readonly loadedChannelNames;
|
|
37
|
+
private readonly loadedChannelMapInstances;
|
|
34
38
|
private readonly attributeWrites;
|
|
35
39
|
private readonly localWrites;
|
|
36
40
|
private readonly events;
|
|
@@ -40,7 +44,7 @@ export declare class InvocationContext implements AsyncContext {
|
|
|
40
44
|
private readonly lastHeartbeatValue;
|
|
41
45
|
private readonly stepOutputFinalizers;
|
|
42
46
|
private stepOutputsFinalized;
|
|
43
|
-
constructor(method: InvocationMethod, flow: RegisteredFlow, metadata: ProtoContext | undefined, attributes: readonly KV[], locals?: readonly KV[], conditionResults?: ConditionResults | undefined, channelInfos?: Readonly<Record<string, ChannelInfo>>, cancellationSignal?: AbortSignal, stepOutput?: StepOutputEmitter | undefined);
|
|
47
|
+
constructor(method: InvocationMethod, flow: RegisteredFlow, metadata: ProtoContext | undefined, attributes: readonly KV[], locals?: readonly KV[], conditionResults?: ConditionResults | undefined, channelInfos?: Readonly<Record<string, ChannelInfo>>, cancellationSignal?: AbortSignal, stepOutput?: StepOutputEmitter | undefined, loadedChannelMessages?: Readonly<Record<string, ChannelValues>>, loadedAttributeMapInstances?: readonly string[], loadedChannelNames?: readonly string[], loadedChannelMapInstances?: readonly string[]);
|
|
44
48
|
hasLastHeartbeatValue(): boolean;
|
|
45
49
|
getLastHeartbeatValue<T = unknown>(codec?: Codec<T>): T | undefined;
|
|
46
50
|
recordHeartbeat<T>(value: T | undefined, codec?: Codec<T>): Promise<void>;
|
|
@@ -63,6 +67,7 @@ export declare class InvocationContext implements AsyncContext {
|
|
|
63
67
|
publish<T>(channel: Channel<T> | ChannelMap<T>, value: T, instance?: string): void;
|
|
64
68
|
deleteChannelMessage(channel: Channel<unknown> | ChannelMap<unknown>, messageId: string, instance?: string): void;
|
|
65
69
|
channelSize(channel: Channel<unknown> | ChannelMap<unknown>, instance?: string): number;
|
|
70
|
+
pendingChannelMessages<T>(channel: Channel<T> | ChannelMap<T>, instance?: string): readonly ChannelMessage<T>[];
|
|
66
71
|
channelMapKeys(channel: ChannelMap<unknown>): readonly string[];
|
|
67
72
|
channelResults<T>(channel: Channel<T> | ChannelMap<T>, instance?: string): readonly T[];
|
|
68
73
|
getAttributeWrites(): readonly AttributeWrite[];
|
|
@@ -11,7 +11,8 @@ import { requireFlowStream } from "./flow.js";
|
|
|
11
11
|
import { createFlowResultFromProto } from "./flow-result.js";
|
|
12
12
|
import { AttributeMap, IndexType } from "./persistence.js";
|
|
13
13
|
import { codecOrJson, decodeValue, deletionValue, encodeValue } from "./value-mapper.js";
|
|
14
|
-
import {
|
|
14
|
+
import { AttributeMapNotLoadedError, ChannelMessagesNotLoadedError, } from "./errors.js";
|
|
15
|
+
import { physicalMapName, requireMapInstance, requireName } from "./validation.js";
|
|
15
16
|
import { ChannelMap } from "./wait.js";
|
|
16
17
|
export class InvocationContext {
|
|
17
18
|
method;
|
|
@@ -29,6 +30,10 @@ export class InvocationContext {
|
|
|
29
30
|
attributes;
|
|
30
31
|
locals;
|
|
31
32
|
channelInfos;
|
|
33
|
+
loadedChannelMessages;
|
|
34
|
+
loadedAttributeMapInstances;
|
|
35
|
+
loadedChannelNames;
|
|
36
|
+
loadedChannelMapInstances;
|
|
32
37
|
attributeWrites = new Map();
|
|
33
38
|
localWrites = new Map();
|
|
34
39
|
events = [];
|
|
@@ -38,7 +43,7 @@ export class InvocationContext {
|
|
|
38
43
|
lastHeartbeatValue;
|
|
39
44
|
stepOutputFinalizers = [];
|
|
40
45
|
stepOutputsFinalized = false;
|
|
41
|
-
constructor(method, flow, metadata, attributes, locals = [], conditionResults, channelInfos = {}, cancellationSignal = new AbortController().signal, stepOutput) {
|
|
46
|
+
constructor(method, flow, metadata, attributes, locals = [], conditionResults, channelInfos = {}, cancellationSignal = new AbortController().signal, stepOutput, loadedChannelMessages = {}, loadedAttributeMapInstances = [], loadedChannelNames = [], loadedChannelMapInstances = []) {
|
|
42
47
|
this.method = method;
|
|
43
48
|
this.flow = flow;
|
|
44
49
|
this.conditionResults = conditionResults;
|
|
@@ -58,6 +63,10 @@ export class InvocationContext {
|
|
|
58
63
|
this.attributes = mapValues("Attribute", attributes);
|
|
59
64
|
this.locals = mapValues("step-execution local", locals);
|
|
60
65
|
this.channelInfos = new Map(Object.entries(channelInfos));
|
|
66
|
+
this.loadedChannelMessages = loadedChannelMessages;
|
|
67
|
+
this.loadedAttributeMapInstances = new Set(loadedAttributeMapInstances);
|
|
68
|
+
this.loadedChannelNames = new Set(loadedChannelNames);
|
|
69
|
+
this.loadedChannelMapInstances = new Set(loadedChannelMapInstances);
|
|
61
70
|
cancellationSignal.addEventListener("abort", () => this.cancelStepOutputs(), { once: true });
|
|
62
71
|
}
|
|
63
72
|
hasLastHeartbeatValue() {
|
|
@@ -178,6 +187,11 @@ export class InvocationContext {
|
|
|
178
187
|
getAttribute(attribute, instance) {
|
|
179
188
|
this.requireRegistered(attribute);
|
|
180
189
|
const key = definitionName(attribute, instance);
|
|
190
|
+
if (this.method === "rpc" &&
|
|
191
|
+
attribute instanceof AttributeMap &&
|
|
192
|
+
!mapInstanceLoaded(this.loadedAttributeMapInstances, attribute.name, key)) {
|
|
193
|
+
throw new AttributeMapNotLoadedError(`AttributeMap instance was not loaded for RPC: ${key}`);
|
|
194
|
+
}
|
|
181
195
|
const write = this.attributeWrites.get(key)?.value;
|
|
182
196
|
if (write?.kind?.$case === "nullValue") {
|
|
183
197
|
return defaultValue(attribute.codec);
|
|
@@ -207,6 +221,9 @@ export class InvocationContext {
|
|
|
207
221
|
}
|
|
208
222
|
attributeMapKeys(attribute) {
|
|
209
223
|
this.requireRegistered(attribute);
|
|
224
|
+
if (this.method === "rpc" && !this.loadedAttributeMapInstances.has(`${attribute.name}/`)) {
|
|
225
|
+
throw new AttributeMapNotLoadedError(`all AttributeMap instances were not loaded for RPC: ${attribute.name}`);
|
|
226
|
+
}
|
|
210
227
|
const prefix = `${attribute.name}/`;
|
|
211
228
|
const physicalKeys = new Set([...this.attributes.keys()].filter((key) => key.startsWith(prefix)));
|
|
212
229
|
for (const [key, write] of this.attributeWrites) {
|
|
@@ -221,7 +238,7 @@ export class InvocationContext {
|
|
|
221
238
|
}
|
|
222
239
|
}
|
|
223
240
|
return [...physicalKeys]
|
|
224
|
-
.map((key) => decodeURIComponent(key.slice(prefix.length)))
|
|
241
|
+
.map((key) => requireMapInstance(decodeURIComponent(key.slice(prefix.length))))
|
|
225
242
|
.sort();
|
|
226
243
|
}
|
|
227
244
|
publish(channel, value, instance) {
|
|
@@ -252,6 +269,28 @@ export class InvocationContext {
|
|
|
252
269
|
this.requireRegistered(channel);
|
|
253
270
|
return this.channelInfos.get(definitionName(channel, instance))?.size ?? 0;
|
|
254
271
|
}
|
|
272
|
+
pendingChannelMessages(channel, instance) {
|
|
273
|
+
if (this.method !== "rpc") {
|
|
274
|
+
throw new TypeError("pending Channel messages require an RPC Context");
|
|
275
|
+
}
|
|
276
|
+
this.requireRegistered(channel);
|
|
277
|
+
const name = definitionName(channel, instance);
|
|
278
|
+
const isLoaded = channel instanceof ChannelMap
|
|
279
|
+
? mapInstanceLoaded(this.loadedChannelMapInstances, channel.name, name)
|
|
280
|
+
: this.loadedChannelNames.has(name);
|
|
281
|
+
if (!isLoaded) {
|
|
282
|
+
throw new ChannelMessagesNotLoadedError(`Channel messages were not loaded for RPC: ${name}`);
|
|
283
|
+
}
|
|
284
|
+
return (this.loadedChannelMessages[name]?.messages ?? []).map((message) => {
|
|
285
|
+
if (message.value === undefined) {
|
|
286
|
+
throw new TypeError(`Channel message has no Value: ${message.messageId}`);
|
|
287
|
+
}
|
|
288
|
+
return {
|
|
289
|
+
messageId: message.messageId,
|
|
290
|
+
value: decodeValue(channel.codec, message.value),
|
|
291
|
+
};
|
|
292
|
+
});
|
|
293
|
+
}
|
|
255
294
|
channelMapKeys(channel) {
|
|
256
295
|
this.requireRegistered(channel);
|
|
257
296
|
if (this.method !== "rpc") {
|
|
@@ -260,7 +299,7 @@ export class InvocationContext {
|
|
|
260
299
|
const prefix = `${channel.name}/`;
|
|
261
300
|
return [...this.channelInfos]
|
|
262
301
|
.filter(([key, info]) => key.startsWith(prefix) && info.size > 0)
|
|
263
|
-
.map(([key]) => decodeURIComponent(key.slice(prefix.length)))
|
|
302
|
+
.map(([key]) => requireMapInstance(decodeURIComponent(key.slice(prefix.length))))
|
|
264
303
|
.sort();
|
|
265
304
|
}
|
|
266
305
|
channelResults(channel, instance) {
|
|
@@ -297,16 +336,15 @@ function definitionName(definition, instance) {
|
|
|
297
336
|
if (instance === undefined) {
|
|
298
337
|
throw new TypeError(`map definition ${definition.name} requires an instance`);
|
|
299
338
|
}
|
|
300
|
-
|
|
301
|
-
return `${definition.name}/${encodeURIComponent(instance).replace(/[!'()*]/g, encodeCharacter)}`;
|
|
339
|
+
return physicalMapName(definition.name, instance);
|
|
302
340
|
}
|
|
303
341
|
if (instance !== undefined) {
|
|
304
342
|
throw new TypeError(`static definition ${definition.name} cannot use an instance`);
|
|
305
343
|
}
|
|
306
344
|
return definition.name;
|
|
307
345
|
}
|
|
308
|
-
function
|
|
309
|
-
return
|
|
346
|
+
function mapInstanceLoaded(instances, name, physical) {
|
|
347
|
+
return instances.has(`${name}/`) || instances.has(physical);
|
|
310
348
|
}
|
|
311
349
|
function mapValues(kind, entries) {
|
|
312
350
|
const values = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation-context.js","sourceRoot":"","sources":["../../src/invocation-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invocation-context.js","sourceRoot":"","sources":["../../src/invocation-context.ts"],"names":[],"mappings":"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"}
|
package/dist/src/options.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export interface FlowConfig {
|
|
|
72
72
|
export interface InitialAttribute<T> {
|
|
73
73
|
/** Registered singleton Attribute or AttributeMap definition. */
|
|
74
74
|
readonly attribute: Attribute<T> | AttributeMap<T>;
|
|
75
|
-
/**
|
|
75
|
+
/** The map instance. Omit it for a singleton Attribute. Slash is prohibited because it is a reserved character. */
|
|
76
76
|
readonly instance?: string;
|
|
77
77
|
/** Typed initial value. */
|
|
78
78
|
readonly value: T;
|
|
@@ -91,7 +91,7 @@ export declare const InitialAttribute: Readonly<{
|
|
|
91
91
|
* Creates an AttributeMap instance initialization.
|
|
92
92
|
* @typeParam T - Attribute value type.
|
|
93
93
|
* @param attribute - Registered AttributeMap.
|
|
94
|
-
* @param instance -
|
|
94
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
95
95
|
* @param value - Typed initial value.
|
|
96
96
|
* @returns The AttributeMap initialization value.
|
|
97
97
|
*/
|
package/dist/src/options.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// See the LICENSE file in the repository root.
|
|
6
6
|
//
|
|
7
7
|
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
|
-
import { requireName } from "./validation.js";
|
|
8
|
+
import { requireMapInstance, requireName } from "./validation.js";
|
|
9
9
|
/** Controls which active Steps are included in Flow search indexing. */
|
|
10
10
|
export const ActiveStepSearchMode = Object.freeze({
|
|
11
11
|
/** Uses the Dex server's current default policy. */
|
|
@@ -53,12 +53,12 @@ export const InitialAttribute = Object.freeze({
|
|
|
53
53
|
* Creates an AttributeMap instance initialization.
|
|
54
54
|
* @typeParam T - Attribute value type.
|
|
55
55
|
* @param attribute - Registered AttributeMap.
|
|
56
|
-
* @param instance -
|
|
56
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
57
57
|
* @param value - Typed initial value.
|
|
58
58
|
* @returns The AttributeMap initialization value.
|
|
59
59
|
*/
|
|
60
60
|
mapValue(attribute, instance, value) {
|
|
61
|
-
|
|
61
|
+
requireMapInstance(instance);
|
|
62
62
|
return { attribute, instance, value };
|
|
63
63
|
},
|
|
64
64
|
});
|
package/dist/src/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAIxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,13 @@ import type { Channel, ChannelMap } from "./wait.js";
|
|
|
2
2
|
import type { Codec } from "./codec.js";
|
|
3
3
|
import type { Context } from "./context.js";
|
|
4
4
|
import type { Stream } from "./stream.js";
|
|
5
|
+
/** Selects one AttributeMap instance for an RPC snapshot. */
|
|
6
|
+
export interface AttributeMapLoad {
|
|
7
|
+
/** Exact AttributeMap definition registered with the Flow. */
|
|
8
|
+
readonly attributeMap: AttributeMap<unknown>;
|
|
9
|
+
/** One slash-free logical instance key. */
|
|
10
|
+
readonly instance: string;
|
|
11
|
+
}
|
|
5
12
|
/** Selects how Dex indexes an Attribute for Flow search. */
|
|
6
13
|
export declare const IndexType: Readonly<{
|
|
7
14
|
/** Indexes an exact string value. */
|
|
@@ -90,7 +97,8 @@ export declare class Attribute<T> {
|
|
|
90
97
|
lock(): AttributeLock;
|
|
91
98
|
}
|
|
92
99
|
/**
|
|
93
|
-
* Defines a typed family of durable values keyed by
|
|
100
|
+
* Defines a typed family of durable values keyed by instance.
|
|
101
|
+
* Slash is prohibited in instance keys because it is a reserved character.
|
|
94
102
|
* @typeParam T - Value encoded for every map instance.
|
|
95
103
|
*/
|
|
96
104
|
export declare class AttributeMap<T> {
|
|
@@ -107,23 +115,29 @@ export declare class AttributeMap<T> {
|
|
|
107
115
|
/**
|
|
108
116
|
* Reads one map instance from handler decision state.
|
|
109
117
|
* @param context - Current Step or RPC Context.
|
|
110
|
-
* @param instance -
|
|
118
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
111
119
|
* @returns The decoded instance value.
|
|
112
120
|
*/
|
|
113
121
|
get(context: Context, instance: string): T;
|
|
114
122
|
/**
|
|
115
123
|
* Stages one map-instance write.
|
|
116
124
|
* @param context - Current Step or RPC Context.
|
|
117
|
-
* @param instance -
|
|
125
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
118
126
|
* @param value - Typed value to persist.
|
|
119
127
|
*/
|
|
120
128
|
set(context: Context, instance: string, value: T): void;
|
|
121
129
|
/**
|
|
122
130
|
* Stages deletion of one map instance.
|
|
123
131
|
* @param context - Current Step or RPC Context.
|
|
124
|
-
* @param instance -
|
|
132
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
125
133
|
*/
|
|
126
134
|
delete(context: Context, instance: string): void;
|
|
135
|
+
/**
|
|
136
|
+
* Selects one logical instance for an RPC snapshot.
|
|
137
|
+
* @param instance - Non-empty logical map key. The SDK escapes it for the protocol.
|
|
138
|
+
* @returns An exact instance load for {@link RPCOptions.loadAttributeMapInstances}.
|
|
139
|
+
*/
|
|
140
|
+
load(instance: string): AttributeMapLoad;
|
|
127
141
|
/**
|
|
128
142
|
* Returns the number of existing instances, including buffered writes.
|
|
129
143
|
* @param context - Current Step or RPC Context.
|
|
@@ -147,7 +161,7 @@ export declare class AttributeMap<T> {
|
|
|
147
161
|
syncToAttributeStore(): AttributeMap<T>;
|
|
148
162
|
/**
|
|
149
163
|
* Creates a lock request scoped to one map instance.
|
|
150
|
-
* @param instance -
|
|
164
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
151
165
|
* @returns A lock for the requested instance.
|
|
152
166
|
*/
|
|
153
167
|
lock(instance: string): AttributeLock;
|
package/dist/src/persistence.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
//
|
|
7
7
|
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
8
|
import { markAttributeStoreSynced } from "./attribute-store-sync.js";
|
|
9
|
-
import {
|
|
9
|
+
import { requireMapInstance, requirePersistenceDefinitionName } from "./validation.js";
|
|
10
10
|
/** Selects how Dex indexes an Attribute for Flow search. */
|
|
11
11
|
export const IndexType = Object.freeze({
|
|
12
12
|
/** Indexes an exact string value. */
|
|
@@ -94,7 +94,8 @@ export class Attribute {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
|
-
* Defines a typed family of durable values keyed by
|
|
97
|
+
* Defines a typed family of durable values keyed by instance.
|
|
98
|
+
* Slash is prohibited in instance keys because it is a reserved character.
|
|
98
99
|
* @typeParam T - Value encoded for every map instance.
|
|
99
100
|
*/
|
|
100
101
|
export class AttributeMap {
|
|
@@ -116,7 +117,7 @@ export class AttributeMap {
|
|
|
116
117
|
/**
|
|
117
118
|
* Reads one map instance from handler decision state.
|
|
118
119
|
* @param context - Current Step or RPC Context.
|
|
119
|
-
* @param instance -
|
|
120
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
120
121
|
* @returns The decoded instance value.
|
|
121
122
|
*/
|
|
122
123
|
get(context, instance) {
|
|
@@ -125,7 +126,7 @@ export class AttributeMap {
|
|
|
125
126
|
/**
|
|
126
127
|
* Stages one map-instance write.
|
|
127
128
|
* @param context - Current Step or RPC Context.
|
|
128
|
-
* @param instance -
|
|
129
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
129
130
|
* @param value - Typed value to persist.
|
|
130
131
|
*/
|
|
131
132
|
set(context, instance, value) {
|
|
@@ -134,11 +135,20 @@ export class AttributeMap {
|
|
|
134
135
|
/**
|
|
135
136
|
* Stages deletion of one map instance.
|
|
136
137
|
* @param context - Current Step or RPC Context.
|
|
137
|
-
* @param instance -
|
|
138
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
138
139
|
*/
|
|
139
140
|
delete(context, instance) {
|
|
140
141
|
context.deleteAttribute(this, instance);
|
|
141
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Selects one logical instance for an RPC snapshot.
|
|
145
|
+
* @param instance - Non-empty logical map key. The SDK escapes it for the protocol.
|
|
146
|
+
* @returns An exact instance load for {@link RPCOptions.loadAttributeMapInstances}.
|
|
147
|
+
*/
|
|
148
|
+
load(instance) {
|
|
149
|
+
requireMapInstance(instance);
|
|
150
|
+
return { attributeMap: this, instance };
|
|
151
|
+
}
|
|
142
152
|
/**
|
|
143
153
|
* Returns the number of existing instances, including buffered writes.
|
|
144
154
|
* @param context - Current Step or RPC Context.
|
|
@@ -168,11 +178,11 @@ export class AttributeMap {
|
|
|
168
178
|
}
|
|
169
179
|
/**
|
|
170
180
|
* Creates a lock request scoped to one map instance.
|
|
171
|
-
* @param instance -
|
|
181
|
+
* @param instance - The map instance. Slash is prohibited because it is a reserved character.
|
|
172
182
|
* @returns A lock for the requested instance.
|
|
173
183
|
*/
|
|
174
184
|
lock(instance) {
|
|
175
|
-
|
|
185
|
+
requireMapInstance(instance);
|
|
176
186
|
return { attribute: this, instance };
|
|
177
187
|
}
|
|
178
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/persistence.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAGxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/persistence.ts"],"names":[],"mappings":"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"}
|
package/dist/src/rpc.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Codec } from "./codec.js";
|
|
2
2
|
import type { Context } from "./context.js";
|
|
3
3
|
import type { Flow } from "./flow.js";
|
|
4
|
-
import type { AttributeLock } from "./persistence.js";
|
|
4
|
+
import type { AttributeLock, AttributeMap, AttributeMapLoad } from "./persistence.js";
|
|
5
|
+
import type { Channel, ChannelMap, ChannelMapLoad } from "./wait.js";
|
|
5
6
|
import type { StepClass, StepMovement } from "./step.js";
|
|
6
7
|
/**
|
|
7
8
|
* Contains a typed RPC output and optional next-Step movements.
|
|
@@ -45,6 +46,16 @@ export interface RPCOptions<Input = unknown, Output = unknown> {
|
|
|
45
46
|
readonly lockAttributes?: readonly AttributeLock[];
|
|
46
47
|
/** Requests transactional reads and writes even when no Attribute lock is configured. */
|
|
47
48
|
readonly isTransactional?: boolean;
|
|
49
|
+
/** AttributeMaps whose current instances are included in the RPC snapshot. */
|
|
50
|
+
readonly loadAttributeMaps?: readonly AttributeMap<unknown>[];
|
|
51
|
+
/** Exact AttributeMap instances included in the RPC snapshot. */
|
|
52
|
+
readonly loadAttributeMapInstances?: readonly AttributeMapLoad[];
|
|
53
|
+
/** Singleton Channel pending messages included in the RPC snapshot. */
|
|
54
|
+
readonly loadChannels?: readonly Channel<unknown>[];
|
|
55
|
+
/** ChannelMaps whose current instance messages are included in the RPC snapshot. */
|
|
56
|
+
readonly loadChannelMaps?: readonly ChannelMap<unknown>[];
|
|
57
|
+
/** Exact ChannelMap instance messages included in the RPC snapshot. */
|
|
58
|
+
readonly loadChannelMapInstances?: readonly ChannelMapLoad[];
|
|
48
59
|
}
|
|
49
60
|
export interface RegisteredRPC {
|
|
50
61
|
readonly method: Function;
|
package/dist/src/rpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAQxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAoE9C,MAAM,UAAU,GAAG,IAAI,OAAO,EAAkC,CAAC;AAgBjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,GAAG,CAAC,UAAgC,EAAE;IACpD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvD,OAAO,UACL,MAAc,EACd,QAAmD;QAEnD,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,IAAI,SAAS,GAAkB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAkB,CAAC;IAC5E,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,IAAI,IAAI,KAAK,aAAa,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,KAAgB,CAAC;YAClF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM;gBACN,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC1B,OAAO;gBACP,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;aACjE,CAAC,CAAC;QACL,CAAC;QACD,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAkB,CAAC;IAChE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/src/validation.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare function requireName(name: string): string;
|
|
2
2
|
export declare function requirePersistenceDefinitionName(name: string): string;
|
|
3
|
+
export declare function requireMapInstance(instance: string): string;
|
|
4
|
+
export declare function physicalMapName(name: string, instance: string): string;
|
|
3
5
|
export declare function requireConditionId(conditionId: string | undefined): void;
|
|
4
6
|
export declare function validateChannelBounds(atLeast: number | undefined, atMost: number | undefined): void;
|
package/dist/src/validation.js
CHANGED
|
@@ -18,6 +18,18 @@ export function requirePersistenceDefinitionName(name) {
|
|
|
18
18
|
}
|
|
19
19
|
return name;
|
|
20
20
|
}
|
|
21
|
+
export function requireMapInstance(instance) {
|
|
22
|
+
requireName(instance);
|
|
23
|
+
if (instance.includes("/")) {
|
|
24
|
+
throw new TypeError("map instances must not contain '/'");
|
|
25
|
+
}
|
|
26
|
+
return instance;
|
|
27
|
+
}
|
|
28
|
+
export function physicalMapName(name, instance) {
|
|
29
|
+
const requiredInstance = requireMapInstance(instance);
|
|
30
|
+
const encoded = encodeURIComponent(requiredInstance).replace(/[!'()*]/g, (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
31
|
+
return `${name}/${encoded}`;
|
|
32
|
+
}
|
|
21
33
|
export function requireConditionId(conditionId) {
|
|
22
34
|
if (conditionId !== undefined && conditionId.length === 0) {
|
|
23
35
|
throw new TypeError("condition ID must not be empty");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAExD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAA+B;IAChE,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAA2B,EAC3B,MAA0B;IAE1B,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;QACtE,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAExD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,QAAgB;IAC5D,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CACrF,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CACzD,CAAC;IACF,OAAO,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAA+B;IAChE,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAA2B,EAC3B,MAA0B;IAE1B,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;QACtE,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|