openmates 0.14.8-alpha.5 → 0.14.8-alpha.7
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/dist/{chunk-MF5DW7MD.js → chunk-S2QEBRF3.js} +14 -5
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -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
|
+
void activeChatId;
|
|
3008
|
+
return taskEvents.some((event) => event.task_update_job_id === job.job_id);
|
|
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
|
|
5290
|
-
if (jobs.length === 0) return
|
|
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
|
-
|
|
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
|
-
|
|
5482
|
+
handledJobIds.add(job.job_id);
|
|
5474
5483
|
}
|
|
5475
5484
|
clearSyncCache();
|
|
5476
|
-
return
|
|
5485
|
+
return handledJobIds;
|
|
5477
5486
|
};
|
|
5478
5487
|
const streamOpts = {
|
|
5479
5488
|
onStream: params.onStream,
|
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED