fraim-framework 2.0.168 → 2.0.170
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/dist/src/ai-hub/server.js +51 -4
- package/dist/src/ai-hub/word-sideload.js +95 -0
- package/dist/src/cli/commands/test-mcp.js +171 -0
- package/dist/src/cli/setup/first-run.js +242 -0
- package/dist/src/core/config-writer.js +75 -0
- package/dist/src/core/utils/inheritance-parser.js +5 -0
- package/dist/src/core/utils/job-aliases.js +47 -0
- package/dist/src/core/utils/workflow-parser.js +174 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/public/ai-hub/powerpoint-taskpane/index.html +236 -236
- package/public/ai-hub/powerpoint-taskpane/manifest.xml +29 -29
- package/public/ai-hub/script.js +10 -8
- package/public/portfolio/ashley.html +1 -1
- package/public/portfolio/casey.html +1 -1
- package/public/portfolio/celia.html +1 -1
- package/public/portfolio/gautam.html +1 -1
- package/public/portfolio/hari.html +1 -1
- package/public/portfolio/maestro.html +1 -1
- package/public/portfolio/mandy.html +1 -1
- package/public/portfolio/pam.html +6 -6
- package/public/portfolio/qasm.html +1 -1
- package/public/portfolio/sade.html +1 -1
- package/public/portfolio/sam.html +1 -1
- package/public/portfolio/swen.html +6 -6
|
@@ -434,7 +434,7 @@ body { font-family: 'Inter', sans-serif; background: var(--bg); color: var(--tex
|
|
|
434
434
|
<div class="brand-logo">F</div>
|
|
435
435
|
<span class="brand-name">FRAIM</span>
|
|
436
436
|
</a>
|
|
437
|
-
<div class="header-actions">
|
|
437
|
+
<div class="header-actions">
|
|
438
438
|
<button class="theme-btn" onclick="toggleTheme()" title="Toggle dark mode">☾</button>
|
|
439
439
|
</div>
|
|
440
440
|
</header>
|
|
@@ -445,8 +445,8 @@ body { font-family: 'Inter', sans-serif; background: var(--bg); color: var(--tex
|
|
|
445
445
|
</div>
|
|
446
446
|
<div class="role-chip">AI Product Manager</div>
|
|
447
447
|
<h1>Specs that ship,<br>not <span>slide decks</span></h1>
|
|
448
|
-
<p>PaM turns vague ideas into traceable requirements, phased roadmaps, and acceptance criteria that engineers can execute on — without ambiguity, without meetings.</p>
|
|
449
|
-
</section>
|
|
448
|
+
<p>PaM turns vague ideas into traceable requirements, phased roadmaps, and acceptance criteria that engineers can execute on — without ambiguity, without meetings.</p>
|
|
449
|
+
</section>
|
|
450
450
|
|
|
451
451
|
<div class="section-label">
|
|
452
452
|
<h2>Selected Work</h2>
|
|
@@ -792,8 +792,8 @@ await ceq.track(<span class="snippet-string">'purchase'</span>, { memberId, amou
|
|
|
792
792
|
|
|
793
793
|
</div>
|
|
794
794
|
|
|
795
|
-
<footer class="portfolio-footer">
|
|
796
|
-
<div class="footer-sub">
|
|
795
|
+
<footer class="portfolio-footer">
|
|
796
|
+
<div class="footer-sub">
|
|
797
797
|
Part of the <a href="/">FRAIM</a> · 18 AI employees available ·
|
|
798
798
|
<a href="/">View all employees</a>
|
|
799
799
|
</div>
|
|
@@ -882,6 +882,6 @@ function updateWizard() {
|
|
|
882
882
|
// Init brand scale on load
|
|
883
883
|
document.addEventListener('DOMContentLoaded', () => setBrand('#6366f1','#6366f1'));
|
|
884
884
|
</script>
|
|
885
|
-
|
|
885
|
+
|
|
886
886
|
</body>
|
|
887
887
|
</html>
|
|
@@ -245,7 +245,7 @@ code, pre, .mono { font-family: 'JetBrains Mono', 'Fira Code', monospace; }
|
|
|
245
245
|
<div class="brand-logo">F</div>
|
|
246
246
|
<span class="brand-name">FRAIM</span>
|
|
247
247
|
</a>
|
|
248
|
-
<div class="header-actions">
|
|
248
|
+
<div class="header-actions">
|
|
249
249
|
<button class="theme-btn" onclick="toggleTheme()" title="Toggle dark mode">☾</button>
|
|
250
250
|
</div>
|
|
251
251
|
</header>
|
|
@@ -256,8 +256,8 @@ code, pre, .mono { font-family: 'JetBrains Mono', 'Fira Code', monospace; }
|
|
|
256
256
|
</div>
|
|
257
257
|
<div class="role-chip">AI Software Engineer</div>
|
|
258
258
|
<h1>Ships clean code,<br>not <span>promises</span></h1>
|
|
259
|
-
<p>SWEn delivers production-ready implementations: type-safe APIs, test coverage, real artifacts in the codebase — not prototype code masquerading as ship-ready work.</p>
|
|
260
|
-
</section>
|
|
259
|
+
<p>SWEn delivers production-ready implementations: type-safe APIs, test coverage, real artifacts in the codebase — not prototype code masquerading as ship-ready work.</p>
|
|
260
|
+
</section>
|
|
261
261
|
|
|
262
262
|
<div class="section-label">
|
|
263
263
|
<h2>Selected Work</h2>
|
|
@@ -571,8 +571,8 @@ code, pre, .mono { font-family: 'JetBrains Mono', 'Fira Code', monospace; }
|
|
|
571
571
|
|
|
572
572
|
</div>
|
|
573
573
|
|
|
574
|
-
<footer class="portfolio-footer">
|
|
575
|
-
<div class="footer-sub">
|
|
574
|
+
<footer class="portfolio-footer">
|
|
575
|
+
<div class="footer-sub">
|
|
576
576
|
Part of the <a href="/">FRAIM</a> · 18 AI employees available ·
|
|
577
577
|
<a href="/">View all employees</a>
|
|
578
578
|
</div>
|
|
@@ -596,6 +596,6 @@ function toggleCard(num) {
|
|
|
596
596
|
if (!isOpen) { card.classList.add('open'); card.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }
|
|
597
597
|
}
|
|
598
598
|
</script>
|
|
599
|
-
|
|
599
|
+
|
|
600
600
|
</body>
|
|
601
601
|
</html>
|