@signetai/connector-forge 0.163.18 → 0.164.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EASpB,MAAM,wBAAwB,CAAC;AAwEhC,qBAAa,cAAe,SAAQ,aAAa;IAChD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,SAAS,WAAW;IAE7B,SAAS,CAAC,YAAY,IAAI,MAAM;IAUhC,aAAa,IAAI,MAAM;IAIjB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4EjD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAiD3C,WAAW,IAAI,OAAO;IAStB,MAAM,CAAC,kBAAkB,IAAI,OAAO;IAWpC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,mBAAmB;CAgC3B;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC;AACnD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACN,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EAWpB,MAAM,wBAAwB,CAAC;AAyDhC,qBAAa,cAAe,SAAQ,aAAa;IAChD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,SAAS,WAAW;IAE7B,SAAS,CAAC,YAAY,IAAI,MAAM;IAUhC,aAAa,IAAI,MAAM;IAIjB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4EjD,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAiD3C,WAAW,IAAI,OAAO;IAStB,MAAM,CAAC,kBAAkB,IAAI,OAAO;IAWpC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,mBAAmB;CAgC3B;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC;AACnD,eAAe,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -11196,6 +11196,79 @@ function expandHome(p, home = homedir2()) {
11196
11196
  }
11197
11197
  var LOCAL_BINDS = new Set(["127.0.0.1", "localhost", "::1", "::ffff:127.0.0.1"]);
11198
11198
  var import_yaml2 = __toESM2(require_dist(), 1);
11199
+ function readEnv(env, name) {
11200
+ const value = env[name];
11201
+ if (typeof value !== "string")
11202
+ return;
11203
+ const trimmed = value.trim();
11204
+ return trimmed.length > 0 ? trimmed : undefined;
11205
+ }
11206
+ function normalizePort(raw, fallback) {
11207
+ if (!raw)
11208
+ return String(fallback);
11209
+ if (!/^\d+$/.test(raw)) {
11210
+ throw new Error(`SIGNET_PORT must be an integer between 1 and 65535: ${raw}`);
11211
+ }
11212
+ const port = Number.parseInt(raw, 10);
11213
+ if (!Number.isFinite(port) || port < 1 || port > 65535) {
11214
+ throw new Error(`SIGNET_PORT must be an integer between 1 and 65535: ${raw}`);
11215
+ }
11216
+ return String(port);
11217
+ }
11218
+ function bracketIpv6Host(host) {
11219
+ if (host.startsWith("[") || !host.includes(":"))
11220
+ return host;
11221
+ return `[${host}]`;
11222
+ }
11223
+ function assertPlainHost(raw) {
11224
+ if (raw.includes("/") || raw.includes("@") || raw.includes("?") || raw.includes("#")) {
11225
+ throw new Error(`SIGNET_HOST must be a hostname or IP address, not a URL: ${raw}`);
11226
+ }
11227
+ const host = raw.startsWith("[") && raw.endsWith("]") ? raw.slice(1, -1) : raw;
11228
+ if (host.includes(":")) {
11229
+ if (/^[0-9A-Fa-f:.]+$/.test(host))
11230
+ return;
11231
+ throw new Error(`SIGNET_HOST must be a hostname or IP address: ${raw}`);
11232
+ }
11233
+ if (!/^[A-Za-z0-9]([A-Za-z0-9.-]*[A-Za-z0-9])?$/.test(host)) {
11234
+ throw new Error(`SIGNET_HOST must be a hostname or IP address: ${raw}`);
11235
+ }
11236
+ }
11237
+ function normalizeDaemonUrl(raw, source) {
11238
+ let parsed;
11239
+ try {
11240
+ parsed = new URL(raw);
11241
+ } catch {
11242
+ throw new Error(`${source} must be an http(s) URL: ${raw}`);
11243
+ }
11244
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
11245
+ throw new Error(`${source} must use http or https: ${raw}`);
11246
+ }
11247
+ if (parsed.username || parsed.password) {
11248
+ throw new Error(`${source} must not include username or password credentials`);
11249
+ }
11250
+ if (parsed.search || parsed.hash) {
11251
+ throw new Error(`${source} must not include query strings or fragments`);
11252
+ }
11253
+ if (parsed.pathname !== "/" && parsed.pathname !== "") {
11254
+ throw new Error(`${source} must point at the daemon origin, not a path: ${raw}`);
11255
+ }
11256
+ return parsed.toString().replace(/\/$/, "");
11257
+ }
11258
+ function resolveSignetDaemonUrl(opts = {}) {
11259
+ const env = opts.env ?? process.env;
11260
+ const fallbackHost = opts.defaultHost ?? "127.0.0.1";
11261
+ const fallbackPort = opts.defaultPort ?? 3850;
11262
+ const explicit = readEnv(env, "SIGNET_DAEMON_URL");
11263
+ if (explicit)
11264
+ return normalizeDaemonUrl(explicit, "SIGNET_DAEMON_URL");
11265
+ if (opts.configUrl)
11266
+ return normalizeDaemonUrl(opts.configUrl, "daemon.url");
11267
+ const host = readEnv(env, "SIGNET_HOST") ?? fallbackHost;
11268
+ assertPlainHost(host);
11269
+ const port = normalizePort(readEnv(env, "SIGNET_PORT"), fallbackPort);
11270
+ return normalizeDaemonUrl(`http://${bracketIpv6Host(host)}:${port}`, "SIGNET_HOST/SIGNET_PORT");
11271
+ }
11199
11272
  var WORKSPACE_ENV_KEYS = ["SIGNET_PATH", "SIGNET_WORKSPACE"];
11200
11273
  var DEFAULT_AGENTS_DIRNAME = ".agents";
11201
11274
  function normalizeWorkspacePath(pathValue, home = homedir3()) {
@@ -11642,9 +11715,30 @@ function readManagedTrimmedEnv(name) {
11642
11715
  function resolveSignetWorkspacePath(home2 = homedir()) {
11643
11716
  return resolveWorkspacePath({ home: home2, strict: true, requireExistingEnvPath: true }).path;
11644
11717
  }
11718
+ function resolveSignetDaemonUrl2() {
11719
+ return resolveSignetDaemonUrl();
11720
+ }
11645
11721
  function resolveSignetApiKey() {
11646
11722
  return readManagedTrimmedEnv("SIGNET_API_KEY") ?? readManagedTrimmedEnv("SIGNET_TOKEN");
11647
11723
  }
11724
+ function buildSignetRuntimeEnv(opts = {}) {
11725
+ const env = {};
11726
+ if (opts.basePath)
11727
+ env.SIGNET_PATH = opts.basePath;
11728
+ const daemonUrl = readManagedTrimmedEnv("SIGNET_DAEMON_URL");
11729
+ const apiKey = resolveSignetApiKey();
11730
+ const agentId = readManagedTrimmedEnv("SIGNET_AGENT_ID");
11731
+ if (daemonUrl)
11732
+ env.SIGNET_DAEMON_URL = resolveSignetDaemonUrl2();
11733
+ if (apiKey)
11734
+ env.SIGNET_API_KEY = apiKey;
11735
+ if (agentId)
11736
+ env.SIGNET_AGENT_ID = agentId;
11737
+ return env;
11738
+ }
11739
+ function resolveRemoteDaemonUrl() {
11740
+ return readManagedTrimmedEnv("SIGNET_DAEMON_URL") ? resolveSignetDaemonUrl2() : null;
11741
+ }
11648
11742
 
11649
11743
  // ../../../platform/core/dist/index.js
11650
11744
  import { createRequire as createRequire3 } from "node:module";
@@ -22830,79 +22924,6 @@ function parseSimpleYaml(text) {
22830
22924
  return {};
22831
22925
  }
22832
22926
  }
22833
- function readEnv(env, name) {
22834
- const value = env[name];
22835
- if (typeof value !== "string")
22836
- return;
22837
- const trimmed = value.trim();
22838
- return trimmed.length > 0 ? trimmed : undefined;
22839
- }
22840
- function normalizePort(raw, fallback) {
22841
- if (!raw)
22842
- return String(fallback);
22843
- if (!/^\d+$/.test(raw)) {
22844
- throw new Error(`SIGNET_PORT must be an integer between 1 and 65535: ${raw}`);
22845
- }
22846
- const port = Number.parseInt(raw, 10);
22847
- if (!Number.isFinite(port) || port < 1 || port > 65535) {
22848
- throw new Error(`SIGNET_PORT must be an integer between 1 and 65535: ${raw}`);
22849
- }
22850
- return String(port);
22851
- }
22852
- function bracketIpv6Host(host) {
22853
- if (host.startsWith("[") || !host.includes(":"))
22854
- return host;
22855
- return `[${host}]`;
22856
- }
22857
- function assertPlainHost(raw) {
22858
- if (raw.includes("/") || raw.includes("@") || raw.includes("?") || raw.includes("#")) {
22859
- throw new Error(`SIGNET_HOST must be a hostname or IP address, not a URL: ${raw}`);
22860
- }
22861
- const host = raw.startsWith("[") && raw.endsWith("]") ? raw.slice(1, -1) : raw;
22862
- if (host.includes(":")) {
22863
- if (/^[0-9A-Fa-f:.]+$/.test(host))
22864
- return;
22865
- throw new Error(`SIGNET_HOST must be a hostname or IP address: ${raw}`);
22866
- }
22867
- if (!/^[A-Za-z0-9]([A-Za-z0-9.-]*[A-Za-z0-9])?$/.test(host)) {
22868
- throw new Error(`SIGNET_HOST must be a hostname or IP address: ${raw}`);
22869
- }
22870
- }
22871
- function normalizeDaemonUrl(raw, source) {
22872
- let parsed;
22873
- try {
22874
- parsed = new URL(raw);
22875
- } catch {
22876
- throw new Error(`${source} must be an http(s) URL: ${raw}`);
22877
- }
22878
- if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
22879
- throw new Error(`${source} must use http or https: ${raw}`);
22880
- }
22881
- if (parsed.username || parsed.password) {
22882
- throw new Error(`${source} must not include username or password credentials`);
22883
- }
22884
- if (parsed.search || parsed.hash) {
22885
- throw new Error(`${source} must not include query strings or fragments`);
22886
- }
22887
- if (parsed.pathname !== "/" && parsed.pathname !== "") {
22888
- throw new Error(`${source} must point at the daemon origin, not a path: ${raw}`);
22889
- }
22890
- return parsed.toString().replace(/\/$/, "");
22891
- }
22892
- function resolveSignetDaemonUrl(opts = {}) {
22893
- const env = opts.env ?? process.env;
22894
- const fallbackHost = opts.defaultHost ?? "127.0.0.1";
22895
- const fallbackPort = opts.defaultPort ?? 3850;
22896
- const explicit = readEnv(env, "SIGNET_DAEMON_URL");
22897
- if (explicit)
22898
- return normalizeDaemonUrl(explicit, "SIGNET_DAEMON_URL");
22899
- if (opts.configUrl)
22900
- return normalizeDaemonUrl(opts.configUrl, "daemon.url");
22901
- const host = readEnv(env, "SIGNET_HOST") ?? fallbackHost;
22902
- assertPlainHost(host);
22903
- const port = normalizePort(readEnv(env, "SIGNET_PORT"), fallbackPort);
22904
- return normalizeDaemonUrl(`http://${bracketIpv6Host(host)}:${port}`, "SIGNET_HOST/SIGNET_PORT");
22905
- }
22906
22927
  var native2 = null;
22907
22928
  try {
22908
22929
  const esmRequire = createRequire22(import.meta.url);
@@ -23108,22 +23129,6 @@ function readMcpServers(config) {
23108
23129
  return { ...config.mcpServers };
23109
23130
  throw new Error("Forge MCP config field 'mcpServers' must be an object");
23110
23131
  }
23111
- function signetRuntimeEnv(basePath) {
23112
- const env = { SIGNET_PATH: basePath };
23113
- const daemonUrl = readTrimmedEnv2("SIGNET_DAEMON_URL");
23114
- const apiKey = readTrimmedEnv2("SIGNET_API_KEY") ?? readTrimmedEnv2("SIGNET_TOKEN");
23115
- const agentId = readTrimmedEnv2("SIGNET_AGENT_ID");
23116
- if (daemonUrl)
23117
- env.SIGNET_DAEMON_URL = daemonUrl;
23118
- if (apiKey)
23119
- env.SIGNET_API_KEY = apiKey;
23120
- if (agentId)
23121
- env.SIGNET_AGENT_ID = agentId;
23122
- return env;
23123
- }
23124
- function resolveRemoteDaemonUrl() {
23125
- return readTrimmedEnv2("SIGNET_DAEMON_URL") ? resolveSignetDaemonUrl() : null;
23126
- }
23127
23132
  function buildMcpServer(basePath) {
23128
23133
  const remoteDaemonUrl = resolveRemoteDaemonUrl();
23129
23134
  if (remoteDaemonUrl) {
@@ -23137,7 +23142,7 @@ function buildMcpServer(basePath) {
23137
23142
  return {
23138
23143
  command: mcp.command,
23139
23144
  ...mcp.args && mcp.args.length > 0 ? { args: mcp.args } : {},
23140
- env: signetRuntimeEnv(basePath)
23145
+ env: buildSignetRuntimeEnv({ basePath })
23141
23146
  };
23142
23147
  }
23143
23148
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-forge",
3
- "version": "0.163.18",
3
+ "version": "0.164.0",
4
4
  "description": "Signet connector for ForgeCode - installs MCP, identity, and skills integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,8 +24,8 @@
24
24
  "typecheck": "tsc --noEmit"
25
25
  },
26
26
  "dependencies": {
27
- "@signetai/connector-base": "0.163.18",
28
- "@signetai/core": "0.163.18"
27
+ "@signetai/connector-base": "0.164.0",
28
+ "@signetai/core": "0.164.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^22.0.0",