openpets 1.0.4 → 1.0.6
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/dist/data/api.json +3172 -0
- package/dist/src/core/ai-client-base/index.d.ts +47 -0
- package/dist/src/core/ai-client-base/index.d.ts.map +1 -0
- package/dist/src/core/ai-client-base/index.js +168 -0
- package/dist/src/core/ai-client-base/index.js.map +1 -0
- package/dist/src/core/browser.d.ts +10 -0
- package/dist/src/core/browser.d.ts.map +1 -0
- package/{browser.ts → dist/src/core/browser.js} +4 -4
- package/dist/src/core/browser.js.map +1 -0
- package/dist/src/core/build-pet.d.ts +2 -0
- package/dist/src/core/build-pet.d.ts.map +1 -0
- package/dist/src/core/build-pet.js +364 -0
- package/dist/src/core/build-pet.js.map +1 -0
- package/dist/src/core/cli.d.ts +3 -0
- package/dist/src/core/cli.d.ts.map +1 -0
- package/dist/src/core/cli.js +244 -0
- package/dist/src/core/cli.js.map +1 -0
- package/dist/src/core/config-manager.d.ts +13 -0
- package/dist/src/core/config-manager.d.ts.map +1 -0
- package/dist/src/core/config-manager.js +59 -0
- package/dist/src/core/config-manager.js.map +1 -0
- package/dist/src/core/deploy-pet.d.ts +2 -0
- package/dist/src/core/deploy-pet.d.ts.map +1 -0
- package/dist/src/core/deploy-pet.js +66 -0
- package/dist/src/core/deploy-pet.js.map +1 -0
- package/dist/src/core/index.d.ts +11 -0
- package/dist/src/core/index.d.ts.map +1 -0
- package/dist/src/core/index.js +11 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/local-cache.d.ts +69 -0
- package/dist/src/core/local-cache.d.ts.map +1 -0
- package/dist/src/core/local-cache.js +212 -0
- package/dist/src/core/local-cache.js.map +1 -0
- package/dist/src/core/logger.d.ts.map +1 -0
- package/{logger.js → dist/src/core/logger.js} +8 -9
- package/dist/src/core/logger.js.map +1 -0
- package/dist/src/core/mcp-factory.d.ts +12 -0
- package/dist/src/core/mcp-factory.d.ts.map +1 -0
- package/dist/src/core/mcp-factory.js +143 -0
- package/dist/src/core/mcp-factory.js.map +1 -0
- package/dist/src/core/mcp-server.d.ts +3 -0
- package/dist/src/core/mcp-server.d.ts.map +1 -0
- package/dist/src/core/mcp-server.js +55 -0
- package/dist/src/core/mcp-server.js.map +1 -0
- package/dist/src/core/migrate-plugin.d.ts +15 -0
- package/dist/src/core/migrate-plugin.d.ts.map +1 -0
- package/dist/src/core/migrate-plugin.js +181 -0
- package/dist/src/core/migrate-plugin.js.map +1 -0
- package/dist/src/core/pets-registry.d.ts +47 -0
- package/dist/src/core/pets-registry.d.ts.map +1 -0
- package/dist/src/core/pets-registry.js +109 -0
- package/dist/src/core/pets-registry.js.map +1 -0
- package/dist/src/core/plugin-factory.d.ts +58 -0
- package/dist/src/core/plugin-factory.d.ts.map +1 -0
- package/dist/src/core/plugin-factory.js +212 -0
- package/dist/src/core/plugin-factory.js.map +1 -0
- package/dist/src/core/prompt-utils.d.ts +14 -0
- package/dist/src/core/prompt-utils.d.ts.map +1 -0
- package/dist/src/core/prompt-utils.js +106 -0
- package/dist/src/core/prompt-utils.js.map +1 -0
- package/dist/src/core/schema-helpers.d.ts +33 -0
- package/dist/src/core/schema-helpers.d.ts.map +1 -0
- package/dist/src/core/schema-helpers.js +46 -0
- package/dist/src/core/schema-helpers.js.map +1 -0
- package/dist/src/core/search-pets.d.ts +29 -0
- package/dist/src/core/search-pets.d.ts.map +1 -0
- package/dist/src/core/search-pets.js +196 -0
- package/dist/src/core/search-pets.js.map +1 -0
- package/dist/src/core/types.d.ts +63 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +2 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/core/validate-pet.d.ts +40 -0
- package/dist/src/core/validate-pet.d.ts.map +1 -0
- package/dist/src/core/validate-pet.js +650 -0
- package/dist/src/core/validate-pet.js.map +1 -0
- package/package.json +7 -11
- package/ai-client-base/index.ts +0 -117
- package/build-pet.ts +0 -429
- package/cli.ts +0 -179
- package/config-manager.ts +0 -82
- package/deploy-pet.ts +0 -91
- package/index.ts +0 -10
- package/local-cache.ts +0 -280
- package/logger.ts +0 -143
- package/mcp-factory.ts +0 -180
- package/mcp-server.ts +0 -69
- package/migrate-plugin.ts +0 -220
- package/pets-registry.ts +0 -160
- package/plugin-factory.ts +0 -309
- package/prompt-utils.ts +0 -130
- package/schema-helpers.ts +0 -59
- package/search-pets.ts +0 -267
- package/types.ts +0 -68
- package/validate-pet.ts +0 -594
- /package/{logger.d.ts → dist/src/core/logger.d.ts} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface PetPrompt {
|
|
2
|
+
name: string;
|
|
3
|
+
content: string;
|
|
4
|
+
description: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function extractPetPrompts(agentsMdPath: string, enabledPets: string[]): PetPrompt[];
|
|
7
|
+
export declare function writePetPrompts(prompts: PetPrompt[], outputDir: string): void;
|
|
8
|
+
export declare function readPetsConfig(configPath: string): {
|
|
9
|
+
enabled: string[];
|
|
10
|
+
disabled: string[];
|
|
11
|
+
};
|
|
12
|
+
export declare function writePetsConfig(configPath: string, enabled: string[], disabled: string[]): void;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=prompt-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-utils.d.ts","sourceRoot":"","sources":["../../../prompt-utils.ts"],"names":[],"mappings":"AAGA,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAkB1F;AA2DD,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAU7E;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAe5F;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAc/F"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'fs';
|
|
2
|
+
import { join, dirname } from 'path';
|
|
3
|
+
export function extractPetPrompts(agentsMdPath, enabledPets) {
|
|
4
|
+
if (!existsSync(agentsMdPath)) {
|
|
5
|
+
console.warn(`AGENTS.md not found at ${agentsMdPath}`);
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const agentsContent = readFileSync(agentsMdPath, 'utf-8');
|
|
9
|
+
const prompts = [];
|
|
10
|
+
for (const pet of enabledPets) {
|
|
11
|
+
const petName = pet.replace('openpets/', '');
|
|
12
|
+
const prompt = extractPromptForPet(agentsContent, petName);
|
|
13
|
+
if (prompt) {
|
|
14
|
+
prompts.push(prompt);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return prompts;
|
|
18
|
+
}
|
|
19
|
+
function extractPromptForPet(content, petName) {
|
|
20
|
+
// Simple regex to find plugin section
|
|
21
|
+
const pattern = '### [^\\n]*`pets/' + petName + '`';
|
|
22
|
+
const pluginRegex = new RegExp(pattern, 'i');
|
|
23
|
+
const match = content.match(pluginRegex);
|
|
24
|
+
if (!match) {
|
|
25
|
+
console.warn(`No section found for pet: ${petName}`);
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const startIndex = match.index;
|
|
29
|
+
const afterHeader = content.substring(startIndex + match[0].length);
|
|
30
|
+
// Find next ### section or end of file
|
|
31
|
+
const nextSectionMatch = afterHeader.match(/### /);
|
|
32
|
+
const endIndex = nextSectionMatch ? startIndex + match[0].length + nextSectionMatch.index : content.length;
|
|
33
|
+
const sectionContent = content.substring(startIndex, endIndex).trim();
|
|
34
|
+
// Extract description (first paragraph)
|
|
35
|
+
const lines = sectionContent.split('\\n');
|
|
36
|
+
let description = '';
|
|
37
|
+
for (let i = 0; i < lines.length; i++) {
|
|
38
|
+
if (lines[i].trim() && !lines[i].startsWith('**') && !lines[i].startsWith('*')) {
|
|
39
|
+
description = lines[i].trim();
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (!description) {
|
|
44
|
+
description = `System prompt for ${petName} plugin`;
|
|
45
|
+
}
|
|
46
|
+
// Build simple system prompt
|
|
47
|
+
const systemPrompt = `# ${petName.charAt(0).toUpperCase() + petName.slice(1)} Plugin
|
|
48
|
+
|
|
49
|
+
${description}
|
|
50
|
+
|
|
51
|
+
## Usage Guidance
|
|
52
|
+
|
|
53
|
+
This plugin provides tools for interacting with ${petName} services.
|
|
54
|
+
|
|
55
|
+
## Important Notes
|
|
56
|
+
|
|
57
|
+
- Always check for required environment variables before using tools
|
|
58
|
+
- Read tool descriptions carefully to understand parameters
|
|
59
|
+
- Handle errors gracefully and provide helpful feedback to users
|
|
60
|
+
`;
|
|
61
|
+
return {
|
|
62
|
+
name: petName,
|
|
63
|
+
content: systemPrompt,
|
|
64
|
+
description
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export function writePetPrompts(prompts, outputDir) {
|
|
68
|
+
if (!existsSync(outputDir)) {
|
|
69
|
+
mkdirSync(outputDir, { recursive: true });
|
|
70
|
+
}
|
|
71
|
+
for (const prompt of prompts) {
|
|
72
|
+
const promptPath = join(outputDir, `${prompt.name}.md`);
|
|
73
|
+
writeFileSync(promptPath, prompt.content, 'utf-8');
|
|
74
|
+
console.log(`Wrote prompt: ${promptPath}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function readPetsConfig(configPath) {
|
|
78
|
+
if (!existsSync(configPath)) {
|
|
79
|
+
return { enabled: [], disabled: [] };
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
const config = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
83
|
+
return {
|
|
84
|
+
enabled: config.enabled || [],
|
|
85
|
+
disabled: config.disabled || []
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
console.warn(`Error reading pets config: ${error}`);
|
|
90
|
+
return { enabled: [], disabled: [] };
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export function writePetsConfig(configPath, enabled, disabled) {
|
|
94
|
+
const configDir = dirname(configPath);
|
|
95
|
+
if (!existsSync(configDir)) {
|
|
96
|
+
mkdirSync(configDir, { recursive: true });
|
|
97
|
+
}
|
|
98
|
+
const config = {
|
|
99
|
+
enabled,
|
|
100
|
+
disabled,
|
|
101
|
+
lastUpdated: new Date().toISOString()
|
|
102
|
+
};
|
|
103
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
104
|
+
console.log(`Wrote pets config: ${configPath}`);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=prompt-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-utils.js","sourceRoot":"","sources":["../../../prompt-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AACvE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAQpC,MAAM,UAAU,iBAAiB,CAAC,YAAoB,EAAE,WAAqB;IAC3E,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAA;QACtD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACzD,MAAM,OAAO,GAAgB,EAAE,CAAA;IAE/B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,OAAe;IAC3D,wCAAwC;IACxC,MAAM,OAAO,GAAG,mBAAmB,GAAG,OAAO,GAAG,GAAG,CAAA;IACnD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAM,CAAA;IAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAEnE,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAA;IAE3G,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAA;IAErE,wCAAwC;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/E,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC7B,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,qBAAqB,OAAO,SAAS,CAAA;IACrD,CAAC;IAED,6BAA6B;IAC7B,MAAM,YAAY,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;EAE5E,WAAW;;;;kDAIqC,OAAO;;;;;;;CAOxD,CAAA;IAEC,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,YAAY;QACrB,WAAW;KACZ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAoB,EAAE,SAAiB;IACrE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA;QACvD,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACtC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;QAC5D,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;SAChC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACtC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAkB,EAAE,OAAiB,EAAE,QAAkB;IACvF,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG;QACb,OAAO;QACP,QAAQ;QACR,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACtC,CAAA;IAED,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAA;AACjD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const commonSchemas: {
|
|
3
|
+
id: z.ZodString;
|
|
4
|
+
url: z.ZodString;
|
|
5
|
+
email: z.ZodString;
|
|
6
|
+
pagination: {
|
|
7
|
+
perPage: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
};
|
|
10
|
+
search: z.ZodOptional<z.ZodString>;
|
|
11
|
+
state: (values: string[]) => z.ZodOptional<z.ZodEnum<{
|
|
12
|
+
[x: string]: string;
|
|
13
|
+
}>>;
|
|
14
|
+
};
|
|
15
|
+
export declare function withPagination<T extends z.ZodRawShape>(shape: T): z.ZodObject<T & {
|
|
16
|
+
perPage: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
} extends infer T_1 ? { -readonly [P in keyof T_1]: (T & {
|
|
19
|
+
perPage: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
})[P]; } : never, z.core.$strip>;
|
|
22
|
+
export declare function optional<T extends z.ZodTypeAny>(schema: T): z.ZodOptional<T>;
|
|
23
|
+
export declare function arrayOf<T extends z.ZodTypeAny>(schema: T): z.ZodArray<T>;
|
|
24
|
+
export declare function stringEnum(...values: string[]): z.ZodEnum<{
|
|
25
|
+
[x: string]: string;
|
|
26
|
+
}>;
|
|
27
|
+
export declare function stringField(description: string): z.ZodString;
|
|
28
|
+
export declare function optionalString(description: string): z.ZodOptional<z.ZodString>;
|
|
29
|
+
export declare function numberField(description: string): z.ZodNumber;
|
|
30
|
+
export declare function optionalNumber(description: string): z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
export declare function booleanField(description: string): z.ZodBoolean;
|
|
32
|
+
export declare function optionalBoolean(description: string): z.ZodOptional<z.ZodBoolean>;
|
|
33
|
+
//# sourceMappingURL=schema-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-helpers.d.ts","sourceRoot":"","sources":["../../../schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,aAAa;;;;;;;;;oBAYR,MAAM,EAAE;;;CACzB,CAAA;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;;;;;;iCAK/D;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,oBAEzD;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,iBAExD;AAED,wBAAgB,UAAU,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE;;GAE7C;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,eAE9C;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,8BAEjD;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,eAE9C;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,8BAEjD;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,gBAE/C;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,+BAElD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export const commonSchemas = {
|
|
3
|
+
id: z.string().describe("Unique identifier"),
|
|
4
|
+
url: z.string().url().describe("URL"),
|
|
5
|
+
email: z.string().email().describe("Email address"),
|
|
6
|
+
pagination: {
|
|
7
|
+
perPage: z.number().optional().describe("Number of results per page (default: 20, max: 100)"),
|
|
8
|
+
page: z.number().optional().describe("Page number")
|
|
9
|
+
},
|
|
10
|
+
search: z.string().optional().describe("Search query"),
|
|
11
|
+
state: (values) => z.enum(values).optional().describe("Filter by state")
|
|
12
|
+
};
|
|
13
|
+
export function withPagination(shape) {
|
|
14
|
+
return z.object({
|
|
15
|
+
...shape,
|
|
16
|
+
...commonSchemas.pagination
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export function optional(schema) {
|
|
20
|
+
return schema.optional();
|
|
21
|
+
}
|
|
22
|
+
export function arrayOf(schema) {
|
|
23
|
+
return z.array(schema);
|
|
24
|
+
}
|
|
25
|
+
export function stringEnum(...values) {
|
|
26
|
+
return z.enum(values);
|
|
27
|
+
}
|
|
28
|
+
export function stringField(description) {
|
|
29
|
+
return z.string().describe(description);
|
|
30
|
+
}
|
|
31
|
+
export function optionalString(description) {
|
|
32
|
+
return z.string().optional().describe(description);
|
|
33
|
+
}
|
|
34
|
+
export function numberField(description) {
|
|
35
|
+
return z.number().describe(description);
|
|
36
|
+
}
|
|
37
|
+
export function optionalNumber(description) {
|
|
38
|
+
return z.number().optional().describe(description);
|
|
39
|
+
}
|
|
40
|
+
export function booleanField(description) {
|
|
41
|
+
return z.boolean().describe(description);
|
|
42
|
+
}
|
|
43
|
+
export function optionalBoolean(description) {
|
|
44
|
+
return z.boolean().optional().describe(description);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=schema-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-helpers.js","sourceRoot":"","sources":["../../../schema-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAEnD,UAAU,EAAE;QACV,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QAC7F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;KACpD;IAED,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAEtD,KAAK,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAA+B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CAC5G,CAAA;AAED,MAAM,UAAU,cAAc,CAA0B,KAAQ;IAC9D,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,KAAK;QACR,GAAG,aAAa,CAAC,UAAU;KAC5B,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAyB,MAAS;IACxD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CAAyB,MAAS;IACvD,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAG,MAAgB;IAC5C,OAAO,CAAC,CAAC,IAAI,CAAC,MAA+B,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACrD,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Pet } from "./types";
|
|
2
|
+
export interface SearchResult {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
keywords: string[];
|
|
7
|
+
matchReason: string;
|
|
8
|
+
matchScore: number;
|
|
9
|
+
}
|
|
10
|
+
export interface PetApiData {
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
keywords?: string[];
|
|
14
|
+
title: string;
|
|
15
|
+
version?: string;
|
|
16
|
+
source_code_url?: string;
|
|
17
|
+
tools?: Array<{
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
}>;
|
|
21
|
+
queries?: string[];
|
|
22
|
+
scenarios?: Record<string, string | string[]>;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}
|
|
25
|
+
export declare function searchPets(query: string): Promise<SearchResult[]>;
|
|
26
|
+
export declare function clearSearchCache(): void;
|
|
27
|
+
export declare function createPetFromApiData(petId: string, petData: PetApiData): Pet;
|
|
28
|
+
export declare function getAllPets(): Promise<Pet[]>;
|
|
29
|
+
//# sourceMappingURL=search-pets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-pets.d.ts","sourceRoot":"","sources":["../../../search-pets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAcnC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAwID,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAkEvE;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,GAAG,CAgB5E;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAKjD"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
const REMOTE_API_URL = "https://pets.studio/api.json";
|
|
2
|
+
function isDevMode() {
|
|
3
|
+
if (typeof process !== 'undefined' && process.env) {
|
|
4
|
+
return process.env.PETS_DEV_MODE === "true" || process.env.PETS_DEV_MODE === "1";
|
|
5
|
+
}
|
|
6
|
+
if (typeof window !== 'undefined' && window.PETS_DEV_MODE) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
let searchIndex = null;
|
|
12
|
+
let apiDataCache = null;
|
|
13
|
+
async function fetchApiData() {
|
|
14
|
+
if (apiDataCache)
|
|
15
|
+
return apiDataCache;
|
|
16
|
+
if (isDevMode()) {
|
|
17
|
+
try {
|
|
18
|
+
const localApiData = await import("../../data/api.json");
|
|
19
|
+
apiDataCache = localApiData.default;
|
|
20
|
+
return apiDataCache;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
console.warn("Failed to load local api.json, falling back to remote:", error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const response = await fetch(REMOTE_API_URL);
|
|
28
|
+
if (!response.ok) {
|
|
29
|
+
throw new Error(`Failed to fetch API data: ${response.status} ${response.statusText}`);
|
|
30
|
+
}
|
|
31
|
+
apiDataCache = await response.json();
|
|
32
|
+
return apiDataCache;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.error("Failed to fetch remote API data:", error);
|
|
36
|
+
if (!isDevMode()) {
|
|
37
|
+
try {
|
|
38
|
+
const localApiData = await import("../../data/api.json");
|
|
39
|
+
console.warn("Using local api.json as fallback");
|
|
40
|
+
apiDataCache = localApiData.default;
|
|
41
|
+
return apiDataCache;
|
|
42
|
+
}
|
|
43
|
+
catch (fallbackError) {
|
|
44
|
+
console.error("Failed to load local api.json as fallback:", fallbackError);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
throw new Error("Unable to load API data from remote or local sources");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function buildSearchIndex() {
|
|
51
|
+
if (searchIndex)
|
|
52
|
+
return searchIndex;
|
|
53
|
+
const apiData = await fetchApiData();
|
|
54
|
+
searchIndex = Object.entries(apiData).map(([petId, petData]) => {
|
|
55
|
+
const toolsText = petData.tools
|
|
56
|
+
? petData.tools
|
|
57
|
+
.map((t) => `${t.name} ${t.description}`)
|
|
58
|
+
.join(" ")
|
|
59
|
+
.toLowerCase()
|
|
60
|
+
: "";
|
|
61
|
+
const queriesText = petData.queries
|
|
62
|
+
? petData.queries.join(" ").toLowerCase()
|
|
63
|
+
: "";
|
|
64
|
+
const scenariosText = petData.scenarios
|
|
65
|
+
? Object.values(petData.scenarios).flat().join(" ").toLowerCase()
|
|
66
|
+
: "";
|
|
67
|
+
const shortId = petId.replace("openpets/", "");
|
|
68
|
+
return {
|
|
69
|
+
id: shortId,
|
|
70
|
+
nameLower: petData.name.toLowerCase(),
|
|
71
|
+
descLower: petData.description.toLowerCase(),
|
|
72
|
+
keywordsLower: petData.keywords?.map((k) => k.toLowerCase()) || [],
|
|
73
|
+
toolsText,
|
|
74
|
+
queriesText,
|
|
75
|
+
scenariosText,
|
|
76
|
+
data: petData,
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
return searchIndex;
|
|
80
|
+
}
|
|
81
|
+
function calculateScore(searchTerm, index) {
|
|
82
|
+
const fields = [];
|
|
83
|
+
let maxScore = 0;
|
|
84
|
+
if (index.nameLower.includes(searchTerm)) {
|
|
85
|
+
const isExact = index.nameLower === searchTerm;
|
|
86
|
+
const startsWithSearch = index.nameLower.startsWith(searchTerm);
|
|
87
|
+
fields.push("name");
|
|
88
|
+
maxScore = isExact ? 100 : startsWithSearch ? 95 : 85;
|
|
89
|
+
}
|
|
90
|
+
if (index.keywordsLower.some((k) => k.includes(searchTerm))) {
|
|
91
|
+
fields.push("keywords");
|
|
92
|
+
maxScore = Math.max(maxScore, 90);
|
|
93
|
+
}
|
|
94
|
+
if (index.descLower.includes(searchTerm)) {
|
|
95
|
+
fields.push("description");
|
|
96
|
+
maxScore = Math.max(maxScore, 75);
|
|
97
|
+
}
|
|
98
|
+
if (index.toolsText && index.toolsText.includes(searchTerm)) {
|
|
99
|
+
fields.push("tools");
|
|
100
|
+
maxScore = Math.max(maxScore, 70);
|
|
101
|
+
}
|
|
102
|
+
if (index.queriesText && index.queriesText.includes(searchTerm)) {
|
|
103
|
+
fields.push("queries");
|
|
104
|
+
maxScore = Math.max(maxScore, 60);
|
|
105
|
+
}
|
|
106
|
+
if (index.scenariosText && index.scenariosText.includes(searchTerm)) {
|
|
107
|
+
fields.push("scenarios");
|
|
108
|
+
maxScore = Math.max(maxScore, 50);
|
|
109
|
+
}
|
|
110
|
+
return fields.length > 0 ? { score: maxScore, fields } : null;
|
|
111
|
+
}
|
|
112
|
+
export async function searchPets(query) {
|
|
113
|
+
if (!query || query.trim().length === 0) {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
const searchTerm = query.toLowerCase().trim();
|
|
117
|
+
const searchTerms = searchTerm.split(/\s+/).filter((t) => t.length > 0);
|
|
118
|
+
const index = await buildSearchIndex();
|
|
119
|
+
const results = [];
|
|
120
|
+
for (const item of index) {
|
|
121
|
+
let bestMatch = null;
|
|
122
|
+
if (searchTerms.length === 1) {
|
|
123
|
+
bestMatch = calculateScore(searchTerm, item);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const matches = searchTerms
|
|
127
|
+
.map((term) => calculateScore(term, item))
|
|
128
|
+
.filter(Boolean);
|
|
129
|
+
if (matches.length === searchTerms.length) {
|
|
130
|
+
const allFields = new Set();
|
|
131
|
+
let totalScore = 0;
|
|
132
|
+
matches.forEach((m) => {
|
|
133
|
+
if (m) {
|
|
134
|
+
m.fields.forEach((f) => allFields.add(f));
|
|
135
|
+
totalScore += m.score;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
bestMatch = {
|
|
139
|
+
score: Math.min(100, Math.floor(totalScore / searchTerms.length)),
|
|
140
|
+
fields: Array.from(allFields),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
else if (matches.length > 0) {
|
|
144
|
+
const allFields = new Set();
|
|
145
|
+
let maxScore = 0;
|
|
146
|
+
matches.forEach((m) => {
|
|
147
|
+
if (m) {
|
|
148
|
+
m.fields.forEach((f) => allFields.add(f));
|
|
149
|
+
maxScore = Math.max(maxScore, m.score);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
bestMatch = {
|
|
153
|
+
score: Math.floor(maxScore * 0.7),
|
|
154
|
+
fields: Array.from(allFields),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (bestMatch) {
|
|
159
|
+
results.push({
|
|
160
|
+
id: item.id,
|
|
161
|
+
name: item.data.name,
|
|
162
|
+
description: item.data.description,
|
|
163
|
+
keywords: item.data.keywords || [],
|
|
164
|
+
matchReason: `Matched in: ${bestMatch.fields.join(", ")}`,
|
|
165
|
+
matchScore: bestMatch.score,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return results.sort((a, b) => b.matchScore - a.matchScore);
|
|
170
|
+
}
|
|
171
|
+
export function clearSearchCache() {
|
|
172
|
+
searchIndex = null;
|
|
173
|
+
apiDataCache = null;
|
|
174
|
+
}
|
|
175
|
+
export function createPetFromApiData(petId, petData) {
|
|
176
|
+
const shortId = petId.replace("openpets/", "");
|
|
177
|
+
const { tools, ...restData } = petData;
|
|
178
|
+
return {
|
|
179
|
+
id: shortId,
|
|
180
|
+
...restData,
|
|
181
|
+
displayName: petData.title,
|
|
182
|
+
version: petData.version || "1.0.0",
|
|
183
|
+
source_code_url: petData.source_code_url || `https://github.com/raggle-ai/pets/tree/main/pets/${shortId}`,
|
|
184
|
+
queriesCount: petData.queries?.length || 0,
|
|
185
|
+
queries: petData.queries || [],
|
|
186
|
+
keywords: petData.keywords || [],
|
|
187
|
+
tools: tools?.map(t => ({ ...t, schema: {} })),
|
|
188
|
+
enabled: false,
|
|
189
|
+
opencodeJsonPath: "",
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
export async function getAllPets() {
|
|
193
|
+
const apiData = await fetchApiData();
|
|
194
|
+
return Object.entries(apiData).map(([petId, petData]) => createPetFromApiData(petId, petData));
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=search-pets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-pets.js","sourceRoot":"","sources":["../../../search-pets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface EnvVariable {
|
|
2
|
+
name: string;
|
|
3
|
+
description: string;
|
|
4
|
+
provider: string;
|
|
5
|
+
priority: number;
|
|
6
|
+
url?: string;
|
|
7
|
+
setupUrl?: string;
|
|
8
|
+
default?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface Provider {
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
priority: number;
|
|
14
|
+
homepage?: string;
|
|
15
|
+
envVariables?: EnvVariable[];
|
|
16
|
+
}
|
|
17
|
+
export interface EnvVariables {
|
|
18
|
+
required?: EnvVariable[];
|
|
19
|
+
optional?: EnvVariable[];
|
|
20
|
+
note?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PetData {
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
keywords: string[];
|
|
26
|
+
source_code_url: string;
|
|
27
|
+
homepage?: string;
|
|
28
|
+
icon?: string;
|
|
29
|
+
envVariables?: EnvVariables;
|
|
30
|
+
queries: string[];
|
|
31
|
+
scenarios?: Record<string, string | string[]>;
|
|
32
|
+
providers?: Provider[];
|
|
33
|
+
connected_pets?: string[];
|
|
34
|
+
}
|
|
35
|
+
export interface Tool {
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
schema: Record<string, any>;
|
|
39
|
+
}
|
|
40
|
+
export interface Pet {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
displayName: string;
|
|
44
|
+
description: string;
|
|
45
|
+
keywords: string[];
|
|
46
|
+
source_code_url: string;
|
|
47
|
+
version: string;
|
|
48
|
+
icon?: string;
|
|
49
|
+
homepage?: string;
|
|
50
|
+
envVariables?: EnvVariables;
|
|
51
|
+
queries: string[];
|
|
52
|
+
queriesCount: number;
|
|
53
|
+
tools?: Tool[];
|
|
54
|
+
scenarios?: Record<string, string | string[]>;
|
|
55
|
+
providers?: Provider[];
|
|
56
|
+
connected_pets?: string[];
|
|
57
|
+
enabled: boolean;
|
|
58
|
+
opencodeJsonPath: string;
|
|
59
|
+
}
|
|
60
|
+
export interface PetRegistry {
|
|
61
|
+
[key: string]: PetData;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IAC7C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IAC7C,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface ValidationResult {
|
|
2
|
+
valid: boolean;
|
|
3
|
+
errors: string[];
|
|
4
|
+
warnings: string[];
|
|
5
|
+
codePatternWarnings?: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface PackageValidation {
|
|
8
|
+
name: string;
|
|
9
|
+
path: string;
|
|
10
|
+
result: ValidationResult;
|
|
11
|
+
usesModernPattern?: boolean;
|
|
12
|
+
usesPluginFactory?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface ValidationReport {
|
|
15
|
+
total: number;
|
|
16
|
+
passed: number;
|
|
17
|
+
failed: number;
|
|
18
|
+
details: PackageValidation[];
|
|
19
|
+
}
|
|
20
|
+
export declare class PluginValidator {
|
|
21
|
+
private requiredFields;
|
|
22
|
+
private recommendedFields;
|
|
23
|
+
private requiredScripts;
|
|
24
|
+
validatePlugin(pluginPath: string): PackageValidation;
|
|
25
|
+
private validatePackageJson;
|
|
26
|
+
private validateProviders;
|
|
27
|
+
private validateEnvVariables;
|
|
28
|
+
private validateEnvExampleFile;
|
|
29
|
+
private validateScenarios;
|
|
30
|
+
private validateOptionalMetadata;
|
|
31
|
+
private isValidPluginName;
|
|
32
|
+
private getFolderName;
|
|
33
|
+
validatePluginByName(pluginName: string, petsDirectory: string): PackageValidation;
|
|
34
|
+
validateAllPlugins(petsDirectory: string): ValidationReport;
|
|
35
|
+
private getPluginDirectories;
|
|
36
|
+
private analyzeCodePatterns;
|
|
37
|
+
private detectNestedSchemas;
|
|
38
|
+
printReport(report: ValidationReport): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=validate-pet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-pet.d.ts","sourceRoot":"","sources":["../../../validate-pet.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC7B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,cAAc,CAYrB;IAED,OAAO,CAAC,iBAAiB,CAExB;IAED,OAAO,CAAC,eAAe,CAEtB;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;IA4CrD,OAAO,CAAC,mBAAmB;IAwJ3B,OAAO,CAAC,iBAAiB;IAiEzB,OAAO,CAAC,oBAAoB;IA+C5B,OAAO,CAAC,sBAAsB;IA2D9B,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,wBAAwB;IAwGhC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAIrB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,iBAAiB;IAKlF,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB;IAoB3D,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,mBAAmB;IAyD3B,OAAO,CAAC,mBAAmB;IA+B3B,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;CAqD5C"}
|