@molroo-io/sdk 0.5.2 → 0.6.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/README.md +59 -81
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/persona.d.ts +26 -0
- package/dist/cjs/persona.d.ts.map +1 -1
- package/dist/cjs/persona.js +23 -0
- package/dist/cjs/world/client.d.ts +3 -3
- package/dist/cjs/world/client.js +3 -3
- package/dist/cjs/world/index.d.ts +4 -4
- package/dist/cjs/world/index.d.ts.map +1 -1
- package/dist/cjs/world/index.js +4 -4
- package/dist/cjs/world/types.d.ts +4 -4
- package/dist/cjs/world/types.d.ts.map +1 -1
- package/dist/cjs/world/{village.d.ts → world-domain.d.ts} +25 -25
- package/dist/cjs/world/world-domain.d.ts.map +1 -0
- package/dist/cjs/world/{village.js → world-domain.js} +36 -36
- package/dist/cjs/world/world-persona.d.ts +5 -5
- package/dist/cjs/world/world-persona.d.ts.map +1 -1
- package/dist/cjs/world/world-persona.js +14 -14
- package/dist/cjs/world/world.d.ts +61 -17
- package/dist/cjs/world/world.d.ts.map +1 -1
- package/dist/cjs/world/world.js +70 -27
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/persona.d.ts +26 -0
- package/dist/esm/persona.d.ts.map +1 -1
- package/dist/esm/persona.js +23 -0
- package/dist/esm/world/client.d.ts +3 -3
- package/dist/esm/world/client.js +3 -3
- package/dist/esm/world/index.d.ts +4 -4
- package/dist/esm/world/index.d.ts.map +1 -1
- package/dist/esm/world/index.js +2 -2
- package/dist/esm/world/types.d.ts +4 -4
- package/dist/esm/world/types.d.ts.map +1 -1
- package/dist/esm/world/{village.d.ts → world-domain.d.ts} +25 -25
- package/dist/esm/world/world-domain.d.ts.map +1 -0
- package/dist/esm/world/{village.js → world-domain.js} +34 -34
- package/dist/esm/world/world-persona.d.ts +5 -5
- package/dist/esm/world/world-persona.d.ts.map +1 -1
- package/dist/esm/world/world-persona.js +14 -14
- package/dist/esm/world/world.d.ts +61 -17
- package/dist/esm/world/world.d.ts.map +1 -1
- package/dist/esm/world/world.js +68 -25
- package/package.json +1 -1
- package/dist/cjs/world/village.d.ts.map +0 -1
- package/dist/esm/world/village.d.ts.map +0 -1
package/dist/esm/persona.d.ts
CHANGED
|
@@ -145,6 +145,32 @@ export declare class MolrooPersona {
|
|
|
145
145
|
recall?: RecallLimits;
|
|
146
146
|
events?: EventAdapter;
|
|
147
147
|
}, personaConfig: PersonaConfigData): Promise<MolrooPersona>;
|
|
148
|
+
/**
|
|
149
|
+
* Generate a persona from a natural-language description, then create it on the API.
|
|
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.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* const sera = await MolrooPersona.generate(
|
|
160
|
+
* { baseUrl: 'https://api.molroo.io', apiKey: 'mk_live_...', llm: { provider: 'openai', apiKey: '...' } },
|
|
161
|
+
* 'A warm and friendly barista named Sera who loves coffee and people.',
|
|
162
|
+
* );
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
static generate(config: {
|
|
166
|
+
baseUrl: string;
|
|
167
|
+
apiKey: string;
|
|
168
|
+
llm: LLMInput;
|
|
169
|
+
engineLlm?: LLMInput;
|
|
170
|
+
memory?: MemoryAdapter | MemoryConfig;
|
|
171
|
+
recall?: RecallLimits;
|
|
172
|
+
events?: EventAdapter;
|
|
173
|
+
}, description: string): Promise<MolrooPersona>;
|
|
148
174
|
/**
|
|
149
175
|
* Connect to an existing persona by ID.
|
|
150
176
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/persona.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/persona.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/persona.js
CHANGED
|
@@ -121,6 +121,29 @@ export class MolrooPersona {
|
|
|
121
121
|
const persona = new MolrooPersona({ ...config, llm, engineLlm, personaId: result.personaId });
|
|
122
122
|
return persona;
|
|
123
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Generate a persona from a natural-language description, then create it on the API.
|
|
126
|
+
*
|
|
127
|
+
* Combines {@link generatePersona} + {@link MolrooPersona.create} in one step.
|
|
128
|
+
*
|
|
129
|
+
* @param config - API connection config and optional LLM adapter.
|
|
130
|
+
* @param description - Natural-language description of the persona to generate.
|
|
131
|
+
* @returns A connected MolrooPersona instance with a generated config.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const sera = await MolrooPersona.generate(
|
|
136
|
+
* { baseUrl: 'https://api.molroo.io', apiKey: 'mk_live_...', llm: { provider: 'openai', apiKey: '...' } },
|
|
137
|
+
* 'A warm and friendly barista named Sera who loves coffee and people.',
|
|
138
|
+
* );
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
static async generate(config, description) {
|
|
142
|
+
const { generatePersona } = await import('./generate/persona');
|
|
143
|
+
const llm = await resolveLLM(config.llm);
|
|
144
|
+
const personaConfig = await generatePersona(llm, description);
|
|
145
|
+
return MolrooPersona.create(config, personaConfig);
|
|
146
|
+
}
|
|
124
147
|
/**
|
|
125
148
|
* Connect to an existing persona by ID.
|
|
126
149
|
*
|
|
@@ -15,9 +15,9 @@ export interface WorldClientOptions {
|
|
|
15
15
|
* apiKey: 'mk_live_...',
|
|
16
16
|
* });
|
|
17
17
|
*
|
|
18
|
-
* // Create a
|
|
19
|
-
* const { data } = await client.POST('/
|
|
20
|
-
* body: { name: 'My
|
|
18
|
+
* // Create a world
|
|
19
|
+
* const { data } = await client.POST('/worlds', {
|
|
20
|
+
* body: { name: 'My World' },
|
|
21
21
|
* });
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
package/dist/esm/world/client.js
CHANGED
|
@@ -24,9 +24,9 @@ const errorMiddleware = {
|
|
|
24
24
|
* apiKey: 'mk_live_...',
|
|
25
25
|
* });
|
|
26
26
|
*
|
|
27
|
-
* // Create a
|
|
28
|
-
* const { data } = await client.POST('/
|
|
29
|
-
* body: { name: 'My
|
|
27
|
+
* // Create a world
|
|
28
|
+
* const { data } = await client.POST('/worlds', {
|
|
29
|
+
* body: { name: 'My World' },
|
|
30
30
|
* });
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type {
|
|
3
|
-
export {
|
|
1
|
+
export { Molroo } from './world';
|
|
2
|
+
export type { MolrooOptions, PersonaOptions } from './world';
|
|
3
|
+
export { World } from './world-domain';
|
|
4
4
|
export { WorldPersona } from './world-persona';
|
|
5
5
|
export type { WorldPersonaOptions, WorldLLM, LLMMessage, ReactOptions, ReactResult, PersonaState, PersonaEmotion, PromptContext, PersonaDetail, } from './world-persona';
|
|
6
|
-
export type {
|
|
6
|
+
export type { WorldData, CreateWorldOptions, UpdateWorldOptions, PaginationOptions, AddPersonaOptions, WorldPersonaRef, AppraisalVector, CreateActionOptions, ActionData, ActionRef, EntityType, RelationshipEndpoint, SetRelationshipOptions, InteractOptions, InteractResult, EventEntry, } from './types';
|
|
7
7
|
export { WorldApiError } from './errors';
|
|
8
8
|
export { createWorldClient } from './client';
|
|
9
9
|
export type { WorldClientOptions } from './client';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/world/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/world/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EACV,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/esm/world/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Primary
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
2
|
+
export { Molroo } from './world';
|
|
3
|
+
export { World } from './world-domain';
|
|
4
4
|
export { WorldPersona } from './world-persona';
|
|
5
5
|
// Error
|
|
6
6
|
export { WorldApiError } from './errors';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module types
|
|
6
6
|
*/
|
|
7
|
-
export interface
|
|
7
|
+
export interface WorldData {
|
|
8
8
|
id: string;
|
|
9
9
|
tenantId: string;
|
|
10
10
|
name: string;
|
|
@@ -14,13 +14,13 @@ export interface VillageData {
|
|
|
14
14
|
createdAt: number;
|
|
15
15
|
updatedAt: number;
|
|
16
16
|
}
|
|
17
|
-
export interface
|
|
17
|
+
export interface CreateWorldOptions {
|
|
18
18
|
name: string;
|
|
19
19
|
description?: string;
|
|
20
20
|
accessPolicy?: 'closed' | 'open';
|
|
21
21
|
responseRule?: 'target' | 'all' | 'ai';
|
|
22
22
|
}
|
|
23
|
-
export interface
|
|
23
|
+
export interface UpdateWorldOptions {
|
|
24
24
|
name?: string;
|
|
25
25
|
description?: string;
|
|
26
26
|
accessPolicy?: 'closed' | 'open';
|
|
@@ -39,7 +39,7 @@ export type AddPersonaOptions = {
|
|
|
39
39
|
displayName?: string;
|
|
40
40
|
config: Record<string, unknown>;
|
|
41
41
|
};
|
|
42
|
-
export interface
|
|
42
|
+
export interface WorldPersonaRef {
|
|
43
43
|
id: string;
|
|
44
44
|
personaConfigId: string;
|
|
45
45
|
createdAt: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/world/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/world/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,MAAM,iBAAiB,GACzB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { type ApiClient } from './client';
|
|
2
2
|
import { WorldPersona, type WorldPersonaOptions } from './world-persona';
|
|
3
3
|
import type { MolrooPersona } from '../persona';
|
|
4
|
-
import type {
|
|
4
|
+
import type { WorldData, UpdateWorldOptions, AddPersonaOptions, WorldPersonaRef, CreateActionOptions, ActionData, ActionRef, SetRelationshipOptions, InteractOptions, InteractResult, EventEntry, PaginationOptions } from './types';
|
|
5
5
|
/**
|
|
6
|
-
* Represents a
|
|
6
|
+
* Represents a world and exposes domain methods for personas, actions,
|
|
7
7
|
* relationships, interactions, and events.
|
|
8
8
|
*
|
|
9
|
-
* Instances are obtained via {@link
|
|
9
|
+
* Instances are obtained via {@link Molroo.createWorld} or {@link Molroo.getWorld}.
|
|
10
10
|
*/
|
|
11
|
-
export declare class
|
|
11
|
+
export declare class World {
|
|
12
12
|
/** @internal */
|
|
13
13
|
private readonly _client;
|
|
14
14
|
private _data;
|
|
15
|
-
/** @internal — use
|
|
16
|
-
constructor(client: ApiClient, data:
|
|
15
|
+
/** @internal — use Molroo.createWorld / Molroo.getWorld instead. */
|
|
16
|
+
constructor(client: ApiClient, data: WorldData);
|
|
17
17
|
get id(): string;
|
|
18
18
|
get name(): string;
|
|
19
19
|
get description(): string | null;
|
|
20
20
|
get accessPolicy(): string;
|
|
21
21
|
get responseRule(): string;
|
|
22
|
-
/** Returns a readonly snapshot of the
|
|
23
|
-
get data(): Readonly<
|
|
22
|
+
/** Returns a readonly snapshot of the world data. */
|
|
23
|
+
get data(): Readonly<WorldData>;
|
|
24
24
|
/**
|
|
25
|
-
* Update
|
|
25
|
+
* Update world properties. Applies an optimistic local update on success.
|
|
26
26
|
*/
|
|
27
|
-
update(options:
|
|
28
|
-
/** Soft-delete this
|
|
27
|
+
update(options: UpdateWorldOptions): Promise<void>;
|
|
28
|
+
/** Soft-delete this world. */
|
|
29
29
|
delete(): Promise<void>;
|
|
30
|
-
/** Add a persona to this
|
|
31
|
-
addPersona(persona: MolrooPersona): Promise<
|
|
32
|
-
addPersona(options: AddPersonaOptions): Promise<
|
|
33
|
-
/** List all personas in this
|
|
30
|
+
/** Add a persona to this world (inline config or reference to existing persona). */
|
|
31
|
+
addPersona(persona: MolrooPersona): Promise<WorldPersonaRef>;
|
|
32
|
+
addPersona(options: AddPersonaOptions): Promise<WorldPersonaRef>;
|
|
33
|
+
/** List all personas in this world. */
|
|
34
34
|
listPersonas(): Promise<unknown[]>;
|
|
35
35
|
/** Get a single persona by ID. */
|
|
36
36
|
getPersona(personaId: string): Promise<unknown>;
|
|
37
|
-
/** Remove a persona from this
|
|
37
|
+
/** Remove a persona from this world. */
|
|
38
38
|
removePersona(personaId: string): Promise<void>;
|
|
39
39
|
/**
|
|
40
40
|
* Get a persona handle for LLM-powered interactions.
|
|
@@ -44,7 +44,7 @@ export declare class Village {
|
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* ```typescript
|
|
47
|
-
* const mina =
|
|
47
|
+
* const mina = world.persona('mina', { llm: adapter });
|
|
48
48
|
* const r = await mina.react('flirt', {
|
|
49
49
|
* actor: 'yongjun',
|
|
50
50
|
* prompt: '거실에서 용준이 민아에게 윙크했다.',
|
|
@@ -52,24 +52,24 @@ export declare class Village {
|
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
54
|
persona(personaId: string, options?: WorldPersonaOptions): WorldPersona;
|
|
55
|
-
/** Create a custom action in this
|
|
55
|
+
/** Create a custom action in this world. */
|
|
56
56
|
createAction(options: CreateActionOptions): Promise<ActionRef>;
|
|
57
|
-
/** List all actions (defaults + custom) in this
|
|
57
|
+
/** List all actions (defaults + custom) in this world. */
|
|
58
58
|
listActions(): Promise<ActionData[]>;
|
|
59
|
-
/** Delete a custom action from this
|
|
59
|
+
/** Delete a custom action from this world. */
|
|
60
60
|
deleteAction(actionId: string): Promise<void>;
|
|
61
|
-
/** Set (upsert) a relationship in this
|
|
61
|
+
/** Set (upsert) a relationship in this world. */
|
|
62
62
|
setRelationship(options: SetRelationshipOptions): Promise<void>;
|
|
63
|
-
/** List all relationships in this
|
|
63
|
+
/** List all relationships in this world. */
|
|
64
64
|
listRelationships(): Promise<unknown[]>;
|
|
65
65
|
/** Delete a relationship by ID. */
|
|
66
66
|
deleteRelationship(relationshipId: string): Promise<void>;
|
|
67
|
-
/** Execute an interaction in this
|
|
67
|
+
/** Execute an interaction in this world. */
|
|
68
68
|
interact(options: InteractOptions): Promise<InteractResult>;
|
|
69
|
-
/** Retrieve the event log for this
|
|
69
|
+
/** Retrieve the event log for this world. */
|
|
70
70
|
getEvents(options?: PaginationOptions): Promise<{
|
|
71
71
|
events: EventEntry[];
|
|
72
72
|
nextCursor: string | null;
|
|
73
73
|
}>;
|
|
74
74
|
}
|
|
75
|
-
//# sourceMappingURL=
|
|
75
|
+
//# sourceMappingURL=world-domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"world-domain.d.ts","sourceRoot":"","sources":["../../../src/world/world-domain.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAEf,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,cAAc,EACd,UAAU,EACV,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsCjB;;;;;GAKG;AACH,qBAAa,KAAK;IAChB,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,KAAK,CAAY;IAEzB,oEAAoE;gBACxD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS;IAO9C,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,qDAAqD;IACrD,IAAI,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,CAE9B;IAID;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD,8BAA8B;IACxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B,oFAAoF;IAC9E,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAC5D,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAwCtE,uCAAuC;IACjC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IASxC,kCAAkC;IAC5B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrD,wCAAwC;IAClC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY;IAMvE,4CAA4C;IACtC,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC;IAcpE,0DAA0D;IACpD,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAsB1C,8CAA8C;IACxC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,iDAAiD;IAC3C,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrE,4CAA4C;IACtC,iBAAiB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS7C,mCAAmC;IAC7B,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,4CAA4C;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAmBjE,6CAA6C;IACvC,SAAS,CACb,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAiBhE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// INFO: @F001 Domain class wrapping
|
|
1
|
+
// INFO: @F001 Domain class wrapping World API — see plan step 3
|
|
2
2
|
import { unwrap } from './client';
|
|
3
3
|
import { WorldPersona } from './world-persona';
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
@@ -31,16 +31,16 @@ function fromApiAppraisal(raw) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
// ---------------------------------------------------------------------------
|
|
34
|
-
//
|
|
34
|
+
// World class (domain)
|
|
35
35
|
// ---------------------------------------------------------------------------
|
|
36
36
|
/**
|
|
37
|
-
* Represents a
|
|
37
|
+
* Represents a world and exposes domain methods for personas, actions,
|
|
38
38
|
* relationships, interactions, and events.
|
|
39
39
|
*
|
|
40
|
-
* Instances are obtained via {@link
|
|
40
|
+
* Instances are obtained via {@link Molroo.createWorld} or {@link Molroo.getWorld}.
|
|
41
41
|
*/
|
|
42
|
-
export class
|
|
43
|
-
/** @internal — use
|
|
42
|
+
export class World {
|
|
43
|
+
/** @internal — use Molroo.createWorld / Molroo.getWorld instead. */
|
|
44
44
|
constructor(client, data) {
|
|
45
45
|
this._client = client;
|
|
46
46
|
this._data = { ...data };
|
|
@@ -61,16 +61,16 @@ export class Village {
|
|
|
61
61
|
get responseRule() {
|
|
62
62
|
return this._data.responseRule;
|
|
63
63
|
}
|
|
64
|
-
/** Returns a readonly snapshot of the
|
|
64
|
+
/** Returns a readonly snapshot of the world data. */
|
|
65
65
|
get data() {
|
|
66
66
|
return this._data;
|
|
67
67
|
}
|
|
68
|
-
// --
|
|
68
|
+
// -- World CRUD ---------------------------------------------------------
|
|
69
69
|
/**
|
|
70
|
-
* Update
|
|
70
|
+
* Update world properties. Applies an optimistic local update on success.
|
|
71
71
|
*/
|
|
72
72
|
async update(options) {
|
|
73
|
-
await this._client.PATCH('/
|
|
73
|
+
await this._client.PATCH('/worlds/{id}', {
|
|
74
74
|
params: { path: { id: this.id } },
|
|
75
75
|
body: {
|
|
76
76
|
name: options.name,
|
|
@@ -89,9 +89,9 @@ export class Village {
|
|
|
89
89
|
if (options.responseRule !== undefined)
|
|
90
90
|
this._data.responseRule = options.responseRule;
|
|
91
91
|
}
|
|
92
|
-
/** Soft-delete this
|
|
92
|
+
/** Soft-delete this world. */
|
|
93
93
|
async delete() {
|
|
94
|
-
await this._client.DELETE('/
|
|
94
|
+
await this._client.DELETE('/worlds/{id}', {
|
|
95
95
|
params: { path: { id: this.id } },
|
|
96
96
|
});
|
|
97
97
|
}
|
|
@@ -121,7 +121,7 @@ export class Village {
|
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
const { data } = await this._client.POST('/
|
|
124
|
+
const { data } = await this._client.POST('/worlds/{id}/personas', {
|
|
125
125
|
params: { path: { id: this.id } },
|
|
126
126
|
body: body,
|
|
127
127
|
});
|
|
@@ -132,9 +132,9 @@ export class Village {
|
|
|
132
132
|
createdAt: raw.created_at,
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
|
-
/** List all personas in this
|
|
135
|
+
/** List all personas in this world. */
|
|
136
136
|
async listPersonas() {
|
|
137
|
-
const { data } = await this._client.GET('/
|
|
137
|
+
const { data } = await this._client.GET('/worlds/{id}/personas', {
|
|
138
138
|
params: { path: { id: this.id } },
|
|
139
139
|
});
|
|
140
140
|
const raw = unwrap(data);
|
|
@@ -142,14 +142,14 @@ export class Village {
|
|
|
142
142
|
}
|
|
143
143
|
/** Get a single persona by ID. */
|
|
144
144
|
async getPersona(personaId) {
|
|
145
|
-
const { data } = await this._client.GET('/
|
|
145
|
+
const { data } = await this._client.GET('/worlds/{id}/personas/{pid}', {
|
|
146
146
|
params: { path: { id: this.id, pid: personaId } },
|
|
147
147
|
});
|
|
148
148
|
return unwrap(data);
|
|
149
149
|
}
|
|
150
|
-
/** Remove a persona from this
|
|
150
|
+
/** Remove a persona from this world. */
|
|
151
151
|
async removePersona(personaId) {
|
|
152
|
-
await this._client.DELETE('/
|
|
152
|
+
await this._client.DELETE('/worlds/{id}/personas/{pid}', {
|
|
153
153
|
params: { path: { id: this.id, pid: personaId } },
|
|
154
154
|
});
|
|
155
155
|
}
|
|
@@ -162,7 +162,7 @@ export class Village {
|
|
|
162
162
|
*
|
|
163
163
|
* @example
|
|
164
164
|
* ```typescript
|
|
165
|
-
* const mina =
|
|
165
|
+
* const mina = world.persona('mina', { llm: adapter });
|
|
166
166
|
* const r = await mina.react('flirt', {
|
|
167
167
|
* actor: 'yongjun',
|
|
168
168
|
* prompt: '거실에서 용준이 민아에게 윙크했다.',
|
|
@@ -173,9 +173,9 @@ export class Village {
|
|
|
173
173
|
return new WorldPersona(this._client, this.id, personaId, options);
|
|
174
174
|
}
|
|
175
175
|
// -- Actions --------------------------------------------------------------
|
|
176
|
-
/** Create a custom action in this
|
|
176
|
+
/** Create a custom action in this world. */
|
|
177
177
|
async createAction(options) {
|
|
178
|
-
const { data } = await this._client.POST('/
|
|
178
|
+
const { data } = await this._client.POST('/worlds/{id}/actions', {
|
|
179
179
|
params: { path: { id: this.id } },
|
|
180
180
|
body: {
|
|
181
181
|
name: options.name,
|
|
@@ -186,9 +186,9 @@ export class Village {
|
|
|
186
186
|
const raw = unwrap(data);
|
|
187
187
|
return { id: raw.id, name: raw.name };
|
|
188
188
|
}
|
|
189
|
-
/** List all actions (defaults + custom) in this
|
|
189
|
+
/** List all actions (defaults + custom) in this world. */
|
|
190
190
|
async listActions() {
|
|
191
|
-
const { data } = await this._client.GET('/
|
|
191
|
+
const { data } = await this._client.GET('/worlds/{id}/actions', {
|
|
192
192
|
params: { path: { id: this.id } },
|
|
193
193
|
});
|
|
194
194
|
const raw = unwrap(data);
|
|
@@ -199,16 +199,16 @@ export class Village {
|
|
|
199
199
|
isDefault: a.is_default,
|
|
200
200
|
}));
|
|
201
201
|
}
|
|
202
|
-
/** Delete a custom action from this
|
|
202
|
+
/** Delete a custom action from this world. */
|
|
203
203
|
async deleteAction(actionId) {
|
|
204
|
-
await this._client.DELETE('/
|
|
204
|
+
await this._client.DELETE('/worlds/{id}/actions/{aid}', {
|
|
205
205
|
params: { path: { id: this.id, aid: actionId } },
|
|
206
206
|
});
|
|
207
207
|
}
|
|
208
208
|
// -- Relationships --------------------------------------------------------
|
|
209
|
-
/** Set (upsert) a relationship in this
|
|
209
|
+
/** Set (upsert) a relationship in this world. */
|
|
210
210
|
async setRelationship(options) {
|
|
211
|
-
await this._client.PUT('/
|
|
211
|
+
await this._client.PUT('/worlds/{id}/relationships', {
|
|
212
212
|
params: { path: { id: this.id } },
|
|
213
213
|
body: {
|
|
214
214
|
source_type: options.source.type,
|
|
@@ -222,9 +222,9 @@ export class Village {
|
|
|
222
222
|
},
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
|
-
/** List all relationships in this
|
|
225
|
+
/** List all relationships in this world. */
|
|
226
226
|
async listRelationships() {
|
|
227
|
-
const { data } = await this._client.GET('/
|
|
227
|
+
const { data } = await this._client.GET('/worlds/{id}/relationships', {
|
|
228
228
|
params: { path: { id: this.id } },
|
|
229
229
|
});
|
|
230
230
|
const raw = unwrap(data);
|
|
@@ -232,14 +232,14 @@ export class Village {
|
|
|
232
232
|
}
|
|
233
233
|
/** Delete a relationship by ID. */
|
|
234
234
|
async deleteRelationship(relationshipId) {
|
|
235
|
-
await this._client.DELETE('/
|
|
235
|
+
await this._client.DELETE('/worlds/{id}/relationships/{rid}', {
|
|
236
236
|
params: { path: { id: this.id, rid: relationshipId } },
|
|
237
237
|
});
|
|
238
238
|
}
|
|
239
239
|
// -- Interaction ----------------------------------------------------------
|
|
240
|
-
/** Execute an interaction in this
|
|
240
|
+
/** Execute an interaction in this world. */
|
|
241
241
|
async interact(options) {
|
|
242
|
-
const { data } = await this._client.POST('/
|
|
242
|
+
const { data } = await this._client.POST('/worlds/{id}/interact', {
|
|
243
243
|
params: { path: { id: this.id } },
|
|
244
244
|
body: {
|
|
245
245
|
target_persona_id: options.target,
|
|
@@ -254,9 +254,9 @@ export class Village {
|
|
|
254
254
|
return unwrap(data);
|
|
255
255
|
}
|
|
256
256
|
// -- Events ---------------------------------------------------------------
|
|
257
|
-
/** Retrieve the event log for this
|
|
257
|
+
/** Retrieve the event log for this world. */
|
|
258
258
|
async getEvents(options) {
|
|
259
|
-
const { data } = await this._client.GET('/
|
|
259
|
+
const { data } = await this._client.GET('/worlds/{id}/events', {
|
|
260
260
|
params: {
|
|
261
261
|
path: { id: this.id },
|
|
262
262
|
query: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WorldPersona — a persona handle within a
|
|
2
|
+
* WorldPersona — a persona handle within a world.
|
|
3
3
|
*
|
|
4
4
|
* "누가 말하는가? 페르소나가 말한다."
|
|
5
5
|
*
|
|
@@ -100,13 +100,13 @@ export interface WorldPersonaOptions {
|
|
|
100
100
|
}
|
|
101
101
|
export declare class WorldPersona {
|
|
102
102
|
private readonly _client;
|
|
103
|
-
private readonly
|
|
103
|
+
private readonly _worldId;
|
|
104
104
|
private readonly _personaId;
|
|
105
105
|
private readonly _llm?;
|
|
106
106
|
/** Cached persona detail (config + state). Invalidated on interact(). */
|
|
107
107
|
private _detailCache;
|
|
108
|
-
/** @internal — use
|
|
109
|
-
constructor(client: ApiClient,
|
|
108
|
+
/** @internal — use World.persona() instead. */
|
|
109
|
+
constructor(client: ApiClient, worldId: string, personaId: string, options?: WorldPersonaOptions);
|
|
110
110
|
get id(): string;
|
|
111
111
|
/** Fetch full persona detail (config + state). Cached per-instance. */
|
|
112
112
|
getDetail(): Promise<PersonaDetail>;
|
|
@@ -155,7 +155,7 @@ export declare class WorldPersona {
|
|
|
155
155
|
*
|
|
156
156
|
* @example
|
|
157
157
|
* ```typescript
|
|
158
|
-
* const mina =
|
|
158
|
+
* const mina = world.persona('mina', { llm: adapter });
|
|
159
159
|
*
|
|
160
160
|
* // Plain text reaction
|
|
161
161
|
* const r1 = await mina.react('flirt', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world-persona.d.ts","sourceRoot":"","sources":["../../../src/world/world-persona.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAwBjD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAMlC,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;QACF,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5B;AAMD,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM;IACrC,+CAA+C;IAC/C,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,8EAA8E;IAC9E,SAAS,EAAE,CAAC,CAAC;CACd;AAMD,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"world-persona.d.ts","sourceRoot":"","sources":["../../../src/world/world-persona.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* WorldPersona — a persona handle within a
|
|
2
|
+
* WorldPersona — a persona handle within a world.
|
|
3
3
|
*
|
|
4
4
|
* "누가 말하는가? 페르소나가 말한다."
|
|
5
5
|
*
|
|
@@ -25,12 +25,12 @@ function toApiAppraisal(v) {
|
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
export class WorldPersona {
|
|
28
|
-
/** @internal — use
|
|
29
|
-
constructor(client,
|
|
28
|
+
/** @internal — use World.persona() instead. */
|
|
29
|
+
constructor(client, worldId, personaId, options) {
|
|
30
30
|
/** Cached persona detail (config + state). Invalidated on interact(). */
|
|
31
31
|
this._detailCache = null;
|
|
32
32
|
this._client = client;
|
|
33
|
-
this.
|
|
33
|
+
this._worldId = worldId;
|
|
34
34
|
this._personaId = personaId;
|
|
35
35
|
this._llm = options?.llm;
|
|
36
36
|
}
|
|
@@ -42,8 +42,8 @@ export class WorldPersona {
|
|
|
42
42
|
async getDetail() {
|
|
43
43
|
if (this._detailCache)
|
|
44
44
|
return this._detailCache;
|
|
45
|
-
const { data } = await this._client.GET('/
|
|
46
|
-
params: { path: { id: this.
|
|
45
|
+
const { data } = await this._client.GET('/worlds/{id}/personas/{pid}', {
|
|
46
|
+
params: { path: { id: this._worldId, pid: this._personaId } },
|
|
47
47
|
});
|
|
48
48
|
const raw = unwrap(data);
|
|
49
49
|
const config = typeof raw.config === 'string' ? JSON.parse(raw.config) : raw.config;
|
|
@@ -68,8 +68,8 @@ export class WorldPersona {
|
|
|
68
68
|
}
|
|
69
69
|
/** Get LLM system prompt assembled from all persona subsystems + world context. */
|
|
70
70
|
async getPromptContext(sourceEntity) {
|
|
71
|
-
const { data } = await this._client.POST('/
|
|
72
|
-
params: { path: { id: this.
|
|
71
|
+
const { data } = await this._client.POST('/worlds/{id}/personas/{pid}/prompt-context', {
|
|
72
|
+
params: { path: { id: this._worldId, pid: this._personaId } },
|
|
73
73
|
body: sourceEntity ? { sourceEntity } : {},
|
|
74
74
|
});
|
|
75
75
|
return unwrap(data);
|
|
@@ -81,8 +81,8 @@ export class WorldPersona {
|
|
|
81
81
|
*/
|
|
82
82
|
async interact(action, options) {
|
|
83
83
|
this._detailCache = null; // invalidate
|
|
84
|
-
const { data } = await this._client.POST('/
|
|
85
|
-
params: { path: { id: this.
|
|
84
|
+
const { data } = await this._client.POST('/worlds/{id}/interact', {
|
|
85
|
+
params: { path: { id: this._worldId } },
|
|
86
86
|
body: {
|
|
87
87
|
target_persona_id: this._personaId,
|
|
88
88
|
action_name: action || undefined,
|
|
@@ -107,8 +107,8 @@ export class WorldPersona {
|
|
|
107
107
|
*/
|
|
108
108
|
async tick(seconds) {
|
|
109
109
|
this._detailCache = null; // invalidate — state changes after tick
|
|
110
|
-
const { data } = await this._client.POST('/
|
|
111
|
-
params: { path: { id: this.
|
|
110
|
+
const { data } = await this._client.POST('/worlds/{id}/personas/{pid}/tick', {
|
|
111
|
+
params: { path: { id: this._worldId, pid: this._personaId } },
|
|
112
112
|
body: { seconds },
|
|
113
113
|
});
|
|
114
114
|
return unwrap(data);
|
|
@@ -122,7 +122,7 @@ export class WorldPersona {
|
|
|
122
122
|
*
|
|
123
123
|
* @example
|
|
124
124
|
* ```typescript
|
|
125
|
-
* const mina =
|
|
125
|
+
* const mina = world.persona('mina', { llm: adapter });
|
|
126
126
|
*
|
|
127
127
|
* // Plain text reaction
|
|
128
128
|
* const r1 = await mina.react('flirt', {
|
|
@@ -146,7 +146,7 @@ export class WorldPersona {
|
|
|
146
146
|
*/
|
|
147
147
|
async react(action, options) {
|
|
148
148
|
if (!this._llm) {
|
|
149
|
-
throw new Error('WorldPersona.react() requires an LLM adapter. Pass { llm } to
|
|
149
|
+
throw new Error('WorldPersona.react() requires an LLM adapter. Pass { llm } to world.persona().');
|
|
150
150
|
}
|
|
151
151
|
// 1. Interact — emotion engine processes the action
|
|
152
152
|
const interactResult = await this.interact(action, {
|