narai-primitives 2.1.0 → 2.1.2

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/hub/index.ts"],"names":[],"mappings":"AAAA;wCACwC;AAiBxC,OAAO,KAAK,EAGV,UAAU,EACV,WAAW,EACX,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAmG7C,sEAAsE;AACtE,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAqH7F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hub/index.ts"],"names":[],"mappings":"AAAA;wCACwC;AAiBxC,OAAO,KAAK,EAGV,UAAU,EACV,WAAW,EACX,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA+H7C,sEAAsE;AACtE,wBAAsB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAqH7F"}
package/dist/hub/index.js CHANGED
@@ -13,11 +13,31 @@ export { dispatchPlan } from "./dispatch.js";
13
13
  function shortName(skill) {
14
14
  return skill.replace(/-agent-connector$/, "");
15
15
  }
16
- /** Walk up from a `dist/cli.js` path to the package root. */
16
+ /** Walk up from a connector CLI path to the narai-primitives package root.
17
+ *
18
+ * Two layouts to handle:
19
+ * - Bundled 2.x: `<root>/dist/connectors/<name>/cli.js` (walk up 4)
20
+ * - Legacy: `<root>/dist/cli.js` (walk up 2 — pre-2.0 per-connector packages)
21
+ */
17
22
  function packageRootFromCli(cliPath) {
23
+ const parts = cliPath.split(path.sep);
24
+ const distIdx = parts.lastIndexOf("dist");
25
+ if (distIdx > 0 && parts[distIdx + 1] === "connectors") {
26
+ // <root>/dist/connectors/<name>/cli.js → <root>
27
+ return parts.slice(0, distIdx).join(path.sep);
28
+ }
18
29
  // <root>/dist/cli.js → <root>
19
30
  return path.dirname(path.dirname(cliPath));
20
31
  }
32
+ /** Candidate SKILL.md paths under a package root, in preference order. */
33
+ function skillMdCandidates(root, name) {
34
+ return [
35
+ // Bundled 2.x: plugins/<name>-agent/skills/<name>-agent/SKILL.md
36
+ path.join(root, "plugins", `${name}-agent`, "skills", `${name}-agent`, "SKILL.md"),
37
+ // Legacy: plugin/skills/<name>-agent/SKILL.md (pre-2.0 per-connector packages)
38
+ path.join(root, "plugin", "skills", `${name}-agent`, "SKILL.md"),
39
+ ];
40
+ }
21
41
  /** Read a file synchronously, returning null on failure. */
22
42
  function tryRead(p) {
23
43
  try {
@@ -78,13 +98,20 @@ function prepareConnector(slice, cliResolver) {
78
98
  };
79
99
  }
80
100
  const root = packageRootFromCli(resolved.resolvedPath);
81
- const skillFile = path.join(root, "plugin", "skills", `${name}-agent`, "SKILL.md");
82
- const skillContent = tryRead(skillFile);
101
+ const candidates = skillMdCandidates(root, name);
102
+ let skillContent = null;
103
+ for (const candidate of candidates) {
104
+ const content = tryRead(candidate);
105
+ if (content !== null) {
106
+ skillContent = content;
107
+ break;
108
+ }
109
+ }
83
110
  if (skillContent === null) {
84
111
  return {
85
112
  error: {
86
113
  code: "SKILL_NOT_FOUND",
87
- message: `SKILL.md not found at ${skillFile}`,
114
+ message: `SKILL.md not found at any of: ${candidates.join(", ")}`,
88
115
  },
89
116
  };
90
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hub/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hub/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,21 @@
1
1
  /**
2
2
  * agent_resolver — locate a connector's CLI on disk via the canonical
3
- * 4-step fallback every consumer (the hub, doc-wiki's wrappers, etc.) needs:
3
+ * 5-step fallback every consumer (the hub, doc-wiki's wrappers, etc.) needs:
4
4
  *
5
5
  * 1. `<NAME>_AGENT_CLI` env var (operator escape hatch).
6
- * 2. `~/.claude/plugins/cache/<name>-agent-plugin*`populated by Claude
6
+ * 2. **Bundled-self**when narai-primitives is installed (npm install,
7
+ * npm link, or running from its own source tree), the canonical 2.x
8
+ * layout ships every connector CLI at
9
+ * `<narai-primitives root>/dist/connectors/<name>/cli.js`. The
10
+ * resolver derives that root from its own file path via
11
+ * `import.meta.url`, so the lookup works regardless of install layout.
12
+ * 3. `~/.claude/plugins/cache/<name>-agent-plugin*` — populated by Claude
7
13
  * Code's plugin manager.
8
- * 3. `${CLAUDE_PLUGIN_DATA}/node_modules/<package>/<cliRelativePath>` —
14
+ * 4. `${CLAUDE_PLUGIN_DATA}/node_modules/<package>/<cliRelativePath>` —
9
15
  * where the connector's `SessionStart` hook installs it.
10
- * 4. `~/src/connectors/<name>-agent-connector/<cliRelativePath>` — the
11
- * developer-machine fallback.
16
+ * 5. `~/src/connectors/<name>-agent-connector/<cliRelativePath>` — the
17
+ * legacy developer-machine fallback (kept for backward compat with
18
+ * pre-2.0 layouts).
12
19
  *
13
20
  * Returns null if no candidate exists, so callers can fail with a clear
14
21
  * message instead of crashing on `spawn`.
@@ -26,12 +33,21 @@ export interface ResolveAgentCliOptions {
26
33
  cliRelativePath?: string;
27
34
  /** Dev-fallback root. Default: `~/src/connectors/`. */
28
35
  devRoot?: string;
36
+ /**
37
+ * Override the bundled-self search root. The default is computed from
38
+ * `import.meta.url` (the resolver's own file location) so the lookup
39
+ * works in any install layout. Pass `null` (explicit) to skip the
40
+ * bundled-self check entirely — useful for unit tests that want to
41
+ * exercise the lower fallback paths without colliding with the real
42
+ * bundled connector CLIs that ship next to this file.
43
+ */
44
+ bundledSelfRoot?: string | null;
29
45
  /** Override for `process.env`. Used by tests; production callers leave it alone. */
30
46
  envOverride?: NodeJS.ProcessEnv;
31
47
  /** Override for `os.homedir()`. Used by tests. */
32
48
  homeOverride?: string;
33
49
  }
34
- export type ResolutionSource = "env" | "plugin-cache" | "claude-plugin-data" | "dev-fallback";
50
+ export type ResolutionSource = "env" | "bundled-self" | "plugin-cache" | "claude-plugin-data" | "dev-fallback";
35
51
  export interface ResolvedAgentCli {
36
52
  /** Always `"node"` — connector CLIs are always invoked through node. */
37
53
  command: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent_resolver.d.ts","sourceRoot":"","sources":["../../src/toolkit/agent_resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,cAAc,GACd,oBAAoB,GACpB,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2EAA2E;IAC3E,MAAM,EAAE,gBAAgB,CAAC;IACzB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;CACtB;AAkBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,IAAI,CAiDrF"}
1
+ {"version":3,"file":"agent_resolver.d.ts","sourceRoot":"","sources":["../../src/toolkit/agent_resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2EAA2E;IAC3E,MAAM,EAAE,gBAAgB,CAAC;IACzB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;CACtB;AAqCD,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,IAAI,CA2ErF"}
@@ -1,14 +1,21 @@
1
1
  /**
2
2
  * agent_resolver — locate a connector's CLI on disk via the canonical
3
- * 4-step fallback every consumer (the hub, doc-wiki's wrappers, etc.) needs:
3
+ * 5-step fallback every consumer (the hub, doc-wiki's wrappers, etc.) needs:
4
4
  *
5
5
  * 1. `<NAME>_AGENT_CLI` env var (operator escape hatch).
6
- * 2. `~/.claude/plugins/cache/<name>-agent-plugin*`populated by Claude
6
+ * 2. **Bundled-self**when narai-primitives is installed (npm install,
7
+ * npm link, or running from its own source tree), the canonical 2.x
8
+ * layout ships every connector CLI at
9
+ * `<narai-primitives root>/dist/connectors/<name>/cli.js`. The
10
+ * resolver derives that root from its own file path via
11
+ * `import.meta.url`, so the lookup works regardless of install layout.
12
+ * 3. `~/.claude/plugins/cache/<name>-agent-plugin*` — populated by Claude
7
13
  * Code's plugin manager.
8
- * 3. `${CLAUDE_PLUGIN_DATA}/node_modules/<package>/<cliRelativePath>` —
14
+ * 4. `${CLAUDE_PLUGIN_DATA}/node_modules/<package>/<cliRelativePath>` —
9
15
  * where the connector's `SessionStart` hook installs it.
10
- * 4. `~/src/connectors/<name>-agent-connector/<cliRelativePath>` — the
11
- * developer-machine fallback.
16
+ * 5. `~/src/connectors/<name>-agent-connector/<cliRelativePath>` — the
17
+ * legacy developer-machine fallback (kept for backward compat with
18
+ * pre-2.0 layouts).
12
19
  *
13
20
  * Returns null if no candidate exists, so callers can fail with a clear
14
21
  * message instead of crashing on `spawn`.
@@ -16,6 +23,7 @@
16
23
  import * as fs from "node:fs";
17
24
  import * as os from "node:os";
18
25
  import * as path from "node:path";
26
+ import { fileURLToPath } from "node:url";
19
27
  function defaultEnvVar(name) {
20
28
  return `${name.toUpperCase().replace(/-/g, "_")}_AGENT_CLI`;
21
29
  }
@@ -28,6 +36,25 @@ function defaultPackageName(name) {
28
36
  function defaultDevRoot(home) {
29
37
  return path.join(home, "src", "connectors");
30
38
  }
39
+ /**
40
+ * Derive narai-primitives' own package root from this file's location.
41
+ *
42
+ * Layout after build: `<package root>/dist/toolkit/agent_resolver.js`. Walking
43
+ * up two directories from `import.meta.url` lands on the package root in
44
+ * every install scenario (npm install, npm link, source dir).
45
+ *
46
+ * Returns `null` when the file URL can't be parsed — defensive only;
47
+ * shouldn't happen in any standard ESM runtime.
48
+ */
49
+ function defaultBundledSelfRoot() {
50
+ try {
51
+ const here = fileURLToPath(import.meta.url);
52
+ return path.resolve(path.dirname(here), "..", "..");
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
31
58
  export function resolveAgentCli(opts) {
32
59
  const env = opts.envOverride ?? process.env;
33
60
  const home = opts.homeOverride ?? os.homedir();
@@ -36,12 +63,30 @@ export function resolveAgentCli(opts) {
36
63
  const packageName = opts.packageName ?? defaultPackageName(opts.name);
37
64
  const cliRelative = opts.cliRelativePath ?? "dist/cli.js";
38
65
  const devRoot = opts.devRoot ?? defaultDevRoot(home);
66
+ const bundledSelfRoot = opts.bundledSelfRoot === null
67
+ ? null
68
+ : (opts.bundledSelfRoot ?? defaultBundledSelfRoot());
39
69
  // 1. Explicit env-var override.
40
70
  const envPath = env[envVar];
41
71
  if (typeof envPath === "string" && envPath !== "" && fs.existsSync(envPath)) {
42
72
  return { command: "node", args: [envPath], source: "env", resolvedPath: envPath };
43
73
  }
44
- // 2. Plugin cache lookup.
74
+ // 2. Bundled-self: the canonical 2.x layout ships every connector CLI at
75
+ // `<narai-primitives root>/dist/connectors/<name>/cli.js`. This is the
76
+ // primary path for any caller that has narai-primitives installed —
77
+ // npm install, npm link, or a source checkout all flow through here.
78
+ if (bundledSelfRoot !== null) {
79
+ const bundledCli = path.join(bundledSelfRoot, "dist", "connectors", opts.name, "cli.js");
80
+ if (fs.existsSync(bundledCli)) {
81
+ return {
82
+ command: "node",
83
+ args: [bundledCli],
84
+ source: "bundled-self",
85
+ resolvedPath: bundledCli,
86
+ };
87
+ }
88
+ }
89
+ // 3. Plugin cache lookup.
45
90
  const pluginCache = path.join(home, ".claude", "plugins", "cache");
46
91
  if (fs.existsSync(pluginCache)) {
47
92
  let entries;
@@ -60,7 +105,7 @@ export function resolveAgentCli(opts) {
60
105
  }
61
106
  }
62
107
  }
63
- // 3. CLAUDE_PLUGIN_DATA install location.
108
+ // 4. CLAUDE_PLUGIN_DATA install location.
64
109
  const pluginData = env["CLAUDE_PLUGIN_DATA"];
65
110
  if (typeof pluginData === "string" && pluginData !== "") {
66
111
  const candidate = path.join(pluginData, "node_modules", packageName, cliRelative);
@@ -68,7 +113,7 @@ export function resolveAgentCli(opts) {
68
113
  return { command: "node", args: [candidate], source: "claude-plugin-data", resolvedPath: candidate };
69
114
  }
70
115
  }
71
- // 4. Dev fallback.
116
+ // 5. Dev fallback (legacy ~/src/connectors/<name>-agent-connector layout).
72
117
  const devCandidate = path.join(devRoot, `${opts.name}-agent-connector`, cliRelative);
73
118
  if (fs.existsSync(devCandidate)) {
74
119
  return { command: "node", args: [devCandidate], source: "dev-fallback", resolvedPath: devCandidate };
@@ -1 +1 @@
1
- {"version":3,"file":"agent_resolver.js","sourceRoot":"","sources":["../../src/toolkit/agent_resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_resolver.js","sourceRoot":"","sources":["../../src/toolkit/agent_resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "narai-primitives",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "description": "Read-only connectors + planning hub + connector framework + credential resolution, in one package. Bundles what was @narai/connector-toolkit, @narai/connector-config, @narai/connector-hub, the seven @narai/<svc>-agent-connector packages, and @narai/credential-providers.",
5
5
  "type": "module",
6
6
  "main": "./dist/hub/index.js",