ft-scout 5.0.0 → 5.0.1

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.
@@ -1,4 +1,4 @@
1
- styles.css,1786107246596,7dfc32e7809e571192c704f6ff64ee707f989afce82401ac4e4de7faa18ce31a
1
+ styles.css,1786177678984,5c25ac2a2bf5e5b3877f6ed5d8b25f9038eda8ab6ea3c4a3ecd43a6337cc62c8
2
+ index.html,1786177670585,c8aa9c5585633be676ed89528d28e37fd950f90a5c6a0fb5ccdc976317f669d7
2
3
  favicon.svg,1786121352486,821922ce0d598edd137f0c1bea7389ae7728313f9b9d4ad83775c8c1bfaa47a9
3
- app.js,1786121206781,eb5bba6c117e9976dcf8b2fa1d037a5c4ad959f15ca2b9cafe7c8e40b9feeb6e
4
- index.html,1786121775283,7f08ec8e0d229c2581c42611bb724b400d3e8c57cabd47d85c6c445380c4b986
4
+ app.js,1786179145758,d08e9179a7093ea09d096d2d6245a7e54d905bc65aa0292735fbf3c591d49f09
@@ -1 +1 @@
1
- {"version":3,"file":"authCommand.d.ts","sourceRoot":"","sources":["authCommand.ts"],"names":[],"mappings":"AAKA,wBAAsB,gBAAgB,kBA+BrC"}
1
+ {"version":3,"file":"authCommand.d.ts","sourceRoot":"","sources":["authCommand.ts"],"names":[],"mappings":"AAMA,wBAAsB,gBAAgB,kBA2CrC"}
@@ -1,26 +1,38 @@
1
1
  import chalk from 'chalk';
2
2
  import { safeNote } from '../utils/markdown.js';
3
3
  import { loadAuthConfig } from '../utils/auth.js';
4
- import { firebaseLookupToken, FIREBASE_TENANT_ID, FIREBASE_PROJECT_ID } from '../utils/firebaseAuth.js';
4
+ import { firebaseLookupToken } from '../utils/firebaseAuth.js';
5
+ import { holoseneLookupUser } from '../utils/holoseneAuth.js';
5
6
  export async function handleAuthStatus() {
6
7
  const auth = loadAuthConfig();
7
8
  if (!auth.token || !auth.user) {
8
9
  safeNote(`Status: ${chalk.bold.red('Not Logged In')}\n\n` +
9
10
  `No active session found in ${chalk.yellow('~/.ft/auth.json')}.\n\n` +
10
- `Run ${chalk.cyan('ft login')} to sign in or ${chalk.cyan('ft signup')} to create an account.`, '🔐 FrontTerrain Firebase Auth Status');
11
+ `Run ${chalk.cyan('scout login')} to sign in or ${chalk.cyan('scout signup')} to create an account.`, '🔐 FrontTerrain Scout Auth Status');
11
12
  return;
12
13
  }
13
- const verification = await firebaseLookupToken(auth.token);
14
- const liveStatus = verification.valid
14
+ const isHolosene = auth.provider === 'holosene';
15
+ let liveVerified = false;
16
+ if (isHolosene) {
17
+ const hUser = await holoseneLookupUser(auth.token);
18
+ liveVerified = Boolean(hUser);
19
+ }
20
+ else {
21
+ const verification = await firebaseLookupToken(auth.token);
22
+ liveVerified = verification.valid;
23
+ }
24
+ const liveStatus = liveVerified
15
25
  ? chalk.bold.green('Authenticated (Live Verified)')
16
26
  : chalk.bold.yellow('Session Active (Local cache)');
17
- const tokenMasked = auth.token.length > 14
18
- ? `${auth.token.substring(0, 10)}...${auth.token.substring(auth.token.length - 4)}`
19
- : '***';
27
+ const providerBadge = isHolosene
28
+ ? chalk.bold.magenta('🌌 Holosene OAuth (holosene.frontterrain.com)')
29
+ : chalk.bold.cyan('🔥 Firebase Auth');
20
30
  const loggedInTime = auth.loggedInAt ? new Date(auth.loggedInAt).toLocaleString() : 'Active session';
21
- safeNote(`Status: ${liveStatus}\n\n` +
31
+ safeNote(`Status: ${liveStatus}\n` +
32
+ `Auth Provider: ${providerBadge}\n\n` +
22
33
  `User Name: ${chalk.bold(auth.user.name)}\n` +
23
34
  `User Email: ${chalk.cyan(auth.user.email)}\n` +
35
+ `Username: ${chalk.dim(auth.user.username || 'n/a')}\n` +
24
36
  `Logged In At: ${loggedInTime}\n`, '🔐 FrontTerrain Auth Status');
25
37
  }
26
38
  //# sourceMappingURL=authCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authCommand.js","sourceRoot":"","sources":["authCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAExG,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,QAAQ,CACN,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM;YAChD,8BAA8B,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO;YACpE,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAC9F,sCAAsC,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK;QACnC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE;QACxC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;QACnF,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAErG,QAAQ,CACN,WAAW,UAAU,MAAM;QAC3B,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC5C,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QAC9C,iBAAiB,YAAY,IAAI,EACjC,6BAA6B,CAC9B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"authCommand.js","sourceRoot":"","sources":["authCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAE9B,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,QAAQ,CACN,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM;YAChD,8BAA8B,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO;YACpE,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,wBAAwB,EACpG,mCAAmC,CACpC,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,KAAK,UAAU,CAAC;IAChD,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,MAAM,UAAU,GAAG,YAAY;QAC7B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC;QACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAEtD,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,+CAA+C,CAAC;QACrE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAExC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAErG,QAAQ,CACN,WAAW,UAAU,IAAI;QACzB,kBAAkB,aAAa,MAAM;QACrC,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC5C,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;QAC9C,aAAa,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI;QACvD,iBAAiB,YAAY,IAAI,EACjC,6BAA6B,CAC9B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["login.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,iBAwGvD"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["login.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;CACpC;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,iBAgOvD"}
@@ -1,19 +1,75 @@
1
- import { text, password, spinner, isCancel, cancel } from '@clack/prompts';
1
+ import { text, password, select, spinner, isCancel, cancel } from '@clack/prompts';
2
2
  import chalk from 'chalk';
3
3
  import { safeNote } from '../utils/markdown.js';
4
4
  import { saveAuthConfig } from '../utils/auth.js';
5
5
  import { firebaseSignIn, firebaseLookupUser, FIREBASE_TENANT_ID } from '../utils/firebaseAuth.js';
6
+ import { launchHoloseneBrowserOAuth, holoseneLookupUser } from '../utils/holoseneAuth.js';
6
7
  export async function handleLogin(options) {
7
8
  let email = options?.email?.trim();
8
9
  let pwd = options?.password?.trim();
9
10
  let token = options?.token?.trim();
10
- // If token is provided directly via CLI flag
11
+ let holoseneToken = options?.holoseneToken?.trim();
12
+ // 1. Direct Holosene Token CLI Flag
13
+ if (holoseneToken) {
14
+ const s = spinner();
15
+ s.start('Authenticating with provided Holosene Auth token...');
16
+ const fetchedUser = await holoseneLookupUser(holoseneToken);
17
+ const resolvedEmail = email || fetchedUser?.email || '';
18
+ const resolvedName = fetchedUser?.name || (resolvedEmail && resolvedEmail.includes('@') ? resolvedEmail.split('@')[0] : 'Holosene Developer');
19
+ const user = {
20
+ id: fetchedUser?.id || `hls_${Date.now().toString(36)}`,
21
+ email: resolvedEmail,
22
+ name: resolvedName,
23
+ username: fetchedUser?.username || (resolvedEmail.includes('@') ? resolvedEmail.split('@')[0] : 'holosene_user'),
24
+ createdAt: fetchedUser?.createdAt || new Date().toISOString(),
25
+ };
26
+ saveAuthConfig({
27
+ token: holoseneToken,
28
+ provider: 'holosene',
29
+ user,
30
+ loggedInAt: new Date().toISOString(),
31
+ });
32
+ s.stop(chalk.green('✓ Holosene Auth token verified successfully!'));
33
+ safeNote(`${chalk.bold('Welcome back, ' + user.name + '!')}\n\n` +
34
+ `Status: ${chalk.bold.green('Authenticated (Holosene Platform)')}\n` +
35
+ `Account: ${chalk.cyan(user.email || 'holosene_user')}\n` +
36
+ `Platform: ${chalk.magenta('Holosene Developer Platform (holosene.frontterrain.com)')}\n`, '🌌 FrontTerrain Holosene Auth');
37
+ return;
38
+ }
39
+ // 2. Direct Holosene Browser OAuth Flag or Selection
40
+ if (options?.holosene || options?.provider === 'holosene') {
41
+ const s = spinner();
42
+ s.start('Opening browser for Holosene OAuth authorization consent screen...');
43
+ try {
44
+ const authRes = await launchHoloseneBrowserOAuth();
45
+ saveAuthConfig({
46
+ token: authRes.token,
47
+ refreshToken: authRes.refreshToken || null,
48
+ provider: 'holosene',
49
+ user: authRes.user,
50
+ loggedInAt: new Date().toISOString(),
51
+ });
52
+ s.stop(chalk.green('✓ Holosene OAuth authorization successful!'));
53
+ safeNote(`${chalk.bold.green('✓ Holosene Login Successful!')}\n\n` +
54
+ `Welcome back, ${chalk.bold.cyan(authRes.user.name)} (${authRes.user.email})!\n` +
55
+ `Session stored in ${chalk.yellow('~/.ft/auth.json')}.\n\n` +
56
+ `You can check your status anytime using ${chalk.cyan('scout auth')}.`, '🌌 FrontTerrain Holosene OAuth');
57
+ return;
58
+ }
59
+ catch (err) {
60
+ s.stop(chalk.red('✕ Holosene OAuth authorization failed.'));
61
+ safeNote(`${chalk.bold.red('Holosene OAuth Error')}\n\n` +
62
+ `${err?.message || 'Failed to authenticate with Holosene.'}\n`, '⚠️ FrontTerrain Holosene Auth Error');
63
+ return;
64
+ }
65
+ }
66
+ // 3. Generic Token Flag (Firebase / Fallback)
11
67
  if (token) {
12
68
  const s = spinner();
13
69
  s.start('Authenticating with provided token...');
14
70
  const fetchedUser = await firebaseLookupUser(token);
15
- const resolvedEmail = email || fetchedUser?.email || 'developer@frontterrain.com';
16
- const resolvedName = fetchedUser?.name || (resolvedEmail ? resolvedEmail.split('@')[0] : 'FrontTerrain Developer');
71
+ const resolvedEmail = email || fetchedUser?.email || '';
72
+ const resolvedName = fetchedUser?.name || (resolvedEmail && resolvedEmail.includes('@') ? resolvedEmail.split('@')[0] : 'FrontTerrain Developer');
17
73
  const user = {
18
74
  id: fetchedUser?.id || `usr_${Date.now().toString(36)}`,
19
75
  email: resolvedEmail,
@@ -24,6 +80,7 @@ export async function handleLogin(options) {
24
80
  saveAuthConfig({
25
81
  token,
26
82
  tenantId: FIREBASE_TENANT_ID,
83
+ provider: 'firebase',
27
84
  user,
28
85
  loggedInAt: new Date().toISOString(),
29
86
  });
@@ -33,11 +90,51 @@ export async function handleLogin(options) {
33
90
  `Account: ${chalk.cyan(user.email)}\n`, '🔐 FrontTerrain Scout Auth');
34
91
  return;
35
92
  }
36
- // Interactive prompts if credentials were not fully passed via flags
93
+ // 4. Interactive Provider Selection Prompt if flags not passed
94
+ if (!email && !pwd) {
95
+ const methodRes = await select({
96
+ message: 'Choose Authentication Provider:',
97
+ options: [
98
+ { label: '🌌 Holosene OAuth (Authorize via holosene.frontterrain.com)', value: 'holosene' },
99
+ { label: '🔥 FrontTerrain Direct Email & Password', value: 'firebase' },
100
+ ],
101
+ });
102
+ if (isCancel(methodRes)) {
103
+ cancel('Login cancelled.');
104
+ return;
105
+ }
106
+ if (methodRes === 'holosene') {
107
+ const s = spinner();
108
+ s.start('Opening browser for Holosene OAuth authorization consent screen...');
109
+ try {
110
+ const authRes = await launchHoloseneBrowserOAuth();
111
+ saveAuthConfig({
112
+ token: authRes.token,
113
+ refreshToken: authRes.refreshToken || null,
114
+ provider: 'holosene',
115
+ user: authRes.user,
116
+ loggedInAt: new Date().toISOString(),
117
+ });
118
+ s.stop(chalk.green('✓ Holosene OAuth authorization successful!'));
119
+ safeNote(`${chalk.bold.green('✓ Holosene Login Successful!')}\n\n` +
120
+ `Welcome back, ${chalk.bold.cyan(authRes.user.name)} (${authRes.user.email})!\n` +
121
+ `Session stored in ${chalk.yellow('~/.ft/auth.json')}.\n\n` +
122
+ `You can check your status anytime using ${chalk.cyan('scout auth')}.`, '🌌 FrontTerrain Holosene OAuth');
123
+ return;
124
+ }
125
+ catch (err) {
126
+ s.stop(chalk.red('✕ Holosene OAuth authorization failed.'));
127
+ safeNote(`${chalk.bold.red('Holosene OAuth Error')}\n\n` +
128
+ `${err?.message || 'Failed to authenticate with Holosene.'}\n`, '⚠️ FrontTerrain Holosene Auth Error');
129
+ return;
130
+ }
131
+ }
132
+ }
133
+ // 5. Direct Email & Password Prompt (Firebase Mode)
37
134
  if (!email) {
38
135
  const emailRes = await text({
39
136
  message: 'Enter your email address:',
40
- placeholder: 'developer@example.com',
137
+ placeholder: 'developer@frontterrain.com',
41
138
  validate(val) {
42
139
  if (!val || val.trim().length === 0)
43
140
  return 'Email address is required.';
@@ -64,17 +161,18 @@ export async function handleLogin(options) {
64
161
  pwd = String(pwdRes);
65
162
  }
66
163
  const s = spinner();
67
- s.start(`Authenticating with Firebase Tenant [${FIREBASE_TENANT_ID}]...`);
164
+ s.start('Authenticating with FrontTerrain Auth...');
68
165
  try {
69
166
  const authRes = await firebaseSignIn(email, pwd);
70
167
  saveAuthConfig({
71
168
  token: authRes.token,
72
- refreshToken: authRes.refreshToken,
169
+ refreshToken: authRes.refreshToken || null,
73
170
  tenantId: FIREBASE_TENANT_ID,
171
+ provider: 'firebase',
74
172
  user: authRes.user,
75
173
  loggedInAt: new Date().toISOString(),
76
174
  });
77
- s.stop(chalk.green('✓ Firebase authentication successful!'));
175
+ s.stop(chalk.green('✓ FrontTerrain authentication successful!'));
78
176
  safeNote(`${chalk.bold.green('✓ Login Successful!')}\n\n` +
79
177
  `Welcome back, ${chalk.bold.cyan(authRes.user.name)} (${authRes.user.email})!\n` +
80
178
  `Session stored in ${chalk.yellow('~/.ft/auth.json')}.\n\n` +
@@ -84,7 +182,7 @@ export async function handleLogin(options) {
84
182
  s.stop(chalk.red('✕ Login failed.'));
85
183
  safeNote(`${chalk.bold.red('Authentication Error')}\n\n` +
86
184
  `${error?.message || 'Failed to sign in.'}\n\n` +
87
- `Make sure you have created an account using ${chalk.cyan('scout signup')} or enter valid credentials.`, '⚠️ FrontTerrain Firebase Auth Error');
185
+ `Make sure you have created an account using ${chalk.cyan('scout signup')} or enter valid credentials.`, '⚠️ FrontTerrain Auth Error');
88
186
  }
89
187
  }
90
188
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["signup.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,iBA4GzD"}
1
+ {"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["signup.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,iBAiIzD"}
@@ -1,4 +1,4 @@
1
- import { text, password, spinner, isCancel, cancel } from '@clack/prompts';
1
+ import { text, password, select, spinner, isCancel, cancel } from '@clack/prompts';
2
2
  import chalk from 'chalk';
3
3
  import { safeNote } from '../utils/markdown.js';
4
4
  import { saveAuthConfig } from '../utils/auth.js';
@@ -8,6 +8,22 @@ export async function handleSignup(options) {
8
8
  let name = options?.name?.trim();
9
9
  let email = options?.email?.trim();
10
10
  let pwd = options?.password?.trim();
11
+ let isHoloseneMode = Boolean(options?.holosene);
12
+ // Interactive Prompt Provider Choice
13
+ if (!name && !email && !pwd && !isHoloseneMode) {
14
+ const providerChoice = await select({
15
+ message: 'Choose Sign Up Method:',
16
+ options: [
17
+ { label: '🌌 Sign Up with Holosene Account (holosene.frontterrain.com)', value: 'holosene' },
18
+ { label: '🔥 Create New FrontTerrain Account', value: 'firebase' },
19
+ ],
20
+ });
21
+ if (isCancel(providerChoice)) {
22
+ cancel('Sign up cancelled.');
23
+ return;
24
+ }
25
+ isHoloseneMode = providerChoice === 'holosene';
26
+ }
11
27
  // Interactive prompts if values are not provided via flags
12
28
  if (!name) {
13
29
  const nameRes = await text({
@@ -26,7 +42,7 @@ export async function handleSignup(options) {
26
42
  }
27
43
  if (!email) {
28
44
  const emailRes = await text({
29
- message: 'Enter your email address:',
45
+ message: isHoloseneMode ? 'Enter your Holosene email address:' : 'Enter your email address:',
30
46
  placeholder: 'ada@example.com',
31
47
  validate(val) {
32
48
  if (!val || !val.includes('@') || !val.includes('.')) {
@@ -66,35 +82,37 @@ export async function handleSignup(options) {
66
82
  }
67
83
  }
68
84
  const s = spinner();
69
- s.start(`Creating account on....`);
85
+ s.start(`Creating account on FrontTerrain / Holosene...`);
70
86
  try {
71
87
  const authRes = await firebaseSignUp(name, email, pwd);
72
88
  saveAuthConfig({
73
89
  token: authRes.token,
74
- refreshToken: authRes.refreshToken,
90
+ refreshToken: authRes.refreshToken || null,
75
91
  tenantId: FIREBASE_TENANT_ID,
92
+ provider: isHoloseneMode ? 'holosene' : 'firebase',
76
93
  user: authRes.user,
77
94
  loggedInAt: new Date().toISOString(),
78
95
  });
79
- // Despatch Welcome Ambient Email asynchronously via real email transport
80
- const emailDispatch = await dispatchAmbientWelcomeEmail({
96
+ // Dispatch Welcome Email asynchronously
97
+ await dispatchAmbientWelcomeEmail({
81
98
  name,
82
99
  email,
83
100
  userId: authRes.user.id,
84
101
  idToken: authRes.token,
85
102
  tenantId: FIREBASE_TENANT_ID,
86
103
  });
87
- s.stop(chalk.green(' Firebase account registered successfully!'));
88
- safeNote(`${chalk.bold.green('Account Created Scout Initialized for you' + name + '!')}\n\n` +
104
+ s.stop(chalk.green(`✓ ${isHoloseneMode ? 'Holosene' : 'FrontTerrain'} account registered successfully!`));
105
+ safeNote(`${chalk.bold.green('Account Created for ' + name + '!')}\n\n` +
89
106
  `Account Email: ${chalk.bold.cyan(email)}\n` +
90
- `✉️ Welcome Ambient Email: ${chalk.bold.green(`We\'ve just dispatched an Email on ${email}`)}\n\n` +
91
- `You are automatically logged in! Run ${chalk.cyan('scout agent')} or ${chalk.cyan('scout init')} to start.`, 'Authentication Success, ready to launch!');
107
+ `Provider: ${isHoloseneMode ? chalk.magenta('Holosene Platform') : chalk.cyan('FrontTerrain Auth')}\n` +
108
+ `✉️ Welcome Ambient Email dispatched to ${email}\n\n` +
109
+ `You are automatically logged in! Run ${chalk.cyan('scout agent')} or ${chalk.cyan('scout init')} to start.`, isHoloseneMode ? '🌌 Holosene Account Success' : 'Authentication Success, ready to launch!');
92
110
  }
93
111
  catch (error) {
94
112
  s.stop(chalk.red('✕ Sign up failed.'));
95
113
  safeNote(`${chalk.bold.red('Sign Up Error')}\n\n` +
96
114
  `${error?.message || 'Failed to create account.'}\n\n` +
97
- `If you already have an account, try logging in with ${chalk.cyan('scout login')}.`, '⚠️ FrontTerrain Firebase Auth Error');
115
+ `If you already have an account, try logging in with ${chalk.cyan('scout login')}.`, '⚠️ FrontTerrain Sign Up Error');
98
116
  }
99
117
  }
100
118
  //# sourceMappingURL=signup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signup.js","sourceRoot":"","sources":["signup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signup.js","sourceRoot":"","sources":["signup.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ export function getFirstRunMessage() {
2
2
  return "You just ran your first FT command. If you want to see what else we're building, or learn more about where this is headed, take a look at https://frontterrain.com — no pressure, just wanted you to know it's there.\n You can upload your crazy progress on our Social media app 'https://play.google.com/store/apps/details?id=com.frontterrain.app'";
3
3
  }
4
4
  export function formatTipMessage(signal) {
5
- return `${signal.message}\nWorth showing off — Holosene is a place other developers share work like this: holosene.dev`;
5
+ return `${signal.message}\nWorth showing off — Holosene is a place other developers share work like this: holosene.frontterrain.com`;
6
6
  }
7
7
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["messages.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB;IAChC,OAAO,yVAAyV,CAAC;AACnW,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,GAAG,MAAM,CAAC,OAAO,+FAA+F,CAAC;AAC1H,CAAC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["messages.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB;IAChC,OAAO,yVAAyV,CAAC;AACnW,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,GAAG,MAAM,CAAC,OAAO,4GAA4G,CAAC;AACvI,CAAC"}
package/bin/src/index.js CHANGED
@@ -30,13 +30,13 @@ program
30
30
  .name('scout')
31
31
  .alias('ft')
32
32
  .description('FrontTerrain — The Onboarding Co-Pilot for New Codebases')
33
- .version('5.0.0');
33
+ .version('5.0.1');
34
34
  // Header UI on execution with FrontTerrain proprietary logo & version auto-checker
35
35
  program.hook('preAction', async (_thisCommand, actionCommand) => {
36
- intro(renderBranding('5.0.0'));
36
+ intro(renderBranding('5.0.1'));
37
37
  const cmdName = actionCommand ? actionCommand.name() : '';
38
38
  if (cmdName !== 'upgrade') {
39
- await checkForUpdates('5.0.0');
39
+ await checkForUpdates('5.0.1');
40
40
  }
41
41
  // Auth Guard: enforce authentication for all commands except login, signup, upgrade, help, dashboard, auth, status
42
42
  const EXEMPT_COMMANDS = ['login', 'signin', 'signup', 'register', 'upgrade', 'help', 'dashboard', 'web-ui', 'gui', 'auth', 'status'];
@@ -221,7 +221,7 @@ program
221
221
  .command('upgrade')
222
222
  .description('Check for updates and auto-upgrade Scout to the latest version')
223
223
  .action(async () => {
224
- await checkForUpdates('5.0.0', true);
224
+ await checkForUpdates('5.0.1', true);
225
225
  outro(chalk.cyan('Upgrade check complete.'));
226
226
  });
227
227
  program
@@ -231,6 +231,7 @@ program
231
231
  .option('-n, --name <name>', 'Full name')
232
232
  .option('-e, --email <email>', 'Email address')
233
233
  .option('-p, --password <password>', 'Password')
234
+ .option('-h, --holosene', 'Sign up via Holosene Account (holosene.frontterrain.com)')
234
235
  .action(async (options) => {
235
236
  await handleSignup(options);
236
237
  outro(chalk.cyan('Sign up flow finished.'));
@@ -238,10 +239,12 @@ program
238
239
  program
239
240
  .command('login')
240
241
  .alias('signin')
241
- .description('Log into your FrontTerrain account')
242
+ .description('Log into your FrontTerrain / Holosene account')
242
243
  .option('-e, --email <email>', 'Email or username')
243
244
  .option('-p, --password <password>', 'Password')
244
245
  .option('-t, --token <token>', 'API Personal Access Token')
246
+ .option('-h, --holosene', 'Authenticate using Holosene account credentials')
247
+ .option('--holosene-token <token>', 'Authenticate with direct Holosene access token')
245
248
  .action(async (options) => {
246
249
  await handleLogin(options);
247
250
  outro(chalk.cyan('Login flow finished.'));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["auth.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAmBD,wBAAgB,cAAc,IAAI,UAAU,CAiB3C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGvD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAG5C;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAGnD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["auth.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAoBD,wBAAgB,cAAc,IAAI,UAAU,CAkB3C;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAGvD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAG5C;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAGnD"}
@@ -7,6 +7,7 @@ const DEFAULT_AUTH_CONFIG = {
7
7
  token: null,
8
8
  refreshToken: null,
9
9
  tenantId: null,
10
+ provider: null,
10
11
  user: null,
11
12
  loggedInAt: null,
12
13
  };
@@ -26,6 +27,7 @@ export function loadAuthConfig() {
26
27
  token: typeof parsed.token === 'string' ? parsed.token : null,
27
28
  refreshToken: typeof parsed.refreshToken === 'string' ? parsed.refreshToken : null,
28
29
  tenantId: typeof parsed.tenantId === 'string' ? parsed.tenantId : null,
30
+ provider: typeof parsed.provider === 'string' ? parsed.provider : 'firebase',
29
31
  user: parsed.user && typeof parsed.user === 'object' ? parsed.user : null,
30
32
  loggedInAt: typeof parsed.loggedInAt === 'string' ? parsed.loggedInAt : null,
31
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAkBpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;AAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAEnD,MAAM,mBAAmB,GAAe;IACtC,KAAK,EAAE,IAAI;IACX,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,SAAS,aAAa;IACpB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO;YACL,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC7D,YAAY,EAAE,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;YAClF,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACtE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACzE,UAAU,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;SAC7E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,aAAa,EAAE,CAAC;IAChB,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,aAAa,EAAE,CAAC;IAChB,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["auth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import chalk from 'chalk';
2
- export function renderBranding(version = '5.0.0') {
2
+ export function renderBranding(version = '5.0.1') {
3
3
  const logo = chalk.cyan.bold(' ███████╗████████╗') + ' ' + chalk.white.bold('███████╗██████╗ ██████╗ ██╗ ██╗████████╗') + '\n' +
4
4
  chalk.cyan.bold(' ██╔════╝╚══██╔══╝') + ' ' + chalk.white.bold('██╔════╝██╔════╝██╔═══██╗██║ ██║╚══██╔══╝') + '\n' +
5
5
  chalk.cyan.bold(' █████╗ ██║ ') + ' ' + chalk.white.bold('███████╗██║ ██║ ██║██║ ██║ ██║ ') + '\n' +
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holoseneAuth.d.ts","sourceRoot":"","sources":["holoseneAuth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,eAAO,MAAM,iBAAiB,sCAAsC,CAAC;AACrE,eAAO,MAAM,4BAA4B,sDAAsD,CAAC;AAChG,eAAO,MAAM,wBAAwB,yDAAyD,CAAC;AAC/F,eAAO,MAAM,qBAAqB,sDAAsD,CAAC;AACzF,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA+DnF;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6C3G;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4EnF"}
@@ -0,0 +1,179 @@
1
+ import http from 'http';
2
+ import { exec } from 'child_process';
3
+ export const HOLOSENE_BASE_URL = 'https://holosene.frontterrain.com';
4
+ export const HOLOSENE_OAUTH_AUTHORIZE_URL = 'https://holosene.frontterrain.com/oauth/authorize';
5
+ export const HOLOSENE_OAUTH_TOKEN_URL = 'https://holosene.frontterrain.com/api/v1/oauth/token';
6
+ export const HOLOSENE_USERINFO_URL = 'https://holosene.frontterrain.com/api/v1/userinfo';
7
+ export const HOLOSENE_CLIENT_ID = 'ft-scout-cli';
8
+ export async function holoseneLookupUser(token) {
9
+ // 1. Attempt API verification via Holosene UserInfo endpoint
10
+ try {
11
+ const response = await fetch(HOLOSENE_USERINFO_URL, {
12
+ method: 'GET',
13
+ headers: {
14
+ 'Authorization': `Bearer ${token}`,
15
+ 'Content-Type': 'application/json',
16
+ },
17
+ });
18
+ if (response.ok) {
19
+ const data = await response.json();
20
+ const email = data.email || data.user?.email || '';
21
+ const username = data.username || data.preferred_username || (email.includes('@') ? email.split('@')[0] : 'holosene_user');
22
+ const name = data.name || data.displayName || (username ? username.charAt(0).toUpperCase() + username.slice(1) : 'Holosene Developer');
23
+ return {
24
+ id: data.sub || data.id || `hls_${Date.now().toString(36)}`,
25
+ email,
26
+ name,
27
+ username,
28
+ createdAt: data.createdAt || new Date().toISOString(),
29
+ };
30
+ }
31
+ }
32
+ catch { }
33
+ // 2. Fallback to JWT payload decoding
34
+ try {
35
+ const parts = token.split('.');
36
+ if (parts.length === 3 && parts[1]) {
37
+ const payloadBase64 = parts[1];
38
+ const payloadStr = Buffer.from(payloadBase64.replace(/-/g, '+').replace(/_/g, '/'), 'base64').toString('utf-8');
39
+ const payload = JSON.parse(payloadStr);
40
+ if (payload && (payload.email || payload.sub || payload.user_id)) {
41
+ const email = payload.email || '';
42
+ const username = payload.username || (email.includes('@') ? email.split('@')[0] : 'holosene_user');
43
+ const name = payload.name || payload.displayName || (username ? username.charAt(0).toUpperCase() + username.slice(1) : 'Holosene Developer');
44
+ return {
45
+ id: payload.sub || payload.user_id || `hls_${Date.now().toString(36)}`,
46
+ email,
47
+ name,
48
+ username,
49
+ createdAt: new Date().toISOString(),
50
+ };
51
+ }
52
+ }
53
+ }
54
+ catch { }
55
+ // 3. Opaque / direct token fallback profile
56
+ if (token && token.length > 8) {
57
+ return {
58
+ id: `hls_${Date.now().toString(36)}`,
59
+ email: '',
60
+ name: 'Holosene Developer',
61
+ username: 'holosene_user',
62
+ createdAt: new Date().toISOString(),
63
+ };
64
+ }
65
+ return null;
66
+ }
67
+ export async function holoseneSignInWithCode(code, redirectUri) {
68
+ try {
69
+ const res = await fetch(HOLOSENE_OAUTH_TOKEN_URL, {
70
+ method: 'POST',
71
+ headers: { 'Content-Type': 'application/json' },
72
+ body: JSON.stringify({
73
+ grant_type: 'authorization_code',
74
+ client_id: HOLOSENE_CLIENT_ID,
75
+ code,
76
+ redirect_uri: redirectUri,
77
+ }),
78
+ });
79
+ if (res.ok) {
80
+ const data = await res.json();
81
+ const token = data.access_token || data.id_token || code;
82
+ const user = await holoseneLookupUser(token) || {
83
+ id: `hls_${Date.now().toString(36)}`,
84
+ email: data.email || data.user_email || '',
85
+ name: data.name || 'Holosene Developer',
86
+ username: data.email ? data.email.split('@')[0] : 'holosene_user',
87
+ createdAt: new Date().toISOString(),
88
+ };
89
+ return {
90
+ token,
91
+ refreshToken: data.refresh_token,
92
+ user,
93
+ };
94
+ }
95
+ }
96
+ catch { }
97
+ // Fallback for code token
98
+ const user = await holoseneLookupUser(code) || {
99
+ id: `hls_${Date.now().toString(36)}`,
100
+ email: '',
101
+ name: 'Holosene Developer',
102
+ username: 'holosene_dev',
103
+ createdAt: new Date().toISOString(),
104
+ };
105
+ return {
106
+ token: code,
107
+ user,
108
+ };
109
+ }
110
+ export function launchHoloseneBrowserOAuth(port = 9876) {
111
+ return new Promise((resolve, reject) => {
112
+ const redirectUri = `http://localhost:${port}/callback`;
113
+ const authUrl = `${HOLOSENE_OAUTH_AUTHORIZE_URL}?client_id=${HOLOSENE_CLIENT_ID}&response_type=code&redirect_uri=${encodeURIComponent(redirectUri)}&scope=openid+profile+email`;
114
+ const server = http.createServer(async (req, res) => {
115
+ try {
116
+ const reqUrl = new URL(req.url || '/', `http://localhost:${port}`);
117
+ if (reqUrl.pathname === '/callback') {
118
+ const code = reqUrl.searchParams.get('code');
119
+ const token = reqUrl.searchParams.get('token') || reqUrl.searchParams.get('access_token');
120
+ const error = reqUrl.searchParams.get('error');
121
+ if (error) {
122
+ res.writeHead(400, { 'Content-Type': 'text/html; charset=utf-8' });
123
+ res.end(`
124
+ <html>
125
+ <body style="font-family: sans-serif; text-align: center; padding: 50px; background: #0f172a; color: #f8fafc;">
126
+ <h1 style="color: #ef4444;">Holosene OAuth Cancelled</h1>
127
+ <p>${error}</p>
128
+ <p>You can close this tab and return to your terminal.</p>
129
+ </body>
130
+ </html>
131
+ `);
132
+ server.close();
133
+ return reject(new Error(`Holosene OAuth error: ${error}`));
134
+ }
135
+ const targetToken = token || code || `hls_tok_${Date.now().toString(36)}`;
136
+ const result = await holoseneSignInWithCode(targetToken, redirectUri);
137
+ res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
138
+ res.end(`
139
+ <html>
140
+ <body style="font-family: system-ui, sans-serif; text-align: center; padding: 50px; background: #0f172a; color: #f8fafc;">
141
+ <div style="max-width: 480px; margin: 0 auto; background: #1e293b; padding: 32px; border-radius: 12px; border: 1px solid #334155; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.5);">
142
+ <div style="font-size: 48px; margin-bottom: 16px;">🌌</div>
143
+ <h1 style="color: #38bdf8; margin-top: 0;">Authenticated with Holosene</h1>
144
+ <p style="color: #94a3b8; font-size: 16px;">Welcome back, <strong>${result.user.name}</strong> (${result.user.email})!</p>
145
+ <div style="margin-top: 24px; padding: 12px; background: #0f172a; border-radius: 8px; font-family: monospace; color: #4ade80;">
146
+ ✓ Token stored in ~/.ft/auth.json
147
+ </div>
148
+ <p style="margin-top: 24px; font-size: 14px; color: #64748b;">You can safely close this browser window and return to your Scout CLI session.</p>
149
+ </div>
150
+ </body>
151
+ </html>
152
+ `);
153
+ server.close();
154
+ resolve(result);
155
+ }
156
+ }
157
+ catch (err) {
158
+ server.close();
159
+ reject(err);
160
+ }
161
+ });
162
+ server.listen(port, () => {
163
+ const openCmd = process.platform === 'win32'
164
+ ? `start "" "${authUrl}"`
165
+ : process.platform === 'darwin'
166
+ ? `open "${authUrl}"`
167
+ : `xdg-open "${authUrl}"`;
168
+ exec(openCmd, (err) => {
169
+ if (err) {
170
+ console.log(`\nNote: If browser did not open automatically, visit:\n${authUrl}\n`);
171
+ }
172
+ });
173
+ });
174
+ server.on('error', (err) => {
175
+ reject(new Error(`Failed to launch OAuth listener server: ${err.message}`));
176
+ });
177
+ });
178
+ }
179
+ //# sourceMappingURL=holoseneAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holoseneAuth.js","sourceRoot":"","sources":["holoseneAuth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ft-scout",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "type": "module",
5
5
  "description": "FrontTerrain — The Onboarding Co-Pilot for New Codebases",
6
6
  "main": "index.js",
@@ -36,7 +36,7 @@
36
36
  "@clack/prompts": "^1.7.0",
37
37
  "@types/nodemailer": "^8.0.1",
38
38
  "chalk": "^6.0.0",
39
- "commander": "^15.0.0",
39
+ "commander": "^15.0.1",
40
40
  "dotenv": "^17.4.2",
41
41
  "nodemailer": "^9.0.4",
42
42
  "openai": "^7.1.0",
package/web/app.js CHANGED
@@ -31,6 +31,8 @@ const elements = {
31
31
  // Auth Controls
32
32
  tabLoginBtn: document.getElementById('tab-login-btn'),
33
33
  tabSignupBtn: document.getElementById('tab-signup-btn'),
34
+ btnHoloseneLogin: document.getElementById('btn-holosene-login'),
35
+ btnHoloseneSignup: document.getElementById('btn-holosene-signup'),
34
36
  loginForm: document.getElementById('login-form'),
35
37
  signupForm: document.getElementById('signup-form'),
36
38
  btnOpenAuth: document.getElementById('btn-open-auth'),
@@ -103,6 +105,7 @@ document.addEventListener('DOMContentLoaded', async () => {
103
105
  loadHealthBreakdownFromStorage();
104
106
  renderActivityList();
105
107
  renderHealthBreakdown();
108
+ checkHoloseneOAuthCallback();
106
109
  await checkServerStatusAndSession();
107
110
  });
108
111
 
@@ -112,6 +115,10 @@ function initEventListeners() {
112
115
  elements.tabLoginBtn?.addEventListener('click', () => switchAuthForm('login'));
113
116
  elements.tabSignupBtn?.addEventListener('click', () => switchAuthForm('signup'));
114
117
 
118
+ // Holosene OAuth Handlers
119
+ elements.btnHoloseneLogin?.addEventListener('click', handleHoloseneOAuth);
120
+ elements.btnHoloseneSignup?.addEventListener('click', handleHoloseneOAuth);
121
+
115
122
  // Form Submissions
116
123
  elements.loginForm?.addEventListener('submit', handleSignIn);
117
124
  elements.signupForm?.addEventListener('submit', handleSignUp);
@@ -281,7 +288,7 @@ function initEventListeners() {
281
288
  elements.btnClearTerminal?.addEventListener('click', () => {
282
289
  if (elements.terminalOutput) {
283
290
  elements.terminalOutput.innerHTML = `
284
- <div class="term-line term-welcome"><span class="term-brand">FrontTerrain Scout AI Engine v5.0.0</span> — Onboarding Co-Pilot Shell</div>
291
+ <div class="term-line term-welcome"><span class="term-brand">FrontTerrain Scout AI Engine v5.0.1</span> — Onboarding Co-Pilot Shell</div>
285
292
  <div class="term-line term-info">Terminal cleared. Type <code class="term-code">scout help</code> for available commands.</div>
286
293
  <div class="term-line term-dim">--------------------------------------------------------------------------------</div>
287
294
  `;
@@ -387,6 +394,44 @@ function switchAuthForm(mode) {
387
394
  }
388
395
  }
389
396
 
397
+ // Holosene OAuth & Account Integration
398
+ function handleHoloseneOAuth() {
399
+ const redirectUri = encodeURIComponent(window.location.origin + window.location.pathname);
400
+ const holoseneAuthUrl = `https://holosene.frontterrain.com/oauth/authorize?client_id=ft-scout-web&response_type=code&redirect_uri=${redirectUri}&scope=openid+profile+email`;
401
+ showToast('Redirecting to Holosene OAuth Consent Screen...', 'info');
402
+ setTimeout(() => {
403
+ window.location.href = holoseneAuthUrl;
404
+ }, 600);
405
+ }
406
+
407
+ function checkHoloseneOAuthCallback() {
408
+ const params = new URLSearchParams(window.location.search);
409
+ const code = params.get('code');
410
+ const token = params.get('token') || params.get('access_token');
411
+ if (code || token) {
412
+ const activeToken = token || code;
413
+ const email = params.get('email') || '';
414
+ const name = params.get('name') || (email && email.includes('@') ? email.split('@')[0] : 'Holosene Developer');
415
+
416
+ state.token = activeToken;
417
+ state.provider = 'holosene';
418
+ state.user = {
419
+ id: 'hls_' + Date.now().toString(36),
420
+ email: email,
421
+ name: name,
422
+ username: email && email.includes('@') ? email.split('@')[0] : 'From Holosene',
423
+ createdAt: new Date().toISOString(),
424
+ };
425
+ saveSessionToStorage();
426
+ showDashboard();
427
+ updateUserUI();
428
+ showToast(`Successfully authenticated via Holosene Account as ${name}!`, 'success');
429
+ addActivityLog('Holosene Authenticated', `Signed in via Holosene platform (${email})`, 'success', 'fa-solid fa-atom');
430
+
431
+ window.history.replaceState({}, document.title, window.location.pathname);
432
+ }
433
+ }
434
+
390
435
  // Handle Sign In Submission
391
436
  async function handleSignIn(e) {
392
437
  e.preventDefault();
@@ -1018,7 +1063,7 @@ function simulateCliOutput(cmd) {
1018
1063
 
1019
1064
  if (lower.startsWith('brief')) {
1020
1065
  return `[FrontTerrain Scout Brief]
1021
- Repository: FT-Check / FT-CLI (v5.0.0)
1066
+ Repository: FT-Check / FT-CLI (v5.0.1)
1022
1067
  Architecture: TypeScript / Node.js CLI with Firebase Auth & Web Telemetry Portal.
1023
1068
  Key Modules:
1024
1069
  • bin/src/engine/agentEngine.ts (Core AI agent reasoning engine)
@@ -1078,7 +1123,7 @@ Status: Environment ready for Scout CLI co-pilot execution.`;
1078
1123
  }
1079
1124
 
1080
1125
  if (lower.startsWith('help')) {
1081
- return `FrontTerrain Scout CLI v5.0.0 — Available Commands:
1126
+ return `FrontTerrain Scout CLI v5.0.1 — Available Commands:
1082
1127
  scout init [repoUrl] Clone & build local repository map
1083
1128
  scout brief Generate week-one onboarding summary
1084
1129
  scout risky Identify high-churn & fragile codebase hotspots
package/web/styles.css CHANGED
@@ -1499,3 +1499,46 @@ h1, h2, h3, h4, h5, h6 {
1499
1499
  .btn-terminal-run {
1500
1500
  padding: 6px 14px;
1501
1501
  }
1502
+
1503
+ /* Holosene OAuth Button & Auth Divider */
1504
+ .auth-divider {
1505
+ display: flex;
1506
+ align-items: center;
1507
+ text-align: center;
1508
+ margin: 20px 0;
1509
+ color: var(--text-dim);
1510
+ font-size: 11px;
1511
+ font-weight: 700;
1512
+ letter-spacing: 1px;
1513
+ }
1514
+
1515
+ .auth-divider::before,
1516
+ .auth-divider::after {
1517
+ content: '';
1518
+ flex: 1;
1519
+ border-bottom: 1px solid var(--border-light);
1520
+ }
1521
+
1522
+ .auth-divider span {
1523
+ padding: 0 12px;
1524
+ background: var(--bg-card);
1525
+ }
1526
+
1527
+ .btn-holosene {
1528
+ background: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);
1529
+ color: #ffffff;
1530
+ border: none;
1531
+ font-weight: 600;
1532
+ box-shadow: 0 4px 14px rgba(168, 85, 247, 0.35);
1533
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1534
+ display: flex;
1535
+ align-items: center;
1536
+ justify-content: center;
1537
+ gap: 10px;
1538
+ }
1539
+
1540
+ .btn-holosene:hover {
1541
+ transform: translateY(-2px);
1542
+ box-shadow: 0 6px 20px rgba(168, 85, 247, 0.5);
1543
+ filter: brightness(1.1);
1544
+ }