@iloom/cli 0.7.1 → 0.7.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.
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  detectInstallationMethod,
4
4
  shouldShowUpdateNotification
5
- } from "./chunk-5F6IWWRS.js";
5
+ } from "./chunk-EWJFUFPT.js";
6
6
  import "./chunk-VT4PDUYT.js";
7
7
  export {
8
8
  detectInstallationMethod,
9
9
  shouldShowUpdateNotification
10
10
  };
11
- //# sourceMappingURL=installation-detector-VXZOCL6P.js.map
11
+ //# sourceMappingURL=installation-detector-MMFWLJYN.js.map
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  UpdateNotifier
4
- } from "./chunk-B2UO6EYE.js";
4
+ } from "./chunk-NGJZ4TOU.js";
5
5
  import {
6
6
  detectInstallationMethod
7
- } from "./chunk-5F6IWWRS.js";
7
+ } from "./chunk-EWJFUFPT.js";
8
8
  import {
9
9
  logger
10
10
  } from "./chunk-VT4PDUYT.js";
@@ -82,4 +82,4 @@ var UpdateCommand = class {
82
82
  export {
83
83
  UpdateCommand
84
84
  };
85
- //# sourceMappingURL=update-5NOHT4SG.js.map
85
+ //# sourceMappingURL=update-HJKDYA3F.js.map
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  UpdateNotifier,
4
4
  checkAndNotifyUpdate
5
- } from "./chunk-B2UO6EYE.js";
5
+ } from "./chunk-NGJZ4TOU.js";
6
6
  import "./chunk-VT4PDUYT.js";
7
7
  export {
8
8
  UpdateNotifier,
9
9
  checkAndNotifyUpdate
10
10
  };
11
- //# sourceMappingURL=update-notifier-ARA5SPUW.js.map
11
+ //# sourceMappingURL=update-notifier-LBAUOOLM.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iloom/cli",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Control plane for maintaining alignment between you and Claude Code as you work across multiple issues using isolated environments, visible context, and multi-agent workflows to scale understanding, not just output",
5
5
  "keywords": [
6
6
  "ai",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/installation-detector.ts"],"sourcesContent":["import { dirname, join } from 'path'\nimport { existsSync, lstatSync, realpathSync } from 'fs'\nimport { logger } from './logger.js'\n\nexport type InstallationMethod = 'global' | 'local' | 'linked' | 'unknown'\n\n/**\n * Detect how iloom-cli is installed\n * - global: npm install -g (in global node_modules)\n * - local: Running from source directory (has src/ sibling to dist/)\n * - linked: npm link (symlinked executable)\n * - unknown: Cannot determine\n */\nexport function detectInstallationMethod(scriptPath: string): InstallationMethod {\n logger.debug(`[installation-detector] Detecting installation method for: ${scriptPath}`)\n\n if (process.env.OVERRIDE_INSTALLATION_METHOD) {\n const overrideMethod = process.env.OVERRIDE_INSTALLATION_METHOD as InstallationMethod\n logger.info(`[installation-detector] Override detected, returning: ${overrideMethod}`)\n return overrideMethod\n }\n\n try {\n // Check if the script is a symlink (npm link creates symlinks)\n try {\n const stats = lstatSync(scriptPath)\n if (stats.isSymbolicLink()) {\n logger.debug(`[installation-detector] Script is a symlink`)\n // Resolve symlink to check where it actually points\n const realPath = realpathSync(scriptPath)\n logger.debug(`[installation-detector] Symlink resolves to: ${realPath}`)\n // If the real path is in node_modules, it's a global install\n // Only return 'linked' if it points outside node_modules\n if (!realPath.includes('/node_modules/')) {\n logger.debug(`[installation-detector] Symlink points outside node_modules, classification: linked`)\n return 'linked'\n }\n logger.debug(`[installation-detector] Symlink points to node_modules, treating as potential global install`)\n // Otherwise, continue checking with the resolved path\n scriptPath = realPath\n }\n } catch {\n // If we can't stat it, continue to other checks\n logger.debug(`[installation-detector] Unable to stat script file, continuing to other checks`)\n }\n\n // Check if running from source directory\n // If the file is at dist/cli.js, check if src/ exists as a sibling\n if (scriptPath.includes('/dist/') || scriptPath.includes('\\\\dist\\\\')) {\n logger.debug(`[installation-detector] Script is in dist/ directory, checking for local development setup`)\n const distDir = dirname(scriptPath) // dist/\n const projectRoot = dirname(distDir) // project root\n const srcDir = join(projectRoot, 'src')\n const packageJsonPath = join(projectRoot, 'package.json')\n logger.debug(`[installation-detector] Looking for src/ at: ${srcDir}`)\n logger.debug(`[installation-detector] Looking for package.json at: ${packageJsonPath}`)\n\n // If src/ and package.json exist in parent, we're running from source\n if (existsSync(srcDir) && existsSync(packageJsonPath)) {\n logger.debug(`[installation-detector] Found src/ and package.json, classification: local`)\n return 'local'\n }\n }\n\n // Check if in global node_modules\n // Global installs are typically in:\n // - /usr/local/lib/node_modules/ (macOS/Linux)\n // - ~/.nvm/versions/node/*/lib/node_modules/ (NVM)\n // - C:\\Users\\*\\AppData\\Roaming\\npm\\node_modules\\ (Windows)\n // - /opt/homebrew/lib/node_modules (Homebrew on Apple Silicon)\n const globalPatterns = [\n '/lib/node_modules/',\n '/.nvm/versions/node/',\n '/AppData/Roaming/npm/node_modules/',\n '/.local/lib/node_modules/',\n ]\n\n const normalizedPath = scriptPath.replace(/\\\\/g, '/')\n logger.debug(`[installation-detector] Checking global patterns against: ${normalizedPath}`)\n for (const pattern of globalPatterns) {\n if (normalizedPath.includes(pattern)) {\n logger.debug(`[installation-detector] Matched global pattern '${pattern}', classification: global`)\n return 'global'\n }\n }\n\n logger.debug(`[installation-detector] No patterns matched, classification: unknown`)\n return 'unknown'\n } catch (error) {\n logger.debug(`[installation-detector] Error during detection: ${error}, classification: unknown`)\n return 'unknown'\n }\n}\n\n/**\n * Determine if update notifications should be shown\n * Returns true only for global installations\n */\nexport function shouldShowUpdateNotification(method: InstallationMethod): boolean {\n return method === 'global'\n}\n"],"mappings":";;;;;;AAAA,SAAS,SAAS,YAAY;AAC9B,SAAS,YAAY,WAAW,oBAAoB;AAY7C,SAAS,yBAAyB,YAAwC;AAC/E,SAAO,MAAM,8DAA8D,UAAU,EAAE;AAEvF,MAAI,QAAQ,IAAI,8BAA8B;AAC5C,UAAM,iBAAiB,QAAQ,IAAI;AACnC,WAAO,KAAK,yDAAyD,cAAc,EAAE;AACrF,WAAO;AAAA,EACT;AAEA,MAAI;AAEF,QAAI;AACF,YAAM,QAAQ,UAAU,UAAU;AAClC,UAAI,MAAM,eAAe,GAAG;AAC1B,eAAO,MAAM,6CAA6C;AAE1D,cAAM,WAAW,aAAa,UAAU;AACxC,eAAO,MAAM,gDAAgD,QAAQ,EAAE;AAGvE,YAAI,CAAC,SAAS,SAAS,gBAAgB,GAAG;AACxC,iBAAO,MAAM,qFAAqF;AAClG,iBAAO;AAAA,QACT;AACA,eAAO,MAAM,8FAA8F;AAE3G,qBAAa;AAAA,MACf;AAAA,IACF,QAAQ;AAEN,aAAO,MAAM,gFAAgF;AAAA,IAC/F;AAIA,QAAI,WAAW,SAAS,QAAQ,KAAK,WAAW,SAAS,UAAU,GAAG;AACpE,aAAO,MAAM,4FAA4F;AACzG,YAAM,UAAU,QAAQ,UAAU;AAClC,YAAM,cAAc,QAAQ,OAAO;AACnC,YAAM,SAAS,KAAK,aAAa,KAAK;AACtC,YAAM,kBAAkB,KAAK,aAAa,cAAc;AACxD,aAAO,MAAM,gDAAgD,MAAM,EAAE;AACrE,aAAO,MAAM,wDAAwD,eAAe,EAAE;AAGtF,UAAI,WAAW,MAAM,KAAK,WAAW,eAAe,GAAG;AACrD,eAAO,MAAM,4EAA4E;AACzF,eAAO;AAAA,MACT;AAAA,IACF;AAQA,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,iBAAiB,WAAW,QAAQ,OAAO,GAAG;AACpD,WAAO,MAAM,6DAA6D,cAAc,EAAE;AAC1F,eAAW,WAAW,gBAAgB;AACpC,UAAI,eAAe,SAAS,OAAO,GAAG;AACpC,eAAO,MAAM,mDAAmD,OAAO,2BAA2B;AAClG,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,MAAM,sEAAsE;AACnF,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO,MAAM,mDAAmD,KAAK,2BAA2B;AAChG,WAAO;AAAA,EACT;AACF;AAMO,SAAS,6BAA6B,QAAqC;AAChF,SAAO,WAAW;AACpB;","names":[]}