aiwg 2026.5.0 → 2026.5.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiwg",
3
- "version": "2026.5.0",
3
+ "version": "2026.5.1",
4
4
  "description": "Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 4 more) so one source of truth works across 10 platforms. Optional utilities for persistent artifact memory, background orchestration, autonomous loops, and artifact indexing.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,7 +9,14 @@ import os from 'os';
9
9
  import path from 'path';
10
10
  import { execSync } from 'child_process';
11
11
  import chalk from 'chalk';
12
- import { getFrameworkRoot, getVersionInfo } from '../../src/channel/manager.mjs';
12
+ // Import from dist/ the npm package ships compiled code under dist/, NOT
13
+ // the source tree. Importing from `../../src/channel/manager.mjs` works in
14
+ // dev (src/ exists at repo root) but breaks on npm-installed users with
15
+ // "Cannot find module 'src/channel/manager.mjs'". This script is invoked
16
+ // from within the AIWG package root by `dist/src/cli/handlers/utilities.js`
17
+ // doctorHandler, so `../../dist/src/channel/manager.mjs` resolves correctly
18
+ // in both dev (after `npm run build:cli`) and in `npm install -g aiwg`.
19
+ import { getFrameworkRoot, getVersionInfo } from '../../dist/src/channel/manager.mjs';
13
20
 
14
21
  // AIWG_ROOT: env override > channel-manager resolved path > legacy edge path
15
22
  // getFrameworkRoot() resolves correctly for npm global installs, edge, and dev channels.
@@ -14,12 +14,14 @@
14
14
  */
15
15
 
16
16
  import { execSync } from 'child_process';
17
+ // Import from dist/ (see tools/cli/doctor.mjs for the rationale — npm
18
+ // package ships dist/, not src/).
17
19
  import {
18
20
  loadConfig,
19
21
  switchToNext,
20
22
  switchToNightly,
21
23
  switchToStable,
22
- } from '../../src/channel/manager.mjs';
24
+ } from '../../dist/src/channel/manager.mjs';
23
25
 
24
26
  // Parse --channel <value> from argv
25
27
  function parseChannel(args) {
@@ -10,11 +10,20 @@ import { readdir, stat } from 'fs/promises';
10
10
  import { join, extname, resolve } from 'path';
11
11
  import { existsSync } from 'fs';
12
12
 
13
- // Note: In production, import from compiled dist/
14
- // For development, you may need to compile TypeScript first
15
- const enginePath = process.env.NODE_ENV === 'production'
16
- ? '../../../dist/writing/validation-engine.js'
17
- : '../../src/writing/validation-engine.js';
13
+ // Resolve the validation engine path, preferring dist/ (always present in
14
+ // the npm package) and falling back to src/ for dev environments without a
15
+ // compiled build. The previous NODE_ENV gate broke npm-installed users
16
+ // because NODE_ENV is not set to "production" by `npm install -g aiwg`.
17
+ // Same class of bug as `tools/cli/doctor.mjs` (#1250). For a fully
18
+ // general resolver, see _resolve-impl.mjs (future work — config-var
19
+ // approach tracked separately).
20
+ import { fileURLToPath } from 'url';
21
+ import { dirname } from 'path';
22
+ const __filename = fileURLToPath(import.meta.url);
23
+ const __dirname = dirname(__filename);
24
+ const distEnginePath = resolve(__dirname, '../../dist/writing/validation-engine.js');
25
+ const srcEnginePath = resolve(__dirname, '../../src/writing/validation-engine.js');
26
+ const enginePath = existsSync(distEnginePath) ? distEnginePath : srcEnginePath;
18
27
 
19
28
  let WritingValidationEngine;
20
29
  try {
@@ -8,7 +8,9 @@
8
8
  * @issue #685
9
9
  */
10
10
 
11
- import { getVersionInfo } from '../../src/channel/manager.mjs';
11
+ // Import from dist/ (see tools/cli/doctor.mjs for the rationale — npm
12
+ // package ships dist/, not src/).
13
+ import { getVersionInfo } from '../../dist/src/channel/manager.mjs';
12
14
 
13
15
  const args = process.argv.slice(2);
14
16
  const json = args.includes('--json');