aios-core 4.4.4 → 4.4.6
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.
|
@@ -47,15 +47,19 @@ instructions: |
|
|
|
47
47
|
Use the Bash tool to run:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
|
|
50
|
+
npx aios-core doctor --json
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
If `--fix` was requested, run instead:
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
|
|
56
|
+
npx aios-core doctor --json --fix
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
+
NOTE: Always use `npx aios-core` (not `node bin/aios.js`) — this works in both
|
|
60
|
+
framework-dev mode (resolves local bin) and project-dev/brownfield mode
|
|
61
|
+
(resolves from node_modules/.bin/).
|
|
62
|
+
|
|
59
63
|
Capture the JSON output.
|
|
60
64
|
|
|
61
65
|
### Step 2: Parse JSON Output
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
# - SHA256 hashes for change detection
|
|
8
8
|
# - File types for categorization
|
|
9
9
|
#
|
|
10
|
-
version: 4.4.
|
|
11
|
-
generated_at: "2026-02-
|
|
10
|
+
version: 4.4.6
|
|
11
|
+
generated_at: "2026-02-25T02:19:26.202Z"
|
|
12
12
|
generator: scripts/generate-install-manifest.js
|
|
13
13
|
file_count: 1084
|
|
14
14
|
files:
|
|
@@ -2077,9 +2077,9 @@ files:
|
|
|
2077
2077
|
type: task
|
|
2078
2078
|
size: 3595
|
|
2079
2079
|
- path: development/tasks/health-check.yaml
|
|
2080
|
-
hash: sha256:
|
|
2080
|
+
hash: sha256:8ffa5a73284ed2ef3497000ec1b0f0be5762ea84640b6f6e7e371f611a4ea596
|
|
2081
2081
|
type: task
|
|
2082
|
-
size:
|
|
2082
|
+
size: 8049
|
|
2083
2083
|
- path: development/tasks/ids-governor.md
|
|
2084
2084
|
hash: sha256:d1aa11f338f3f943ea7ac3f299d536ae9af0a8bad48394d893c345ab98b452fe
|
|
2085
2085
|
type: task
|
package/package.json
CHANGED
|
@@ -152,28 +152,42 @@ function showStep(current, total, label) {
|
|
|
152
152
|
* 1. Relative path (framework-dev mode: ../../../../pro/license/{name})
|
|
153
153
|
* 2. @aios-fullstack/pro package (brownfield: node_modules/@aios-fullstack/pro/license/{name})
|
|
154
154
|
* 3. Absolute path via aios-core in node_modules (brownfield upgrade)
|
|
155
|
+
* 4. Absolute path via @aios-fullstack/pro in user project (npx context)
|
|
156
|
+
*
|
|
157
|
+
* Path 4 is critical for npx execution: when running `npx aios-core install`,
|
|
158
|
+
* require() resolves from the npx temp directory, not process.cwd(). After
|
|
159
|
+
* bootstrap installs @aios-fullstack/pro in the user's project, only an
|
|
160
|
+
* absolute path to process.cwd()/node_modules/@aios-fullstack/pro/... works.
|
|
155
161
|
*
|
|
156
162
|
* @param {string} moduleName - Module filename without extension (e.g., 'license-api')
|
|
157
163
|
* @returns {Object|null} Loaded module or null
|
|
158
164
|
*/
|
|
159
165
|
function loadProModule(moduleName) {
|
|
166
|
+
const path = require('path');
|
|
167
|
+
|
|
160
168
|
// 1. Framework-dev mode (cloned repo with pro/ submodule)
|
|
161
169
|
try {
|
|
162
170
|
return require(`../../../../pro/license/${moduleName}`);
|
|
163
171
|
} catch { /* not available */ }
|
|
164
172
|
|
|
165
|
-
// 2. @aios-fullstack/pro
|
|
173
|
+
// 2. @aios-fullstack/pro package (works when aios-core is a local dependency)
|
|
166
174
|
try {
|
|
167
175
|
return require(`@aios-fullstack/pro/license/${moduleName}`);
|
|
168
176
|
} catch { /* not available */ }
|
|
169
177
|
|
|
170
178
|
// 3. aios-core in node_modules (brownfield upgrade from >= v4.2.15)
|
|
171
179
|
try {
|
|
172
|
-
const path = require('path');
|
|
173
180
|
const absPath = path.join(process.cwd(), 'node_modules', 'aios-core', 'pro', 'license', moduleName);
|
|
174
181
|
return require(absPath);
|
|
175
182
|
} catch { /* not available */ }
|
|
176
183
|
|
|
184
|
+
// 4. @aios-fullstack/pro in user project (npx context — require resolves from
|
|
185
|
+
// temp dir, so we need absolute path to where bootstrap installed the package)
|
|
186
|
+
try {
|
|
187
|
+
const absPath = path.join(process.cwd(), 'node_modules', '@aios-fullstack', 'pro', 'license', moduleName);
|
|
188
|
+
return require(absPath);
|
|
189
|
+
} catch { /* not available */ }
|
|
190
|
+
|
|
177
191
|
return null;
|
|
178
192
|
}
|
|
179
193
|
|
|
@@ -588,7 +588,7 @@ describe('health-check.yaml task (INS-4.8)', () => {
|
|
|
588
588
|
'utf8',
|
|
589
589
|
);
|
|
590
590
|
expect(yaml).toContain('aios doctor --json');
|
|
591
|
-
expect(yaml).toContain('
|
|
591
|
+
expect(yaml).toContain('npx aios-core doctor --json');
|
|
592
592
|
});
|
|
593
593
|
|
|
594
594
|
it('should have governance_map with all 15 checks', () => {
|