fss-link 1.0.39 → 1.0.43

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.
@@ -0,0 +1,214 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { useState, useEffect } from 'react';
7
+ import { ProjectSummaryParser } from 'fss-link-core';
8
+ /**
9
+ * Hook for Welcome Back dialog functionality
10
+ * Follows useAuthCommand pattern for consistency
11
+ *
12
+ * Manages the state and lifecycle of the Welcome Back dialog, which appears when
13
+ * FSS Link detects existing project history. Provides options to continue from
14
+ * where the user left off or start a fresh session.
15
+ *
16
+ * @param settings - Loaded settings object containing user preferences
17
+ * @returns Object with state and handlers for the Welcome Back dialog
18
+ */
19
+ export const useWelcomeBack = (settings) => {
20
+ const [state, setState] = useState({
21
+ isEnabled: settings.merged?.enableWelcomeBack ?? true, // Default enabled
22
+ shouldShow: false,
23
+ projectSummary: null,
24
+ isLoading: false,
25
+ action: 'none',
26
+ contextToPopulate: null,
27
+ });
28
+ // Load project summary on mount
29
+ useEffect(() => {
30
+ if (!state.isEnabled)
31
+ return;
32
+ const loadProjectSummary = async () => {
33
+ setState(prev => ({ ...prev, isLoading: true }));
34
+ try {
35
+ const parser = new ProjectSummaryParser();
36
+ const summary = await parser.getProjectSummary();
37
+ // Validate that summary has required fields
38
+ if (!summary || typeof summary.hasHistory !== 'boolean') {
39
+ throw new Error('Invalid project summary structure');
40
+ }
41
+ setState(prev => ({
42
+ ...prev,
43
+ projectSummary: summary,
44
+ shouldShow: summary.hasHistory,
45
+ isLoading: false,
46
+ }));
47
+ }
48
+ catch (error) {
49
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
50
+ console.warn('Failed to load project summary:', errorMessage);
51
+ setState(prev => ({
52
+ ...prev,
53
+ isLoading: false,
54
+ shouldShow: false,
55
+ projectSummary: null,
56
+ }));
57
+ }
58
+ };
59
+ loadProjectSummary();
60
+ }, [state.isEnabled]);
61
+ // Handle continue action
62
+ const handleContinue = () => {
63
+ if (!state.projectSummary) {
64
+ console.warn('handleContinue called without valid project summary');
65
+ return;
66
+ }
67
+ try {
68
+ // Build context for continuation
69
+ const context = buildResumeContext(state.projectSummary);
70
+ setState(prev => ({
71
+ ...prev,
72
+ action: 'continue',
73
+ contextToPopulate: context,
74
+ shouldShow: false,
75
+ }));
76
+ }
77
+ catch (error) {
78
+ console.warn('Failed to build resume context:', error instanceof Error ? error.message : 'Unknown error');
79
+ // Fallback to simple continuation without context
80
+ setState(prev => ({
81
+ ...prev,
82
+ action: 'continue',
83
+ contextToPopulate: 'Resuming your FSS Link session.\n\nWhat would you like to work on?',
84
+ shouldShow: false,
85
+ }));
86
+ }
87
+ };
88
+ // Handle restart action
89
+ const handleRestart = () => {
90
+ setState(prev => ({
91
+ ...prev,
92
+ action: 'restart',
93
+ shouldShow: false,
94
+ }));
95
+ };
96
+ // Handle cancel action
97
+ const handleCancel = () => {
98
+ setState(prev => ({
99
+ ...prev,
100
+ action: 'none',
101
+ shouldShow: false,
102
+ }));
103
+ };
104
+ return {
105
+ ...state,
106
+ handleContinue,
107
+ handleRestart,
108
+ handleCancel,
109
+ };
110
+ };
111
+ /**
112
+ * Smart Context Filtering - Build intelligent context for resuming work
113
+ *
114
+ * Analyzes the project summary and builds a prioritized context string that helps
115
+ * the user resume their work efficiently. Uses a priority system to include the
116
+ * most relevant information while avoiding information overload.
117
+ *
118
+ * Priority levels:
119
+ * 1. Critical project goal (always included if available)
120
+ * 2. High momentum situations (active development)
121
+ * 3. Recent specific work (meaningful recent activity)
122
+ * 4. Git status (pending changes)
123
+ * 5. Actionable next steps
124
+ * 6. Context refresh for stale sessions
125
+ * 7. Efficiency alerts (only if concerning)
126
+ *
127
+ * @param summary - The project summary containing session data, git status, etc.
128
+ * @returns A formatted context string for resuming work, with fallbacks for edge cases
129
+ */
130
+ function buildResumeContext(summary) {
131
+ try {
132
+ const priorities = [];
133
+ // Priority 1: Critical project goal (always include if available)
134
+ if (summary.projectGoal && typeof summary.projectGoal === 'string') {
135
+ priorities.push({
136
+ content: `🎯 Project Goal: ${summary.projectGoal}`,
137
+ priority: 1
138
+ });
139
+ }
140
+ // Priority 2: High momentum situations (active development)
141
+ if (summary.momentum === 'high' && summary.activeSessions > 1) {
142
+ priorities.push({
143
+ content: `🔥 High momentum: ${summary.activeSessions} agents actively working - continue the flow!`,
144
+ priority: 2
145
+ });
146
+ }
147
+ // Priority 3: Recent specific work (if meaningful)
148
+ if (summary.lastContent && summary.lastContent.length > 20 && summary.timeAgo?.includes('hour')) {
149
+ priorities.push({
150
+ content: `📝 Recent work (${summary.timeAgo}): "${summary.lastContent}"`,
151
+ priority: 3
152
+ });
153
+ }
154
+ // Priority 4: Git status (if changes present)
155
+ if (summary.gitStatus?.hasChanges) {
156
+ const gitInfo = [];
157
+ if (summary.gitStatus.stagedFiles > 0) {
158
+ gitInfo.push(`${summary.gitStatus.stagedFiles} staged`);
159
+ }
160
+ if (summary.gitStatus.unstagedFiles > 0) {
161
+ gitInfo.push(`${summary.gitStatus.unstagedFiles} unstaged`);
162
+ }
163
+ priorities.push({
164
+ content: `🔧 Git: ${gitInfo.join(', ')} changes on ${summary.gitStatus.branch}`,
165
+ priority: 4
166
+ });
167
+ }
168
+ // Priority 5: Actionable next steps
169
+ if (summary.nextSuggestion && summary.momentum !== 'stale') {
170
+ priorities.push({
171
+ content: `💡 Ready for: ${summary.nextSuggestion}`,
172
+ priority: 5
173
+ });
174
+ }
175
+ // Priority 6: Context refresh for stale sessions
176
+ if (summary.momentum === 'stale') {
177
+ priorities.push({
178
+ content: `⏰ Resuming after break - may need context refresh from previous ${summary.totalSessions} sessions`,
179
+ priority: 6
180
+ });
181
+ }
182
+ // Priority 7: Efficiency alerts (only if concerning)
183
+ if (summary.efficiency === 'low' && summary.totalSessions > 3) {
184
+ priorities.push({
185
+ content: `⚠️ Low efficiency detected - consider reviewing approach or goals`,
186
+ priority: 7
187
+ });
188
+ }
189
+ // Smart filtering: Include top 3 most relevant items
190
+ const selectedContext = priorities
191
+ .sort((a, b) => a.priority - b.priority)
192
+ .slice(0, 3)
193
+ .map(item => item.content);
194
+ // Fallback for minimal context
195
+ if (selectedContext.length === 0) {
196
+ const sessionsCount = typeof summary.totalSessions === 'number' ? summary.totalSessions : 0;
197
+ if (sessionsCount > 1) {
198
+ return `Resuming FSS Link work in this project (${sessionsCount} previous sessions).\n\nWhat would you like to work on?`;
199
+ }
200
+ else {
201
+ return 'Resuming your FSS Link session.\n\nWhat would you like to work on?';
202
+ }
203
+ }
204
+ // Build final context with smart formatting
205
+ const contextString = selectedContext.join('\n\n');
206
+ return `${contextString}\n\nWhat would you like to work on?`;
207
+ }
208
+ catch (error) {
209
+ console.warn('Error in buildResumeContext:', error instanceof Error ? error.message : 'Unknown error');
210
+ // Ultimate fallback - simple resume message
211
+ return 'Resuming your FSS Link session.\n\nWhat would you like to work on?';
212
+ }
213
+ }
214
+ //# sourceMappingURL=useWelcomeBack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWelcomeBack.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useWelcomeBack.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ // ⚠️ DEPRECATED: QWEN CONTAMINATION - MARKED FOR REMOVAL
7
+ // This file contains qwen branding contamination and should not be used.
8
+ // FSS Link uses FSS-branded themes only.
9
+ // TODO: Remove this file in next major version cleanup
6
10
  import { Theme } from './theme.js';
7
11
  import { darkSemanticColors } from './semantic-tokens.js';
8
12
  const qwenDarkColors = {
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-dark.js","sourceRoot":"","sources":["../../../../src/ui/themes/qwen-dark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU,IAAI,KAAK,CACtC,WAAW,EACX,MAAM,EACN;IACE,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,aAAa,EAAE;QACb,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,SAAS;KAChC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,6BAA6B,EAAE;QAC7B,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,aAAa,EAAE;QACb,KAAK,EAAE,cAAc,CAAC,WAAW;KAClC;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,aAAa,EAAE;QACb,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,eAAe,EAAE;QACf,KAAK,EAAE,cAAc,CAAC,WAAW;KAClC;IACD,eAAe,EAAE;QACf,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,wBAAwB,EAAE;QACxB,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc,CAAC,OAAO;QAC7B,SAAS,EAAE,QAAQ;KACpB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc,CAAC,UAAU;QAChC,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,cAAc,CAAC,SAAS;KAChC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,aAAa,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD,aAAa,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,QAAQ;KACpB;CACF,EACD,cAAc,EACd,kBAAkB,CACnB,CAAC"}
1
+ {"version":3,"file":"qwen-dark.js","sourceRoot":"","sources":["../../../../src/ui/themes/qwen-dark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,yDAAyD;AACzD,yEAAyE;AACzE,yCAAyC;AACzC,uDAAuD;AAEvD,OAAO,EAAoB,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IACvB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU,IAAI,KAAK,CACtC,WAAW,EACX,MAAM,EACN;IACE,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,aAAa,EAAE;QACb,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,SAAS;KAChC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,6BAA6B,EAAE;QAC7B,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,aAAa,EAAE;QACb,KAAK,EAAE,cAAc,CAAC,WAAW;KAClC;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,aAAa,EAAE;QACb,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,eAAe,EAAE;QACf,KAAK,EAAE,cAAc,CAAC,WAAW;KAClC;IACD,eAAe,EAAE;QACf,KAAK,EAAE,cAAc,CAAC,UAAU;KACjC;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,wBAAwB,EAAE;QACxB,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc,CAAC,OAAO;QAC7B,SAAS,EAAE,QAAQ;KACpB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc,CAAC,UAAU;QAChC,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,cAAc,CAAC,SAAS;KAChC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC;IACD,aAAa,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD,aAAa,EAAE;QACb,UAAU,EAAE,MAAM;KACnB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,QAAQ;KACpB;CACF,EACD,cAAc,EACd,kBAAkB,CACnB,CAAC"}
@@ -3,6 +3,10 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ // ⚠️ DEPRECATED: QWEN CONTAMINATION - MARKED FOR REMOVAL
7
+ // This file contains qwen branding contamination and should not be used.
8
+ // FSS Link uses FSS-branded themes only.
9
+ // TODO: Remove this file in next major version cleanup
6
10
  import { Theme } from './theme.js';
7
11
  import { lightSemanticColors } from './semantic-tokens.js';
8
12
  const qwenLightColors = {
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-light.js","sourceRoot":"","sources":["../../../../src/ui/themes/qwen-light.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qwen-light.js","sourceRoot":"","sources":["../../../../src/ui/themes/qwen-light.ts"],"names":[],"mappings":"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"}