signetai 0.211.9 → 0.211.16

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/mcp-stdio.js CHANGED
@@ -24405,24 +24405,85 @@ ${end.comment}` : end.comment;
24405
24405
  ];
24406
24406
  });
24407
24407
 
24408
- // ../../platform/daemon/src/logger.ts
24409
- import { EventEmitter } from "node:events";
24408
+ // ../../platform/daemon/src/native-runtime-assets.ts
24409
+ import { createHash as createHash3 } from "node:crypto";
24410
24410
  import {
24411
- appendFileSync,
24411
+ chmodSync as chmodSync2,
24412
24412
  existsSync,
24413
24413
  mkdirSync,
24414
+ mkdtempSync,
24414
24415
  readFileSync,
24415
24416
  readdirSync,
24416
24417
  renameSync as renameSync2,
24418
+ rmSync,
24419
+ unlinkSync as unlinkSync2,
24420
+ writeFileSync
24421
+ } from "node:fs";
24422
+ import { tmpdir } from "node:os";
24423
+ import { dirname as dirname2, join as join3 } from "node:path";
24424
+ function nativeRuntimeAssets() {
24425
+ return globalThis.__SIGNET_NATIVE_RUNTIME_ASSETS__ ?? {};
24426
+ }
24427
+ function resolveEmbeddedWorkerPath(name) {
24428
+ const worker = (nativeRuntimeAssets().workers ?? []).find((asset) => asset.name === name);
24429
+ if (!worker)
24430
+ return null;
24431
+ const hash2 = createHash3("sha256").update(worker.contentBase64).digest("hex").slice(0, 16);
24432
+ const dir = join3(tmpdir(), "signet-native-workers");
24433
+ const path = join3(dir, `${name.replace(/[^a-zA-Z0-9_.-]/g, "_")}-${hash2}.mjs`);
24434
+ mkdirSync(dir, { recursive: true });
24435
+ if (!existsSync(path)) {
24436
+ writeFileSync(path, Buffer.from(worker.contentBase64, "base64"));
24437
+ }
24438
+ return path;
24439
+ }
24440
+ var init_native_runtime_assets = () => {};
24441
+
24442
+ // ../../platform/daemon/src/db-owner-protocol.ts
24443
+ var DB_OWNER_MAX_MAINTENANCE_DEADLINE_MS;
24444
+ var init_db_owner_protocol = __esm(() => {
24445
+ DB_OWNER_MAX_MAINTENANCE_DEADLINE_MS = 15 * 60000;
24446
+ });
24447
+
24448
+ // ../../platform/daemon/src/db-owner-client.ts
24449
+ var init_db_owner_client = __esm(() => {
24450
+ init_native_runtime_assets();
24451
+ init_db_owner_protocol();
24452
+ });
24453
+ // ../../platform/daemon/src/db-owner-maintenance.ts
24454
+ var MAX_FTS_RUN_BUDGET_MS;
24455
+ var init_db_owner_maintenance = __esm(() => {
24456
+ init_db_owner_client();
24457
+ init_db_owner_client();
24458
+ init_db_owner_protocol();
24459
+ MAX_FTS_RUN_BUDGET_MS = 10 * 60000;
24460
+ });
24461
+
24462
+ // ../../platform/daemon/src/db-owner-runtime.ts
24463
+ var init_db_owner_runtime = __esm(() => {
24464
+ init_db_accessor();
24465
+ init_db_owner_client();
24466
+ init_db_owner_maintenance();
24467
+ });
24468
+
24469
+ // ../../platform/daemon/src/logger.ts
24470
+ import { EventEmitter } from "node:events";
24471
+ import {
24472
+ appendFileSync,
24473
+ existsSync as existsSync2,
24474
+ mkdirSync as mkdirSync3,
24475
+ readFileSync as readFileSync3,
24476
+ readdirSync as readdirSync3,
24477
+ renameSync as renameSync4,
24417
24478
  statSync as statSync2,
24418
- unlinkSync as unlinkSync2
24479
+ unlinkSync as unlinkSync3
24419
24480
  } from "node:fs";
24420
24481
  import { homedir } from "node:os";
24421
- import { basename as basename2, dirname as dirname2, join as join3 } from "node:path";
24482
+ import { basename as basename2, dirname as dirname3, join as join5 } from "node:path";
24422
24483
  function resolveLoggerConfig(env = process.env, homeDir = homedir()) {
24423
24484
  const envLogFile = env.SIGNET_LOG_FILE?.trim();
24424
24485
  if (envLogFile) {
24425
- return { logFilePath: envLogFile, logDir: dirname2(envLogFile) };
24486
+ return { logFilePath: envLogFile, logDir: dirname3(envLogFile) };
24426
24487
  }
24427
24488
  const envLogDir = env.SIGNET_LOG_DIR?.trim();
24428
24489
  if (envLogDir) {
@@ -24430,7 +24491,7 @@ function resolveLoggerConfig(env = process.env, homeDir = homedir()) {
24430
24491
  }
24431
24492
  const signetPath = env.SIGNET_PATH?.trim();
24432
24493
  return {
24433
- logDir: join3(signetPath || join3(homeDir, ".agents"), ".daemon", "logs")
24494
+ logDir: join5(signetPath || join5(homeDir, ".agents"), ".daemon", "logs")
24434
24495
  };
24435
24496
  }
24436
24497
  var LOG_LEVELS, DEFAULT_CONFIG, Logger, logger;
@@ -24442,7 +24503,7 @@ var init_logger = __esm(() => {
24442
24503
  error: 3
24443
24504
  };
24444
24505
  DEFAULT_CONFIG = {
24445
- logDir: join3(homedir(), ".agents", ".daemon", "logs"),
24506
+ logDir: join5(homedir(), ".agents", ".daemon", "logs"),
24446
24507
  logFilePath: undefined,
24447
24508
  level: "info",
24448
24509
  maxFileSize: 10 * 1024 * 1024,
@@ -24469,9 +24530,9 @@ var init_logger = __esm(() => {
24469
24530
  }
24470
24531
  ensureLogDir() {
24471
24532
  try {
24472
- const dir = this.config.logFilePath ? dirname2(this.config.logFilePath) : this.config.logDir;
24473
- if (!existsSync(dir)) {
24474
- mkdirSync(dir, { recursive: true });
24533
+ const dir = this.config.logFilePath ? dirname3(this.config.logFilePath) : this.config.logDir;
24534
+ if (!existsSync2(dir)) {
24535
+ mkdirSync3(dir, { recursive: true });
24475
24536
  }
24476
24537
  } catch (e) {
24477
24538
  this.fileOutputEnabled = false;
@@ -24483,7 +24544,7 @@ var init_logger = __esm(() => {
24483
24544
  return this.config.logFilePath;
24484
24545
  }
24485
24546
  const date6 = new Date().toISOString().split("T")[0];
24486
- return join3(this.config.logDir, `signet-${date6}.log`);
24547
+ return join5(this.config.logDir, `signet-${date6}.log`);
24487
24548
  }
24488
24549
  get logFilePath() {
24489
24550
  return this.currentLogFile;
@@ -24525,7 +24586,7 @@ var init_logger = __esm(() => {
24525
24586
  return [];
24526
24587
  }
24527
24588
  if (this.config.logFilePath) {
24528
- if (!existsSync(this.config.logFilePath))
24589
+ if (!existsSync2(this.config.logFilePath))
24529
24590
  return [];
24530
24591
  return [
24531
24592
  {
@@ -24534,11 +24595,11 @@ var init_logger = __esm(() => {
24534
24595
  }
24535
24596
  ];
24536
24597
  }
24537
- if (!existsSync(this.config.logDir))
24598
+ if (!existsSync2(this.config.logDir))
24538
24599
  return [];
24539
- return readdirSync(this.config.logDir).filter((f2) => this.parseLogFileName(f2) !== null).map((f2) => ({
24600
+ return readdirSync3(this.config.logDir).filter((f2) => this.parseLogFileName(f2) !== null).map((f2) => ({
24540
24601
  name: f2,
24541
- path: join3(this.config.logDir, f2)
24602
+ path: join5(this.config.logDir, f2)
24542
24603
  })).sort((a2, b2) => this.compareLogFilesNewestFirst(a2.name, b2.name));
24543
24604
  }
24544
24605
  formatConsole(entry) {
@@ -24627,7 +24688,7 @@ var init_logger = __esm(() => {
24627
24688
  if (this.config.logFilePath)
24628
24689
  return;
24629
24690
  try {
24630
- if (!existsSync(this.currentLogFile))
24691
+ if (!existsSync2(this.currentLogFile))
24631
24692
  return;
24632
24693
  const stats = statSync2(this.currentLogFile);
24633
24694
  if (stats.size > this.config.maxFileSize) {
@@ -24639,7 +24700,7 @@ var init_logger = __esm(() => {
24639
24700
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
24640
24701
  const rotatedName = this.currentLogFile.replace(".log", `-${timestamp}.log`);
24641
24702
  try {
24642
- renameSync2(this.currentLogFile, rotatedName);
24703
+ renameSync4(this.currentLogFile, rotatedName);
24643
24704
  this.cleanOldLogs();
24644
24705
  } catch {}
24645
24706
  }
@@ -24649,7 +24710,7 @@ var init_logger = __esm(() => {
24649
24710
  try {
24650
24711
  const files = this.listLogFilesNewestFirst();
24651
24712
  for (let i2 = this.config.maxFiles;i2 < files.length; i2++) {
24652
- unlinkSync2(files[i2].path);
24713
+ unlinkSync3(files[i2].path);
24653
24714
  }
24654
24715
  } catch {}
24655
24716
  }
@@ -24772,7 +24833,7 @@ var init_logger = __esm(() => {
24772
24833
  if (results.length >= limit * 2)
24773
24834
  break;
24774
24835
  try {
24775
- const content = readFileSync(file2.path, "utf-8");
24836
+ const content = readFileSync3(file2.path, "utf-8");
24776
24837
  const lines = content.trim().split(`
24777
24838
  `).filter(Boolean);
24778
24839
  const recentLines = lines.slice(-(limit * 2));
@@ -24807,6 +24868,8 @@ var init_logger = __esm(() => {
24807
24868
  // ../../platform/daemon/src/db-vacuum.ts
24808
24869
  var VACUUM_CONVERSION_STATE_TABLE = "_signet_vacuum_conversion", STATE_TABLE_SQL;
24809
24870
  var init_db_vacuum = __esm(() => {
24871
+ init_db_owner_maintenance();
24872
+ init_db_owner_runtime();
24810
24873
  init_logger();
24811
24874
  STATE_TABLE_SQL = `
24812
24875
  CREATE TABLE IF NOT EXISTS ${VACUUM_CONVERSION_STATE_TABLE} (
@@ -24933,7 +24996,7 @@ var init_rate_limiter = __esm(() => {
24933
24996
  });
24934
24997
 
24935
24998
  // ../../platform/daemon/src/auth/config.ts
24936
- import { join as join5 } from "node:path";
24999
+ import { join as join6 } from "node:path";
24937
25000
  function isValidMode(val) {
24938
25001
  return val === "local" || val === "team" || val === "hybrid";
24939
25002
  }
@@ -24968,12 +25031,12 @@ function parseAuthConfig(raw, agentsDir) {
24968
25031
  if (!raw || typeof raw !== "object") {
24969
25032
  return {
24970
25033
  ...DEFAULT_AUTH_CONFIG,
24971
- secretPath: join5(agentsDir, ".daemon", "auth-secret")
25034
+ secretPath: join6(agentsDir, ".daemon", "auth-secret")
24972
25035
  };
24973
25036
  }
24974
25037
  const obj = raw;
24975
25038
  const mode = isValidMode(obj.mode) ? obj.mode : "local";
24976
- const secretPath = join5(agentsDir, ".daemon", "auth-secret");
25039
+ const secretPath = join6(agentsDir, ".daemon", "auth-secret");
24977
25040
  const rawLimits = obj.rateLimits;
24978
25041
  const rateLimits = {};
24979
25042
  for (const [key, fallback] of Object.entries(DEFAULT_RATE_LIMITS)) {
@@ -25033,8 +25096,8 @@ var init_auth = __esm(() => {
25033
25096
  });
25034
25097
 
25035
25098
  // ../../platform/daemon/src/memory-config.ts
25036
- import { existsSync as existsSync2, readFileSync as readFileSync3 } from "node:fs";
25037
- import { join as join6 } from "node:path";
25099
+ import { existsSync as existsSync4, readFileSync as readFileSync6 } from "node:fs";
25100
+ import { join as join7 } from "node:path";
25038
25101
  function detectLocalTimeZone() {
25039
25102
  try {
25040
25103
  return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
@@ -25455,13 +25518,13 @@ function loadMemoryConfig(agentsDir) {
25455
25518
  dreaming: { ...DEFAULT_DREAMING },
25456
25519
  auth: parseAuthConfig(undefined, agentsDir)
25457
25520
  };
25458
- const paths = [join6(agentsDir, "agent.yaml"), join6(agentsDir, "AGENT.yaml"), join6(agentsDir, "config.yaml")];
25521
+ const paths = [join7(agentsDir, "agent.yaml"), join7(agentsDir, "AGENT.yaml"), join7(agentsDir, "config.yaml")];
25459
25522
  const envWarmNative = envBool("SIGNET_EMBEDDING_WARM_NATIVE");
25460
25523
  for (const path of paths) {
25461
- if (!existsSync2(path))
25524
+ if (!existsSync4(path))
25462
25525
  continue;
25463
25526
  try {
25464
- const yaml = parseSimpleYaml(readFileSync3(path, "utf-8"));
25527
+ const yaml = parseSimpleYaml(readFileSync6(path, "utf-8"));
25465
25528
  if (isRecord3(yaml))
25466
25529
  rejectRetiredEmbeddingConfig(yaml);
25467
25530
  const emb = yaml.embedding ?? {};
@@ -25731,16 +25794,17 @@ var init_db_observability = () => {};
25731
25794
 
25732
25795
  // ../../platform/daemon/src/runtime-pressure.ts
25733
25796
  var init_runtime_pressure = () => {};
25797
+
25734
25798
  // ../../platform/daemon/src/db-accessor.ts
25735
25799
  import {
25736
25800
  copyFileSync,
25737
- existsSync as existsSync4,
25738
- mkdirSync as mkdirSync3,
25739
- readFileSync as readFileSync6,
25740
- readdirSync as readdirSync3,
25801
+ existsSync as existsSync7,
25802
+ mkdirSync as mkdirSync5,
25803
+ readFileSync as readFileSync8,
25804
+ readdirSync as readdirSync5,
25741
25805
  statSync as statSync3,
25742
25806
  statfsSync,
25743
- unlinkSync as unlinkSync3
25807
+ unlinkSync as unlinkSync4
25744
25808
  } from "node:fs";
25745
25809
  import { createRequire as createRequire4 } from "node:module";
25746
25810
  function getDbAccessor() {
@@ -25767,49 +25831,15 @@ var init_db_accessor = __esm(() => {
25767
25831
  }
25768
25832
  migrationBackupDeps = {
25769
25833
  copyFileSync,
25770
- readdirSync: readdirSync3,
25834
+ readdirSync: readdirSync5,
25771
25835
  statSync: statSync3,
25772
25836
  statfsSync,
25773
- unlinkSync: unlinkSync3,
25837
+ unlinkSync: unlinkSync4,
25774
25838
  now: Date.now,
25775
25839
  log: console.log
25776
25840
  };
25777
25841
  });
25778
25842
 
25779
- // ../../platform/daemon/src/native-runtime-assets.ts
25780
- import { createHash as createHash3 } from "node:crypto";
25781
- import {
25782
- chmodSync as chmodSync2,
25783
- existsSync as existsSync7,
25784
- mkdirSync as mkdirSync5,
25785
- mkdtempSync,
25786
- readFileSync as readFileSync8,
25787
- readdirSync as readdirSync5,
25788
- renameSync as renameSync4,
25789
- rmSync,
25790
- unlinkSync as unlinkSync4,
25791
- writeFileSync
25792
- } from "node:fs";
25793
- import { tmpdir } from "node:os";
25794
- import { dirname as dirname3, join as join7 } from "node:path";
25795
- function nativeRuntimeAssets() {
25796
- return globalThis.__SIGNET_NATIVE_RUNTIME_ASSETS__ ?? {};
25797
- }
25798
- function resolveEmbeddedWorkerPath(name) {
25799
- const worker = (nativeRuntimeAssets().workers ?? []).find((asset) => asset.name === name);
25800
- if (!worker)
25801
- return null;
25802
- const hash2 = createHash3("sha256").update(worker.contentBase64).digest("hex").slice(0, 16);
25803
- const dir = join7(tmpdir(), "signet-native-workers");
25804
- const path = join7(dir, `${name.replace(/[^a-zA-Z0-9_.-]/g, "_")}-${hash2}.mjs`);
25805
- mkdirSync5(dir, { recursive: true });
25806
- if (!existsSync7(path)) {
25807
- writeFileSync(path, Buffer.from(worker.contentBase64, "base64"));
25808
- }
25809
- return path;
25810
- }
25811
- var init_native_runtime_assets = () => {};
25812
-
25813
25843
  // ../../node_modules/.bun/base64-js@1.5.1/node_modules/base64-js/index.js
25814
25844
  var require_base64_js = __commonJS((exports) => {
25815
25845
  exports.byteLength = byteLength;
@@ -55085,6 +55115,12 @@ async function curateMemoryHead(input) {
55085
55115
  db.prepare(`UPDATE memory_md_heads SET content = ?, content_hash = ?, revision = ?, updated_at = ?, lease_token = NULL, lease_owner = NULL, lease_expires_at = NULL WHERE agent_id = ? AND lease_token = ?`).run(projected.body, hash3, next, new Date().toISOString(), input.agentId, lease.row.token);
55086
55116
  for (const entry of input.entries)
55087
55117
  db.prepare(`INSERT INTO memory_head_revisions (id, agent_id, revision, content, content_hash, rendered_token_count, pass_id, base_revision, base_hash, created_at, entry_id, entry_text, operation, source_refs_json, supporting_quotes_json) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(randomUUID3(), input.agentId, next, input.content.trim(), hash3, countTokens(input.content.trim()), input.passId, input.baseRevision, input.baseHash, new Date().toISOString(), entry.id, entry.text, entry.operation, JSON.stringify(entry.sourceRefs), JSON.stringify(entry.supportingQuotes));
55118
+ const manifestUpdate = db.prepare(`UPDATE dreaming_passes
55119
+ SET head_revision = ?, head_hash = ?, head_added = ?, head_updated = ?,
55120
+ head_removed = ?, head_deferred = ?, head_no_op = ?
55121
+ WHERE id = ? AND agent_id = ?`).run(next, hash3, input.entries.filter((entry) => entry.operation === "added").length, input.entries.filter((entry) => entry.operation === "updated").length, input.entries.filter((entry) => entry.operation === "removed").length, input.entries.filter((entry) => entry.operation === "deferred").length, input.entries.filter((entry) => entry.operation === "no-op").length, input.passId, input.agentId);
55122
+ if (manifestUpdate.changes !== 1)
55123
+ throw new Error("Dreaming pass manifest row is missing");
55088
55124
  writeProjection(projected.file, input.agentId);
55089
55125
  });
55090
55126
  } catch (error51) {
@@ -55598,13 +55634,7 @@ function createDreamingCapabilities(params) {
55598
55634
  }), async (input) => {
55599
55635
  if (!params.passId || input.passId !== params.passId)
55600
55636
  return { ok: false, error: "Head curation requires the active Dreaming pass" };
55601
- const result = await curateMemoryHead(input);
55602
- if (result.ok) {
55603
- if (!params.accessor.withWriteTxAsync)
55604
- throw new Error("Head curation requires the async write transaction accessor to record its pass manifest");
55605
- await params.accessor.withWriteTxAsync((db) => db.prepare(`UPDATE dreaming_passes SET head_revision = ?, head_hash = ?, head_added = ?, head_updated = ?, head_removed = ?, head_deferred = ?, head_no_op = ? WHERE id = ? AND agent_id = ?`).run(result.revision, result.hash, input.entries.filter((entry) => entry.operation === "added").length, input.entries.filter((entry) => entry.operation === "updated").length, input.entries.filter((entry) => entry.operation === "removed").length, input.entries.filter((entry) => entry.operation === "deferred").length, input.entries.filter((entry) => entry.operation === "no-op").length, input.passId, input.agentId));
55606
- }
55607
- return result;
55637
+ return await curateMemoryHead(input);
55608
55638
  })
55609
55639
  ]
55610
55640
  ];
@@ -1,43 +1,43 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.211.9",
3
+ "version": "0.211.16",
4
4
  "assets": [
5
5
  {
6
6
  "name": "signet-darwin-arm64",
7
7
  "platform": "darwin-arm64",
8
- "sha256": "c18a847c805b965fd9fa962538de87b2ebe8d8db040ab0aa5d8fd240acb9dffb",
9
- "size": 161429152
8
+ "sha256": "62e1c4d90de30a4790d945574fc416f78c42c6bb77f2cce0e25b08602e4e6008",
9
+ "size": 161462176
10
10
  },
11
11
  {
12
12
  "name": "signet-darwin-x64",
13
13
  "platform": "darwin-x64",
14
- "sha256": "0f445dc6450f5ab528c975d526cd679fff545c02054cd74d038357a81b48738e",
15
- "size": 166169152
14
+ "sha256": "54f36e7bfe5cd7ec87b362b65bdd96d933871651bc1f0fd1452a155947504b6e",
15
+ "size": 166201920
16
16
  },
17
17
  {
18
18
  "name": "signet-linux-arm64",
19
19
  "platform": "linux-arm64",
20
- "sha256": "68e010e22b56d66cf1375d38ca10e94abc57627fcab9f7cea5a1f645c6e4e470",
21
- "size": 208732540
20
+ "sha256": "22eefcf88a6efaa8ce7cb16e0be9c8c30991ddf4e7bd8d592907d0e54e966967",
21
+ "size": 208763186
22
22
  },
23
23
  {
24
24
  "name": "signet-linux-x64",
25
25
  "platform": "linux-x64",
26
- "sha256": "7f600ad9ccc5c628add7c2ff77ca2d4c135281a30c13736dc95e108a45c8ae5d",
27
- "size": 211521291
26
+ "sha256": "fa87f32e795c08478210ad7838724f12e0da56b5bd22183079bd8e0c725210a4",
27
+ "size": 211551937
28
28
  },
29
29
  {
30
30
  "name": "signet-win32-x64.exe",
31
31
  "platform": "win32-x64",
32
- "sha256": "f635da2f461aa0f3f317e3a6ae1b2df82b65b3b1e5ff901b92f78078abec5b2e",
33
- "size": 218007552
32
+ "sha256": "96bc9f8b3e62a278fd004b591c032832a58b63dfe90e75a56a79a4ea25c43a4f",
33
+ "size": 218037760
34
34
  }
35
35
  ],
36
36
  "components": {
37
37
  "connectors": {
38
- "url": "signet-connectors-0.211.9.tar.gz",
39
- "sha256": "3d3e968fd44ec1ff71d1e5b3e40c836be8a8f3f47f2cf8354db2be580d17d5a0",
40
- "size": 21945
38
+ "url": "signet-connectors-0.211.16.tar.gz",
39
+ "sha256": "14231e0e2ca13612841a9b33174f5d23bb1e59c5713a2edcd4cdbc6dd2cb16f4",
40
+ "size": 21939
41
41
  }
42
42
  }
43
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signetai",
3
- "version": "0.211.9",
3
+ "version": "0.211.16",
4
4
  "description": "Signet native CLI installer wrapper",
5
5
  "type": "module",
6
6
  "bin": {
@@ -65,10 +65,10 @@
65
65
  "access": "public"
66
66
  },
67
67
  "optionalDependencies": {
68
- "signetai-darwin-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.9/signetai-darwin-arm64-0.211.9.tgz",
69
- "signetai-darwin-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.9/signetai-darwin-x64-0.211.9.tgz",
70
- "signetai-linux-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.9/signetai-linux-arm64-0.211.9.tgz",
71
- "signetai-linux-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.9/signetai-linux-x64-0.211.9.tgz",
72
- "signetai-win32-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.9/signetai-win32-x64-0.211.9.tgz"
68
+ "signetai-darwin-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.16/signetai-darwin-arm64-0.211.16.tgz",
69
+ "signetai-darwin-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.16/signetai-darwin-x64-0.211.16.tgz",
70
+ "signetai-linux-arm64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.16/signetai-linux-arm64-0.211.16.tgz",
71
+ "signetai-linux-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.16/signetai-linux-x64-0.211.16.tgz",
72
+ "signetai-win32-x64": "https://github.com/Signet-AI/signetai/releases/download/v0.211.16/signetai-win32-x64-0.211.16.tgz"
73
73
  }
74
74
  }