aios-core 4.4.4 → 4.4.5

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.
@@ -7,8 +7,8 @@
7
7
  # - SHA256 hashes for change detection
8
8
  # - File types for categorization
9
9
  #
10
- version: 4.4.4
11
- generated_at: "2026-02-25T01:37:46.325Z"
10
+ version: 4.4.5
11
+ generated_at: "2026-02-25T01:54:44.280Z"
12
12
  generator: scripts/generate-install-manifest.js
13
13
  file_count: 1084
14
14
  files:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aios-core",
3
- "version": "4.4.4",
3
+ "version": "4.4.5",
4
4
  "description": "Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework",
5
5
  "bin": {
6
6
  "aios": "bin/aios.js",
@@ -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 installed in user project
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