@signetai/connector-gemini 0.231.1 → 0.232.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EAMpB,MAAM,wBAAwB,CAAC;AAehC,qBAAa,eAAgB,SAAQ,aAAa;IACjD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,SAAS,YAAY;IAE9B,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,aAAa;IAIrB,aAAa,IAAI,MAAM;IAIvB,OAAO,CAAC,eAAe;IAgBjB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgEjD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IA2B3C,WAAW,IAAI,OAAO;IAOtB,MAAM,CAAC,kBAAkB,IAAI,OAAO;IAIpC,OAAO,CAAC,yBAAyB;IA4BjC,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,gBAAgB;CAqBxB;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC;AACrD,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EAOpB,MAAM,wBAAwB,CAAC;AAehC,qBAAa,eAAgB,SAAQ,aAAa;IACjD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,SAAS,YAAY;IAE9B,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,aAAa;IAIrB,aAAa,IAAI,MAAM;IAIvB,OAAO,CAAC,eAAe;IAgBjB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgEjD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IA2B3C,WAAW,IAAI,OAAO;IAOtB,MAAM,CAAC,kBAAkB,IAAI,OAAO;IAIpC,OAAO,CAAC,yBAAyB;IA4BjC,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,gBAAgB;CAqBxB;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC;AACrD,eAAe,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ import { dirname as dirname4, join as join5, resolve as resolve4 } from "node:pa
17
17
  import { randomBytes } from "node:crypto";
18
18
  import { existsSync, readFileSync, realpathSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
19
19
  import { homedir } from "node:os";
20
- import { dirname as dirname2, isAbsolute, join as join3, relative, sep } from "node:path";
20
+ import { basename as basename2, dirname as dirname2, isAbsolute, join as join3, relative, sep } from "node:path";
21
21
  import { createRequire } from "node:module";
22
22
  import { dirname, join, resolve } from "node:path";
23
23
  import { fileURLToPath } from "node:url";
@@ -32,29 +32,28 @@ import { promisify } from "node:util";
32
32
  import { createHash } from "node:crypto";
33
33
  import { homedir as homedir2 } from "node:os";
34
34
  import { join as join2, resolve as resolve2 } from "node:path";
35
- import { constants as fsConstants, fstatSync, statfsSync as statfsSync2 } from "node:fs";
36
35
  import {
37
- closeSync as closeSync3,
36
+ closeSync as closeSync4,
38
37
  existsSync as existsSync12,
39
- fsyncSync as fsyncSync2,
38
+ fsyncSync as fsyncSync3,
40
39
  mkdirSync as mkdirSync6,
41
- openSync as openSync3,
40
+ openSync as openSync4,
42
41
  readFileSync as readFileSync9,
43
42
  renameSync as renameSync3,
44
43
  rmSync as rmSync4,
45
44
  statSync as statSync5,
46
- writeSync
45
+ writeSync as writeSync2
47
46
  } from "node:fs";
48
47
  import { homedir as homedir4 } from "node:os";
49
- import { dirname as dirname5, join as join13, resolve as resolve7 } from "node:path";
48
+ import { dirname as dirname5, join as join13, resolve as resolve6 } from "node:path";
50
49
  import { createRequire as createRequire2 } from "node:module";
51
50
  import { homedir as homedir5 } from "node:os";
52
- import { dirname as dirname6, join as join14, resolve as resolve8 } from "node:path";
51
+ import { dirname as dirname6, join as join15, resolve as resolve7 } from "node:path";
53
52
  import { homedir as homedir6, platform as platform2 } from "node:os";
54
- import { basename, dirname as dirname7, resolve as resolve9 } from "node:path";
53
+ import { basename, dirname as dirname7, resolve as resolve8 } from "node:path";
55
54
  import { homedir as homedir8 } from "node:os";
56
55
  import { existsSync as existsSync18, lstatSync as lstatSync3, mkdirSync as mkdirSync10, readdirSync as readdirSync9, symlinkSync as symlinkSync2, unlinkSync as unlinkSync2 } from "node:fs";
57
- import { join as join18 } from "node:path";
56
+ import { join as join19 } from "node:path";
58
57
  var __defProp = Object.defineProperty;
59
58
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
60
59
  var __esm = (fn, res, err) => () => {
@@ -17385,6 +17384,8 @@ function expandHome(p, home = homedir2()) {
17385
17384
  return join2(home, p.slice(2));
17386
17385
  return p;
17387
17386
  }
17387
+ var PRIVATE_SEGMENTS = new Set([".daemon", ".secrets", "memory"]);
17388
+ var PRIVATE_ROOT_DIRS = new Set(["runtime", "data", "transcripts", "cache"]);
17388
17389
  var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
17389
17390
  var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
17390
17391
  var SIGNET_GIT_PROTECTED_PATHS = [
@@ -17396,6 +17397,7 @@ var SIGNET_GIT_PROTECTED_PATHS = [
17396
17397
  "files",
17397
17398
  "runtime",
17398
17399
  "workspace-layout.json",
17400
+ ".workspace-layout-upgrade.json",
17399
17401
  "node_modules",
17400
17402
  ":(glob)**/node_modules/**",
17401
17403
  `${SIGNET_SOURCE_CHECKOUT_DIRNAME}`,
@@ -17436,11 +17438,12 @@ var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
17436
17438
  ".daemon/",
17437
17439
  ".secrets/",
17438
17440
  ".shadow/",
17439
- "cache/",
17440
- "data/",
17441
- "files/",
17442
- "runtime/",
17441
+ "/cache/",
17442
+ "/data/",
17443
+ "/files/",
17444
+ "/runtime/",
17443
17445
  "workspace-layout.json",
17446
+ ".workspace-layout-upgrade.json",
17444
17447
  "node_modules/",
17445
17448
  `${SIGNET_SOURCE_CHECKOUT_DIRNAME}/`,
17446
17449
  "memory/memories.db*",
@@ -17460,10 +17463,6 @@ var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
17460
17463
  "*.sqlite",
17461
17464
  "*.sqlite3"
17462
17465
  ];
17463
- var DESCRIPTOR_ROOT = process.platform === "linux" ? "/proc/self/fd" : process.platform === "darwin" ? "/dev/fd" : undefined;
17464
- var DIRECTORY_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_DIRECTORY ?? 0) | (fsConstants.O_NOFOLLOW ?? 0);
17465
- var FILE_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_NOFOLLOW ?? 0) | (fsConstants.O_NONBLOCK ?? 0);
17466
- var NOFOLLOW = fsConstants.O_NOFOLLOW ?? 0;
17467
17466
  var PROTECTION_COMPONENT_IDS = [
17468
17467
  "root-authored",
17469
17468
  "skills",
@@ -17511,7 +17510,7 @@ var LOCAL_BINDS = new Set([LOOPBACK_HOST, "localhost", "::1", "::ffff:127.0.0.1"
17511
17510
  var WORKSPACE_ENV_KEYS = ["SIGNET_PATH", "SIGNET_WORKSPACE"];
17512
17511
  var DEFAULT_AGENTS_DIRNAME = ".agents";
17513
17512
  function normalizeWorkspacePath(pathValue, home = homedir4()) {
17514
- return resolve7(expandHome(pathValue.trim(), home));
17513
+ return resolve6(expandHome(pathValue.trim(), home));
17515
17514
  }
17516
17515
  function readTrimmedEnv(env, name) {
17517
17516
  const value = env[name];
@@ -17615,18 +17614,18 @@ try {
17615
17614
  const esmRequire = createRequire2(import.meta.url);
17616
17615
  native = esmRequire("@signet/native");
17617
17616
  } catch {}
17618
- var GRAPHIQ_DEFAULT_INSTALL_DIR = join14(homedir5(), ".local", "bin");
17617
+ var GRAPHIQ_DEFAULT_INSTALL_DIR = join15(homedir5(), ".local", "bin");
17619
17618
  var DEFAULT_DISCORD_DESKTOP_CACHE_PATH = defaultDiscordDesktopCachePath();
17620
17619
  var DEFAULT_GITHUB_RESOURCE_TYPES = ["issues", "pulls", "discussions", "docs"];
17621
17620
  var VALID_GITHUB_RESOURCE_TYPES = new Set(DEFAULT_GITHUB_RESOURCE_TYPES);
17622
17621
  function defaultDiscordDesktopCachePath() {
17623
17622
  switch (platform2()) {
17624
17623
  case "darwin":
17625
- return resolve9(homedir6(), "Library", "Application Support", "discord");
17624
+ return resolve8(homedir6(), "Library", "Application Support", "discord");
17626
17625
  case "win32":
17627
- return resolve9(process.env.APPDATA || resolve9(homedir6(), "AppData", "Roaming"), "discord");
17626
+ return resolve8(process.env.APPDATA || resolve8(homedir6(), "AppData", "Roaming"), "discord");
17628
17627
  default:
17629
- return resolve9(process.env.XDG_CONFIG_HOME || resolve9(homedir6(), ".config"), "discord");
17628
+ return resolve8(process.env.XDG_CONFIG_HOME || resolve8(homedir6(), ".config"), "discord");
17630
17629
  }
17631
17630
  }
17632
17631
  var IDENTITY_FILES = {
@@ -17697,7 +17696,7 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
17697
17696
  if (!existsSync18(sourceDir)) {
17698
17697
  return result;
17699
17698
  }
17700
- const targetParent = join18(targetDir, "..");
17699
+ const targetParent = join19(targetDir, "..");
17701
17700
  if (!existsSync18(targetParent)) {
17702
17701
  mkdirSync10(targetParent, { recursive: true });
17703
17702
  }
@@ -17715,8 +17714,8 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
17715
17714
  return result;
17716
17715
  }
17717
17716
  for (const entry of entries) {
17718
- const srcPath = join18(sourceDir, entry);
17719
- const destPath = join18(targetDir, entry);
17717
+ const srcPath = join19(sourceDir, entry);
17718
+ const destPath = join19(targetDir, entry);
17720
17719
  try {
17721
17720
  const src = lstatSync3(srcPath);
17722
17721
  if (src.isSymbolicLink() || !src.isDirectory()) {
@@ -17901,6 +17900,35 @@ function atomicWriteJson(path, data, indent = 2) {
17901
17900
  atomicWriteText(path, `${JSON.stringify(data, null, indent)}
17902
17901
  `);
17903
17902
  }
17903
+ var SIGNET_MCP_STDIO_WORKER_ENV = "SIGNET_MCP_STDIO_WORKER";
17904
+ function resolveRunningNativeSignetBinary() {
17905
+ const executable = process.execPath;
17906
+ if (!/^signet(?:\.exe)?$/i.test(basename2(executable)))
17907
+ return null;
17908
+ try {
17909
+ return statSync(executable).isFile() ? executable : null;
17910
+ } catch {
17911
+ return null;
17912
+ }
17913
+ }
17914
+ function resolvePackagedSignetCommand(bareCommand, scriptDirectory, scriptName, warnOnFallback) {
17915
+ if (process.platform !== "win32")
17916
+ return { command: bareCommand, args: [] };
17917
+ const cliEntry = process.argv[1] ?? "";
17918
+ const scriptPath = join3(cliEntry, "..", "..", scriptDirectory, scriptName);
17919
+ if (cliEntry && existsSync(scriptPath))
17920
+ return { command: process.execPath, args: [scriptPath] };
17921
+ if (warnOnFallback) {
17922
+ console.warn(`[signet] Warning: could not resolve ${scriptName} from argv[1]="${cliEntry}". ` + `MCP server config will use "${bareCommand}" which may fail on Windows without shell:true.`);
17923
+ }
17924
+ return { command: bareCommand, args: [] };
17925
+ }
17926
+ function resolveSignetMcpCommand() {
17927
+ const nativeBinary = resolveRunningNativeSignetBinary();
17928
+ if (nativeBinary)
17929
+ return { command: nativeBinary, args: [], env: { [SIGNET_MCP_STDIO_WORKER_ENV]: "1" } };
17930
+ return resolvePackagedSignetCommand("signet-mcp", "dist", "mcp-stdio.js", true);
17931
+ }
17904
17932
  function isJsonObject(value) {
17905
17933
  return typeof value === "object" && value !== null && !Array.isArray(value);
17906
17934
  }
@@ -17927,14 +17955,13 @@ import { promisify as promisify2 } from "node:util";
17927
17955
  import { createHash as createHash2 } from "node:crypto";
17928
17956
  import { homedir as homedir22 } from "node:os";
17929
17957
  import { join as join22, resolve as resolve22 } from "node:path";
17930
- import { constants as fsConstants2, fstatSync as fstatSync2, statfsSync as statfsSync22 } from "node:fs";
17931
17958
  import { createRequire as createRequire22 } from "node:module";
17932
17959
  import { homedir as homedir52 } from "node:os";
17933
- import { dirname as dirname62, join as join142, resolve as resolve82 } from "node:path";
17960
+ import { dirname as dirname62, join as join152, resolve as resolve72 } from "node:path";
17934
17961
  import { homedir as homedir62, platform as platform22 } from "node:os";
17935
- import { basename as basename2, dirname as dirname72, resolve as resolve92 } from "node:path";
17962
+ import { basename as basename3, dirname as dirname72, resolve as resolve82 } from "node:path";
17936
17963
  import { existsSync as existsSync16, readFileSync as readFileSync13, realpathSync as realpathSync2, statSync as statSync8 } from "node:fs";
17937
- import { dirname as dirname8, join as join16 } from "node:path";
17964
+ import { dirname as dirname8, join as join17 } from "node:path";
17938
17965
  import { homedir as homedir82 } from "node:os";
17939
17966
  var __defProp2 = Object.defineProperty;
17940
17967
  var __commonJS2 = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
@@ -35266,6 +35293,8 @@ function expandHome2(p, home = homedir22()) {
35266
35293
  return join22(home, p.slice(2));
35267
35294
  return p;
35268
35295
  }
35296
+ var PRIVATE_SEGMENTS2 = new Set([".daemon", ".secrets", "memory"]);
35297
+ var PRIVATE_ROOT_DIRS2 = new Set(["runtime", "data", "transcripts", "cache"]);
35269
35298
  var SIGNET_SOURCE_CHECKOUT_DIRNAME2 = "signetai";
35270
35299
  var SIGNET_GIT_ALLOWED_DIRECTORIES2 = ["skills", "tools", "dreaming"];
35271
35300
  var SIGNET_GIT_PROTECTED_PATHS2 = [
@@ -35277,6 +35306,7 @@ var SIGNET_GIT_PROTECTED_PATHS2 = [
35277
35306
  "files",
35278
35307
  "runtime",
35279
35308
  "workspace-layout.json",
35309
+ ".workspace-layout-upgrade.json",
35280
35310
  "node_modules",
35281
35311
  ":(glob)**/node_modules/**",
35282
35312
  `${SIGNET_SOURCE_CHECKOUT_DIRNAME2}`,
@@ -35317,11 +35347,12 @@ var SIGNET_GITIGNORE_PROTECTED_PATTERNS2 = [
35317
35347
  ".daemon/",
35318
35348
  ".secrets/",
35319
35349
  ".shadow/",
35320
- "cache/",
35321
- "data/",
35322
- "files/",
35323
- "runtime/",
35350
+ "/cache/",
35351
+ "/data/",
35352
+ "/files/",
35353
+ "/runtime/",
35324
35354
  "workspace-layout.json",
35355
+ ".workspace-layout-upgrade.json",
35325
35356
  "node_modules/",
35326
35357
  `${SIGNET_SOURCE_CHECKOUT_DIRNAME2}/`,
35327
35358
  "memory/memories.db*",
@@ -35341,10 +35372,6 @@ var SIGNET_GITIGNORE_PROTECTED_PATTERNS2 = [
35341
35372
  "*.sqlite",
35342
35373
  "*.sqlite3"
35343
35374
  ];
35344
- var DESCRIPTOR_ROOT2 = process.platform === "linux" ? "/proc/self/fd" : process.platform === "darwin" ? "/dev/fd" : undefined;
35345
- var DIRECTORY_FLAGS2 = fsConstants2.O_RDONLY | (fsConstants2.O_DIRECTORY ?? 0) | (fsConstants2.O_NOFOLLOW ?? 0);
35346
- var FILE_FLAGS2 = fsConstants2.O_RDONLY | (fsConstants2.O_NOFOLLOW ?? 0) | (fsConstants2.O_NONBLOCK ?? 0);
35347
- var NOFOLLOW2 = fsConstants2.O_NOFOLLOW ?? 0;
35348
35375
  var PROTECTION_COMPONENT_IDS2 = [
35349
35376
  "root-authored",
35350
35377
  "skills",
@@ -35402,18 +35429,18 @@ try {
35402
35429
  const esmRequire = createRequire22(import.meta.url);
35403
35430
  native2 = esmRequire("@signet/native");
35404
35431
  } catch {}
35405
- var GRAPHIQ_DEFAULT_INSTALL_DIR2 = join142(homedir52(), ".local", "bin");
35432
+ var GRAPHIQ_DEFAULT_INSTALL_DIR2 = join152(homedir52(), ".local", "bin");
35406
35433
  var DEFAULT_DISCORD_DESKTOP_CACHE_PATH2 = defaultDiscordDesktopCachePath2();
35407
35434
  var DEFAULT_GITHUB_RESOURCE_TYPES2 = ["issues", "pulls", "discussions", "docs"];
35408
35435
  var VALID_GITHUB_RESOURCE_TYPES2 = new Set(DEFAULT_GITHUB_RESOURCE_TYPES2);
35409
35436
  function defaultDiscordDesktopCachePath2() {
35410
35437
  switch (platform22()) {
35411
35438
  case "darwin":
35412
- return resolve92(homedir62(), "Library", "Application Support", "discord");
35439
+ return resolve82(homedir62(), "Library", "Application Support", "discord");
35413
35440
  case "win32":
35414
- return resolve92(process.env.APPDATA || resolve92(homedir62(), "AppData", "Roaming"), "discord");
35441
+ return resolve82(process.env.APPDATA || resolve82(homedir62(), "AppData", "Roaming"), "discord");
35415
35442
  default:
35416
- return resolve92(process.env.XDG_CONFIG_HOME || resolve92(homedir62(), ".config"), "discord");
35443
+ return resolve82(process.env.XDG_CONFIG_HOME || resolve82(homedir62(), ".config"), "discord");
35417
35444
  }
35418
35445
  }
35419
35446
  var IDENTITY_MODES = ["managed", "off"];
@@ -35516,7 +35543,7 @@ function hasValidIdentity(basePath) {
35516
35543
  if (mode !== "managed")
35517
35544
  return true;
35518
35545
  for (const path of resolveRequiredIdentityPaths(basePath)) {
35519
- if (!existsSync16(join16(basePath, path))) {
35546
+ if (!existsSync16(join17(basePath, path))) {
35520
35547
  return false;
35521
35548
  }
35522
35549
  }
@@ -35524,7 +35551,7 @@ function hasValidIdentity(basePath) {
35524
35551
  }
35525
35552
  function resolveRequiredIdentityPaths(basePath) {
35526
35553
  const legacyRequired = () => REQUIRED_IDENTITY_KEYS2.map((key) => IDENTITY_FILES2[key].path);
35527
- const agentYaml = join16(basePath, "agent.yaml");
35554
+ const agentYaml = join17(basePath, "agent.yaml");
35528
35555
  if (!existsSync16(agentYaml))
35529
35556
  return legacyRequired();
35530
35557
  try {
@@ -35571,7 +35598,7 @@ function resolveIdentityModeFromConfig(config) {
35571
35598
  return "managed";
35572
35599
  }
35573
35600
  function loadIdentityMode(agentsDir) {
35574
- const agentYaml = join16(agentsDir, "agent.yaml");
35601
+ const agentYaml = join17(agentsDir, "agent.yaml");
35575
35602
  if (!existsSync16(agentYaml))
35576
35603
  return "managed";
35577
35604
  try {
@@ -35758,6 +35785,8 @@ class GeminiConnector extends BaseConnector {
35758
35785
  }
35759
35786
  registerMcpServer(geminiHome) {
35760
35787
  const settingsPath = join5(geminiHome, "settings.json");
35788
+ const mcp = resolveSignetMcpCommand();
35789
+ const signet = { command: mcp.command, args: [...mcp.args], ...mcp.env ? { env: { ...mcp.env } } : {} };
35761
35790
  if (existsSync2(settingsPath)) {
35762
35791
  const settings = readGeminiSettings(settingsPath);
35763
35792
  if (!settings) {
@@ -35766,20 +35795,14 @@ class GeminiConnector extends BaseConnector {
35766
35795
  const existingMcp = isJsonObject(settings.mcpServers) ? settings.mcpServers : {};
35767
35796
  settings.mcpServers = {
35768
35797
  ...existingMcp,
35769
- signet: {
35770
- command: "signet-mcp",
35771
- args: []
35772
- }
35798
+ signet
35773
35799
  };
35774
35800
  atomicWriteJson(settingsPath, settings);
35775
35801
  return null;
35776
35802
  }
35777
35803
  const settings = {
35778
35804
  mcpServers: {
35779
- signet: {
35780
- command: "signet-mcp",
35781
- args: []
35782
- }
35805
+ signet
35783
35806
  }
35784
35807
  };
35785
35808
  mkdirSync(geminiHome, { recursive: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-gemini",
3
- "version": "0.231.1",
3
+ "version": "0.232.0",
4
4
  "description": "Signet connector for Gemini CLI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "typecheck": "tsc --noEmit"
25
25
  },
26
26
  "dependencies": {
27
- "@signetai/connector-base": "0.231.1",
28
- "@signetai/core": "0.231.1"
27
+ "@signetai/connector-base": "0.232.0",
28
+ "@signetai/core": "0.232.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.0.0",