@molroo-io/sdk 0.6.2 → 0.7.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/README.md +100 -194
- package/dist/cjs/api-client.d.ts +2 -12
- package/dist/cjs/api-client.d.ts.map +1 -1
- package/dist/cjs/api-client.js +4 -42
- package/dist/cjs/errors.d.ts +1 -16
- package/dist/cjs/errors.d.ts.map +1 -1
- package/dist/cjs/errors.js +2 -18
- package/dist/cjs/events/types.d.ts +14 -21
- package/dist/cjs/events/types.d.ts.map +1 -1
- package/dist/cjs/events/types.js +0 -11
- package/dist/cjs/index.d.ts +26 -48
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +29 -52
- package/dist/cjs/llm/resolve.d.ts +4 -22
- package/dist/cjs/llm/resolve.d.ts.map +1 -1
- package/dist/cjs/llm/resolve.js +19 -7
- package/dist/cjs/llm/vercel-ai/adapter.d.ts +4 -10
- package/dist/cjs/llm/vercel-ai/adapter.d.ts.map +1 -1
- package/dist/cjs/llm/vercel-ai/adapter.js +6 -152
- package/dist/cjs/llm/vercel-ai/config.d.ts +8 -5
- package/dist/cjs/llm/vercel-ai/config.d.ts.map +1 -1
- package/dist/cjs/memory/in-memory.d.ts +14 -37
- package/dist/cjs/memory/in-memory.d.ts.map +1 -1
- package/dist/cjs/memory/in-memory.js +22 -85
- package/dist/cjs/memory/recall.d.ts +10 -21
- package/dist/cjs/memory/recall.d.ts.map +1 -1
- package/dist/cjs/memory/recall.js +12 -91
- package/dist/cjs/memory/types.d.ts +46 -186
- package/dist/cjs/memory/types.d.ts.map +1 -1
- package/dist/cjs/memory/types.js +0 -10
- package/dist/cjs/persona/chat-orchestrator.d.ts +46 -0
- package/dist/cjs/persona/chat-orchestrator.d.ts.map +1 -0
- package/dist/cjs/persona/chat-orchestrator.js +240 -0
- package/dist/cjs/persona/event-emitter.d.ts +7 -0
- package/dist/cjs/persona/event-emitter.d.ts.map +1 -0
- package/dist/cjs/persona/event-emitter.js +53 -0
- package/dist/cjs/persona/memory-pipeline.d.ts +26 -0
- package/dist/cjs/persona/memory-pipeline.d.ts.map +1 -0
- package/dist/cjs/persona/memory-pipeline.js +69 -0
- package/dist/cjs/persona.d.ts +56 -187
- package/dist/cjs/persona.d.ts.map +1 -1
- package/dist/cjs/persona.js +62 -638
- package/dist/cjs/shared/appraisal.d.ts +26 -0
- package/dist/cjs/shared/appraisal.d.ts.map +1 -0
- package/dist/cjs/shared/appraisal.js +45 -0
- package/dist/cjs/shared/client-factory.d.ts +23 -0
- package/dist/cjs/shared/client-factory.d.ts.map +1 -0
- package/dist/cjs/shared/client-factory.js +48 -0
- package/dist/cjs/shared/errors.d.ts +21 -0
- package/dist/cjs/shared/errors.d.ts.map +1 -0
- package/dist/cjs/shared/errors.js +29 -0
- package/dist/cjs/world/client.d.ts +2 -9
- package/dist/cjs/world/client.d.ts.map +1 -1
- package/dist/cjs/world/client.js +7 -34
- package/dist/cjs/world/errors.d.ts +1 -8
- package/dist/cjs/world/errors.d.ts.map +1 -1
- package/dist/cjs/world/errors.js +2 -12
- package/dist/cjs/world/index.d.ts +2 -2
- package/dist/cjs/world/index.d.ts.map +1 -1
- package/dist/cjs/world/types.d.ts +6 -4
- package/dist/cjs/world/types.d.ts.map +1 -1
- package/dist/cjs/world/world-domain.d.ts.map +1 -1
- package/dist/cjs/world/world-domain.js +4 -32
- package/dist/cjs/world/world-persona.d.ts +7 -5
- package/dist/cjs/world/world-persona.d.ts.map +1 -1
- package/dist/cjs/world/world-persona.js +2 -17
- package/dist/cjs/world/world.d.ts +28 -5
- package/dist/cjs/world/world.d.ts.map +1 -1
- package/dist/cjs/world/world.js +13 -11
- package/dist/esm/api-client.d.ts +2 -12
- package/dist/esm/api-client.d.ts.map +1 -1
- package/dist/esm/api-client.js +3 -38
- package/dist/esm/errors.d.ts +1 -16
- package/dist/esm/errors.d.ts.map +1 -1
- package/dist/esm/errors.js +1 -17
- package/dist/esm/events/types.d.ts +14 -21
- package/dist/esm/events/types.d.ts.map +1 -1
- package/dist/esm/events/types.js +0 -11
- package/dist/esm/index.d.ts +26 -48
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +25 -38
- package/dist/esm/llm/resolve.d.ts +4 -22
- package/dist/esm/llm/resolve.d.ts.map +1 -1
- package/dist/esm/llm/resolve.js +20 -8
- package/dist/esm/llm/vercel-ai/adapter.d.ts +4 -10
- package/dist/esm/llm/vercel-ai/adapter.d.ts.map +1 -1
- package/dist/esm/llm/vercel-ai/adapter.js +6 -119
- package/dist/esm/llm/vercel-ai/config.d.ts +8 -5
- package/dist/esm/llm/vercel-ai/config.d.ts.map +1 -1
- package/dist/esm/memory/in-memory.d.ts +14 -37
- package/dist/esm/memory/in-memory.d.ts.map +1 -1
- package/dist/esm/memory/in-memory.js +20 -83
- package/dist/esm/memory/recall.d.ts +10 -21
- package/dist/esm/memory/recall.d.ts.map +1 -1
- package/dist/esm/memory/recall.js +12 -91
- package/dist/esm/memory/types.d.ts +46 -186
- package/dist/esm/memory/types.d.ts.map +1 -1
- package/dist/esm/memory/types.js +1 -9
- package/dist/esm/persona/chat-orchestrator.d.ts +46 -0
- package/dist/esm/persona/chat-orchestrator.d.ts.map +1 -0
- package/dist/esm/persona/chat-orchestrator.js +204 -0
- package/dist/esm/persona/event-emitter.d.ts +7 -0
- package/dist/esm/persona/event-emitter.d.ts.map +1 -0
- package/dist/esm/persona/event-emitter.js +50 -0
- package/dist/esm/persona/memory-pipeline.d.ts +26 -0
- package/dist/esm/persona/memory-pipeline.d.ts.map +1 -0
- package/dist/esm/persona/memory-pipeline.js +65 -0
- package/dist/esm/persona.d.ts +56 -187
- package/dist/esm/persona.d.ts.map +1 -1
- package/dist/esm/persona.js +62 -638
- package/dist/esm/shared/appraisal.d.ts +26 -0
- package/dist/esm/shared/appraisal.d.ts.map +1 -0
- package/dist/esm/shared/appraisal.js +40 -0
- package/dist/esm/shared/client-factory.d.ts +23 -0
- package/dist/esm/shared/client-factory.d.ts.map +1 -0
- package/dist/esm/shared/client-factory.js +41 -0
- package/dist/esm/shared/errors.d.ts +21 -0
- package/dist/esm/shared/errors.d.ts.map +1 -0
- package/dist/esm/shared/errors.js +24 -0
- package/dist/esm/world/client.d.ts +2 -9
- package/dist/esm/world/client.d.ts.map +1 -1
- package/dist/esm/world/client.js +6 -30
- package/dist/esm/world/errors.d.ts +1 -8
- package/dist/esm/world/errors.d.ts.map +1 -1
- package/dist/esm/world/errors.js +1 -11
- package/dist/esm/world/index.d.ts +2 -2
- package/dist/esm/world/index.d.ts.map +1 -1
- package/dist/esm/world/types.d.ts +6 -4
- package/dist/esm/world/types.d.ts.map +1 -1
- package/dist/esm/world/world-domain.d.ts.map +1 -1
- package/dist/esm/world/world-domain.js +4 -32
- package/dist/esm/world/world-persona.d.ts +7 -5
- package/dist/esm/world/world-persona.d.ts.map +1 -1
- package/dist/esm/world/world-persona.js +2 -17
- package/dist/esm/world/world.d.ts +28 -5
- package/dist/esm/world/world.d.ts.map +1 -1
- package/dist/esm/world/world.js +13 -11
- package/package.json +4 -101
- package/dist/cjs/embedding/cloudflare.d.ts +0 -15
- package/dist/cjs/embedding/cloudflare.d.ts.map +0 -1
- package/dist/cjs/embedding/cloudflare.js +0 -16
- package/dist/cjs/embedding/cohere.d.ts +0 -8
- package/dist/cjs/embedding/cohere.d.ts.map +0 -1
- package/dist/cjs/embedding/cohere.js +0 -31
- package/dist/cjs/embedding/index.d.ts +0 -9
- package/dist/cjs/embedding/index.d.ts.map +0 -1
- package/dist/cjs/embedding/index.js +0 -11
- package/dist/cjs/embedding/local.d.ts +0 -6
- package/dist/cjs/embedding/local.d.ts.map +0 -1
- package/dist/cjs/embedding/local.js +0 -28
- package/dist/cjs/embedding/openai.d.ts +0 -9
- package/dist/cjs/embedding/openai.d.ts.map +0 -1
- package/dist/cjs/embedding/openai.js +0 -26
- package/dist/cjs/events/console.d.ts +0 -25
- package/dist/cjs/events/console.d.ts.map +0 -1
- package/dist/cjs/events/console.js +0 -41
- package/dist/cjs/events/webhook.d.ts +0 -30
- package/dist/cjs/events/webhook.d.ts.map +0 -1
- package/dist/cjs/events/webhook.js +0 -79
- package/dist/cjs/memory/cloudflare/index.d.ts +0 -3
- package/dist/cjs/memory/cloudflare/index.d.ts.map +0 -1
- package/dist/cjs/memory/cloudflare/index.js +0 -5
- package/dist/cjs/memory/cloudflare/vectorize.d.ts +0 -62
- package/dist/cjs/memory/cloudflare/vectorize.d.ts.map +0 -1
- package/dist/cjs/memory/cloudflare/vectorize.js +0 -55
- package/dist/cjs/memory/in-memory-semantic.d.ts +0 -16
- package/dist/cjs/memory/in-memory-semantic.d.ts.map +0 -1
- package/dist/cjs/memory/in-memory-semantic.js +0 -57
- package/dist/cjs/memory/pinecone/index.d.ts +0 -7
- package/dist/cjs/memory/pinecone/index.d.ts.map +0 -1
- package/dist/cjs/memory/pinecone/index.js +0 -8
- package/dist/cjs/memory/pinecone/memory-adapter.d.ts +0 -62
- package/dist/cjs/memory/pinecone/memory-adapter.d.ts.map +0 -1
- package/dist/cjs/memory/pinecone/memory-adapter.js +0 -220
- package/dist/cjs/memory/pinecone/semantic.d.ts +0 -44
- package/dist/cjs/memory/pinecone/semantic.d.ts.map +0 -1
- package/dist/cjs/memory/pinecone/semantic.js +0 -90
- package/dist/cjs/memory/sqlite/index.d.ts +0 -3
- package/dist/cjs/memory/sqlite/index.d.ts.map +0 -1
- package/dist/cjs/memory/sqlite/index.js +0 -5
- package/dist/cjs/memory/sqlite/memory-adapter.d.ts +0 -58
- package/dist/cjs/memory/sqlite/memory-adapter.d.ts.map +0 -1
- package/dist/cjs/memory/sqlite/memory-adapter.js +0 -336
- package/dist/cjs/memory/sqlite/schema.d.ts +0 -4
- package/dist/cjs/memory/sqlite/schema.d.ts.map +0 -1
- package/dist/cjs/memory/sqlite/schema.js +0 -91
- package/dist/cjs/memory/supabase/index.d.ts +0 -7
- package/dist/cjs/memory/supabase/index.d.ts.map +0 -1
- package/dist/cjs/memory/supabase/index.js +0 -8
- package/dist/cjs/memory/supabase/memory-adapter.d.ts +0 -67
- package/dist/cjs/memory/supabase/memory-adapter.d.ts.map +0 -1
- package/dist/cjs/memory/supabase/memory-adapter.js +0 -335
- package/dist/cjs/memory/supabase/semantic.d.ts +0 -44
- package/dist/cjs/memory/supabase/semantic.d.ts.map +0 -1
- package/dist/cjs/memory/supabase/semantic.js +0 -72
- package/dist/esm/embedding/cloudflare.d.ts +0 -15
- package/dist/esm/embedding/cloudflare.d.ts.map +0 -1
- package/dist/esm/embedding/cloudflare.js +0 -13
- package/dist/esm/embedding/cohere.d.ts +0 -8
- package/dist/esm/embedding/cohere.d.ts.map +0 -1
- package/dist/esm/embedding/cohere.js +0 -28
- package/dist/esm/embedding/index.d.ts +0 -9
- package/dist/esm/embedding/index.d.ts.map +0 -1
- package/dist/esm/embedding/index.js +0 -4
- package/dist/esm/embedding/local.d.ts +0 -6
- package/dist/esm/embedding/local.d.ts.map +0 -1
- package/dist/esm/embedding/local.js +0 -25
- package/dist/esm/embedding/openai.d.ts +0 -9
- package/dist/esm/embedding/openai.d.ts.map +0 -1
- package/dist/esm/embedding/openai.js +0 -23
- package/dist/esm/events/console.d.ts +0 -25
- package/dist/esm/events/console.d.ts.map +0 -1
- package/dist/esm/events/console.js +0 -37
- package/dist/esm/events/webhook.d.ts +0 -30
- package/dist/esm/events/webhook.d.ts.map +0 -1
- package/dist/esm/events/webhook.js +0 -75
- package/dist/esm/memory/cloudflare/index.d.ts +0 -3
- package/dist/esm/memory/cloudflare/index.d.ts.map +0 -1
- package/dist/esm/memory/cloudflare/index.js +0 -1
- package/dist/esm/memory/cloudflare/vectorize.d.ts +0 -62
- package/dist/esm/memory/cloudflare/vectorize.d.ts.map +0 -1
- package/dist/esm/memory/cloudflare/vectorize.js +0 -51
- package/dist/esm/memory/in-memory-semantic.d.ts +0 -16
- package/dist/esm/memory/in-memory-semantic.d.ts.map +0 -1
- package/dist/esm/memory/in-memory-semantic.js +0 -53
- package/dist/esm/memory/pinecone/index.d.ts +0 -7
- package/dist/esm/memory/pinecone/index.d.ts.map +0 -1
- package/dist/esm/memory/pinecone/index.js +0 -3
- package/dist/esm/memory/pinecone/memory-adapter.d.ts +0 -62
- package/dist/esm/memory/pinecone/memory-adapter.d.ts.map +0 -1
- package/dist/esm/memory/pinecone/memory-adapter.js +0 -216
- package/dist/esm/memory/pinecone/semantic.d.ts +0 -44
- package/dist/esm/memory/pinecone/semantic.d.ts.map +0 -1
- package/dist/esm/memory/pinecone/semantic.js +0 -86
- package/dist/esm/memory/sqlite/index.d.ts +0 -3
- package/dist/esm/memory/sqlite/index.d.ts.map +0 -1
- package/dist/esm/memory/sqlite/index.js +0 -1
- package/dist/esm/memory/sqlite/memory-adapter.d.ts +0 -58
- package/dist/esm/memory/sqlite/memory-adapter.d.ts.map +0 -1
- package/dist/esm/memory/sqlite/memory-adapter.js +0 -296
- package/dist/esm/memory/sqlite/schema.d.ts +0 -4
- package/dist/esm/memory/sqlite/schema.d.ts.map +0 -1
- package/dist/esm/memory/sqlite/schema.js +0 -86
- package/dist/esm/memory/supabase/index.d.ts +0 -7
- package/dist/esm/memory/supabase/index.d.ts.map +0 -1
- package/dist/esm/memory/supabase/index.js +0 -3
- package/dist/esm/memory/supabase/memory-adapter.d.ts +0 -67
- package/dist/esm/memory/supabase/memory-adapter.d.ts.map +0 -1
- package/dist/esm/memory/supabase/memory-adapter.js +0 -331
- package/dist/esm/memory/supabase/semantic.d.ts +0 -44
- package/dist/esm/memory/supabase/semantic.d.ts.map +0 -1
- package/dist/esm/memory/supabase/semantic.js +0 -68
package/dist/cjs/persona.d.ts
CHANGED
|
@@ -1,34 +1,28 @@
|
|
|
1
|
-
import type { LLMAdapter } from './llm/adapter';
|
|
2
|
-
import type { Message } from './llm/adapter';
|
|
1
|
+
import type { LLMAdapter, Message } from './llm/adapter';
|
|
3
2
|
import { type LLMInput } from './llm/resolve';
|
|
4
|
-
import type {
|
|
3
|
+
import type { MemoryAdapter, RecallLimits } from './memory/types';
|
|
5
4
|
import type { EventAdapter } from './events/types';
|
|
6
5
|
import type { AgentResponse, AppraisalVector, InterlocutorContext, PersonaSnapshot, PersonaConfigData, PerceiveOptions } from './types';
|
|
7
6
|
/** Configuration for connecting to a standalone persona instance. */
|
|
8
7
|
export interface MolrooPersonaConfig {
|
|
9
|
-
/** Base URL of the molroo API
|
|
10
|
-
baseUrl
|
|
8
|
+
/** Base URL of the molroo API. Defaults to 'https://api.molroo.io'. */
|
|
9
|
+
baseUrl?: string;
|
|
11
10
|
/** API key for authentication. */
|
|
12
11
|
apiKey: string;
|
|
13
12
|
/** Persona instance ID. Set automatically by {@link MolrooPersona.create}. */
|
|
14
13
|
personaId?: string;
|
|
15
14
|
/**
|
|
16
|
-
* Memory
|
|
15
|
+
* Memory adapter for advanced memory features.
|
|
17
16
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* memory: new SqliteMemoryAdapter({ dbPath: './memory.db' })
|
|
21
|
-
* ```
|
|
17
|
+
* For simple use cases, manage conversation history externally using
|
|
18
|
+
* the `updatedHistory` returned from `chat()`.
|
|
22
19
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* memory: { episodes: adapter, semantic: vectorStore, embedding: embeddingProvider }
|
|
26
|
-
* ```
|
|
20
|
+
* For advanced features (semantic search, reflections, emotion-aware storage),
|
|
21
|
+
* implement MemoryAdapter and pass it here.
|
|
27
22
|
*/
|
|
28
|
-
memory?: MemoryAdapter
|
|
23
|
+
memory?: MemoryAdapter;
|
|
29
24
|
/**
|
|
30
|
-
* Recall limits when using a
|
|
31
|
-
* Ignored when memory is a MemoryConfig (use `memory.recall` instead).
|
|
25
|
+
* Recall limits when using a MemoryAdapter.
|
|
32
26
|
*/
|
|
33
27
|
recall?: RecallLimits;
|
|
34
28
|
/**
|
|
@@ -85,35 +79,19 @@ export interface PersonaChatResult {
|
|
|
85
79
|
response: AgentResponse;
|
|
86
80
|
/** Persona state at the time of interaction (if available). */
|
|
87
81
|
state?: PersonaState;
|
|
82
|
+
/** Updated conversation history including this turn. Manage externally for simple mode. */
|
|
83
|
+
updatedHistory: Message[];
|
|
88
84
|
}
|
|
89
85
|
/**
|
|
90
86
|
* SDK client for interacting with a standalone molroo persona instance.
|
|
91
87
|
*
|
|
92
|
-
* @
|
|
93
|
-
* ```typescript
|
|
94
|
-
* // Single adapter (recommended)
|
|
95
|
-
* const persona = await MolrooPersona.create(
|
|
96
|
-
* { baseUrl: 'https://api.molroo.io', apiKey: 'key', llm,
|
|
97
|
-
* memory: new SqliteMemoryAdapter({ dbPath: './memory.db' }) },
|
|
98
|
-
* { identity: { name: 'Sera' }, personality: { O: 0.8, C: 0.6, E: 0.7 } },
|
|
99
|
-
* );
|
|
100
|
-
*
|
|
101
|
-
* // Split adapters (advanced)
|
|
102
|
-
* const persona = await MolrooPersona.create(
|
|
103
|
-
* { baseUrl: 'https://api.molroo.io', apiKey: 'key', llm,
|
|
104
|
-
* memory: { episodes: episodeStore, semantic: vectorStore, embedding: embedProvider } },
|
|
105
|
-
* { identity: { name: 'Sera' }, personality: { O: 0.8, C: 0.6, E: 0.7 } },
|
|
106
|
-
* );
|
|
107
|
-
* ```
|
|
88
|
+
* @deprecated Use {@link Molroo} from './world/world' instead.
|
|
108
89
|
*/
|
|
109
90
|
export declare class MolrooPersona {
|
|
110
91
|
private client;
|
|
111
92
|
private llm;
|
|
112
93
|
private engineLlm;
|
|
113
94
|
private memoryAdapter;
|
|
114
|
-
private episodeStore;
|
|
115
|
-
private semanticStore;
|
|
116
|
-
private embeddingProvider;
|
|
117
95
|
private memoryRecallConfig;
|
|
118
96
|
private events;
|
|
119
97
|
private _personaId;
|
|
@@ -121,232 +99,123 @@ export declare class MolrooPersona {
|
|
|
121
99
|
llm?: LLMAdapter;
|
|
122
100
|
engineLlm?: LLMAdapter;
|
|
123
101
|
});
|
|
124
|
-
/** Unique identifier for this persona instance. */
|
|
125
102
|
get id(): string;
|
|
126
|
-
/** Unique identifier for this persona instance (alias for {@link id}). */
|
|
127
103
|
get personaId(): string;
|
|
128
104
|
/**
|
|
129
|
-
* Create a new persona
|
|
105
|
+
* Create a new persona from a natural language description.
|
|
106
|
+
* Uses LLM to generate HEXACO personality configuration.
|
|
130
107
|
*
|
|
131
|
-
* @
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* const sera = await MolrooPersona.create(
|
|
111
|
+
* { apiKey: 'mk_...', llm: openaiAdapter },
|
|
112
|
+
* 'A kind and curious barista who remembers customer names'
|
|
113
|
+
* );
|
|
114
|
+
* ```
|
|
138
115
|
*/
|
|
139
116
|
static create(config: {
|
|
140
|
-
baseUrl
|
|
117
|
+
baseUrl?: string;
|
|
141
118
|
apiKey: string;
|
|
142
|
-
llm
|
|
119
|
+
llm: LLMInput;
|
|
143
120
|
engineLlm?: LLMInput;
|
|
144
|
-
memory?: MemoryAdapter
|
|
121
|
+
memory?: MemoryAdapter;
|
|
145
122
|
recall?: RecallLimits;
|
|
146
123
|
events?: EventAdapter;
|
|
147
|
-
},
|
|
124
|
+
}, description: string): Promise<MolrooPersona>;
|
|
148
125
|
/**
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
* Combines {@link generatePersona} + {@link MolrooPersona.create} in one step.
|
|
152
|
-
*
|
|
153
|
-
* @param config - API connection config and optional LLM adapter.
|
|
154
|
-
* @param description - Natural-language description of the persona to generate.
|
|
155
|
-
* @returns A connected MolrooPersona instance with a generated config.
|
|
126
|
+
* Create a new persona with explicit configuration.
|
|
156
127
|
*
|
|
157
128
|
* @example
|
|
158
129
|
* ```typescript
|
|
159
|
-
* const sera = await MolrooPersona.
|
|
160
|
-
* {
|
|
161
|
-
* '
|
|
130
|
+
* const sera = await MolrooPersona.create(
|
|
131
|
+
* { apiKey: 'mk_...' },
|
|
132
|
+
* { identity: { name: 'Sera' }, personality: { O: 0.8, C: 0.6, E: 0.7, A: 0.5, N: 0.3, H: 0.6 } }
|
|
162
133
|
* );
|
|
163
134
|
* ```
|
|
164
135
|
*/
|
|
136
|
+
static create(config: {
|
|
137
|
+
baseUrl?: string;
|
|
138
|
+
apiKey: string;
|
|
139
|
+
llm?: LLMInput;
|
|
140
|
+
engineLlm?: LLMInput;
|
|
141
|
+
memory?: MemoryAdapter;
|
|
142
|
+
recall?: RecallLimits;
|
|
143
|
+
events?: EventAdapter;
|
|
144
|
+
}, personaConfig: PersonaConfigData): Promise<MolrooPersona>;
|
|
145
|
+
/**
|
|
146
|
+
* Internal implementation for creating persona with resolved config.
|
|
147
|
+
* @internal
|
|
148
|
+
*/
|
|
149
|
+
private static createWithConfig;
|
|
150
|
+
/**
|
|
151
|
+
* Generate a persona from description and create it.
|
|
152
|
+
* @deprecated Use `create(config, description)` instead.
|
|
153
|
+
*/
|
|
165
154
|
static generate(config: {
|
|
166
|
-
baseUrl
|
|
155
|
+
baseUrl?: string;
|
|
167
156
|
apiKey: string;
|
|
168
157
|
llm: LLMInput;
|
|
169
158
|
engineLlm?: LLMInput;
|
|
170
|
-
memory?: MemoryAdapter
|
|
159
|
+
memory?: MemoryAdapter;
|
|
171
160
|
recall?: RecallLimits;
|
|
172
161
|
events?: EventAdapter;
|
|
173
162
|
}, description: string): Promise<MolrooPersona>;
|
|
174
|
-
/**
|
|
175
|
-
* Connect to an existing persona by ID.
|
|
176
|
-
*
|
|
177
|
-
* Verifies the persona exists and fetches its configuration.
|
|
178
|
-
*
|
|
179
|
-
* @param config - API connection config and optional LLM adapter.
|
|
180
|
-
* Accepts a full {@link LLMAdapter} or a shorthand config object:
|
|
181
|
-
* ```typescript
|
|
182
|
-
* llm: { provider: 'openai', apiKey: '...' }
|
|
183
|
-
* ```
|
|
184
|
-
* @param personaId - The ID of the persona to connect to.
|
|
185
|
-
* @returns A connected MolrooPersona instance.
|
|
186
|
-
*/
|
|
187
163
|
static connect(config: {
|
|
188
|
-
baseUrl
|
|
164
|
+
baseUrl?: string;
|
|
189
165
|
apiKey: string;
|
|
190
166
|
llm?: LLMInput;
|
|
191
167
|
engineLlm?: LLMInput;
|
|
192
|
-
memory?: MemoryAdapter
|
|
168
|
+
memory?: MemoryAdapter;
|
|
193
169
|
recall?: RecallLimits;
|
|
194
170
|
events?: EventAdapter;
|
|
195
171
|
}, personaId: string): Promise<MolrooPersona>;
|
|
196
|
-
/**
|
|
197
|
-
* List all personas for the authenticated tenant.
|
|
198
|
-
*
|
|
199
|
-
* @param config - API connection config (baseUrl + apiKey).
|
|
200
|
-
* @returns List of persona summaries with optional pagination cursor.
|
|
201
|
-
*/
|
|
202
172
|
static listPersonas(config: {
|
|
203
|
-
baseUrl
|
|
173
|
+
baseUrl?: string;
|
|
204
174
|
apiKey: string;
|
|
205
175
|
}): Promise<{
|
|
206
176
|
personas: PersonaSummary[];
|
|
207
177
|
nextCursor?: string;
|
|
208
178
|
}>;
|
|
209
|
-
/**
|
|
210
|
-
* Send a message to the persona and get an emotion-processed response.
|
|
211
|
-
*
|
|
212
|
-
* Internally converts the SDK-friendly options into the API wire format
|
|
213
|
-
* (`{ event: PerceiveEvent, context?: PerceiveContext }`).
|
|
214
|
-
*/
|
|
215
179
|
perceive(message: string, options?: PerceiveOptions): Promise<AgentResponse>;
|
|
216
|
-
/**
|
|
217
|
-
* Fire a non-chat event and process through the emotion engine.
|
|
218
|
-
*
|
|
219
|
-
* Unlike chat(), this does not involve LLM generation — it directly
|
|
220
|
-
* sends an event to the perceive endpoint with a required appraisal vector.
|
|
221
|
-
* The resulting episode is saved to memory and can be recalled during chat().
|
|
222
|
-
*
|
|
223
|
-
* @param type - Event type identifier (e.g. 'attack', 'gift', 'rest').
|
|
224
|
-
* @param description - Human-readable event description (used as message context).
|
|
225
|
-
* @param options - Must include `appraisal`. Optionally `from`, `stimulus`, `payload`.
|
|
226
|
-
* @returns Emotion engine response.
|
|
227
|
-
*
|
|
228
|
-
* @example
|
|
229
|
-
* ```typescript
|
|
230
|
-
* await persona.event('attack', 'goblin attacks with sword', {
|
|
231
|
-
* from: 'goblin',
|
|
232
|
-
* appraisal: {
|
|
233
|
-
* goal_relevance: 0.8,
|
|
234
|
-
* goal_congruence: -0.9,
|
|
235
|
-
* expectedness: 0.3,
|
|
236
|
-
* controllability: 0.4,
|
|
237
|
-
* agency: -0.6,
|
|
238
|
-
* norm_compatibility: -0.5,
|
|
239
|
-
* },
|
|
240
|
-
* });
|
|
241
|
-
* ```
|
|
242
|
-
*/
|
|
243
180
|
event(type: string, description: string, options: Omit<PerceiveOptions, 'type'> & {
|
|
244
181
|
appraisal: AppraisalVector;
|
|
245
182
|
}): Promise<AgentResponse>;
|
|
246
|
-
/**
|
|
247
|
-
* High-level chat: getState → LLM generate → perceive with appraisal.
|
|
248
|
-
*
|
|
249
|
-
* 1. Calls `getPromptContext()` for the server-assembled system prompt
|
|
250
|
-
* 2. Recalls episodic + semantic memories from client-side stores
|
|
251
|
-
* 3. Sends to LLM adapter for text generation + appraisal
|
|
252
|
-
* 4. Sends the appraisal to the API via `perceive()` for emotion computation
|
|
253
|
-
* 5. Runs post-chat pipeline (episode save, reflection, events)
|
|
254
|
-
*
|
|
255
|
-
* Requires {@link LLMAdapter}. Without one, use {@link perceive} directly
|
|
256
|
-
* for emotion-only interaction.
|
|
257
|
-
*/
|
|
258
183
|
chat(message: string, options?: {
|
|
259
|
-
/** Source entity — a name string or structured {@link InterlocutorContext} with description/extensions injected into the system prompt. Default: `'user'`. */
|
|
260
184
|
from?: string | InterlocutorContext;
|
|
261
185
|
history?: Message[];
|
|
262
186
|
consumerSuffix?: string;
|
|
263
|
-
/** Optional callback invoked when the LLM requests a tool call during generation. */
|
|
264
187
|
onToolCall?: (call: {
|
|
265
188
|
name: string;
|
|
266
189
|
args: Record<string, unknown>;
|
|
267
190
|
result: unknown;
|
|
268
191
|
}) => void;
|
|
269
192
|
}): Promise<PersonaChatResult>;
|
|
270
|
-
/**
|
|
271
|
-
* Advance persona time by the specified number of seconds.
|
|
272
|
-
*
|
|
273
|
-
* @param seconds - Number of seconds to advance.
|
|
274
|
-
* @returns Any pending events that were processed.
|
|
275
|
-
*/
|
|
276
193
|
tick(seconds: number): Promise<{
|
|
277
194
|
pendingEvents?: unknown[];
|
|
278
195
|
}>;
|
|
279
|
-
/**
|
|
280
|
-
* Directly set the persona's emotion state in VAD space.
|
|
281
|
-
*
|
|
282
|
-
* @param vad - Partial VAD values to set (V: -1..1, A: 0..1, D: -1..1).
|
|
283
|
-
*/
|
|
284
196
|
setEmotion(vad: Partial<{
|
|
285
197
|
V: number;
|
|
286
198
|
A: number;
|
|
287
199
|
D: number;
|
|
288
200
|
}>): Promise<void>;
|
|
289
|
-
/**
|
|
290
|
-
* Get the current emotional and psychological state of the persona.
|
|
291
|
-
*
|
|
292
|
-
* @returns Current emotion, mood, somatic, and narrative state.
|
|
293
|
-
*/
|
|
294
201
|
getState(): Promise<PersonaState>;
|
|
295
|
-
/**
|
|
296
|
-
* Get a full snapshot of the persona's internal state.
|
|
297
|
-
*
|
|
298
|
-
* @returns Complete persona snapshot for backup/restore.
|
|
299
|
-
*/
|
|
300
202
|
getSnapshot(): Promise<PersonaSnapshot>;
|
|
301
|
-
/**
|
|
302
|
-
* Restore the persona's internal state from a snapshot.
|
|
303
|
-
*
|
|
304
|
-
* @param snapshot - The snapshot to restore.
|
|
305
|
-
*/
|
|
306
203
|
putSnapshot(snapshot: PersonaSnapshot): Promise<void>;
|
|
307
|
-
/**
|
|
308
|
-
* Patch the persona's configuration (identity, personality, goals).
|
|
309
|
-
*
|
|
310
|
-
* @param updates - Configuration updates to apply.
|
|
311
|
-
*/
|
|
312
204
|
patch(updates: {
|
|
313
205
|
config?: PersonaConfigData;
|
|
314
206
|
}): Promise<void>;
|
|
315
|
-
/** Soft-delete this persona. Can be restored with {@link restore}. */
|
|
316
207
|
destroy(): Promise<void>;
|
|
317
|
-
/** Restore a previously soft-deleted persona. */
|
|
318
208
|
restore(): Promise<void>;
|
|
319
|
-
/** Whether memory is available (either single adapter or split stores). */
|
|
320
|
-
private get hasMemory();
|
|
321
|
-
/**
|
|
322
|
-
* Lightweight pipeline for perceive()-only interactions (non-chat events).
|
|
323
|
-
* Saves the episode and emits events, but skips LLM reflection.
|
|
324
|
-
*/
|
|
325
|
-
private postPerceivePipeline;
|
|
326
|
-
private postChatPipeline;
|
|
327
|
-
private handleReflection;
|
|
328
|
-
private emitResponseEvents;
|
|
329
|
-
private buildAppraisalHint;
|
|
330
|
-
private requireLLM;
|
|
331
209
|
getPromptContext(consumerSuffix?: string, sourceEntity?: string): Promise<{
|
|
332
210
|
systemPrompt: string;
|
|
333
211
|
personaPrompt: Record<string, unknown>;
|
|
334
212
|
tools?: Array<Record<string, unknown>>;
|
|
335
213
|
}>;
|
|
336
|
-
/**
|
|
337
|
-
* Search persona's episodic memory via the API.
|
|
338
|
-
* Used internally by the tool-use loop.
|
|
339
|
-
*/
|
|
340
214
|
searchMemory(query: string, options?: {
|
|
341
215
|
topK?: number;
|
|
342
216
|
minImportance?: number;
|
|
343
217
|
}): Promise<Array<Record<string, unknown>>>;
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
* Uses LLMResponseWithToolsSchema which allows the LLM to request
|
|
347
|
-
* memory searches via the search_memory field. Capped at 3 iterations.
|
|
348
|
-
*/
|
|
349
|
-
private generateWithToolLoop;
|
|
350
|
-
private buildContextBlock;
|
|
218
|
+
private get memoryPipelineDeps();
|
|
219
|
+
private requireLLM;
|
|
351
220
|
}
|
|
352
221
|
//# sourceMappingURL=persona.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/persona.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/persona.ts"],"names":[],"mappings":"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"}
|