Skip to content

Commit ab76e93

Browse files
committed
activity reset
1 parent 544e2b2 commit ab76e93

File tree

8 files changed

+290
-83
lines changed

8 files changed

+290
-83
lines changed

packages/client/src/async-completion-client.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ export class ActivityCancelledError extends Error {}
4242
@SymbolBasedInstanceOfError('ActivityPausedError')
4343
export class ActivityPausedError extends Error {}
4444

45+
/**
46+
* Thrown by {@link AsyncCompletionClient.heartbeat} when the reporting Activity
47+
* has been reset.
48+
*/
49+
@SymbolBasedInstanceOfError('ActivityResetError')
50+
export class ActivityResetError extends Error {}
51+
4552
/**
4653
* Options used to configure {@link AsyncCompletionClient}
4754
*/
@@ -219,6 +226,7 @@ export class AsyncCompletionClient extends BaseClient {
219226
const payloads = await encodeToPayloads(this.dataConverter, details);
220227
let cancelRequested = false;
221228
let paused = false;
229+
let reset = false;
222230
try {
223231
if (taskTokenOrFullActivityId instanceof Uint8Array) {
224232
const response = await this.workflowService.recordActivityTaskHeartbeat({
@@ -229,6 +237,7 @@ export class AsyncCompletionClient extends BaseClient {
229237
});
230238
cancelRequested = !!response.cancelRequested;
231239
paused = !!response.activityPaused;
240+
reset = !!response.activityReset;
232241
} else {
233242
const response = await this.workflowService.recordActivityTaskHeartbeatById({
234243
identity: this.options.identity,
@@ -238,13 +247,17 @@ export class AsyncCompletionClient extends BaseClient {
238247
});
239248
cancelRequested = !!response.cancelRequested;
240249
paused = !!response.activityPaused;
250+
reset = !!response.activityReset;
241251
}
242252
} catch (err) {
243253
this.handleError(err);
244254
}
245255
if (cancelRequested) {
246256
throw new ActivityCancelledError('cancelled');
247257
}
258+
if (reset) {
259+
throw new ActivityResetError('reset');
260+
}
248261
if (paused) {
249262
throw new ActivityPausedError('paused');
250263
}

0 commit comments

Comments
 (0)