@superdurable/dex 1.28.1 → 1.30.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":"AAAA,yCAAyC;AACzC,EAAE;AACF,kDAAkD;AAClD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,0DAA0D;AAE1D,OAAO,EACL,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,GAC1E,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAA0B,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,cAAc,EAAsB,MAAM,UAAU,CAAC;AAC9D,OAAO,EACL,QAAQ,EAAE,OAAO,GAElB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAsChD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,QAAQ;IACnB,gDAAgD;IAChC,KAAK,CAAuB;IAE5C;;;;OAIG;IACH,YAAmB,KAA2B;QAC5C,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;QACxD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAmC,CAAC;QACrE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC9D,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACtC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClC,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClC,MAAM,IAAI,mBAAmB,CAAC,UAAU,MAAM,CAAC,IAAI,kCAAkC,CAAC,CAAC;gBACzF,CAAC;gBACD,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,eAAe,GAAG,CAAC,IAAI,kCAAkC,CAAC,CAAC;gBACvG,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE;YACzB,eAAe;YACf,WAAW;YACX,YAAY;YACZ,iBAAiB;YACjB,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;CACF;AAgCD,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEnE,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,IAAe;IAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,MAAgB;IAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAkB,EAAE,MAAgB;IACpE,MAAM,kBAAkB,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAkB,EAAE,IAAY;IACnE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAoB,EAAE,IAAY;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,CAAC,IAAI,4BAA4B,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAoB,EAAE,MAAuB;IAE7C,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,mBAAmB,CAC3B,QAAQ,IAAI,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,0DAA0D,CACtG,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,CAAC,IAAI,kCAAkC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,mBAAmB,CAC3B,QAAQ,IAAI,CAAC,IAAI,qCAAqC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CACxG,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAoB,EAAE,IAAY;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,CAAC,IAAI,2BAA2B,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAkB;IAElB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAkB,EAClB,MAAuB;IAEvB,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,uBAAuB,CACrC,QAAkB,EAClB,UAAsD;IAEtD,MAAM,IAAI,GAAG,UAAU,YAAY,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/E,IAAI,eAA2C,CAAC;IAChD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,UAAU,YAAY,SAAS,IAAI,UAAU,YAAY,YAAY,EAAE,CAAC;YAC1E,eAAe,KAAK,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,mBAAmB,CAC3B,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,mDAAmD,eAAe,CAAC,IAAI,IAAI;YACnG,sCAAsC,CACzC,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,gDAAgD,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAoB,EAAE,MAAuB;IAC7E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,CAAC,IAAI,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,QAAkB;IAClC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,mBAAmB,CAAC,6CAA6C,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe;IAC/B,IAAI,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC3C,MAAM,IAAI,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,OAAO,EAAE,CAAC;QACjB,MAAM,eAAe,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,IAAe;IACjD,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,mBAAmB,CAAC,QAAQ,QAAQ,kCAAkC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,IAAe,EACf,IAAY,EACZ,gBAA6C;IAE7C,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,OAAO,EAAE,CAAC;QACjB,MAAM,eAAe,CAAC,QAAQ,IAAI,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,IAAe,EACf,IAAY,EACZ,gBAA6C;IAE7C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxC,IAAI,CAAC,CAAC,eAAe,YAAY,QAAQ,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,2BAA2B,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IACtD,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6C,CAAC;IAC1E,IAAI,SAAqC,CAAC;IAC1C,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3B,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,qCAAqC,CAAC,CAAC;YACnF,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3B,SAAS,GAAG,UAAU,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAAG;QAC7B,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;KAC1B,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmD,CAAC;IAC/E,KAAK,MAAM,UAAU,IAAI,sBAAsB,EAAE,CAAC;QAChD,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,yCAAyC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,UAAU,YAAY,YAAY,CAAC;YACjD,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjG,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,yBAAyB,UAAU,CAAC,IAAI,wBAAwB,CAAC,CAAC;YAC9G,CAAC;YACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC;YACzD,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,GAAG,0BAA0B,QAAQ,QAAQ,IAAI,EAAE,CAAC,CAAC;YACxG,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,KAAK,MAAM,cAAc,IAAI,KAAK,EAAE,CAAC;QACnC,sBAAsB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,MAAM,aAAa,IAAI,IAAI,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,sBAAsB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjC,IACE,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAC9F,CAAC;YACD,MAAM,IAAI,mBAAmB,CAAC,QAAQ,IAAI,QAAQ,aAAa,CAAC,IAAI,kCAAkC,CAAC,CAAC;QAC1G,CAAC;QACD,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI;QACJ,IAAI;QACJ,iBAAiB,EAAE,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;QAC3D,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,WAAW;QACX,YAAY;QACZ,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,IAAI;QACJ,WAAW;QACX,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;KACvC,CAAC,CAAC;IACH,KAAK,MAAM,cAAc,IAAI,KAAK,EAAE,CAAC;QACnC,mBAAmB,CACjB,cAAc,EACd,cAAc,EACd,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EACtC,IAAI,GAAG,EAAE,CACV,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAoB,EACpB,MAAsB,EACtB,OAAgC,EAChC,OAAyB;IAEzB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3C,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,mBAAmB,CAC3B,QAAQ,IAAI,CAAC,IAAI,SAAS,MAAM,CAAC,IAAI,2BAA2B,MAAM,CAAC,IAAI,UAAU,WAAW,EAAE,QAAQ,mBAAmB,WAAW,EAAE,QAAQ,EAAE,CACrJ,CAAC;IACJ,CAAC;IACD,uEAAuE;IACvE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,wBAAwB,GAA4B,IAAI,GAAG,CAAa;IAC5E,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS;CAC1E,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAC7B,WAAmC,EACnC,WAAmC;IAEnC,6FAA6F;IAC7F,IACE,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;QACtD,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,EACxF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,WAAW,KAAK,WAAW,CAAC;AACrC,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,aAA4B,EAC5B,MAAyB;IAEzB,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,YAAY,CAAC,CACrF,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,OAAO,CAAC,CAC9E,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,UAAU,CAAC,CACjF,CAAC;IACF,kBAAkB,CAChB,QAAQ,EACR,OAAO,aAAa,CAAC,IAAI,EAAE,EAC3B,cAAc,EACd,aAAa,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAC7C,aAAa,EACb,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAC9B,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,GAAG,CAC1C,CAAC;IACF,kBAAkB,CAChB,QAAQ,EACR,OAAO,aAAa,CAAC,IAAI,EAAE,EAC3B,cAAc,EACd,aAAa,CAAC,OAAO,CAAC,yBAAyB,IAAI,EAAE,EACrD,aAAa,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CACjE,CAAC;IACF,kBAAkB,CAChB,QAAQ,EACR,OAAO,aAAa,CAAC,IAAI,EAAE,EAC3B,SAAS,EACT,aAAa,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EACxC,QAAQ,EACR,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EACpB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAC1B,CAAC;IACF,kBAAkB,CAChB,QAAQ,EACR,OAAO,aAAa,CAAC,IAAI,EAAE,EAC3B,YAAY,EACZ,aAAa,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,EAC3C,WAAW,EACX,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAC1B,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,GAAG,CACtC,CAAC;IACF,kBAAkB,CAChB,QAAQ,EACR,OAAO,aAAa,CAAC,IAAI,EAAE,EAC3B,YAAY,EACZ,aAAa,CAAC,OAAO,CAAC,uBAAuB,IAAI,EAAE,EACnD,WAAW,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EACzB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAgB,EAChB,cAA8B,EAC9B,MAAyB;IAEzB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IACvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,YAAY,CAAC,CACrF,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,OAAO,CAAC,CAC9E,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,UAAU,CAAC,CACjF,CAAC;IACF,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,cAAc,CAAC,IAAI,UAAU,EAAE;QACxE,aAAa,EAAE,OAAO,CAAC,wBAAwB,IAAI,EAAE;QACrD,qBAAqB,EAAE,OAAO,CAAC,gCAAgC,IAAI,EAAE;QACrE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,IAAI,EAAE;QAC3C,WAAW,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE;QACjD,mBAAmB,EAAE,OAAO,CAAC,8BAA8B,IAAI,EAAE;KAClE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,cAAc,CAAC,IAAI,UAAU,EAAE;QACxE,aAAa,EAAE,OAAO,CAAC,wBAAwB,IAAI,EAAE;QACrD,qBAAqB,EAAE,OAAO,CAAC,gCAAgC,IAAI,EAAE;QACrE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,IAAI,EAAE;QAC3C,WAAW,EAAE,OAAO,CAAC,sBAAsB,IAAI,EAAE;QACjD,mBAAmB,EAAE,OAAO,CAAC,8BAA8B,IAAI,EAAE;KAClE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,MAAc,EACd,KAMC,EACD,aAAiD,EACjD,QAAuC,EACvC,WAA6C;IAE7C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,aAAa,EACrF,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,qBAAqB,EAAE,aAAa,EAC7F,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EACtE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAC/E,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IACrE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE,WAAW,EACvF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EACzB,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgB,EAChB,MAAc,EACd,IAAY,EACZ,KAAsB,EACtB,UAAmC,EACnC,aAAyC,EACzC,eAAuC;IAEvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,mBAAmB,CAC3B,QAAQ,QAAQ,IAAI,MAAM,0BAA0B,IAAI,EAAE,CAC3D,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,mBAAmB,CAC3B,QAAQ,QAAQ,IAAI,MAAM,kBAAkB,IAAI,SAAS,YAAY,EAAE,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAQ,IAAiB;IACnD,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,CAAC,WAA+B,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,SAAoB;IAC1C,OAAO;QACL,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,kBAAkB;QACtD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,eAAe;QACrD,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,wBAAwB;QAClE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,cAAc;QAC9C,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,iBAAiB;QACpD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,eAAe;QAChD,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,mBAAmB;KACzD,CAAC,SAAS,CAAC,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,OAAgB;IACxD,IAAI,OAAO,YAAY,mBAAmB,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,OAAO,IAAI,mBAAmB,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9E,CAAC"}
@@ -197,6 +197,10 @@ export declare enum ErrorSubStatus {
197
197
  ERROR_SUB_STATUS_REQUEST_TIMEOUT = 7,
198
198
  /** ERROR_SUB_STATUS_FLOW_CLOSING - An update-class request arrived while Flow close cleanup is in progress. */
199
199
  ERROR_SUB_STATUS_FLOW_CLOSING = 8,
200
+ /** ERROR_SUB_STATUS_ATTRIBUTE_INDEX_CAPACITY_EXCEEDED - A tenant exhausted its slots for an Attribute index type. */
201
+ ERROR_SUB_STATUS_ATTRIBUTE_INDEX_CAPACITY_EXCEEDED = 9,
202
+ /** ERROR_SUB_STATUS_INDEXED_KEYWORD_TOO_LONG - An indexed Keyword value or KeywordArray element exceeds the byte limit. */
203
+ ERROR_SUB_STATUS_INDEXED_KEYWORD_TOO_LONG = 10,
200
204
  UNRECOGNIZED = -1
201
205
  }
202
206
  export declare enum CloseDecisionType {
@@ -786,6 +790,46 @@ export interface GetHistoryEventsResponse {
786
790
  events: FlowHistoryEvent[];
787
791
  nextPageToken: Uint8Array;
788
792
  nextInternalEventId: bigint;
793
+ /**
794
+ * The event IDs that the history window removed from this run, as of this
795
+ * response.
796
+ *
797
+ * The Server keeps a recent window of each run's history. It always keeps the
798
+ * FlowStartedOrContinued event, which is event 1, and it removes older events
799
+ * after it in chunks. The range therefore starts at event ID 2. Every event
800
+ * whose ID is inside this inclusive range is gone. No page and no run attempt
801
+ * returns it again. The range only grows while the run records new events.
802
+ *
803
+ * Use the range to classify a related event ID, such as
804
+ * StepMethodEventContext.from_event_id or
805
+ * StepMethodEventContext.wait_for_completed_event_id. An ID inside the range
806
+ * names a removed event. An ID outside the range was not removed as of this
807
+ * response. Such an ID can still name an event outside the run attempt lineage
808
+ * that GetHistoryEventsRequest.run_attempt selects, or an event the run has not
809
+ * recorded yet. The related IDs that Step method events carry always name
810
+ * events of their own lineage.
811
+ *
812
+ * Event IDs grow across the whole run, and removal follows that order, so the
813
+ * removed IDs form one range. The range is the same on every page and for
814
+ * every run attempt of the run. It can include IDs of events that belong only
815
+ * to other run attempts.
816
+ *
817
+ * Unset when the history window has removed no event. Also unset from a Server
818
+ * that does not report removed events.
819
+ */
820
+ prunedEventIdRange: HistoryEventIDRange | undefined;
821
+ }
822
+ /**
823
+ * HistoryEventIDRange is an inclusive range of history event IDs of one run.
824
+ *
825
+ * Both ends are history event IDs, the same values as FlowHistoryEvent.event_id.
826
+ * Both ends belong to the range, and a range always contains at least one ID.
827
+ */
828
+ export interface HistoryEventIDRange {
829
+ /** The smallest event ID in the range. */
830
+ startEventId: bigint;
831
+ /** The largest event ID in the range. It is never smaller than start_event_id. */
832
+ endEventId: bigint;
789
833
  }
790
834
  export interface FlowHistoryEvent {
791
835
  eventId: bigint;
@@ -929,6 +973,61 @@ export interface StepMethodEventContext {
929
973
  methodOptions: StepMethodOptions | undefined;
930
974
  lastFailureInfo: StepMethodFailure | undefined;
931
975
  pullRouting: PullRouting | undefined;
976
+ /**
977
+ * The event ID of the history event that started this Step execution.
978
+ *
979
+ * The event depends on what started the Step execution:
980
+ * - The start Step: the FlowStartedOrContinued event.
981
+ * - A Step decision: the StepExecuteCompleted event of
982
+ * from_step_execution_id.
983
+ * - A failure recovery Step: the StepExecuteFailed event of
984
+ * from_step_execution_id.
985
+ * - An RPC Step decision: the RpcExecutionCompleted event.
986
+ * Every event of the Step execution carries the same value.
987
+ *
988
+ * Use it to link a Step execution to its source without scanning history.
989
+ * The event can be on another history page. It can also belong to an earlier
990
+ * run attempt of the lineage after time travel. When the ID is inside
991
+ * GetHistoryEventsResponse.pruned_event_id_range, the history window removed
992
+ * the event.
993
+ *
994
+ * Zero when no history event started the Step execution, such as for the Flow
995
+ * timeout handler. Zero also for events that a Server recorded before it
996
+ * reported this field. Then find the source through from_step_execution_id.
997
+ */
998
+ fromEventId: bigint;
999
+ /**
1000
+ * The event ID of the StepWaitForCompleted event of this Step execution.
1001
+ *
1002
+ * It is set only on Execute events: StepExecuteCompleted, StepExecuteFailed,
1003
+ * and StepExecutePending. The Step's WaitFor must have completed. Use it to
1004
+ * link Execute to the WaitFor that registered its waiting conditions. The
1005
+ * event can be on another history page, or in an earlier run attempt of the
1006
+ * lineage after time travel. When the ID is inside
1007
+ * GetHistoryEventsResponse.pruned_event_id_range, the history window removed
1008
+ * the event.
1009
+ *
1010
+ * Zero on WaitFor events. Zero also when the Step skipped WaitFor, or when
1011
+ * WaitFor failed and the Step proceeded to Execute. Zero also for events that
1012
+ * a Server recorded before it reported this field. Then find the WaitFor event
1013
+ * through step_execution_id.
1014
+ */
1015
+ waitForCompletedEventId: bigint;
1016
+ /**
1017
+ * The event time of the StepWaitForCompleted event that
1018
+ * wait_for_completed_event_id names.
1019
+ *
1020
+ * It stays available after the history window removes that event. The time
1021
+ * from it to started_time is not only the condition wait. started_time is the
1022
+ * start of the attempt that this event reports, so the difference also
1023
+ * includes Execute dispatch and lock waits, and every earlier failed Execute
1024
+ * attempt with its retry backoff. On a StepExecutePending event in the
1025
+ * SCHEDULED phase whose Execute never started an attempt, started_time is
1026
+ * when Execute was first scheduled, not an attempt start.
1027
+ *
1028
+ * Unset whenever wait_for_completed_event_id is zero.
1029
+ */
1030
+ waitForCompletedTime: Date | undefined;
932
1031
  }
933
1032
  export interface StepWaitForCompletedOutput {
934
1033
  waitForCondition: WaitingCondition | undefined;
@@ -994,10 +1093,35 @@ export interface ChannelExternalDeleteEvent {
994
1093
  export interface WaitForHistoryEventRequest {
995
1094
  flowId: string;
996
1095
  runId: string;
1096
+ /**
1097
+ * The first history event ID that the caller has not read. It must be
1098
+ * positive.
1099
+ *
1100
+ * The call returns at once when the run already has an event with this ID or
1101
+ * a larger one. Otherwise it waits until the run records such an event or
1102
+ * closes. When the Server's long poll wait ends first, the call fails with
1103
+ * DEADLINE_EXCEEDED and LONG_POLL_TIME_OUT; call it again to keep waiting.
1104
+ */
997
1105
  nextInternalEventId: bigint;
998
1106
  }
999
1107
  export interface WaitForHistoryEventResponse {
1108
+ /**
1109
+ * True when the run has an event whose ID is next_internal_event_id or
1110
+ * larger. False when the run closed before it recorded such an event.
1111
+ */
1000
1112
  eventAvailable: boolean;
1113
+ /**
1114
+ * The ID of the newest history event of the run when the call returned.
1115
+ *
1116
+ * It is not the first event at or after next_internal_event_id: it is the
1117
+ * last event the run has recorded. Use it to find the newest history page,
1118
+ * for example by calling with next_internal_event_id set to 1. The newest
1119
+ * event always belongs to the current run attempt. A GetHistoryEvents read of
1120
+ * an older run attempt can end before this ID.
1121
+ *
1122
+ * It is set when event_available is false too. Then it is the ID of the last
1123
+ * event of the closed run.
1124
+ */
1001
1125
  availableInternalEventId: bigint;
1002
1126
  flowStatus: FlowStatus;
1003
1127
  }
@@ -1509,6 +1633,7 @@ export declare const GetFlowSummaryRequest: MessageFns<GetFlowSummaryRequest>;
1509
1633
  export declare const GetFlowSummaryResponse: MessageFns<GetFlowSummaryResponse>;
1510
1634
  export declare const GetHistoryEventsRequest: MessageFns<GetHistoryEventsRequest>;
1511
1635
  export declare const GetHistoryEventsResponse: MessageFns<GetHistoryEventsResponse>;
1636
+ export declare const HistoryEventIDRange: MessageFns<HistoryEventIDRange>;
1512
1637
  export declare const FlowHistoryEvent: MessageFns<FlowHistoryEvent>;
1513
1638
  export declare const TimeTravelForkHistoryEvent: MessageFns<TimeTravelForkHistoryEvent>;
1514
1639
  export declare const FlowStartedOrContinuedHistoryEvent: MessageFns<FlowStartedOrContinuedHistoryEvent>;
@@ -223,6 +223,10 @@ export var ErrorSubStatus;
223
223
  ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_REQUEST_TIMEOUT"] = 7] = "ERROR_SUB_STATUS_REQUEST_TIMEOUT";
224
224
  /** ERROR_SUB_STATUS_FLOW_CLOSING - An update-class request arrived while Flow close cleanup is in progress. */
225
225
  ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_FLOW_CLOSING"] = 8] = "ERROR_SUB_STATUS_FLOW_CLOSING";
226
+ /** ERROR_SUB_STATUS_ATTRIBUTE_INDEX_CAPACITY_EXCEEDED - A tenant exhausted its slots for an Attribute index type. */
227
+ ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_ATTRIBUTE_INDEX_CAPACITY_EXCEEDED"] = 9] = "ERROR_SUB_STATUS_ATTRIBUTE_INDEX_CAPACITY_EXCEEDED";
228
+ /** ERROR_SUB_STATUS_INDEXED_KEYWORD_TOO_LONG - An indexed Keyword value or KeywordArray element exceeds the byte limit. */
229
+ ErrorSubStatus[ErrorSubStatus["ERROR_SUB_STATUS_INDEXED_KEYWORD_TOO_LONG"] = 10] = "ERROR_SUB_STATUS_INDEXED_KEYWORD_TOO_LONG";
226
230
  ErrorSubStatus[ErrorSubStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
227
231
  })(ErrorSubStatus || (ErrorSubStatus = {}));
228
232
  export var CloseDecisionType;
@@ -5178,7 +5182,7 @@ export const GetHistoryEventsRequest = {
5178
5182
  },
5179
5183
  };
5180
5184
  function createBaseGetHistoryEventsResponse() {
5181
- return { events: [], nextPageToken: new Uint8Array(0), nextInternalEventId: 0n };
5185
+ return { events: [], nextPageToken: new Uint8Array(0), nextInternalEventId: 0n, prunedEventIdRange: undefined };
5182
5186
  }
5183
5187
  export const GetHistoryEventsResponse = {
5184
5188
  encode(message, writer = new BinaryWriter()) {
@@ -5194,6 +5198,9 @@ export const GetHistoryEventsResponse = {
5194
5198
  }
5195
5199
  writer.uint32(24).int64(message.nextInternalEventId);
5196
5200
  }
5201
+ if (message.prunedEventIdRange !== undefined) {
5202
+ HistoryEventIDRange.encode(message.prunedEventIdRange, writer.uint32(34).fork()).join();
5203
+ }
5197
5204
  return writer;
5198
5205
  },
5199
5206
  decode(input, length) {
@@ -5224,6 +5231,13 @@ export const GetHistoryEventsResponse = {
5224
5231
  message.nextInternalEventId = reader.int64();
5225
5232
  continue;
5226
5233
  }
5234
+ case 4: {
5235
+ if (tag !== 34) {
5236
+ break;
5237
+ }
5238
+ message.prunedEventIdRange = HistoryEventIDRange.decode(reader, reader.uint32());
5239
+ continue;
5240
+ }
5227
5241
  }
5228
5242
  if ((tag & 7) === 4 || tag === 0) {
5229
5243
  break;
@@ -5242,6 +5256,71 @@ export const GetHistoryEventsResponse = {
5242
5256
  message.nextInternalEventId = (object.nextInternalEventId !== undefined && object.nextInternalEventId !== null)
5243
5257
  ? BigInt(object.nextInternalEventId)
5244
5258
  : 0n;
5259
+ message.prunedEventIdRange = (object.prunedEventIdRange !== undefined && object.prunedEventIdRange !== null)
5260
+ ? HistoryEventIDRange.fromPartial(object.prunedEventIdRange)
5261
+ : undefined;
5262
+ return message;
5263
+ },
5264
+ };
5265
+ function createBaseHistoryEventIDRange() {
5266
+ return { startEventId: 0n, endEventId: 0n };
5267
+ }
5268
+ export const HistoryEventIDRange = {
5269
+ encode(message, writer = new BinaryWriter()) {
5270
+ if (message.startEventId !== 0n) {
5271
+ if (BigInt.asIntN(64, message.startEventId) !== message.startEventId) {
5272
+ throw new globalThis.Error("value provided for field message.startEventId of type int64 too large");
5273
+ }
5274
+ writer.uint32(8).int64(message.startEventId);
5275
+ }
5276
+ if (message.endEventId !== 0n) {
5277
+ if (BigInt.asIntN(64, message.endEventId) !== message.endEventId) {
5278
+ throw new globalThis.Error("value provided for field message.endEventId of type int64 too large");
5279
+ }
5280
+ writer.uint32(16).int64(message.endEventId);
5281
+ }
5282
+ return writer;
5283
+ },
5284
+ decode(input, length) {
5285
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5286
+ const end = length === undefined ? reader.len : reader.pos + length;
5287
+ const message = createBaseHistoryEventIDRange();
5288
+ while (reader.pos < end) {
5289
+ const tag = reader.uint32();
5290
+ switch (tag >>> 3) {
5291
+ case 1: {
5292
+ if (tag !== 8) {
5293
+ break;
5294
+ }
5295
+ message.startEventId = reader.int64();
5296
+ continue;
5297
+ }
5298
+ case 2: {
5299
+ if (tag !== 16) {
5300
+ break;
5301
+ }
5302
+ message.endEventId = reader.int64();
5303
+ continue;
5304
+ }
5305
+ }
5306
+ if ((tag & 7) === 4 || tag === 0) {
5307
+ break;
5308
+ }
5309
+ reader.skip(tag & 7);
5310
+ }
5311
+ return message;
5312
+ },
5313
+ create(base) {
5314
+ return HistoryEventIDRange.fromPartial(base ?? {});
5315
+ },
5316
+ fromPartial(object) {
5317
+ const message = createBaseHistoryEventIDRange();
5318
+ message.startEventId = (object.startEventId !== undefined && object.startEventId !== null)
5319
+ ? BigInt(object.startEventId)
5320
+ : 0n;
5321
+ message.endEventId = (object.endEventId !== undefined && object.endEventId !== null)
5322
+ ? BigInt(object.endEventId)
5323
+ : 0n;
5245
5324
  return message;
5246
5325
  },
5247
5326
  };
@@ -6543,6 +6622,9 @@ function createBaseStepMethodEventContext() {
6543
6622
  methodOptions: undefined,
6544
6623
  lastFailureInfo: undefined,
6545
6624
  pullRouting: undefined,
6625
+ fromEventId: 0n,
6626
+ waitForCompletedEventId: 0n,
6627
+ waitForCompletedTime: undefined,
6546
6628
  };
6547
6629
  }
6548
6630
  export const StepMethodEventContext = {
@@ -6577,6 +6659,21 @@ export const StepMethodEventContext = {
6577
6659
  if (message.pullRouting !== undefined) {
6578
6660
  PullRouting.encode(message.pullRouting, writer.uint32(82).fork()).join();
6579
6661
  }
6662
+ if (message.fromEventId !== 0n) {
6663
+ if (BigInt.asIntN(64, message.fromEventId) !== message.fromEventId) {
6664
+ throw new globalThis.Error("value provided for field message.fromEventId of type int64 too large");
6665
+ }
6666
+ writer.uint32(88).int64(message.fromEventId);
6667
+ }
6668
+ if (message.waitForCompletedEventId !== 0n) {
6669
+ if (BigInt.asIntN(64, message.waitForCompletedEventId) !== message.waitForCompletedEventId) {
6670
+ throw new globalThis.Error("value provided for field message.waitForCompletedEventId of type int64 too large");
6671
+ }
6672
+ writer.uint32(96).int64(message.waitForCompletedEventId);
6673
+ }
6674
+ if (message.waitForCompletedTime !== undefined) {
6675
+ Timestamp.encode(toTimestamp(message.waitForCompletedTime), writer.uint32(106).fork()).join();
6676
+ }
6580
6677
  return writer;
6581
6678
  },
6582
6679
  decode(input, length) {
@@ -6656,6 +6753,27 @@ export const StepMethodEventContext = {
6656
6753
  message.pullRouting = PullRouting.decode(reader, reader.uint32());
6657
6754
  continue;
6658
6755
  }
6756
+ case 11: {
6757
+ if (tag !== 88) {
6758
+ break;
6759
+ }
6760
+ message.fromEventId = reader.int64();
6761
+ continue;
6762
+ }
6763
+ case 12: {
6764
+ if (tag !== 96) {
6765
+ break;
6766
+ }
6767
+ message.waitForCompletedEventId = reader.int64();
6768
+ continue;
6769
+ }
6770
+ case 13: {
6771
+ if (tag !== 106) {
6772
+ break;
6773
+ }
6774
+ message.waitForCompletedTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
6775
+ continue;
6776
+ }
6659
6777
  }
6660
6778
  if ((tag & 7) === 4 || tag === 0) {
6661
6779
  break;
@@ -6687,6 +6805,14 @@ export const StepMethodEventContext = {
6687
6805
  message.pullRouting = (object.pullRouting !== undefined && object.pullRouting !== null)
6688
6806
  ? PullRouting.fromPartial(object.pullRouting)
6689
6807
  : undefined;
6808
+ message.fromEventId = (object.fromEventId !== undefined && object.fromEventId !== null)
6809
+ ? BigInt(object.fromEventId)
6810
+ : 0n;
6811
+ message.waitForCompletedEventId =
6812
+ (object.waitForCompletedEventId !== undefined && object.waitForCompletedEventId !== null)
6813
+ ? BigInt(object.waitForCompletedEventId)
6814
+ : 0n;
6815
+ message.waitForCompletedTime = object.waitForCompletedTime ?? undefined;
6690
6816
  return message;
6691
6817
  },
6692
6818
  };