@superdurable/dex 1.28.1 → 1.29.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AttributeMap, type Attribute, type PersistenceSchema } from "./persistence.js";
1
+ import { Attribute, AttributeMap, type PersistenceSchema } from "./persistence.js";
2
2
  import { IndexType as ProtoIndexType } from "./gen/dex.js";
3
3
  import { type RegisteredRPC } from "./rpc.js";
4
4
  import { StepList, type Step, type StepClass, type StepDecision, type StepTarget } from "./step.js";
@@ -84,4 +84,6 @@ export declare function registeredStepTarget(flow: RegisteredFlow, target: StepT
84
84
  export declare function registeredRPCByName(flow: RegisteredFlow, name: string): RegisteredRPC;
85
85
  export declare function registeredAttributeIndexes(registry: Registry): ReadonlyMap<string, ProtoIndexType>;
86
86
  export declare function registeredStream(registry: Registry, stream: Stream<unknown>): RegisteredFlow;
87
+ /** Returns the first Flow whose schema registers this exact Attribute or AttributeMap definition object. */
88
+ export declare function registeredAttributeFlow(registry: Registry, definition: Attribute<unknown> | AttributeMap<unknown>): RegisteredFlow;
87
89
  export declare function requireFlowStream(flow: RegisteredFlow, stream: Stream<unknown>): void;
package/dist/src/flow.js CHANGED
@@ -6,7 +6,7 @@
6
6
  //
7
7
  // SPDX-License-Identifier: LicenseRef-Sustainable-Use-1.0
8
8
  import { booleanCodec, bytesCodec, doubleCodec, int64Codec, stringCodec, voidCodec, } from "./codec.js";
9
- import { AttributeMap, IndexType } from "./persistence.js";
9
+ import { Attribute, AttributeMap, IndexType } from "./persistence.js";
10
10
  import { IndexType as ProtoIndexType } from "./gen/dex.js";
11
11
  import { FlowDefinitionError } from "./errors.js";
12
12
  import { registeredRPCs } from "./rpc.js";
@@ -147,6 +147,25 @@ export function registeredStream(registry, stream) {
147
147
  }
148
148
  return flow;
149
149
  }
150
+ /** Returns the first Flow whose schema registers this exact Attribute or AttributeMap definition object. */
151
+ export function registeredAttributeFlow(registry, definition) {
152
+ const kind = definition instanceof AttributeMap ? "AttributeMap" : "Attribute";
153
+ let conflictingFlow;
154
+ for (const flow of metadata(registry).flowsByName.values()) {
155
+ const registered = flow.persistence.get(definition.name);
156
+ if (registered === definition) {
157
+ return flow;
158
+ }
159
+ if (registered instanceof Attribute || registered instanceof AttributeMap) {
160
+ conflictingFlow ??= flow;
161
+ }
162
+ }
163
+ if (conflictingFlow !== undefined) {
164
+ throw new FlowDefinitionError(`${kind} ${definition.name} differs from the definition registered by Flow ${conflictingFlow.name}; ` +
165
+ "use the registered definition object");
166
+ }
167
+ throw new FlowDefinitionError(`${kind} ${definition.name} is not registered by any Flow in the Registry`);
168
+ }
150
169
  export function requireFlowStream(flow, stream) {
151
170
  if (!flow.streams.has(stream)) {
152
171
  throw new FlowDefinitionError(`Flow ${flow.name} does not register Stream ${stream.name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/flow.ts"],"names":[],"mappings":"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"}
@@ -786,6 +786,46 @@ export interface GetHistoryEventsResponse {
786
786
  events: FlowHistoryEvent[];
787
787
  nextPageToken: Uint8Array;
788
788
  nextInternalEventId: bigint;
789
+ /**
790
+ * The event IDs that the history window removed from this run, as of this
791
+ * response.
792
+ *
793
+ * The Server keeps a recent window of each run's history. It always keeps the
794
+ * FlowStartedOrContinued event, which is event 1, and it removes older events
795
+ * after it in chunks. The range therefore starts at event ID 2. Every event
796
+ * whose ID is inside this inclusive range is gone. No page and no run attempt
797
+ * returns it again. The range only grows while the run records new events.
798
+ *
799
+ * Use the range to classify a related event ID, such as
800
+ * StepMethodEventContext.from_event_id or
801
+ * StepMethodEventContext.wait_for_completed_event_id. An ID inside the range
802
+ * names a removed event. An ID outside the range was not removed as of this
803
+ * response. Such an ID can still name an event outside the run attempt lineage
804
+ * that GetHistoryEventsRequest.run_attempt selects, or an event the run has not
805
+ * recorded yet. The related IDs that Step method events carry always name
806
+ * events of their own lineage.
807
+ *
808
+ * Event IDs grow across the whole run, and removal follows that order, so the
809
+ * removed IDs form one range. The range is the same on every page and for
810
+ * every run attempt of the run. It can include IDs of events that belong only
811
+ * to other run attempts.
812
+ *
813
+ * Unset when the history window has removed no event. Also unset from a Server
814
+ * that does not report removed events.
815
+ */
816
+ prunedEventIdRange: HistoryEventIDRange | undefined;
817
+ }
818
+ /**
819
+ * HistoryEventIDRange is an inclusive range of history event IDs of one run.
820
+ *
821
+ * Both ends are history event IDs, the same values as FlowHistoryEvent.event_id.
822
+ * Both ends belong to the range, and a range always contains at least one ID.
823
+ */
824
+ export interface HistoryEventIDRange {
825
+ /** The smallest event ID in the range. */
826
+ startEventId: bigint;
827
+ /** The largest event ID in the range. It is never smaller than start_event_id. */
828
+ endEventId: bigint;
789
829
  }
790
830
  export interface FlowHistoryEvent {
791
831
  eventId: bigint;
@@ -929,6 +969,61 @@ export interface StepMethodEventContext {
929
969
  methodOptions: StepMethodOptions | undefined;
930
970
  lastFailureInfo: StepMethodFailure | undefined;
931
971
  pullRouting: PullRouting | undefined;
972
+ /**
973
+ * The event ID of the history event that started this Step execution.
974
+ *
975
+ * The event depends on what started the Step execution:
976
+ * - The start Step: the FlowStartedOrContinued event.
977
+ * - A Step decision: the StepExecuteCompleted event of
978
+ * from_step_execution_id.
979
+ * - A failure recovery Step: the StepExecuteFailed event of
980
+ * from_step_execution_id.
981
+ * - An RPC Step decision: the RpcExecutionCompleted event.
982
+ * Every event of the Step execution carries the same value.
983
+ *
984
+ * Use it to link a Step execution to its source without scanning history.
985
+ * The event can be on another history page. It can also belong to an earlier
986
+ * run attempt of the lineage after time travel. When the ID is inside
987
+ * GetHistoryEventsResponse.pruned_event_id_range, the history window removed
988
+ * the event.
989
+ *
990
+ * Zero when no history event started the Step execution, such as for the Flow
991
+ * timeout handler. Zero also for events that a Server recorded before it
992
+ * reported this field. Then find the source through from_step_execution_id.
993
+ */
994
+ fromEventId: bigint;
995
+ /**
996
+ * The event ID of the StepWaitForCompleted event of this Step execution.
997
+ *
998
+ * It is set only on Execute events: StepExecuteCompleted, StepExecuteFailed,
999
+ * and StepExecutePending. The Step's WaitFor must have completed. Use it to
1000
+ * link Execute to the WaitFor that registered its waiting conditions. The
1001
+ * event can be on another history page, or in an earlier run attempt of the
1002
+ * lineage after time travel. When the ID is inside
1003
+ * GetHistoryEventsResponse.pruned_event_id_range, the history window removed
1004
+ * the event.
1005
+ *
1006
+ * Zero on WaitFor events. Zero also when the Step skipped WaitFor, or when
1007
+ * WaitFor failed and the Step proceeded to Execute. Zero also for events that
1008
+ * a Server recorded before it reported this field. Then find the WaitFor event
1009
+ * through step_execution_id.
1010
+ */
1011
+ waitForCompletedEventId: bigint;
1012
+ /**
1013
+ * The event time of the StepWaitForCompleted event that
1014
+ * wait_for_completed_event_id names.
1015
+ *
1016
+ * It stays available after the history window removes that event. The time
1017
+ * from it to started_time is not only the condition wait. started_time is the
1018
+ * start of the attempt that this event reports, so the difference also
1019
+ * includes Execute dispatch and lock waits, and every earlier failed Execute
1020
+ * attempt with its retry backoff. On a StepExecutePending event in the
1021
+ * SCHEDULED phase whose Execute never started an attempt, started_time is
1022
+ * when Execute was first scheduled, not an attempt start.
1023
+ *
1024
+ * Unset whenever wait_for_completed_event_id is zero.
1025
+ */
1026
+ waitForCompletedTime: Date | undefined;
932
1027
  }
933
1028
  export interface StepWaitForCompletedOutput {
934
1029
  waitForCondition: WaitingCondition | undefined;
@@ -994,10 +1089,35 @@ export interface ChannelExternalDeleteEvent {
994
1089
  export interface WaitForHistoryEventRequest {
995
1090
  flowId: string;
996
1091
  runId: string;
1092
+ /**
1093
+ * The first history event ID that the caller has not read. It must be
1094
+ * positive.
1095
+ *
1096
+ * The call returns at once when the run already has an event with this ID or
1097
+ * a larger one. Otherwise it waits until the run records such an event or
1098
+ * closes. When the Server's long poll wait ends first, the call fails with
1099
+ * DEADLINE_EXCEEDED and LONG_POLL_TIME_OUT; call it again to keep waiting.
1100
+ */
997
1101
  nextInternalEventId: bigint;
998
1102
  }
999
1103
  export interface WaitForHistoryEventResponse {
1104
+ /**
1105
+ * True when the run has an event whose ID is next_internal_event_id or
1106
+ * larger. False when the run closed before it recorded such an event.
1107
+ */
1000
1108
  eventAvailable: boolean;
1109
+ /**
1110
+ * The ID of the newest history event of the run when the call returned.
1111
+ *
1112
+ * It is not the first event at or after next_internal_event_id: it is the
1113
+ * last event the run has recorded. Use it to find the newest history page,
1114
+ * for example by calling with next_internal_event_id set to 1. The newest
1115
+ * event always belongs to the current run attempt. A GetHistoryEvents read of
1116
+ * an older run attempt can end before this ID.
1117
+ *
1118
+ * It is set when event_available is false too. Then it is the ID of the last
1119
+ * event of the closed run.
1120
+ */
1001
1121
  availableInternalEventId: bigint;
1002
1122
  flowStatus: FlowStatus;
1003
1123
  }
@@ -1509,6 +1629,7 @@ export declare const GetFlowSummaryRequest: MessageFns<GetFlowSummaryRequest>;
1509
1629
  export declare const GetFlowSummaryResponse: MessageFns<GetFlowSummaryResponse>;
1510
1630
  export declare const GetHistoryEventsRequest: MessageFns<GetHistoryEventsRequest>;
1511
1631
  export declare const GetHistoryEventsResponse: MessageFns<GetHistoryEventsResponse>;
1632
+ export declare const HistoryEventIDRange: MessageFns<HistoryEventIDRange>;
1512
1633
  export declare const FlowHistoryEvent: MessageFns<FlowHistoryEvent>;
1513
1634
  export declare const TimeTravelForkHistoryEvent: MessageFns<TimeTravelForkHistoryEvent>;
1514
1635
  export declare const FlowStartedOrContinuedHistoryEvent: MessageFns<FlowStartedOrContinuedHistoryEvent>;
@@ -5178,7 +5178,7 @@ export const GetHistoryEventsRequest = {
5178
5178
  },
5179
5179
  };
5180
5180
  function createBaseGetHistoryEventsResponse() {
5181
- return { events: [], nextPageToken: new Uint8Array(0), nextInternalEventId: 0n };
5181
+ return { events: [], nextPageToken: new Uint8Array(0), nextInternalEventId: 0n, prunedEventIdRange: undefined };
5182
5182
  }
5183
5183
  export const GetHistoryEventsResponse = {
5184
5184
  encode(message, writer = new BinaryWriter()) {
@@ -5194,6 +5194,9 @@ export const GetHistoryEventsResponse = {
5194
5194
  }
5195
5195
  writer.uint32(24).int64(message.nextInternalEventId);
5196
5196
  }
5197
+ if (message.prunedEventIdRange !== undefined) {
5198
+ HistoryEventIDRange.encode(message.prunedEventIdRange, writer.uint32(34).fork()).join();
5199
+ }
5197
5200
  return writer;
5198
5201
  },
5199
5202
  decode(input, length) {
@@ -5224,6 +5227,13 @@ export const GetHistoryEventsResponse = {
5224
5227
  message.nextInternalEventId = reader.int64();
5225
5228
  continue;
5226
5229
  }
5230
+ case 4: {
5231
+ if (tag !== 34) {
5232
+ break;
5233
+ }
5234
+ message.prunedEventIdRange = HistoryEventIDRange.decode(reader, reader.uint32());
5235
+ continue;
5236
+ }
5227
5237
  }
5228
5238
  if ((tag & 7) === 4 || tag === 0) {
5229
5239
  break;
@@ -5242,6 +5252,71 @@ export const GetHistoryEventsResponse = {
5242
5252
  message.nextInternalEventId = (object.nextInternalEventId !== undefined && object.nextInternalEventId !== null)
5243
5253
  ? BigInt(object.nextInternalEventId)
5244
5254
  : 0n;
5255
+ message.prunedEventIdRange = (object.prunedEventIdRange !== undefined && object.prunedEventIdRange !== null)
5256
+ ? HistoryEventIDRange.fromPartial(object.prunedEventIdRange)
5257
+ : undefined;
5258
+ return message;
5259
+ },
5260
+ };
5261
+ function createBaseHistoryEventIDRange() {
5262
+ return { startEventId: 0n, endEventId: 0n };
5263
+ }
5264
+ export const HistoryEventIDRange = {
5265
+ encode(message, writer = new BinaryWriter()) {
5266
+ if (message.startEventId !== 0n) {
5267
+ if (BigInt.asIntN(64, message.startEventId) !== message.startEventId) {
5268
+ throw new globalThis.Error("value provided for field message.startEventId of type int64 too large");
5269
+ }
5270
+ writer.uint32(8).int64(message.startEventId);
5271
+ }
5272
+ if (message.endEventId !== 0n) {
5273
+ if (BigInt.asIntN(64, message.endEventId) !== message.endEventId) {
5274
+ throw new globalThis.Error("value provided for field message.endEventId of type int64 too large");
5275
+ }
5276
+ writer.uint32(16).int64(message.endEventId);
5277
+ }
5278
+ return writer;
5279
+ },
5280
+ decode(input, length) {
5281
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5282
+ const end = length === undefined ? reader.len : reader.pos + length;
5283
+ const message = createBaseHistoryEventIDRange();
5284
+ while (reader.pos < end) {
5285
+ const tag = reader.uint32();
5286
+ switch (tag >>> 3) {
5287
+ case 1: {
5288
+ if (tag !== 8) {
5289
+ break;
5290
+ }
5291
+ message.startEventId = reader.int64();
5292
+ continue;
5293
+ }
5294
+ case 2: {
5295
+ if (tag !== 16) {
5296
+ break;
5297
+ }
5298
+ message.endEventId = reader.int64();
5299
+ continue;
5300
+ }
5301
+ }
5302
+ if ((tag & 7) === 4 || tag === 0) {
5303
+ break;
5304
+ }
5305
+ reader.skip(tag & 7);
5306
+ }
5307
+ return message;
5308
+ },
5309
+ create(base) {
5310
+ return HistoryEventIDRange.fromPartial(base ?? {});
5311
+ },
5312
+ fromPartial(object) {
5313
+ const message = createBaseHistoryEventIDRange();
5314
+ message.startEventId = (object.startEventId !== undefined && object.startEventId !== null)
5315
+ ? BigInt(object.startEventId)
5316
+ : 0n;
5317
+ message.endEventId = (object.endEventId !== undefined && object.endEventId !== null)
5318
+ ? BigInt(object.endEventId)
5319
+ : 0n;
5245
5320
  return message;
5246
5321
  },
5247
5322
  };
@@ -6543,6 +6618,9 @@ function createBaseStepMethodEventContext() {
6543
6618
  methodOptions: undefined,
6544
6619
  lastFailureInfo: undefined,
6545
6620
  pullRouting: undefined,
6621
+ fromEventId: 0n,
6622
+ waitForCompletedEventId: 0n,
6623
+ waitForCompletedTime: undefined,
6546
6624
  };
6547
6625
  }
6548
6626
  export const StepMethodEventContext = {
@@ -6577,6 +6655,21 @@ export const StepMethodEventContext = {
6577
6655
  if (message.pullRouting !== undefined) {
6578
6656
  PullRouting.encode(message.pullRouting, writer.uint32(82).fork()).join();
6579
6657
  }
6658
+ if (message.fromEventId !== 0n) {
6659
+ if (BigInt.asIntN(64, message.fromEventId) !== message.fromEventId) {
6660
+ throw new globalThis.Error("value provided for field message.fromEventId of type int64 too large");
6661
+ }
6662
+ writer.uint32(88).int64(message.fromEventId);
6663
+ }
6664
+ if (message.waitForCompletedEventId !== 0n) {
6665
+ if (BigInt.asIntN(64, message.waitForCompletedEventId) !== message.waitForCompletedEventId) {
6666
+ throw new globalThis.Error("value provided for field message.waitForCompletedEventId of type int64 too large");
6667
+ }
6668
+ writer.uint32(96).int64(message.waitForCompletedEventId);
6669
+ }
6670
+ if (message.waitForCompletedTime !== undefined) {
6671
+ Timestamp.encode(toTimestamp(message.waitForCompletedTime), writer.uint32(106).fork()).join();
6672
+ }
6580
6673
  return writer;
6581
6674
  },
6582
6675
  decode(input, length) {
@@ -6656,6 +6749,27 @@ export const StepMethodEventContext = {
6656
6749
  message.pullRouting = PullRouting.decode(reader, reader.uint32());
6657
6750
  continue;
6658
6751
  }
6752
+ case 11: {
6753
+ if (tag !== 88) {
6754
+ break;
6755
+ }
6756
+ message.fromEventId = reader.int64();
6757
+ continue;
6758
+ }
6759
+ case 12: {
6760
+ if (tag !== 96) {
6761
+ break;
6762
+ }
6763
+ message.waitForCompletedEventId = reader.int64();
6764
+ continue;
6765
+ }
6766
+ case 13: {
6767
+ if (tag !== 106) {
6768
+ break;
6769
+ }
6770
+ message.waitForCompletedTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
6771
+ continue;
6772
+ }
6659
6773
  }
6660
6774
  if ((tag & 7) === 4 || tag === 0) {
6661
6775
  break;
@@ -6687,6 +6801,14 @@ export const StepMethodEventContext = {
6687
6801
  message.pullRouting = (object.pullRouting !== undefined && object.pullRouting !== null)
6688
6802
  ? PullRouting.fromPartial(object.pullRouting)
6689
6803
  : undefined;
6804
+ message.fromEventId = (object.fromEventId !== undefined && object.fromEventId !== null)
6805
+ ? BigInt(object.fromEventId)
6806
+ : 0n;
6807
+ message.waitForCompletedEventId =
6808
+ (object.waitForCompletedEventId !== undefined && object.waitForCompletedEventId !== null)
6809
+ ? BigInt(object.waitForCompletedEventId)
6810
+ : 0n;
6811
+ message.waitForCompletedTime = object.waitForCompletedTime ?? undefined;
6690
6812
  return message;
6691
6813
  },
6692
6814
  };