@molroo-io/sdk 0.6.2 → 0.7.1
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 +32 -5
- 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 +17 -12
- package/dist/cjs/world/world-persona.d.ts.map +1 -1
- package/dist/cjs/world/world-persona.js +6 -18
- 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 +32 -5
- 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 +17 -12
- package/dist/esm/world/world-persona.d.ts.map +1 -1
- package/dist/esm/world/world-persona.js +6 -18
- 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/README.md
CHANGED
|
@@ -1,228 +1,134 @@
|
|
|
1
1
|
# @molroo-io/sdk
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](LICENSE)
|
|
5
|
-
[](tsconfig.json)
|
|
6
|
-
[](src/__tests__)
|
|
3
|
+
**Thin Client SDK for molroo emotion engine**
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Install
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
npm install @molroo-io/sdk
|
|
14
|
-
```
|
|
5
|
+
Simplified API client with LLM integration for the molroo emotion engine.
|
|
15
6
|
|
|
16
7
|
## Quick Start
|
|
17
8
|
|
|
18
|
-
```
|
|
19
|
-
import { Molroo
|
|
9
|
+
```typescript
|
|
10
|
+
import { Molroo } from '@molroo-io/sdk';
|
|
11
|
+
import { createOpenAI } from '@ai-sdk/openai';
|
|
20
12
|
|
|
21
13
|
const molroo = new Molroo({ apiKey: 'mk_live_...' });
|
|
22
14
|
|
|
23
|
-
const
|
|
24
|
-
provider: 'openai',
|
|
25
|
-
apiKey: process.env.OPENAI_API_KEY!,
|
|
26
|
-
});
|
|
15
|
+
const openai = createOpenAI({ apiKey: process.env.OPENAI_API_KEY! });
|
|
27
16
|
|
|
28
|
-
// Create
|
|
17
|
+
// Create persona from description
|
|
29
18
|
const sera = await molroo.createPersona(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
{ llm },
|
|
19
|
+
'A kind and curious barista named Sera who remembers customer names',
|
|
20
|
+
{ llm: openai }
|
|
33
21
|
);
|
|
34
22
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const world = await molroo.createWorld({ name: 'Cafe' });
|
|
41
|
-
await world.addPersona({ personaConfigId: sera.id, config: {...} });
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## How It Works
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
Your App SDK API (PersonaDO)
|
|
48
|
-
| | |
|
|
49
|
-
| persona.chat(msg) | |
|
|
50
|
-
|------------------------>| |
|
|
51
|
-
| | POST /personas/:id/prompt-context
|
|
52
|
-
| |------------------------------>|
|
|
53
|
-
| | { systemPrompt, tools } |
|
|
54
|
-
| |<------------------------------|
|
|
55
|
-
| | |
|
|
56
|
-
| | LLM call (your API key) |
|
|
57
|
-
| | system: systemPrompt |
|
|
58
|
-
| | -> { response, appraisal } |
|
|
59
|
-
| | |
|
|
60
|
-
| | POST /personas/:id/perceive |
|
|
61
|
-
| | { appraisal } |
|
|
62
|
-
| |------------------------------>|
|
|
63
|
-
| | { emotion, state } |
|
|
64
|
-
| |<------------------------------|
|
|
65
|
-
| | |
|
|
66
|
-
| { text, response } | |
|
|
67
|
-
|<------------------------| |
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
1. **Get prompt context** — API builds system prompt from live emotional state (identity + personality + mood + somatic + narrative + memory)
|
|
71
|
-
2. **LLM call** — SDK calls your LLM with assembled prompt. Returns response text + appraisal vector.
|
|
72
|
-
3. **Perceive** — SDK sends appraisal to API. Engine processes emotion pipeline -> new VAD state.
|
|
73
|
-
4. **Post-chat** — Episode saved, reflection triggered if needed, events emitted.
|
|
74
|
-
|
|
75
|
-
The API does all emotion computation. The SDK just connects it to your LLM.
|
|
76
|
-
|
|
77
|
-
## Molroo Client
|
|
78
|
-
|
|
79
|
-
The unified entry point. One client, one API key.
|
|
80
|
-
|
|
81
|
-
```ts
|
|
82
|
-
const molroo = new Molroo({ apiKey: 'mk_live_...' });
|
|
23
|
+
// Chat
|
|
24
|
+
let history: Message[] = [];
|
|
25
|
+
const result = await sera.chat('Hello!', { history });
|
|
26
|
+
console.log(result.text); // "Hello! Welcome to our cafe."
|
|
27
|
+
history = result.updatedHistory; // Manage externally
|
|
83
28
|
```
|
|
84
29
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
| Method | Description |
|
|
88
|
-
|--------|-------------|
|
|
89
|
-
| `createPersona(config, options?)` | Create a new persona |
|
|
90
|
-
| `connectPersona(id, options?)` | Connect to an existing persona |
|
|
91
|
-
| `generatePersona(description, options)` | Generate persona from description via LLM |
|
|
92
|
-
| `listPersonas()` | List all personas |
|
|
93
|
-
|
|
94
|
-
### World Methods
|
|
95
|
-
|
|
96
|
-
| Method | Description |
|
|
97
|
-
|--------|-------------|
|
|
98
|
-
| `createWorld(options)` | Create a new world |
|
|
99
|
-
| `getWorld(id)` | Get an existing world |
|
|
100
|
-
| `listWorlds(options?)` | List all worlds |
|
|
101
|
-
|
|
102
|
-
## Two LLM Modes
|
|
103
|
-
|
|
104
|
-
### Combined Mode (default)
|
|
105
|
-
|
|
106
|
-
Single LLM call returns both response text and appraisal in one `generateObject()` call:
|
|
107
|
-
|
|
108
|
-
```ts
|
|
109
|
-
const sera = await molroo.createPersona(personaConfig, { llm });
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Split Mode
|
|
113
|
-
|
|
114
|
-
Separate LLM for appraisal (cheap/fast model) and response (quality model). Appraisal runs first -> engine updates emotion -> response generated with updated emotional state:
|
|
30
|
+
## Installation
|
|
115
31
|
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
engineLlm: appraisalModel, // cheap model for appraisal vector
|
|
120
|
-
});
|
|
32
|
+
```bash
|
|
33
|
+
npm install @molroo-io/sdk
|
|
34
|
+
npm install ai @ai-sdk/openai # or @ai-sdk/anthropic, @ai-sdk/google-vertex
|
|
121
35
|
```
|
|
122
36
|
|
|
123
|
-
##
|
|
124
|
-
|
|
125
|
-
Returned by `molroo.createPersona()`, `molroo.connectPersona()`, or `molroo.generatePersona()`.
|
|
37
|
+
## Features
|
|
126
38
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
| `getState()` | Get current emotional state |
|
|
133
|
-
| `setEmotion(vad)` | Direct VAD override |
|
|
134
|
-
| `getPromptContext(suffix?, source?)` | Get server-assembled system prompt |
|
|
135
|
-
| `searchMemory(query, options?)` | Search episodic memory |
|
|
136
|
-
| `getSnapshot()` | Get full persona snapshot |
|
|
137
|
-
| `putSnapshot(snapshot)` | Load persona snapshot |
|
|
138
|
-
| `patch(config)` | Update persona config |
|
|
139
|
-
| `destroy()` | Soft-delete the persona |
|
|
140
|
-
| `restore()` | Restore a soft-deleted persona |
|
|
39
|
+
- **Unified API** — `Molroo` class for persona and world management
|
|
40
|
+
- **Vercel AI SDK Integration** — Use any LLM provider (OpenAI, Anthropic, Google, etc.)
|
|
41
|
+
- **External History Management** — Simple mode: manage conversation history yourself
|
|
42
|
+
- **Advanced Memory (Optional)** — Implement `MemoryAdapter` for semantic search, reflections
|
|
43
|
+
- **World Simulation** — Multi-agent environments with channels and interactions
|
|
141
44
|
|
|
142
|
-
##
|
|
45
|
+
## Usage Modes
|
|
143
46
|
|
|
144
|
-
###
|
|
47
|
+
### 1. Simple Mode (External History)
|
|
145
48
|
|
|
146
|
-
|
|
49
|
+
```typescript
|
|
50
|
+
const molroo = new Molroo({ apiKey: 'mk_...' });
|
|
51
|
+
const sera = await molroo.createPersona('...', { llm: openai });
|
|
147
52
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const llm = createVercelAIAdapter({
|
|
152
|
-
provider: 'openai', // or 'anthropic', 'google'
|
|
153
|
-
apiKey: process.env.OPENAI_API_KEY!,
|
|
154
|
-
model: 'gpt-4o-mini', // optional
|
|
155
|
-
});
|
|
53
|
+
let history = [];
|
|
54
|
+
const result = await sera.chat('Hello', { history });
|
|
55
|
+
history = result.updatedHistory;
|
|
156
56
|
```
|
|
157
57
|
|
|
158
|
-
###
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const sera = await molroo.createPersona(personaConfig, {
|
|
180
|
-
llm,
|
|
181
|
-
memory: new InMemoryEpisodeAdapter(),
|
|
58
|
+
### 2. Advanced Mode (MemoryAdapter)
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
class MyPostgresAdapter implements MemoryAdapter {
|
|
62
|
+
async saveEpisode(episode: Episode): Promise<void> {
|
|
63
|
+
// Save to PostgreSQL
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
async recall(query: RecallQuery): Promise<Episode[]> {
|
|
67
|
+
// Query by filters
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async semanticRecall(query: string): Promise<Episode[]> {
|
|
71
|
+
// Vector similarity search
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const sera = await molroo.createPersona('...', {
|
|
76
|
+
llm: openai,
|
|
77
|
+
memory: new MyPostgresAdapter()
|
|
182
78
|
});
|
|
183
79
|
```
|
|
184
80
|
|
|
185
|
-
|
|
81
|
+
## World Simulation
|
|
186
82
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
// Console logging
|
|
193
|
-
const events = new ConsoleEventAdapter();
|
|
194
|
-
|
|
195
|
-
// Webhook
|
|
196
|
-
const events = new WebhookEventAdapter({ url: 'https://...', secret: '...' });
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
## Persona Generation
|
|
200
|
-
|
|
201
|
-
Generate a persona from a description — no manual config needed:
|
|
202
|
-
|
|
203
|
-
```ts
|
|
204
|
-
const sera = await molroo.generatePersona(
|
|
205
|
-
'A cheerful companion who loves music',
|
|
206
|
-
{ llm },
|
|
207
|
-
);
|
|
208
|
-
await sera.chat('Play me something!');
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
## Build & Test
|
|
212
|
-
|
|
213
|
-
```bash
|
|
214
|
-
npm run build # tsc -> dist/cjs + dist/esm
|
|
215
|
-
npm run test # Vitest (148 tests)
|
|
216
|
-
npm run lint # ESLint
|
|
217
|
-
npm run gen:types # openapi-typescript -> src/generated/api.d.ts
|
|
218
|
-
npm run docs # TypeDoc -> SDK API reference
|
|
83
|
+
```typescript
|
|
84
|
+
const world = await molroo.createWorld({ name: 'Cafe' });
|
|
85
|
+
const sera = await molroo.createPersona('Barista Sera', { llm: openai });
|
|
86
|
+
await world.addPersona({ personaConfigId: sera.id, config: {...} });
|
|
219
87
|
```
|
|
220
88
|
|
|
221
|
-
##
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
89
|
+
## Migration from v0.5.x
|
|
90
|
+
|
|
91
|
+
### Breaking Changes
|
|
92
|
+
|
|
93
|
+
1. **Unified `create()` method**
|
|
94
|
+
```typescript
|
|
95
|
+
// Before
|
|
96
|
+
await MolrooPersona.create({...}, {personality: {...}});
|
|
97
|
+
await MolrooPersona.generate({...}, "description");
|
|
98
|
+
|
|
99
|
+
// After
|
|
100
|
+
await molroo.createPersona({personality: {...}}, {llm});
|
|
101
|
+
await molroo.createPersona("description", {llm});
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
2. **External history management**
|
|
105
|
+
```typescript
|
|
106
|
+
// Before
|
|
107
|
+
await persona.chat("Hello"); // MemoryAdapter required
|
|
108
|
+
|
|
109
|
+
// After
|
|
110
|
+
let history = [];
|
|
111
|
+
const result = await persona.chat("Hello", {history});
|
|
112
|
+
history = result.updatedHistory;
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
3. **Vercel AI SDK directly**
|
|
116
|
+
```typescript
|
|
117
|
+
// Before
|
|
118
|
+
createVercelAIAdapter({provider: 'openai', ...})
|
|
119
|
+
|
|
120
|
+
// After
|
|
121
|
+
createOpenAI({...}) // Pass directly
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
4. **Removed adapter implementations**
|
|
125
|
+
- SQLite, Supabase, Pinecone adapters removed
|
|
126
|
+
- Implement `MemoryAdapter` interface yourself
|
|
127
|
+
- Or wait for API-hosted memory (coming soon)
|
|
128
|
+
|
|
129
|
+
## API Reference
|
|
130
|
+
|
|
131
|
+
See [API documentation](https://docs.molroo.io/sdk) for full reference.
|
|
226
132
|
|
|
227
133
|
## License
|
|
228
134
|
|
package/dist/cjs/api-client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { paths } from './generated/api';
|
|
2
|
+
import { unwrap } from './shared/client-factory';
|
|
2
3
|
/**
|
|
3
4
|
* Create a typed openapi-fetch client for the molroo API.
|
|
4
5
|
*
|
|
@@ -8,16 +9,5 @@ import type { paths } from './generated/api';
|
|
|
8
9
|
*/
|
|
9
10
|
export declare function createApiClient(baseUrl: string, apiKey: string): import("openapi-fetch").Client<paths, `${string}/${string}`>;
|
|
10
11
|
export type ApiClient = ReturnType<typeof createApiClient>;
|
|
11
|
-
|
|
12
|
-
* Unwrap the `{ result: T }` envelope from API responses.
|
|
13
|
-
*
|
|
14
|
-
* Many API endpoints return `ResultWrapper` (typed as `{ result?: unknown }`)
|
|
15
|
-
* in the OpenAPI spec. This helper extracts the `result` field and casts it
|
|
16
|
-
* to the expected type.
|
|
17
|
-
*
|
|
18
|
-
* For endpoints with properly-typed response schemas, use `data.result` directly.
|
|
19
|
-
*/
|
|
20
|
-
export declare function unwrap<T>(data: {
|
|
21
|
-
result?: unknown;
|
|
22
|
-
} | undefined): T;
|
|
12
|
+
export { unwrap };
|
|
23
13
|
//# sourceMappingURL=api-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/api-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAqB,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gEAE9D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/cjs/api-client.js
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unwrap = void 0;
|
|
6
4
|
exports.createApiClient = createApiClient;
|
|
7
|
-
exports.unwrap = unwrap;
|
|
8
|
-
const openapi_fetch_1 = __importDefault(require("openapi-fetch"));
|
|
9
5
|
const errors_1 = require("./errors");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*
|
|
13
|
-
* Reads the error body `{ error: { code, message } }` and converts it
|
|
14
|
-
* into a typed MolrooApiError before openapi-fetch processes the response.
|
|
15
|
-
*/
|
|
16
|
-
const errorMiddleware = {
|
|
17
|
-
async onResponse({ response }) {
|
|
18
|
-
if (!response.ok) {
|
|
19
|
-
const body = await response.clone().json().catch(() => ({}));
|
|
20
|
-
const err = body;
|
|
21
|
-
throw new errors_1.MolrooApiError(err.error?.message ?? `API error ${response.status}`, err.error?.code ?? 'UNKNOWN', response.status);
|
|
22
|
-
}
|
|
23
|
-
// Return undefined to let openapi-fetch handle the response unchanged
|
|
24
|
-
},
|
|
25
|
-
};
|
|
6
|
+
const client_factory_1 = require("./shared/client-factory");
|
|
7
|
+
Object.defineProperty(exports, "unwrap", { enumerable: true, get: function () { return client_factory_1.unwrap; } });
|
|
26
8
|
/**
|
|
27
9
|
* Create a typed openapi-fetch client for the molroo API.
|
|
28
10
|
*
|
|
@@ -31,25 +13,5 @@ const errorMiddleware = {
|
|
|
31
13
|
* @returns A fully-typed openapi-fetch client instance.
|
|
32
14
|
*/
|
|
33
15
|
function createApiClient(baseUrl, apiKey) {
|
|
34
|
-
|
|
35
|
-
baseUrl: baseUrl.replace(/\/$/, ''),
|
|
36
|
-
headers: {
|
|
37
|
-
'Content-Type': 'application/json',
|
|
38
|
-
'X-API-Key': apiKey,
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
client.use(errorMiddleware);
|
|
42
|
-
return client;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Unwrap the `{ result: T }` envelope from API responses.
|
|
46
|
-
*
|
|
47
|
-
* Many API endpoints return `ResultWrapper` (typed as `{ result?: unknown }`)
|
|
48
|
-
* in the OpenAPI spec. This helper extracts the `result` field and casts it
|
|
49
|
-
* to the expected type.
|
|
50
|
-
*
|
|
51
|
-
* For endpoints with properly-typed response schemas, use `data.result` directly.
|
|
52
|
-
*/
|
|
53
|
-
function unwrap(data) {
|
|
54
|
-
return (data?.result ?? {});
|
|
16
|
+
return (0, client_factory_1.createTypedClient)({ baseUrl, apiKey, ErrorClass: errors_1.MolrooApiError });
|
|
55
17
|
}
|
package/dist/cjs/errors.d.ts
CHANGED
|
@@ -1,17 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Error thrown when the molroo API returns a non-OK response.
|
|
3
|
-
*
|
|
4
|
-
* Contains the API error code and HTTP status for programmatic handling.
|
|
5
|
-
*/
|
|
6
|
-
export declare class MolrooApiError extends Error {
|
|
7
|
-
/** Machine-readable error code (e.g., 'ENTITY_NOT_FOUND', 'UNAUTHORIZED'). */
|
|
8
|
-
code: string;
|
|
9
|
-
/** HTTP status code. */
|
|
10
|
-
status: number;
|
|
11
|
-
constructor(message: string,
|
|
12
|
-
/** Machine-readable error code (e.g., 'ENTITY_NOT_FOUND', 'UNAUTHORIZED'). */
|
|
13
|
-
code: string,
|
|
14
|
-
/** HTTP status code. */
|
|
15
|
-
status: number);
|
|
16
|
-
}
|
|
1
|
+
export { MolrooApiError } from './shared/errors';
|
|
17
2
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/cjs/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/cjs/errors.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MolrooApiError = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
* Contains the API error code and HTTP status for programmatic handling.
|
|
8
|
-
*/
|
|
9
|
-
class MolrooApiError extends Error {
|
|
10
|
-
constructor(message,
|
|
11
|
-
/** Machine-readable error code (e.g., 'ENTITY_NOT_FOUND', 'UNAUTHORIZED'). */
|
|
12
|
-
code,
|
|
13
|
-
/** HTTP status code. */
|
|
14
|
-
status) {
|
|
15
|
-
super(message);
|
|
16
|
-
this.code = code;
|
|
17
|
-
this.status = status;
|
|
18
|
-
this.name = 'MolrooApiError';
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.MolrooApiError = MolrooApiError;
|
|
4
|
+
var errors_1 = require("./shared/errors");
|
|
5
|
+
Object.defineProperty(exports, "MolrooApiError", { enumerable: true, get: function () { return errors_1.MolrooApiError; } });
|
|
@@ -1,28 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Event
|
|
3
|
-
*
|
|
4
|
-
* Abstracts event emission so consumers can:
|
|
5
|
-
* - Log emotion changes, relationship updates, stage transitions
|
|
6
|
-
* - Send webhooks, push notifications, analytics events
|
|
7
|
-
* - Build reactive UIs that respond to persona state changes
|
|
8
|
-
*
|
|
9
|
-
* Events are derived from API response data (AgentResponse fields).
|
|
10
|
-
* Implementations are provided by the consumer — SDK only defines the interface.
|
|
2
|
+
* Event adapter interface for emitting persona-scoped events.
|
|
3
|
+
* Consumers can implement this to react to emotion changes, memory events, etc.
|
|
11
4
|
*/
|
|
12
|
-
/** Persona-scoped event types — emitted from persona state changes. */
|
|
13
|
-
export type PersonaEventType = 'emotion_changed' | 'relationship_changed' | 'memory_consolidated' | 'reflection_generated' | 'stage_transition' | 'mask_exposure' | 'goal_changed';
|
|
14
|
-
export type SDKEventType = PersonaEventType;
|
|
15
|
-
export interface SDKEvent {
|
|
16
|
-
type: SDKEventType;
|
|
17
|
-
/** Present for persona-scoped events. Absent for world-scoped events. */
|
|
18
|
-
personaId?: string;
|
|
19
|
-
timestamp: number;
|
|
20
|
-
payload: Record<string, unknown>;
|
|
21
|
-
}
|
|
22
5
|
export interface EventAdapter {
|
|
23
|
-
/** Emit a single event. */
|
|
24
6
|
emit(event: SDKEvent): Promise<void>;
|
|
25
|
-
/**
|
|
7
|
+
/** Optional batch emit for efficiency. Falls back to individual emit() if not provided. */
|
|
26
8
|
emitBatch?(events: SDKEvent[]): Promise<void>;
|
|
27
9
|
}
|
|
10
|
+
/** Base event shape. */
|
|
11
|
+
export interface SDKEvent {
|
|
12
|
+
type: string;
|
|
13
|
+
personaId?: string;
|
|
14
|
+
timestamp: number;
|
|
15
|
+
payload?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
/** Event type categories. */
|
|
18
|
+
export type SDKEventType = 'emotion_changed' | 'memory_consolidated' | 'reflection_generated' | PersonaEventType;
|
|
19
|
+
/** Persona-specific event types. */
|
|
20
|
+
export type PersonaEventType = 'chat' | 'perceive' | 'emotion_update' | 'state_change' | 'memory_created' | 'reflection_created';
|
|
28
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/events/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,2FAA2F;IAC3F,SAAS,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,wBAAwB;AACxB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC;AAEjH,oCAAoC;AACpC,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,CAAC"}
|
package/dist/cjs/events/types.js
CHANGED
|
@@ -1,13 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Event Adapter interface for molroo SDK.
|
|
4
|
-
*
|
|
5
|
-
* Abstracts event emission so consumers can:
|
|
6
|
-
* - Log emotion changes, relationship updates, stage transitions
|
|
7
|
-
* - Send webhooks, push notifications, analytics events
|
|
8
|
-
* - Build reactive UIs that respond to persona state changes
|
|
9
|
-
*
|
|
10
|
-
* Events are derived from API response data (AgentResponse fields).
|
|
11
|
-
* Implementations are provided by the consumer — SDK only defines the interface.
|
|
12
|
-
*/
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,68 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @molroo-io/sdk - Thin Client SDK for molroo emotion engine
|
|
3
3
|
*
|
|
4
|
-
* ##
|
|
5
|
-
* - **LLM calls happen HERE** — consumer's API key, consumer's model.
|
|
6
|
-
* - **Appraisal generation happens HERE** — LLM produces appraisal, SDK sends to API.
|
|
7
|
-
* - **Memory recall happens HERE** — episodic/semantic/reflections from client stores.
|
|
8
|
-
* - **Prompt composition**: API returns persona fragment → SDK adds memory context.
|
|
4
|
+
* ## Quick Start
|
|
9
5
|
*
|
|
10
|
-
* The API/engine never call LLM. This SDK is the bridge.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
6
|
* ```typescript
|
|
14
|
-
* import {
|
|
15
|
-
* import {
|
|
7
|
+
* import { Molroo } from '@molroo-io/sdk';
|
|
8
|
+
* import { createOpenAI } from '@ai-sdk/openai';
|
|
9
|
+
*
|
|
10
|
+
* const molroo = new Molroo({ apiKey: 'mk_live_...' });
|
|
11
|
+
*
|
|
12
|
+
* const openai = createOpenAI({ apiKey: process.env.OPENAI_API_KEY! });
|
|
16
13
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* }
|
|
14
|
+
* // Create persona from description
|
|
15
|
+
* const sera = await molroo.createPersona(
|
|
16
|
+
* 'A kind and curious barista named Sera',
|
|
17
|
+
* { llm: openai }
|
|
18
|
+
* );
|
|
21
19
|
*
|
|
22
|
-
* const
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* }, {
|
|
27
|
-
* config: { identity: { name: 'Sera' }, personality: { O: 0.7, C: 0.6, E: 0.8, A: 0.5, N: 0.3, H: 0.6 } },
|
|
28
|
-
* });
|
|
20
|
+
* const result = await sera.chat('Hello!');
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* ## Advanced: World Simulation
|
|
29
24
|
*
|
|
30
|
-
*
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const world = await molroo.createWorld({ name: 'Cafe' });
|
|
27
|
+
* const sera = await molroo.createPersona('Barista Sera', { llm: openai });
|
|
28
|
+
* await world.addPersona({ personaConfigId: sera.id, config: {...} });
|
|
31
29
|
* ```
|
|
32
30
|
*/
|
|
33
31
|
export { Molroo } from './world/world';
|
|
34
32
|
export type { MolrooOptions, PersonaOptions } from './world/world';
|
|
35
|
-
export {
|
|
36
|
-
export {
|
|
33
|
+
export { MolrooApiError, WorldApiError } from './shared/errors';
|
|
34
|
+
export { NEUTRAL_APPRAISAL, toWireAppraisal, fromWireAppraisal } from './shared/appraisal';
|
|
35
|
+
export type { Appraisal } from './shared/appraisal';
|
|
37
36
|
export type { LLMAdapter, Message, GenerateTextOptions, GenerateObjectOptions, } from './llm/adapter';
|
|
38
|
-
export type {
|
|
39
|
-
export {
|
|
40
|
-
export type {
|
|
41
|
-
export type { MemoryAdapter, RecallQuery, SemanticRecallOptions, RecallLimits, } from './memory/types';
|
|
42
|
-
export { isMemoryConfig } from './memory/types';
|
|
43
|
-
export type { EpisodeAdapter, EpisodeQuery, SemanticAdapter, SemanticEntry, SemanticQuery, SemanticResult, EmbeddingAdapter, MemoryConfig, Reflection, } from './memory/types';
|
|
44
|
-
export { InMemoryEpisodeAdapter } from './memory/in-memory';
|
|
45
|
-
export type { RecallConfig } from './memory/recall';
|
|
46
|
-
export type { SemanticMemory, SearchOptions, SearchResult } from './memory/semantic';
|
|
47
|
-
export { InMemorySemanticMemory } from './memory/in-memory-semantic';
|
|
48
|
-
export type { EpisodeStore, SemanticStore, EmbeddingProvider } from './memory/types';
|
|
49
|
-
export { InMemoryEpisodeStore } from './memory/in-memory';
|
|
50
|
-
export type { EventAdapter, SDKEvent, SDKEventType, PersonaEventType } from './events/types';
|
|
51
|
-
export { ConsoleEventAdapter } from './events/console';
|
|
52
|
-
export type { ConsoleEventAdapterOptions } from './events/console';
|
|
53
|
-
export { WebhookEventAdapter } from './events/webhook';
|
|
54
|
-
export type { WebhookEventAdapterOptions } from './events/webhook';
|
|
55
|
-
export { generatePersona } from './generate/persona';
|
|
56
|
-
export { GeneratePersonaSchema } from './generate/schema';
|
|
57
|
-
export type { GeneratePersonaSchemaOutput } from './generate/schema';
|
|
58
|
-
export type { MolrooPersonaConfig, PersonaSummary, PersonaState, PersonaChatResult, } from './persona';
|
|
37
|
+
export type { LLMInput } from './llm/resolve';
|
|
38
|
+
export type { MemoryAdapter, RecallQuery, SemanticRecallOptions, RecallLimits, Reflection, } from './memory/types';
|
|
39
|
+
export type { PersonaSummary, PersonaState, PersonaChatResult, } from './persona';
|
|
59
40
|
export type { InterlocutorContext, PerceiveOptions, PerceiveEvent, PerceiveContext, } from './types';
|
|
60
41
|
export type { AgentResponse, VAD, Velocity, AppraisalVector, State, SoulStage, CatastropheState, MetacogState, AffectDynamicsState, InterpersonalState, RegulationState, RegulationStrategy, RegulationPhase, ActiveRegulation, RegulationRecord, EffectivenessRecord, NeedState, Episode, SocialUpdate, ReflectionPrompt, } from './types';
|
|
61
42
|
export type { PersonaSnapshot, PersonaConfigData, PersonalityTraits, Identity, Goal, MotivationContext, } from './types';
|
|
62
43
|
export type { ApiResponse, ApiErrorResponse, PersonaDynamicState, } from './types';
|
|
63
|
-
export { AppraisalVectorSchema, LLMResponseSchema, LLMResponseWithToolsSchema, } from './llm/schema';
|
|
64
|
-
export type { LLMResponseOutput, LLMResponseWithToolsOutput } from './llm/schema';
|
|
65
44
|
export type { LLMPrompt, LLMResponse, } from './llm/types';
|
|
66
|
-
export type { ChatMessage } from './llm/types';
|
|
67
45
|
export { DEFAULT_PERSONA, withDefaults } from './defaults';
|
|
68
46
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,YAAY,EACV,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,YAAY,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,aAAa,EACb,GAAG,EACH,QAAQ,EACR,eAAe,EACf,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,YAAY,EACZ,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|