@automagik/omni 2.260430.4 → 2.260430.5

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
@@ -113981,7 +113981,7 @@ import { fileURLToPath } from "url";
113981
113981
  // package.json
113982
113982
  var package_default = {
113983
113983
  name: "@automagik/omni",
113984
- version: "2.260430.4",
113984
+ version: "2.260430.5",
113985
113985
  description: "LLM-optimized CLI for Omni",
113986
113986
  type: "module",
113987
113987
  bin: {
@@ -224556,7 +224556,7 @@ var init_sentry_scrub = __esm(() => {
224556
224556
  var require_package8 = __commonJS((exports, module) => {
224557
224557
  module.exports = {
224558
224558
  name: "@omni/api",
224559
- version: "2.260430.4",
224559
+ version: "2.260430.5",
224560
224560
  type: "module",
224561
224561
  exports: {
224562
224562
  ".": {
@@ -241417,6 +241417,17 @@ var init_scope_enforcer = __esm(() => {
241417
241417
  });
241418
241418
 
241419
241419
  // ../api/src/middleware/require-signed-instance.ts
241420
+ function isUnlockOnlyBody(body) {
241421
+ if (!body || typeof body !== "object" || Array.isArray(body))
241422
+ return false;
241423
+ const obj = body;
241424
+ const keys = Object.keys(obj);
241425
+ if (keys.length !== 1)
241426
+ return false;
241427
+ if (keys[0] !== "requireGenieSignature")
241428
+ return false;
241429
+ return obj.requireGenieSignature === false;
241430
+ }
241420
241431
  async function safeReadJsonBody2(c) {
241421
241432
  const method = c.req.method.toUpperCase();
241422
241433
  if (method === "GET" || method === "DELETE" || method === "HEAD" || method === "OPTIONS")
@@ -241462,6 +241473,13 @@ var init_require_signed_instance = __esm(() => {
241462
241473
  if (signedBy) {
241463
241474
  return next();
241464
241475
  }
241476
+ if (method === "PATCH" && isUnlockOnlyBody(body)) {
241477
+ log61.info("allowing unlock-only PATCH on require_genie_signature instance", {
241478
+ instanceId: instance4.id,
241479
+ apiKeyId: c.get("apiKey")?.id
241480
+ });
241481
+ return next();
241482
+ }
241465
241483
  const apiKey = c.get("apiKey");
241466
241484
  log61.warn("rejecting unsigned request to require_genie_signature instance", {
241467
241485
  instanceId: instance4.id,
@@ -241472,7 +241490,7 @@ var init_require_signed_instance = __esm(() => {
241472
241490
  return c.json({
241473
241491
  error: {
241474
241492
  code: "GENIE_SIGNATURE_REQUIRED",
241475
- message: `Instance ${instance4.id} requires a verified X-Genie-Signature; bearer-only requests are rejected. Sign with \`genie omni handshake\` + per-request signing, or remove the requirement via \`omni instances update ${instance4.id} --no-require-genie-signature\`.`,
241493
+ message: `Instance ${instance4.id} requires a verified X-Genie-Signature; bearer-only requests are rejected. Sign with \`genie omni handshake\` + per-request signing, or unlock with PATCH /api/v2/instances/${instance4.id} body {"requireGenieSignature": false} (always allowed via bearer to prevent operator lockout).`,
241476
241494
  instance: instance4.id
241477
241495
  }
241478
241496
  }, 401);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automagik/omni",
3
- "version": "2.260430.4",
3
+ "version": "2.260430.5",
4
4
  "description": "LLM-optimized CLI for Omni",
5
5
  "type": "module",
6
6
  "bin": {
@@ -50,15 +50,15 @@
50
50
  "qrcode-terminal": "^0.12.0"
51
51
  },
52
52
  "devDependencies": {
53
- "@omni/api": "2.260430.3",
54
- "@omni/channel-discord": "2.260430.3",
55
- "@omni/channel-gupshup": "2.260430.3",
56
- "@omni/channel-sdk": "2.260430.3",
57
- "@omni/channel-slack": "2.260430.3",
58
- "@omni/channel-telegram": "2.260430.3",
59
- "@omni/channel-whatsapp": "2.260430.3",
60
- "@omni/core": "2.260430.3",
61
- "@omni/sdk": "2.260430.3",
53
+ "@omni/api": "2.260430.4",
54
+ "@omni/channel-discord": "2.260430.4",
55
+ "@omni/channel-gupshup": "2.260430.4",
56
+ "@omni/channel-sdk": "2.260430.4",
57
+ "@omni/channel-slack": "2.260430.4",
58
+ "@omni/channel-telegram": "2.260430.4",
59
+ "@omni/channel-whatsapp": "2.260430.4",
60
+ "@omni/core": "2.260430.4",
61
+ "@omni/sdk": "2.260430.4",
62
62
  "@types/node": "^22.10.3",
63
63
  "@types/qrcode-terminal": "^0.12.2",
64
64
  "typescript": "^5.7.3"