@whittlelabs/sifter 0.19.1 → 0.20.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.
Files changed (3) hide show
  1. package/bin.js +23 -11
  2. package/bin.js.map +2 -2
  3. package/package.json +1 -1
package/bin.js CHANGED
@@ -15639,26 +15639,38 @@ var require_subscribe = __commonJS({
15639
15639
  return;
15640
15640
  }
15641
15641
  const controller = new AbortController();
15642
- let deadlineTimer = null;
15643
- if (dispatch.deadline) {
15644
- const ms = new Date(dispatch.deadline).getTime() - Date.now() - 3e4;
15642
+ let quietTimer = null;
15643
+ const quietWindowMs = dispatch.deadline ? new Date(dispatch.deadline).getTime() - Date.now() : null;
15644
+ const armQuietTimer = () => {
15645
+ if (quietWindowMs === null)
15646
+ return;
15647
+ if (quietTimer !== null)
15648
+ clearTimeout(quietTimer);
15649
+ const ms = quietWindowMs - 3e4;
15645
15650
  if (ms > 0) {
15646
- deadlineTimer = setTimeout(() => controller.abort(), ms);
15651
+ quietTimer = setTimeout(() => controller.abort(), ms);
15647
15652
  } else {
15648
15653
  controller.abort();
15649
15654
  }
15650
- }
15655
+ };
15656
+ armQuietTimer();
15657
+ const activity = {
15658
+ record: () => {
15659
+ if (!controller.signal.aborted)
15660
+ armQuietTimer();
15661
+ }
15662
+ };
15651
15663
  let result;
15652
15664
  try {
15653
- result = await opts.onJob(dispatch, controller.signal);
15665
+ result = await opts.onJob(dispatch, controller.signal, activity);
15654
15666
  } catch (err) {
15655
15667
  result = {
15656
15668
  status: "failed",
15657
15669
  reason: `onJob threw: ${err instanceof Error ? err.message : String(err)}`
15658
15670
  };
15659
15671
  } finally {
15660
- if (deadlineTimer !== null)
15661
- clearTimeout(deadlineTimer);
15672
+ if (quietTimer !== null)
15673
+ clearTimeout(quietTimer);
15662
15674
  }
15663
15675
  try {
15664
15676
  for (const output of result.outputs ?? []) {
@@ -21267,7 +21279,7 @@ var require_shuttle = __commonJS({
21267
21279
  error: err instanceof Error ? err.message : String(err)
21268
21280
  });
21269
21281
  };
21270
- const onJob = async (dispatch, signal) => {
21282
+ const onJob = async (dispatch, signal, activity) => {
21271
21283
  const jobId = dispatch.job.id;
21272
21284
  const attendanceId = dispatch.attendanceId;
21273
21285
  const startedAt = Date.now();
@@ -21305,7 +21317,7 @@ var require_shuttle = __commonJS({
21305
21317
  const dispatchStartedAt = Date.now();
21306
21318
  const executionCtx = {
21307
21319
  reportProgress: (channel, frames) => {
21308
- void jobsClient.postProgress(jobId, { channel, frames }).catch(() => {
21320
+ void jobsClient.postProgress(jobId, { channel, frames }).then(() => activity.record()).catch(() => {
21309
21321
  });
21310
21322
  }
21311
21323
  };
@@ -21995,7 +22007,7 @@ var import_path = require("path");
21995
22007
  var import_promises = require("fs/promises");
21996
22008
  var import_yaml = __toESM(require_dist());
21997
22009
  var import_shuttle = __toESM(require_dist5());
21998
- var buildVersion = true ? "0.19.1" : pkg.version;
22010
+ var buildVersion = true ? "0.20.0" : pkg.version;
21999
22011
  var sifterBrand = {
22000
22012
  product: {
22001
22013
  id: "sifter",