@automagik/omni 2.260503.2 → 2.260504.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.
package/dist/index.js CHANGED
@@ -34380,13 +34380,15 @@ class AutomationEngine {
34380
34380
  const payloadInstanceId = payload?.instanceId ?? event.metadata.instanceId;
34381
34381
  if (!chatId || !payloadInstanceId)
34382
34382
  return false;
34383
+ const eventSequenceIndex = typeof payload?.sequenceIndex === "number" ? payload.sequenceIndex : null;
34383
34384
  try {
34384
- const verdict = await this.deps.staleIdleTimeoutGate(chatId, payloadInstanceId);
34385
+ const verdict = await this.deps.staleIdleTimeoutGate(chatId, payloadInstanceId, eventSequenceIndex);
34385
34386
  if (verdict.skip) {
34386
34387
  logger4.info("Skipping stale chat.idle_timeout event", {
34387
34388
  eventId: event.id,
34388
34389
  chatId,
34389
34390
  instanceId: payloadInstanceId,
34391
+ eventSequenceIndex,
34390
34392
  reason: verdict.reason ?? "unknown"
34391
34393
  });
34392
34394
  return true;
@@ -114209,7 +114211,7 @@ import { fileURLToPath } from "url";
114209
114211
  // package.json
114210
114212
  var package_default = {
114211
114213
  name: "@automagik/omni",
114212
- version: "2.260503.2",
114214
+ version: "2.260504.1",
114213
114215
  description: "LLM-optimized CLI for Omni",
114214
114216
  type: "module",
114215
114217
  bin: {
@@ -28543,13 +28543,15 @@ class AutomationEngine {
28543
28543
  const payloadInstanceId = payload?.instanceId ?? event.metadata.instanceId;
28544
28544
  if (!chatId || !payloadInstanceId)
28545
28545
  return false;
28546
+ const eventSequenceIndex = typeof payload?.sequenceIndex === "number" ? payload.sequenceIndex : null;
28546
28547
  try {
28547
- const verdict = await this.deps.staleIdleTimeoutGate(chatId, payloadInstanceId);
28548
+ const verdict = await this.deps.staleIdleTimeoutGate(chatId, payloadInstanceId, eventSequenceIndex);
28548
28549
  if (verdict.skip) {
28549
28550
  logger4.info("Skipping stale chat.idle_timeout event", {
28550
28551
  eventId: event.id,
28551
28552
  chatId,
28552
28553
  instanceId: payloadInstanceId,
28554
+ eventSequenceIndex,
28553
28555
  reason: verdict.reason ?? "unknown"
28554
28556
  });
28555
28557
  return true;
@@ -224686,7 +224688,7 @@ var init_sentry_scrub = __esm(() => {
224686
224688
  var require_package8 = __commonJS((exports, module) => {
224687
224689
  module.exports = {
224688
224690
  name: "@omni/api",
224689
- version: "2.260503.2",
224691
+ version: "2.260504.1",
224690
224692
  type: "module",
224691
224693
  exports: {
224692
224694
  ".": {
@@ -233856,7 +233858,7 @@ var init_src5 = __esm(() => {
233856
233858
  init_schema2();
233857
233859
  });
233858
233860
 
233859
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/settings-schema.cjs
233861
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/settings-schema.cjs
233860
233862
  var require_settings_schema = __commonJS((exports, module) => {
233861
233863
  var SCHEMA_VERSION = 1;
233862
233864
  var GUC_NAME_REGEX = /^[a-z][a-z0-9_]*$/;
@@ -234213,7 +234215,7 @@ var require_settings_schema = __commonJS((exports, module) => {
234213
234215
  };
234214
234216
  });
234215
234217
 
234216
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/settings-loader.cjs
234218
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/settings-loader.cjs
234217
234219
  var require_settings_loader = __commonJS((exports, module) => {
234218
234220
  var crypto5 = __require("crypto");
234219
234221
  var fs9 = __require("fs");
@@ -234363,7 +234365,7 @@ var require_settings_loader = __commonJS((exports, module) => {
234363
234365
  };
234364
234366
  });
234365
234367
 
234366
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/settings-pg-args.cjs
234368
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/settings-pg-args.cjs
234367
234369
  var require_settings_pg_args = __commonJS((exports, module) => {
234368
234370
  var {
234369
234371
  GUC_NAME_REGEX,
@@ -234440,7 +234442,7 @@ var require_settings_pg_args = __commonJS((exports, module) => {
234440
234442
  };
234441
234443
  });
234442
234444
 
234443
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/postgres.js
234445
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/postgres.js
234444
234446
  import { EventEmitter as EventEmitter4 } from "events";
234445
234447
  import os6 from "os";
234446
234448
  import path2 from "path";
@@ -235465,7 +235467,7 @@ Output: ${startupOutput}`));
235465
235467
  };
235466
235468
  });
235467
235469
 
235468
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/logger.js
235470
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/logger.js
235469
235471
  function formatTime2() {
235470
235472
  const now = new Date;
235471
235473
  return `${String(now.getHours()).padStart(2, "0")}:${String(now.getMinutes()).padStart(2, "0")}:${String(now.getSeconds()).padStart(2, "0")}`;
@@ -235529,7 +235531,7 @@ var init_logger4 = __esm(() => {
235529
235531
  LEVELS = { debug: 10, info: 20, warn: 30, error: 40 };
235530
235532
  });
235531
235533
 
235532
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/sync.js
235534
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/sync.js
235533
235535
  var {SQL: SQL2 } = globalThis.Bun;
235534
235536
  function matchesPattern2(dbName, patterns) {
235535
235537
  if (!patterns || patterns.length === 0)
@@ -235746,7 +235748,7 @@ var init_sync = __esm(() => {
235746
235748
  init_logger4();
235747
235749
  });
235748
235750
 
235749
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/pg-wire.js
235751
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/pg-wire.js
235750
235752
  import { createHash as createHash7 } from "crypto";
235751
235753
 
235752
235754
  class PgWireClient {
@@ -236318,7 +236320,7 @@ var init_pg_wire = __esm(() => {
236318
236320
  };
236319
236321
  });
236320
236322
 
236321
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/restore.js
236323
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/restore.js
236322
236324
  function matchesPattern3(dbName, patterns) {
236323
236325
  if (!patterns || patterns.length === 0)
236324
236326
  return true;
@@ -236671,7 +236673,7 @@ var init_restore = __esm(() => {
236671
236673
  init_logger4();
236672
236674
  });
236673
236675
 
236674
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/dashboard.js
236676
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/dashboard.js
236675
236677
  import { readFileSync as readFileSync3 } from "fs";
236676
236678
  import { join as join14, dirname as dirname5 } from "path";
236677
236679
  import { fileURLToPath } from "url";
@@ -236815,7 +236817,7 @@ var init_dashboard = __esm(() => {
236815
236817
  };
236816
236818
  });
236817
236819
 
236818
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/protocol.js
236820
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/protocol.js
236819
236821
  function parseStartupMessage(data, fastPath = true) {
236820
236822
  const length = data.readInt32BE(0);
236821
236823
  const version4 = data.readInt32BE(4);
@@ -236968,7 +236970,7 @@ function buildErrorResponse({ severity = "FATAL", sqlstate, message: message2 })
236968
236970
  var PROTOCOL_VERSION_3 = 196608;
236969
236971
  var init_protocol = () => {};
236970
236972
 
236971
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/router.js
236973
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/router.js
236972
236974
  import fs10 from "fs";
236973
236975
  import { EventEmitter as EventEmitter5 } from "events";
236974
236976
  function flushPending(target, pending) {
@@ -237304,7 +237306,7 @@ var init_router = __esm(() => {
237304
237306
  };
237305
237307
  });
237306
237308
 
237307
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/stats-collector.js
237309
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/stats-collector.js
237308
237310
  class StatsCollector {
237309
237311
  constructor(options = {}) {
237310
237312
  this.pgManager = options.pgManager;
@@ -237623,7 +237625,7 @@ class StatsCollector {
237623
237625
  }
237624
237626
  var CPU_SAMPLE_MIN_INTERVAL_MS = 100, PROC_DISKSTATS_MIN_FIELDS = 14;
237625
237627
 
237626
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/stats-dashboard.js
237628
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/stats-dashboard.js
237627
237629
  class StatsDashboard {
237628
237630
  constructor(options = {}) {
237629
237631
  this.enabled = process.stdout.isTTY && !process.env.NO_COLOR;
@@ -237887,7 +237889,7 @@ var init_stats_dashboard = __esm(() => {
237887
237889
  };
237888
237890
  });
237889
237891
 
237890
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/audit.js
237892
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/audit.js
237891
237893
  import fs11 from "fs";
237892
237894
  import os7 from "os";
237893
237895
  import path3 from "path";
@@ -237983,7 +237985,7 @@ var init_audit = __esm(() => {
237983
237985
  });
237984
237986
  });
237985
237987
 
237986
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/fingerprint.js
237988
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/fingerprint.js
237987
237989
  import crypto6 from "crypto";
237988
237990
  import { execFileSync } from "child_process";
237989
237991
  import fs12 from "fs";
@@ -238262,7 +238264,7 @@ var init_fingerprint = __esm(() => {
238262
238264
  init_audit();
238263
238265
  });
238264
238266
 
238265
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/tokens.js
238267
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/tokens.js
238266
238268
  import crypto7 from "crypto";
238267
238269
  function mintToken() {
238268
238270
  const id = crypto7.randomBytes(TOKEN_ID_BYTES).toString("hex");
@@ -238316,7 +238318,7 @@ var init_tokens = __esm(() => {
238316
238318
  FP_RE = /^[0-9a-f]{12}$/;
238317
238319
  });
238318
238320
 
238319
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/control-db.js
238321
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/control-db.js
238320
238322
  function query(client, text3, params = [], opts = {}) {
238321
238323
  if (client.supportsQueryOptions && opts && Object.keys(opts).length > 0) {
238322
238324
  return client.query(text3, params, opts);
@@ -238453,7 +238455,7 @@ var init_control_db = __esm(() => {
238453
238455
  init_tokens();
238454
238456
  });
238455
238457
 
238456
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/admin-client.js
238458
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/admin-client.js
238457
238459
  var {SQL: SQL3 } = globalThis.Bun;
238458
238460
  import fs13 from "fs";
238459
238461
  import path5 from "path";
@@ -238596,7 +238598,7 @@ function removeAdminDiscovery(controlSocketDir) {
238596
238598
  }
238597
238599
  var init_admin_client = () => {};
238598
238600
 
238599
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/tenancy.js
238601
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/tenancy.js
238600
238602
  function sanitizeName(name) {
238601
238603
  const raw = (typeof name === "string" ? name : "").toLowerCase();
238602
238604
  const collapsed = raw.replace(/[^a-z0-9]+/g, "_");
@@ -238620,7 +238622,7 @@ function isFingerprintEnforcementDisabled(env2 = process.env) {
238620
238622
  }
238621
238623
  var KILL_SWITCH_ENV = "PGSERVE_DISABLE_FINGERPRINT_ENFORCEMENT", NAME_TRUNCATE = 30, MAX_DB_IDENT = 63;
238622
238624
 
238623
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/daemon-shared.js
238625
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/daemon-shared.js
238624
238626
  function flushPending2(target, pending) {
238625
238627
  const written = target.write(pending);
238626
238628
  if (written === pending.byteLength)
@@ -238630,7 +238632,7 @@ function flushPending2(target, pending) {
238630
238632
  return pending.subarray(written);
238631
238633
  }
238632
238634
 
238633
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/daemon-control.js
238635
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/daemon-control.js
238634
238636
  import fs14 from "fs";
238635
238637
  function attachControlHandlers(PgserveDaemon) {
238636
238638
  PgserveDaemon.prototype.handleSocketOpen = handleSocketOpen;
@@ -238965,7 +238967,7 @@ var init_daemon_control = __esm(() => {
238965
238967
  MAX_STARTUP_BUFFER_SIZE2 = 1024 * 1024;
238966
238968
  });
238967
238969
 
238968
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/daemon-tcp.js
238970
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/daemon-tcp.js
238969
238971
  import fs15 from "fs";
238970
238972
  function attachTcpHandlers(PgserveDaemon) {
238971
238973
  PgserveDaemon.prototype.bindTcpListener = bindTcpListener;
@@ -239234,7 +239236,7 @@ var init_daemon_tcp = __esm(() => {
239234
239236
  MAX_STARTUP_BUFFER_SIZE3 = 1024 * 1024;
239235
239237
  });
239236
239238
 
239237
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/gc.js
239239
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/gc.js
239238
239240
  function defaultIsProcessAlive(pid) {
239239
239241
  if (!Number.isInteger(pid) || pid <= 0)
239240
239242
  return false;
@@ -239450,7 +239452,7 @@ var init_gc = __esm(() => {
239450
239452
  HOURLY_MS = 60 * 60 * 1000;
239451
239453
  });
239452
239454
 
239453
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/daemon.js
239455
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/daemon.js
239454
239456
  import fs16 from "fs";
239455
239457
  import path6 from "path";
239456
239458
  import { EventEmitter as EventEmitter6 } from "events";
@@ -239947,7 +239949,7 @@ var init_daemon = __esm(() => {
239947
239949
  attachTcpHandlers(PgserveDaemon);
239948
239950
  });
239949
239951
 
239950
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/sdk.js
239952
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/sdk.js
239951
239953
  import { spawn as spawn4 } from "child_process";
239952
239954
  import fs17 from "fs";
239953
239955
  import path7 from "path";
@@ -240070,7 +240072,7 @@ var init_sdk4 = __esm(() => {
240070
240072
  __dirname2 = path7.dirname(fileURLToPath2(import.meta.url));
240071
240073
  });
240072
240074
 
240073
- // ../../node_modules/.bun/pgserve@2.2.0/node_modules/pgserve/src/index.js
240075
+ // ../../node_modules/.bun/pgserve@2.2.3/node_modules/pgserve/src/index.js
240074
240076
  var exports_src2 = {};
240075
240077
  __export(exports_src2, {
240076
240078
  stopDaemon: () => stopDaemon,
@@ -284187,7 +284189,7 @@ class FollowUpLifecycleService {
284187
284189
  const created = row?.xmax === "0";
284188
284190
  return { created };
284189
284191
  }
284190
- async evaluateIdleTimeoutFreshness(chatId, instanceId) {
284192
+ async evaluateIdleTimeoutFreshness(chatId, instanceId, eventSequenceIndex) {
284191
284193
  if (await this.isInActiveCloseState(chatId, instanceId)) {
284192
284194
  return { skip: true, reason: "chat_closed" };
284193
284195
  }
@@ -284195,20 +284197,28 @@ class FollowUpLifecycleService {
284195
284197
  if (row?.disarmReason) {
284196
284198
  return { skip: true, reason: `disarmed_${row.disarmReason}` };
284197
284199
  }
284200
+ if (row !== null && typeof eventSequenceIndex === "number" && typeof row.sequenceIndex === "number" && row.sequenceIndex > eventSequenceIndex) {
284201
+ return {
284202
+ skip: true,
284203
+ reason: `sequence_advanced_row_at_${row.sequenceIndex}_event_${eventSequenceIndex}`
284204
+ };
284205
+ }
284198
284206
  return { skip: false };
284199
284207
  }
284200
284208
  async readExistingRow(chatId, instanceId) {
284201
284209
  const [row] = await this.db.select({
284202
284210
  disarmReason: chatFollowUpState.disarmReason,
284203
284211
  disarmedAt: chatFollowUpState.disarmedAt,
284204
- lastInboundCustomerMessageAt: chatFollowUpState.lastInboundCustomerMessageAt
284212
+ lastInboundCustomerMessageAt: chatFollowUpState.lastInboundCustomerMessageAt,
284213
+ sequenceIndex: chatFollowUpState.sequenceIndex
284205
284214
  }).from(chatFollowUpState).where(and2(eq(chatFollowUpState.chatId, chatId), eq(chatFollowUpState.instanceId, instanceId))).limit(1);
284206
284215
  if (!row)
284207
284216
  return null;
284208
284217
  return {
284209
284218
  disarmReason: row.disarmReason ?? null,
284210
284219
  disarmedAt: row.disarmedAt ?? null,
284211
- lastInboundCustomerMessageAt: row.lastInboundCustomerMessageAt ?? null
284220
+ lastInboundCustomerMessageAt: row.lastInboundCustomerMessageAt ?? null,
284221
+ sequenceIndex: row.sequenceIndex
284212
284222
  };
284213
284223
  }
284214
284224
  async disarmActive(chatId, instanceId, reason, at, lastInboundCustomerMessageAt) {
@@ -309708,8 +309718,8 @@ async function setupEventBusServices(eventBus, services, db3) {
309708
309718
  }
309709
309719
  };
309710
309720
  },
309711
- staleIdleTimeoutGate: async (chatId, instanceId) => {
309712
- return services.followUpLifecycle.evaluateIdleTimeoutFreshness(chatId, instanceId);
309721
+ staleIdleTimeoutGate: async (chatId, instanceId, eventSequenceIndex) => {
309722
+ return services.followUpLifecycle.evaluateIdleTimeoutFreshness(chatId, instanceId, eventSequenceIndex);
309713
309723
  }
309714
309724
  });
309715
309725
  } catch (error2) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automagik/omni",
3
- "version": "2.260503.2",
3
+ "version": "2.260504.1",
4
4
  "description": "LLM-optimized CLI for Omni",
5
5
  "type": "module",
6
6
  "bin": {
@@ -51,15 +51,15 @@
51
51
  "qrcode-terminal": "^0.12.0"
52
52
  },
53
53
  "devDependencies": {
54
- "@omni/api": "2.260503.1",
55
- "@omni/channel-discord": "2.260503.1",
56
- "@omni/channel-gupshup": "2.260503.1",
57
- "@omni/channel-sdk": "2.260503.1",
58
- "@omni/channel-slack": "2.260503.1",
59
- "@omni/channel-telegram": "2.260503.1",
60
- "@omni/channel-whatsapp": "2.260503.1",
61
- "@omni/core": "2.260503.1",
62
- "@omni/sdk": "2.260503.1",
54
+ "@omni/api": "2.260503.2",
55
+ "@omni/channel-discord": "2.260503.2",
56
+ "@omni/channel-gupshup": "2.260503.2",
57
+ "@omni/channel-sdk": "2.260503.2",
58
+ "@omni/channel-slack": "2.260503.2",
59
+ "@omni/channel-telegram": "2.260503.2",
60
+ "@omni/channel-whatsapp": "2.260503.2",
61
+ "@omni/core": "2.260503.2",
62
+ "@omni/sdk": "2.260503.2",
63
63
  "@types/node": "^22.10.3",
64
64
  "@types/qrcode-terminal": "^0.12.2",
65
65
  "typescript": "^5.7.3"