@liquidmetal-ai/raindrop 0.5.2 → 0.6.0
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/README.md +102 -117
- package/dist/commands/mcp/install-claude.d.ts +19 -0
- package/dist/commands/mcp/install-claude.d.ts.map +1 -0
- package/dist/commands/mcp/install-claude.js +66 -0
- package/dist/commands/query/chunk-search.d.ts.map +1 -1
- package/dist/commands/query/chunk-search.js +5 -1
- package/dist/commands/query/document.d.ts.map +1 -1
- package/dist/commands/query/document.js +5 -1
- package/dist/commands/{log/tail.d.ts → query/reindex.d.ts} +6 -7
- package/dist/commands/query/reindex.d.ts.map +1 -0
- package/dist/commands/query/reindex.js +145 -0
- package/dist/commands/query/search.d.ts.map +1 -1
- package/dist/commands/query/search.js +5 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +1862 -1951
- package/package.json +6 -3
- package/templates/db/node_modules/.bin/prisma +2 -2
- package/templates/db/node_modules/.bin/prisma-kysely +2 -2
- package/templates/db/node_modules/.bin/tsc +2 -2
- package/templates/db/node_modules/.bin/tsserver +2 -2
- package/templates/db/node_modules/.bin/zx +2 -2
- package/dist/commands/log/query.d.ts +0 -27
- package/dist/commands/log/query.d.ts.map +0 -1
- package/dist/commands/log/query.js +0 -231
- package/dist/commands/log/tail.d.ts.map +0 -1
- package/dist/commands/log/tail.js +0 -214
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { urlifyOrganizationId } from '@liquidmetal-ai/drizzle/raindrop/index';
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import { BaseCommand } from '../../base-command.js';
|
|
4
|
+
export default class McpInstallClaude extends BaseCommand {
|
|
5
|
+
static description = 'Install MCP (Model Context Protocol) integration for Claude IDE';
|
|
6
|
+
static examples = [
|
|
7
|
+
`<%= config.bin %> mcp install-claude
|
|
8
|
+
Install MCP integration for Claude IDE
|
|
9
|
+
`,
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
13
|
+
};
|
|
14
|
+
async run() {
|
|
15
|
+
await this.installClaudeIntegration();
|
|
16
|
+
}
|
|
17
|
+
async installClaudeIntegration() {
|
|
18
|
+
// Check if Claude CLI is installed
|
|
19
|
+
if (!(await this.checkClaudeInstalled())) {
|
|
20
|
+
this.error('Claude CLI is not installed. Please install it first: https://claude.ai/download', { exit: 1 });
|
|
21
|
+
}
|
|
22
|
+
// Use existing pattern to get organization identity (already handles "not logged in")
|
|
23
|
+
const identity = await this.catalogIdentity();
|
|
24
|
+
// Use existing utility to convert org ID to URL-safe format
|
|
25
|
+
const urlSafeOrgId = urlifyOrganizationId(identity.organizationId);
|
|
26
|
+
// Construct MCP server URL
|
|
27
|
+
const mcpUrl = `https://raindrop-mcp.${urlSafeOrgId}.lmapp.run/mcp`;
|
|
28
|
+
try {
|
|
29
|
+
// Execute claude command silently
|
|
30
|
+
await this.executeClaudeCommand(['mcp', 'add', '--transport', 'http', 'raindrop-mcp', mcpUrl]);
|
|
31
|
+
// TODO: These success messages need more specifics about what was actually configured,
|
|
32
|
+
// where the config file is located, and more detailed next steps for the user
|
|
33
|
+
console.log('✅ MCP integration for Claude IDE installed successfully');
|
|
34
|
+
console.log(`📡 Server URL: ${mcpUrl}`);
|
|
35
|
+
console.log('🔧 Restart Claude IDE for changes to take effect');
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
this.error(`Failed to configure Claude MCP integration: ${error.message}`, { exit: 1 });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async checkClaudeInstalled() {
|
|
42
|
+
return new Promise((resolve) => {
|
|
43
|
+
const childProcess = spawn('claude', ['--version'], { stdio: 'ignore' });
|
|
44
|
+
childProcess.on('close', (code) => resolve(code === 0));
|
|
45
|
+
childProcess.on('error', () => resolve(false));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async executeClaudeCommand(args) {
|
|
49
|
+
return new Promise((resolve, reject) => {
|
|
50
|
+
const childProcess = spawn('claude', args, {
|
|
51
|
+
stdio: 'ignore' // Hide output from user
|
|
52
|
+
});
|
|
53
|
+
childProcess.on('close', (code) => {
|
|
54
|
+
if (code === 0) {
|
|
55
|
+
resolve();
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
reject(new Error(`Claude MCP command failed with exit code ${code}`));
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
childProcess.on('error', (error) => {
|
|
62
|
+
reject(new Error(`Failed to execute Claude CLI: ${error.message}`));
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-search.d.ts","sourceRoot":"","sources":["../../../src/commands/query/chunk-search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW,CAAC,OAAO,SAAS,CAAC;IAClE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAoF;IAEtG,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MAiCV;IAEI,WAAW,CAAC,KAAK,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"chunk-search.d.ts","sourceRoot":"","sources":["../../../src/commands/query/chunk-search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW,CAAC,OAAO,SAAS,CAAC;IAClE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAoF;IAEtG,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MAiCV;IAEI,WAAW,CAAC,KAAK,EAAE,MAAM;IAgEzB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAI3B"}
|
|
@@ -55,6 +55,10 @@ Run a RAG search query against a Smart Bucket.
|
|
|
55
55
|
if (this.flags.buckets?.length && this.flags.moduleIds?.length) {
|
|
56
56
|
this.error('Cannot specify both --buckets and --moduleIds flags. Please use only one type of filter.');
|
|
57
57
|
}
|
|
58
|
+
// Load config if any bucket doesn't have a version specified
|
|
59
|
+
if (this.flags.buckets?.some(bucket => !bucket.includes('#'))) {
|
|
60
|
+
await this.loadConfig();
|
|
61
|
+
}
|
|
58
62
|
const { client: searchAgentService, userId, organizationId } = await this.searchAgentService();
|
|
59
63
|
// Run the RAG search
|
|
60
64
|
const response = await searchAgentService.ragSearch({
|
|
@@ -69,7 +73,7 @@ Run a RAG search query against a Smart Bucket.
|
|
|
69
73
|
case: 'bucket',
|
|
70
74
|
value: {
|
|
71
75
|
name: bucketName,
|
|
72
|
-
version: version || '',
|
|
76
|
+
version: version || this.raindropConfig?.versionId || '',
|
|
73
77
|
},
|
|
74
78
|
},
|
|
75
79
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/commands/query/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW,CAAC,OAAO,YAAY,CAAC;IACxE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAoCV;IAEI,YAAY,CAAC,KAAK,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/commands/query/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW,CAAC,OAAO,YAAY,CAAC;IACxE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAoCV;IAEI,YAAY,CAAC,KAAK,EAAE,MAAM;IAgE1B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAI3B"}
|
|
@@ -65,6 +65,10 @@ Chat with a document in a Smart Bucket using module ID.
|
|
|
65
65
|
if (!this.flags.bucket && !this.flags.moduleId) {
|
|
66
66
|
this.error('Must specify either --bucket or --moduleId flag to identify the document location.');
|
|
67
67
|
}
|
|
68
|
+
// Load config if bucket doesn't have a version specified
|
|
69
|
+
if (this.flags.bucket && !this.flags.bucket.includes('#')) {
|
|
70
|
+
await this.loadConfig();
|
|
71
|
+
}
|
|
68
72
|
const { client: searchAgentService, userId, organizationId } = await this.searchAgentService();
|
|
69
73
|
let bucketLocation;
|
|
70
74
|
// Create bucket location based on which flag is used
|
|
@@ -76,7 +80,7 @@ Chat with a document in a Smart Bucket using module ID.
|
|
|
76
80
|
case: 'bucket',
|
|
77
81
|
value: {
|
|
78
82
|
name: bucketName,
|
|
79
|
-
version: version || '',
|
|
83
|
+
version: version || this.raindropConfig?.versionId || '',
|
|
80
84
|
},
|
|
81
85
|
},
|
|
82
86
|
};
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { BaseCommand } from '../../base-command.js';
|
|
2
|
-
export default class
|
|
3
|
-
static args: {};
|
|
2
|
+
export default class QueryReindex extends BaseCommand<typeof QueryReindex> {
|
|
4
3
|
static description: string;
|
|
5
4
|
static examples: string[];
|
|
6
5
|
static flags: {
|
|
7
|
-
|
|
6
|
+
bucket: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
parallel: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
dryRun: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
8
9
|
impersonate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
10
|
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
-
|
|
11
|
-
version: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
12
|
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
13
|
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
-
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
14
|
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
15
|
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
16
|
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -19,4 +18,4 @@ export default class Tail extends BaseCommand<typeof Tail> {
|
|
|
19
18
|
};
|
|
20
19
|
run(): Promise<void>;
|
|
21
20
|
}
|
|
22
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=reindex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reindex.d.ts","sourceRoot":"","sources":["../../../src/commands/query/reindex.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW,CAAC,OAAO,YAAY,CAAC;IACxE,MAAM,CAAC,WAAW,SAA0E;IAE5F,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MA8BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmH3B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import * as os from 'node:os';
|
|
4
|
+
import * as path from 'path';
|
|
5
|
+
import { BaseCommand } from '../../base-command.js';
|
|
6
|
+
export default class QueryReindex extends BaseCommand {
|
|
7
|
+
static description = 'Reindex all objects in a bucket by downloading and re-uploading them';
|
|
8
|
+
static examples = [
|
|
9
|
+
`<%= config.bin %> query reindex -b my-bucket
|
|
10
|
+
Reindex all objects in my-bucket by downloading and re-uploading them
|
|
11
|
+
`,
|
|
12
|
+
`<%= config.bin %> query reindex -b my-bucket --parallel 5
|
|
13
|
+
Reindex objects with 5 parallel operations instead of the default 10
|
|
14
|
+
`,
|
|
15
|
+
];
|
|
16
|
+
static flags = {
|
|
17
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
18
|
+
bucket: Flags.string({
|
|
19
|
+
char: 'b',
|
|
20
|
+
description: 'bucket name version can be specified with #, e.g. my-bucket#versionId',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
parallel: Flags.integer({
|
|
24
|
+
char: 'p',
|
|
25
|
+
description: 'number of parallel operations',
|
|
26
|
+
default: 10,
|
|
27
|
+
}),
|
|
28
|
+
dryRun: Flags.boolean({
|
|
29
|
+
char: 'd',
|
|
30
|
+
description: 'show what would be reindexed without actually doing it',
|
|
31
|
+
default: false,
|
|
32
|
+
}),
|
|
33
|
+
impersonate: Flags.string({
|
|
34
|
+
char: 'i',
|
|
35
|
+
description: 'impersonate organization',
|
|
36
|
+
required: false,
|
|
37
|
+
hidden: true,
|
|
38
|
+
}),
|
|
39
|
+
manifest: Flags.string({
|
|
40
|
+
char: 'M',
|
|
41
|
+
description: 'project manifest',
|
|
42
|
+
required: false,
|
|
43
|
+
default: 'raindrop.manifest',
|
|
44
|
+
hidden: true,
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
async run() {
|
|
48
|
+
if (this.flags.bucket && !this.flags.bucket.includes('#')) {
|
|
49
|
+
await this.loadConfig();
|
|
50
|
+
}
|
|
51
|
+
const bucketLocation = {
|
|
52
|
+
bucketLocation: {
|
|
53
|
+
case: 'bucket',
|
|
54
|
+
value: {
|
|
55
|
+
name: this.flags.bucket.split('#')[0],
|
|
56
|
+
version: this.flags.bucket.includes('#') ? this.flags.bucket.split('#')[1] : this.raindropConfig?.versionId,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
const { client: objectService, userId, organizationId } = await this.objectService();
|
|
61
|
+
// Get list of objects
|
|
62
|
+
console.log(`Fetching object list from bucket: ${this.flags.bucket}`);
|
|
63
|
+
const listResponse = await objectService.listObjects({
|
|
64
|
+
userId,
|
|
65
|
+
organizationId,
|
|
66
|
+
bucketLocation,
|
|
67
|
+
});
|
|
68
|
+
if (!listResponse.objects || listResponse.objects.length === 0) {
|
|
69
|
+
console.log('No objects found in bucket');
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
console.log(`Found ${listResponse.objects.length} objects to reindex`);
|
|
73
|
+
if (this.flags.dryRun) {
|
|
74
|
+
console.log('\nDry run - would reindex the following objects:');
|
|
75
|
+
for (const obj of listResponse.objects) {
|
|
76
|
+
console.log(` - ${obj.key}`);
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// Create temporary directory
|
|
81
|
+
const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'raindrop-reindex-'));
|
|
82
|
+
try {
|
|
83
|
+
// Process objects in batches
|
|
84
|
+
const batchSize = this.flags.parallel;
|
|
85
|
+
let processed = 0;
|
|
86
|
+
let failed = 0;
|
|
87
|
+
for (let i = 0; i < listResponse.objects.length; i += batchSize) {
|
|
88
|
+
const batch = listResponse.objects.slice(i, i + batchSize);
|
|
89
|
+
const promises = batch.map(async (obj) => {
|
|
90
|
+
try {
|
|
91
|
+
console.log(`Processing: ${obj.key}`);
|
|
92
|
+
// Download object
|
|
93
|
+
const getResponse = await objectService.getObject({
|
|
94
|
+
userId,
|
|
95
|
+
organizationId,
|
|
96
|
+
key: obj.key,
|
|
97
|
+
bucketLocation,
|
|
98
|
+
});
|
|
99
|
+
if (!getResponse.content) {
|
|
100
|
+
throw new Error('No content received');
|
|
101
|
+
}
|
|
102
|
+
// Write to temporary file
|
|
103
|
+
const tempFile = path.join(tempDir, `${Date.now()}-${Math.random()}`);
|
|
104
|
+
await fs.writeFile(tempFile, getResponse.content);
|
|
105
|
+
// Re-upload object
|
|
106
|
+
const fileContent = await fs.readFile(tempFile);
|
|
107
|
+
await objectService.putObject({
|
|
108
|
+
userId,
|
|
109
|
+
organizationId,
|
|
110
|
+
key: obj.key,
|
|
111
|
+
content: fileContent,
|
|
112
|
+
contentType: getResponse.contentType || 'application/octet-stream',
|
|
113
|
+
bucketLocation,
|
|
114
|
+
});
|
|
115
|
+
// Clean up temp file
|
|
116
|
+
await fs.unlink(tempFile);
|
|
117
|
+
console.log(`Completed: ${obj.key}`);
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
console.error(`Failed: ${obj.key} - ${error instanceof Error ? error.message : String(error)}`);
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
const results = await Promise.all(promises);
|
|
126
|
+
processed += results.filter(Boolean).length;
|
|
127
|
+
failed += results.filter(r => !r).length;
|
|
128
|
+
console.log(`Batch ${Math.floor(i / batchSize) + 1} completed. Progress: ${processed + failed}/${listResponse.objects.length}`);
|
|
129
|
+
}
|
|
130
|
+
console.log('\nReindexing completed:');
|
|
131
|
+
console.log(` Successfully processed: ${processed}`);
|
|
132
|
+
console.log(` Failed: ${failed}`);
|
|
133
|
+
console.log(` Total: ${listResponse.objects.length}`);
|
|
134
|
+
}
|
|
135
|
+
finally {
|
|
136
|
+
// Clean up temp directory
|
|
137
|
+
try {
|
|
138
|
+
await fs.rm(tempDir, { recursive: true });
|
|
139
|
+
}
|
|
140
|
+
catch (_error) {
|
|
141
|
+
console.warn(`Warning: Could not clean up temp directory ${tempDir}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/query/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW,CAAC,OAAO,WAAW,CAAC;IACtE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAsE;IAExF,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MA0CV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/query/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW,CAAC,OAAO,WAAW,CAAC;IACtE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAsE;IAExF,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MA0CV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4G3B"}
|
|
@@ -65,6 +65,10 @@ Get page 2 of previous search results.
|
|
|
65
65
|
if (this.flags.buckets?.length && this.flags.moduleIds?.length) {
|
|
66
66
|
this.error('Cannot specify both --buckets and --moduleIds flags. Please use only one type of filter.');
|
|
67
67
|
}
|
|
68
|
+
// Load config if any bucket doesn't have a version specified
|
|
69
|
+
if (this.flags.buckets?.some(bucket => !bucket.includes('#'))) {
|
|
70
|
+
await this.loadConfig();
|
|
71
|
+
}
|
|
68
72
|
const { args, flags } = await this.parse(AgentSearch);
|
|
69
73
|
const { client: searchAgentService, userId, organizationId } = await this.searchAgentService();
|
|
70
74
|
let response;
|
|
@@ -107,7 +111,7 @@ Get page 2 of previous search results.
|
|
|
107
111
|
case: 'bucket',
|
|
108
112
|
value: {
|
|
109
113
|
name: bucketName,
|
|
110
|
-
version: version || '',
|
|
114
|
+
version: version || this.raindropConfig?.versionId || '',
|
|
111
115
|
},
|
|
112
116
|
},
|
|
113
117
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/deploy.ts","../src/index.test.ts","../src/index.ts","../src/log-helpers.ts","../src/status.ts","../src/strict-client.ts","../src/trace.ts","../src/commands/tail.ts","../src/commands/annotation/get.ts","../src/commands/annotation/list.ts","../src/commands/annotation/put.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/bucket/create-credential.ts","../src/commands/bucket/delete-credential.ts","../src/commands/bucket/get-credential.ts","../src/commands/bucket/list-credentials.ts","../src/commands/build/branch.ts","../src/commands/build/checkout.ts","../src/commands/build/clone.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/sandbox.ts","../src/commands/build/start.ts","../src/commands/build/status.ts","../src/commands/build/stop.ts","../src/commands/build/unsandbox.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts","../src/commands/build/tools/check.ts","../src/commands/build/tools/fmt.ts","../src/commands/logs/query.ts","../src/commands/logs/tail.ts","../src/commands/object/delete.ts","../src/commands/object/get.ts","../src/commands/object/list.ts","../src/commands/object/put.ts","../src/commands/query/chunk-search.ts","../src/commands/query/document.ts","../src/commands/query/events.ts","../src/commands/query/search.ts"],"version":"5.8.3"}
|
|
1
|
+
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/deploy.ts","../src/index.test.ts","../src/index.ts","../src/log-helpers.ts","../src/status.ts","../src/strict-client.ts","../src/trace.ts","../src/commands/tail.ts","../src/commands/annotation/get.ts","../src/commands/annotation/list.ts","../src/commands/annotation/put.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/bucket/create-credential.ts","../src/commands/bucket/delete-credential.ts","../src/commands/bucket/get-credential.ts","../src/commands/bucket/list-credentials.ts","../src/commands/build/branch.ts","../src/commands/build/checkout.ts","../src/commands/build/clone.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/sandbox.ts","../src/commands/build/start.ts","../src/commands/build/status.ts","../src/commands/build/stop.ts","../src/commands/build/unsandbox.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts","../src/commands/build/tools/check.ts","../src/commands/build/tools/fmt.ts","../src/commands/logs/query.ts","../src/commands/logs/tail.ts","../src/commands/mcp/install-claude.ts","../src/commands/object/delete.ts","../src/commands/object/get.ts","../src/commands/object/list.ts","../src/commands/object/put.ts","../src/commands/query/chunk-search.ts","../src/commands/query/document.ts","../src/commands/query/events.ts","../src/commands/query/reindex.ts","../src/commands/query/search.ts"],"version":"5.8.3"}
|