@superdurable/dex 1.9.0 → 1.10.1

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,9 +1,24 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
- import { type CallOptions, type ChannelCredentials, Client, type ClientOptions, type ClientReadableStream, type ClientUnaryCall, type handleServerStreamingCall, type handleUnaryCall, type Metadata, type ServiceError, type UntypedServiceImplementation } from "@grpc/grpc-js";
2
+ import { type CallOptions, type ChannelCredentials, Client, type ClientDuplexStream, type ClientOptions, type ClientReadableStream, type ClientUnaryCall, type handleBidiStreamingCall, type handleServerStreamingCall, type handleUnaryCall, type Metadata, type ServiceError, type UntypedServiceImplementation } from "@grpc/grpc-js";
3
3
  import { Duration } from "./google/protobuf/duration.js";
4
4
  import { Empty } from "./google/protobuf/empty.js";
5
5
  import { NullValue } from "./google/protobuf/struct.js";
6
6
  export declare const protobufPackage = "dex";
7
+ /** Explains why a Worker declined a task. */
8
+ export declare enum PollWorkerTaskRejectReason {
9
+ /** POLL_WORKER_TASK_REJECT_REASON_UNSPECIFIED - No rejection reason was supplied. */
10
+ POLL_WORKER_TASK_REJECT_REASON_UNSPECIFIED = 0,
11
+ /** POLL_WORKER_TASK_REJECT_REASON_NO_CAPACITY - All Worker execution slots are occupied. */
12
+ POLL_WORKER_TASK_REJECT_REASON_NO_CAPACITY = 1,
13
+ UNRECOGNIZED = -1
14
+ }
15
+ /** Distinguishes absence of a Worker from loss of an assigned Worker. */
16
+ export declare enum DispatchTaskErrorReason {
17
+ DISPATCH_TASK_ERROR_REASON_UNSPECIFIED = 0,
18
+ DISPATCH_TASK_ERROR_REASON_NO_WORKER_AVAILABLE = 1,
19
+ DISPATCH_TASK_ERROR_REASON_WORKER_DISCONNECTED = 2,
20
+ UNRECOGNIZED = -1
21
+ }
7
22
  export declare enum IndexType {
8
23
  INDEX_TYPE_UNSPECIFIED = 0,
9
24
  /** INDEX_TYPE_KEYWORD - Default for string/object when type is omitted. */
@@ -199,6 +214,212 @@ export interface ServerInfo {
199
214
  /** Newest protocol version implemented by this Server. */
200
215
  currentProtocolVersion: number;
201
216
  }
217
+ /** Carries one Worker frame on a pull stream. Register must be the first frame. */
218
+ export interface PollWorkerTaskRequest {
219
+ frame: //
220
+ /** Starts this queue stream; no other frame may precede registration. */
221
+ {
222
+ $case: "register";
223
+ value: PollWorkerTaskRegister;
224
+ } | //
225
+ /** Reports task progress or its final result. */
226
+ {
227
+ $case: "taskFrame";
228
+ value: PollWorkerTaskFrame;
229
+ } | //
230
+ /** Declines an assigned task when the Worker has no capacity. */
231
+ {
232
+ $case: "reject";
233
+ value: PollWorkerTaskReject;
234
+ } | //
235
+ /** Acknowledges a server liveness check. */
236
+ {
237
+ $case: "pong";
238
+ value: PollWorkerTaskPong;
239
+ } | undefined;
240
+ }
241
+ /** Registers one queue stream for a Worker process. */
242
+ export interface PollWorkerTaskRegister {
243
+ /** Names this stream's queue: app_worker_id or one declared flow_type. */
244
+ queue: string;
245
+ /** Identifies this Worker process across reconnects; a restart uses a new ID. */
246
+ appWorkerId: string;
247
+ /** Lists the Flow types this Worker can execute. */
248
+ flowTypes: string[];
249
+ /** Identifies the SDK implementation for diagnostics. */
250
+ sdkName: string;
251
+ /** Identifies the SDK release for diagnostics. */
252
+ sdkVersion: string;
253
+ }
254
+ /** Carries a task's heartbeat, stream write, result, or Worker error. */
255
+ export interface PollWorkerTaskFrame {
256
+ /** Matches the task_id sent by Dex on this stream. */
257
+ taskId: string;
258
+ output: //
259
+ /** Includes heartbeat, stream write, and final result variants. */
260
+ {
261
+ $case: "waitFor";
262
+ value: InvokeWaitForMethodOutput;
263
+ } | //
264
+ /** Includes heartbeat, stream write, and final result variants. */
265
+ {
266
+ $case: "execute";
267
+ value: InvokeExecuteMethodOutput;
268
+ } | //
269
+ /** Completes an RPC task. */
270
+ {
271
+ $case: "rpc";
272
+ value: InvokeWorkerRPCResponse;
273
+ } | //
274
+ /** Ends the task with a Worker error. */
275
+ {
276
+ $case: "workerError";
277
+ value: WorkerErrorResponse;
278
+ } | undefined;
279
+ }
280
+ /** Declines a task so Dex can assign it to another available Worker stream. */
281
+ export interface PollWorkerTaskReject {
282
+ /** Matches the declined task on this stream. */
283
+ taskId: string;
284
+ /** Explains why the Worker cannot accept the task. */
285
+ reason: PollWorkerTaskRejectReason;
286
+ }
287
+ /** Acknowledges a server Ping on the same stream. */
288
+ export interface PollWorkerTaskPong {
289
+ }
290
+ /** Carries one server frame on a pull stream. */
291
+ export interface PollWorkerTaskResponse {
292
+ frame: //
293
+ /** Confirms that Dex accepted this stream's queue registration. */
294
+ {
295
+ $case: "registered";
296
+ value: PollWorkerTaskRegistered;
297
+ } | //
298
+ /** Assigns work to the registered Worker. */
299
+ {
300
+ $case: "task";
301
+ value: PollWorkerTask;
302
+ } | //
303
+ /** Requests cancellation of the assigned task. */
304
+ {
305
+ $case: "cancelTask";
306
+ value: PollWorkerTaskCancelTask;
307
+ } | //
308
+ /** Requests a reconnect after the current task finishes. */
309
+ {
310
+ $case: "reconnect";
311
+ value: PollWorkerTaskReconnect;
312
+ } | //
313
+ /** Checks whether an idle stream remains responsive. */
314
+ {
315
+ $case: "ping";
316
+ value: PollWorkerTaskPing;
317
+ } | undefined;
318
+ }
319
+ /** Confirms that Dex accepted the queue registration. */
320
+ export interface PollWorkerTaskRegistered {
321
+ }
322
+ /** Assigns one task to this stream until its final result, error, or rejection. */
323
+ export interface PollWorkerTask {
324
+ /** Identifies the assignment for result and cancellation frames. */
325
+ taskId: string;
326
+ /** Bounds task execution, including Worker processing time. */
327
+ deadline: Date | undefined;
328
+ request: //
329
+ /** Runs a Step's WaitFor method. */
330
+ {
331
+ $case: "waitFor";
332
+ value: InvokeWaitForMethodRequest;
333
+ } | //
334
+ /** Runs a Step's Execute method. */
335
+ {
336
+ $case: "execute";
337
+ value: InvokeExecuteMethodRequest;
338
+ } | //
339
+ /** Runs a Worker RPC. */
340
+ {
341
+ $case: "rpc";
342
+ value: InvokeWorkerRPCRequest;
343
+ } | undefined;
344
+ }
345
+ /** Requests cancellation of the task currently assigned to this stream. */
346
+ export interface PollWorkerTaskCancelTask {
347
+ /** Matches the task currently assigned on this stream. */
348
+ taskId: string;
349
+ }
350
+ /** Asks the Worker to finish its task and reconnect for queue ownership changes or shutdown. */
351
+ export interface PollWorkerTaskReconnect {
352
+ /** Explains why Dex needs a new queue stream. */
353
+ reason: string;
354
+ }
355
+ /** Checks that an idle pull stream remains responsive. */
356
+ export interface PollWorkerTaskPing {
357
+ }
358
+ /** Describes one task dispatched to a Dex task queue. */
359
+ export interface DispatchTaskRequest {
360
+ /** Selects the initial queue: a sticky Worker ID or a Flow type. */
361
+ queue: string;
362
+ /** Names the Flow type queue after a sticky wait expires. */
363
+ fallbackQueue: string;
364
+ /** Identifies the Flow for Worker affinity within a Flow type queue. */
365
+ flowId: string;
366
+ /** Limits waiting on a sticky queue before trying fallback_queue. */
367
+ stickyWait: Duration | undefined;
368
+ /** Limits total waiting for a Worker to accept the task. */
369
+ dispatchWait: Duration | undefined;
370
+ /** Bounds task execution, including Worker processing time. */
371
+ deadline: Date | undefined;
372
+ /** Identifies this dispatch across Worker and server streams. */
373
+ taskId: string;
374
+ request: {
375
+ $case: "waitFor";
376
+ value: InvokeWaitForMethodRequest;
377
+ } | {
378
+ $case: "execute";
379
+ value: InvokeExecuteMethodRequest;
380
+ } | {
381
+ $case: "rpc";
382
+ value: InvokeWorkerRPCRequest;
383
+ } | undefined;
384
+ /** Allows matching to send assignment state frames to capable callers. */
385
+ supportsAssignmentState: boolean;
386
+ }
387
+ /** Reports assignment changes, relays Worker output, then ends with a result, Worker error, or dispatch error. */
388
+ export interface DispatchTaskResponse {
389
+ output: {
390
+ $case: "waitFor";
391
+ value: InvokeWaitForMethodOutput;
392
+ } | {
393
+ $case: "execute";
394
+ value: InvokeExecuteMethodOutput;
395
+ } | {
396
+ $case: "rpc";
397
+ value: InvokeWorkerRPCResponse;
398
+ } | {
399
+ $case: "workerError";
400
+ value: WorkerErrorResponse;
401
+ } | {
402
+ $case: "dispatchError";
403
+ value: DispatchTaskError;
404
+ } | //
405
+ /** Stops matching-wait heartbeats after Worker assignment. */
406
+ {
407
+ $case: "assigned";
408
+ value: Empty;
409
+ } | //
410
+ /** Resumes matching-wait heartbeats after a pre-output retry. */
411
+ {
412
+ $case: "unassigned";
413
+ value: Empty;
414
+ } | undefined;
415
+ /** Identifies the Worker that produced the final result or Worker error. */
416
+ servedByAppWorkerId: string;
417
+ }
418
+ /** Reports a failure before Dex receives a Worker result. */
419
+ export interface DispatchTaskError {
420
+ reason: DispatchTaskErrorReason;
421
+ detail: string;
422
+ }
202
423
  export interface Value {
203
424
  kind: //
204
425
  /** Hydrate from blob storage, then replace with string_value. */
@@ -360,6 +581,8 @@ export interface WorkerTarget {
360
581
  /** Plaintext gRPC dial target, not an HTTP URL. */
361
582
  address: string;
362
583
  isHeadlessAddress: boolean;
584
+ /** Routes work through a connected pull Worker; mutually exclusive with address. */
585
+ isPullMode: boolean;
363
586
  }
364
587
  export interface StartFlowRequest {
365
588
  flowId: string;
@@ -926,6 +1149,8 @@ export interface WorkerErrorResponse {
926
1149
  errorType: string;
927
1150
  stackTrace: string;
928
1151
  retryAfterSeconds: number;
1152
+ /** Pull Workers set the gRPC code push mode would return; push mode uses its transport status. */
1153
+ grpcStatus: number;
929
1154
  }
930
1155
  export interface InternalActivityError {
931
1156
  serverDetail: string;
@@ -1259,6 +1484,8 @@ export interface ContinueAsNewDump {
1259
1484
  /** Stored values only; index metadata remains in backend search attributes. */
1260
1485
  attributes: KV[];
1261
1486
  pendingAttributeSyncItems: AttributeSyncItem[];
1487
+ /** Retains the last serving Worker's sticky queue across a Flow continuation. */
1488
+ dexTaskQueue: string;
1262
1489
  }
1263
1490
  export interface ContinueAsNewDump_ChannelReceivedEntry {
1264
1491
  key: string;
@@ -1280,16 +1507,6 @@ export interface InterpreterWorkflowInput {
1280
1507
  isResumeFromContinueAsNew: boolean;
1281
1508
  continueAsNewInput: ContinueAsNewInput | undefined;
1282
1509
  timeoutHandlerOptions: FlowTimeoutHandlerOptions | undefined;
1283
- /** Tenant of a multi-tenant Flow, set at start and copied to SubFlows. Empty in single-tenant mode. */
1284
- tenantId: string;
1285
- /** Verified claims of the starting tenant principal, used to check worker targets at every dispatch. */
1286
- tenantClaims: {
1287
- [key: string]: string;
1288
- };
1289
- }
1290
- export interface InterpreterWorkflowInput_TenantClaimsEntry {
1291
- key: string;
1292
- value: string;
1293
1510
  }
1294
1511
  export interface InterpreterWorkflowOutput {
1295
1512
  stepCompletionOutputs: StepCompletionOutput[];
@@ -1303,33 +1520,27 @@ export interface BlobStoreCleanupWorkflowOutput {
1303
1520
  export interface InvokeWaitForMethodActivityInput {
1304
1521
  workerTarget: WorkerTarget | undefined;
1305
1522
  request: InvokeWaitForMethodRequest | undefined;
1306
- /** Tenant of the dispatching Flow; empty in single-tenant mode. */
1307
- tenantId: string;
1308
- /** Claims of the Flow's tenant principal; empty in single-tenant mode. */
1309
- tenantClaims: {
1310
- [key: string]: string;
1311
- };
1312
- }
1313
- export interface InvokeWaitForMethodActivityInput_TenantClaimsEntry {
1314
- key: string;
1315
- value: string;
1523
+ /** Selects the sticky Worker queue; empty selects the request's Flow type queue. */
1524
+ dexTaskQueue: string;
1525
+ /** Limits total waiting for a pull Worker to accept this attempt. */
1526
+ dispatchWait: Duration | undefined;
1527
+ /** Limits waiting on the sticky queue before the Flow type queue. */
1528
+ stickyWait: Duration | undefined;
1316
1529
  }
1317
1530
  export interface InvokeWaitForMethodActivityOutput {
1318
1531
  response: InvokeWaitForMethodResponse | undefined;
1532
+ /** Identifies the Worker that completed this pull task for sticky routing. */
1533
+ servedByAppWorkerId: string;
1319
1534
  }
1320
1535
  export interface InvokeExecuteMethodActivityInput {
1321
1536
  workerTarget: WorkerTarget | undefined;
1322
1537
  request: InvokeExecuteMethodRequest | undefined;
1323
- /** Tenant of the dispatching Flow; empty in single-tenant mode. */
1324
- tenantId: string;
1325
- /** Claims of the Flow's tenant principal; empty in single-tenant mode. */
1326
- tenantClaims: {
1327
- [key: string]: string;
1328
- };
1329
- }
1330
- export interface InvokeExecuteMethodActivityInput_TenantClaimsEntry {
1331
- key: string;
1332
- value: string;
1538
+ /** Selects the sticky Worker queue; empty selects the request's Flow type queue. */
1539
+ dexTaskQueue: string;
1540
+ /** Limits total waiting for a pull Worker to accept this attempt. */
1541
+ dispatchWait: Duration | undefined;
1542
+ /** Limits waiting on the sticky queue before the Flow type queue. */
1543
+ stickyWait: Duration | undefined;
1333
1544
  }
1334
1545
  export interface RecoveryErrorInfo {
1335
1546
  detail: string;
@@ -1344,6 +1555,8 @@ export interface InternalLocalStepActivityFailure {
1344
1555
  }
1345
1556
  export interface InvokeExecuteMethodActivityOutput {
1346
1557
  response: InvokeExecuteMethodResponse | undefined;
1558
+ /** Identifies the Worker that completed this pull task for sticky routing. */
1559
+ servedByAppWorkerId: string;
1347
1560
  }
1348
1561
  export interface DumpFlowForContinueAsNewActivityInput {
1349
1562
  request: ContinueAsNewDumpRequest | undefined;
@@ -1354,21 +1567,13 @@ export interface DumpFlowForContinueAsNewActivityOutput {
1354
1567
  export interface InvokeWorkerRPCActivityInput {
1355
1568
  rpcPrep: PrepareRpcQueryResponse | undefined;
1356
1569
  request: InvokeRPCRequest | undefined;
1357
- /** Tenant of the Flow; empty in single-tenant mode. */
1358
- tenantId: string;
1359
- /** Claims of the Flow's tenant principal; empty in single-tenant mode. */
1360
- tenantClaims: {
1361
- [key: string]: string;
1362
- };
1363
- }
1364
- export interface InvokeWorkerRPCActivityInput_TenantClaimsEntry {
1365
- key: string;
1366
- value: string;
1367
1570
  }
1368
1571
  export interface InvokeWorkerRPCActivityOutput {
1369
1572
  response: InvokeWorkerRPCResponse | undefined;
1370
1573
  /** Correlates this local Activity result with its InvokeRpc Update. */
1371
1574
  requestId: string;
1575
+ /** Identifies the Worker that completed this pull task for sticky routing. */
1576
+ servedByAppWorkerId: string;
1372
1577
  }
1373
1578
  export interface CleanupBlobStoreActivityInput {
1374
1579
  storeId: string;
@@ -1391,16 +1596,6 @@ export interface StartSubFlowActivityInput {
1391
1596
  parentFlowConfig: FlowConfig | undefined;
1392
1597
  /** Source Step; activity context supplies parent Flow and run IDs. */
1393
1598
  parentStepExecutionId: string;
1394
- /** Tenant of the parent Flow, inherited by the SubFlow; empty in single-tenant mode. */
1395
- tenantId: string;
1396
- /** Claims of the Flow's tenant principal; empty in single-tenant mode. */
1397
- tenantClaims: {
1398
- [key: string]: string;
1399
- };
1400
- }
1401
- export interface StartSubFlowActivityInput_TenantClaimsEntry {
1402
- key: string;
1403
- value: string;
1404
1599
  }
1405
1600
  export interface StartSubFlowActivityOutput {
1406
1601
  immediateFlowResult: FlowResult | undefined;
@@ -1462,6 +1657,8 @@ export interface PrepareRpcQueryResponse {
1462
1657
  loadedAttributeMapInstances: string[];
1463
1658
  loadedChannelNames: string[];
1464
1659
  loadedChannelMapInstances: string[];
1660
+ /** Selects the last Worker queue for RPC dispatch. */
1661
+ dexTaskQueue: string;
1465
1662
  }
1466
1663
  export interface PrepareRpcQueryResponse_ChannelInfosEntry {
1467
1664
  key: string;
@@ -1506,38 +1703,21 @@ export interface InvokeRpcUpdateResult {
1506
1703
  export interface StepExecutionNumbers {
1507
1704
  numbers: number[];
1508
1705
  }
1509
- export interface TenantAdminState {
1510
- tenantId: string;
1511
- isTombstoned: boolean;
1512
- tombstonedTime: Date | undefined;
1513
- /** Set when a purge has found nothing left in two queries a confirmation delay apart. */
1514
- purgeDoneTime: Date | undefined;
1515
- /** After this time the tombstone is removed and the tenant ID may be reused. */
1516
- tombstoneExpiryTime: Date | undefined;
1517
- }
1518
- export interface TombstoneTenantRequest {
1519
- tenantId: string;
1520
- }
1521
- export interface TombstoneTenantResponse {
1522
- state: TenantAdminState | undefined;
1523
- }
1524
- export interface PurgeTenantRequest {
1525
- tenantId: string;
1526
- }
1527
- export interface PurgeTenantResponse {
1528
- state: TenantAdminState | undefined;
1529
- terminatedExecutions: number;
1530
- deletedExecutions: number;
1531
- deletedBlobObjects: number;
1532
- done: boolean;
1533
- }
1534
- export interface DescribeTenantRequest {
1535
- tenantId: string;
1536
- }
1537
- export interface DescribeTenantResponse {
1538
- state: TenantAdminState | undefined;
1539
- }
1540
1706
  export declare const ServerInfo: MessageFns<ServerInfo>;
1707
+ export declare const PollWorkerTaskRequest: MessageFns<PollWorkerTaskRequest>;
1708
+ export declare const PollWorkerTaskRegister: MessageFns<PollWorkerTaskRegister>;
1709
+ export declare const PollWorkerTaskFrame: MessageFns<PollWorkerTaskFrame>;
1710
+ export declare const PollWorkerTaskReject: MessageFns<PollWorkerTaskReject>;
1711
+ export declare const PollWorkerTaskPong: MessageFns<PollWorkerTaskPong>;
1712
+ export declare const PollWorkerTaskResponse: MessageFns<PollWorkerTaskResponse>;
1713
+ export declare const PollWorkerTaskRegistered: MessageFns<PollWorkerTaskRegistered>;
1714
+ export declare const PollWorkerTask: MessageFns<PollWorkerTask>;
1715
+ export declare const PollWorkerTaskCancelTask: MessageFns<PollWorkerTaskCancelTask>;
1716
+ export declare const PollWorkerTaskReconnect: MessageFns<PollWorkerTaskReconnect>;
1717
+ export declare const PollWorkerTaskPing: MessageFns<PollWorkerTaskPing>;
1718
+ export declare const DispatchTaskRequest: MessageFns<DispatchTaskRequest>;
1719
+ export declare const DispatchTaskResponse: MessageFns<DispatchTaskResponse>;
1720
+ export declare const DispatchTaskError: MessageFns<DispatchTaskError>;
1541
1721
  export declare const Value: MessageFns<Value>;
1542
1722
  export declare const EncodedObject: MessageFns<EncodedObject>;
1543
1723
  export declare const AttributeWrite: MessageFns<AttributeWrite>;
@@ -1688,29 +1868,24 @@ export declare const ContinueAsNewDump: MessageFns<ContinueAsNewDump>;
1688
1868
  export declare const ContinueAsNewDump_ChannelReceivedEntry: MessageFns<ContinueAsNewDump_ChannelReceivedEntry>;
1689
1869
  export declare const ContinueAsNewInput: MessageFns<ContinueAsNewInput>;
1690
1870
  export declare const InterpreterWorkflowInput: MessageFns<InterpreterWorkflowInput>;
1691
- export declare const InterpreterWorkflowInput_TenantClaimsEntry: MessageFns<InterpreterWorkflowInput_TenantClaimsEntry>;
1692
1871
  export declare const InterpreterWorkflowOutput: MessageFns<InterpreterWorkflowOutput>;
1693
1872
  export declare const BlobStoreCleanupWorkflowInput: MessageFns<BlobStoreCleanupWorkflowInput>;
1694
1873
  export declare const BlobStoreCleanupWorkflowOutput: MessageFns<BlobStoreCleanupWorkflowOutput>;
1695
1874
  export declare const InvokeWaitForMethodActivityInput: MessageFns<InvokeWaitForMethodActivityInput>;
1696
- export declare const InvokeWaitForMethodActivityInput_TenantClaimsEntry: MessageFns<InvokeWaitForMethodActivityInput_TenantClaimsEntry>;
1697
1875
  export declare const InvokeWaitForMethodActivityOutput: MessageFns<InvokeWaitForMethodActivityOutput>;
1698
1876
  export declare const InvokeExecuteMethodActivityInput: MessageFns<InvokeExecuteMethodActivityInput>;
1699
- export declare const InvokeExecuteMethodActivityInput_TenantClaimsEntry: MessageFns<InvokeExecuteMethodActivityInput_TenantClaimsEntry>;
1700
1877
  export declare const RecoveryErrorInfo: MessageFns<RecoveryErrorInfo>;
1701
1878
  export declare const InternalLocalStepActivityFailure: MessageFns<InternalLocalStepActivityFailure>;
1702
1879
  export declare const InvokeExecuteMethodActivityOutput: MessageFns<InvokeExecuteMethodActivityOutput>;
1703
1880
  export declare const DumpFlowForContinueAsNewActivityInput: MessageFns<DumpFlowForContinueAsNewActivityInput>;
1704
1881
  export declare const DumpFlowForContinueAsNewActivityOutput: MessageFns<DumpFlowForContinueAsNewActivityOutput>;
1705
1882
  export declare const InvokeWorkerRPCActivityInput: MessageFns<InvokeWorkerRPCActivityInput>;
1706
- export declare const InvokeWorkerRPCActivityInput_TenantClaimsEntry: MessageFns<InvokeWorkerRPCActivityInput_TenantClaimsEntry>;
1707
1883
  export declare const InvokeWorkerRPCActivityOutput: MessageFns<InvokeWorkerRPCActivityOutput>;
1708
1884
  export declare const CleanupBlobStoreActivityInput: MessageFns<CleanupBlobStoreActivityInput>;
1709
1885
  export declare const CleanupBlobStoreActivityOutput: MessageFns<CleanupBlobStoreActivityOutput>;
1710
1886
  export declare const AttributeSyncItem: MessageFns<AttributeSyncItem>;
1711
1887
  export declare const SyncAttributeBatchActivityInput: MessageFns<SyncAttributeBatchActivityInput>;
1712
1888
  export declare const StartSubFlowActivityInput: MessageFns<StartSubFlowActivityInput>;
1713
- export declare const StartSubFlowActivityInput_TenantClaimsEntry: MessageFns<StartSubFlowActivityInput_TenantClaimsEntry>;
1714
1889
  export declare const StartSubFlowActivityOutput: MessageFns<StartSubFlowActivityOutput>;
1715
1890
  export declare const SubFlowCompletionSignalRequest: MessageFns<SubFlowCompletionSignalRequest>;
1716
1891
  export declare const ReportSubFlowCompletionActivityInput: MessageFns<ReportSubFlowCompletionActivityInput>;
@@ -1732,13 +1907,6 @@ export declare const GetScheduledGreedyTimerTimesQueryResponse: MessageFns<GetSc
1732
1907
  export declare const DebugDumpResponse: MessageFns<DebugDumpResponse>;
1733
1908
  export declare const InvokeRpcUpdateResult: MessageFns<InvokeRpcUpdateResult>;
1734
1909
  export declare const StepExecutionNumbers: MessageFns<StepExecutionNumbers>;
1735
- export declare const TenantAdminState: MessageFns<TenantAdminState>;
1736
- export declare const TombstoneTenantRequest: MessageFns<TombstoneTenantRequest>;
1737
- export declare const TombstoneTenantResponse: MessageFns<TombstoneTenantResponse>;
1738
- export declare const PurgeTenantRequest: MessageFns<PurgeTenantRequest>;
1739
- export declare const PurgeTenantResponse: MessageFns<PurgeTenantResponse>;
1740
- export declare const DescribeTenantRequest: MessageFns<DescribeTenantRequest>;
1741
- export declare const DescribeTenantResponse: MessageFns<DescribeTenantResponse>;
1742
1910
  /** Hosted by Dex server; SDKs call these RPCs. */
1743
1911
  export type FlowServiceService = typeof FlowServiceService;
1744
1912
  export declare const FlowServiceService: {
@@ -2156,68 +2324,80 @@ export declare const WorkerServiceClient: {
2156
2324
  service: typeof WorkerServiceService;
2157
2325
  serviceName: string;
2158
2326
  };
2159
- /**
2160
- * Server-internal only (interpreter CAN activity → API). Not SDK-facing.
2161
- * TenantAdminService manages the tenants of a multi-tenant server. Only operator principals may call it.
2162
- * Every RPC names its tenant explicitly and never returns Flow data.
2163
- */
2164
- export type TenantAdminServiceService = typeof TenantAdminServiceService;
2165
- export declare const TenantAdminServiceService: {
2166
- /** Refuses every credential of the tenant within the tombstone refresh interval. Idempotent. */
2167
- readonly tombstoneTenant: {
2168
- readonly path: "/dex.TenantAdminService/TombstoneTenant";
2169
- readonly requestStream: false;
2170
- readonly responseStream: false;
2171
- readonly requestSerialize: (value: TombstoneTenantRequest) => Buffer;
2172
- readonly requestDeserialize: (value: Buffer) => TombstoneTenantRequest;
2173
- readonly responseSerialize: (value: TombstoneTenantResponse) => Buffer;
2174
- readonly responseDeserialize: (value: Buffer) => TombstoneTenantResponse;
2327
+ /** Hosted by Dex server; pull Workers open one queue stream for at most one task at a time. */
2328
+ export type WorkerTaskServiceService = typeof WorkerTaskServiceService;
2329
+ export declare const WorkerTaskServiceService: {
2330
+ /** Exchanges registration, task, result, and control frames for one Dex task queue. */
2331
+ readonly pollWorkerTask: {
2332
+ readonly path: "/dex.WorkerTaskService/PollWorkerTask";
2333
+ readonly requestStream: true;
2334
+ readonly responseStream: true;
2335
+ readonly requestSerialize: (value: PollWorkerTaskRequest) => Buffer;
2336
+ readonly requestDeserialize: (value: Buffer) => PollWorkerTaskRequest;
2337
+ readonly responseSerialize: (value: PollWorkerTaskResponse) => Buffer;
2338
+ readonly responseDeserialize: (value: Buffer) => PollWorkerTaskResponse;
2175
2339
  };
2176
- /** Deletes one bounded batch of the tombstoned tenant's data. Repeat until done is true. */
2177
- readonly purgeTenant: {
2178
- readonly path: "/dex.TenantAdminService/PurgeTenant";
2340
+ };
2341
+ export interface WorkerTaskServiceServer extends UntypedServiceImplementation {
2342
+ /** Exchanges registration, task, result, and control frames for one Dex task queue. */
2343
+ pollWorkerTask: handleBidiStreamingCall<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2344
+ }
2345
+ export interface WorkerTaskServiceClient extends Client {
2346
+ /** Exchanges registration, task, result, and control frames for one Dex task queue. */
2347
+ pollWorkerTask(): ClientDuplexStream<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2348
+ pollWorkerTask(options: Partial<CallOptions>): ClientDuplexStream<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2349
+ pollWorkerTask(metadata: Metadata, options?: Partial<CallOptions>): ClientDuplexStream<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2350
+ }
2351
+ export declare const WorkerTaskServiceClient: {
2352
+ new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): WorkerTaskServiceClient;
2353
+ service: typeof WorkerTaskServiceService;
2354
+ serviceName: string;
2355
+ };
2356
+ /** Hosted on the internal listener; server instances route tasks and Worker streams to queue owners. */
2357
+ export type MatchingServiceService = typeof MatchingServiceService;
2358
+ export declare const MatchingServiceService: {
2359
+ /** Streams Worker output frames and a final result or dispatch error. */
2360
+ readonly dispatchTask: {
2361
+ readonly path: "/dex.MatchingService/DispatchTask";
2179
2362
  readonly requestStream: false;
2180
- readonly responseStream: false;
2181
- readonly requestSerialize: (value: PurgeTenantRequest) => Buffer;
2182
- readonly requestDeserialize: (value: Buffer) => PurgeTenantRequest;
2183
- readonly responseSerialize: (value: PurgeTenantResponse) => Buffer;
2184
- readonly responseDeserialize: (value: Buffer) => PurgeTenantResponse;
2363
+ readonly responseStream: true;
2364
+ readonly requestSerialize: (value: DispatchTaskRequest) => Buffer;
2365
+ readonly requestDeserialize: (value: Buffer) => DispatchTaskRequest;
2366
+ readonly responseSerialize: (value: DispatchTaskResponse) => Buffer;
2367
+ readonly responseDeserialize: (value: Buffer) => DispatchTaskResponse;
2185
2368
  };
2186
- readonly describeTenant: {
2187
- readonly path: "/dex.TenantAdminService/DescribeTenant";
2188
- readonly requestStream: false;
2189
- readonly responseStream: false;
2190
- readonly requestSerialize: (value: DescribeTenantRequest) => Buffer;
2191
- readonly requestDeserialize: (value: Buffer) => DescribeTenantRequest;
2192
- readonly responseSerialize: (value: DescribeTenantResponse) => Buffer;
2193
- readonly responseDeserialize: (value: Buffer) => DescribeTenantResponse;
2369
+ /** Proxies a Worker's queue stream from its receiving instance to the queue owner. */
2370
+ readonly forwardPollWorkerTask: {
2371
+ readonly path: "/dex.MatchingService/ForwardPollWorkerTask";
2372
+ readonly requestStream: true;
2373
+ readonly responseStream: true;
2374
+ readonly requestSerialize: (value: PollWorkerTaskRequest) => Buffer;
2375
+ readonly requestDeserialize: (value: Buffer) => PollWorkerTaskRequest;
2376
+ readonly responseSerialize: (value: PollWorkerTaskResponse) => Buffer;
2377
+ readonly responseDeserialize: (value: Buffer) => PollWorkerTaskResponse;
2194
2378
  };
2195
2379
  };
2196
- export interface TenantAdminServiceServer extends UntypedServiceImplementation {
2197
- /** Refuses every credential of the tenant within the tombstone refresh interval. Idempotent. */
2198
- tombstoneTenant: handleUnaryCall<TombstoneTenantRequest, TombstoneTenantResponse>;
2199
- /** Deletes one bounded batch of the tombstoned tenant's data. Repeat until done is true. */
2200
- purgeTenant: handleUnaryCall<PurgeTenantRequest, PurgeTenantResponse>;
2201
- describeTenant: handleUnaryCall<DescribeTenantRequest, DescribeTenantResponse>;
2202
- }
2203
- export interface TenantAdminServiceClient extends Client {
2204
- /** Refuses every credential of the tenant within the tombstone refresh interval. Idempotent. */
2205
- tombstoneTenant(request: TombstoneTenantRequest, callback: (error: ServiceError | null, response: TombstoneTenantResponse) => void): ClientUnaryCall;
2206
- tombstoneTenant(request: TombstoneTenantRequest, metadata: Metadata, callback: (error: ServiceError | null, response: TombstoneTenantResponse) => void): ClientUnaryCall;
2207
- tombstoneTenant(request: TombstoneTenantRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: TombstoneTenantResponse) => void): ClientUnaryCall;
2208
- /** Deletes one bounded batch of the tombstoned tenant's data. Repeat until done is true. */
2209
- purgeTenant(request: PurgeTenantRequest, callback: (error: ServiceError | null, response: PurgeTenantResponse) => void): ClientUnaryCall;
2210
- purgeTenant(request: PurgeTenantRequest, metadata: Metadata, callback: (error: ServiceError | null, response: PurgeTenantResponse) => void): ClientUnaryCall;
2211
- purgeTenant(request: PurgeTenantRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: PurgeTenantResponse) => void): ClientUnaryCall;
2212
- describeTenant(request: DescribeTenantRequest, callback: (error: ServiceError | null, response: DescribeTenantResponse) => void): ClientUnaryCall;
2213
- describeTenant(request: DescribeTenantRequest, metadata: Metadata, callback: (error: ServiceError | null, response: DescribeTenantResponse) => void): ClientUnaryCall;
2214
- describeTenant(request: DescribeTenantRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: DescribeTenantResponse) => void): ClientUnaryCall;
2215
- }
2216
- export declare const TenantAdminServiceClient: {
2217
- new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): TenantAdminServiceClient;
2218
- service: typeof TenantAdminServiceService;
2380
+ export interface MatchingServiceServer extends UntypedServiceImplementation {
2381
+ /** Streams Worker output frames and a final result or dispatch error. */
2382
+ dispatchTask: handleServerStreamingCall<DispatchTaskRequest, DispatchTaskResponse>;
2383
+ /** Proxies a Worker's queue stream from its receiving instance to the queue owner. */
2384
+ forwardPollWorkerTask: handleBidiStreamingCall<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2385
+ }
2386
+ export interface MatchingServiceClient extends Client {
2387
+ /** Streams Worker output frames and a final result or dispatch error. */
2388
+ dispatchTask(request: DispatchTaskRequest, options?: Partial<CallOptions>): ClientReadableStream<DispatchTaskResponse>;
2389
+ dispatchTask(request: DispatchTaskRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<DispatchTaskResponse>;
2390
+ /** Proxies a Worker's queue stream from its receiving instance to the queue owner. */
2391
+ forwardPollWorkerTask(): ClientDuplexStream<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2392
+ forwardPollWorkerTask(options: Partial<CallOptions>): ClientDuplexStream<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2393
+ forwardPollWorkerTask(metadata: Metadata, options?: Partial<CallOptions>): ClientDuplexStream<PollWorkerTaskRequest, PollWorkerTaskResponse>;
2394
+ }
2395
+ export declare const MatchingServiceClient: {
2396
+ new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): MatchingServiceClient;
2397
+ service: typeof MatchingServiceService;
2219
2398
  serviceName: string;
2220
2399
  };
2400
+ /** Server-internal only (interpreter CAN activity → API). Not SDK-facing. */
2221
2401
  export type InternalServiceService = typeof InternalServiceService;
2222
2402
  export declare const InternalServiceService: {
2223
2403
  readonly dumpFlowForContinueAsNew: {