@signetai/connector-base 0.227.1 → 0.228.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/agent-dir.js +244 -106
- package/dist/index.js +240 -102
- package/package.json +2 -2
package/dist/agent-dir.js
CHANGED
|
@@ -33,13 +33,13 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
33
33
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
34
34
|
|
|
35
35
|
// src/agent-dir.ts
|
|
36
|
-
import { existsSync, mkdirSync, readFileSync, rmSync
|
|
36
|
+
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
37
37
|
import { homedir } from "node:os";
|
|
38
|
-
import { dirname as dirname2, join as join3, resolve as
|
|
38
|
+
import { dirname as dirname2, join as join3, resolve as resolve3 } from "node:path";
|
|
39
39
|
|
|
40
40
|
// ../../platform/core/dist/index.js
|
|
41
41
|
import { createRequire } from "node:module";
|
|
42
|
-
import { dirname, join } from "node:path";
|
|
42
|
+
import { dirname, join, resolve } from "node:path";
|
|
43
43
|
import { fileURLToPath } from "node:url";
|
|
44
44
|
import {
|
|
45
45
|
execFile as nodeExecFile,
|
|
@@ -51,29 +51,30 @@ import {
|
|
|
51
51
|
import { promisify } from "node:util";
|
|
52
52
|
import { createHash } from "node:crypto";
|
|
53
53
|
import { homedir as homedir2 } from "node:os";
|
|
54
|
-
import { join as join2, resolve } from "node:path";
|
|
54
|
+
import { join as join2, resolve as resolve2 } from "node:path";
|
|
55
|
+
import { constants as fsConstants } from "node:fs";
|
|
55
56
|
import {
|
|
56
|
-
closeSync as
|
|
57
|
-
existsSync as
|
|
57
|
+
closeSync as closeSync3,
|
|
58
|
+
existsSync as existsSync12,
|
|
58
59
|
fsyncSync as fsyncSync2,
|
|
59
|
-
mkdirSync as
|
|
60
|
-
openSync as
|
|
61
|
-
readFileSync as
|
|
62
|
-
renameSync as
|
|
63
|
-
rmSync,
|
|
64
|
-
statSync as
|
|
60
|
+
mkdirSync as mkdirSync6,
|
|
61
|
+
openSync as openSync3,
|
|
62
|
+
readFileSync as readFileSync9,
|
|
63
|
+
renameSync as renameSync3,
|
|
64
|
+
rmSync as rmSync3,
|
|
65
|
+
statSync as statSync5,
|
|
65
66
|
writeSync
|
|
66
67
|
} from "node:fs";
|
|
67
68
|
import { homedir as homedir4 } from "node:os";
|
|
68
|
-
import { dirname as
|
|
69
|
+
import { dirname as dirname5, join as join13, resolve as resolve7 } from "node:path";
|
|
69
70
|
import { createRequire as createRequire2 } from "node:module";
|
|
70
71
|
import { homedir as homedir5 } from "node:os";
|
|
71
|
-
import { dirname as
|
|
72
|
+
import { dirname as dirname6, join as join14, resolve as resolve8 } from "node:path";
|
|
72
73
|
import { homedir as homedir6, platform as platform2 } from "node:os";
|
|
73
|
-
import { basename, dirname as
|
|
74
|
+
import { basename, dirname as dirname7, resolve as resolve9 } from "node:path";
|
|
74
75
|
import { homedir as homedir8 } from "node:os";
|
|
75
|
-
import { existsSync as
|
|
76
|
-
import { join as
|
|
76
|
+
import { existsSync as existsSync18, lstatSync as lstatSync3, mkdirSync as mkdirSync10, readdirSync as readdirSync9, symlinkSync as symlinkSync2, unlinkSync as unlinkSync2 } from "node:fs";
|
|
77
|
+
import { join as join18 } from "node:path";
|
|
77
78
|
var __create2 = Object.create;
|
|
78
79
|
var __getProtoOf2 = Object.getPrototypeOf;
|
|
79
80
|
var __defProp2 = Object.defineProperty;
|
|
@@ -15940,6 +15941,102 @@ function up159(db) {
|
|
|
15940
15941
|
ON memories(agent_id, memory_kind);
|
|
15941
15942
|
`);
|
|
15942
15943
|
}
|
|
15944
|
+
var ledgerColumns = [
|
|
15945
|
+
"key",
|
|
15946
|
+
"agent_id",
|
|
15947
|
+
"workspace_id",
|
|
15948
|
+
"file_name",
|
|
15949
|
+
"status",
|
|
15950
|
+
"original_path",
|
|
15951
|
+
"sha256",
|
|
15952
|
+
"size_bytes",
|
|
15953
|
+
"request_fingerprint",
|
|
15954
|
+
"source_id",
|
|
15955
|
+
"lease_token",
|
|
15956
|
+
"lease_expires_at",
|
|
15957
|
+
"attempt_count",
|
|
15958
|
+
"error",
|
|
15959
|
+
"created_at",
|
|
15960
|
+
"updated_at"
|
|
15961
|
+
];
|
|
15962
|
+
function columns(db, table) {
|
|
15963
|
+
return new Set(db.prepare(`PRAGMA table_info(${table})`).all().map((row) => String(row.name)));
|
|
15964
|
+
}
|
|
15965
|
+
function addMissingColumns(db, table, definitions) {
|
|
15966
|
+
const present = columns(db, table);
|
|
15967
|
+
for (const definition of definitions) {
|
|
15968
|
+
const name = definition.split(" ", 1)[0];
|
|
15969
|
+
if (!present.has(name))
|
|
15970
|
+
db.exec(`ALTER TABLE ${table} ADD COLUMN ${definition}`);
|
|
15971
|
+
}
|
|
15972
|
+
}
|
|
15973
|
+
function rebuildLedgerWithoutGlobalKeyPrimaryKey(db) {
|
|
15974
|
+
const keyInfo = db.prepare("PRAGMA table_info(import_admission_ledger)").all().find((row) => row.name === "key");
|
|
15975
|
+
if (!keyInfo || Number(keyInfo.pk) === 0)
|
|
15976
|
+
return;
|
|
15977
|
+
const savepoint = "migration_158_rebuild_ledger";
|
|
15978
|
+
db.exec(`SAVEPOINT ${savepoint}`);
|
|
15979
|
+
try {
|
|
15980
|
+
db.exec(`
|
|
15981
|
+
CREATE TABLE import_admission_ledger_v158 (
|
|
15982
|
+
key TEXT NOT NULL, agent_id TEXT NOT NULL DEFAULT '', workspace_id TEXT NOT NULL DEFAULT '',
|
|
15983
|
+
file_name TEXT NOT NULL, status TEXT NOT NULL CHECK (status IN ('pending','processing','imported','duplicate','failed','quarantined','original_unavailable')),
|
|
15984
|
+
original_path TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,
|
|
15985
|
+
request_fingerprint TEXT NOT NULL DEFAULT '', source_id TEXT, lease_token TEXT, lease_expires_at TEXT,
|
|
15986
|
+
attempt_count INTEGER NOT NULL DEFAULT 0, error TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL
|
|
15987
|
+
);
|
|
15988
|
+
INSERT INTO import_admission_ledger_v158 (${ledgerColumns.join(",")})
|
|
15989
|
+
SELECT ${ledgerColumns.join(",")} FROM import_admission_ledger;
|
|
15990
|
+
DROP TABLE import_admission_ledger;
|
|
15991
|
+
ALTER TABLE import_admission_ledger_v158 RENAME TO import_admission_ledger;
|
|
15992
|
+
`);
|
|
15993
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
15994
|
+
} catch (error) {
|
|
15995
|
+
try {
|
|
15996
|
+
db.exec(`ROLLBACK TO SAVEPOINT ${savepoint}`);
|
|
15997
|
+
} finally {
|
|
15998
|
+
try {
|
|
15999
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
16000
|
+
} catch {}
|
|
16001
|
+
}
|
|
16002
|
+
throw error;
|
|
16003
|
+
}
|
|
16004
|
+
}
|
|
16005
|
+
function up160(db) {
|
|
16006
|
+
db.exec(`
|
|
16007
|
+
CREATE TABLE IF NOT EXISTS import_admission_ledger (
|
|
16008
|
+
key TEXT NOT NULL, agent_id TEXT NOT NULL, workspace_id TEXT NOT NULL DEFAULT '', file_name TEXT NOT NULL,
|
|
16009
|
+
status TEXT NOT NULL CHECK (status IN ('pending','processing','imported','duplicate','failed','quarantined','original_unavailable')),
|
|
16010
|
+
original_path TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,
|
|
16011
|
+
request_fingerprint TEXT NOT NULL DEFAULT '', source_id TEXT, lease_token TEXT, lease_expires_at TEXT,
|
|
16012
|
+
attempt_count INTEGER NOT NULL DEFAULT 0, error TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL
|
|
16013
|
+
);
|
|
16014
|
+
CREATE TABLE IF NOT EXISTS import_admission_events (
|
|
16015
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT, admission_key TEXT NOT NULL, agent_id TEXT NOT NULL DEFAULT '',
|
|
16016
|
+
workspace_id TEXT NOT NULL DEFAULT '', event TEXT NOT NULL, created_at TEXT NOT NULL
|
|
16017
|
+
);
|
|
16018
|
+
`);
|
|
16019
|
+
addMissingColumns(db, "import_admission_ledger", [
|
|
16020
|
+
"agent_id TEXT NOT NULL DEFAULT ''",
|
|
16021
|
+
"workspace_id TEXT NOT NULL DEFAULT ''",
|
|
16022
|
+
"request_fingerprint TEXT NOT NULL DEFAULT ''",
|
|
16023
|
+
"source_id TEXT",
|
|
16024
|
+
"lease_token TEXT",
|
|
16025
|
+
"lease_expires_at TEXT",
|
|
16026
|
+
"attempt_count INTEGER NOT NULL DEFAULT 0",
|
|
16027
|
+
"error TEXT"
|
|
16028
|
+
]);
|
|
16029
|
+
addMissingColumns(db, "import_admission_events", [
|
|
16030
|
+
"agent_id TEXT NOT NULL DEFAULT ''",
|
|
16031
|
+
"workspace_id TEXT NOT NULL DEFAULT ''"
|
|
16032
|
+
]);
|
|
16033
|
+
rebuildLedgerWithoutGlobalKeyPrimaryKey(db);
|
|
16034
|
+
db.exec(`
|
|
16035
|
+
CREATE UNIQUE INDEX IF NOT EXISTS uq_import_admission_scope_key ON import_admission_ledger(key, agent_id, workspace_id);
|
|
16036
|
+
CREATE INDEX IF NOT EXISTS idx_import_admission_status ON import_admission_ledger(agent_id, workspace_id, status, updated_at);
|
|
16037
|
+
CREATE INDEX IF NOT EXISTS idx_import_admission_events_key ON import_admission_events(admission_key, agent_id, workspace_id, id);
|
|
16038
|
+
`);
|
|
16039
|
+
}
|
|
15943
16040
|
var MIGRATIONS = [
|
|
15944
16041
|
{
|
|
15945
16042
|
version: 1,
|
|
@@ -17228,6 +17325,18 @@ var MIGRATIONS = [
|
|
|
17228
17325
|
version: 159,
|
|
17229
17326
|
name: "retire-obsolete-invocation-ledger",
|
|
17230
17327
|
up: up5
|
|
17328
|
+
},
|
|
17329
|
+
{
|
|
17330
|
+
version: 160,
|
|
17331
|
+
name: "import-admission-ledger",
|
|
17332
|
+
up: up160,
|
|
17333
|
+
artifacts: {
|
|
17334
|
+
tables: ["import_admission_ledger", "import_admission_events"],
|
|
17335
|
+
indexes: ["idx_import_admission_status", "idx_import_admission_events_key"],
|
|
17336
|
+
columns: [
|
|
17337
|
+
...["workspace_id", "request_fingerprint", "source_id", "lease_token", "lease_expires_at", "attempt_count"].map((column) => ({ table: "import_admission_ledger", column }))
|
|
17338
|
+
]
|
|
17339
|
+
}
|
|
17231
17340
|
}
|
|
17232
17341
|
];
|
|
17233
17342
|
var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
|
|
@@ -17242,6 +17351,98 @@ function expandHome(p2, home = homedir2()) {
|
|
|
17242
17351
|
return join2(home, p2.slice(2));
|
|
17243
17352
|
return p2;
|
|
17244
17353
|
}
|
|
17354
|
+
var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
|
|
17355
|
+
var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
|
|
17356
|
+
var SIGNET_GIT_PROTECTED_PATHS = [
|
|
17357
|
+
".daemon",
|
|
17358
|
+
".secrets",
|
|
17359
|
+
".shadow",
|
|
17360
|
+
"cache",
|
|
17361
|
+
"data",
|
|
17362
|
+
"files",
|
|
17363
|
+
"runtime",
|
|
17364
|
+
"workspace-layout.json",
|
|
17365
|
+
"node_modules",
|
|
17366
|
+
":(glob)**/node_modules/**",
|
|
17367
|
+
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}`,
|
|
17368
|
+
"memory/backups",
|
|
17369
|
+
"memory/memories.db",
|
|
17370
|
+
":(glob)memory/memories.db*",
|
|
17371
|
+
":(glob)memory/**/*.db",
|
|
17372
|
+
":(glob)memory/**/*.db-*",
|
|
17373
|
+
":(glob)memory/**/*.db-journal",
|
|
17374
|
+
":(glob)memory/**/*.db-shm",
|
|
17375
|
+
":(glob)memory/**/*.db-wal",
|
|
17376
|
+
":(glob)memory/**/*.sqlite",
|
|
17377
|
+
":(glob)memory/**/*.sqlite3",
|
|
17378
|
+
":(glob)**/*.db",
|
|
17379
|
+
":(glob)**/*.db-*",
|
|
17380
|
+
":(glob)**/*.db-journal",
|
|
17381
|
+
":(glob)**/*.db-shm",
|
|
17382
|
+
":(glob)**/*.db-wal",
|
|
17383
|
+
":(glob)**/*.sqlite",
|
|
17384
|
+
":(glob)**/*.sqlite3"
|
|
17385
|
+
];
|
|
17386
|
+
var SIGNET_GIT_TRACKED_PATHS = [
|
|
17387
|
+
"*.md",
|
|
17388
|
+
":(glob)**/*.md",
|
|
17389
|
+
"*.json",
|
|
17390
|
+
":(glob)**/*.json",
|
|
17391
|
+
"*.jsonl",
|
|
17392
|
+
":(glob)**/*.jsonl",
|
|
17393
|
+
"*.html",
|
|
17394
|
+
":(glob)**/*.html",
|
|
17395
|
+
"*.yaml",
|
|
17396
|
+
":(glob)**/*.yaml",
|
|
17397
|
+
"*.yml",
|
|
17398
|
+
":(glob)**/*.yml",
|
|
17399
|
+
...SIGNET_GIT_ALLOWED_DIRECTORIES
|
|
17400
|
+
];
|
|
17401
|
+
var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
|
|
17402
|
+
".daemon/",
|
|
17403
|
+
".secrets/",
|
|
17404
|
+
".shadow/",
|
|
17405
|
+
"cache/",
|
|
17406
|
+
"data/",
|
|
17407
|
+
"files/",
|
|
17408
|
+
"runtime/",
|
|
17409
|
+
"workspace-layout.json",
|
|
17410
|
+
"node_modules/",
|
|
17411
|
+
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}/`,
|
|
17412
|
+
"memory/memories.db*",
|
|
17413
|
+
"memory/**/*.db",
|
|
17414
|
+
"memory/**/*.db-*",
|
|
17415
|
+
"memory/**/*.db-journal",
|
|
17416
|
+
"memory/**/*.db-shm",
|
|
17417
|
+
"memory/**/*.db-wal",
|
|
17418
|
+
"memory/**/*.sqlite",
|
|
17419
|
+
"memory/**/*.sqlite3",
|
|
17420
|
+
"memory/backups/",
|
|
17421
|
+
"*.db",
|
|
17422
|
+
"*.db-*",
|
|
17423
|
+
"*.db-journal",
|
|
17424
|
+
"*.db-shm",
|
|
17425
|
+
"*.db-wal",
|
|
17426
|
+
"*.sqlite",
|
|
17427
|
+
"*.sqlite3"
|
|
17428
|
+
];
|
|
17429
|
+
var DESCRIPTOR_ROOT = process.platform === "linux" ? "/proc/self/fd" : process.platform === "darwin" ? "/dev/fd" : undefined;
|
|
17430
|
+
var DIRECTORY_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_DIRECTORY ?? 0) | (fsConstants.O_NOFOLLOW ?? 0);
|
|
17431
|
+
var FILE_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_NOFOLLOW ?? 0) | (fsConstants.O_NONBLOCK ?? 0);
|
|
17432
|
+
var NOFOLLOW = fsConstants.O_NOFOLLOW ?? 0;
|
|
17433
|
+
var PROTECTION_COMPONENT_IDS = [
|
|
17434
|
+
"root-authored",
|
|
17435
|
+
"skills",
|
|
17436
|
+
"managed-originals",
|
|
17437
|
+
"sqlite",
|
|
17438
|
+
"transcripts",
|
|
17439
|
+
"external-sources",
|
|
17440
|
+
"runtime",
|
|
17441
|
+
"filesystem-cache",
|
|
17442
|
+
"secrets"
|
|
17443
|
+
];
|
|
17444
|
+
var ORDER = new Map(PROTECTION_COMPONENT_IDS.map((id, index) => [id, index]));
|
|
17445
|
+
var BLOCKING = new Set(["missing", "stale", "degraded"]);
|
|
17245
17446
|
var STATES = new Set([
|
|
17246
17447
|
"found",
|
|
17247
17448
|
"missing",
|
|
@@ -17338,7 +17539,7 @@ function resolveSignetDaemonUrl(opts = {}) {
|
|
|
17338
17539
|
var WORKSPACE_ENV_KEYS = ["SIGNET_PATH", "SIGNET_WORKSPACE"];
|
|
17339
17540
|
var DEFAULT_AGENTS_DIRNAME = ".agents";
|
|
17340
17541
|
function normalizeWorkspacePath(pathValue, home = homedir4()) {
|
|
17341
|
-
return
|
|
17542
|
+
return resolve7(expandHome(pathValue.trim(), home));
|
|
17342
17543
|
}
|
|
17343
17544
|
function readTrimmedEnv(env, name) {
|
|
17344
17545
|
const value = env[name];
|
|
@@ -17350,13 +17551,13 @@ function readTrimmedEnv(env, name) {
|
|
|
17350
17551
|
function readConfigHome(env, home) {
|
|
17351
17552
|
const raw = env.XDG_CONFIG_HOME;
|
|
17352
17553
|
if (typeof raw !== "string")
|
|
17353
|
-
return
|
|
17554
|
+
return join13(home, ".config");
|
|
17354
17555
|
const trimmed = raw.trim();
|
|
17355
|
-
return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) :
|
|
17556
|
+
return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) : join13(home, ".config");
|
|
17356
17557
|
}
|
|
17357
17558
|
function isExistingDirectory(path) {
|
|
17358
17559
|
try {
|
|
17359
|
-
return
|
|
17560
|
+
return statSync5(path).isDirectory();
|
|
17360
17561
|
} catch {
|
|
17361
17562
|
return false;
|
|
17362
17563
|
}
|
|
@@ -17365,16 +17566,16 @@ function isRecord5(value) {
|
|
|
17365
17566
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
17366
17567
|
}
|
|
17367
17568
|
function getWorkspaceConfigPath(env = process.env, home = homedir4()) {
|
|
17368
|
-
return
|
|
17569
|
+
return join13(readConfigHome(env, home), "signet", "workspace.json");
|
|
17369
17570
|
}
|
|
17370
17571
|
function readConfiguredWorkspacePath(env = process.env, home = homedir4(), options = {}) {
|
|
17371
17572
|
const strict = options.strict ?? true;
|
|
17372
17573
|
const configPath = getWorkspaceConfigPath(env, home);
|
|
17373
|
-
if (!
|
|
17574
|
+
if (!existsSync12(configPath))
|
|
17374
17575
|
return null;
|
|
17375
17576
|
let raw;
|
|
17376
17577
|
try {
|
|
17377
|
-
raw = JSON.parse(
|
|
17578
|
+
raw = JSON.parse(readFileSync9(configPath, "utf-8"));
|
|
17378
17579
|
} catch (err) {
|
|
17379
17580
|
if (!strict)
|
|
17380
17581
|
return null;
|
|
@@ -17419,7 +17620,7 @@ function resolveWorkspacePath(options = {}) {
|
|
|
17419
17620
|
};
|
|
17420
17621
|
}
|
|
17421
17622
|
return {
|
|
17422
|
-
path:
|
|
17623
|
+
path: join13(home, DEFAULT_AGENTS_DIRNAME),
|
|
17423
17624
|
source: "default",
|
|
17424
17625
|
configPath,
|
|
17425
17626
|
configuredPath: configValue
|
|
@@ -17442,81 +17643,18 @@ try {
|
|
|
17442
17643
|
const esmRequire = createRequire2(import.meta.url);
|
|
17443
17644
|
native = esmRequire("@signet/native");
|
|
17444
17645
|
} catch {}
|
|
17445
|
-
var GRAPHIQ_DEFAULT_INSTALL_DIR =
|
|
17446
|
-
var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
|
|
17447
|
-
var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
|
|
17448
|
-
var SIGNET_GIT_PROTECTED_PATHS = [
|
|
17449
|
-
".daemon",
|
|
17450
|
-
".shadow",
|
|
17451
|
-
"node_modules",
|
|
17452
|
-
":(glob)**/node_modules/**",
|
|
17453
|
-
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}`,
|
|
17454
|
-
"memory/backups",
|
|
17455
|
-
"memory/memories.db",
|
|
17456
|
-
":(glob)memory/memories.db*",
|
|
17457
|
-
":(glob)memory/**/*.db",
|
|
17458
|
-
":(glob)memory/**/*.db-*",
|
|
17459
|
-
":(glob)memory/**/*.db-journal",
|
|
17460
|
-
":(glob)memory/**/*.db-shm",
|
|
17461
|
-
":(glob)memory/**/*.db-wal",
|
|
17462
|
-
":(glob)memory/**/*.sqlite",
|
|
17463
|
-
":(glob)memory/**/*.sqlite3",
|
|
17464
|
-
":(glob)**/*.db",
|
|
17465
|
-
":(glob)**/*.db-*",
|
|
17466
|
-
":(glob)**/*.db-journal",
|
|
17467
|
-
":(glob)**/*.db-shm",
|
|
17468
|
-
":(glob)**/*.db-wal",
|
|
17469
|
-
":(glob)**/*.sqlite",
|
|
17470
|
-
":(glob)**/*.sqlite3"
|
|
17471
|
-
];
|
|
17472
|
-
var SIGNET_GIT_TRACKED_PATHS = [
|
|
17473
|
-
"*.md",
|
|
17474
|
-
":(glob)**/*.md",
|
|
17475
|
-
"*.json",
|
|
17476
|
-
":(glob)**/*.json",
|
|
17477
|
-
"*.jsonl",
|
|
17478
|
-
":(glob)**/*.jsonl",
|
|
17479
|
-
"*.html",
|
|
17480
|
-
":(glob)**/*.html",
|
|
17481
|
-
"*.yaml",
|
|
17482
|
-
":(glob)**/*.yaml",
|
|
17483
|
-
"*.yml",
|
|
17484
|
-
":(glob)**/*.yml",
|
|
17485
|
-
...SIGNET_GIT_ALLOWED_DIRECTORIES
|
|
17486
|
-
];
|
|
17487
|
-
var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
|
|
17488
|
-
".daemon/",
|
|
17489
|
-
".shadow/",
|
|
17490
|
-
"node_modules/",
|
|
17491
|
-
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}/`,
|
|
17492
|
-
"memory/memories.db*",
|
|
17493
|
-
"memory/**/*.db",
|
|
17494
|
-
"memory/**/*.db-*",
|
|
17495
|
-
"memory/**/*.db-journal",
|
|
17496
|
-
"memory/**/*.db-shm",
|
|
17497
|
-
"memory/**/*.db-wal",
|
|
17498
|
-
"memory/**/*.sqlite",
|
|
17499
|
-
"memory/**/*.sqlite3",
|
|
17500
|
-
"memory/backups/",
|
|
17501
|
-
"*.db",
|
|
17502
|
-
"*.db-*",
|
|
17503
|
-
"*.db-journal",
|
|
17504
|
-
"*.db-shm",
|
|
17505
|
-
"*.db-wal",
|
|
17506
|
-
"*.sqlite",
|
|
17507
|
-
"*.sqlite3"
|
|
17508
|
-
];
|
|
17646
|
+
var GRAPHIQ_DEFAULT_INSTALL_DIR = join14(homedir5(), ".local", "bin");
|
|
17509
17647
|
var DEFAULT_DISCORD_DESKTOP_CACHE_PATH = defaultDiscordDesktopCachePath();
|
|
17510
17648
|
var DEFAULT_GITHUB_RESOURCE_TYPES = ["issues", "pulls", "discussions", "docs"];
|
|
17511
17649
|
var VALID_GITHUB_RESOURCE_TYPES = new Set(DEFAULT_GITHUB_RESOURCE_TYPES);
|
|
17512
17650
|
function defaultDiscordDesktopCachePath() {
|
|
17513
17651
|
switch (platform2()) {
|
|
17514
17652
|
case "darwin":
|
|
17515
|
-
return
|
|
17653
|
+
return resolve9(homedir6(), "Library", "Application Support", "discord");
|
|
17516
17654
|
case "win32":
|
|
17517
|
-
return
|
|
17655
|
+
return resolve9(process.env.APPDATA || resolve9(homedir6(), "AppData", "Roaming"), "discord");
|
|
17518
17656
|
default:
|
|
17519
|
-
return
|
|
17657
|
+
return resolve9(process.env.XDG_CONFIG_HOME || resolve9(homedir6(), ".config"), "discord");
|
|
17520
17658
|
}
|
|
17521
17659
|
}
|
|
17522
17660
|
var IDENTITY_FILES = {
|
|
@@ -17576,7 +17714,7 @@ var REQUIRED_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) =>
|
|
|
17576
17714
|
var OPTIONAL_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) => spec.optional).map(([key]) => key);
|
|
17577
17715
|
function linkDirSync(target, path) {
|
|
17578
17716
|
const type = process.platform === "win32" ? "junction" : "dir";
|
|
17579
|
-
|
|
17717
|
+
symlinkSync2(target, path, type);
|
|
17580
17718
|
}
|
|
17581
17719
|
function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
17582
17720
|
const result = {
|
|
@@ -17584,19 +17722,19 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
|
17584
17722
|
skipped: [],
|
|
17585
17723
|
errors: []
|
|
17586
17724
|
};
|
|
17587
|
-
if (!
|
|
17725
|
+
if (!existsSync18(sourceDir)) {
|
|
17588
17726
|
return result;
|
|
17589
17727
|
}
|
|
17590
|
-
const targetParent =
|
|
17591
|
-
if (!
|
|
17592
|
-
|
|
17728
|
+
const targetParent = join18(targetDir, "..");
|
|
17729
|
+
if (!existsSync18(targetParent)) {
|
|
17730
|
+
mkdirSync10(targetParent, { recursive: true });
|
|
17593
17731
|
}
|
|
17594
|
-
if (!
|
|
17595
|
-
|
|
17732
|
+
if (!existsSync18(targetDir)) {
|
|
17733
|
+
mkdirSync10(targetDir, { recursive: true });
|
|
17596
17734
|
}
|
|
17597
17735
|
let entries;
|
|
17598
17736
|
try {
|
|
17599
|
-
entries =
|
|
17737
|
+
entries = readdirSync9(sourceDir);
|
|
17600
17738
|
} catch (e) {
|
|
17601
17739
|
result.errors.push({
|
|
17602
17740
|
path: sourceDir,
|
|
@@ -17605,10 +17743,10 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
|
17605
17743
|
return result;
|
|
17606
17744
|
}
|
|
17607
17745
|
for (const entry of entries) {
|
|
17608
|
-
const srcPath =
|
|
17609
|
-
const destPath =
|
|
17746
|
+
const srcPath = join18(sourceDir, entry);
|
|
17747
|
+
const destPath = join18(targetDir, entry);
|
|
17610
17748
|
try {
|
|
17611
|
-
const src =
|
|
17749
|
+
const src = lstatSync3(srcPath);
|
|
17612
17750
|
if (src.isSymbolicLink() || !src.isDirectory()) {
|
|
17613
17751
|
result.skipped.push(srcPath);
|
|
17614
17752
|
continue;
|
|
@@ -17621,7 +17759,7 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
|
17621
17759
|
continue;
|
|
17622
17760
|
}
|
|
17623
17761
|
try {
|
|
17624
|
-
const destStat =
|
|
17762
|
+
const destStat = lstatSync3(destPath);
|
|
17625
17763
|
if (destStat.isSymbolicLink()) {
|
|
17626
17764
|
if (!options.dryRun) {
|
|
17627
17765
|
unlinkSync2(destPath);
|
|
@@ -17673,7 +17811,7 @@ function normalizePath(pathValue, env, legacyTildeExpansion = false) {
|
|
|
17673
17811
|
const trimmed = pathValue.trim();
|
|
17674
17812
|
const home2 = userHome(env);
|
|
17675
17813
|
const expanded = legacyTildeExpansion && trimmed.startsWith("~") ? join3(home2, trimmed.slice(1)) : expandHome(trimmed, home2);
|
|
17676
|
-
return
|
|
17814
|
+
return resolve3(expanded);
|
|
17677
17815
|
}
|
|
17678
17816
|
function readConfigHome2(env, legacyTildeExpansion = false) {
|
|
17679
17817
|
const configured = readTrimmed(env, "XDG_CONFIG_HOME");
|
|
@@ -17725,7 +17863,7 @@ function createAgentDir(config) {
|
|
|
17725
17863
|
};
|
|
17726
17864
|
const clearConfiguredAgentDir = (env = process.env) => {
|
|
17727
17865
|
try {
|
|
17728
|
-
|
|
17866
|
+
rmSync(getConfigPath(env), { force: true });
|
|
17729
17867
|
} catch {}
|
|
17730
17868
|
};
|
|
17731
17869
|
return {
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ import { dirname as dirname2, isAbsolute, join as join3, relative, sep } from "n
|
|
|
40
40
|
|
|
41
41
|
// ../../platform/core/dist/index.js
|
|
42
42
|
import { createRequire } from "node:module";
|
|
43
|
-
import { dirname, join } from "node:path";
|
|
43
|
+
import { dirname, join, resolve } from "node:path";
|
|
44
44
|
import { fileURLToPath } from "node:url";
|
|
45
45
|
import {
|
|
46
46
|
execFile as nodeExecFile,
|
|
@@ -52,29 +52,30 @@ import {
|
|
|
52
52
|
import { promisify } from "node:util";
|
|
53
53
|
import { createHash } from "node:crypto";
|
|
54
54
|
import { homedir as homedir2 } from "node:os";
|
|
55
|
-
import { join as join2, resolve } from "node:path";
|
|
55
|
+
import { join as join2, resolve as resolve2 } from "node:path";
|
|
56
|
+
import { constants as fsConstants } from "node:fs";
|
|
56
57
|
import {
|
|
57
|
-
closeSync as
|
|
58
|
-
existsSync as
|
|
58
|
+
closeSync as closeSync3,
|
|
59
|
+
existsSync as existsSync12,
|
|
59
60
|
fsyncSync as fsyncSync2,
|
|
60
|
-
mkdirSync as
|
|
61
|
-
openSync as
|
|
62
|
-
readFileSync as
|
|
63
|
-
renameSync as
|
|
64
|
-
rmSync,
|
|
65
|
-
statSync as
|
|
61
|
+
mkdirSync as mkdirSync6,
|
|
62
|
+
openSync as openSync3,
|
|
63
|
+
readFileSync as readFileSync9,
|
|
64
|
+
renameSync as renameSync3,
|
|
65
|
+
rmSync as rmSync3,
|
|
66
|
+
statSync as statSync5,
|
|
66
67
|
writeSync
|
|
67
68
|
} from "node:fs";
|
|
68
69
|
import { homedir as homedir4 } from "node:os";
|
|
69
|
-
import { dirname as
|
|
70
|
+
import { dirname as dirname5, join as join13, resolve as resolve7 } from "node:path";
|
|
70
71
|
import { createRequire as createRequire2 } from "node:module";
|
|
71
72
|
import { homedir as homedir5 } from "node:os";
|
|
72
|
-
import { dirname as
|
|
73
|
+
import { dirname as dirname6, join as join14, resolve as resolve8 } from "node:path";
|
|
73
74
|
import { homedir as homedir6, platform as platform2 } from "node:os";
|
|
74
|
-
import { basename, dirname as
|
|
75
|
+
import { basename, dirname as dirname7, resolve as resolve9 } from "node:path";
|
|
75
76
|
import { homedir as homedir8 } from "node:os";
|
|
76
|
-
import { existsSync as
|
|
77
|
-
import { join as
|
|
77
|
+
import { existsSync as existsSync18, lstatSync as lstatSync3, mkdirSync as mkdirSync10, readdirSync as readdirSync9, symlinkSync as symlinkSync2, unlinkSync as unlinkSync2 } from "node:fs";
|
|
78
|
+
import { join as join18 } from "node:path";
|
|
78
79
|
var __create2 = Object.create;
|
|
79
80
|
var __getProtoOf2 = Object.getPrototypeOf;
|
|
80
81
|
var __defProp2 = Object.defineProperty;
|
|
@@ -15941,6 +15942,102 @@ function up159(db) {
|
|
|
15941
15942
|
ON memories(agent_id, memory_kind);
|
|
15942
15943
|
`);
|
|
15943
15944
|
}
|
|
15945
|
+
var ledgerColumns = [
|
|
15946
|
+
"key",
|
|
15947
|
+
"agent_id",
|
|
15948
|
+
"workspace_id",
|
|
15949
|
+
"file_name",
|
|
15950
|
+
"status",
|
|
15951
|
+
"original_path",
|
|
15952
|
+
"sha256",
|
|
15953
|
+
"size_bytes",
|
|
15954
|
+
"request_fingerprint",
|
|
15955
|
+
"source_id",
|
|
15956
|
+
"lease_token",
|
|
15957
|
+
"lease_expires_at",
|
|
15958
|
+
"attempt_count",
|
|
15959
|
+
"error",
|
|
15960
|
+
"created_at",
|
|
15961
|
+
"updated_at"
|
|
15962
|
+
];
|
|
15963
|
+
function columns(db, table) {
|
|
15964
|
+
return new Set(db.prepare(`PRAGMA table_info(${table})`).all().map((row) => String(row.name)));
|
|
15965
|
+
}
|
|
15966
|
+
function addMissingColumns(db, table, definitions) {
|
|
15967
|
+
const present = columns(db, table);
|
|
15968
|
+
for (const definition of definitions) {
|
|
15969
|
+
const name = definition.split(" ", 1)[0];
|
|
15970
|
+
if (!present.has(name))
|
|
15971
|
+
db.exec(`ALTER TABLE ${table} ADD COLUMN ${definition}`);
|
|
15972
|
+
}
|
|
15973
|
+
}
|
|
15974
|
+
function rebuildLedgerWithoutGlobalKeyPrimaryKey(db) {
|
|
15975
|
+
const keyInfo = db.prepare("PRAGMA table_info(import_admission_ledger)").all().find((row) => row.name === "key");
|
|
15976
|
+
if (!keyInfo || Number(keyInfo.pk) === 0)
|
|
15977
|
+
return;
|
|
15978
|
+
const savepoint = "migration_158_rebuild_ledger";
|
|
15979
|
+
db.exec(`SAVEPOINT ${savepoint}`);
|
|
15980
|
+
try {
|
|
15981
|
+
db.exec(`
|
|
15982
|
+
CREATE TABLE import_admission_ledger_v158 (
|
|
15983
|
+
key TEXT NOT NULL, agent_id TEXT NOT NULL DEFAULT '', workspace_id TEXT NOT NULL DEFAULT '',
|
|
15984
|
+
file_name TEXT NOT NULL, status TEXT NOT NULL CHECK (status IN ('pending','processing','imported','duplicate','failed','quarantined','original_unavailable')),
|
|
15985
|
+
original_path TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,
|
|
15986
|
+
request_fingerprint TEXT NOT NULL DEFAULT '', source_id TEXT, lease_token TEXT, lease_expires_at TEXT,
|
|
15987
|
+
attempt_count INTEGER NOT NULL DEFAULT 0, error TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL
|
|
15988
|
+
);
|
|
15989
|
+
INSERT INTO import_admission_ledger_v158 (${ledgerColumns.join(",")})
|
|
15990
|
+
SELECT ${ledgerColumns.join(",")} FROM import_admission_ledger;
|
|
15991
|
+
DROP TABLE import_admission_ledger;
|
|
15992
|
+
ALTER TABLE import_admission_ledger_v158 RENAME TO import_admission_ledger;
|
|
15993
|
+
`);
|
|
15994
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
15995
|
+
} catch (error) {
|
|
15996
|
+
try {
|
|
15997
|
+
db.exec(`ROLLBACK TO SAVEPOINT ${savepoint}`);
|
|
15998
|
+
} finally {
|
|
15999
|
+
try {
|
|
16000
|
+
db.exec(`RELEASE ${savepoint}`);
|
|
16001
|
+
} catch {}
|
|
16002
|
+
}
|
|
16003
|
+
throw error;
|
|
16004
|
+
}
|
|
16005
|
+
}
|
|
16006
|
+
function up160(db) {
|
|
16007
|
+
db.exec(`
|
|
16008
|
+
CREATE TABLE IF NOT EXISTS import_admission_ledger (
|
|
16009
|
+
key TEXT NOT NULL, agent_id TEXT NOT NULL, workspace_id TEXT NOT NULL DEFAULT '', file_name TEXT NOT NULL,
|
|
16010
|
+
status TEXT NOT NULL CHECK (status IN ('pending','processing','imported','duplicate','failed','quarantined','original_unavailable')),
|
|
16011
|
+
original_path TEXT NOT NULL, sha256 TEXT NOT NULL, size_bytes INTEGER NOT NULL,
|
|
16012
|
+
request_fingerprint TEXT NOT NULL DEFAULT '', source_id TEXT, lease_token TEXT, lease_expires_at TEXT,
|
|
16013
|
+
attempt_count INTEGER NOT NULL DEFAULT 0, error TEXT, created_at TEXT NOT NULL, updated_at TEXT NOT NULL
|
|
16014
|
+
);
|
|
16015
|
+
CREATE TABLE IF NOT EXISTS import_admission_events (
|
|
16016
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT, admission_key TEXT NOT NULL, agent_id TEXT NOT NULL DEFAULT '',
|
|
16017
|
+
workspace_id TEXT NOT NULL DEFAULT '', event TEXT NOT NULL, created_at TEXT NOT NULL
|
|
16018
|
+
);
|
|
16019
|
+
`);
|
|
16020
|
+
addMissingColumns(db, "import_admission_ledger", [
|
|
16021
|
+
"agent_id TEXT NOT NULL DEFAULT ''",
|
|
16022
|
+
"workspace_id TEXT NOT NULL DEFAULT ''",
|
|
16023
|
+
"request_fingerprint TEXT NOT NULL DEFAULT ''",
|
|
16024
|
+
"source_id TEXT",
|
|
16025
|
+
"lease_token TEXT",
|
|
16026
|
+
"lease_expires_at TEXT",
|
|
16027
|
+
"attempt_count INTEGER NOT NULL DEFAULT 0",
|
|
16028
|
+
"error TEXT"
|
|
16029
|
+
]);
|
|
16030
|
+
addMissingColumns(db, "import_admission_events", [
|
|
16031
|
+
"agent_id TEXT NOT NULL DEFAULT ''",
|
|
16032
|
+
"workspace_id TEXT NOT NULL DEFAULT ''"
|
|
16033
|
+
]);
|
|
16034
|
+
rebuildLedgerWithoutGlobalKeyPrimaryKey(db);
|
|
16035
|
+
db.exec(`
|
|
16036
|
+
CREATE UNIQUE INDEX IF NOT EXISTS uq_import_admission_scope_key ON import_admission_ledger(key, agent_id, workspace_id);
|
|
16037
|
+
CREATE INDEX IF NOT EXISTS idx_import_admission_status ON import_admission_ledger(agent_id, workspace_id, status, updated_at);
|
|
16038
|
+
CREATE INDEX IF NOT EXISTS idx_import_admission_events_key ON import_admission_events(admission_key, agent_id, workspace_id, id);
|
|
16039
|
+
`);
|
|
16040
|
+
}
|
|
15944
16041
|
var MIGRATIONS = [
|
|
15945
16042
|
{
|
|
15946
16043
|
version: 1,
|
|
@@ -17229,6 +17326,18 @@ var MIGRATIONS = [
|
|
|
17229
17326
|
version: 159,
|
|
17230
17327
|
name: "retire-obsolete-invocation-ledger",
|
|
17231
17328
|
up: up5
|
|
17329
|
+
},
|
|
17330
|
+
{
|
|
17331
|
+
version: 160,
|
|
17332
|
+
name: "import-admission-ledger",
|
|
17333
|
+
up: up160,
|
|
17334
|
+
artifacts: {
|
|
17335
|
+
tables: ["import_admission_ledger", "import_admission_events"],
|
|
17336
|
+
indexes: ["idx_import_admission_status", "idx_import_admission_events_key"],
|
|
17337
|
+
columns: [
|
|
17338
|
+
...["workspace_id", "request_fingerprint", "source_id", "lease_token", "lease_expires_at", "attempt_count"].map((column) => ({ table: "import_admission_ledger", column }))
|
|
17339
|
+
]
|
|
17340
|
+
}
|
|
17232
17341
|
}
|
|
17233
17342
|
];
|
|
17234
17343
|
var LATEST_SCHEMA_VERSION = MIGRATIONS[MIGRATIONS.length - 1]?.version ?? 0;
|
|
@@ -17243,6 +17352,98 @@ function expandHome(p2, home = homedir2()) {
|
|
|
17243
17352
|
return join2(home, p2.slice(2));
|
|
17244
17353
|
return p2;
|
|
17245
17354
|
}
|
|
17355
|
+
var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
|
|
17356
|
+
var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
|
|
17357
|
+
var SIGNET_GIT_PROTECTED_PATHS = [
|
|
17358
|
+
".daemon",
|
|
17359
|
+
".secrets",
|
|
17360
|
+
".shadow",
|
|
17361
|
+
"cache",
|
|
17362
|
+
"data",
|
|
17363
|
+
"files",
|
|
17364
|
+
"runtime",
|
|
17365
|
+
"workspace-layout.json",
|
|
17366
|
+
"node_modules",
|
|
17367
|
+
":(glob)**/node_modules/**",
|
|
17368
|
+
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}`,
|
|
17369
|
+
"memory/backups",
|
|
17370
|
+
"memory/memories.db",
|
|
17371
|
+
":(glob)memory/memories.db*",
|
|
17372
|
+
":(glob)memory/**/*.db",
|
|
17373
|
+
":(glob)memory/**/*.db-*",
|
|
17374
|
+
":(glob)memory/**/*.db-journal",
|
|
17375
|
+
":(glob)memory/**/*.db-shm",
|
|
17376
|
+
":(glob)memory/**/*.db-wal",
|
|
17377
|
+
":(glob)memory/**/*.sqlite",
|
|
17378
|
+
":(glob)memory/**/*.sqlite3",
|
|
17379
|
+
":(glob)**/*.db",
|
|
17380
|
+
":(glob)**/*.db-*",
|
|
17381
|
+
":(glob)**/*.db-journal",
|
|
17382
|
+
":(glob)**/*.db-shm",
|
|
17383
|
+
":(glob)**/*.db-wal",
|
|
17384
|
+
":(glob)**/*.sqlite",
|
|
17385
|
+
":(glob)**/*.sqlite3"
|
|
17386
|
+
];
|
|
17387
|
+
var SIGNET_GIT_TRACKED_PATHS = [
|
|
17388
|
+
"*.md",
|
|
17389
|
+
":(glob)**/*.md",
|
|
17390
|
+
"*.json",
|
|
17391
|
+
":(glob)**/*.json",
|
|
17392
|
+
"*.jsonl",
|
|
17393
|
+
":(glob)**/*.jsonl",
|
|
17394
|
+
"*.html",
|
|
17395
|
+
":(glob)**/*.html",
|
|
17396
|
+
"*.yaml",
|
|
17397
|
+
":(glob)**/*.yaml",
|
|
17398
|
+
"*.yml",
|
|
17399
|
+
":(glob)**/*.yml",
|
|
17400
|
+
...SIGNET_GIT_ALLOWED_DIRECTORIES
|
|
17401
|
+
];
|
|
17402
|
+
var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
|
|
17403
|
+
".daemon/",
|
|
17404
|
+
".secrets/",
|
|
17405
|
+
".shadow/",
|
|
17406
|
+
"cache/",
|
|
17407
|
+
"data/",
|
|
17408
|
+
"files/",
|
|
17409
|
+
"runtime/",
|
|
17410
|
+
"workspace-layout.json",
|
|
17411
|
+
"node_modules/",
|
|
17412
|
+
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}/`,
|
|
17413
|
+
"memory/memories.db*",
|
|
17414
|
+
"memory/**/*.db",
|
|
17415
|
+
"memory/**/*.db-*",
|
|
17416
|
+
"memory/**/*.db-journal",
|
|
17417
|
+
"memory/**/*.db-shm",
|
|
17418
|
+
"memory/**/*.db-wal",
|
|
17419
|
+
"memory/**/*.sqlite",
|
|
17420
|
+
"memory/**/*.sqlite3",
|
|
17421
|
+
"memory/backups/",
|
|
17422
|
+
"*.db",
|
|
17423
|
+
"*.db-*",
|
|
17424
|
+
"*.db-journal",
|
|
17425
|
+
"*.db-shm",
|
|
17426
|
+
"*.db-wal",
|
|
17427
|
+
"*.sqlite",
|
|
17428
|
+
"*.sqlite3"
|
|
17429
|
+
];
|
|
17430
|
+
var DESCRIPTOR_ROOT = process.platform === "linux" ? "/proc/self/fd" : process.platform === "darwin" ? "/dev/fd" : undefined;
|
|
17431
|
+
var DIRECTORY_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_DIRECTORY ?? 0) | (fsConstants.O_NOFOLLOW ?? 0);
|
|
17432
|
+
var FILE_FLAGS = fsConstants.O_RDONLY | (fsConstants.O_NOFOLLOW ?? 0) | (fsConstants.O_NONBLOCK ?? 0);
|
|
17433
|
+
var NOFOLLOW = fsConstants.O_NOFOLLOW ?? 0;
|
|
17434
|
+
var PROTECTION_COMPONENT_IDS = [
|
|
17435
|
+
"root-authored",
|
|
17436
|
+
"skills",
|
|
17437
|
+
"managed-originals",
|
|
17438
|
+
"sqlite",
|
|
17439
|
+
"transcripts",
|
|
17440
|
+
"external-sources",
|
|
17441
|
+
"runtime",
|
|
17442
|
+
"filesystem-cache",
|
|
17443
|
+
"secrets"
|
|
17444
|
+
];
|
|
17445
|
+
var ORDER = new Map(PROTECTION_COMPONENT_IDS.map((id, index) => [id, index]));
|
|
17446
|
+
var BLOCKING = new Set(["missing", "stale", "degraded"]);
|
|
17246
17447
|
var STATES = new Set([
|
|
17247
17448
|
"found",
|
|
17248
17449
|
"missing",
|
|
@@ -17339,7 +17540,7 @@ function resolveSignetDaemonUrl(opts = {}) {
|
|
|
17339
17540
|
var WORKSPACE_ENV_KEYS = ["SIGNET_PATH", "SIGNET_WORKSPACE"];
|
|
17340
17541
|
var DEFAULT_AGENTS_DIRNAME = ".agents";
|
|
17341
17542
|
function normalizeWorkspacePath(pathValue, home = homedir4()) {
|
|
17342
|
-
return
|
|
17543
|
+
return resolve7(expandHome(pathValue.trim(), home));
|
|
17343
17544
|
}
|
|
17344
17545
|
function readTrimmedEnv(env, name) {
|
|
17345
17546
|
const value = env[name];
|
|
@@ -17351,13 +17552,13 @@ function readTrimmedEnv(env, name) {
|
|
|
17351
17552
|
function readConfigHome(env, home) {
|
|
17352
17553
|
const raw = env.XDG_CONFIG_HOME;
|
|
17353
17554
|
if (typeof raw !== "string")
|
|
17354
|
-
return
|
|
17555
|
+
return join13(home, ".config");
|
|
17355
17556
|
const trimmed = raw.trim();
|
|
17356
|
-
return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) :
|
|
17557
|
+
return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) : join13(home, ".config");
|
|
17357
17558
|
}
|
|
17358
17559
|
function isExistingDirectory(path) {
|
|
17359
17560
|
try {
|
|
17360
|
-
return
|
|
17561
|
+
return statSync5(path).isDirectory();
|
|
17361
17562
|
} catch {
|
|
17362
17563
|
return false;
|
|
17363
17564
|
}
|
|
@@ -17366,16 +17567,16 @@ function isRecord5(value) {
|
|
|
17366
17567
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
17367
17568
|
}
|
|
17368
17569
|
function getWorkspaceConfigPath(env = process.env, home = homedir4()) {
|
|
17369
|
-
return
|
|
17570
|
+
return join13(readConfigHome(env, home), "signet", "workspace.json");
|
|
17370
17571
|
}
|
|
17371
17572
|
function readConfiguredWorkspacePath(env = process.env, home = homedir4(), options = {}) {
|
|
17372
17573
|
const strict = options.strict ?? true;
|
|
17373
17574
|
const configPath = getWorkspaceConfigPath(env, home);
|
|
17374
|
-
if (!
|
|
17575
|
+
if (!existsSync12(configPath))
|
|
17375
17576
|
return null;
|
|
17376
17577
|
let raw;
|
|
17377
17578
|
try {
|
|
17378
|
-
raw = JSON.parse(
|
|
17579
|
+
raw = JSON.parse(readFileSync9(configPath, "utf-8"));
|
|
17379
17580
|
} catch (err) {
|
|
17380
17581
|
if (!strict)
|
|
17381
17582
|
return null;
|
|
@@ -17420,7 +17621,7 @@ function resolveWorkspacePath(options = {}) {
|
|
|
17420
17621
|
};
|
|
17421
17622
|
}
|
|
17422
17623
|
return {
|
|
17423
|
-
path:
|
|
17624
|
+
path: join13(home, DEFAULT_AGENTS_DIRNAME),
|
|
17424
17625
|
source: "default",
|
|
17425
17626
|
configPath,
|
|
17426
17627
|
configuredPath: configValue
|
|
@@ -17443,81 +17644,18 @@ try {
|
|
|
17443
17644
|
const esmRequire = createRequire2(import.meta.url);
|
|
17444
17645
|
native = esmRequire("@signet/native");
|
|
17445
17646
|
} catch {}
|
|
17446
|
-
var GRAPHIQ_DEFAULT_INSTALL_DIR =
|
|
17447
|
-
var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
|
|
17448
|
-
var SIGNET_GIT_ALLOWED_DIRECTORIES = ["skills", "tools", "dreaming"];
|
|
17449
|
-
var SIGNET_GIT_PROTECTED_PATHS = [
|
|
17450
|
-
".daemon",
|
|
17451
|
-
".shadow",
|
|
17452
|
-
"node_modules",
|
|
17453
|
-
":(glob)**/node_modules/**",
|
|
17454
|
-
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}`,
|
|
17455
|
-
"memory/backups",
|
|
17456
|
-
"memory/memories.db",
|
|
17457
|
-
":(glob)memory/memories.db*",
|
|
17458
|
-
":(glob)memory/**/*.db",
|
|
17459
|
-
":(glob)memory/**/*.db-*",
|
|
17460
|
-
":(glob)memory/**/*.db-journal",
|
|
17461
|
-
":(glob)memory/**/*.db-shm",
|
|
17462
|
-
":(glob)memory/**/*.db-wal",
|
|
17463
|
-
":(glob)memory/**/*.sqlite",
|
|
17464
|
-
":(glob)memory/**/*.sqlite3",
|
|
17465
|
-
":(glob)**/*.db",
|
|
17466
|
-
":(glob)**/*.db-*",
|
|
17467
|
-
":(glob)**/*.db-journal",
|
|
17468
|
-
":(glob)**/*.db-shm",
|
|
17469
|
-
":(glob)**/*.db-wal",
|
|
17470
|
-
":(glob)**/*.sqlite",
|
|
17471
|
-
":(glob)**/*.sqlite3"
|
|
17472
|
-
];
|
|
17473
|
-
var SIGNET_GIT_TRACKED_PATHS = [
|
|
17474
|
-
"*.md",
|
|
17475
|
-
":(glob)**/*.md",
|
|
17476
|
-
"*.json",
|
|
17477
|
-
":(glob)**/*.json",
|
|
17478
|
-
"*.jsonl",
|
|
17479
|
-
":(glob)**/*.jsonl",
|
|
17480
|
-
"*.html",
|
|
17481
|
-
":(glob)**/*.html",
|
|
17482
|
-
"*.yaml",
|
|
17483
|
-
":(glob)**/*.yaml",
|
|
17484
|
-
"*.yml",
|
|
17485
|
-
":(glob)**/*.yml",
|
|
17486
|
-
...SIGNET_GIT_ALLOWED_DIRECTORIES
|
|
17487
|
-
];
|
|
17488
|
-
var SIGNET_GITIGNORE_PROTECTED_PATTERNS = [
|
|
17489
|
-
".daemon/",
|
|
17490
|
-
".shadow/",
|
|
17491
|
-
"node_modules/",
|
|
17492
|
-
`${SIGNET_SOURCE_CHECKOUT_DIRNAME}/`,
|
|
17493
|
-
"memory/memories.db*",
|
|
17494
|
-
"memory/**/*.db",
|
|
17495
|
-
"memory/**/*.db-*",
|
|
17496
|
-
"memory/**/*.db-journal",
|
|
17497
|
-
"memory/**/*.db-shm",
|
|
17498
|
-
"memory/**/*.db-wal",
|
|
17499
|
-
"memory/**/*.sqlite",
|
|
17500
|
-
"memory/**/*.sqlite3",
|
|
17501
|
-
"memory/backups/",
|
|
17502
|
-
"*.db",
|
|
17503
|
-
"*.db-*",
|
|
17504
|
-
"*.db-journal",
|
|
17505
|
-
"*.db-shm",
|
|
17506
|
-
"*.db-wal",
|
|
17507
|
-
"*.sqlite",
|
|
17508
|
-
"*.sqlite3"
|
|
17509
|
-
];
|
|
17647
|
+
var GRAPHIQ_DEFAULT_INSTALL_DIR = join14(homedir5(), ".local", "bin");
|
|
17510
17648
|
var DEFAULT_DISCORD_DESKTOP_CACHE_PATH = defaultDiscordDesktopCachePath();
|
|
17511
17649
|
var DEFAULT_GITHUB_RESOURCE_TYPES = ["issues", "pulls", "discussions", "docs"];
|
|
17512
17650
|
var VALID_GITHUB_RESOURCE_TYPES = new Set(DEFAULT_GITHUB_RESOURCE_TYPES);
|
|
17513
17651
|
function defaultDiscordDesktopCachePath() {
|
|
17514
17652
|
switch (platform2()) {
|
|
17515
17653
|
case "darwin":
|
|
17516
|
-
return
|
|
17654
|
+
return resolve9(homedir6(), "Library", "Application Support", "discord");
|
|
17517
17655
|
case "win32":
|
|
17518
|
-
return
|
|
17656
|
+
return resolve9(process.env.APPDATA || resolve9(homedir6(), "AppData", "Roaming"), "discord");
|
|
17519
17657
|
default:
|
|
17520
|
-
return
|
|
17658
|
+
return resolve9(process.env.XDG_CONFIG_HOME || resolve9(homedir6(), ".config"), "discord");
|
|
17521
17659
|
}
|
|
17522
17660
|
}
|
|
17523
17661
|
var IDENTITY_FILES = {
|
|
@@ -17577,7 +17715,7 @@ var REQUIRED_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) =>
|
|
|
17577
17715
|
var OPTIONAL_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) => spec.optional).map(([key]) => key);
|
|
17578
17716
|
function linkDirSync(target, path) {
|
|
17579
17717
|
const type = process.platform === "win32" ? "junction" : "dir";
|
|
17580
|
-
|
|
17718
|
+
symlinkSync2(target, path, type);
|
|
17581
17719
|
}
|
|
17582
17720
|
function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
17583
17721
|
const result = {
|
|
@@ -17585,19 +17723,19 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
|
17585
17723
|
skipped: [],
|
|
17586
17724
|
errors: []
|
|
17587
17725
|
};
|
|
17588
|
-
if (!
|
|
17726
|
+
if (!existsSync18(sourceDir)) {
|
|
17589
17727
|
return result;
|
|
17590
17728
|
}
|
|
17591
|
-
const targetParent =
|
|
17592
|
-
if (!
|
|
17593
|
-
|
|
17729
|
+
const targetParent = join18(targetDir, "..");
|
|
17730
|
+
if (!existsSync18(targetParent)) {
|
|
17731
|
+
mkdirSync10(targetParent, { recursive: true });
|
|
17594
17732
|
}
|
|
17595
|
-
if (!
|
|
17596
|
-
|
|
17733
|
+
if (!existsSync18(targetDir)) {
|
|
17734
|
+
mkdirSync10(targetDir, { recursive: true });
|
|
17597
17735
|
}
|
|
17598
17736
|
let entries;
|
|
17599
17737
|
try {
|
|
17600
|
-
entries =
|
|
17738
|
+
entries = readdirSync9(sourceDir);
|
|
17601
17739
|
} catch (e) {
|
|
17602
17740
|
result.errors.push({
|
|
17603
17741
|
path: sourceDir,
|
|
@@ -17606,10 +17744,10 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
|
17606
17744
|
return result;
|
|
17607
17745
|
}
|
|
17608
17746
|
for (const entry of entries) {
|
|
17609
|
-
const srcPath =
|
|
17610
|
-
const destPath =
|
|
17747
|
+
const srcPath = join18(sourceDir, entry);
|
|
17748
|
+
const destPath = join18(targetDir, entry);
|
|
17611
17749
|
try {
|
|
17612
|
-
const src =
|
|
17750
|
+
const src = lstatSync3(srcPath);
|
|
17613
17751
|
if (src.isSymbolicLink() || !src.isDirectory()) {
|
|
17614
17752
|
result.skipped.push(srcPath);
|
|
17615
17753
|
continue;
|
|
@@ -17622,7 +17760,7 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
|
|
|
17622
17760
|
continue;
|
|
17623
17761
|
}
|
|
17624
17762
|
try {
|
|
17625
|
-
const destStat =
|
|
17763
|
+
const destStat = lstatSync3(destPath);
|
|
17626
17764
|
if (destStat.isSymbolicLink()) {
|
|
17627
17765
|
if (!options.dryRun) {
|
|
17628
17766
|
unlinkSync2(destPath);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signetai/connector-base",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.228.0",
|
|
4
4
|
"description": "Base class for Signet harness connectors",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"typecheck": "tsc --noEmit"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@signetai/core": "0.
|
|
33
|
+
"@signetai/core": "0.228.0",
|
|
34
34
|
"json5": "^2.2.3",
|
|
35
35
|
"jsonc-parser": "3.3.1"
|
|
36
36
|
},
|