@elizaos/plugin-experience 2.0.0-alpha.7 → 2.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/index.d.ts +2 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/record-experience.d.ts +3 -0
- package/dist/actions/record-experience.d.ts.map +1 -0
- package/dist/build.d.ts +3 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/evaluators/experienceEvaluator.d.ts +3 -0
- package/dist/evaluators/experienceEvaluator.d.ts.map +1 -0
- package/dist/generated/prompts/typescript/prompts.d.ts +12 -0
- package/dist/generated/prompts/typescript/prompts.d.ts.map +1 -0
- package/dist/generated/specs/spec-helpers.d.ts +49 -0
- package/dist/generated/specs/spec-helpers.d.ts.map +1 -0
- package/dist/generated/specs/specs.d.ts +159 -0
- package/dist/generated/specs/specs.d.ts.map +1 -0
- package/dist/index.browser.d.ts +4 -0
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/providers/experienceProvider.d.ts +3 -0
- package/dist/providers/experienceProvider.d.ts.map +1 -0
- package/dist/service.d.ts +45 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/types.d.ts +89 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/confidenceDecay.d.ts +34 -0
- package/dist/utils/confidenceDecay.d.ts.map +1 -0
- package/dist/utils/experienceAnalyzer.d.ts +16 -0
- package/dist/utils/experienceAnalyzer.d.ts.map +1 -0
- package/dist/utils/experienceFormatter.d.ts +23 -0
- package/dist/utils/experienceFormatter.d.ts.map +1 -0
- package/dist/utils/experienceRelationships.d.ts +25 -0
- package/dist/utils/experienceRelationships.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-experience.d.ts","sourceRoot":"","sources":["../../actions/record-experience.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAUZ,MAAM,eAAe,CAAC;AAKvB,eAAO,MAAM,sBAAsB,EAAE,MA+EpC,CAAC"}
|
package/dist/build.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../build.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceEvaluator.d.ts","sourceRoot":"","sources":["../../evaluators/experienceEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAQf,MAAM,eAAe,CAAC;AAavB,eAAO,MAAM,mBAAmB,EAAE,SA8MjC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-generated prompt templates
|
|
3
|
+
* DO NOT EDIT - Generated from ../../../../prompts/*.txt
|
|
4
|
+
*
|
|
5
|
+
* These prompts use Handlebars-style template syntax:
|
|
6
|
+
* - {{variableName}} for simple substitution
|
|
7
|
+
* - {{#each items}}...{{/each}} for iteration
|
|
8
|
+
* - {{#if condition}}...{{/if}} for conditionals
|
|
9
|
+
*/
|
|
10
|
+
export declare const extractExperiencesTemplate = "# Task: Extract Novel Learning Experiences\n\nAnalyze this conversation for novel learning experiences that would be surprising or valuable to remember.\n\n## Conversation context\n{{conversation_context}}\n\n## Existing similar experiences\n{{existing_experiences}}\n\n## Instructions\nExtract ONLY experiences that are:\n1. Genuinely novel (not in existing experiences)\n2. Actionable learnings about how things work\n3. Corrections of previous mistakes or assumptions\n4. Discoveries of new capabilities or patterns\n5. Surprising outcomes that contradict expectations\n\nFocus on technical knowledge, patterns, and cause-effect relationships that transfer to other contexts.\nAvoid personal details, user-specific information, or routine interactions.\n\nRespond with JSON array of experiences (max 3):\n[{\n \"type\": \"DISCOVERY|CORRECTION|SUCCESS|LEARNING\",\n \"learning\": \"What was learned (generic, transferable)\",\n \"context\": \"What situation triggered this (anonymized)\",\n \"confidence\": 0.0-1.0,\n \"reasoning\": \"Why this is novel and valuable\"\n}]\n\nReturn empty array [] if no novel experiences found.";
|
|
11
|
+
export declare const EXTRACT_EXPERIENCES_TEMPLATE = "# Task: Extract Novel Learning Experiences\n\nAnalyze this conversation for novel learning experiences that would be surprising or valuable to remember.\n\n## Conversation context\n{{conversation_context}}\n\n## Existing similar experiences\n{{existing_experiences}}\n\n## Instructions\nExtract ONLY experiences that are:\n1. Genuinely novel (not in existing experiences)\n2. Actionable learnings about how things work\n3. Corrections of previous mistakes or assumptions\n4. Discoveries of new capabilities or patterns\n5. Surprising outcomes that contradict expectations\n\nFocus on technical knowledge, patterns, and cause-effect relationships that transfer to other contexts.\nAvoid personal details, user-specific information, or routine interactions.\n\nRespond with JSON array of experiences (max 3):\n[{\n \"type\": \"DISCOVERY|CORRECTION|SUCCESS|LEARNING\",\n \"learning\": \"What was learned (generic, transferable)\",\n \"context\": \"What situation triggered this (anonymized)\",\n \"confidence\": 0.0-1.0,\n \"reasoning\": \"Why this is novel and valuable\"\n}]\n\nReturn empty array [] if no novel experiences found.";
|
|
12
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../generated/prompts/typescript/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,0BAA0B,mnCA8Bc,CAAC;AAEtD,eAAO,MAAM,4BAA4B,mnCAA6B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper functions to lookup action/provider/evaluator specs by name.
|
|
3
|
+
* These allow language-specific implementations to import their text content
|
|
4
|
+
* (description, similes, examples) from the centralized specs.
|
|
5
|
+
*
|
|
6
|
+
* DO NOT EDIT the spec data - update prompts/actions.json, prompts/providers.json, prompts/evaluators.json and regenerate.
|
|
7
|
+
*/
|
|
8
|
+
import { type ActionDoc, type EvaluatorDoc, type ProviderDoc } from "./specs";
|
|
9
|
+
/**
|
|
10
|
+
* Get an action spec by name from the core specs.
|
|
11
|
+
* @param name - The action name
|
|
12
|
+
* @returns The action spec or undefined if not found
|
|
13
|
+
*/
|
|
14
|
+
export declare function getActionSpec(name: string): ActionDoc | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Get an action spec by name, throwing if not found.
|
|
17
|
+
* @param name - The action name
|
|
18
|
+
* @returns The action spec
|
|
19
|
+
* @throws Error if the action is not found
|
|
20
|
+
*/
|
|
21
|
+
export declare function requireActionSpec(name: string): ActionDoc;
|
|
22
|
+
/**
|
|
23
|
+
* Get a provider spec by name from the core specs.
|
|
24
|
+
* @param name - The provider name
|
|
25
|
+
* @returns The provider spec or undefined if not found
|
|
26
|
+
*/
|
|
27
|
+
export declare function getProviderSpec(name: string): ProviderDoc | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Get a provider spec by name, throwing if not found.
|
|
30
|
+
* @param name - The provider name
|
|
31
|
+
* @returns The provider spec
|
|
32
|
+
* @throws Error if the provider is not found
|
|
33
|
+
*/
|
|
34
|
+
export declare function requireProviderSpec(name: string): ProviderDoc;
|
|
35
|
+
/**
|
|
36
|
+
* Get an evaluator spec by name from the core specs.
|
|
37
|
+
* @param name - The evaluator name
|
|
38
|
+
* @returns The evaluator spec or undefined if not found
|
|
39
|
+
*/
|
|
40
|
+
export declare function getEvaluatorSpec(name: string): EvaluatorDoc | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Get an evaluator spec by name, throwing if not found.
|
|
43
|
+
* @param name - The evaluator name
|
|
44
|
+
* @returns The evaluator spec
|
|
45
|
+
* @throws Error if the evaluator is not found
|
|
46
|
+
*/
|
|
47
|
+
export declare function requireEvaluatorSpec(name: string): EvaluatorDoc;
|
|
48
|
+
export type { ActionDoc, ProviderDoc, EvaluatorDoc };
|
|
49
|
+
//# sourceMappingURL=spec-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-helpers.d.ts","sourceRoot":"","sources":["../../../generated/specs/spec-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,SAAS,EAOd,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AAgBjB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAM/D;AAGD,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-generated canonical action/provider/evaluator docs for plugin-experience.
|
|
3
|
+
* DO NOT EDIT - Generated from prompts/specs/**.
|
|
4
|
+
*/
|
|
5
|
+
export type ActionDoc = {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
similes?: readonly string[];
|
|
9
|
+
parameters?: readonly unknown[];
|
|
10
|
+
examples?: readonly (readonly unknown[])[];
|
|
11
|
+
};
|
|
12
|
+
export type ProviderDoc = {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
position?: number;
|
|
16
|
+
dynamic?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export type EvaluatorDoc = {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
similes?: readonly string[];
|
|
22
|
+
alwaysRun?: boolean;
|
|
23
|
+
examples?: readonly unknown[];
|
|
24
|
+
};
|
|
25
|
+
export declare const coreActionsSpec: {
|
|
26
|
+
readonly version: "1.0.0";
|
|
27
|
+
readonly actions: readonly [{
|
|
28
|
+
readonly name: "RECORD_EXPERIENCE";
|
|
29
|
+
readonly description: "Record a learning or experience for future reference. Use this when the user explicitly asks you to remember something or when you've learned something important.";
|
|
30
|
+
readonly similes: readonly ["REMEMBER", "LEARN", "STORE_EXPERIENCE", "SAVE_EXPERIENCE", "RECORD_LEARNING"];
|
|
31
|
+
readonly parameters: readonly [];
|
|
32
|
+
readonly examples: readonly [readonly [{
|
|
33
|
+
readonly name: "{{name1}}";
|
|
34
|
+
readonly content: {
|
|
35
|
+
readonly text: "Remember that installing dependencies is required for Python scripts";
|
|
36
|
+
};
|
|
37
|
+
}, {
|
|
38
|
+
readonly name: "{{name2}}";
|
|
39
|
+
readonly content: {
|
|
40
|
+
readonly text: "I'll record that experience. Learning: Need to install dependencies before running Python scripts.";
|
|
41
|
+
readonly actions: readonly ["RECORD_EXPERIENCE"];
|
|
42
|
+
};
|
|
43
|
+
}], readonly [{
|
|
44
|
+
readonly name: "{{name1}}";
|
|
45
|
+
readonly content: {
|
|
46
|
+
readonly text: "Remember that users prefer shorter responses";
|
|
47
|
+
};
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "{{name2}}";
|
|
50
|
+
readonly content: {
|
|
51
|
+
readonly text: "I'll remember that preference.";
|
|
52
|
+
readonly actions: readonly ["RECORD_EXPERIENCE"];
|
|
53
|
+
};
|
|
54
|
+
}], readonly [{
|
|
55
|
+
readonly name: "{{name1}}";
|
|
56
|
+
readonly content: {
|
|
57
|
+
readonly text: "What's 2+2?";
|
|
58
|
+
};
|
|
59
|
+
}, {
|
|
60
|
+
readonly name: "{{name2}}";
|
|
61
|
+
readonly content: {
|
|
62
|
+
readonly text: "2+2 equals 4.";
|
|
63
|
+
};
|
|
64
|
+
}], readonly [{
|
|
65
|
+
readonly name: "{{name1}}";
|
|
66
|
+
readonly content: {
|
|
67
|
+
readonly text: "Can you help me with math?";
|
|
68
|
+
};
|
|
69
|
+
}, {
|
|
70
|
+
readonly name: "{{name2}}";
|
|
71
|
+
readonly content: {
|
|
72
|
+
readonly text: "Of course! What math problem do you need help with?";
|
|
73
|
+
};
|
|
74
|
+
}]];
|
|
75
|
+
}];
|
|
76
|
+
};
|
|
77
|
+
export declare const allActionsSpec: {
|
|
78
|
+
readonly version: "1.0.0";
|
|
79
|
+
readonly actions: readonly [{
|
|
80
|
+
readonly name: "RECORD_EXPERIENCE";
|
|
81
|
+
readonly description: "Record a learning or experience for future reference. Use this when the user explicitly asks you to remember something or when you've learned something important.";
|
|
82
|
+
readonly similes: readonly ["REMEMBER", "LEARN", "STORE_EXPERIENCE", "SAVE_EXPERIENCE", "RECORD_LEARNING"];
|
|
83
|
+
readonly parameters: readonly [];
|
|
84
|
+
readonly examples: readonly [readonly [{
|
|
85
|
+
readonly name: "{{name1}}";
|
|
86
|
+
readonly content: {
|
|
87
|
+
readonly text: "Remember that installing dependencies is required for Python scripts";
|
|
88
|
+
};
|
|
89
|
+
}, {
|
|
90
|
+
readonly name: "{{name2}}";
|
|
91
|
+
readonly content: {
|
|
92
|
+
readonly text: "I'll record that experience. Learning: Need to install dependencies before running Python scripts.";
|
|
93
|
+
readonly actions: readonly ["RECORD_EXPERIENCE"];
|
|
94
|
+
};
|
|
95
|
+
}], readonly [{
|
|
96
|
+
readonly name: "{{name1}}";
|
|
97
|
+
readonly content: {
|
|
98
|
+
readonly text: "Remember that users prefer shorter responses";
|
|
99
|
+
};
|
|
100
|
+
}, {
|
|
101
|
+
readonly name: "{{name2}}";
|
|
102
|
+
readonly content: {
|
|
103
|
+
readonly text: "I'll remember that preference.";
|
|
104
|
+
readonly actions: readonly ["RECORD_EXPERIENCE"];
|
|
105
|
+
};
|
|
106
|
+
}], readonly [{
|
|
107
|
+
readonly name: "{{name1}}";
|
|
108
|
+
readonly content: {
|
|
109
|
+
readonly text: "What's 2+2?";
|
|
110
|
+
};
|
|
111
|
+
}, {
|
|
112
|
+
readonly name: "{{name2}}";
|
|
113
|
+
readonly content: {
|
|
114
|
+
readonly text: "2+2 equals 4.";
|
|
115
|
+
};
|
|
116
|
+
}], readonly [{
|
|
117
|
+
readonly name: "{{name1}}";
|
|
118
|
+
readonly content: {
|
|
119
|
+
readonly text: "Can you help me with math?";
|
|
120
|
+
};
|
|
121
|
+
}, {
|
|
122
|
+
readonly name: "{{name2}}";
|
|
123
|
+
readonly content: {
|
|
124
|
+
readonly text: "Of course! What math problem do you need help with?";
|
|
125
|
+
};
|
|
126
|
+
}]];
|
|
127
|
+
}];
|
|
128
|
+
};
|
|
129
|
+
export declare const coreProvidersSpec: {
|
|
130
|
+
readonly version: "1.0.0";
|
|
131
|
+
readonly providers: readonly [{
|
|
132
|
+
readonly name: "experienceProvider";
|
|
133
|
+
readonly description: "Provides relevant past experiences and learnings for the current context";
|
|
134
|
+
readonly dynamic: true;
|
|
135
|
+
}];
|
|
136
|
+
};
|
|
137
|
+
export declare const allProvidersSpec: {
|
|
138
|
+
readonly version: "1.0.0";
|
|
139
|
+
readonly providers: readonly [{
|
|
140
|
+
readonly name: "experienceProvider";
|
|
141
|
+
readonly description: "Provides relevant past experiences and learnings for the current context";
|
|
142
|
+
readonly dynamic: true;
|
|
143
|
+
}];
|
|
144
|
+
};
|
|
145
|
+
export declare const coreEvaluatorsSpec: {
|
|
146
|
+
readonly version: "1.0.0";
|
|
147
|
+
readonly evaluators: readonly [];
|
|
148
|
+
};
|
|
149
|
+
export declare const allEvaluatorsSpec: {
|
|
150
|
+
readonly version: "1.0.0";
|
|
151
|
+
readonly evaluators: readonly [];
|
|
152
|
+
};
|
|
153
|
+
export declare const coreActionDocs: readonly ActionDoc[];
|
|
154
|
+
export declare const allActionDocs: readonly ActionDoc[];
|
|
155
|
+
export declare const coreProviderDocs: readonly ProviderDoc[];
|
|
156
|
+
export declare const allProviderDocs: readonly ProviderDoc[];
|
|
157
|
+
export declare const coreEvaluatorDocs: readonly EvaluatorDoc[];
|
|
158
|
+
export declare const allEvaluatorDocs: readonly EvaluatorDoc[];
|
|
159
|
+
//# sourceMappingURL=specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../generated/specs/specs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuElB,CAAC;AACX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEjB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;;;;;CASpB,CAAC;AACX,eAAO,MAAM,gBAAgB;;;;;;;CASnB,CAAC;AACX,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAA4B,CAAC;AAC5E,eAAO,MAAM,aAAa,EAAE,SAAS,SAAS,EAA2B,CAAC;AAC1E,eAAO,MAAM,gBAAgB,EAAE,SAAS,WAAW,EAAgC,CAAC;AACpF,eAAO,MAAM,eAAe,EAAE,SAAS,WAAW,EAA+B,CAAC;AAClF,eAAO,MAAM,iBAAiB,EAAE,SAAS,YAAY,EAAkC,CAAC;AACxF,eAAO,MAAM,gBAAgB,EAAE,SAAS,YAAY,EAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,eAAe,CAAC;AAK3D,eAAO,MAAM,gBAAgB,EAAE,MAQ9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,eAAe,CAAC;AAM3D,OAAO,SAAS,CAAC;AAEjB,eAAO,MAAM,gBAAgB,EAAE,MAoB9B,CAAC;AAEF,eAAe,gBAAgB,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceProvider.d.ts","sourceRoot":"","sources":["../../providers/experienceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EAGd,MAAM,eAAe,CAAC;AAUvB,eAAO,MAAM,kBAAkB,EAAE,QAsDhC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type IAgentRuntime, Service, type ServiceTypeName } from "@elizaos/core";
|
|
2
|
+
import { type Experience, type ExperienceAnalysis, type ExperienceQuery, ExperienceType } from "./types";
|
|
3
|
+
export declare class ExperienceService extends Service {
|
|
4
|
+
static serviceType: ServiceTypeName;
|
|
5
|
+
capabilityDescription: string;
|
|
6
|
+
private experiences;
|
|
7
|
+
private experiencesByDomain;
|
|
8
|
+
private experiencesByType;
|
|
9
|
+
private dirtyExperiences;
|
|
10
|
+
private persistTimer;
|
|
11
|
+
private decayManager;
|
|
12
|
+
private relationshipManager;
|
|
13
|
+
constructor(runtime: IAgentRuntime);
|
|
14
|
+
static start(runtime: IAgentRuntime): Promise<ExperienceService>;
|
|
15
|
+
private loadExperiences;
|
|
16
|
+
recordExperience(experienceData: Partial<Experience>): Promise<Experience>;
|
|
17
|
+
private saveExperienceToMemory;
|
|
18
|
+
private persistDirtyExperiences;
|
|
19
|
+
queryExperiences(query: ExperienceQuery): Promise<Experience[]>;
|
|
20
|
+
/** Apply query filters (type, outcome, domain, tags, confidence, importance, timeRange). */
|
|
21
|
+
private applyFilters;
|
|
22
|
+
/**
|
|
23
|
+
* Find similar experiences using vector search + reranking.
|
|
24
|
+
*
|
|
25
|
+
* Reranking strategy:
|
|
26
|
+
* Vector similarity is the dominant signal (70%) — an irrelevant experience
|
|
27
|
+
* should never outrank a relevant one just because it has high confidence.
|
|
28
|
+
* Quality signals (confidence, importance) act as tiebreakers among
|
|
29
|
+
* similarly-relevant results (30% combined).
|
|
30
|
+
*
|
|
31
|
+
* A minimum similarity threshold filters out noise so quality signals
|
|
32
|
+
* can't promote genuinely irrelevant experiences.
|
|
33
|
+
*/
|
|
34
|
+
findSimilarExperiences(text: string, limit?: number): Promise<Experience[]>;
|
|
35
|
+
/** Fallback when embeddings are unavailable: sort by decayed confidence * importance. */
|
|
36
|
+
private fallbackSort;
|
|
37
|
+
analyzeExperiences(domain?: string, type?: ExperienceType): Promise<ExperienceAnalysis>;
|
|
38
|
+
private cosineSimilarity;
|
|
39
|
+
private findCommonPatterns;
|
|
40
|
+
private calculateOutcomeConsistency;
|
|
41
|
+
private extractAlternatives;
|
|
42
|
+
private generateRecommendations;
|
|
43
|
+
stop(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGlB,OAAO,EACP,KAAK,eAAe,EAErB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAEpB,cAAc,EAEf,MAAM,SAAS,CAAC;AAIjB,qBAAa,iBAAkB,SAAQ,OAAO;IAC5C,OAAgB,WAAW,EAAE,eAAe,CAAoC;IACvE,qBAAqB,SACkE;IAEhG,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,mBAAmB,CAAqC;IAChE,OAAO,CAAC,iBAAiB,CAA6C;IACtE,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,mBAAmB,CAAgC;gBAE/C,OAAO,EAAE,aAAa;WAarB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAMxD,eAAe;IAuEvB,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;YAmFlE,sBAAsB;YAyCtB,uBAAuB;IAyB/B,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA6DrE,4FAA4F;IAC5F,OAAO,CAAC,YAAY;IAqCpB;;;;;;;;;;;OAWG;IACG,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA6E5E,yFAAyF;IACzF,OAAO,CAAC,YAAY;IAUd,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwC7F,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,uBAAuB;IAkDzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB5B"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { Memory, UUID } from "@elizaos/core";
|
|
2
|
+
export type JsonPrimitive = string | number | boolean | null;
|
|
3
|
+
export type JsonValue = JsonPrimitive | JsonValue[] | {
|
|
4
|
+
[key: string]: JsonValue;
|
|
5
|
+
};
|
|
6
|
+
export type JsonObject = {
|
|
7
|
+
[key: string]: JsonValue;
|
|
8
|
+
};
|
|
9
|
+
declare module "@elizaos/core" {
|
|
10
|
+
interface ServiceTypeRegistry {
|
|
11
|
+
EXPERIENCE: "EXPERIENCE";
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export declare const ExperienceServiceType: {
|
|
15
|
+
EXPERIENCE: "EXPERIENCE";
|
|
16
|
+
};
|
|
17
|
+
export declare enum ExperienceType {
|
|
18
|
+
SUCCESS = "success",// Agent accomplished something
|
|
19
|
+
FAILURE = "failure",// Agent failed at something
|
|
20
|
+
DISCOVERY = "discovery",// Agent discovered new information
|
|
21
|
+
CORRECTION = "correction",// Agent corrected a mistake
|
|
22
|
+
LEARNING = "learning",// Agent learned something new
|
|
23
|
+
HYPOTHESIS = "hypothesis",// Agent formed a hypothesis
|
|
24
|
+
VALIDATION = "validation",// Agent validated a hypothesis
|
|
25
|
+
WARNING = "warning"
|
|
26
|
+
}
|
|
27
|
+
export declare enum OutcomeType {
|
|
28
|
+
POSITIVE = "positive",
|
|
29
|
+
NEGATIVE = "negative",
|
|
30
|
+
NEUTRAL = "neutral",
|
|
31
|
+
MIXED = "mixed"
|
|
32
|
+
}
|
|
33
|
+
export interface Experience {
|
|
34
|
+
id: UUID;
|
|
35
|
+
agentId: UUID;
|
|
36
|
+
type: ExperienceType;
|
|
37
|
+
outcome: OutcomeType;
|
|
38
|
+
context: string;
|
|
39
|
+
action: string;
|
|
40
|
+
result: string;
|
|
41
|
+
learning: string;
|
|
42
|
+
tags: string[];
|
|
43
|
+
domain: string;
|
|
44
|
+
relatedExperiences?: UUID[];
|
|
45
|
+
supersedes?: UUID;
|
|
46
|
+
confidence: number;
|
|
47
|
+
importance: number;
|
|
48
|
+
createdAt: number;
|
|
49
|
+
updatedAt: number;
|
|
50
|
+
lastAccessedAt?: number;
|
|
51
|
+
accessCount: number;
|
|
52
|
+
previousBelief?: string;
|
|
53
|
+
correctedBelief?: string;
|
|
54
|
+
embedding?: number[];
|
|
55
|
+
memoryIds?: UUID[];
|
|
56
|
+
}
|
|
57
|
+
export interface ExperienceQuery {
|
|
58
|
+
query?: string;
|
|
59
|
+
type?: ExperienceType | ExperienceType[];
|
|
60
|
+
outcome?: OutcomeType | OutcomeType[];
|
|
61
|
+
domain?: string | string[];
|
|
62
|
+
tags?: string[];
|
|
63
|
+
minImportance?: number;
|
|
64
|
+
minConfidence?: number;
|
|
65
|
+
timeRange?: {
|
|
66
|
+
start?: number;
|
|
67
|
+
end?: number;
|
|
68
|
+
};
|
|
69
|
+
limit?: number;
|
|
70
|
+
includeRelated?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface ExperienceAnalysis {
|
|
73
|
+
pattern?: string;
|
|
74
|
+
frequency?: number;
|
|
75
|
+
reliability?: number;
|
|
76
|
+
alternatives?: string[];
|
|
77
|
+
recommendations?: string[];
|
|
78
|
+
}
|
|
79
|
+
export interface ExperienceEvent {
|
|
80
|
+
experienceId: UUID;
|
|
81
|
+
eventType: "created" | "accessed" | "updated" | "superseded";
|
|
82
|
+
timestamp: number;
|
|
83
|
+
metadata?: JsonObject;
|
|
84
|
+
}
|
|
85
|
+
export interface ExperienceMemory extends Memory {
|
|
86
|
+
experienceId: string;
|
|
87
|
+
experienceType: ExperienceType;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Experience } from "../types";
|
|
2
|
+
export interface DecayConfig {
|
|
3
|
+
halfLife: number;
|
|
4
|
+
minConfidence: number;
|
|
5
|
+
decayStartDelay: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class ConfidenceDecayManager {
|
|
8
|
+
private config;
|
|
9
|
+
constructor(config?: Partial<DecayConfig>);
|
|
10
|
+
/**
|
|
11
|
+
* Calculate the decayed confidence for an experience
|
|
12
|
+
*/
|
|
13
|
+
getDecayedConfidence(experience: Experience): number;
|
|
14
|
+
/**
|
|
15
|
+
* Get experiences that need reinforcement (low confidence due to decay)
|
|
16
|
+
*/
|
|
17
|
+
getExperiencesNeedingReinforcement(experiences: Experience[], threshold?: number): Experience[];
|
|
18
|
+
/**
|
|
19
|
+
* Calculate reinforcement boost when an experience is validated
|
|
20
|
+
*/
|
|
21
|
+
calculateReinforcementBoost(experience: Experience, validationStrength?: number): number;
|
|
22
|
+
/**
|
|
23
|
+
* Adjust decay rate based on experience type and domain
|
|
24
|
+
*/
|
|
25
|
+
getDomainSpecificDecay(experience: Experience): DecayConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Get confidence trend for an experience over time
|
|
28
|
+
*/
|
|
29
|
+
getConfidenceTrend(experience: Experience, points?: number): Array<{
|
|
30
|
+
timestamp: number;
|
|
31
|
+
confidence: number;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=confidenceDecay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confidenceDecay.d.ts","sourceRoot":"","sources":["../../utils/confidenceDecay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAQD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;IAI7C;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAoBpD;;OAEG;IACH,kCAAkC,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,SAAS,SAAM,GAAG,UAAU,EAAE;IAO5F;;OAEG;IACH,2BAA2B,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,SAAM,GAAG,MAAM;IAMrF;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW;IAsC3D;;OAEG;IACH,kBAAkB,CAChB,UAAU,EAAE,UAAU,EACtB,MAAM,SAAK,GACV,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CA0BpD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Experience } from "../types";
|
|
2
|
+
export interface ExperienceAnalysis {
|
|
3
|
+
isSignificant: boolean;
|
|
4
|
+
learning?: string;
|
|
5
|
+
confidence: number;
|
|
6
|
+
relatedExperiences?: string[];
|
|
7
|
+
actionableInsights?: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare function analyzeExperience(partialExperience: Partial<Experience>, recentExperiences: Experience[]): Promise<ExperienceAnalysis>;
|
|
10
|
+
export declare function detectPatterns(experiences: Experience[]): Promise<Array<{
|
|
11
|
+
description: string;
|
|
12
|
+
frequency: number;
|
|
13
|
+
experiences: string[];
|
|
14
|
+
significance: "low" | "medium" | "high";
|
|
15
|
+
}>>;
|
|
16
|
+
//# sourceMappingURL=experienceAnalyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceAnalyzer.d.ts","sourceRoot":"","sources":["../../utils/experienceAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,wBAAsB,iBAAiB,CACrC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,EACtC,iBAAiB,EAAE,UAAU,EAAE,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CA4D7B;AAiED,wBAAsB,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CACtE,KAAK,CAAC;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACzC,CAAC,CACH,CAqFA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Experience } from "../types";
|
|
2
|
+
import { ExperienceType, OutcomeType } from "../types";
|
|
3
|
+
export declare function formatExperienceForDisplay(experience: Experience): string;
|
|
4
|
+
export declare function formatExperienceSummary(experience: Experience): string;
|
|
5
|
+
export declare function formatExperienceList(experiences: Experience[]): string;
|
|
6
|
+
export declare function formatPatternSummary(pattern: {
|
|
7
|
+
description: string;
|
|
8
|
+
frequency: number;
|
|
9
|
+
significance: string;
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function groupExperiencesByDomain(experiences: Experience[]): Map<string, Experience[]>;
|
|
12
|
+
export declare function getExperienceStats(experiences: Experience[]): {
|
|
13
|
+
total: number;
|
|
14
|
+
byType: Record<ExperienceType, number>;
|
|
15
|
+
byOutcome: Record<OutcomeType, number>;
|
|
16
|
+
byDomain: Record<string, number>;
|
|
17
|
+
averageConfidence: number;
|
|
18
|
+
averageImportance: number;
|
|
19
|
+
successRate: number;
|
|
20
|
+
};
|
|
21
|
+
export declare function formatExperienceForRAG(experience: Experience): string;
|
|
22
|
+
export declare function extractKeywords(experience: Experience): string[];
|
|
23
|
+
//# sourceMappingURL=experienceFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceFormatter.d.ts","sourceRoot":"","sources":["../../utils/experienceFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAWzE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAGtE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAQtE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CAST;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAU7F;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CA2CA;AAiBD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAwBrE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,EAAE,CA+BhE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Experience, JsonObject } from "../types";
|
|
2
|
+
export interface ExperienceChain {
|
|
3
|
+
rootExperience: string;
|
|
4
|
+
chain: string[];
|
|
5
|
+
strength: number;
|
|
6
|
+
validated: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ExperienceRelationship {
|
|
9
|
+
fromId: string;
|
|
10
|
+
toId: string;
|
|
11
|
+
type: "causes" | "contradicts" | "supports" | "supersedes" | "related";
|
|
12
|
+
strength: number;
|
|
13
|
+
metadata?: JsonObject;
|
|
14
|
+
}
|
|
15
|
+
export declare class ExperienceRelationshipManager {
|
|
16
|
+
private relationships;
|
|
17
|
+
addRelationship(relationship: ExperienceRelationship): void;
|
|
18
|
+
findRelationships(experienceId: string, type?: string): ExperienceRelationship[];
|
|
19
|
+
detectCausalChain(experiences: Experience[]): ExperienceChain[];
|
|
20
|
+
private isRelated;
|
|
21
|
+
private contentSimilarity;
|
|
22
|
+
findContradictions(experience: Experience, allExperiences: Experience[]): Experience[];
|
|
23
|
+
getExperienceImpact(experienceId: string, allExperiences: Experience[]): number;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=experienceRelationships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experienceRelationships.d.ts","sourceRoot":"","sources":["../../utils/experienceRelationships.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGvD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,qBAAa,6BAA6B;IACxC,OAAO,CAAC,aAAa,CAAoD;IAEzE,eAAe,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI;IAQ3D,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,sBAAsB,EAAE;IAQhF,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE;IAgD/D,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,iBAAiB;IAWzB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE;IAyBtF,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM;CAmBhF"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/plugin-experience",
|
|
3
3
|
"description": "Experience learning plugin for ElizaOS - records and recalls transferable agent learnings",
|
|
4
|
-
"version": "2.0.0-alpha.
|
|
4
|
+
"version": "2.0.0-alpha.8",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/node/index.node.js",
|
|
7
7
|
"module": "dist/node/index.node.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
],
|
|
45
45
|
"sideEffects": false,
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@elizaos/core": "2.0.0-alpha.
|
|
47
|
+
"@elizaos/core": "2.0.0-alpha.12",
|
|
48
48
|
"uuid": "^13.0.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|