@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.
- package/dist/adapters/langchain.d.ts +8 -5
- package/dist/adapters/langchain.d.ts.map +1 -1
- package/dist/adapters/langchain.js +14 -3
- package/dist/adapters/langchain.js.map +1 -1
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/multiverse.d.ts +1 -0
- package/dist/multiverse.d.ts.map +1 -1
- package/dist/multiverse.js +36 -33
- package/dist/multiverse.js.map +1 -1
- package/package.json +15 -29
- package/dist/llm/anthropic.d.ts +0 -18
- package/dist/llm/anthropic.d.ts.map +0 -1
- package/dist/llm/anthropic.js +0 -91
- package/dist/llm/anthropic.js.map +0 -1
- package/dist/llm/google.d.ts +0 -18
- package/dist/llm/google.d.ts.map +0 -1
- package/dist/llm/google.js +0 -97
- package/dist/llm/google.js.map +0 -1
- package/dist/llm/index.d.ts +0 -14
- package/dist/llm/index.d.ts.map +0 -1
- package/dist/llm/index.js +0 -29
- package/dist/llm/index.js.map +0 -1
- package/dist/llm/openai.d.ts +0 -18
- package/dist/llm/openai.d.ts.map +0 -1
- package/dist/llm/openai.js +0 -78
- package/dist/llm/openai.js.map +0 -1
- package/dist/llm/provider.d.ts +0 -42
- package/dist/llm/provider.d.ts.map +0 -1
- package/dist/llm/provider.js +0 -7
- package/dist/llm/provider.js.map +0 -1
- package/dist/simulate.d.ts +0 -49
- package/dist/simulate.d.ts.map +0 -1
- package/dist/simulate.js +0 -476
- package/dist/simulate.js.map +0 -1
package/dist/llm/google.js
DELETED
|
@@ -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
|
package/dist/llm/google.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../src/llm/google.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/index.d.ts
DELETED
|
@@ -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
|
package/dist/llm/index.d.ts.map
DELETED
|
@@ -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
|
package/dist/llm/index.js.map
DELETED
|
@@ -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"}
|
package/dist/llm/openai.d.ts
DELETED
|
@@ -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
|
package/dist/llm/openai.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/llm/openai.js
DELETED
|
@@ -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
|
package/dist/llm/openai.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/provider.d.ts
DELETED
|
@@ -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"}
|
package/dist/llm/provider.js
DELETED
package/dist/llm/provider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/simulate.d.ts
DELETED
|
@@ -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
|
package/dist/simulate.d.ts.map
DELETED
|
@@ -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"}
|