@opensaas/stack-cli 0.1.6 → 0.3.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +215 -0
- package/CLAUDE.md +60 -12
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +10 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/mcp.d.ts +6 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +116 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/generator/context.d.ts.map +1 -1
- package/dist/generator/context.js +21 -3
- package/dist/generator/context.js.map +1 -1
- package/dist/generator/index.d.ts +3 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +3 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/lists.d.ts +31 -0
- package/dist/generator/lists.d.ts.map +1 -0
- package/dist/generator/lists.js +91 -0
- package/dist/generator/lists.js.map +1 -0
- package/dist/generator/plugin-types.d.ts +10 -0
- package/dist/generator/plugin-types.d.ts.map +1 -0
- package/dist/generator/plugin-types.js +122 -0
- package/dist/generator/plugin-types.js.map +1 -0
- package/dist/generator/prisma-config.d.ts +17 -0
- package/dist/generator/prisma-config.d.ts.map +1 -0
- package/dist/generator/prisma-config.js +40 -0
- package/dist/generator/prisma-config.js.map +1 -0
- package/dist/generator/prisma.d.ts.map +1 -1
- package/dist/generator/prisma.js +1 -2
- package/dist/generator/prisma.js.map +1 -1
- package/dist/generator/types.d.ts.map +1 -1
- package/dist/generator/types.js +53 -1
- package/dist/generator/types.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/lib/documentation-provider.d.ts +43 -0
- package/dist/mcp/lib/documentation-provider.d.ts.map +1 -0
- package/dist/mcp/lib/documentation-provider.js +163 -0
- package/dist/mcp/lib/documentation-provider.js.map +1 -0
- package/dist/mcp/lib/features/catalog.d.ts +26 -0
- package/dist/mcp/lib/features/catalog.d.ts.map +1 -0
- package/dist/mcp/lib/features/catalog.js +291 -0
- package/dist/mcp/lib/features/catalog.js.map +1 -0
- package/dist/mcp/lib/generators/feature-generator.d.ts +35 -0
- package/dist/mcp/lib/generators/feature-generator.d.ts.map +1 -0
- package/dist/mcp/lib/generators/feature-generator.js +546 -0
- package/dist/mcp/lib/generators/feature-generator.js.map +1 -0
- package/dist/mcp/lib/types.d.ts +80 -0
- package/dist/mcp/lib/types.d.ts.map +1 -0
- package/dist/mcp/lib/types.js +5 -0
- package/dist/mcp/lib/types.js.map +1 -0
- package/dist/mcp/lib/wizards/wizard-engine.d.ts +71 -0
- package/dist/mcp/lib/wizards/wizard-engine.d.ts.map +1 -0
- package/dist/mcp/lib/wizards/wizard-engine.js +356 -0
- package/dist/mcp/lib/wizards/wizard-engine.js.map +1 -0
- package/dist/mcp/server/index.d.ts +8 -0
- package/dist/mcp/server/index.d.ts.map +1 -0
- package/dist/mcp/server/index.js +202 -0
- package/dist/mcp/server/index.js.map +1 -0
- package/dist/mcp/server/stack-mcp-server.d.ts +92 -0
- package/dist/mcp/server/stack-mcp-server.d.ts.map +1 -0
- package/dist/mcp/server/stack-mcp-server.js +265 -0
- package/dist/mcp/server/stack-mcp-server.js.map +1 -0
- package/package.json +9 -7
- package/src/commands/__snapshots__/generate.test.ts.snap +61 -21
- package/src/commands/dev.test.ts +0 -1
- package/src/commands/generate.test.ts +18 -8
- package/src/commands/generate.ts +12 -0
- package/src/commands/mcp.ts +135 -0
- package/src/generator/__snapshots__/context.test.ts.snap +8 -8
- package/src/generator/__snapshots__/prisma.test.ts.snap +8 -16
- package/src/generator/__snapshots__/types.test.ts.snap +605 -9
- package/src/generator/context.test.ts +13 -8
- package/src/generator/context.ts +21 -3
- package/src/generator/index.ts +3 -0
- package/src/generator/lists.test.ts +335 -0
- package/src/generator/lists.ts +102 -0
- package/src/generator/plugin-types.ts +147 -0
- package/src/generator/prisma-config.ts +46 -0
- package/src/generator/prisma.test.ts +0 -10
- package/src/generator/prisma.ts +1 -2
- package/src/generator/types.test.ts +0 -12
- package/src/generator/types.ts +56 -1
- package/src/index.ts +4 -0
- package/src/mcp/lib/documentation-provider.ts +203 -0
- package/src/mcp/lib/features/catalog.ts +301 -0
- package/src/mcp/lib/generators/feature-generator.ts +598 -0
- package/src/mcp/lib/types.ts +89 -0
- package/src/mcp/lib/wizards/wizard-engine.ts +427 -0
- package/src/mcp/server/index.ts +240 -0
- package/src/mcp/server/stack-mcp-server.ts +301 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { OpenSaasConfig } from '@opensaas/stack-core';
|
|
2
|
+
/**
|
|
3
|
+
* Generate Lists namespace with TypeInfo for each list
|
|
4
|
+
* This provides strongly-typed hooks with Prisma input types
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // Generated output:
|
|
9
|
+
* export declare namespace Lists {
|
|
10
|
+
* export type Post = import('@opensaas/stack-core').ListConfig<Lists.Post.TypeInfo>
|
|
11
|
+
*
|
|
12
|
+
* namespace Post {
|
|
13
|
+
* export type Item = import('./types').Post
|
|
14
|
+
* export type TypeInfo = {
|
|
15
|
+
* key: 'Post'
|
|
16
|
+
* item: Item
|
|
17
|
+
* inputs: {
|
|
18
|
+
* create: import('./prisma-client/client').Prisma.PostCreateInput
|
|
19
|
+
* update: import('./prisma-client/client').Prisma.PostUpdateInput
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateListsNamespace(config: OpenSaasConfig): string;
|
|
27
|
+
/**
|
|
28
|
+
* Write Lists namespace to file
|
|
29
|
+
*/
|
|
30
|
+
export declare function writeLists(config: OpenSaasConfig, outputPath: string): void;
|
|
31
|
+
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/generator/lists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA0DrE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAU3E"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Generate Lists namespace with TypeInfo for each list
|
|
5
|
+
* This provides strongly-typed hooks with Prisma input types
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Generated output:
|
|
10
|
+
* export declare namespace Lists {
|
|
11
|
+
* export type Post = import('@opensaas/stack-core').ListConfig<Lists.Post.TypeInfo>
|
|
12
|
+
*
|
|
13
|
+
* namespace Post {
|
|
14
|
+
* export type Item = import('./types').Post
|
|
15
|
+
* export type TypeInfo = {
|
|
16
|
+
* key: 'Post'
|
|
17
|
+
* item: Item
|
|
18
|
+
* inputs: {
|
|
19
|
+
* create: import('./prisma-client/client').Prisma.PostCreateInput
|
|
20
|
+
* update: import('./prisma-client/client').Prisma.PostUpdateInput
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export function generateListsNamespace(config) {
|
|
28
|
+
const lines = [];
|
|
29
|
+
// Add header comment
|
|
30
|
+
lines.push('/**');
|
|
31
|
+
lines.push(' * Generated Lists namespace from OpenSaas configuration');
|
|
32
|
+
lines.push(' * DO NOT EDIT - This file is automatically generated');
|
|
33
|
+
lines.push(' *');
|
|
34
|
+
lines.push(' * This file provides TypeInfo for each list, enabling strong typing');
|
|
35
|
+
lines.push(' * for hooks with Prisma input types.');
|
|
36
|
+
lines.push(' *');
|
|
37
|
+
lines.push(' * @example');
|
|
38
|
+
lines.push(' * ```typescript');
|
|
39
|
+
lines.push(" * import type { Lists } from './.opensaas/lists'");
|
|
40
|
+
lines.push(' *');
|
|
41
|
+
lines.push(' * // Use TypeInfo as generic parameter');
|
|
42
|
+
lines.push(' * Post: list<Lists.Post.TypeInfo>({');
|
|
43
|
+
lines.push(' * hooks: {');
|
|
44
|
+
lines.push(' * resolveInput: async ({ operation, resolvedData }) => {');
|
|
45
|
+
lines.push(' * // resolvedData is Prisma.PostCreateInput or Prisma.PostUpdateInput');
|
|
46
|
+
lines.push(' * return resolvedData');
|
|
47
|
+
lines.push(' * }');
|
|
48
|
+
lines.push(' * }');
|
|
49
|
+
lines.push(' * })');
|
|
50
|
+
lines.push(' *');
|
|
51
|
+
lines.push(' * // Or use as typed constant');
|
|
52
|
+
lines.push(' * const Post: Lists.Post = list({ ... })');
|
|
53
|
+
lines.push(' * ```');
|
|
54
|
+
lines.push(' */');
|
|
55
|
+
lines.push('');
|
|
56
|
+
// Start Lists namespace
|
|
57
|
+
lines.push('export declare namespace Lists {');
|
|
58
|
+
// Generate type for each list
|
|
59
|
+
for (const listName of Object.keys(config.lists)) {
|
|
60
|
+
lines.push(` export type ${listName} = import('@opensaas/stack-core').ListConfig<Lists.${listName}.TypeInfo>`);
|
|
61
|
+
lines.push('');
|
|
62
|
+
lines.push(` namespace ${listName} {`);
|
|
63
|
+
lines.push(` export type Item = import('./types').${listName}`);
|
|
64
|
+
lines.push(` export type TypeInfo = {`);
|
|
65
|
+
lines.push(` key: '${listName}'`);
|
|
66
|
+
lines.push(` item: Item`);
|
|
67
|
+
lines.push(` inputs: {`);
|
|
68
|
+
lines.push(` create: import('./prisma-client/client').Prisma.${listName}CreateInput`);
|
|
69
|
+
lines.push(` update: import('./prisma-client/client').Prisma.${listName}UpdateInput`);
|
|
70
|
+
lines.push(` }`);
|
|
71
|
+
lines.push(` }`);
|
|
72
|
+
lines.push(` }`);
|
|
73
|
+
lines.push('');
|
|
74
|
+
}
|
|
75
|
+
// Close Lists namespace
|
|
76
|
+
lines.push('}');
|
|
77
|
+
return lines.join('\n');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Write Lists namespace to file
|
|
81
|
+
*/
|
|
82
|
+
export function writeLists(config, outputPath) {
|
|
83
|
+
const lists = generateListsNamespace(config);
|
|
84
|
+
// Ensure directory exists
|
|
85
|
+
const dir = path.dirname(outputPath);
|
|
86
|
+
if (!fs.existsSync(dir)) {
|
|
87
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
88
|
+
}
|
|
89
|
+
fs.writeFileSync(outputPath, lists, 'utf-8');
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=lists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/generator/lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OpenSaasConfig } from '@opensaas/stack-core';
|
|
2
|
+
/**
|
|
3
|
+
* Generate complete plugin types file
|
|
4
|
+
*/
|
|
5
|
+
export declare function generatePluginTypes(config: OpenSaasConfig): string;
|
|
6
|
+
/**
|
|
7
|
+
* Write plugin types to file
|
|
8
|
+
*/
|
|
9
|
+
export declare function writePluginTypes(config: OpenSaasConfig, outputPath: string): void;
|
|
10
|
+
//# sourceMappingURL=plugin-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-types.d.ts","sourceRoot":"","sources":["../../src/generator/plugin-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AA0G1D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAsBlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAUjF"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Generate TypeScript declaration for plugin data types
|
|
5
|
+
* Creates type-safe access to config._pluginData
|
|
6
|
+
*/
|
|
7
|
+
function generatePluginDataInterface(config) {
|
|
8
|
+
const lines = [];
|
|
9
|
+
lines.push('/**');
|
|
10
|
+
lines.push(' * Plugin data storage types');
|
|
11
|
+
lines.push(' * Provides type-safe access to config._pluginData');
|
|
12
|
+
lines.push(' */');
|
|
13
|
+
lines.push('export interface PluginData {');
|
|
14
|
+
// Check if we have plugin data types to generate
|
|
15
|
+
if (config._pluginData && Object.keys(config._pluginData).length > 0) {
|
|
16
|
+
for (const pluginName of Object.keys(config._pluginData)) {
|
|
17
|
+
// Skip internal keys
|
|
18
|
+
if (pluginName.startsWith('__'))
|
|
19
|
+
continue;
|
|
20
|
+
// For each plugin, we'll add a Record<string, unknown> entry
|
|
21
|
+
// TODO: In the future, plugins could export their data types for proper typing
|
|
22
|
+
lines.push(` ${pluginName}?: Record<string, unknown>`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
lines.push('}');
|
|
26
|
+
return lines.join('\n');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generate TypeScript declaration for plugin runtime services
|
|
30
|
+
* Creates type-safe access to context.plugins
|
|
31
|
+
*/
|
|
32
|
+
function generatePluginServicesInterface(config) {
|
|
33
|
+
const lines = [];
|
|
34
|
+
const imports = [];
|
|
35
|
+
// Check if we have plugins with runtime functions
|
|
36
|
+
const pluginsWithRuntime = (config._plugins || config.plugins || []).filter((p) => p.runtime);
|
|
37
|
+
// Collect imports from plugins that provide runtime service types
|
|
38
|
+
if (pluginsWithRuntime.length > 0) {
|
|
39
|
+
for (const plugin of pluginsWithRuntime) {
|
|
40
|
+
if (plugin.runtimeServiceTypes) {
|
|
41
|
+
imports.push(plugin.runtimeServiceTypes.import);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Add imports at the top if any exist
|
|
46
|
+
if (imports.length > 0) {
|
|
47
|
+
lines.push(...imports);
|
|
48
|
+
lines.push('');
|
|
49
|
+
}
|
|
50
|
+
lines.push('/**');
|
|
51
|
+
lines.push(' * Plugin runtime services');
|
|
52
|
+
lines.push(' * Provides type-safe access to context.plugins');
|
|
53
|
+
lines.push(' * Extends Record to allow compatibility with base AccessContext type');
|
|
54
|
+
lines.push(' */');
|
|
55
|
+
lines.push('export interface PluginServices extends Record<string, Record<string, any> | undefined> {');
|
|
56
|
+
if (pluginsWithRuntime.length > 0) {
|
|
57
|
+
for (const plugin of pluginsWithRuntime) {
|
|
58
|
+
if (plugin.runtimeServiceTypes) {
|
|
59
|
+
// Use typed runtime service from plugin
|
|
60
|
+
lines.push(` ${plugin.name}?: ${plugin.runtimeServiceTypes.typeName}`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Fallback to Record<string, any> for plugins without type metadata
|
|
64
|
+
lines.push(` ${plugin.name}?: Record<string, any>`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
lines.push('}');
|
|
69
|
+
return lines.join('\n');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate module augmentation for OpenSaaS core types
|
|
73
|
+
* Note: We cannot augment _pluginData or plugins properties directly due to type constraints
|
|
74
|
+
* Instead, users should cast to PluginServices when accessing context.plugins
|
|
75
|
+
*/
|
|
76
|
+
function generateModuleAugmentation() {
|
|
77
|
+
const lines = [];
|
|
78
|
+
lines.push('');
|
|
79
|
+
lines.push('/**');
|
|
80
|
+
lines.push(' * Declare this module to make interfaces available globally');
|
|
81
|
+
lines.push(' * Import this file to get typed plugin access');
|
|
82
|
+
lines.push(' */');
|
|
83
|
+
lines.push('declare global {');
|
|
84
|
+
lines.push(' // Plugin types are available as PluginServices interface');
|
|
85
|
+
lines.push('}');
|
|
86
|
+
return lines.join('\n');
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Generate complete plugin types file
|
|
90
|
+
*/
|
|
91
|
+
export function generatePluginTypes(config) {
|
|
92
|
+
const lines = [];
|
|
93
|
+
// Add header comment
|
|
94
|
+
lines.push('/**');
|
|
95
|
+
lines.push(' * Generated plugin types from OpenSaas configuration');
|
|
96
|
+
lines.push(' * DO NOT EDIT - This file is automatically generated');
|
|
97
|
+
lines.push(' *');
|
|
98
|
+
lines.push(' * This file provides type-safe access to:');
|
|
99
|
+
lines.push(' * - config._pluginData - Plugin configuration data');
|
|
100
|
+
lines.push(' * - context.plugins - Plugin runtime services');
|
|
101
|
+
lines.push(' */');
|
|
102
|
+
lines.push('');
|
|
103
|
+
// Generate interfaces
|
|
104
|
+
lines.push(generatePluginDataInterface(config));
|
|
105
|
+
lines.push(generatePluginServicesInterface(config));
|
|
106
|
+
// Generate module augmentation
|
|
107
|
+
lines.push(generateModuleAugmentation());
|
|
108
|
+
return lines.join('\n');
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Write plugin types to file
|
|
112
|
+
*/
|
|
113
|
+
export function writePluginTypes(config, outputPath) {
|
|
114
|
+
const pluginTypes = generatePluginTypes(config);
|
|
115
|
+
// Ensure directory exists
|
|
116
|
+
const dir = path.dirname(outputPath);
|
|
117
|
+
if (!fs.existsSync(dir)) {
|
|
118
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
119
|
+
}
|
|
120
|
+
fs.writeFileSync(outputPath, pluginTypes, 'utf-8');
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=plugin-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-types.js","sourceRoot":"","sources":["../../src/generator/plugin-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { OpenSaasConfig } from '@opensaas/stack-core';
|
|
2
|
+
/**
|
|
3
|
+
* Generate Prisma config file for CLI commands
|
|
4
|
+
*
|
|
5
|
+
* Prisma 7 requires a prisma.config.ts file at the project root for CLI commands
|
|
6
|
+
* like `prisma db push` and `prisma migrate dev`. This is separate from the
|
|
7
|
+
* runtime configuration (which uses adapters in opensaas.config.ts).
|
|
8
|
+
*
|
|
9
|
+
* The CLI config provides the database URL for schema operations, while the
|
|
10
|
+
* runtime config provides adapters for actual query execution.
|
|
11
|
+
*/
|
|
12
|
+
export declare function generatePrismaConfig(_config: OpenSaasConfig): string;
|
|
13
|
+
/**
|
|
14
|
+
* Write Prisma config to file
|
|
15
|
+
*/
|
|
16
|
+
export declare function writePrismaConfig(config: OpenSaasConfig, outputPath: string): void;
|
|
17
|
+
//# sourceMappingURL=prisma-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-config.d.ts","sourceRoot":"","sources":["../../src/generator/prisma-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAgBpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAUlF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Generate Prisma config file for CLI commands
|
|
5
|
+
*
|
|
6
|
+
* Prisma 7 requires a prisma.config.ts file at the project root for CLI commands
|
|
7
|
+
* like `prisma db push` and `prisma migrate dev`. This is separate from the
|
|
8
|
+
* runtime configuration (which uses adapters in opensaas.config.ts).
|
|
9
|
+
*
|
|
10
|
+
* The CLI config provides the database URL for schema operations, while the
|
|
11
|
+
* runtime config provides adapters for actual query execution.
|
|
12
|
+
*/
|
|
13
|
+
export function generatePrismaConfig(_config) {
|
|
14
|
+
const lines = [];
|
|
15
|
+
// Import dotenv for environment variable loading
|
|
16
|
+
lines.push("import 'dotenv/config'");
|
|
17
|
+
lines.push("import { defineConfig, env } from 'prisma/config'");
|
|
18
|
+
lines.push('');
|
|
19
|
+
lines.push('export default defineConfig({');
|
|
20
|
+
lines.push(" schema: 'prisma/schema.prisma',");
|
|
21
|
+
lines.push(' datasource: {');
|
|
22
|
+
lines.push(" url: env('DATABASE_URL'),");
|
|
23
|
+
lines.push(' },');
|
|
24
|
+
lines.push('})');
|
|
25
|
+
lines.push('');
|
|
26
|
+
return lines.join('\n');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Write Prisma config to file
|
|
30
|
+
*/
|
|
31
|
+
export function writePrismaConfig(config, outputPath) {
|
|
32
|
+
const prismaConfig = generatePrismaConfig(config);
|
|
33
|
+
// Ensure directory exists
|
|
34
|
+
const dir = path.dirname(outputPath);
|
|
35
|
+
if (!fs.existsSync(dir)) {
|
|
36
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
37
|
+
}
|
|
38
|
+
fs.writeFileSync(outputPath, prismaConfig, 'utf-8');
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=prisma-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-config.js","sourceRoot":"","sources":["../../src/generator/prisma-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,iDAAiD;IACjD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;IAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;IAC3C,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IAC/C,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;IAC3C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB,EAAE,UAAkB;IAC1E,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAEjD,0BAA0B;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,sBAAsB,CAAA;AA0D1F;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"prisma.d.ts","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,sBAAsB,CAAA;AA0D1F;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA+EnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAUlF"}
|
package/dist/generator/prisma.js
CHANGED
|
@@ -56,13 +56,12 @@ export function generatePrismaSchema(config) {
|
|
|
56
56
|
const opensaasPath = config.opensaasPath || '.opensaas';
|
|
57
57
|
// Generator and datasource
|
|
58
58
|
lines.push('generator client {');
|
|
59
|
-
lines.push(' provider = "prisma-client
|
|
59
|
+
lines.push(' provider = "prisma-client"');
|
|
60
60
|
lines.push(` output = "../${opensaasPath}/prisma-client"`);
|
|
61
61
|
lines.push('}');
|
|
62
62
|
lines.push('');
|
|
63
63
|
lines.push('datasource db {');
|
|
64
64
|
lines.push(` provider = "${config.db.provider}"`);
|
|
65
|
-
lines.push(' url = env("DATABASE_URL")');
|
|
66
65
|
lines.push('}');
|
|
67
66
|
lines.push('');
|
|
68
67
|
// Generate models for each list
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma.js","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B;;GAEG;AACH,SAAS,oBAAoB,CAAC,SAAiB,EAAE,KAAkB;IACjE,uCAAuC;IACvC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qDAAqD;IACrD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAED,gDAAgD;IAChD,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,2CAA2C,CAAC,CAAA;AACvF,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAAiB,EAAE,KAAkB;IAC9D,kCAAkC;IAClC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,KAA0B,CAAA;QAC3C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAC,SAAS,IAAI,EAAE,CAAA;IAC/B,CAAC;IAED,gDAAgD;IAChD,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,WAAW,CAAA;IAEvD,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"prisma.js","sourceRoot":"","sources":["../../src/generator/prisma.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkC,MAAM,sBAAsB,CAAA;AA6R1F;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CA8C5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAU3E"}
|
package/dist/generator/types.js
CHANGED
|
@@ -143,6 +143,52 @@ function generateWhereInputType(listName, fields) {
|
|
|
143
143
|
lines.push('}');
|
|
144
144
|
return lines.join('\n');
|
|
145
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Generate hook types that reference Prisma input types
|
|
148
|
+
*/
|
|
149
|
+
function generateHookTypes(listName) {
|
|
150
|
+
const lines = [];
|
|
151
|
+
lines.push(`/**`);
|
|
152
|
+
lines.push(` * Hook types for ${listName} list`);
|
|
153
|
+
lines.push(` * Properly typed to use Prisma's generated input types`);
|
|
154
|
+
lines.push(` */`);
|
|
155
|
+
lines.push(`export type ${listName}Hooks = {`);
|
|
156
|
+
lines.push(` resolveInput?: (args:`);
|
|
157
|
+
lines.push(` | {`);
|
|
158
|
+
lines.push(` operation: 'create'`);
|
|
159
|
+
lines.push(` resolvedData: Prisma.${listName}CreateInput`);
|
|
160
|
+
lines.push(` item: undefined`);
|
|
161
|
+
lines.push(` context: import('@opensaas/stack-core').AccessContext`);
|
|
162
|
+
lines.push(` }`);
|
|
163
|
+
lines.push(` | {`);
|
|
164
|
+
lines.push(` operation: 'update'`);
|
|
165
|
+
lines.push(` resolvedData: Prisma.${listName}UpdateInput`);
|
|
166
|
+
lines.push(` item: ${listName}`);
|
|
167
|
+
lines.push(` context: import('@opensaas/stack-core').AccessContext`);
|
|
168
|
+
lines.push(` }`);
|
|
169
|
+
lines.push(` ) => Promise<Prisma.${listName}CreateInput | Prisma.${listName}UpdateInput>`);
|
|
170
|
+
lines.push(` validateInput?: (args: {`);
|
|
171
|
+
lines.push(` operation: 'create' | 'update'`);
|
|
172
|
+
lines.push(` resolvedData: Prisma.${listName}CreateInput | Prisma.${listName}UpdateInput`);
|
|
173
|
+
lines.push(` item?: ${listName}`);
|
|
174
|
+
lines.push(` context: import('@opensaas/stack-core').AccessContext`);
|
|
175
|
+
lines.push(` addValidationError: (msg: string) => void`);
|
|
176
|
+
lines.push(` }) => Promise<void>`);
|
|
177
|
+
lines.push(` beforeOperation?: (args: {`);
|
|
178
|
+
lines.push(` operation: 'create' | 'update' | 'delete'`);
|
|
179
|
+
lines.push(` resolvedData?: Prisma.${listName}CreateInput | Prisma.${listName}UpdateInput`);
|
|
180
|
+
lines.push(` item?: ${listName}`);
|
|
181
|
+
lines.push(` context: import('@opensaas/stack-core').AccessContext`);
|
|
182
|
+
lines.push(` }) => Promise<void>`);
|
|
183
|
+
lines.push(` afterOperation?: (args: {`);
|
|
184
|
+
lines.push(` operation: 'create' | 'update' | 'delete'`);
|
|
185
|
+
lines.push(` resolvedData?: Prisma.${listName}CreateInput | Prisma.${listName}UpdateInput`);
|
|
186
|
+
lines.push(` item?: ${listName}`);
|
|
187
|
+
lines.push(` context: import('@opensaas/stack-core').AccessContext`);
|
|
188
|
+
lines.push(` }) => Promise<void>`);
|
|
189
|
+
lines.push(`}`);
|
|
190
|
+
return lines.join('\n');
|
|
191
|
+
}
|
|
146
192
|
/**
|
|
147
193
|
* Generate Context type with all operations
|
|
148
194
|
*/
|
|
@@ -153,7 +199,10 @@ function generateContextType() {
|
|
|
153
199
|
lines.push(' session: TSession');
|
|
154
200
|
lines.push(' prisma: PrismaClient');
|
|
155
201
|
lines.push(' storage: StorageUtils');
|
|
202
|
+
lines.push(' plugins: PluginServices');
|
|
156
203
|
lines.push(' serverAction: (props: ServerActionProps) => Promise<unknown>');
|
|
204
|
+
lines.push(' sudo: () => Context<TSession>');
|
|
205
|
+
lines.push(' _isSudo: boolean');
|
|
157
206
|
lines.push('}');
|
|
158
207
|
return lines.join('\n');
|
|
159
208
|
}
|
|
@@ -210,7 +259,8 @@ export function generateTypes(config) {
|
|
|
210
259
|
// Add necessary imports
|
|
211
260
|
// Use alias for Session to avoid conflicts if user has a list named "Session"
|
|
212
261
|
lines.push("import type { Session as OpensaasSession, StorageUtils, ServerActionProps, AccessControlledDB } from '@opensaas/stack-core'");
|
|
213
|
-
lines.push("import type { PrismaClient } from './prisma-client'");
|
|
262
|
+
lines.push("import type { PrismaClient, Prisma } from './prisma-client/client'");
|
|
263
|
+
lines.push("import type { PluginServices } from './plugin-types'");
|
|
214
264
|
// Add field-specific imports
|
|
215
265
|
const fieldImports = collectFieldImports(config);
|
|
216
266
|
for (const imp of fieldImports) {
|
|
@@ -229,6 +279,8 @@ export function generateTypes(config) {
|
|
|
229
279
|
lines.push('');
|
|
230
280
|
lines.push(generateWhereInputType(listName, listConfig.fields));
|
|
231
281
|
lines.push('');
|
|
282
|
+
lines.push(generateHookTypes(listName));
|
|
283
|
+
lines.push('');
|
|
232
284
|
}
|
|
233
285
|
// Generate Context type
|
|
234
286
|
lines.push(generateContextType());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { Command } from 'commander';
|
|
|
3
3
|
import { generateCommand } from './commands/generate.js';
|
|
4
4
|
import { initCommand } from './commands/init.js';
|
|
5
5
|
import { devCommand } from './commands/dev.js';
|
|
6
|
+
import { createMCPCommand } from './commands/mcp.js';
|
|
6
7
|
const program = new Command();
|
|
7
8
|
program.name('opensaas').description('OpenSaas Stack CLI').version('0.1.0');
|
|
8
9
|
program
|
|
@@ -30,5 +31,7 @@ program
|
|
|
30
31
|
.action(async () => {
|
|
31
32
|
await devCommand();
|
|
32
33
|
});
|
|
34
|
+
// Add MCP command group
|
|
35
|
+
program.addCommand(createMCPCommand());
|
|
33
36
|
program.parse();
|
|
34
37
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AAE3E,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,eAAe,EAAE,CAAA;AACzB,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;KAC7D,kBAAkB,EAAE,CAAC,sCAAsC;KAC3D,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IACrC,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,IAAI,WAAW;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvC,IAAI,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,UAAU,EAAE,CAAA;AACpB,CAAC,CAAC,CAAA;AAEJ,wBAAwB;AACxB,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAA;AAEtC,OAAO,CAAC,KAAK,EAAE,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation provider - Fetches documentation from the hosted docs site
|
|
3
|
+
*/
|
|
4
|
+
import type { DocumentationLookup } from './types.js';
|
|
5
|
+
export declare class OpenSaasDocumentationProvider {
|
|
6
|
+
private readonly DOCS_API;
|
|
7
|
+
private cache;
|
|
8
|
+
private readonly CACHE_TTL;
|
|
9
|
+
private topicMappings;
|
|
10
|
+
/**
|
|
11
|
+
* Search documentation by query
|
|
12
|
+
*/
|
|
13
|
+
searchDocs(query: string, limit?: number, minScore?: number): Promise<DocumentationLookup>;
|
|
14
|
+
/**
|
|
15
|
+
* Get documentation for a specific topic
|
|
16
|
+
*/
|
|
17
|
+
getTopicDocs(topic: string): Promise<DocumentationLookup>;
|
|
18
|
+
/**
|
|
19
|
+
* Format search results into readable content
|
|
20
|
+
*/
|
|
21
|
+
private formatSearchResults;
|
|
22
|
+
/**
|
|
23
|
+
* Extract code examples from search results
|
|
24
|
+
*/
|
|
25
|
+
private extractCodeExamples;
|
|
26
|
+
/**
|
|
27
|
+
* Extract related topics from search results
|
|
28
|
+
*/
|
|
29
|
+
private extractRelatedTopics;
|
|
30
|
+
/**
|
|
31
|
+
* Fallback documentation when API is unavailable
|
|
32
|
+
*/
|
|
33
|
+
private getFallbackDocs;
|
|
34
|
+
/**
|
|
35
|
+
* Clear expired cache entries
|
|
36
|
+
*/
|
|
37
|
+
clearExpiredCache(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Clear all cache
|
|
40
|
+
*/
|
|
41
|
+
clearCache(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=documentation-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentation-provider.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/documentation-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAkBrD,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE,OAAO,CAAC,KAAK,CAAsE;IACnF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAG3C,OAAO,CAAC,aAAa,CA4BpB;IAED;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,QAAQ,SAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0CxF;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO/D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IASzB;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
|