@signetai/connector-gemini 0.178.0 → 0.179.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.
- package/dist/index.js +40 -34
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
unlinkSync as unlinkSync3,
|
|
11
11
|
writeFileSync as writeFileSync3
|
|
12
12
|
} from "node:fs";
|
|
13
|
-
import { homedir as
|
|
14
|
-
import { dirname as dirname8, join as
|
|
13
|
+
import { homedir as homedir6 } from "node:os";
|
|
14
|
+
import { dirname as dirname8, join as join7, resolve as resolve3 } from "node:path";
|
|
15
15
|
|
|
16
16
|
// ../../../libs/connector-base/dist/index.js
|
|
17
17
|
import { randomBytes } from "node:crypto";
|
|
18
18
|
import { existsSync, readFileSync, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "node:fs";
|
|
19
19
|
import { homedir } from "node:os";
|
|
20
|
-
import { dirname as
|
|
20
|
+
import { dirname as dirname5, isAbsolute, join as join3, relative, sep } from "node:path";
|
|
21
21
|
import { createRequire } from "node:module";
|
|
22
22
|
import { dirname, join } from "node:path";
|
|
23
23
|
import { fileURLToPath } from "node:url";
|
|
@@ -27,9 +27,11 @@ import { existsSync as existsSync4, mkdirSync as mkdirSync2, readFileSync as rea
|
|
|
27
27
|
import { homedir as homedir3 } from "node:os";
|
|
28
28
|
import { dirname as dirname2, join as join5, resolve } from "node:path";
|
|
29
29
|
import { createRequire as createRequire2 } from "node:module";
|
|
30
|
-
import { homedir as homedir4
|
|
30
|
+
import { homedir as homedir4 } from "node:os";
|
|
31
|
+
import { dirname as dirname3, join as join6, resolve as resolve2 } from "node:path";
|
|
32
|
+
import { homedir as homedir5, platform as platform2 } from "node:os";
|
|
31
33
|
import { basename, dirname as dirname4, resolve as resolve4 } from "node:path";
|
|
32
|
-
import { homedir as
|
|
34
|
+
import { homedir as homedir9 } from "node:os";
|
|
33
35
|
import { existsSync as existsSync13, lstatSync, mkdirSync as mkdirSync9, readdirSync as readdirSync6, symlinkSync, unlinkSync } from "node:fs";
|
|
34
36
|
import { join as join13 } from "node:path";
|
|
35
37
|
var __create2 = Object.create;
|
|
@@ -11423,6 +11425,7 @@ try {
|
|
|
11423
11425
|
const esmRequire = createRequire2(import.meta.url);
|
|
11424
11426
|
native = esmRequire("@signet/native");
|
|
11425
11427
|
} catch {}
|
|
11428
|
+
var GRAPHIQ_DEFAULT_INSTALL_DIR = join6(homedir4(), ".local", "bin");
|
|
11426
11429
|
var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
|
|
11427
11430
|
var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
|
|
11428
11431
|
var SIGNET_GIT_PROTECTED_PATHS = [
|
|
@@ -11492,11 +11495,11 @@ var VALID_GITHUB_RESOURCE_TYPES = new Set(DEFAULT_GITHUB_RESOURCE_TYPES);
|
|
|
11492
11495
|
function defaultDiscordDesktopCachePath() {
|
|
11493
11496
|
switch (platform2()) {
|
|
11494
11497
|
case "darwin":
|
|
11495
|
-
return resolve4(
|
|
11498
|
+
return resolve4(homedir5(), "Library", "Application Support", "discord");
|
|
11496
11499
|
case "win32":
|
|
11497
|
-
return resolve4(process.env.APPDATA || resolve4(
|
|
11500
|
+
return resolve4(process.env.APPDATA || resolve4(homedir5(), "AppData", "Roaming"), "discord");
|
|
11498
11501
|
default:
|
|
11499
|
-
return resolve4(process.env.XDG_CONFIG_HOME || resolve4(
|
|
11502
|
+
return resolve4(process.env.XDG_CONFIG_HOME || resolve4(homedir5(), ".config"), "discord");
|
|
11500
11503
|
}
|
|
11501
11504
|
}
|
|
11502
11505
|
var IDENTITY_FILES = {
|
|
@@ -11627,7 +11630,7 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
|
11627
11630
|
}
|
|
11628
11631
|
return result;
|
|
11629
11632
|
}
|
|
11630
|
-
var home =
|
|
11633
|
+
var home = homedir9();
|
|
11631
11634
|
var SIGNET_BLOCK_START = "<!-- SIGNET:START -->";
|
|
11632
11635
|
var SIGNET_BLOCK_END = "<!-- SIGNET:END -->";
|
|
11633
11636
|
function stripSignetBlock(content) {
|
|
@@ -11668,7 +11671,7 @@ class BaseConnector {
|
|
|
11668
11671
|
generateHeader(sourcePath, targetName) {
|
|
11669
11672
|
const name = targetName || this.name;
|
|
11670
11673
|
const safe = (p) => p.replace(/[\n\r]/g, "");
|
|
11671
|
-
const root =
|
|
11674
|
+
const root = dirname5(sourcePath);
|
|
11672
11675
|
return `# Auto-generated from ${safe(sourcePath)}
|
|
11673
11676
|
# Source: ${safe(sourcePath)}
|
|
11674
11677
|
# Generated: ${new Date().toISOString()}
|
|
@@ -11705,7 +11708,7 @@ function isSignetGeneratedFile(raw) {
|
|
|
11705
11708
|
return lines.some((line, i) => /^#\s+AUTO-GENERATED\s+from\s+.*\s+by\s+Signet/i.test(line) || /^#\s+Auto-generated\s+from\s+/.test(line) && i + 1 < lines.length && /^#\s+Source:\s+/.test(lines[i + 1]));
|
|
11706
11709
|
}
|
|
11707
11710
|
function atomicWriteText(path, content, mode) {
|
|
11708
|
-
const tmp = join3(
|
|
11711
|
+
const tmp = join3(dirname5(path), `.${randomBytes(6).toString("hex")}.tmp`);
|
|
11709
11712
|
let writeMode = mode;
|
|
11710
11713
|
if (writeMode === undefined) {
|
|
11711
11714
|
try {
|
|
@@ -11739,16 +11742,18 @@ function resolveSignetWorkspacePath(home2 = homedir()) {
|
|
|
11739
11742
|
|
|
11740
11743
|
// ../../../platform/core/dist/index.js
|
|
11741
11744
|
import { createRequire as createRequire3 } from "node:module";
|
|
11742
|
-
import { dirname as
|
|
11745
|
+
import { dirname as dirname6, join as join4 } from "node:path";
|
|
11743
11746
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
11744
11747
|
import { homedir as homedir22 } from "os";
|
|
11745
11748
|
import { join as join22 } from "path";
|
|
11746
11749
|
import { createRequire as createRequire22 } from "node:module";
|
|
11747
|
-
import { homedir as homedir42
|
|
11750
|
+
import { homedir as homedir42 } from "node:os";
|
|
11751
|
+
import { dirname as dirname32, join as join62, resolve as resolve22 } from "node:path";
|
|
11752
|
+
import { homedir as homedir52, platform as platform22 } from "node:os";
|
|
11748
11753
|
import { basename as basename2, dirname as dirname42, resolve as resolve42 } from "node:path";
|
|
11749
11754
|
import { existsSync as existsSync11, readFileSync as readFileSync9, readdirSync as readdirSync4, realpathSync, statSync as statSync5 } from "node:fs";
|
|
11750
11755
|
import { dirname as dirname7, join as join11 } from "node:path";
|
|
11751
|
-
import { homedir as
|
|
11756
|
+
import { homedir as homedir92 } from "node:os";
|
|
11752
11757
|
var __create = Object.create;
|
|
11753
11758
|
var __getProtoOf = Object.getPrototypeOf;
|
|
11754
11759
|
var __defProp = Object.defineProperty;
|
|
@@ -23021,7 +23026,7 @@ var MIGRATIONS2 = [
|
|
|
23021
23026
|
];
|
|
23022
23027
|
var LATEST_SCHEMA_VERSION2 = MIGRATIONS2[MIGRATIONS2.length - 1]?.version ?? 0;
|
|
23023
23028
|
var __filename22 = fileURLToPath2(import.meta.url);
|
|
23024
|
-
var __dirname22 =
|
|
23029
|
+
var __dirname22 = dirname6(__filename22);
|
|
23025
23030
|
var import_yaml3 = __toESM(require_dist2(), 1);
|
|
23026
23031
|
function expandHome2(p, home2 = homedir22()) {
|
|
23027
23032
|
if (p === "~")
|
|
@@ -23045,6 +23050,7 @@ try {
|
|
|
23045
23050
|
const esmRequire = createRequire22(import.meta.url);
|
|
23046
23051
|
native2 = esmRequire("@signet/native");
|
|
23047
23052
|
} catch {}
|
|
23053
|
+
var GRAPHIQ_DEFAULT_INSTALL_DIR2 = join62(homedir42(), ".local", "bin");
|
|
23048
23054
|
var SIGNET_SOURCE_CHECKOUT_DIRNAME2 = "signetai";
|
|
23049
23055
|
var SIGNET_GIT_ALLOWED_DIRECTORIES2 = ["skills", "tools", "dreaming"];
|
|
23050
23056
|
var SIGNET_GIT_PROTECTED_PATHS2 = [
|
|
@@ -23114,11 +23120,11 @@ var VALID_GITHUB_RESOURCE_TYPES2 = new Set(DEFAULT_GITHUB_RESOURCE_TYPES2);
|
|
|
23114
23120
|
function defaultDiscordDesktopCachePath2() {
|
|
23115
23121
|
switch (platform22()) {
|
|
23116
23122
|
case "darwin":
|
|
23117
|
-
return resolve42(
|
|
23123
|
+
return resolve42(homedir52(), "Library", "Application Support", "discord");
|
|
23118
23124
|
case "win32":
|
|
23119
|
-
return resolve42(process.env.APPDATA || resolve42(
|
|
23125
|
+
return resolve42(process.env.APPDATA || resolve42(homedir52(), "AppData", "Roaming"), "discord");
|
|
23120
23126
|
default:
|
|
23121
|
-
return resolve42(process.env.XDG_CONFIG_HOME || resolve42(
|
|
23127
|
+
return resolve42(process.env.XDG_CONFIG_HOME || resolve42(homedir52(), ".config"), "discord");
|
|
23122
23128
|
}
|
|
23123
23129
|
}
|
|
23124
23130
|
var IDENTITY_MODES = ["managed", "off"];
|
|
@@ -23221,7 +23227,7 @@ function loadIdentityMode(agentsDir) {
|
|
|
23221
23227
|
return "managed";
|
|
23222
23228
|
}
|
|
23223
23229
|
}
|
|
23224
|
-
var home2 =
|
|
23230
|
+
var home2 = homedir92();
|
|
23225
23231
|
|
|
23226
23232
|
// src/index.ts
|
|
23227
23233
|
function readGeminiSettings(settingsPath) {
|
|
@@ -23239,10 +23245,10 @@ class GeminiConnector extends BaseConnector {
|
|
|
23239
23245
|
name = "Gemini";
|
|
23240
23246
|
harnessId = "gemini";
|
|
23241
23247
|
getGeminiHome() {
|
|
23242
|
-
return
|
|
23248
|
+
return join7(homedir6(), ".gemini");
|
|
23243
23249
|
}
|
|
23244
23250
|
getConfigPath() {
|
|
23245
|
-
return
|
|
23251
|
+
return join7(this.getGeminiHome(), "settings.json");
|
|
23246
23252
|
}
|
|
23247
23253
|
getGeminiMdPath() {
|
|
23248
23254
|
const geminiHome = this.getGeminiHome();
|
|
@@ -23251,18 +23257,18 @@ class GeminiConnector extends BaseConnector {
|
|
|
23251
23257
|
if (isJsonObject(contextConfig)) {
|
|
23252
23258
|
const fileNames = contextConfig.fileName;
|
|
23253
23259
|
if (Array.isArray(fileNames) && typeof fileNames[0] === "string") {
|
|
23254
|
-
const candidate =
|
|
23260
|
+
const candidate = resolve3(geminiHome, fileNames[0]);
|
|
23255
23261
|
if (isChildOf(candidate, geminiHome)) {
|
|
23256
23262
|
return candidate;
|
|
23257
23263
|
}
|
|
23258
23264
|
}
|
|
23259
23265
|
}
|
|
23260
|
-
return
|
|
23266
|
+
return join7(geminiHome, "GEMINI.md");
|
|
23261
23267
|
}
|
|
23262
23268
|
async install(basePath) {
|
|
23263
23269
|
const filesWritten = [];
|
|
23264
23270
|
const configsPatched = [];
|
|
23265
|
-
const expandedBasePath = expandHome2(basePath ||
|
|
23271
|
+
const expandedBasePath = expandHome2(basePath || join7(homedir6(), ".agents"));
|
|
23266
23272
|
const identityMode = loadIdentityMode(expandedBasePath);
|
|
23267
23273
|
if (!hasValidIdentity(expandedBasePath)) {
|
|
23268
23274
|
return {
|
|
@@ -23302,8 +23308,8 @@ class GeminiConnector extends BaseConnector {
|
|
|
23302
23308
|
} catch {}
|
|
23303
23309
|
}
|
|
23304
23310
|
}
|
|
23305
|
-
const skillsSource =
|
|
23306
|
-
const skillsDest =
|
|
23311
|
+
const skillsSource = join7(expandedBasePath, "skills");
|
|
23312
|
+
const skillsDest = join7(geminiHome, "skills");
|
|
23307
23313
|
if (existsSync2(skillsSource)) {
|
|
23308
23314
|
this.symlinkSkills(skillsSource, skillsDest);
|
|
23309
23315
|
}
|
|
@@ -23331,7 +23337,7 @@ class GeminiConnector extends BaseConnector {
|
|
|
23331
23337
|
filesRemoved.push(geminiMdPath);
|
|
23332
23338
|
}
|
|
23333
23339
|
}
|
|
23334
|
-
const skillsDir =
|
|
23340
|
+
const skillsDir = join7(geminiHome, "skills");
|
|
23335
23341
|
if (existsSync2(skillsDir)) {
|
|
23336
23342
|
this.removeSignetSkillSymlinks(skillsDir, signetWorkspace);
|
|
23337
23343
|
}
|
|
@@ -23345,10 +23351,10 @@ class GeminiConnector extends BaseConnector {
|
|
|
23345
23351
|
return isJsonObject(mcpServers) && "signet" in mcpServers;
|
|
23346
23352
|
}
|
|
23347
23353
|
static isHarnessInstalled() {
|
|
23348
|
-
return existsSync2(
|
|
23354
|
+
return existsSync2(join7(homedir6(), ".gemini", "settings.json"));
|
|
23349
23355
|
}
|
|
23350
23356
|
removeSignetSkillSymlinks(skillsDir, signetWorkspace) {
|
|
23351
|
-
const signetSkillsSource =
|
|
23357
|
+
const signetSkillsSource = resolve3(signetWorkspace, "skills");
|
|
23352
23358
|
let entries;
|
|
23353
23359
|
try {
|
|
23354
23360
|
entries = readdirSync(skillsDir);
|
|
@@ -23356,7 +23362,7 @@ class GeminiConnector extends BaseConnector {
|
|
|
23356
23362
|
return;
|
|
23357
23363
|
}
|
|
23358
23364
|
for (const entry of entries) {
|
|
23359
|
-
const entryPath =
|
|
23365
|
+
const entryPath = join7(skillsDir, entry);
|
|
23360
23366
|
let stat = null;
|
|
23361
23367
|
try {
|
|
23362
23368
|
stat = lstatSync2(entryPath);
|
|
@@ -23366,7 +23372,7 @@ class GeminiConnector extends BaseConnector {
|
|
|
23366
23372
|
if (stat?.isSymbolicLink()) {
|
|
23367
23373
|
try {
|
|
23368
23374
|
const rawTarget = readlinkSync(entryPath);
|
|
23369
|
-
const target =
|
|
23375
|
+
const target = resolve3(dirname8(entryPath), rawTarget);
|
|
23370
23376
|
if (isChildOf(target, signetSkillsSource)) {
|
|
23371
23377
|
unlinkSync3(entryPath);
|
|
23372
23378
|
}
|
|
@@ -23375,7 +23381,7 @@ class GeminiConnector extends BaseConnector {
|
|
|
23375
23381
|
}
|
|
23376
23382
|
}
|
|
23377
23383
|
registerMcpServer(geminiHome) {
|
|
23378
|
-
const settingsPath =
|
|
23384
|
+
const settingsPath = join7(geminiHome, "settings.json");
|
|
23379
23385
|
if (existsSync2(settingsPath)) {
|
|
23380
23386
|
const settings2 = readGeminiSettings(settingsPath);
|
|
23381
23387
|
if (!settings2) {
|
|
@@ -23405,7 +23411,7 @@ class GeminiConnector extends BaseConnector {
|
|
|
23405
23411
|
return null;
|
|
23406
23412
|
}
|
|
23407
23413
|
removeMcpServer(geminiHome) {
|
|
23408
|
-
const settingsPath =
|
|
23414
|
+
const settingsPath = join7(geminiHome, "settings.json");
|
|
23409
23415
|
const settings = readGeminiSettings(settingsPath);
|
|
23410
23416
|
if (!settings)
|
|
23411
23417
|
return false;
|
|
@@ -23426,7 +23432,7 @@ class GeminiConnector extends BaseConnector {
|
|
|
23426
23432
|
return false;
|
|
23427
23433
|
}
|
|
23428
23434
|
generateGeminiMd(basePath) {
|
|
23429
|
-
const sourcePath =
|
|
23435
|
+
const sourcePath = join7(basePath, "AGENTS.md");
|
|
23430
23436
|
if (!existsSync2(sourcePath))
|
|
23431
23437
|
return null;
|
|
23432
23438
|
const raw = readFileSync2(sourcePath, "utf-8");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signetai/connector-gemini",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.179.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.
|
|
28
|
-
"@signetai/core": "0.
|
|
27
|
+
"@signetai/connector-base": "0.179.0",
|
|
28
|
+
"@signetai/core": "0.179.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^22.0.0",
|