fraim-framework 2.0.87 → 2.0.89

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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  /**
4
4
  * FRAIM Framework - Smart Entry Point
@@ -26,11 +26,32 @@ function runCLI() {
26
26
  if (fs.existsSync(srcPath)) {
27
27
  // We use spawnSync to run tsx so we don't have to require it in memory
28
28
  // if it's not needed, and it handles the process arguments correctly.
29
- const result = spawnSync('npx', ['tsx', srcPath, ...process.argv.slice(2)], {
30
- stdio: 'inherit',
31
- shell: true,
32
- windowsHide: true
33
- });
29
+ //
30
+ // IMPORTANT FIX: Directory names with spaces and dashes (e.g., "FRAIM - Issue 166")
31
+ // cause argument parsing issues on Windows when shell: true is used.
32
+ // Without quoting, a path like "C:\...\FRAIM - Issue 166\src\cli\fraim.ts" gets
33
+ // split into multiple arguments, with the dash interpreted as a command flag,
34
+ // resulting in "error: unknown command '-'".
35
+ //
36
+ // Solution: On Windows with shell: true, quote paths containing spaces.
37
+ // On Unix with shell: false, pass the path unquoted (spawnSync handles it correctly).
38
+ const isWindows = process.platform === 'win32';
39
+
40
+ // On Windows with shell, quote paths with spaces to prevent shell misinterpretation
41
+ // On Unix without shell, pass path as-is (spawnSync handles spaces correctly)
42
+ const processedSrcPath = (isWindows && srcPath.includes(' '))
43
+ ? `"${srcPath}"`
44
+ : srcPath;
45
+
46
+ const result = spawnSync(
47
+ 'npx',
48
+ ['tsx', processedSrcPath, ...process.argv.slice(2)],
49
+ {
50
+ stdio: 'inherit',
51
+ shell: isWindows, // Windows needs shell for npx, Unix doesn't
52
+ windowsHide: true
53
+ }
54
+ );
34
55
  process.exit(result.status || 0);
35
56
  }
36
57
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fraim-framework",
3
- "version": "2.0.87",
3
+ "version": "2.0.89",
4
4
  "description": "FRAIM v2: Framework for Rigor-based AI Management - Transform from solo developer to AI manager orchestrating production-ready code with enterprise-grade discipline",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -11,12 +11,15 @@
11
11
  "scripts": {
12
12
  "dev": "tsx --watch src/fraim-mcp-server.ts > server.log 2>&1",
13
13
  "dev:prod": "npm run build && node dist/src/fraim-mcp-server.js > server.log 2>&1",
14
- "build": "tsc && npm run build:stubs && node scripts/copy-ai-manager-rules.js && npm run validate:registry && tsx scripts/validate-purity.ts",
14
+ "build": "tsc && npm run build:stubs && npm run build:fraim-brain && node scripts/copy-registry.js && npm run validate:registry && npm run validate:fraim-pro-assets && tsx scripts/validate-purity.ts",
15
15
  "build:stubs": "tsx scripts/build-stub-registry.ts",
16
+ "build:fraim-brain": "node scripts/generate-fraim-brain.js",
16
17
  "test-all": "npm run test && npm run test:isolated && npm run test:ui",
17
18
  "test": "node scripts/test-with-server.js",
18
19
  "test:isolated": "npx tsx --test --test-reporter=spec tests/isolated/test-*.ts",
19
20
  "test:smoke": "node scripts/test-with-server.js tests/test-*.ts --tags=smoke",
21
+ "test:stripe": "node scripts/test-with-server.js tests/test-stripe-payment-complete.ts",
22
+ "test:stripe:ui": "playwright test tests/ui/test-payment-ui.spec.ts",
20
23
  "test:ui": "playwright test",
21
24
  "test:ui:headed": "playwright test --headed",
22
25
  "start:fraim": "tsx src/fraim-mcp-server.ts",
@@ -24,13 +27,18 @@
24
27
  "serve:website": "node fraim-pro/serve.js",
25
28
  "watch:fraimlogs": "tsx scripts/watch-fraim-logs.ts > prodlogs.log 2>&1",
26
29
  "manage-keys": "tsx scripts/fraim/manage-keys.ts",
30
+ "partner-discounts": "tsx scripts/fraim/manage-partner-discounts.ts",
31
+ "fix-key": "tsx scripts/fraim/fix-expired-key.ts",
32
+ "setup-stripe-webhook": "tsx scripts/fraim/setup-stripe-webhook.ts",
27
33
  "view-signups": "tsx scripts/view-signups.ts",
28
34
  "fraim:init": "npm run build && node index.js init",
29
35
  "fraim:sync": "node index.js sync --local",
30
36
  "postinstall": "fraim sync --skip-updates || echo 'FRAIM setup skipped.'",
31
37
  "prepublishOnly": "npm run build",
32
38
  "release": "npm version patch && npm publish",
33
- "validate:registry": "tsx scripts/verify-registry-paths.ts && npm run validate:workflows && npm run validate:skills && npm run validate:platform-agnostic && npm run validate:template-namespaces && npm run validate:config-fallbacks && npm run validate:bootstrap-config-coverage && npm run validate:provider-action-mappings && npm run validate:fidelity && npm run validate:config-tokens",
39
+ "validate:registry": "tsx scripts/verify-registry-paths.ts && npm run validate:workflows && npm run validate:skills && npm run validate:platform-agnostic && npm run validate:template-namespaces && npm run validate:config-fallbacks && npm run validate:bootstrap-config-coverage && npm run validate:provider-action-mappings && npm run validate:fidelity && npm run validate:config-tokens && npm run validate:brain-mapping",
40
+ "validate:brain-mapping": "tsx scripts/validate-brain-mapping.ts",
41
+ "validate:fraim-pro-assets": "tsx scripts/validate-fraim-pro-assets.ts",
34
42
  "validate:workflows": "tsx scripts/validate-workflows.ts",
35
43
  "validate:platform-agnostic": "tsx scripts/validate-platform-agnostic.ts",
36
44
  "validate:skills": "tsx scripts/validate-skills.ts",
@@ -80,8 +88,8 @@
80
88
  "@types/prompts": "^2.4.9",
81
89
  "fast-glob": "^3.3.3",
82
90
  "html-to-docx": "^1.8.0",
83
- "markdown-it": "^14.1.0",
84
- "markdown-it-highlightjs": "^4.2.0",
91
+ "markdown-it": "^14.1.1",
92
+ "markdown-it-highlightjs": "^4.3.0",
85
93
  "playwright": "^1.58.2",
86
94
  "pptxgenjs": "^4.0.1",
87
95
  "puppeteer": "^24.36.1",
@@ -113,6 +121,7 @@
113
121
  "dotenv": "^16.4.7",
114
122
  "express": "^5.2.1",
115
123
  "mongodb": "^7.0.0",
124
+ "node-edge-tts": "^1.2.10",
116
125
  "prompts": "^2.4.2",
117
126
  "resend": "^6.9.3",
118
127
  "stripe": "^20.3.1",