@signetai/core 0.200.3 → 0.200.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -23,6 +23,8 @@ export type { NetworkMode } from "./network";
23
23
  export { loadConfiguredHarnesses, parseHarnessList } from "./harness-config";
24
24
  export { resolveSignetDaemonUrl } from "./daemon-url";
25
25
  export type { SignetDaemonUrlOptions } from "./daemon-url";
26
+ export { buildLaunchdEnvironment, buildLaunchdPlist, resolveLaunchdExecutable, } from "./launchd";
27
+ export type { LaunchdEnvironmentInput, LaunchdPlistInput } from "./launchd";
26
28
  export { composeApiUserContent, escapeMemoryContextForFence, StreamingMemoryContextScrubber, stripInternalMemoryContext, wrapMemoryContext, } from "./memory-context";
27
29
  export { type WorkspaceSource, type WorkspaceResolution, type ResolveWorkspacePathOptions, type WorkspaceFileSystem, WORKSPACE_ENV_KEYS, normalizeWorkspacePath, getWorkspaceConfigPath, readConfiguredWorkspacePath, writeConfiguredWorkspacePath, clearConfiguredWorkspacePath, resolveWorkspacePath, } from "./workspace";
28
30
  export { search, vectorSearch, keywordSearch, hybridSearch, cosineSimilarity, buildFtsMatchQuery, type SearchOptions, type SearchResult, type VectorSearchOptions, type HybridSearchOptions, } from "./search";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14384,6 +14384,105 @@ function resolveSignetDaemonUrl(opts = {}) {
14384
14384
  const port = normalizePort(readEnv(env, "SIGNET_PORT"), fallbackPort);
14385
14385
  return normalizeDaemonUrl(`http://${bracketIpv6Host(host)}:${port}`, "SIGNET_HOST/SIGNET_PORT");
14386
14386
  }
14387
+ // src/launchd.ts
14388
+ import { accessSync, constants, statSync } from "node:fs";
14389
+ import { homedir as homedir3 } from "node:os";
14390
+ import { delimiter, dirname as dirname2, join as join5 } from "node:path";
14391
+ var CRITICAL_EXECUTABLES = ["git", "bun", "npx", "python3"];
14392
+ var FALLBACK_EXECUTABLE_PATHS = {
14393
+ git: ["/usr/bin/git", "/usr/local/bin/git", "/opt/homebrew/bin/git"],
14394
+ bun: ["/opt/homebrew/bin/bun", "/usr/local/bin/bun", "/usr/bin/bun"],
14395
+ npx: ["/opt/homebrew/bin/npx", "/usr/local/bin/npx", "/usr/bin/npx"],
14396
+ python3: ["/usr/bin/python3", "/usr/local/bin/python3", "/opt/homebrew/bin/python3"]
14397
+ };
14398
+ function isExecutableFile(path) {
14399
+ try {
14400
+ accessSync(path, constants.X_OK);
14401
+ return statSync(path).isFile();
14402
+ } catch {
14403
+ return false;
14404
+ }
14405
+ }
14406
+ function unique(values) {
14407
+ return [...new Set(values.filter((value) => value.length > 0))];
14408
+ }
14409
+ function resolveLaunchdExecutable(name, input = {}) {
14410
+ const environment = input.environment ?? process.env;
14411
+ const home = input.home ?? environment.HOME ?? homedir3();
14412
+ const pathEntries = unique([
14413
+ ...(input.pathValue ?? environment.PATH ?? "").split(delimiter),
14414
+ join5(home, ".bun", "bin"),
14415
+ join5(home, "bin"),
14416
+ "/opt/homebrew/bin",
14417
+ "/usr/local/bin",
14418
+ "/usr/bin",
14419
+ "/bin"
14420
+ ]);
14421
+ for (const directory of pathEntries) {
14422
+ const candidate = join5(directory, name);
14423
+ if (isExecutableFile(candidate))
14424
+ return candidate;
14425
+ }
14426
+ return FALLBACK_EXECUTABLE_PATHS[name].find(isExecutableFile) ?? FALLBACK_EXECUTABLE_PATHS[name][0];
14427
+ }
14428
+ function buildLaunchdEnvironment(input = {}) {
14429
+ const environment = input.environment ?? process.env;
14430
+ const home = input.home ?? environment.HOME ?? homedir3();
14431
+ const basePath = input.pathValue ?? environment.PATH ?? "";
14432
+ const resolvedPaths = CRITICAL_EXECUTABLES.map((name) => dirname2(resolveLaunchdExecutable(name, input)));
14433
+ const pathValue = unique([
14434
+ ...resolvedPaths,
14435
+ join5(home, ".bun", "bin"),
14436
+ join5(home, "bin"),
14437
+ ...basePath.split(delimiter),
14438
+ "/opt/homebrew/bin",
14439
+ "/usr/local/bin",
14440
+ "/usr/bin",
14441
+ "/bin"
14442
+ ]).join(delimiter);
14443
+ return {
14444
+ ...input.values,
14445
+ HOME: home,
14446
+ PATH: pathValue
14447
+ };
14448
+ }
14449
+ function xmlEscape(value) {
14450
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&apos;");
14451
+ }
14452
+ function buildLaunchdPlist(input) {
14453
+ const programArguments = input.programArguments.map((arg) => `
14454
+ <string>${xmlEscape(arg)}</string>`).join("");
14455
+ const environment = Object.entries(input.environment).map(([key, value]) => `
14456
+ <key>${xmlEscape(key)}</key>
14457
+ <string>${xmlEscape(value)}</string>`).join("");
14458
+ return `<?xml version="1.0" encoding="UTF-8"?>
14459
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
14460
+ <plist version="1.0">
14461
+ <dict>
14462
+ <key>Label</key>
14463
+ <string>${xmlEscape(input.label)}</string>
14464
+ <key>ProgramArguments</key>
14465
+ <array>${programArguments}
14466
+ </array>
14467
+ <key>EnvironmentVariables</key>
14468
+ <dict>${environment}
14469
+ </dict>
14470
+ <key>WorkingDirectory</key>
14471
+ <string>${xmlEscape(input.workingDirectory)}</string>
14472
+ <key>RunAtLoad</key>
14473
+ <true/>
14474
+ <key>KeepAlive</key>
14475
+ <true/>
14476
+ <key>StandardOutPath</key>
14477
+ <string>${xmlEscape(input.standardOutPath)}</string>
14478
+ <key>StandardErrorPath</key>
14479
+ <string>${xmlEscape(input.standardErrorPath)}</string>
14480
+ <key>ProcessType</key>
14481
+ <string>Background</string>
14482
+ </dict>
14483
+ </plist>
14484
+ `;
14485
+ }
14387
14486
  // src/memory-context.ts
14388
14487
  var INTERNAL_FENCE_NAMES = ["signet-memory-context", "signet-memory", "memory-context"];
14389
14488
  var FENCE_PREFIXES = [
@@ -14634,11 +14733,11 @@ import {
14634
14733
  readFileSync as readFileSync3,
14635
14734
  renameSync,
14636
14735
  rmSync,
14637
- statSync,
14736
+ statSync as statSync2,
14638
14737
  writeSync
14639
14738
  } from "node:fs";
14640
- import { homedir as homedir3 } from "node:os";
14641
- import { dirname as dirname2, join as join5, resolve } from "node:path";
14739
+ import { homedir as homedir4 } from "node:os";
14740
+ import { dirname as dirname3, join as join6, resolve } from "node:path";
14642
14741
  var defaultWorkspaceFileSystem = {
14643
14742
  closeSync,
14644
14743
  fsyncSync,
@@ -14649,7 +14748,7 @@ var defaultWorkspaceFileSystem = {
14649
14748
  };
14650
14749
  var WORKSPACE_ENV_KEYS = ["SIGNET_PATH", "SIGNET_WORKSPACE"];
14651
14750
  var DEFAULT_AGENTS_DIRNAME = ".agents";
14652
- function normalizeWorkspacePath(pathValue, home = homedir3()) {
14751
+ function normalizeWorkspacePath(pathValue, home = homedir4()) {
14653
14752
  return resolve(expandHome(pathValue.trim(), home));
14654
14753
  }
14655
14754
  function readTrimmedEnv(env, name) {
@@ -14662,13 +14761,13 @@ function readTrimmedEnv(env, name) {
14662
14761
  function readConfigHome(env, home) {
14663
14762
  const raw = env.XDG_CONFIG_HOME;
14664
14763
  if (typeof raw !== "string")
14665
- return join5(home, ".config");
14764
+ return join6(home, ".config");
14666
14765
  const trimmed = raw.trim();
14667
- return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) : join5(home, ".config");
14766
+ return trimmed.length > 0 ? normalizeWorkspacePath(trimmed, home) : join6(home, ".config");
14668
14767
  }
14669
14768
  function isExistingDirectory(path) {
14670
14769
  try {
14671
- return statSync(path).isDirectory();
14770
+ return statSync2(path).isDirectory();
14672
14771
  } catch {
14673
14772
  return false;
14674
14773
  }
@@ -14676,10 +14775,10 @@ function isExistingDirectory(path) {
14676
14775
  function isRecord4(value) {
14677
14776
  return typeof value === "object" && value !== null && !Array.isArray(value);
14678
14777
  }
14679
- function getWorkspaceConfigPath(env = process.env, home = homedir3()) {
14680
- return join5(readConfigHome(env, home), "signet", "workspace.json");
14778
+ function getWorkspaceConfigPath(env = process.env, home = homedir4()) {
14779
+ return join6(readConfigHome(env, home), "signet", "workspace.json");
14681
14780
  }
14682
- function readConfiguredWorkspacePath(env = process.env, home = homedir3(), _options = {}) {
14781
+ function readConfiguredWorkspacePath(env = process.env, home = homedir4(), _options = {}) {
14683
14782
  const configPath = getWorkspaceConfigPath(env, home);
14684
14783
  if (!existsSync4(configPath))
14685
14784
  return null;
@@ -14699,10 +14798,10 @@ function readConfiguredWorkspacePath(env = process.env, home = homedir3(), _opti
14699
14798
  }
14700
14799
  return normalizeWorkspacePath(workspace, home);
14701
14800
  }
14702
- function writeConfiguredWorkspacePath(pathValue, env = process.env, home = homedir3(), fileSystem = defaultWorkspaceFileSystem) {
14801
+ function writeConfiguredWorkspacePath(pathValue, env = process.env, home = homedir4(), fileSystem = defaultWorkspaceFileSystem) {
14703
14802
  const path = normalizeWorkspacePath(pathValue, home);
14704
14803
  const configPath = getWorkspaceConfigPath(env, home);
14705
- const configDir = dirname2(configPath);
14804
+ const configDir = dirname3(configPath);
14706
14805
  mkdirSync2(configDir, { recursive: true });
14707
14806
  const payload = {
14708
14807
  version: 1,
@@ -14744,7 +14843,7 @@ function clearConfiguredWorkspacePath(env = process.env) {
14744
14843
  }
14745
14844
  function resolveWorkspacePath(options = {}) {
14746
14845
  const env = options.env ?? process.env;
14747
- const home = options.home ?? homedir3();
14846
+ const home = options.home ?? homedir4();
14748
14847
  const requireExistingEnvPath = options.requireExistingEnvPath ?? false;
14749
14848
  const configPath = getWorkspaceConfigPath(env, home);
14750
14849
  const envPath = resolveEnvWorkspace(env, home, requireExistingEnvPath);
@@ -14766,7 +14865,7 @@ function resolveWorkspacePath(options = {}) {
14766
14865
  };
14767
14866
  }
14768
14867
  return {
14769
- path: join5(home, DEFAULT_AGENTS_DIRNAME),
14868
+ path: join6(home, DEFAULT_AGENTS_DIRNAME),
14770
14869
  source: "default",
14771
14870
  configPath,
14772
14871
  configuredPath: configValue
@@ -15530,16 +15629,16 @@ var SIGNET_PLUGIN_REGISTRY_FILE = "registry-v1.json";
15530
15629
  var SIGNET_PLUGIN_REGISTRY_VERSION = 1;
15531
15630
  // src/graphiq.ts
15532
15631
  import { existsSync as existsSync5, mkdirSync as mkdirSync3, readFileSync as readFileSync4, renameSync as renameSync2, rmSync as rmSync2, writeFileSync as writeFileSync2 } from "node:fs";
15533
- import { homedir as homedir4 } from "node:os";
15534
- import { dirname as dirname3, join as join6, resolve as resolve2 } from "node:path";
15632
+ import { homedir as homedir5 } from "node:os";
15633
+ import { dirname as dirname4, join as join7, resolve as resolve2 } from "node:path";
15535
15634
  var SIGNET_GRAPHIQ_STATE_FILE = ".daemon/graphiq/state.json";
15536
15635
  var GRAPHIQ_SYNCED_VERSION = "4.3.3";
15537
- var GRAPHIQ_DEFAULT_INSTALL_DIR = join6(homedir4(), ".local", "bin");
15636
+ var GRAPHIQ_DEFAULT_INSTALL_DIR = join7(homedir5(), ".local", "bin");
15538
15637
  function getGraphiqStatePath(basePath) {
15539
- return join6(basePath, SIGNET_GRAPHIQ_STATE_FILE);
15638
+ return join7(basePath, SIGNET_GRAPHIQ_STATE_FILE);
15540
15639
  }
15541
15640
  function getGraphiqProjectDbPath(projectPath) {
15542
- return join6(resolve2(projectPath), ".graphiq", "graphiq.db");
15641
+ return join7(resolve2(projectPath), ".graphiq", "graphiq.db");
15543
15642
  }
15544
15643
  function emptyGraphiqState(now = new Date) {
15545
15644
  return {
@@ -15563,7 +15662,7 @@ function readGraphiqState(basePath) {
15563
15662
  }
15564
15663
  function writeGraphiqState(basePath, state) {
15565
15664
  const path = getGraphiqStatePath(basePath);
15566
- mkdirSync3(dirname3(path), { recursive: true });
15665
+ mkdirSync3(dirname4(path), { recursive: true });
15567
15666
  writeFileSync2(path, `${JSON.stringify(state, null, 2)}
15568
15667
  `, { mode: 384 });
15569
15668
  }
@@ -15596,7 +15695,7 @@ function setGraphiqActiveProject(basePath, activeProject) {
15596
15695
  const fresh = readGraphiqState(basePath);
15597
15696
  const tmpPath = `${statePath}.tmp`;
15598
15697
  const next = { ...fresh, activeProject };
15599
- mkdirSync3(dirname3(statePath), { recursive: true });
15698
+ mkdirSync3(dirname4(statePath), { recursive: true });
15600
15699
  writeFileSync2(tmpPath, `${JSON.stringify(next, null, 2)}
15601
15700
  `, { mode: 384 });
15602
15701
  renameSync2(tmpPath, statePath);
@@ -15697,8 +15796,8 @@ function isRecord5(value) {
15697
15796
  }
15698
15797
  // src/workspace-source-repo.ts
15699
15798
  import { spawn, spawnSync } from "node:child_process";
15700
- import { closeSync as closeSync2, existsSync as existsSync6, mkdirSync as mkdirSync4, openSync as openSync2, readdirSync as readdirSync2, rmSync as rmSync3, statSync as statSync2, writeFileSync as writeFileSync3 } from "node:fs";
15701
- import { join as join7, resolve as resolve3 } from "node:path";
15799
+ import { closeSync as closeSync2, existsSync as existsSync6, mkdirSync as mkdirSync4, openSync as openSync2, readdirSync as readdirSync2, rmSync as rmSync3, statSync as statSync3, writeFileSync as writeFileSync3 } from "node:fs";
15800
+ import { join as join8, resolve as resolve3 } from "node:path";
15702
15801
  var SIGNET_SOURCE_CHECKOUT_DIRNAME = "signetai";
15703
15802
  var SIGNET_SOURCE_REMOTE_URL = "https://github.com/Signet-AI/signetai.git";
15704
15803
  var DEFAULT_GIT_TIMEOUT_MS = 60000;
@@ -15706,7 +15805,7 @@ var SOURCE_REPO_SYNC_LOCK_FILENAME = "source-repo-sync.lock";
15706
15805
  var SOURCE_REPO_SYNC_LOCK_STALE_MS = 5 * 60000;
15707
15806
  var SOURCE_REPO_SYNC_LOCK_WAIT_MS = 15000;
15708
15807
  function resolveWorkspaceSourceRepoPath(workspaceDir, repoDirName = SIGNET_SOURCE_CHECKOUT_DIRNAME) {
15709
- return join7(resolve3(workspaceDir), repoDirName);
15808
+ return join8(resolve3(workspaceDir), repoDirName);
15710
15809
  }
15711
15810
  function syncWorkspaceSourceRepo(workspaceDir, options = {}) {
15712
15811
  const timeoutMs = options.gitTimeoutMs ?? DEFAULT_GIT_TIMEOUT_MS;
@@ -15919,7 +16018,7 @@ function killGitProcessTree(proc, signal) {
15919
16018
  } catch {}
15920
16019
  }
15921
16020
  function hasGitMetadata(path) {
15922
- return existsSync6(join7(path, ".git"));
16021
+ return existsSync6(join8(path, ".git"));
15923
16022
  }
15924
16023
  function isEmptyDirectory(path) {
15925
16024
  if (!existsSync6(path)) {
@@ -16001,11 +16100,11 @@ function readErrorCode(err) {
16001
16100
  return typeof maybeErrno.code === "string" ? maybeErrno.code : null;
16002
16101
  }
16003
16102
  function sourceRepoSyncLockPath(workspaceDir) {
16004
- return join7(resolve3(workspaceDir), ".daemon", SOURCE_REPO_SYNC_LOCK_FILENAME);
16103
+ return join8(resolve3(workspaceDir), ".daemon", SOURCE_REPO_SYNC_LOCK_FILENAME);
16005
16104
  }
16006
16105
  function clearStaleSourceRepoSyncLock(path) {
16007
16106
  try {
16008
- const age = Date.now() - statSync2(path).mtimeMs;
16107
+ const age = Date.now() - statSync3(path).mtimeMs;
16009
16108
  if (age > SOURCE_REPO_SYNC_LOCK_STALE_MS) {
16010
16109
  rmSync3(path, { force: true });
16011
16110
  return true;
@@ -16106,7 +16205,7 @@ function sourceRepoSyncLockErrorResult(repoPath, detail) {
16106
16205
  };
16107
16206
  }
16108
16207
  function ensureDaemonDir(workspaceDir) {
16109
- const daemonDir = join7(resolve3(workspaceDir), ".daemon");
16208
+ const daemonDir = join8(resolve3(workspaceDir), ".daemon");
16110
16209
  try {
16111
16210
  mkdirSync4(daemonDir, { recursive: true });
16112
16211
  return { ok: true };
@@ -16433,9 +16532,9 @@ function escapeRegExp(value) {
16433
16532
  }
16434
16533
  // src/sources-config.ts
16435
16534
  import { createHash as createHash3, randomUUID as randomUUID2 } from "node:crypto";
16436
- import { existsSync as existsSync7, mkdirSync as mkdirSync5, readFileSync as readFileSync5, renameSync as renameSync3, rmSync as rmSync4, statSync as statSync3, writeFileSync as writeFileSync4 } from "node:fs";
16437
- import { homedir as homedir5, platform as platform2 } from "node:os";
16438
- import { basename, dirname as dirname4, resolve as resolve4 } from "node:path";
16535
+ import { existsSync as existsSync7, mkdirSync as mkdirSync5, readFileSync as readFileSync5, renameSync as renameSync3, rmSync as rmSync4, statSync as statSync4, writeFileSync as writeFileSync4 } from "node:fs";
16536
+ import { homedir as homedir6, platform as platform2 } from "node:os";
16537
+ import { basename, dirname as dirname5, resolve as resolve4 } from "node:path";
16439
16538
  var DEFAULT_OBSIDIAN_EXCLUDE_GLOBS = [
16440
16539
  "**/.obsidian/**",
16441
16540
  "**/.trash/**",
@@ -16456,7 +16555,7 @@ var DEFAULT_GITHUB_MAX_ITEMS_PER_REPO = 500;
16456
16555
  var MAX_GITHUB_MAX_ITEMS_PER_REPO = 1e4;
16457
16556
  var VALID_GITHUB_RESOURCE_TYPES = new Set(DEFAULT_GITHUB_RESOURCE_TYPES);
16458
16557
  function getAgentsDir() {
16459
- return process.env.SIGNET_PATH || `${homedir5()}/.agents`;
16558
+ return process.env.SIGNET_PATH || `${homedir6()}/.agents`;
16460
16559
  }
16461
16560
  function getSourcesConfigPath(agentsDir = getAgentsDir()) {
16462
16561
  return `${agentsDir.replace(/\/$/, "")}/sources.json`;
@@ -16480,7 +16579,7 @@ function loadSourcesConfig(agentsDir = getAgentsDir()) {
16480
16579
  }
16481
16580
  function saveSourcesConfig(config, agentsDir = getAgentsDir()) {
16482
16581
  const path = getSourcesConfigPath(agentsDir);
16483
- mkdirSync5(dirname4(path), { recursive: true });
16582
+ mkdirSync5(dirname5(path), { recursive: true });
16484
16583
  const tmp = `${path}.tmp-${process.pid}-${randomUUID2()}`;
16485
16584
  writeFileSync4(tmp, `${JSON.stringify(config, null, 2)}
16486
16585
  `, "utf8");
@@ -16869,7 +16968,7 @@ function addObsidianSourceChecked(input, agentsDir = getAgentsDir()) {
16869
16968
  if (!existsSync7(root))
16870
16969
  return { ok: false, error: `Obsidian vault path does not exist: ${root}` };
16871
16970
  try {
16872
- if (!statSync3(root).isDirectory())
16971
+ if (!statSync4(root).isDirectory())
16873
16972
  return { ok: false, error: `Obsidian vault path must be a directory: ${root}` };
16874
16973
  } catch {
16875
16974
  return { ok: false, error: `Obsidian vault path is not accessible: ${root}` };
@@ -16945,7 +17044,7 @@ function emptyConfig() {
16945
17044
  }
16946
17045
  function withSourcesConfigLock(agentsDir, fn) {
16947
17046
  const configPath = getSourcesConfigPath(agentsDir);
16948
- mkdirSync5(dirname4(configPath), { recursive: true });
17047
+ mkdirSync5(dirname5(configPath), { recursive: true });
16949
17048
  const lockDir = `${configPath}.lock`;
16950
17049
  let locked = false;
16951
17050
  for (let attempt = 0;attempt < 500; attempt++) {
@@ -16988,7 +17087,7 @@ function cleanDiscordChannelFilter(values) {
16988
17087
  }
16989
17088
  function cleanLocalPath(value) {
16990
17089
  const trimmed = value?.trim();
16991
- return trimmed ? resolve4(trimmed.replace(/^~(?=$|\/|\\)/, homedir5())) : undefined;
17090
+ return trimmed ? resolve4(trimmed.replace(/^~(?=$|\/|\\)/, homedir6())) : undefined;
16992
17091
  }
16993
17092
  function cleanGitHubRepos(values) {
16994
17093
  return Array.from(new Set(values.filter((value) => typeof value === "string").map((value) => value.trim()).filter(Boolean)));
@@ -17036,11 +17135,11 @@ function isDiscordSyncMode(value) {
17036
17135
  function defaultDiscordDesktopCachePath() {
17037
17136
  switch (platform2()) {
17038
17137
  case "darwin":
17039
- return resolve4(homedir5(), "Library", "Application Support", "discord");
17138
+ return resolve4(homedir6(), "Library", "Application Support", "discord");
17040
17139
  case "win32":
17041
- return resolve4(process.env.APPDATA || resolve4(homedir5(), "AppData", "Roaming"), "discord");
17140
+ return resolve4(process.env.APPDATA || resolve4(homedir6(), "AppData", "Roaming"), "discord");
17042
17141
  default:
17043
- return resolve4(process.env.XDG_CONFIG_HOME || resolve4(homedir5(), ".config"), "discord");
17142
+ return resolve4(process.env.XDG_CONFIG_HOME || resolve4(homedir6(), ".config"), "discord");
17044
17143
  }
17045
17144
  }
17046
17145
  function looksLikeDiscordDesktopCacheRoot(value) {
@@ -17099,8 +17198,8 @@ function isJsonValue(value) {
17099
17198
  var SOURCE_CHUNK_SOURCE_TYPE = "source_chunk";
17100
17199
  var LEGACY_OBSIDIAN_CHUNK_SOURCE_TYPE = "source_obsidian_chunk";
17101
17200
  // src/export.ts
17102
- import { existsSync as existsSync8, readFileSync as readFileSync6, readdirSync as readdirSync3, statSync as statSync4 } from "node:fs";
17103
- import { join as join8 } from "node:path";
17201
+ import { existsSync as existsSync8, readFileSync as readFileSync6, readdirSync as readdirSync3, statSync as statSync5 } from "node:fs";
17202
+ import { join as join9 } from "node:path";
17104
17203
  function recordImportedMemoryContentSafety(db, memoryId, content) {
17105
17204
  if (db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get("memory_content_safety") == null) {
17106
17205
  return;
@@ -17127,13 +17226,13 @@ var IDENTITY_FILE_NAMES = [
17127
17226
  ];
17128
17227
  function collectExportData(agentsDir, db, options = {}) {
17129
17228
  let agentYaml = null;
17130
- const yamlPath = join8(agentsDir, "agent.yaml");
17229
+ const yamlPath = join9(agentsDir, "agent.yaml");
17131
17230
  if (existsSync8(yamlPath)) {
17132
17231
  agentYaml = readFileSync6(yamlPath, "utf-8");
17133
17232
  }
17134
17233
  const identityFiles = [];
17135
17234
  for (const name of IDENTITY_FILE_NAMES) {
17136
- const path = join8(agentsDir, name);
17235
+ const path = join9(agentsDir, name);
17137
17236
  if (existsSync8(path)) {
17138
17237
  identityFiles.push({ name, content: readFileSync6(path, "utf-8") });
17139
17238
  }
@@ -17153,14 +17252,14 @@ function collectExportData(agentsDir, db, options = {}) {
17153
17252
  ORDER BY created_at ASC`).all();
17154
17253
  const skills = [];
17155
17254
  if (options.includeSkills !== false) {
17156
- const skillsDir = join8(agentsDir, "skills");
17255
+ const skillsDir = join9(agentsDir, "skills");
17157
17256
  if (existsSync8(skillsDir)) {
17158
17257
  try {
17159
17258
  const entries = readdirSync3(skillsDir, { withFileTypes: true });
17160
17259
  for (const entry of entries) {
17161
17260
  if (!entry.isDirectory())
17162
17261
  continue;
17163
- const skillDir = join8(skillsDir, entry.name);
17262
+ const skillDir = join9(skillsDir, entry.name);
17164
17263
  const skillFiles = [];
17165
17264
  collectSkillFiles(skillDir, "", skillFiles);
17166
17265
  skills.push({ name: entry.name, files: skillFiles });
@@ -17191,12 +17290,12 @@ function collectSkillFiles(dir, prefix, out) {
17191
17290
  try {
17192
17291
  const entries = readdirSync3(dir, { withFileTypes: true });
17193
17292
  for (const entry of entries) {
17194
- const fullPath = join8(dir, entry.name);
17293
+ const fullPath = join9(dir, entry.name);
17195
17294
  const relPath = prefix ? `${prefix}/${entry.name}` : entry.name;
17196
17295
  if (entry.isDirectory()) {
17197
17296
  collectSkillFiles(fullPath, relPath, out);
17198
17297
  } else {
17199
- const stat = statSync4(fullPath);
17298
+ const stat = statSync5(fullPath);
17200
17299
  if (stat.size > 1e6)
17201
17300
  continue;
17202
17301
  try {
@@ -17335,14 +17434,14 @@ function importRelations(db, relationsJsonl) {
17335
17434
  }
17336
17435
  // src/identity.ts
17337
17436
  import { execFileSync as execFileSync2 } from "node:child_process";
17338
- import { existsSync as existsSync11, readFileSync as readFileSync9, readdirSync as readdirSync4, realpathSync, statSync as statSync5 } from "node:fs";
17339
- import { homedir as homedir8 } from "node:os";
17340
- import { dirname as dirname7, join as join11 } from "node:path";
17437
+ import { existsSync as existsSync11, readFileSync as readFileSync9, readdirSync as readdirSync4, realpathSync, statSync as statSync6 } from "node:fs";
17438
+ import { homedir as homedir9 } from "node:os";
17439
+ import { dirname as dirname8, join as join12 } from "node:path";
17341
17440
 
17342
17441
  // src/oh-my-pi.ts
17343
17442
  import { existsSync as existsSync9, mkdirSync as mkdirSync6, readFileSync as readFileSync7, rmSync as rmSync5, writeFileSync as writeFileSync5 } from "node:fs";
17344
- import { homedir as homedir6 } from "node:os";
17345
- import { dirname as dirname5, join as join9, resolve as resolve5 } from "node:path";
17443
+ import { homedir as homedir7 } from "node:os";
17444
+ import { dirname as dirname6, join as join10, resolve as resolve5 } from "node:path";
17346
17445
  function readTrimmed(env, name) {
17347
17446
  const raw = env[name];
17348
17447
  if (typeof raw !== "string")
@@ -17355,10 +17454,10 @@ function normalizePath(pathValue) {
17355
17454
  }
17356
17455
  function readConfigHome2(env) {
17357
17456
  const configured = readTrimmed(env, "XDG_CONFIG_HOME");
17358
- return configured ? normalizePath(configured) : join9(homedir6(), ".config");
17457
+ return configured ? normalizePath(configured) : join10(homedir7(), ".config");
17359
17458
  }
17360
17459
  function getOhMyPiConfigPath(env = process.env) {
17361
- return join9(readConfigHome2(env), "signet", "oh-my-pi.json");
17460
+ return join10(readConfigHome2(env), "signet", "oh-my-pi.json");
17362
17461
  }
17363
17462
  function readConfiguredOhMyPiAgentDir(env = process.env) {
17364
17463
  const configPath = getOhMyPiConfigPath(env);
@@ -17378,10 +17477,10 @@ function resolveOhMyPiAgentDir(env = process.env) {
17378
17477
  const configured = readTrimmed(env, "PI_CODING_AGENT_DIR");
17379
17478
  if (configured)
17380
17479
  return normalizePath(configured);
17381
- return readConfiguredOhMyPiAgentDir(env) ?? join9(homedir6(), ".omp", "agent");
17480
+ return readConfiguredOhMyPiAgentDir(env) ?? join10(homedir7(), ".omp", "agent");
17382
17481
  }
17383
17482
  function resolveOhMyPiExtensionsDir(env = process.env) {
17384
- return join9(resolveOhMyPiAgentDir(env), "extensions");
17483
+ return join10(resolveOhMyPiAgentDir(env), "extensions");
17385
17484
  }
17386
17485
  function listOhMyPiAgentDirCandidates(env = process.env) {
17387
17486
  const candidates = new Set;
@@ -17391,7 +17490,7 @@ function listOhMyPiAgentDirCandidates(env = process.env) {
17391
17490
  const persisted = readConfiguredOhMyPiAgentDir(env);
17392
17491
  if (persisted)
17393
17492
  candidates.add(persisted);
17394
- candidates.add(join9(homedir6(), ".omp", "agent"));
17493
+ candidates.add(join10(homedir7(), ".omp", "agent"));
17395
17494
  return Array.from(candidates);
17396
17495
  }
17397
17496
  function writeConfiguredOhMyPiAgentDir(pathValue, env = process.env) {
@@ -17400,7 +17499,7 @@ function writeConfiguredOhMyPiAgentDir(pathValue, env = process.env) {
17400
17499
  if (readConfiguredOhMyPiAgentDir(env) === agentDir && existsSync9(configPath)) {
17401
17500
  return configPath;
17402
17501
  }
17403
- mkdirSync6(dirname5(configPath), { recursive: true });
17502
+ mkdirSync6(dirname6(configPath), { recursive: true });
17404
17503
  const payload = {
17405
17504
  version: 1,
17406
17505
  agentDir,
@@ -17421,8 +17520,8 @@ function clearConfiguredOhMyPiAgentDir(env = process.env) {
17421
17520
 
17422
17521
  // src/pi.ts
17423
17522
  import { existsSync as existsSync10, mkdirSync as mkdirSync7, readFileSync as readFileSync8, rmSync as rmSync6, writeFileSync as writeFileSync6 } from "node:fs";
17424
- import { homedir as homedir7 } from "node:os";
17425
- import { dirname as dirname6, join as join10, resolve as resolve6 } from "node:path";
17523
+ import { homedir as homedir8 } from "node:os";
17524
+ import { dirname as dirname7, join as join11, resolve as resolve6 } from "node:path";
17426
17525
  function readTrimmed2(env, name) {
17427
17526
  const raw = env[name];
17428
17527
  if (typeof raw !== "string")
@@ -17433,11 +17532,11 @@ function readTrimmed2(env, name) {
17433
17532
  function expandUserPath(pathValue) {
17434
17533
  const trimmed = pathValue.trim();
17435
17534
  if (trimmed === "~")
17436
- return homedir7();
17535
+ return homedir8();
17437
17536
  if (trimmed.startsWith("~/"))
17438
- return join10(homedir7(), trimmed.slice(2));
17537
+ return join11(homedir8(), trimmed.slice(2));
17439
17538
  if (trimmed.startsWith("~"))
17440
- return join10(homedir7(), trimmed.slice(1));
17539
+ return join11(homedir8(), trimmed.slice(1));
17441
17540
  return trimmed;
17442
17541
  }
17443
17542
  function normalizePath2(pathValue) {
@@ -17445,10 +17544,10 @@ function normalizePath2(pathValue) {
17445
17544
  }
17446
17545
  function readConfigHome3(env) {
17447
17546
  const configured = readTrimmed2(env, "XDG_CONFIG_HOME");
17448
- return configured ? normalizePath2(configured) : join10(homedir7(), ".config");
17547
+ return configured ? normalizePath2(configured) : join11(homedir8(), ".config");
17449
17548
  }
17450
17549
  function getPiConfigPath(env = process.env) {
17451
- return join10(readConfigHome3(env), "signet", "pi.json");
17550
+ return join11(readConfigHome3(env), "signet", "pi.json");
17452
17551
  }
17453
17552
  function readConfiguredPiAgentDir(env = process.env) {
17454
17553
  const configPath = getPiConfigPath(env);
@@ -17468,10 +17567,10 @@ function resolvePiAgentDir(env = process.env) {
17468
17567
  const configured = readTrimmed2(env, "PI_CODING_AGENT_DIR");
17469
17568
  if (configured)
17470
17569
  return normalizePath2(configured);
17471
- return readConfiguredPiAgentDir(env) ?? join10(homedir7(), ".pi", "agent");
17570
+ return readConfiguredPiAgentDir(env) ?? join11(homedir8(), ".pi", "agent");
17472
17571
  }
17473
17572
  function resolvePiExtensionsDir(env = process.env) {
17474
- return join10(resolvePiAgentDir(env), "extensions");
17573
+ return join11(resolvePiAgentDir(env), "extensions");
17475
17574
  }
17476
17575
  function listPiAgentDirCandidates(env = process.env) {
17477
17576
  const candidates = new Set;
@@ -17481,7 +17580,7 @@ function listPiAgentDirCandidates(env = process.env) {
17481
17580
  const persisted = readConfiguredPiAgentDir(env);
17482
17581
  if (persisted)
17483
17582
  candidates.add(persisted);
17484
- candidates.add(join10(homedir7(), ".pi", "agent"));
17583
+ candidates.add(join11(homedir8(), ".pi", "agent"));
17485
17584
  return Array.from(candidates);
17486
17585
  }
17487
17586
  function writeConfiguredPiAgentDir(pathValue, env = process.env) {
@@ -17490,7 +17589,7 @@ function writeConfiguredPiAgentDir(pathValue, env = process.env) {
17490
17589
  if (readConfiguredPiAgentDir(env) === agentDir && existsSync10(configPath)) {
17491
17590
  return configPath;
17492
17591
  }
17493
- mkdirSync7(dirname6(configPath), { recursive: true });
17592
+ mkdirSync7(dirname7(configPath), { recursive: true });
17494
17593
  const payload = {
17495
17594
  version: 1,
17496
17595
  agentDir,
@@ -17519,7 +17618,7 @@ var PI_MANAGED_MARKER = "SIGNET_MANAGED_PI_EXTENSION";
17519
17618
  function resolveAgentBasePath(agentName, workspaceDir) {
17520
17619
  if (agentName === "default")
17521
17620
  return workspaceDir;
17522
- return join11(workspaceDir, "agents", agentName);
17621
+ return join12(workspaceDir, "agents", agentName);
17523
17622
  }
17524
17623
  var IDENTITY_MODES = ["managed", "off"];
17525
17624
  var IDENTITY_FILES = {
@@ -17618,9 +17717,9 @@ var REQUIRED_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) =>
17618
17717
  var OPTIONAL_IDENTITY_KEYS = Object.entries(IDENTITY_FILES).filter(([, spec]) => spec.optional).map(([key]) => key);
17619
17718
  function isSignetManagedOhMyPiInstall() {
17620
17719
  for (const agentDir of listOhMyPiAgentDirCandidates()) {
17621
- const extensionsDir = join11(agentDir, "extensions");
17720
+ const extensionsDir = join12(agentDir, "extensions");
17622
17721
  for (const filename of [OH_MY_PI_MANAGED_EXTENSION_FILENAME, OH_MY_PI_LEGACY_MANAGED_EXTENSION_FILENAME]) {
17623
- const extensionPath = join11(extensionsDir, filename);
17722
+ const extensionPath = join12(extensionsDir, filename);
17624
17723
  if (!existsSync11(extensionPath))
17625
17724
  continue;
17626
17725
  try {
@@ -17634,9 +17733,9 @@ function isSignetManagedOhMyPiInstall() {
17634
17733
  }
17635
17734
  function isSignetManagedPiInstall() {
17636
17735
  for (const agentDir of listPiAgentDirCandidates()) {
17637
- const extensionsDir = join11(agentDir, "extensions");
17736
+ const extensionsDir = join12(agentDir, "extensions");
17638
17737
  for (const filename of [PI_MANAGED_EXTENSION_FILENAME, PI_LEGACY_MANAGED_EXTENSION_FILENAME]) {
17639
- const extensionPath = join11(extensionsDir, filename);
17738
+ const extensionPath = join12(extensionsDir, filename);
17640
17739
  if (!existsSync11(extensionPath))
17641
17740
  continue;
17642
17741
  try {
@@ -17649,31 +17748,31 @@ function isSignetManagedPiInstall() {
17649
17748
  return false;
17650
17749
  }
17651
17750
  function userHome() {
17652
- return process.env.HOME?.trim() || homedir8();
17751
+ return process.env.HOME?.trim() || homedir9();
17653
17752
  }
17654
17753
  function resolveHermesHomePath() {
17655
17754
  const hermesHome = process.env.HERMES_HOME?.trim();
17656
- return hermesHome || join11(userHome(), ".hermes");
17755
+ return hermesHome || join12(userHome(), ".hermes");
17657
17756
  }
17658
17757
  function hermesAgentCandidateDirs() {
17659
17758
  const home = userHome();
17660
17759
  const hermesHome = resolveHermesHomePath();
17661
17760
  return [
17662
17761
  hermesHome,
17663
- join11(hermesHome, "hermes-agent"),
17664
- join11(home, "hermes-agent"),
17665
- join11(home, ".local", "share", "hermes-agent"),
17666
- join11(home, "src", "hermes-agent"),
17762
+ join12(hermesHome, "hermes-agent"),
17763
+ join12(home, "hermes-agent"),
17764
+ join12(home, ".local", "share", "hermes-agent"),
17765
+ join12(home, "src", "hermes-agent"),
17667
17766
  "/opt/hermes-agent"
17668
17767
  ];
17669
17768
  }
17670
17769
  function resolveHermesRepoPath() {
17671
17770
  const hermesRepo = process.env.HERMES_REPO?.trim();
17672
- if (hermesRepo && existsSync11(join11(hermesRepo, "plugins", "memory"))) {
17771
+ if (hermesRepo && existsSync11(join12(hermesRepo, "plugins", "memory"))) {
17673
17772
  return hermesRepo;
17674
17773
  }
17675
17774
  for (const base of hermesAgentCandidateDirs()) {
17676
- if (existsSync11(join11(base, "plugins", "memory")))
17775
+ if (existsSync11(join12(base, "plugins", "memory")))
17677
17776
  return base;
17678
17777
  }
17679
17778
  try {
@@ -17683,18 +17782,18 @@ function resolveHermesRepoPath() {
17683
17782
  timeout: 3000
17684
17783
  }).trim();
17685
17784
  if (hermesPath) {
17686
- const repoDir = dirname7(realpathSync(hermesPath));
17687
- if (existsSync11(join11(repoDir, "plugins", "memory")))
17785
+ const repoDir = dirname8(realpathSync(hermesPath));
17786
+ if (existsSync11(join12(repoDir, "plugins", "memory")))
17688
17787
  return repoDir;
17689
17788
  }
17690
17789
  } catch {}
17691
17790
  return null;
17692
17791
  }
17693
17792
  function resolveHermesRepoPluginPath() {
17694
- const pluginFile = join11("plugins", "memory", "signet", "__init__.py");
17793
+ const pluginFile = join12("plugins", "memory", "signet", "__init__.py");
17695
17794
  const hermesRepo = resolveHermesRepoPath();
17696
17795
  if (hermesRepo !== null) {
17697
- const candidate = join11(hermesRepo, pluginFile);
17796
+ const candidate = join12(hermesRepo, pluginFile);
17698
17797
  if (existsSync11(candidate))
17699
17798
  return candidate;
17700
17799
  }
@@ -17704,11 +17803,11 @@ function detectExistingSetup(basePath) {
17704
17803
  const identityFileNames = Object.values(IDENTITY_FILES).map((spec) => spec.path);
17705
17804
  const foundFiles = [];
17706
17805
  for (const fileName of identityFileNames) {
17707
- if (existsSync11(join11(basePath, fileName))) {
17806
+ if (existsSync11(join12(basePath, fileName))) {
17708
17807
  foundFiles.push(fileName);
17709
17808
  }
17710
17809
  }
17711
- const memoryDir = join11(basePath, "memory");
17810
+ const memoryDir = join12(basePath, "memory");
17712
17811
  let memoryLogCount = 0;
17713
17812
  if (existsSync11(memoryDir)) {
17714
17813
  try {
@@ -17716,40 +17815,40 @@ function detectExistingSetup(basePath) {
17716
17815
  memoryLogCount = files.filter((f) => f.endsWith(".md") && !f.startsWith("TEMPLATE")).length;
17717
17816
  } catch {}
17718
17817
  }
17719
- const home = homedir8();
17818
+ const home = homedir9();
17720
17819
  return {
17721
17820
  basePath,
17722
17821
  agentsDir: existsSync11(basePath),
17723
- agentYaml: existsSync11(join11(basePath, "agent.yaml")),
17724
- agentsMd: existsSync11(join11(basePath, "AGENTS.md")),
17725
- configYaml: existsSync11(join11(basePath, "config.yaml")),
17726
- memoryDb: existsSync11(join11(basePath, "memory", "memories.db")),
17822
+ agentYaml: existsSync11(join12(basePath, "agent.yaml")),
17823
+ agentsMd: existsSync11(join12(basePath, "AGENTS.md")),
17824
+ configYaml: existsSync11(join12(basePath, "config.yaml")),
17825
+ memoryDb: existsSync11(join12(basePath, "memory", "memories.db")),
17727
17826
  identityFiles: foundFiles,
17728
17827
  hasMemoryDir: existsSync11(memoryDir),
17729
17828
  memoryLogCount,
17730
- hasClawdhub: existsSync11(join11(basePath, ".clawdhub", "lock.json")),
17731
- hasClaudeSkills: existsSync11(join11(home, ".claude", "skills")),
17829
+ hasClawdhub: existsSync11(join12(basePath, ".clawdhub", "lock.json")),
17830
+ hasClaudeSkills: existsSync11(join12(home, ".claude", "skills")),
17732
17831
  harnesses: {
17733
- claudeCode: existsSync11(join11(home, ".claude", "settings.json")),
17734
- openclaw: existsSync11(join11(home, ".openclaw", "openclaw.json")) || existsSync11(join11(home, ".clawdbot", "clawdbot.json")),
17735
- opencode: existsSync11(join11(home, ".config", "opencode", "config.json")),
17736
- forge: existsSync11(join11(home, ".forge", ".mcp.json")) || existsSync11(join11(home, "forge", ".mcp.json")) || existsSync11(join11(home, ".forge", ".forge.toml")) || existsSync11(join11(home, "forge", ".forge.toml")),
17737
- codex: existsSync11(join11(home, ".codex", "config.toml")) || existsSync11(join11(home, ".config", "signet", "bin", "codex")),
17832
+ claudeCode: existsSync11(join12(home, ".claude", "settings.json")),
17833
+ openclaw: existsSync11(join12(home, ".openclaw", "openclaw.json")) || existsSync11(join12(home, ".clawdbot", "clawdbot.json")),
17834
+ opencode: existsSync11(join12(home, ".config", "opencode", "config.json")),
17835
+ forge: existsSync11(join12(home, ".forge", ".mcp.json")) || existsSync11(join12(home, "forge", ".mcp.json")) || existsSync11(join12(home, ".forge", ".forge.toml")) || existsSync11(join12(home, "forge", ".forge.toml")),
17836
+ codex: existsSync11(join12(home, ".codex", "config.toml")) || existsSync11(join12(home, ".config", "signet", "bin", "codex")),
17738
17837
  ohMyPi: isSignetManagedOhMyPiInstall() || existsSync11(resolveOhMyPiAgentDir()),
17739
17838
  pi: isSignetManagedPiInstall() || existsSync11(resolvePiAgentDir()),
17740
17839
  hermesAgent: resolveHermesRepoPath() !== null,
17741
- gemini: existsSync11(join11(home, ".gemini", "settings.json"))
17840
+ gemini: existsSync11(join12(home, ".gemini", "settings.json"))
17742
17841
  }
17743
17842
  };
17744
17843
  }
17745
17844
  async function loadIdentityFiles(basePath) {
17746
17845
  const result = {};
17747
17846
  for (const [key, spec] of Object.entries(IDENTITY_FILES)) {
17748
- const filePath = join11(basePath, spec.path);
17847
+ const filePath = join12(basePath, spec.path);
17749
17848
  if (existsSync11(filePath)) {
17750
17849
  try {
17751
17850
  const content = readFileSync9(filePath, "utf-8");
17752
- const stats = statSync5(filePath);
17851
+ const stats = statSync6(filePath);
17753
17852
  result[key] = {
17754
17853
  path: spec.path,
17755
17854
  content,
@@ -17770,11 +17869,11 @@ async function loadIdentityFiles(basePath) {
17770
17869
  function loadIdentityFilesSync(basePath) {
17771
17870
  const result = {};
17772
17871
  for (const [key, spec] of Object.entries(IDENTITY_FILES)) {
17773
- const filePath = join11(basePath, spec.path);
17872
+ const filePath = join12(basePath, spec.path);
17774
17873
  if (existsSync11(filePath)) {
17775
17874
  try {
17776
17875
  const content = readFileSync9(filePath, "utf-8");
17777
- const stats = statSync5(filePath);
17876
+ const stats = statSync6(filePath);
17778
17877
  result[key] = {
17779
17878
  path: spec.path,
17780
17879
  content,
@@ -17798,7 +17897,7 @@ function hasValidIdentity(basePath) {
17798
17897
  return true;
17799
17898
  for (const key of REQUIRED_IDENTITY_KEYS) {
17800
17899
  const spec = IDENTITY_FILES[key];
17801
- if (!existsSync11(join11(basePath, spec.path))) {
17900
+ if (!existsSync11(join12(basePath, spec.path))) {
17802
17901
  return false;
17803
17902
  }
17804
17903
  }
@@ -17811,7 +17910,7 @@ function getMissingIdentityFiles(basePath) {
17811
17910
  const missing = [];
17812
17911
  for (const key of REQUIRED_IDENTITY_KEYS) {
17813
17912
  const spec = IDENTITY_FILES[key];
17814
- if (!existsSync11(join11(basePath, spec.path))) {
17913
+ if (!existsSync11(join12(basePath, spec.path))) {
17815
17914
  missing.push(spec.path);
17816
17915
  }
17817
17916
  }
@@ -17862,7 +17961,7 @@ function resolveIdentityModeFromConfig(config) {
17862
17961
  return "managed";
17863
17962
  }
17864
17963
  function loadIdentityMode(agentsDir) {
17865
- const agentYaml = join11(agentsDir, "agent.yaml");
17964
+ const agentYaml = join12(agentsDir, "agent.yaml");
17866
17965
  if (!existsSync11(agentYaml))
17867
17966
  return "managed";
17868
17967
  try {
@@ -17917,7 +18016,7 @@ function identityHeaderFor(path, role) {
17917
18016
  return STATIC_HEADER_BY_FILE[filename] ?? role ?? filename.replace(/\.md$/i, "");
17918
18017
  }
17919
18018
  function resolveStartupIdentityFiles(agentsDir) {
17920
- const agentYaml = join11(agentsDir, "agent.yaml");
18019
+ const agentYaml = join12(agentsDir, "agent.yaml");
17921
18020
  if (!existsSync11(agentYaml))
17922
18021
  return STATIC_BUDGETS.map(({ file, budget }) => ({ path: file, budget }));
17923
18022
  try {
@@ -17937,7 +18036,7 @@ function resolveStartupIdentityFiles(agentsDir) {
17937
18036
  return STATIC_BUDGETS.map(({ file, budget }) => ({ path: file, budget }));
17938
18037
  }
17939
18038
  function resolveSpecialIdentityFiles(agentsDir, kind) {
17940
- const agentYaml = join11(agentsDir, "agent.yaml");
18039
+ const agentYaml = join12(agentsDir, "agent.yaml");
17941
18040
  if (!existsSync11(agentYaml)) {
17942
18041
  return IDENTITY_PRESETS.minimal.special.filter((entry) => entry.kind === kind);
17943
18042
  }
@@ -17985,7 +18084,7 @@ function readStaticIdentity(agentsDir, status = STATIC_IDENTITY_OFFLINE_STATUS)
17985
18084
  return null;
17986
18085
  const parts = [];
17987
18086
  for (const entry of resolveStartupIdentityFiles(agentsDir)) {
17988
- const path = join11(agentsDir, entry.path);
18087
+ const path = join12(agentsDir, entry.path);
17989
18088
  if (!existsSync11(path))
17990
18089
  continue;
17991
18090
  try {
@@ -18025,7 +18124,7 @@ function summarizeIdentity(identity) {
18025
18124
  }
18026
18125
  // src/agents.ts
18027
18126
  import { existsSync as existsSync12, mkdirSync as mkdirSync8, readdirSync as readdirSync5, writeFileSync as writeFileSync7 } from "node:fs";
18028
- import { join as join12 } from "node:path";
18127
+ import { join as join13 } from "node:path";
18029
18128
  var IDENTITY_FILES2 = [
18030
18129
  "AGENTS.md",
18031
18130
  "SOUL.md",
@@ -18037,22 +18136,22 @@ var IDENTITY_FILES2 = [
18037
18136
  "BOOTSTRAP.md"
18038
18137
  ];
18039
18138
  function discoverAgents(agentsDir) {
18040
- const root = join12(agentsDir, "agents");
18139
+ const root = join13(agentsDir, "agents");
18041
18140
  if (!existsSync12(root))
18042
18141
  return [];
18043
18142
  return readdirSync5(root, { withFileTypes: true }).filter((d) => d.isDirectory()).map((d) => ({ name: d.name }));
18044
18143
  }
18045
18144
  function scaffoldAgent(name, agentsDir) {
18046
- const dir = join12(agentsDir, "agents", name);
18145
+ const dir = join13(agentsDir, "agents", name);
18047
18146
  if (!existsSync12(dir))
18048
18147
  mkdirSync8(dir, { recursive: true });
18049
- const soul = join12(dir, "SOUL.md");
18148
+ const soul = join13(dir, "SOUL.md");
18050
18149
  if (!existsSync12(soul))
18051
18150
  writeFileSync7(soul, `# Soul
18052
18151
 
18053
18152
  Add ${name}'s personality here.
18054
18153
  `);
18055
- const identity = join12(dir, "IDENTITY.md");
18154
+ const identity = join13(dir, "IDENTITY.md");
18056
18155
  if (!existsSync12(identity))
18057
18156
  writeFileSync7(identity, `# Identity
18058
18157
 
@@ -18061,10 +18160,10 @@ name: ${name}
18061
18160
  }
18062
18161
  function getAgentIdentityFiles(name, agentsDir) {
18063
18162
  const result = {};
18064
- const agentDir = join12(agentsDir, "agents", name);
18163
+ const agentDir = join13(agentsDir, "agents", name);
18065
18164
  for (const file of IDENTITY_FILES2) {
18066
- const specific = join12(agentDir, file);
18067
- const fallback = join12(agentsDir, file);
18165
+ const specific = join13(agentDir, file);
18166
+ const fallback = join13(agentsDir, file);
18068
18167
  if (existsSync12(specific))
18069
18168
  result[file] = specific;
18070
18169
  else if (existsSync12(fallback))
@@ -18115,13 +18214,13 @@ function resolveAgentSkills(agentDef, allSkills) {
18115
18214
  return allSkills.filter((s) => allowed.has(s));
18116
18215
  }
18117
18216
  // src/skills.ts
18118
- import { existsSync as existsSync14, mkdirSync as mkdirSync10, readFileSync as readFileSync10, readdirSync as readdirSync7, statSync as statSync6, writeFileSync as writeFileSync8 } from "node:fs";
18119
- import { join as join14 } from "node:path";
18120
- import { homedir as homedir9 } from "node:os";
18217
+ import { existsSync as existsSync14, mkdirSync as mkdirSync10, readFileSync as readFileSync10, readdirSync as readdirSync7, statSync as statSync7, writeFileSync as writeFileSync8 } from "node:fs";
18218
+ import { join as join15 } from "node:path";
18219
+ import { homedir as homedir10 } from "node:os";
18121
18220
 
18122
18221
  // src/symlinks.ts
18123
18222
  import { existsSync as existsSync13, lstatSync, mkdirSync as mkdirSync9, readdirSync as readdirSync6, symlinkSync, unlinkSync } from "node:fs";
18124
- import { join as join13 } from "node:path";
18223
+ import { join as join14 } from "node:path";
18125
18224
  function linkDirSync(target, path) {
18126
18225
  const type = process.platform === "win32" ? "junction" : "dir";
18127
18226
  symlinkSync(target, path, type);
@@ -18135,7 +18234,7 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
18135
18234
  if (!existsSync13(sourceDir)) {
18136
18235
  return result;
18137
18236
  }
18138
- const targetParent = join13(targetDir, "..");
18237
+ const targetParent = join14(targetDir, "..");
18139
18238
  if (!existsSync13(targetParent)) {
18140
18239
  mkdirSync9(targetParent, { recursive: true });
18141
18240
  }
@@ -18153,8 +18252,8 @@ function symlinkSkills(sourceDir, targetDir, options = {}) {
18153
18252
  return result;
18154
18253
  }
18155
18254
  for (const entry of entries) {
18156
- const srcPath = join13(sourceDir, entry);
18157
- const destPath = join13(targetDir, entry);
18255
+ const srcPath = join14(sourceDir, entry);
18256
+ const destPath = join14(targetDir, entry);
18158
18257
  try {
18159
18258
  const src = lstatSync(srcPath);
18160
18259
  if (src.isSymbolicLink() || !src.isDirectory()) {
@@ -18225,9 +18324,9 @@ function symlinkDir(src, dest, options = {}) {
18225
18324
  }
18226
18325
 
18227
18326
  // src/skills.ts
18228
- var home = homedir9();
18327
+ var home = homedir10();
18229
18328
  function loadClawdhubLock(basePath) {
18230
- const lockPath = join14(basePath, ".clawdhub", "lock.json");
18329
+ const lockPath = join15(basePath, ".clawdhub", "lock.json");
18231
18330
  if (!existsSync14(lockPath)) {
18232
18331
  return null;
18233
18332
  }
@@ -18239,8 +18338,8 @@ function loadClawdhubLock(basePath) {
18239
18338
  }
18240
18339
  }
18241
18340
  function symlinkClaudeSkills(basePath) {
18242
- const claudeSkillsDir = join14(home, ".claude", "skills");
18243
- const targetSkillsDir = join14(basePath, "skills");
18341
+ const claudeSkillsDir = join15(home, ".claude", "skills");
18342
+ const targetSkillsDir = join15(basePath, "skills");
18244
18343
  if (!existsSync14(claudeSkillsDir)) {
18245
18344
  return { symlinked: 0, skills: [] };
18246
18345
  }
@@ -18251,10 +18350,10 @@ function symlinkClaudeSkills(basePath) {
18251
18350
  try {
18252
18351
  const skills = readdirSync7(claudeSkillsDir);
18253
18352
  for (const skill of skills) {
18254
- const src = join14(claudeSkillsDir, skill);
18255
- const dest = join14(targetSkillsDir, skill);
18353
+ const src = join15(claudeSkillsDir, skill);
18354
+ const dest = join15(targetSkillsDir, skill);
18256
18355
  try {
18257
- if (!statSync6(src).isDirectory())
18356
+ if (!statSync7(src).isDirectory())
18258
18357
  continue;
18259
18358
  } catch {
18260
18359
  continue;
@@ -18267,8 +18366,8 @@ function symlinkClaudeSkills(basePath) {
18267
18366
  return { symlinked: symlinkedSkills.length, skills: symlinkedSkills };
18268
18367
  }
18269
18368
  function writeRegistry(basePath, registry) {
18270
- const skillsDir = join14(basePath, "skills");
18271
- const registryPath = join14(skillsDir, "registry.json");
18369
+ const skillsDir = join15(basePath, "skills");
18370
+ const registryPath = join15(skillsDir, "registry.json");
18272
18371
  if (!existsSync14(skillsDir)) {
18273
18372
  mkdirSync10(skillsDir, { recursive: true });
18274
18373
  }
@@ -18286,7 +18385,7 @@ async function unifySkills(basePath, config = {}) {
18286
18385
  if (clawdhubLock) {
18287
18386
  registry.sources.push({
18288
18387
  type: "openclaw",
18289
- path: join14(basePath, ".clawdhub")
18388
+ path: join15(basePath, ".clawdhub")
18290
18389
  });
18291
18390
  const skillsData = clawdhubLock.skills || clawdhubLock;
18292
18391
  for (const [name, data] of Object.entries(skillsData)) {
@@ -18308,10 +18407,10 @@ async function unifySkills(basePath, config = {}) {
18308
18407
  }
18309
18408
  }
18310
18409
  const claudeResult = symlinkClaudeSkills(basePath);
18311
- if (claudeResult.symlinked > 0 || existsSync14(join14(home, ".claude", "skills"))) {
18410
+ if (claudeResult.symlinked > 0 || existsSync14(join15(home, ".claude", "skills"))) {
18312
18411
  registry.sources.push({
18313
18412
  type: "claude-code",
18314
- path: join14(home, ".claude", "skills")
18413
+ path: join15(home, ".claude", "skills")
18315
18414
  });
18316
18415
  for (const skillName of claudeResult.skills) {
18317
18416
  if (!registry.skills[skillName]) {
@@ -18319,7 +18418,7 @@ async function unifySkills(basePath, config = {}) {
18319
18418
  name: skillName,
18320
18419
  source: "claude-code",
18321
18420
  symlinked: true,
18322
- path: join14(basePath, "skills", skillName)
18421
+ path: join15(basePath, "skills", skillName)
18323
18422
  };
18324
18423
  symlinked++;
18325
18424
  } else {
@@ -18339,9 +18438,9 @@ async function unifySkills(basePath, config = {}) {
18339
18438
  try {
18340
18439
  const entries = readdirSync7(reg.path);
18341
18440
  for (const entry of entries) {
18342
- const entryPath = join14(reg.path, entry);
18441
+ const entryPath = join15(reg.path, entry);
18343
18442
  try {
18344
- if (!statSync6(entryPath).isDirectory())
18443
+ if (!statSync7(entryPath).isDirectory())
18345
18444
  continue;
18346
18445
  } catch {
18347
18446
  continue;
@@ -18351,9 +18450,9 @@ async function unifySkills(basePath, config = {}) {
18351
18450
  continue;
18352
18451
  }
18353
18452
  if (reg.symlink) {
18354
- const targetPath = join14(basePath, "skills", entry);
18355
- if (!existsSync14(join14(basePath, "skills"))) {
18356
- mkdirSync10(join14(basePath, "skills"), { recursive: true });
18453
+ const targetPath = join15(basePath, "skills", entry);
18454
+ if (!existsSync14(join15(basePath, "skills"))) {
18455
+ mkdirSync10(join15(basePath, "skills"), { recursive: true });
18357
18456
  }
18358
18457
  if (symlinkDir(entryPath, targetPath)) {
18359
18458
  registry.skills[entry] = {
@@ -18470,7 +18569,7 @@ function parseTranscriptSkills(content) {
18470
18569
  }
18471
18570
  // src/import.ts
18472
18571
  import { existsSync as existsSync15, readFileSync as readFileSync11, readdirSync as readdirSync8 } from "node:fs";
18473
- import { join as join15 } from "node:path";
18572
+ import { join as join16 } from "node:path";
18474
18573
  var DATE_FILENAME_PATTERN = /^(\d{4}-\d{2}-\d{2})\.md$/;
18475
18574
  function estimateTokens(text) {
18476
18575
  return Math.ceil(text.length / 4);
@@ -18677,7 +18776,7 @@ function importMemoryLogs(basePath, db) {
18677
18776
  skipped: 0,
18678
18777
  errors: []
18679
18778
  };
18680
- const memoryDir = join15(basePath, "memory");
18779
+ const memoryDir = join16(basePath, "memory");
18681
18780
  if (!existsSync15(memoryDir)) {
18682
18781
  result.errors.push(`Memory directory not found: ${memoryDir}`);
18683
18782
  return result;
@@ -18691,7 +18790,7 @@ function importMemoryLogs(basePath, db) {
18691
18790
  return result;
18692
18791
  }
18693
18792
  for (const file of files) {
18694
- const filePath = join15(memoryDir, file);
18793
+ const filePath = join16(memoryDir, file);
18695
18794
  const date = extractDateFromFilename(file);
18696
18795
  if (!date) {
18697
18796
  result.skipped++;
@@ -19910,14 +20009,14 @@ function resolveRoutingDecision(config, request, runtimeSnapshot) {
19910
20009
  }
19911
20010
  // src/pipeline-pause.ts
19912
20011
  import { existsSync as existsSync16, readFileSync as readFileSync12, writeFileSync as writeFileSync9 } from "node:fs";
19913
- import { join as join16 } from "node:path";
20012
+ import { join as join17 } from "node:path";
19914
20013
  var PIPELINE_CONFIG_FILES = ["agent.yaml", "AGENT.yaml", "config.yaml"];
19915
20014
  function isRecord9(value) {
19916
20015
  return typeof value === "object" && value !== null && !Array.isArray(value);
19917
20016
  }
19918
20017
  function findPipelineConfigFile(dir) {
19919
20018
  for (const name of PIPELINE_CONFIG_FILES) {
19920
- const file = join16(dir, name);
20019
+ const file = join17(dir, name);
19921
20020
  if (existsSync16(file)) {
19922
20021
  return file;
19923
20022
  }
@@ -19983,11 +20082,11 @@ function setPipelinePaused(dir, paused) {
19983
20082
  // src/package-manager.ts
19984
20083
  import { spawnSync as spawnSync2 } from "node:child_process";
19985
20084
  import { existsSync as existsSync17, readFileSync as readFileSync13 } from "node:fs";
19986
- import { homedir as homedir11 } from "node:os";
19987
- import { join as join17 } from "node:path";
20085
+ import { homedir as homedir12 } from "node:os";
20086
+ import { join as join18 } from "node:path";
19988
20087
 
19989
20088
  // src/package-manager-path.ts
19990
- import { homedir as homedir10 } from "node:os";
20089
+ import { homedir as homedir11 } from "node:os";
19991
20090
  import { posix, win32 } from "node:path";
19992
20091
  function normalizeExecutablePath(path, platform3) {
19993
20092
  const normalized = (platform3 === "win32" ? win32 : posix).resolve(path).replaceAll("\\", "/");
@@ -20002,7 +20101,7 @@ function inferPackageManagerFromExecutable(executablePath, options = {}) {
20002
20101
  if (!executablePath)
20003
20102
  return null;
20004
20103
  const env = options.env ?? process.env;
20005
- const home2 = options.home ?? homedir10();
20104
+ const home2 = options.home ?? homedir11();
20006
20105
  const platform3 = options.platform ?? process.platform;
20007
20106
  const pathApi = platform3 === "win32" ? win32 : posix;
20008
20107
  const candidate = normalizeExecutablePath(executablePath, platform3);
@@ -20083,7 +20182,7 @@ function pickFirstAvailable(available, order) {
20083
20182
  function readConfiguredPackageManager(agentsDir) {
20084
20183
  if (!agentsDir)
20085
20184
  return null;
20086
- const configPaths = [join17(agentsDir, "agent.yaml"), join17(agentsDir, "AGENT.yaml"), join17(agentsDir, "config.yaml")];
20185
+ const configPaths = [join18(agentsDir, "agent.yaml"), join18(agentsDir, "AGENT.yaml"), join18(agentsDir, "config.yaml")];
20087
20186
  for (const path of configPaths) {
20088
20187
  if (!existsSync17(path))
20089
20188
  continue;
@@ -20200,7 +20299,7 @@ function resolveGlobalPackagePath(family, packageName) {
20200
20299
  try {
20201
20300
  switch (family) {
20202
20301
  case "bun": {
20203
- const bunGlobal = join17(process.env.BUN_INSTALL ?? join17(homedir11(), ".bun"), "install", "global", "node_modules", packageName);
20302
+ const bunGlobal = join18(process.env.BUN_INSTALL ?? join18(homedir12(), ".bun"), "install", "global", "node_modules", packageName);
20204
20303
  if (existsSync17(bunGlobal))
20205
20304
  return bunGlobal;
20206
20305
  return;
@@ -20212,7 +20311,7 @@ function resolveGlobalPackagePath(family, packageName) {
20212
20311
  windowsHide: true
20213
20312
  });
20214
20313
  if (result.status === 0 && result.stdout.trim()) {
20215
- const candidate = join17(result.stdout.trim(), packageName);
20314
+ const candidate = join18(result.stdout.trim(), packageName);
20216
20315
  if (existsSync17(candidate))
20217
20316
  return candidate;
20218
20317
  }
@@ -20225,7 +20324,7 @@ function resolveGlobalPackagePath(family, packageName) {
20225
20324
  windowsHide: true
20226
20325
  });
20227
20326
  if (result.status === 0 && result.stdout.trim()) {
20228
- const candidate = join17(result.stdout.trim(), packageName);
20327
+ const candidate = join18(result.stdout.trim(), packageName);
20229
20328
  if (existsSync17(candidate))
20230
20329
  return candidate;
20231
20330
  }
@@ -20245,12 +20344,12 @@ function resolveGlobalPackagePath(family, packageName) {
20245
20344
  windowsHide: true
20246
20345
  });
20247
20346
  if (result.status === 0 && result.stdout.trim()) {
20248
- const candidate = join17(result.stdout.trim(), "node_modules", packageName);
20347
+ const candidate = join18(result.stdout.trim(), "node_modules", packageName);
20249
20348
  if (existsSync17(candidate))
20250
20349
  return candidate;
20251
20350
  }
20252
20351
  } else {
20253
- const berryGlobal = join17(process.env.YARN_GLOBAL_FOLDER ?? join17(homedir11(), ".yarn", "berry", "global"), "node_modules", packageName);
20352
+ const berryGlobal = join18(process.env.YARN_GLOBAL_FOLDER ?? join18(homedir12(), ".yarn", "berry", "global"), "node_modules", packageName);
20254
20353
  if (existsSync17(berryGlobal))
20255
20354
  return berryGlobal;
20256
20355
  }
@@ -20275,7 +20374,7 @@ function getGlobalInstallCommand(family, packageName) {
20275
20374
  }
20276
20375
  // src/signet-installation.ts
20277
20376
  import { existsSync as existsSync18, realpathSync as realpathSync2 } from "node:fs";
20278
- import { homedir as homedir12 } from "node:os";
20377
+ import { homedir as homedir13 } from "node:os";
20279
20378
  import { posix as posix2, win32 as win322 } from "node:path";
20280
20379
  var PACKAGE_MANAGERS = ["npm", "pnpm", "bun", "yarn"];
20281
20380
  function safeRealpath(path, platform3, realpath) {
@@ -20330,7 +20429,7 @@ function packageManagerEntryPointRemovalCommand(path, platform3) {
20330
20429
  }
20331
20430
  function detectSignetInstallations(options = {}) {
20332
20431
  const env = options.env ?? process.env;
20333
- const home2 = options.home ?? homedir12();
20432
+ const home2 = options.home ?? homedir13();
20334
20433
  const platform3 = options.platform ?? process.platform;
20335
20434
  const activeExecutablePath = options.execPath ?? process.execPath;
20336
20435
  const pathExists = options.exists ?? existsSync18;
@@ -20464,6 +20563,7 @@ export {
20464
20563
  resolveOhMyPiExtensionsDir,
20465
20564
  resolveOhMyPiAgentDir,
20466
20565
  resolveNetworkBinding,
20566
+ resolveLaunchdExecutable,
20467
20567
  resolveIdentityModeFromConfig,
20468
20568
  resolveHermesRepoPluginPath,
20469
20569
  resolveHermesRepoPath,
@@ -20593,6 +20693,8 @@ export {
20593
20693
  buildSignetBlock,
20594
20694
  buildRememberRequestBody,
20595
20695
  buildRecallRequestBody,
20696
+ buildLaunchdPlist,
20697
+ buildLaunchdEnvironment,
20596
20698
  buildFtsMatchQuery,
20597
20699
  buildArchitectureDoc,
20598
20700
  buildAgentMemoryConfig,
@@ -0,0 +1,20 @@
1
+ declare const CRITICAL_EXECUTABLES: readonly ["git", "bun", "npx", "python3"];
2
+ export interface LaunchdPlistInput {
3
+ readonly label: string;
4
+ readonly programArguments: readonly string[];
5
+ readonly environment: Readonly<Record<string, string>>;
6
+ readonly workingDirectory: string;
7
+ readonly standardOutPath: string;
8
+ readonly standardErrorPath: string;
9
+ }
10
+ export interface LaunchdEnvironmentInput {
11
+ readonly environment?: Readonly<Record<string, string | undefined>>;
12
+ readonly pathValue?: string;
13
+ readonly home?: string;
14
+ readonly values?: Readonly<Record<string, string>>;
15
+ }
16
+ export declare function resolveLaunchdExecutable(name: (typeof CRITICAL_EXECUTABLES)[number], input?: Pick<LaunchdEnvironmentInput, "environment" | "pathValue" | "home">): string;
17
+ export declare function buildLaunchdEnvironment(input?: LaunchdEnvironmentInput): Record<string, string>;
18
+ export declare function buildLaunchdPlist(input: LaunchdPlistInput): string;
19
+ export {};
20
+ //# sourceMappingURL=launchd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launchd.d.ts","sourceRoot":"","sources":["../src/launchd.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,oBAAoB,2CAA4C,CAAC;AASvE,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAeD,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,EAC3C,KAAK,GAAE,IAAI,CAAC,uBAAuB,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,CAAM,GAC7E,MAAM,CAmBR;AAED,wBAAgB,uBAAuB,CAAC,KAAK,GAAE,uBAA4B,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBnG;AAWD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAiClE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/core",
3
- "version": "0.200.3",
3
+ "version": "0.200.5",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Core library for Signet - portable AI agent identity",
6
6
  "type": "module",