openmates 0.14.8-alpha.5 → 0.14.8-alpha.6

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.
@@ -3003,6 +3003,10 @@ async function buildTaskEventSystemMessage(params) {
3003
3003
  if (params.event.task_update_job_id) message.task_update_job_id = params.event.task_update_job_id;
3004
3004
  return message;
3005
3005
  }
3006
+ function taskUpdateJobBelongsToActiveTurn(job, activeChatId, taskEvents) {
3007
+ if (taskEvents.some((event) => event.task_update_job_id === job.job_id)) return true;
3008
+ return !job.chat_id || job.chat_id === activeChatId;
3009
+ }
3006
3010
  function buildTaskUpdateJobPersistPayload(params) {
3007
3011
  const encryptedTaskPayload = pruneAbsentTaskPersistFields(params.encryptedTaskPayload);
3008
3012
  assertTaskPersistPayloadEncrypted(encryptedTaskPayload);
@@ -5286,8 +5290,8 @@ var OpenMatesClient = class _OpenMatesClient {
5286
5290
  }
5287
5291
  };
5288
5292
  const persistPendingTaskUpdateJobs = async (jobs, events) => {
5289
- const persistedJobIds = /* @__PURE__ */ new Set();
5290
- if (jobs.length === 0) return persistedJobIds;
5293
+ const handledJobIds = /* @__PURE__ */ new Set();
5294
+ if (jobs.length === 0) return handledJobIds;
5291
5295
  const masterKey = this.getMasterKeyBytes();
5292
5296
  let decryptedTasksCache = null;
5293
5297
  const eventByJobId = new Map(events.map((event) => [event.task_update_job_id, event]));
@@ -5360,6 +5364,10 @@ var OpenMatesClient = class _OpenMatesClient {
5360
5364
  }
5361
5365
  };
5362
5366
  for (const job of jobs) {
5367
+ if (!taskUpdateJobBelongsToActiveTurn(job, chatId, events)) {
5368
+ handledJobIds.add(job.job_id);
5369
+ continue;
5370
+ }
5363
5371
  const claimPromise = ws.waitForMessage(
5364
5372
  "task_update_job_claimed",
5365
5373
  (payload) => payload.job_id === job.job_id,
@@ -5406,7 +5414,7 @@ var OpenMatesClient = class _OpenMatesClient {
5406
5414
  await persistEncryptedSystemMessage(eventMessage, sourceChatId);
5407
5415
  persistedTaskEventIds.add(event.event_id);
5408
5416
  await confirmTaskEventPersisted();
5409
- persistedJobIds.add(job.job_id);
5417
+ handledJobIds.add(job.job_id);
5410
5418
  continue;
5411
5419
  }
5412
5420
  if (!claim.lease_token || !Number.isSafeInteger(claim.lease_generation)) {
@@ -5442,6 +5450,7 @@ var OpenMatesClient = class _OpenMatesClient {
5442
5450
  });
5443
5451
  encryptedTaskPayload = {
5444
5452
  ...patch,
5453
+ version: claim.expected_task_version,
5445
5454
  updated_at: typeof safeMetadata.updated_at === "number" ? safeMetadata.updated_at : patch.updated_at
5446
5455
  };
5447
5456
  if (typeof safeMetadata.primary_chat_id === "string") {
@@ -5470,10 +5479,10 @@ var OpenMatesClient = class _OpenMatesClient {
5470
5479
  await persistEncryptedSystemMessage(eventMessage, sourceChatId);
5471
5480
  persistedTaskEventIds.add(event.event_id);
5472
5481
  await confirmTaskEventPersisted();
5473
- persistedJobIds.add(job.job_id);
5482
+ handledJobIds.add(job.job_id);
5474
5483
  }
5475
5484
  clearSyncCache();
5476
- return persistedJobIds;
5485
+ return handledJobIds;
5477
5486
  };
5478
5487
  const streamOpts = {
5479
5488
  onStream: params.onStream,
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getExtForLang,
4
4
  serializeToYaml
5
- } from "./chunk-MF5DW7MD.js";
5
+ } from "./chunk-7DQIT6E2.js";
6
6
  import "./chunk-AXNRPVLE.js";
7
7
  export {
8
8
  getExtForLang,
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ import {
29
29
  renderSupportInfo,
30
30
  serializeToYaml,
31
31
  unwrapApiKeyMasterKey
32
- } from "./chunk-MF5DW7MD.js";
32
+ } from "./chunk-7DQIT6E2.js";
33
33
  import "./chunk-AXNRPVLE.js";
34
34
 
35
35
  // src/generated/appSkills.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openmates",
3
- "version": "0.14.8-alpha.5",
3
+ "version": "0.14.8-alpha.6",
4
4
  "description": "OpenMates CLI and SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",