@jentrix/cli 0.5.18 → 0.5.19

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.
Files changed (2) hide show
  1. package/dist/main.js +11 -3
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -20966,7 +20966,7 @@ function refreshAccessToken(input) {
20966
20966
 
20967
20967
  // src/client.ts
20968
20968
  var CLI_NAME = "stacks-cli";
20969
- var CLI_VERSION = "0.5.18";
20969
+ var CLI_VERSION = "0.5.19";
20970
20970
  var DEAD_TOKEN_MESSAGE = "authentication failed (HTTP 401): the token is dead or expired \u2014 mint a new PAT at /account/tokens on your Jentrix server and update STACKS_TOKEN (or --token / the config file).";
20971
20971
  var RELOGIN_MESSAGE = "OAuth session expired and could not be refreshed \u2014 run `jentrix login` to sign in again.";
20972
20972
  function originOf2(url2) {
@@ -27503,7 +27503,7 @@ function registerLogoutCommand(program3, deps2, onExit2) {
27503
27503
 
27504
27504
  // src/commands/plugin.ts
27505
27505
  import { existsSync as existsSync4 } from "node:fs";
27506
- import { join as join4, resolve as resolve2 } from "node:path";
27506
+ import { join as join4, resolve as resolve2, win32 } from "node:path";
27507
27507
  var MARKETPLACE_NAME = "jentrix";
27508
27508
  var PLUGIN_REF = "jentrix@jentrix";
27509
27509
  var LEGACY_MARKETPLACE = "stacks";
@@ -27543,6 +27543,14 @@ function persistentPluginRoot(globalNodeModules, ownRoot, exists) {
27543
27543
  function isPluginMarketplaceDir(dir) {
27544
27544
  return existsSync4(join4(dir, ".claude-plugin", "marketplace.json"));
27545
27545
  }
27546
+ function samePluginPath(a, b, win = process.platform === "win32") {
27547
+ const normalize = (raw) => {
27548
+ const bare = raw.replace(/^\\\\\?\\UNC\\/i, "\\\\").replace(/^\\\\\?\\/, "");
27549
+ const abs = win ? win32.resolve(bare) : resolve2(bare);
27550
+ return win ? abs.toLowerCase() : abs;
27551
+ };
27552
+ return normalize(a) === normalize(b);
27553
+ }
27546
27554
  function isCodexPluginMarketplaceDir(dir) {
27547
27555
  return existsSync4(join4(dir, ".agents", "plugins", "marketplace.json"));
27548
27556
  }
@@ -27589,7 +27597,7 @@ async function installCodexPlugin(deps2, codex, pluginDir) {
27589
27597
  const existing = marketplaces.find((row) => row.name === MARKETPLACE_NAME);
27590
27598
  if (existing) {
27591
27599
  const source = existing.marketplaceSource;
27592
- if (source?.sourceType !== "local" || typeof source.source !== "string" || resolve2(source.source) !== resolve2(pluginDir)) {
27600
+ if (source?.sourceType !== "local" || typeof source.source !== "string" || !samePluginPath(source.source, pluginDir)) {
27593
27601
  deps2.writeErr(
27594
27602
  `PLUGIN_MARKETPLACE_CONFLICT: Codex marketplace "${MARKETPLACE_NAME}" points somewhere else \u2014 inspect with \`codex plugin marketplace list\`; if intentional, run \`codex plugin marketplace remove ${MARKETPLACE_NAME}\` and retry`
27595
27603
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jentrix/cli",
3
- "version": "0.5.18",
3
+ "version": "0.5.19",
4
4
  "description": "Command-line client for the Jentrix MCP surface (jentrix tool <name>, generated noun-verb commands).",
5
5
  "keywords": [
6
6
  "jentrix",