@signetai/connector-base 0.163.16 → 0.163.18

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
@@ -151,6 +151,19 @@ export declare function resolveSignetMcpCommand(): ResolvedCommand;
151
151
  export declare function resolveSignetCliCommand(): ResolvedCommand;
152
152
  export declare const MANAGED_DAEMON_URL_DEFAULT = "http://127.0.0.1:3850";
153
153
  export declare const MANAGED_AGENT_ID_DEFAULT = "default";
154
+ /** Narrow an unknown value to a plain record (shared by connectors, #957). */
155
+ export declare function isJsonObject(value: unknown): value is Record<string, unknown>;
156
+ /** True when `candidate` is strictly inside `parent` on the filesystem (shared, #957). */
157
+ export declare function isChildOf(candidate: string, parent: string): boolean;
158
+ /**
159
+ * Read a non-empty, trimmed env var (shared by connectors, #957).
160
+ * Newlines are stripped so multi-line values cannot smuggle into single-line
161
+ * config surfaces (the behavior forge/opencode standardized on).
162
+ */
163
+ export declare function readTrimmedEnv(name: string): string | undefined;
164
+ /**
165
+ * @deprecated Use `readTrimmedEnv` (same semantics, canonical name).
166
+ */
154
167
  export declare function readManagedTrimmedEnv(name: string): string | undefined;
155
168
  export declare function resolveSignetWorkspacePath(home?: string): string;
156
169
  export declare function resolveSignetDaemonUrl(): string;
@@ -163,6 +176,23 @@ export declare function buildManagedExtensionEnvBootstrap(env: {
163
176
  readonly apiKey?: string;
164
177
  }): string;
165
178
  export declare function managedExtensionFilePath(agentDir: string, filename: string): string;
179
+ /**
180
+ * Build a managed extension file: a header naming the package/entry/marker,
181
+ * the Signet env bootstrap, then the embedded bundle. Shared by the pi and
182
+ * oh-my-pi connectors, which differ only in those constants (#957).
183
+ */
184
+ export declare function buildManagedExtensionContent(params: {
185
+ readonly bundle: string;
186
+ readonly marker: string;
187
+ readonly packageName: string;
188
+ readonly entry: string;
189
+ readonly env: {
190
+ readonly signetPath: string;
191
+ readonly daemonUrl: string;
192
+ readonly agentId: string;
193
+ readonly apiKey?: string;
194
+ };
195
+ }): string;
166
196
  export declare function isManagedExtensionFile(filePath: string, marker: string): boolean;
167
197
  export declare function removeManagedExtensionFile(filePath: string, marker: string): boolean;
168
198
  export interface ConnectorInstallerOptions {
@@ -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
@@ -34,7 +34,7 @@ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports,
34
34
  import { randomBytes } from "node:crypto";
35
35
  import { existsSync, readFileSync, renameSync, statSync as statSync2, unlinkSync as unlinkSync2, writeFileSync } from "node:fs";
36
36
  import { homedir } from "node:os";
37
- import { dirname as dirname3, join as join3 } from "node:path";
37
+ import { dirname as dirname3, isAbsolute, join as join3, relative, sep } from "node:path";
38
38
 
39
39
  // ../../platform/core/dist/index.js
40
40
  import { createRequire } from "node:module";
@@ -11720,13 +11720,23 @@ function resolveSignetCliCommand() {
11720
11720
  }
11721
11721
  var MANAGED_DAEMON_URL_DEFAULT = "http://127.0.0.1:3850";
11722
11722
  var MANAGED_AGENT_ID_DEFAULT = "default";
11723
- function readManagedTrimmedEnv(name) {
11723
+ function isJsonObject(value) {
11724
+ return typeof value === "object" && value !== null && !Array.isArray(value);
11725
+ }
11726
+ function isChildOf(candidate, parent) {
11727
+ const rel = relative(parent, candidate);
11728
+ return rel !== "" && rel !== ".." && !rel.startsWith(`..${sep}`) && !isAbsolute(rel);
11729
+ }
11730
+ function readTrimmedEnv2(name) {
11724
11731
  const value = process.env[name];
11725
11732
  if (typeof value !== "string")
11726
11733
  return;
11727
- const trimmed = value.trim();
11734
+ const trimmed = value.trim().replace(/[\r\n]+/g, "");
11728
11735
  return trimmed.length > 0 ? trimmed : undefined;
11729
11736
  }
11737
+ function readManagedTrimmedEnv(name) {
11738
+ return readTrimmedEnv2(name);
11739
+ }
11730
11740
  function isExistingDirectory2(path) {
11731
11741
  try {
11732
11742
  return statSync2(path).isDirectory();
@@ -11783,6 +11793,20 @@ ${signetPathBlock} if (!__signetReadEnv("SIGNET_DAEMON_URL")) {
11783
11793
  function managedExtensionFilePath(agentDir, filename) {
11784
11794
  return join3(agentDir, "extensions", filename);
11785
11795
  }
11796
+ function buildManagedExtensionContent(params) {
11797
+ if (params.bundle.length === 0) {
11798
+ throw new Error(`Bundled extension content is empty. Rebuild ${params.packageName} and rerun the connector build so ${params.entry} is embedded.`);
11799
+ }
11800
+ const bootstrap = buildManagedExtensionEnvBootstrap(params.env);
11801
+ return `// ${params.marker}
11802
+ // Managed by Signet (${params.packageName})
11803
+ // Source: ${params.entry}
11804
+ // DO NOT EDIT - this file is overwritten by Signet setup/sync.
11805
+
11806
+ ${bootstrap}
11807
+
11808
+ ${params.bundle}`;
11809
+ }
11786
11810
  function isManagedExtensionFile(filePath, marker) {
11787
11811
  const content = readManagedExtensionFile(filePath);
11788
11812
  return content?.includes(marker) ?? false;
@@ -11916,11 +11940,15 @@ export {
11916
11940
  resolveSignetApiKey,
11917
11941
  resolveSignetAgentId,
11918
11942
  removeManagedExtensionFile,
11943
+ readTrimmedEnv2 as readTrimmedEnv,
11919
11944
  readManagedTrimmedEnv,
11920
11945
  managedExtensionFilePath,
11921
11946
  isSignetGeneratedFile,
11922
11947
  isManagedExtensionFile,
11948
+ isJsonObject,
11949
+ isChildOf,
11923
11950
  buildManagedExtensionEnvBootstrap,
11951
+ buildManagedExtensionContent,
11924
11952
  atomicWriteText,
11925
11953
  atomicWriteJson,
11926
11954
  MANAGED_DAEMON_URL_DEFAULT,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signetai/connector-base",
3
- "version": "0.163.16",
3
+ "version": "0.163.18",
4
4
  "description": "Base class for Signet harness connectors",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -26,7 +26,7 @@
26
26
  "typecheck": "tsc --noEmit"
27
27
  },
28
28
  "dependencies": {
29
- "@signetai/core": "0.163.16",
29
+ "@signetai/core": "0.163.18",
30
30
  "json5": "^2.2.3",
31
31
  "jsonc-parser": "3.3.1"
32
32
  },