@beastmode-develeap/beastmode 0.1.381 → 0.1.383
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/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/web/board.html +19 -2
- package/dist/web/build-commit.txt +1 -1
- package/dist/web/build-stamp.txt +1 -1
- package/package.json +1 -1
package/dist/web/board.html
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
}
|
|
16
16
|
</script>
|
|
17
17
|
<!--BOARD_DATA-->
|
|
18
|
-
<script>window.__BUILD_STAMP__ = "
|
|
18
|
+
<script>window.__BUILD_STAMP__ = "20260607-063424-c8daaad";</script>
|
|
19
19
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
20
20
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
21
21
|
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
@@ -8707,6 +8707,7 @@ function CodebaseGuidePanel({ projectName }) {
|
|
|
8707
8707
|
const [expanded, setExpanded] = useState(false);
|
|
8708
8708
|
const [error, setError] = useState(null);
|
|
8709
8709
|
const [stale, setStale] = useState(false);
|
|
8710
|
+
const [versionTracked, setVersionTracked] = useState(true);
|
|
8710
8711
|
|
|
8711
8712
|
const fetchStatus = useCallback(async () => {
|
|
8712
8713
|
try {
|
|
@@ -8715,11 +8716,15 @@ function CodebaseGuidePanel({ projectName }) {
|
|
|
8715
8716
|
setStatus(next);
|
|
8716
8717
|
setFailureReason((data && data.failure_reason) || null);
|
|
8717
8718
|
setStale(Boolean(data && data.stale));
|
|
8719
|
+
// FR-2: a non-git project is signalled by version_tracked === false in the
|
|
8720
|
+
// status response. Default to tracked unless the API explicitly says false.
|
|
8721
|
+
setVersionTracked(!(data && data.version_tracked === false));
|
|
8718
8722
|
return next;
|
|
8719
8723
|
} catch (e) {
|
|
8720
8724
|
setStatus('idle');
|
|
8721
8725
|
setFailureReason(null);
|
|
8722
8726
|
setStale(false);
|
|
8727
|
+
setVersionTracked(true);
|
|
8723
8728
|
return 'idle';
|
|
8724
8729
|
}
|
|
8725
8730
|
}, [projectName]);
|
|
@@ -8764,6 +8769,7 @@ function CodebaseGuidePanel({ projectName }) {
|
|
|
8764
8769
|
setExpanded(false);
|
|
8765
8770
|
setFailureReason(null);
|
|
8766
8771
|
setStale(false);
|
|
8772
|
+
setVersionTracked(true);
|
|
8767
8773
|
await api('POST', '/api/projects/' + projectName + '/analyze?force=true', {});
|
|
8768
8774
|
setStatus('running');
|
|
8769
8775
|
} catch (e) {
|
|
@@ -8772,8 +8778,13 @@ function CodebaseGuidePanel({ projectName }) {
|
|
|
8772
8778
|
};
|
|
8773
8779
|
|
|
8774
8780
|
const isStale = (status === 'complete' || status === 'cached') && stale;
|
|
8781
|
+
// FR-2/FR-5: untracked is a defined, distinct analyzed state. It is mutually
|
|
8782
|
+
// exclusive with stale (a non-git project can never be detected as stale) and
|
|
8783
|
+
// takes precedence over the plain "✓ Analyzed" branch, but NOT over isStale.
|
|
8784
|
+
const isUntracked = (status === 'complete' || status === 'cached') && !isStale && !versionTracked;
|
|
8775
8785
|
const pillLabel =
|
|
8776
8786
|
isStale ? '⚠ Stale — HEAD advanced'
|
|
8787
|
+
: isUntracked ? 'ⓘ Not version-controlled'
|
|
8777
8788
|
: status === 'complete' ? '✓ Analyzed'
|
|
8778
8789
|
: status === 'cached' ? '✓ Analyzed'
|
|
8779
8790
|
: status === 'running' ? '⏳ Analyzing…'
|
|
@@ -8783,10 +8794,15 @@ function CodebaseGuidePanel({ projectName }) {
|
|
|
8783
8794
|
: '—';
|
|
8784
8795
|
const pillBg =
|
|
8785
8796
|
isStale ? 'var(--warning)'
|
|
8797
|
+
: isUntracked ? 'var(--muted)'
|
|
8786
8798
|
: (status === 'complete' || status === 'cached') ? 'var(--success)'
|
|
8787
8799
|
: status === 'running' ? 'var(--warning)'
|
|
8788
8800
|
: status === 'failed' ? 'var(--danger)'
|
|
8789
8801
|
: 'var(--muted)';
|
|
8802
|
+
const pillTitle =
|
|
8803
|
+
isUntracked ? 'This project is not under version control, so guide staleness cannot be detected. Re-analyze manually after the source changes.'
|
|
8804
|
+
: status === 'failed' && failureReason ? ('Failure: ' + failureReason)
|
|
8805
|
+
: '';
|
|
8790
8806
|
const pillStyle = 'display:inline-block;padding:2px 8px;border-radius:10px;background:' + pillBg + ';color:white;font-size:11px;font-weight:600;';
|
|
8791
8807
|
|
|
8792
8808
|
const canShowContent = (status === 'complete' || status === 'cached');
|
|
@@ -8799,8 +8815,9 @@ function CodebaseGuidePanel({ projectName }) {
|
|
|
8799
8815
|
<div style="display:flex;align-items:center;justify-content:space-between;gap:8px;">
|
|
8800
8816
|
<div style="display:flex;align-items:center;gap:8px;">
|
|
8801
8817
|
<span style="font-size:12px;color:var(--text-secondary);">Codebase Guide</span>
|
|
8802
|
-
<span data-testid=${'guide-status-pill-' + projectName} style=${pillStyle} title=${
|
|
8818
|
+
<span data-testid=${'guide-status-pill-' + projectName} style=${pillStyle} title=${pillTitle}>${pillLabel}</span>
|
|
8803
8819
|
${isStale ? html`<span data-testid=${'guide-stale-badge-' + projectName} style="display:none;"></span>` : null}
|
|
8820
|
+
${isUntracked ? html`<span data-testid=${'guide-untracked-badge-' + projectName} style="display:none;"></span>` : null}
|
|
8804
8821
|
</div>
|
|
8805
8822
|
<div style="display:flex;gap:6px;">
|
|
8806
8823
|
${canShowContent ? html`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
c8daaada44888169567e468189c0a5524ac4087c
|
package/dist/web/build-stamp.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
20260607-063424-c8daaad
|