diff --git a/packages/osr-code-bot/client.js b/packages/osr-code-bot/client.js index 2224e48..fa28f70 100644 --- a/packages/osr-code-bot/client.js +++ b/packages/osr-code-bot/client.js @@ -14,6 +14,7 @@ const ROUTER_BASE_URLS = { huggingface: 'https://api-inference.huggingface.co', ollama: 'http://localhost:11434', // Ollama's default local API endpoint fireworks: 'https://api.fireworks.ai/v1', // Fireworks API endpoint + gemini: 'https://generativelanguage.googleapis.com/v1beta', // Gemini API base URL }; /** * Default models for different routers @@ -25,6 +26,7 @@ const DEFAULT_MODELS = { huggingface: 'meta-llama/2', ollama: 'leonard', // Default Ollama model fireworks: 'llama-v2-70b-chat', // Default Fireworks model + gemini: 'gemini-1.5-pro', // Default Gemini model }; /** * Creates an OpenAI client instance based on the provided options. @@ -36,12 +38,12 @@ const createClient = (options) => { const config = (0, config_1.loadConfig)(options); if (!config) { index_1.logger.error("Config not found in $HOME/.osr/config.json. " + - "Optionally, export OSR_CONFIG with the path to the configuration file, "); + "Optionally, export OSR_CONFIG with the path to the configuration file."); return undefined; } - // Determine router to use (defaults to 'openzxWEOpenrouter') - const router = (options.router ?? 'openzxWEOpenrouter'); - // Initialize AC� EI key and baseURL + // Determine router to use (defaults to 'openrouter') + const router = (options.router ?? 'openrouter'); + // Initialize API key let apiKey = options.api_key; // Set API key based on router if not provided in options if (!apiKey) { @@ -65,10 +67,13 @@ const createClient = (options) => { case 'fireworks': apiKey = config?.fireworks?.key; break; + case 'gemini': + apiKey = config?.gemini?.key; + break; } } - // Validate API key (escept for Ollama) - if (!apiKey && router !== 'ollama') { + // Validate API key + if (!apiKey) { index_1.logger.error(`No ${router} key found. Please provide an "api_key", set it in the config, or pass it via JSON config.`); return undefined; } @@ -86,4 +91,4 @@ const createClient = (options) => { }); }; exports.createClient = createClient; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBK0I7QUFDL0IsbUNBQWdDO0FBQ2hDLHFDQUFxQztBQVFyQzs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQStCO0lBQ2pELFVBQVUsRUFBRSw4QkFBOEI7SUFDMUMsTUFBTSxFQUFFLEVBQUUsRUFBRSwwQkFBMEI7SUFDdEMsUUFBUSxFQUFFLDBCQUEwQjtJQUNwQyxXQUFXLEVBQUUsc0NBQXNDO0lBQ25ELE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxzQ0FBc0M7SUFDeEUsU0FBUyxFQUFFLDZCQUE2QixFQUFFLHlCQUF5QjtDQUN0RSxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGNBQWMsR0FBK0I7SUFDL0MsVUFBVSxFQUFFLDZCQUE2QjtJQUN6QyxNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsZUFBZTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixNQUFNLEVBQUUsU0FBUyxFQUFFLHVCQUF1QjtJQUMxQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsMEJBQTBCO0NBQzdELENBQUM7QUFFRjs7OztHQUlHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFxQixFQUFFLEVBQUU7SUFDbEQsK0JBQStCO0lBQy9CLE1BQU0sTUFBTSxHQUFHLElBQUEsbUJBQVUsRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDVixjQUFNLENBQUMsS0FBSyxDQUNSLDhDQUE4QztZQUM5Qyx5RUFBeUUsQ0FDNUUsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsTUFBTSxNQUFNLEdBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLG9CQUFvQixDQUFlLENBQUM7SUFFbEYsb0NBQW9DO0lBQ3BDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFFN0IseURBQXlEO0lBQ3pELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNWLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDYixLQUFLLFlBQVk7Z0JBQ2IsTUFBTSxHQUFHLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDO2dCQUNqQyxNQUFNO1lBQ1YsS0FBSyxRQUFRO2dCQUNULE1BQU0sR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztnQkFDN0IsTUFBTTtZQUNWLEtBQUssVUFBVTtnQkFDWCxNQUFNLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUM7Z0JBQy9CLE1BQU07WUFDVixLQUFLLGFBQWE7Z0JBQ2QsTUFBTSxHQUFHLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxDQUFDO2dCQUNsQyxNQUFNO1lBQ1YsS0FBSyxRQUFRO2dCQUNULHlEQUF5RDtnQkFDekQsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLHVCQUF1QjtnQkFDMUMsTUFBTTtZQUNWLEtBQUssV0FBVztnQkFDWixNQUFNLEdBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUM7Z0JBQ2hDLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztJQUVELHVDQUF1QztJQUN2QyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxjQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sTUFBTSw0RkFBNEYsQ0FBQyxDQUFDO1FBQ3ZILE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU1RCxvQ0FBb0M7SUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsY0FBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsTUFBTSxrQkFBa0IsT0FBTyxDQUFDLEtBQUssaUJBQWlCLE1BQU0sT0FBTyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRWxILCtDQUErQztJQUMvQyxPQUFPLElBQUksZUFBTSxDQUFDO1FBQ2QsTUFBTTtRQUNOLE9BQU87S0FDVixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUE7QUEvRFksUUFBQSxZQUFZLGdCQStEeEIifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBZ0M7QUFDaEMsbUNBQWlDO0FBQ2pDLHFDQUFzQztBQVl0Qzs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQStCO0lBQ2pELFVBQVUsRUFBRSw4QkFBOEI7SUFDMUMsTUFBTSxFQUFFLEVBQUUsRUFBRSwwQkFBMEI7SUFDdEMsUUFBUSxFQUFFLDBCQUEwQjtJQUNwQyxXQUFXLEVBQUUsc0NBQXNDO0lBQ25ELE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxzQ0FBc0M7SUFDeEUsU0FBUyxFQUFFLDZCQUE2QixFQUFFLHlCQUF5QjtJQUNuRSxNQUFNLEVBQUUsa0RBQWtELEVBQUUsc0JBQXNCO0NBQ3JGLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUErQjtJQUMvQyxVQUFVLEVBQUUsNkJBQTZCO0lBQ3pDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQUUsdUJBQXVCO0lBQzFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDMUQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QjtDQUNwRCxDQUFDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQ2xELCtCQUErQjtJQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFBLG1CQUFVLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1YsY0FBTSxDQUFDLEtBQUssQ0FDUiw4Q0FBOEM7WUFDOUMsd0VBQXdFLENBQzNFLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQscURBQXFEO0lBQ3JELE1BQU0sTUFBTSxHQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQWUsQ0FBQztJQUUxRSxxQkFBcUI7SUFDckIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUU3Qix5REFBeUQ7SUFDekQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1YsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNiLEtBQUssWUFBWTtnQkFDYixNQUFNLEdBQUcsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUM7Z0JBQ2pDLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsTUFBTSxHQUFHLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO2dCQUM3QixNQUFNO1lBQ1YsS0FBSyxVQUFVO2dCQUNYLE1BQU0sR0FBRyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQztnQkFDL0IsTUFBTTtZQUNWLEtBQUssYUFBYTtnQkFDZCxNQUFNLEdBQUcsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUM7Z0JBQ2xDLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QseURBQXlEO2dCQUN6RCxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsdUJBQXVCO2dCQUMxQyxNQUFNO1lBQ1YsS0FBSyxXQUFXO2dCQUNaLE1BQU0sR0FBRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQztnQkFDaEMsTUFBTTtZQUNWLEtBQUssUUFBUTtnQkFDVCxNQUFNLEdBQUcsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUM7Z0JBQzdCLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixJQUFJLENBQUMsTUFBTSxFQUFHLENBQUM7UUFDWCxjQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sTUFBTSw0RkFBNEYsQ0FBQyxDQUFDO1FBQ3ZILE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUUzRCxvQ0FBb0M7SUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsY0FBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsTUFBTSxrQkFBa0IsT0FBTyxDQUFDLEtBQUssaUJBQWlCLE1BQU0sT0FBTyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBRWpILCtDQUErQztJQUMvQyxPQUFPLElBQUksZUFBTSxDQUFDO1FBQ2QsTUFBTTtRQUNOLE9BQU87S0FDVixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFsRVcsUUFBQSxZQUFZLGdCQWtFdkIifQ== \ No newline at end of file diff --git a/packages/osr-code-bot/scripts/update-todos.sh b/packages/osr-code-bot/scripts/update-todos.sh index 3994611..c17d7d5 100644 --- a/packages/osr-code-bot/scripts/update-todos.sh +++ b/packages/osr-code-bot/scripts/update-todos.sh @@ -1,10 +1,10 @@ kbotd modify \ --path=. \ --prompt="./.kbot/todos.md" \ - --mode=completion \ --router2=openai \ - --model=openai/gpt-4-32k \ - --include2="src/commands/run.ts" \ - --include2="src/commands/run-tools.ts" \ + --model2=gpt-4o \ + --include="src/commands/run.ts" \ + --include="src/zod_schema.ts" \ + --include="src/client.ts" \ --disable="npm,terminal,git,user,search,email" \ --dst="./.kbot/todos-log.md" diff --git a/packages/osr-code-bot/src/client.ts b/packages/osr-code-bot/src/client.ts index 414bcca..3cda9b4 100644 --- a/packages/osr-code-bot/src/client.ts +++ b/packages/osr-code-bot/src/client.ts @@ -1,12 +1,16 @@ -import { OpenAI } from 'openai' -import { logger } from './index' -import { loadConfig } from './config' -import { IKBotOptions } from './zod_types' +import { OpenAI } from 'openai'; +import { logger } from './index'; +import { loadConfig } from './config'; +import { IKBotOptions } from './zod_types'; + +/** + * gemini : https://ai.google.dev/gemini-api/docs/openai + */ /** * Router types supported by the client */ -type RouterType = 'openrouter' | 'openai' | 'deepseek' | 'huggingface' | 'ollama' | 'fireworks'; +type RouterType = 'openrouter' | 'openai' | 'deepseek' | 'huggingface' | 'ollama' | 'fireworks' | 'gemini' /** * Default base URLs for different routers @@ -18,6 +22,7 @@ const ROUTER_BASE_URLS: Record = { huggingface: 'https://api-inference.huggingface.co', ollama: 'http://localhost:11434', // Ollama's default local API endpoint fireworks: 'https://api.fireworks.ai/v1', // Fireworks API endpoint + gemini: 'https://generativelanguage.googleapis.com/v1beta', // Gemini API base URL }; /** @@ -30,6 +35,7 @@ const DEFAULT_MODELS: Record = { huggingface: 'meta-llama/2', ollama: 'leonard', // Default Ollama model fireworks: 'llama-v2-70b-chat', // Default Fireworks model + gemini: 'gemini-1.5-pro', // Default Gemini model }; /** @@ -39,19 +45,19 @@ const DEFAULT_MODELS: Record = { */ export const createClient = (options: IKBotOptions) => { // Load configuration from file - const config = loadConfig(options) + const config = loadConfig(options); if (!config) { logger.error( "Config not found in $HOME/.osr/config.json. " + - "Optionally, export OSR_CONFIG with the path to the configuration file, " + "Optionally, export OSR_CONFIG with the path to the configuration file." ); return undefined; } - // Determine router to use (defaults to 'openzxWEOpenrouter') - const router: RouterType = (options.router ?? 'openzxWEOpenrouter') as RouterType; + // Determine router to use (defaults to 'openrouter') + const router: RouterType = (options.router ?? 'openrouter') as RouterType; - // Initialize AC� EI key and baseURL + // Initialize API key let apiKey = options.api_key; // Set API key based on router if not provided in options @@ -76,28 +82,31 @@ export const createClient = (options: IKBotOptions) => { case 'fireworks': apiKey = config?.fireworks?.key; break; + case 'gemini': + apiKey = config?.gemini?.key; + break; } } - // Validate API key (escept for Ollama) - if (!apiKey && router !== 'ollama') { + // Validate API key + if (!apiKey ) { logger.error(`No ${router} key found. Please provide an "api_key", set it in the config, or pass it via JSON config.`); return undefined; } // Set default baseURL if not provided - const baseURL = options.baseURL ?? ROUTER_BASE_URLS[router]; + const baseURL = options.baseURL ?? ROUTER_BASE_URLS[router] // Set default model if not provided if (!options.model) { - options.model = DEFAULT_MODELS[router]; + options.model = DEFAULT_MODELS[router] } - logger.info(`Creating client with ${router} router, model ${options.model}, and API key ${apiKey} at ${baseURL}`); + logger.info(`Creating client with ${router} router, model ${options.model}, and API key ${apiKey} at ${baseURL}`) // Create and return the OpenAI client instance return new OpenAI({ apiKey, baseURL, }); -} +}; diff --git a/packages/osr-code-bot/src/zod_schema.ts b/packages/osr-code-bot/src/zod_schema.ts index 7349062..392742d 100644 --- a/packages/osr-code-bot/src/zod_schema.ts +++ b/packages/osr-code-bot/src/zod_schema.ts @@ -13,6 +13,9 @@ import { isString } from '@plastichub/core/primitives' export const E_Filters = z.enum(Object.keys(Filters) as any) +export const RouterTypeSchema = z.enum(['openrouter', 'openai', 'deepseek', 'huggingface', 'ollama', 'fireworks', 'gemini']) +export type RouterType = z.infer + export const EMode = { COMPLETION: 'completion', TOOLS: 'tools', diff --git a/packages/osr-code-bot/zod_schema.js b/packages/osr-code-bot/zod_schema.js index 523a11a..33612dc 100644 --- a/packages/osr-code-bot/zod_schema.js +++ b/packages/osr-code-bot/zod_schema.js @@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.schemas = exports.types = exports.listOpenAIModelsAsStrings = exports.fetchOpenAIModels = exports.listOpenRouterModelsAsStrings = exports.fetchOpenRouterModels = exports.OptionsSchema = exports.SplitType = exports.EType = exports.EMode = exports.E_Filters = void 0; +exports.schemas = exports.types = exports.listOpenAIModelsAsStrings = exports.fetchOpenAIModels = exports.listOpenRouterModelsAsStrings = exports.fetchOpenRouterModels = exports.OptionsSchema = exports.SplitType = exports.EType = exports.EMode = exports.RouterTypeSchema = exports.E_Filters = void 0; const zod_1 = require("zod"); const path = __importStar(require("path")); const chalk_1 = __importDefault(require("chalk")); @@ -48,6 +48,7 @@ const filters_1 = require("./filters"); const write_1 = require("@plastichub/fs/write"); const primitives_1 = require("@plastichub/core/primitives"); exports.E_Filters = zod_1.z.enum(Object.keys(filters_1.Filters)); +exports.RouterTypeSchema = zod_1.z.enum(['openrouter', 'openai', 'deepseek', 'huggingface', 'ollama', 'fireworks', 'gemini']); exports.EMode = { COMPLETION: 'completion', TOOLS: 'tools', @@ -203,4 +204,4 @@ const schemas = () => { (0, write_1.sync)('schema_ui.json', schemaMap.getUISchema()); }; exports.schemas = schemas; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX3NjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy96b2Rfc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUF1QjtBQUN2QiwyQ0FBNEI7QUFDNUIsa0RBQXlCO0FBQ3pCLHlEQUFpRDtBQUNqRCxxQ0FBc0M7QUFDdEMsbUNBQXlDO0FBQ3pDLHlEQUFnRjtBQUVoRix1Q0FBbUM7QUFFbkMsZ0RBQXNEO0FBQ3RELDREQUFzRDtBQUV6QyxRQUFBLFNBQVMsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQU8sQ0FBUSxDQUFDLENBQUE7QUFFL0MsUUFBQSxLQUFLLEdBQUc7SUFDbkIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsS0FBSyxFQUFFLE9BQU87SUFDZCxTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLEVBQUUsUUFBUTtDQUNSLENBQUE7QUFHRyxRQUFBLEtBQUssR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFCLGFBQUssQ0FBQyxVQUFVO0lBQ2hCLGFBQUssQ0FBQyxLQUFLO0lBQ1gsYUFBSyxDQUFDLFNBQVM7SUFDZixhQUFLLENBQUMsTUFBTTtDQUNiLENBQUMsQ0FBQTtBQUNGLG9GQUFvRjtBQUNwRjs7Ozs7O0VBTUU7QUFDVyxRQUFBLFNBQVMsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlCLE1BQU07SUFDTixpQ0FBaUM7SUFDakMsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQywwQ0FBMEM7SUFDMUMsNkJBQTZCO0NBQzlCLENBQUMsQ0FBQyxRQUFRLENBQUMsOEJBQThCLENBQUMsQ0FBQTtBQUszQyxJQUFJLFNBQVMsR0FBZSxJQUFJLENBQUE7QUFFekIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtJQUMxQyxTQUFTLEdBQUcsd0JBQVUsQ0FBQyxNQUFNLEVB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 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX3NjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy96b2Rfc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUF1QjtBQUN2QiwyQ0FBNEI7QUFDNUIsa0RBQXlCO0FBQ3pCLHlEQUFpRDtBQUNqRCxxQ0FBc0M7QUFDdEMsbUNBQXlDO0FBQ3pDLHlEQUFnRjtBQUVoRix1Q0FBbUM7QUFFbkMsZ0RBQXNEO0FBQ3RELDREQUFzRDtBQUV6QyxRQUFBLFNBQVMsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQU8sQ0FBUSxDQUFDLENBQUE7QUFFL0MsUUFBQSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQTtBQUcvRyxRQUFBLEtBQUssR0FBRztJQUNuQixVQUFVLEVBQUUsWUFBWTtJQUN4QixLQUFLLEVBQUUsT0FBTztJQUNkLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQTtBQUdHLFFBQUEsS0FBSyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUIsYUFBSyxDQUFDLFVBQVU7SUFDaEIsYUFBSyxDQUFDLEtBQUs7SUFDWCxhQUFLLENBQUMsU0FBUztJQUNmLGFBQUssQ0FBQyxNQUFNO0NBQ2IsQ0FBQyxDQUFBO0FBQ0Ysb0ZBQW9GO0FBQ3BGOzs7Ozs7RUFNRTtBQUNXLFFBQUEsU0FBUyxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUIsTUFBTTtJQUNOLGlDQUFpQztJQUNqQyw2QkFBNkI7SUFDN0IsZ0NBQWdDO0lBQ2hDLDBDQUEwQztJQUMxQyw2QkFBNkI7Q0FDOUIsQ0FBQyxDQUFDLFFBQVEs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 \ No newline at end of file diff --git a/packages/osr-commons/package-lock.json b/packages/osr-commons/package-lock.json index ce31a87..553db58 100644 --- a/packages/osr-commons/package-lock.json +++ b/packages/osr-commons/package-lock.json @@ -12,7 +12,7 @@ "@plastichub/core": "^0.2.6", "@plastichub/fs": "^0.13.41", "cryptr": "^6.0.3", - "env-var": "^7.1.1", + "env-var": "^7.5.0", "fast-glob": "^3.3.2", "filenamify": "^4.3.0", "glob": "^11.0.0", @@ -424,9 +424,10 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/env-var": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/env-var/-/env-var-7.3.0.tgz", - "integrity": "sha512-qwtwYJ9d3XFxXRDudPEAMszaggpDgcfb1ZGYb9/cNyMugN2/a8EtviopnRL6c+petj2vp6/gxwYd9ExL1/iPcw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/env-var/-/env-var-7.5.0.tgz", + "integrity": "sha512-mKZOzLRN0ETzau2W2QXefbFjo5EF4yWq28OyKb9ICdeNhHJlOE/pHHnz4hdYJ9cNZXcJHo5xN4OT4pzuSHSNvA==", + "license": "MIT", "engines": { "node": ">=10" } diff --git a/packages/osr-commons/package.json b/packages/osr-commons/package.json index 19a0809..81bb398 100644 --- a/packages/osr-commons/package.json +++ b/packages/osr-commons/package.json @@ -9,7 +9,7 @@ "@plastichub/core": "^0.2.6", "@plastichub/fs": "^0.13.41", "cryptr": "^6.0.3", - "env-var": "^7.1.1", + "env-var": "^7.5.0", "fast-glob": "^3.3.2", "filenamify": "^4.3.0", "glob": "^11.0.0", diff --git a/packages/osr-registry/README.md b/packages/osr-registry/README.md index 331ef6a..fd6bc18 100644 --- a/packages/osr-registry/README.md +++ b/packages/osr-registry/README.md @@ -8,12 +8,14 @@ https://github.com/typestack/class-transformer#readme ## Multistore - https://github.com/jaredwray/keyv - - https://github.com/zaaack/keyv-file +- https://github.com/zaaack/keyv-file https://github.com/Level/abstract-level (?) ## Utils + https://www.npmjs.com/package/filter-obj ## Graph store + https://www.npmjs.com/package/gun \ No newline at end of file