mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-06 16:31:12 +08:00
feat: add templates for epics, product brief, and requirements PRD
- Created a new directory structure for epics and stories with templates for individual epics and an index file. - Added a product brief template for generating product brief documents in Phase 2. - Introduced a requirements PRD template for generating a Product Requirements Document as a directory of individual requirement files in Phase 3. feat: implement V2PipelineTab component for Memory V2 management - Developed the V2PipelineTab component to manage extraction and consolidation processes. - Included ExtractionCard and ConsolidationCard components to handle respective functionalities. - Added JobsList component to display job statuses and allow filtering by job kind. feat: create hooks for Memory V2 pipeline - Implemented custom hooks for managing extraction and consolidation statuses, as well as job listings. - Added mutation hooks to trigger extraction and consolidation processes with automatic query invalidation on success.
This commit is contained in:
@@ -42,6 +42,7 @@ import { Checkbox } from '@/components/ui/Checkbox';
|
||||
import { useMemory, useMemoryMutations, useUnifiedSearch, useUnifiedStats, useRecommendations, useReindex } from '@/hooks';
|
||||
import type { CoreMemory, UnifiedSearchResult } from '@/lib/api';
|
||||
import { cn, parseMemoryMetadata } from '@/lib/utils';
|
||||
import { V2PipelineTab } from '@/components/memory/V2PipelineTab';
|
||||
|
||||
// ========== Source Type Helpers ==========
|
||||
|
||||
@@ -624,7 +625,7 @@ export function MemoryPage() {
|
||||
const [isNewMemoryOpen, setIsNewMemoryOpen] = useState(false);
|
||||
const [editingMemory, setEditingMemory] = useState<CoreMemory | null>(null);
|
||||
const [viewingMemory, setViewingMemory] = useState<CoreMemory | null>(null);
|
||||
const [currentTab, setCurrentTab] = useState<'memories' | 'favorites' | 'archived' | 'unifiedSearch'>('memories');
|
||||
const [currentTab, setCurrentTab] = useState<'memories' | 'favorites' | 'archived' | 'unifiedSearch' | 'v2pipeline'>('memories');
|
||||
const [unifiedQuery, setUnifiedQuery] = useState('');
|
||||
const [selectedCategory, setSelectedCategory] = useState('');
|
||||
const isImmersiveMode = useAppStore(selectIsImmersiveMode);
|
||||
@@ -866,6 +867,11 @@ export function MemoryPage() {
|
||||
label: formatMessage({ id: 'memory.tabs.unifiedSearch' }),
|
||||
icon: <Search className="h-4 w-4" />,
|
||||
},
|
||||
{
|
||||
value: 'v2pipeline',
|
||||
label: 'V2 Pipeline',
|
||||
icon: <Zap className="h-4 w-4" />,
|
||||
},
|
||||
]}
|
||||
/>
|
||||
|
||||
@@ -1062,7 +1068,10 @@ export function MemoryPage() {
|
||||
)}
|
||||
|
||||
{/* Content Area */}
|
||||
{isUnifiedTab ? (
|
||||
{currentTab === 'v2pipeline' ? (
|
||||
/* V2 Pipeline Tab */
|
||||
<V2PipelineTab />
|
||||
) : isUnifiedTab ? (
|
||||
/* Unified Search Results */
|
||||
unifiedLoading ? (
|
||||
<div className="flex items-center justify-center py-12">
|
||||
|
||||
Reference in New Issue
Block a user