@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.
- package/dist/main.js +11 -3
- 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.
|
|
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" ||
|
|
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
|
);
|