@superdurable/dex 0.8.0 → 0.9.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.
package/README.md CHANGED
@@ -480,3 +480,14 @@ publisher with organization `superdurable`, repository `dex`, workflow
480
480
  Future releases use short-lived OIDC credentials and require no `NPM_TOKEN`.
481
481
  After verifying the first OIDC release, configure npm publishing access to
482
482
  require 2FA and disallow token-based publication.
483
+
484
+ ## Server protocol compatibility
485
+
486
+ Worker startup calls `GetServerInfo`, negotiates the highest common protocol,
487
+ synchronizes Attribute indexes, and then binds WorkerService. The initial
488
+ TypeScript SDK interval is `[1,1]`. Missing information, invalid or disjoint
489
+ intervals, and RPC failures stop startup before binding.
490
+
491
+ The build generates the diagnostic SDK version from `package.json`, so the
492
+ runtime value follows the version stamped by the release workflow. The artifact
493
+ version does not participate in compatibility decisions.
@@ -190,6 +190,15 @@ export declare enum SubFlowCompletionDeliveryStatus {
190
190
  SUB_FLOW_COMPLETION_DELIVERY_STATUS_PARENT_CLOSED_OR_NOT_FOUND = 2,
191
191
  UNRECOGNIZED = -1
192
192
  }
193
+ /** Describes the Dex Server release and the inclusive protocol range it supports. */
194
+ export interface ServerInfo {
195
+ /** Identifies the Server artifact for diagnostics. Compatibility uses only the protocol range. */
196
+ serverVersion: string;
197
+ /** Oldest protocol version still accepted by this Server. */
198
+ minimumSupportedProtocolVersion: number;
199
+ /** Newest protocol version implemented by this Server. */
200
+ currentProtocolVersion: number;
201
+ }
193
202
  export interface Value {
194
203
  kind: //
195
204
  /** Hydrate from blob storage, then replace with string_value. */
@@ -1433,6 +1442,7 @@ export interface InvokeRpcUpdateResult {
1433
1442
  export interface StepExecutionNumbers {
1434
1443
  numbers: number[];
1435
1444
  }
1445
+ export declare const ServerInfo: MessageFns<ServerInfo>;
1436
1446
  export declare const Value: MessageFns<Value>;
1437
1447
  export declare const EncodedObject: MessageFns<EncodedObject>;
1438
1448
  export declare const AttributeWrite: MessageFns<AttributeWrite>;
@@ -1623,6 +1633,16 @@ export declare const StepExecutionNumbers: MessageFns<StepExecutionNumbers>;
1623
1633
  /** Hosted by Dex server; SDKs call these RPCs. */
1624
1634
  export type FlowServiceService = typeof FlowServiceService;
1625
1635
  export declare const FlowServiceService: {
1636
+ /** Returns diagnostic release metadata and the Server's inclusive protocol interval. */
1637
+ readonly getServerInfo: {
1638
+ readonly path: "/dex.FlowService/GetServerInfo";
1639
+ readonly requestStream: false;
1640
+ readonly responseStream: false;
1641
+ readonly requestSerialize: (value: Empty) => Buffer;
1642
+ readonly requestDeserialize: (value: Buffer) => Empty;
1643
+ readonly responseSerialize: (value: ServerInfo) => Buffer;
1644
+ readonly responseDeserialize: (value: Buffer) => ServerInfo;
1645
+ };
1626
1646
  readonly startFlow: {
1627
1647
  readonly path: "/dex.FlowService/StartFlow";
1628
1648
  readonly requestStream: false;
@@ -1859,6 +1879,8 @@ export declare const FlowServiceService: {
1859
1879
  };
1860
1880
  };
1861
1881
  export interface FlowServiceServer extends UntypedServiceImplementation {
1882
+ /** Returns diagnostic release metadata and the Server's inclusive protocol interval. */
1883
+ getServerInfo: handleUnaryCall<Empty, ServerInfo>;
1862
1884
  startFlow: handleUnaryCall<StartFlowRequest, StartFlowResponse>;
1863
1885
  publishToChannel: handleUnaryCall<PublishToChannelRequest, Empty>;
1864
1886
  getChannelMessages: handleUnaryCall<GetChannelMessagesRequest, GetChannelMessagesResponse>;
@@ -1887,6 +1909,10 @@ export interface FlowServiceServer extends UntypedServiceImplementation {
1887
1909
  healthCheck: handleUnaryCall<Empty, HealthInfo>;
1888
1910
  }
1889
1911
  export interface FlowServiceClient extends Client {
1912
+ /** Returns diagnostic release metadata and the Server's inclusive protocol interval. */
1913
+ getServerInfo(request: Empty, callback: (error: ServiceError | null, response: ServerInfo) => void): ClientUnaryCall;
1914
+ getServerInfo(request: Empty, metadata: Metadata, callback: (error: ServiceError | null, response: ServerInfo) => void): ClientUnaryCall;
1915
+ getServerInfo(request: Empty, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ServerInfo) => void): ClientUnaryCall;
1890
1916
  startFlow(request: StartFlowRequest, callback: (error: ServiceError | null, response: StartFlowResponse) => void): ClientUnaryCall;
1891
1917
  startFlow(request: StartFlowRequest, metadata: Metadata, callback: (error: ServiceError | null, response: StartFlowResponse) => void): ClientUnaryCall;
1892
1918
  startFlow(request: StartFlowRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: StartFlowResponse) => void): ClientUnaryCall;
@@ -219,6 +219,69 @@ export var SubFlowCompletionDeliveryStatus;
219
219
  SubFlowCompletionDeliveryStatus[SubFlowCompletionDeliveryStatus["SUB_FLOW_COMPLETION_DELIVERY_STATUS_PARENT_CLOSED_OR_NOT_FOUND"] = 2] = "SUB_FLOW_COMPLETION_DELIVERY_STATUS_PARENT_CLOSED_OR_NOT_FOUND";
220
220
  SubFlowCompletionDeliveryStatus[SubFlowCompletionDeliveryStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
221
221
  })(SubFlowCompletionDeliveryStatus || (SubFlowCompletionDeliveryStatus = {}));
222
+ function createBaseServerInfo() {
223
+ return { serverVersion: "", minimumSupportedProtocolVersion: 0, currentProtocolVersion: 0 };
224
+ }
225
+ export const ServerInfo = {
226
+ encode(message, writer = new BinaryWriter()) {
227
+ if (message.serverVersion !== "") {
228
+ writer.uint32(10).string(message.serverVersion);
229
+ }
230
+ if (message.minimumSupportedProtocolVersion !== 0) {
231
+ writer.uint32(16).uint32(message.minimumSupportedProtocolVersion);
232
+ }
233
+ if (message.currentProtocolVersion !== 0) {
234
+ writer.uint32(24).uint32(message.currentProtocolVersion);
235
+ }
236
+ return writer;
237
+ },
238
+ decode(input, length) {
239
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
240
+ const end = length === undefined ? reader.len : reader.pos + length;
241
+ const message = createBaseServerInfo();
242
+ while (reader.pos < end) {
243
+ const tag = reader.uint32();
244
+ switch (tag >>> 3) {
245
+ case 1: {
246
+ if (tag !== 10) {
247
+ break;
248
+ }
249
+ message.serverVersion = reader.string();
250
+ continue;
251
+ }
252
+ case 2: {
253
+ if (tag !== 16) {
254
+ break;
255
+ }
256
+ message.minimumSupportedProtocolVersion = reader.uint32();
257
+ continue;
258
+ }
259
+ case 3: {
260
+ if (tag !== 24) {
261
+ break;
262
+ }
263
+ message.currentProtocolVersion = reader.uint32();
264
+ continue;
265
+ }
266
+ }
267
+ if ((tag & 7) === 4 || tag === 0) {
268
+ break;
269
+ }
270
+ reader.skip(tag & 7);
271
+ }
272
+ return message;
273
+ },
274
+ create(base) {
275
+ return ServerInfo.fromPartial(base ?? {});
276
+ },
277
+ fromPartial(object) {
278
+ const message = createBaseServerInfo();
279
+ message.serverVersion = object.serverVersion ?? "";
280
+ message.minimumSupportedProtocolVersion = object.minimumSupportedProtocolVersion ?? 0;
281
+ message.currentProtocolVersion = object.currentProtocolVersion ?? 0;
282
+ return message;
283
+ },
284
+ };
222
285
  function createBaseValue() {
223
286
  return { kind: undefined };
224
287
  }
@@ -14400,6 +14463,16 @@ export const StepExecutionNumbers = {
14400
14463
  },
14401
14464
  };
14402
14465
  export const FlowServiceService = {
14466
+ /** Returns diagnostic release metadata and the Server's inclusive protocol interval. */
14467
+ getServerInfo: {
14468
+ path: "/dex.FlowService/GetServerInfo",
14469
+ requestStream: false,
14470
+ responseStream: false,
14471
+ requestSerialize: (value) => Buffer.from(Empty.encode(value).finish()),
14472
+ requestDeserialize: (value) => Empty.decode(value),
14473
+ responseSerialize: (value) => Buffer.from(ServerInfo.encode(value).finish()),
14474
+ responseDeserialize: (value) => ServerInfo.decode(value),
14475
+ },
14403
14476
  startFlow: {
14404
14477
  path: "/dex.FlowService/StartFlow",
14405
14478
  requestStream: false,