@virtualkitchenco/multiverse-sdk 0.0.1 → 0.0.2

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.
@@ -1,97 +0,0 @@
1
- /**
2
- * Google/Gemini Provider
3
- */
4
- const DEFAULT_MODEL = 'gemini-2.0-flash';
5
- export class GoogleProvider {
6
- name = 'google';
7
- apiKey;
8
- model;
9
- baseUrl;
10
- constructor(config) {
11
- this.apiKey = config.apiKey;
12
- this.model = config.model || DEFAULT_MODEL;
13
- this.baseUrl = config.baseUrl || 'https://generativelanguage.googleapis.com/v1beta';
14
- }
15
- async chat(messages, tools) {
16
- // Convert messages to Gemini format
17
- const contents = this.convertMessages(messages);
18
- const body = {
19
- contents,
20
- generationConfig: {
21
- maxOutputTokens: 4096,
22
- },
23
- };
24
- if (tools && tools.length > 0) {
25
- body.tools = [{
26
- functionDeclarations: tools.map(t => ({
27
- name: t.name,
28
- description: t.description,
29
- parameters: t.parameters,
30
- })),
31
- }];
32
- }
33
- const response = await fetch(`${this.baseUrl}/models/${this.model}:generateContent?key=${this.apiKey}`, {
34
- method: 'POST',
35
- headers: {
36
- 'Content-Type': 'application/json',
37
- },
38
- body: JSON.stringify(body),
39
- });
40
- if (!response.ok) {
41
- const error = await response.text();
42
- throw new Error(`Google API error: ${response.status} ${error}`);
43
- }
44
- const data = await response.json();
45
- return this.parseResponse(data);
46
- }
47
- async generate(prompt) {
48
- const response = await this.chat([{ role: 'user', content: prompt }]);
49
- return response.content;
50
- }
51
- convertMessages(messages) {
52
- const contents = [];
53
- for (const message of messages) {
54
- if (message.role === 'system') {
55
- // Gemini doesn't have system role, prepend to first user message
56
- continue;
57
- }
58
- const role = message.role === 'assistant' ? 'model' : 'user';
59
- contents.push({
60
- role,
61
- parts: [{ text: message.content }],
62
- });
63
- }
64
- // Add system message to the start if present
65
- const systemMessage = messages.find(m => m.role === 'system');
66
- if (systemMessage && contents.length > 0 && contents[0].role === 'user') {
67
- contents[0].parts[0].text = `${systemMessage.content}\n\n${contents[0].parts[0].text}`;
68
- }
69
- return contents;
70
- }
71
- parseResponse(data) {
72
- const candidate = data.candidates[0];
73
- if (!candidate) {
74
- return { content: '' };
75
- }
76
- const parts = candidate.content.parts;
77
- const textContent = parts
78
- .filter(p => p.text)
79
- .map(p => p.text)
80
- .join('');
81
- const toolCalls = parts
82
- .filter(p => p.functionCall)
83
- .map((p, i) => ({
84
- id: `call_${i}`,
85
- name: p.functionCall.name,
86
- arguments: p.functionCall.args,
87
- }));
88
- return {
89
- content: textContent,
90
- toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
91
- };
92
- }
93
- }
94
- export function createGoogleProvider(config) {
95
- return new GoogleProvider(config);
96
- }
97
- //# sourceMappingURL=google.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/llm/google.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * LLM Providers
3
- */
4
- export type { LLMProvider, ToolDefinition, ProviderConfig } from './provider.js';
5
- export { createAnthropicProvider, AnthropicProvider } from './anthropic.js';
6
- export { createOpenAIProvider, OpenAIProvider } from './openai.js';
7
- export { createGoogleProvider, GoogleProvider } from './google.js';
8
- import type { LLMConfig } from '@multiverse/core';
9
- import type { LLMProvider } from './provider.js';
10
- /**
11
- * Create an LLM provider based on config
12
- */
13
- export declare function createProvider(config: LLMConfig): LLMProvider;
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAC;AAKjE;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAgB7D"}
package/dist/llm/index.js DELETED
@@ -1,29 +0,0 @@
1
- /**
2
- * LLM Providers
3
- */
4
- export { createAnthropicProvider, AnthropicProvider } from './anthropic.js';
5
- export { createOpenAIProvider, OpenAIProvider } from './openai.js';
6
- export { createGoogleProvider, GoogleProvider } from './google.js';
7
- import { createAnthropicProvider } from './anthropic.js';
8
- import { createOpenAIProvider } from './openai.js';
9
- import { createGoogleProvider } from './google.js';
10
- /**
11
- * Create an LLM provider based on config
12
- */
13
- export function createProvider(config) {
14
- const providerConfig = {
15
- apiKey: config.apiKey,
16
- model: config.model,
17
- };
18
- switch (config.provider) {
19
- case 'anthropic':
20
- return createAnthropicProvider(providerConfig);
21
- case 'openai':
22
- return createOpenAIProvider(providerConfig);
23
- case 'google':
24
- return createGoogleProvider(providerConfig);
25
- default:
26
- throw new Error(`Unknown provider: ${config.provider}`);
27
- }
28
- }
29
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAInE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC9C,MAAM,cAAc,GAAmB;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IAEF,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;QACjD,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC9C;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * OpenAI Provider
3
- */
4
- import type { ChatMessage, LLMResponse } from '@multiverse/core';
5
- import type { LLMProvider, ToolDefinition, ProviderConfig } from './provider.js';
6
- export declare class OpenAIProvider implements LLMProvider {
7
- name: string;
8
- private apiKey;
9
- private model;
10
- private baseUrl;
11
- constructor(config: ProviderConfig);
12
- chat(messages: ChatMessage[], tools?: ToolDefinition[]): Promise<LLMResponse>;
13
- generate(prompt: string): Promise<string>;
14
- private convertMessage;
15
- private parseResponse;
16
- }
17
- export declare function createOpenAIProvider(config: ProviderConfig): LLMProvider;
18
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIjF,qBAAa,cAAe,YAAW,WAAW;IAChD,IAAI,SAAY;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,cAAc;IAM5B,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAiD7E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/C,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,aAAa;CA2BtB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,CAExE"}
@@ -1,78 +0,0 @@
1
- /**
2
- * OpenAI Provider
3
- */
4
- const DEFAULT_MODEL = 'gpt-4o';
5
- export class OpenAIProvider {
6
- name = 'openai';
7
- apiKey;
8
- model;
9
- baseUrl;
10
- constructor(config) {
11
- this.apiKey = config.apiKey;
12
- this.model = config.model || DEFAULT_MODEL;
13
- this.baseUrl = config.baseUrl || 'https://api.openai.com';
14
- }
15
- async chat(messages, tools) {
16
- const body = {
17
- model: this.model,
18
- messages: messages.map(m => this.convertMessage(m)),
19
- };
20
- if (tools && tools.length > 0) {
21
- body.tools = tools.map(t => ({
22
- type: 'function',
23
- function: {
24
- name: t.name,
25
- description: t.description,
26
- parameters: t.parameters,
27
- },
28
- }));
29
- }
30
- const response = await fetch(`${this.baseUrl}/v1/chat/completions`, {
31
- method: 'POST',
32
- headers: {
33
- 'Content-Type': 'application/json',
34
- 'Authorization': `Bearer ${this.apiKey}`,
35
- },
36
- body: JSON.stringify(body),
37
- });
38
- if (!response.ok) {
39
- const error = await response.text();
40
- throw new Error(`OpenAI API error: ${response.status} ${error}`);
41
- }
42
- const data = await response.json();
43
- return this.parseResponse(data);
44
- }
45
- async generate(prompt) {
46
- const response = await this.chat([{ role: 'user', content: prompt }]);
47
- return response.content;
48
- }
49
- convertMessage(message) {
50
- if (message.role === 'tool') {
51
- return {
52
- role: 'tool',
53
- tool_call_id: message.tool_call_id,
54
- content: message.content,
55
- };
56
- }
57
- return {
58
- role: message.role,
59
- content: message.content,
60
- };
61
- }
62
- parseResponse(data) {
63
- const message = data.choices[0]?.message;
64
- const toolCalls = message?.tool_calls?.map(tc => ({
65
- id: tc.id,
66
- name: tc.function.name,
67
- arguments: JSON.parse(tc.function.arguments),
68
- }));
69
- return {
70
- content: message?.content || '',
71
- toolCalls: toolCalls && toolCalls.length > 0 ? toolCalls : undefined,
72
- };
73
- }
74
- }
75
- export function createOpenAIProvider(config) {
76
- return new OpenAIProvider(config);
77
- }
78
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * LLM Provider Interface
3
- *
4
- * Abstract interface for different LLM providers (Anthropic, OpenAI, Google).
5
- */
6
- import type { ChatMessage, LLMResponse } from '@multiverse/core';
7
- /**
8
- * LLM Provider interface
9
- */
10
- export interface LLMProvider {
11
- /** Provider name */
12
- name: string;
13
- /** Generate a response from messages */
14
- chat(messages: ChatMessage[], tools?: ToolDefinition[]): Promise<LLMResponse>;
15
- /** Generate a simple text completion */
16
- generate(prompt: string): Promise<string>;
17
- }
18
- /**
19
- * Tool definition for function calling
20
- */
21
- export interface ToolDefinition {
22
- name: string;
23
- description: string;
24
- parameters: {
25
- type: 'object';
26
- properties: Record<string, {
27
- type: string;
28
- description?: string;
29
- enum?: string[];
30
- }>;
31
- required?: string[];
32
- };
33
- }
34
- /**
35
- * Provider configuration
36
- */
37
- export interface ProviderConfig {
38
- apiKey: string;
39
- model?: string;
40
- baseUrl?: string;
41
- }
42
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,wCAAwC;IACxC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9E,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;SACjB,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1,7 +0,0 @@
1
- /**
2
- * LLM Provider Interface
3
- *
4
- * Abstract interface for different LLM providers (Anthropic, OpenAI, Google).
5
- */
6
- export {};
7
- //# sourceMappingURL=provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,49 +0,0 @@
1
- /**
2
- * LLM-based tool simulation with two-phase approach
3
- *
4
- * Phase 1 (Analysis): LLM analyzes world state vs query to decide action
5
- * Phase 2 (Execution): Execute based on action (may skip LLM entirely)
6
- *
7
- * This ensures consistency - same tool + overlapping queries return consistent data.
8
- */
9
- import type { World, Mutation, Scenario, Invariant, ZodLikeSchema, Effect, WorldStateAccessor } from '@multiverse/core';
10
- import type { LLMProvider } from './llm/index.js';
11
- export interface SimulationResult {
12
- response: unknown;
13
- mutations: Mutation[];
14
- analysis?: AnalysisResult;
15
- }
16
- /**
17
- * Conversation entry for context
18
- */
19
- export interface ConversationEntry {
20
- role: 'user' | 'agent';
21
- content: string;
22
- }
23
- /**
24
- * Tool simulation config
25
- */
26
- export interface ToolSimConfig {
27
- outputSchema?: ZodLikeSchema;
28
- effects?: (output: unknown, world: WorldStateAccessor) => Effect[];
29
- invariants?: Invariant[];
30
- }
31
- /**
32
- * Two-phase simulation types
33
- */
34
- export type SimulationAction = 'return_existing' | 'filter' | 'augment' | 'generate';
35
- export interface AnalysisResult {
36
- action: SimulationAction;
37
- matches: string[];
38
- collection: string | null;
39
- gaps: string[];
40
- reasoning: string;
41
- }
42
- /**
43
- * Simulate a tool call using two-phase approach
44
- *
45
- * Phase 1: Analyze world state vs query
46
- * Phase 2: Execute based on analysis (may skip LLM entirely)
47
- */
48
- export declare function simulateToolCall(toolName: string, toolDescription: string, input: unknown, world: World, llm: LLMProvider, scenario?: Scenario, conversationHistory?: ConversationEntry[], config?: ToolSimConfig): Promise<SimulationResult>;
49
- //# sourceMappingURL=simulate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../src/simulate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAa,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAU,MAAM,kBAAkB,CAAC;AAC3I,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,KAAK,MAAM,EAAE,CAAC;IACnE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAErF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AA6ZD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,EAChB,QAAQ,CAAC,EAAE,QAAQ,EACnB,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,EACzC,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAS3B"}