grov 0.6.12 → 0.6.13

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.
@@ -39,6 +39,7 @@ function decodeTokenPayload(token) {
39
39
  }
40
40
  }
41
41
  export async function login() {
42
+ const autoMode = process.argv.includes('--auto');
42
43
  console.log('Logging in to Grov cloud...\n');
43
44
  // Check if already authenticated
44
45
  if (isAuthenticated()) {
@@ -120,8 +121,8 @@ export async function login() {
120
121
  return;
121
122
  }
122
123
  let selectedTeam = teams[0];
123
- // If multiple teams, let user choose
124
- if (teams.length > 1) {
124
+ // If multiple teams, let user choose (skip in auto mode)
125
+ if (teams.length > 1 && !autoMode) {
125
126
  console.log('\nYour teams:');
126
127
  teams.forEach((team, i) => {
127
128
  console.log(` ${i + 1}. ${team.name} (${team.slug})`);
@@ -132,8 +133,8 @@ export async function login() {
132
133
  selectedTeam = teams[index];
133
134
  }
134
135
  }
135
- // Ask to enable sync (default yes)
136
- const enableSync = await prompt(`Enable cloud sync to "${selectedTeam.name}"? [Y/n]: `);
136
+ // Ask to enable sync (default yes, skip in auto mode)
137
+ const enableSync = autoMode ? '' : await prompt(`Enable cloud sync to "${selectedTeam.name}"? [Y/n]: `);
137
138
  if (enableSync !== 'n' && enableSync !== 'no') {
138
139
  setTeamId(selectedTeam.id);
139
140
  setSyncEnabled(true);
@@ -17,10 +17,6 @@ interface MetaData {
17
17
  lastUsedModel: string;
18
18
  mode?: string;
19
19
  }
20
- /**
21
- * Transform CLI Turn to API ExtractPayload format
22
- * CLI always uses 'agent' mode (no ask/plan distinction in CLI)
23
- */
24
20
  export declare function transformToApiFormat(turn: Turn, meta: MetaData): ExtractPayload;
25
21
  /**
26
22
  * Post extracted turn to API
@@ -7,13 +7,16 @@ const API_URL = process.env.GROV_API_URL || 'https://api.grov.dev';
7
7
  * Transform CLI Turn to API ExtractPayload format
8
8
  * CLI always uses 'agent' mode (no ask/plan distinction in CLI)
9
9
  */
10
+ function stripUserQueryTags(text) {
11
+ return text.replace(/<\/?user_query>/g, '').trim();
12
+ }
10
13
  export function transformToApiFormat(turn, meta) {
11
14
  return {
12
15
  composerId: meta.agentId,
13
16
  usageUuid: turn.usageUuid,
14
17
  mode: 'agent', // CLI always agent mode
15
18
  projectPath: turn.projectPath || 'unknown',
16
- original_query: turn.userPrompt,
19
+ original_query: stripUserQueryTags(turn.userPrompt),
17
20
  text: turn.assistantTexts.join('\n'),
18
21
  thinking: turn.reasoningBlocks.join('\n\n'),
19
22
  toolCalls: turn.toolCalls.map(tc => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grov",
3
- "version": "0.6.12",
3
+ "version": "0.6.13",
4
4
  "description": "Collective AI memory for Coding Agents - captures reasoning from sessions and injects context into future sessions",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",
package/postinstall.js CHANGED
@@ -34,7 +34,7 @@ async function runLogin() {
34
34
 
35
35
  console.log(`${dim}Starting authentication...${reset}\n`);
36
36
 
37
- const child = spawn('node', [cliPath, 'login'], {
37
+ const child = spawn('node', [cliPath, 'login', '--auto'], {
38
38
  stdio: 'inherit',
39
39
  cwd: __dirname,
40
40
  });