@elizaos/plugin-experience 2.0.0-alpha.6 → 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.
Files changed (35) hide show
  1. package/dist/actions/index.d.ts +2 -0
  2. package/dist/actions/index.d.ts.map +1 -0
  3. package/dist/actions/record-experience.d.ts +3 -0
  4. package/dist/actions/record-experience.d.ts.map +1 -0
  5. package/dist/build.d.ts +3 -0
  6. package/dist/build.d.ts.map +1 -0
  7. package/dist/evaluators/experienceEvaluator.d.ts +3 -0
  8. package/dist/evaluators/experienceEvaluator.d.ts.map +1 -0
  9. package/dist/generated/prompts/typescript/prompts.d.ts +12 -0
  10. package/dist/generated/prompts/typescript/prompts.d.ts.map +1 -0
  11. package/dist/generated/specs/spec-helpers.d.ts +49 -0
  12. package/dist/generated/specs/spec-helpers.d.ts.map +1 -0
  13. package/dist/generated/specs/specs.d.ts +159 -0
  14. package/dist/generated/specs/specs.d.ts.map +1 -0
  15. package/dist/index.browser.d.ts +4 -0
  16. package/dist/index.browser.d.ts.map +1 -0
  17. package/dist/index.d.ts +7 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/node/index.node.js +2 -2
  20. package/dist/node/index.node.js.map +3 -3
  21. package/dist/providers/experienceProvider.d.ts +3 -0
  22. package/dist/providers/experienceProvider.d.ts.map +1 -0
  23. package/dist/service.d.ts +45 -0
  24. package/dist/service.d.ts.map +1 -0
  25. package/dist/types.d.ts +89 -0
  26. package/dist/types.d.ts.map +1 -0
  27. package/dist/utils/confidenceDecay.d.ts +34 -0
  28. package/dist/utils/confidenceDecay.d.ts.map +1 -0
  29. package/dist/utils/experienceAnalyzer.d.ts +16 -0
  30. package/dist/utils/experienceAnalyzer.d.ts.map +1 -0
  31. package/dist/utils/experienceFormatter.d.ts +23 -0
  32. package/dist/utils/experienceFormatter.d.ts.map +1 -0
  33. package/dist/utils/experienceRelationships.d.ts +25 -0
  34. package/dist/utils/experienceRelationships.d.ts.map +1 -0
  35. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ export { recordExperienceAction } from "./record-experience";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ import { type Action } from "@elizaos/core";
2
+ export declare const recordExperienceAction: Action;
3
+ //# sourceMappingURL=record-experience.d.ts.map
@@ -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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../build.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { type Evaluator } from "@elizaos/core";
2
+ export declare const experienceEvaluator: Evaluator;
3
+ //# sourceMappingURL=experienceEvaluator.d.ts.map
@@ -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,4 @@
1
+ import type { Plugin } from "@elizaos/core";
2
+ export declare const experiencePlugin: Plugin;
3
+ export default experiencePlugin;
4
+ //# sourceMappingURL=index.browser.d.ts.map
@@ -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"}
@@ -0,0 +1,7 @@
1
+ import type { Plugin } from "@elizaos/core";
2
+ import "./types";
3
+ export declare const experiencePlugin: Plugin;
4
+ export default experiencePlugin;
5
+ export { ExperienceService } from "./service";
6
+ export * from "./types";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -226,7 +226,7 @@ var recordExperienceAction = {
226
226
  const __avKeywords = ["record", "experience"];
227
227
  const __avKeywordOk = __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));
228
228
  const __avRegex = /\b(?:record|experience)\b/i;
229
- const __avRegexOk = __avRegex.test(__avText);
229
+ const __avRegexOk = Boolean(__avText.match(__avRegex));
230
230
  const __avSource = String(message?.content?.source ?? message?.source ?? "");
231
231
  const __avExpectedSource = "";
232
232
  const __avSourceOk = __avExpectedSource ? __avSource === __avExpectedSource : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);
@@ -1278,4 +1278,4 @@ export {
1278
1278
  ExperienceService
1279
1279
  };
1280
1280
 
1281
- //# debugId=21141D6C2118F96564756E2164756E21
1281
+ //# debugId=508DC2C8C199E40064756E2164756E21
@@ -3,7 +3,7 @@
3
3
  "sources": ["../../index.ts", "../../actions/record-experience.ts", "../../generated/specs/specs.ts", "../../generated/specs/spec-helpers.ts", "../../evaluators/experienceEvaluator.ts", "../../generated/prompts/typescript/prompts.ts", "../../types.ts", "../../providers/experienceProvider.ts", "../../service.ts", "../../utils/confidenceDecay.ts", "../../utils/experienceRelationships.ts"],
4
4
  "sourcesContent": [
5
5
  "import type { IAgentRuntime, Plugin } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { recordExperienceAction } from \"./actions/record-experience\";\nimport { experienceEvaluator } from \"./evaluators/experienceEvaluator\";\nimport { experienceProvider } from \"./providers/experienceProvider\";\nimport { ExperienceService } from \"./service\";\nimport \"./types\";\n\nexport const experiencePlugin: Plugin = {\n name: \"experience\",\n description:\n \"Self-learning experience system that records and recalls transferable agent learnings\",\n\n actions: [recordExperienceAction],\n services: [ExperienceService],\n providers: [experienceProvider],\n evaluators: [experienceEvaluator],\n\n async init(config: Record<string, string>, runtime: IAgentRuntime): Promise<void> {\n logger.info(\"[ExperiencePlugin] Initializing experience learning system\");\n\n const autoRecordThreshold = parseOptionalNumber(config.AUTO_RECORD_THRESHOLD, 0.7);\n\n runtime.setSetting(\"AUTO_RECORD_THRESHOLD\", autoRecordThreshold.toString());\n\n logger.info(`[ExperiencePlugin] Configuration:\n - AUTO_RECORD_THRESHOLD: ${autoRecordThreshold}`);\n },\n};\n\nexport default experiencePlugin;\n\nexport { ExperienceService } from \"./service\";\nexport * from \"./types\";\n\nfunction parseOptionalNumber(value: string | undefined, fallback: number): number {\n if (!value) return fallback;\n const parsed = Number.parseFloat(value);\n return Number.isFinite(parsed) ? parsed : fallback;\n}\n",
6
- "import {\n type Action,\n type ActionExample,\n type ActionResult,\n createUniqueUuid,\n type HandlerCallback,\n type HandlerOptions,\n type IAgentRuntime,\n logger,\n type Memory,\n type State,\n} from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\n\nconst spec = requireActionSpec(\"RECORD_EXPERIENCE\");\n\nexport const recordExperienceAction: Action = {\n name: spec.name,\n similes: spec.similes ? [...spec.similes] : [],\n description: spec.description,\n examples: (spec.examples ?? []) as ActionExample[][],\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"record\", \"experience\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:record|experience)\\b/i;\n const __avRegexOk = __avRegex.test(__avText);\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (_runtime: IAgentRuntime, message: Memory) => {\n const text = message.content.text?.toLowerCase();\n return text?.includes(\"remember\") || text?.includes(\"record\") || false;\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n async handler(\n runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: HandlerOptions,\n _callback?: HandlerCallback\n ): Promise<ActionResult> {\n void _options;\n void _callback;\n\n logger.info(\"Recording experience for message:\", message.id);\n\n // Create experience memory with context\n const experienceMemory: Memory = {\n id: createUniqueUuid(runtime, `experience-${message.id}`),\n entityId: message.entityId,\n agentId: runtime.agentId,\n roomId: message.roomId,\n content: {\n text: message.content.text,\n source: message.content.source,\n type: \"experience\",\n context: state?.text,\n },\n createdAt: Date.now(),\n };\n\n // Store in experiences table\n await runtime.createMemory(experienceMemory, \"experiences\", true);\n logger.info(\"Experience recorded successfully\");\n\n return {\n success: true,\n text: \"Experience recorded.\",\n data: {\n experienceMemoryId: experienceMemory.id,\n },\n };\n },\n};\n",
6
+ "import {\n type Action,\n type ActionExample,\n type ActionResult,\n createUniqueUuid,\n type HandlerCallback,\n type HandlerOptions,\n type IAgentRuntime,\n logger,\n type Memory,\n type State,\n} from \"@elizaos/core\";\nimport { requireActionSpec } from \"../generated/specs/spec-helpers\";\n\nconst spec = requireActionSpec(\"RECORD_EXPERIENCE\");\n\nexport const recordExperienceAction: Action = {\n name: spec.name,\n similes: spec.similes ? [...spec.similes] : [],\n description: spec.description,\n examples: (spec.examples ?? []) as ActionExample[][],\n\n validate: async (runtime: any, message: any, state?: any, options?: any): Promise<boolean> => {\n const __avTextRaw = typeof message?.content?.text === \"string\" ? message.content.text : \"\";\n const __avText = __avTextRaw.toLowerCase();\n const __avKeywords = [\"record\", \"experience\"];\n const __avKeywordOk =\n __avKeywords.length > 0 && __avKeywords.some((kw) => kw.length > 0 && __avText.includes(kw));\n const __avRegex = /\\b(?:record|experience)\\b/i;\n const __avRegexOk = Boolean(__avText.match(__avRegex));\n const __avSource = String(message?.content?.source ?? message?.source ?? \"\");\n const __avExpectedSource = \"\";\n const __avSourceOk = __avExpectedSource\n ? __avSource === __avExpectedSource\n : Boolean(__avSource || state || runtime?.agentId || runtime?.getService);\n const __avOptions = options && typeof options === \"object\" ? options : {};\n const __avInputOk =\n __avText.trim().length > 0 ||\n Object.keys(__avOptions as Record<string, unknown>).length > 0 ||\n Boolean(message?.content && typeof message.content === \"object\");\n\n if (!(__avKeywordOk && __avRegexOk && __avSourceOk && __avInputOk)) {\n return false;\n }\n\n const __avLegacyValidate = async (_runtime: IAgentRuntime, message: Memory) => {\n const text = message.content.text?.toLowerCase();\n return text?.includes(\"remember\") || text?.includes(\"record\") || false;\n };\n try {\n return Boolean(await (__avLegacyValidate as any)(runtime, message, state, options));\n } catch {\n return false;\n }\n },\n\n async handler(\n runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: HandlerOptions,\n _callback?: HandlerCallback\n ): Promise<ActionResult> {\n void _options;\n void _callback;\n\n logger.info(\"Recording experience for message:\", message.id);\n\n // Create experience memory with context\n const experienceMemory: Memory = {\n id: createUniqueUuid(runtime, `experience-${message.id}`),\n entityId: message.entityId,\n agentId: runtime.agentId,\n roomId: message.roomId,\n content: {\n text: message.content.text,\n source: message.content.source,\n type: \"experience\",\n context: state?.text,\n },\n createdAt: Date.now(),\n };\n\n // Store in experiences table\n await runtime.createMemory(experienceMemory, \"experiences\", true);\n logger.info(\"Experience recorded successfully\");\n\n return {\n success: true,\n text: \"Experience recorded.\",\n data: {\n experienceMemoryId: experienceMemory.id,\n },\n };\n },\n};\n",
7
7
  "/**\n * Auto-generated canonical action/provider/evaluator docs for plugin-experience.\n * DO NOT EDIT - Generated from prompts/specs/**.\n */\n\nexport type ActionDoc = {\n name: string;\n description: string;\n similes?: readonly string[];\n parameters?: readonly unknown[];\n examples?: readonly (readonly unknown[])[];\n};\n\nexport type ProviderDoc = {\n name: string;\n description: string;\n position?: number;\n dynamic?: boolean;\n};\n\nexport type EvaluatorDoc = {\n name: string;\n description: string;\n similes?: readonly string[];\n alwaysRun?: boolean;\n examples?: readonly unknown[];\n};\n\nexport const coreActionsSpec = {\n version: \"1.0.0\",\n actions: [\n {\n name: \"RECORD_EXPERIENCE\",\n description:\n \"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.\",\n similes: [\"REMEMBER\", \"LEARN\", \"STORE_EXPERIENCE\", \"SAVE_EXPERIENCE\", \"RECORD_LEARNING\"],\n parameters: [],\n examples: [\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Remember that installing dependencies is required for Python scripts\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"I'll record that experience. Learning: Need to install dependencies before running Python scripts.\",\n actions: [\"RECORD_EXPERIENCE\"],\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Remember that users prefer shorter responses\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"I'll remember that preference.\",\n actions: [\"RECORD_EXPERIENCE\"],\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"What's 2+2?\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"2+2 equals 4.\",\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Can you help me with math?\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"Of course! What math problem do you need help with?\",\n },\n },\n ],\n ],\n },\n ],\n} as const;\nexport const allActionsSpec = {\n version: \"1.0.0\",\n actions: [\n {\n name: \"RECORD_EXPERIENCE\",\n description:\n \"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.\",\n similes: [\"REMEMBER\", \"LEARN\", \"STORE_EXPERIENCE\", \"SAVE_EXPERIENCE\", \"RECORD_LEARNING\"],\n parameters: [],\n examples: [\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Remember that installing dependencies is required for Python scripts\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"I'll record that experience. Learning: Need to install dependencies before running Python scripts.\",\n actions: [\"RECORD_EXPERIENCE\"],\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Remember that users prefer shorter responses\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"I'll remember that preference.\",\n actions: [\"RECORD_EXPERIENCE\"],\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"What's 2+2?\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"2+2 equals 4.\",\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Can you help me with math?\",\n },\n },\n {\n name: \"{{name2}}\",\n content: {\n text: \"Of course! What math problem do you need help with?\",\n },\n },\n ],\n ],\n },\n ],\n} as const;\nexport const coreProvidersSpec = {\n version: \"1.0.0\",\n providers: [\n {\n name: \"experienceProvider\",\n description: \"Provides relevant past experiences and learnings for the current context\",\n dynamic: true,\n },\n ],\n} as const;\nexport const allProvidersSpec = {\n version: \"1.0.0\",\n providers: [\n {\n name: \"experienceProvider\",\n description: \"Provides relevant past experiences and learnings for the current context\",\n dynamic: true,\n },\n ],\n} as const;\nexport const coreEvaluatorsSpec = {\n version: \"1.0.0\",\n evaluators: [],\n} as const;\nexport const allEvaluatorsSpec = {\n version: \"1.0.0\",\n evaluators: [],\n} as const;\n\nexport const coreActionDocs: readonly ActionDoc[] = coreActionsSpec.actions;\nexport const allActionDocs: readonly ActionDoc[] = allActionsSpec.actions;\nexport const coreProviderDocs: readonly ProviderDoc[] = coreProvidersSpec.providers;\nexport const allProviderDocs: readonly ProviderDoc[] = allProvidersSpec.providers;\nexport const coreEvaluatorDocs: readonly EvaluatorDoc[] = coreEvaluatorsSpec.evaluators;\nexport const allEvaluatorDocs: readonly EvaluatorDoc[] = allEvaluatorsSpec.evaluators;\n",
8
8
  "/**\n * Helper functions to lookup action/provider/evaluator specs by name.\n * These allow language-specific implementations to import their text content\n * (description, similes, examples) from the centralized specs.\n *\n * DO NOT EDIT the spec data - update prompts/actions.json, prompts/providers.json, prompts/evaluators.json and regenerate.\n */\n\nimport {\n type ActionDoc,\n allActionDocs,\n allEvaluatorDocs,\n allProviderDocs,\n coreActionDocs,\n coreEvaluatorDocs,\n coreProviderDocs,\n type EvaluatorDoc,\n type ProviderDoc,\n} from \"./specs\";\n\n// Build lookup maps for O(1) access\nconst coreActionMap = new Map<string, ActionDoc>(coreActionDocs.map((doc) => [doc.name, doc]));\nconst allActionMap = new Map<string, ActionDoc>(allActionDocs.map((doc) => [doc.name, doc]));\nconst coreProviderMap = new Map<string, ProviderDoc>(\n coreProviderDocs.map((doc) => [doc.name, doc])\n);\nconst allProviderMap = new Map<string, ProviderDoc>(allProviderDocs.map((doc) => [doc.name, doc]));\nconst coreEvaluatorMap = new Map<string, EvaluatorDoc>(\n coreEvaluatorDocs.map((doc) => [doc.name, doc])\n);\nconst allEvaluatorMap = new Map<string, EvaluatorDoc>(\n allEvaluatorDocs.map((doc) => [doc.name, doc])\n);\n\n/**\n * Get an action spec by name from the core specs.\n * @param name - The action name\n * @returns The action spec or undefined if not found\n */\nexport function getActionSpec(name: string): ActionDoc | undefined {\n return coreActionMap.get(name) ?? allActionMap.get(name);\n}\n\n/**\n * Get an action spec by name, throwing if not found.\n * @param name - The action name\n * @returns The action spec\n * @throws Error if the action is not found\n */\nexport function requireActionSpec(name: string): ActionDoc {\n const spec = getActionSpec(name);\n if (!spec) {\n throw new Error(`Action spec not found: ${name}`);\n }\n return spec;\n}\n\n/**\n * Get a provider spec by name from the core specs.\n * @param name - The provider name\n * @returns The provider spec or undefined if not found\n */\nexport function getProviderSpec(name: string): ProviderDoc | undefined {\n return coreProviderMap.get(name) ?? allProviderMap.get(name);\n}\n\n/**\n * Get a provider spec by name, throwing if not found.\n * @param name - The provider name\n * @returns The provider spec\n * @throws Error if the provider is not found\n */\nexport function requireProviderSpec(name: string): ProviderDoc {\n const spec = getProviderSpec(name);\n if (!spec) {\n throw new Error(`Provider spec not found: ${name}`);\n }\n return spec;\n}\n\n/**\n * Get an evaluator spec by name from the core specs.\n * @param name - The evaluator name\n * @returns The evaluator spec or undefined if not found\n */\nexport function getEvaluatorSpec(name: string): EvaluatorDoc | undefined {\n return coreEvaluatorMap.get(name) ?? allEvaluatorMap.get(name);\n}\n\n/**\n * Get an evaluator spec by name, throwing if not found.\n * @param name - The evaluator name\n * @returns The evaluator spec\n * @throws Error if the evaluator is not found\n */\nexport function requireEvaluatorSpec(name: string): EvaluatorDoc {\n const spec = getEvaluatorSpec(name);\n if (!spec) {\n throw new Error(`Evaluator spec not found: ${name}`);\n }\n return spec;\n}\n\n// Re-export types for convenience\nexport type { ActionDoc, ProviderDoc, EvaluatorDoc };\n",
9
9
  "import {\n type ActionResult,\n composePrompt,\n type Evaluator,\n type HandlerCallback,\n type HandlerOptions,\n type IAgentRuntime,\n logger,\n type Memory,\n ModelType,\n type State,\n} from \"@elizaos/core\";\nimport { EXTRACT_EXPERIENCES_TEMPLATE } from \"../generated/prompts/typescript/prompts.js\";\nimport type { ExperienceService } from \"../service\";\nimport { ExperienceType, OutcomeType } from \"../types\";\n\ntype ExtractedExperience = {\n type?: string;\n learning?: string;\n context?: string;\n confidence?: number;\n reasoning?: string;\n};\n\nexport const experienceEvaluator: Evaluator = {\n name: \"EXPERIENCE_EVALUATOR\",\n similes: [\"experience recorder\", \"learning evaluator\", \"self-reflection\"],\n description: \"Periodically analyzes conversation patterns to extract novel learning experiences\",\n alwaysRun: false,\n\n examples: [\n {\n prompt: \"The agent successfully executed a shell command after initially failing\",\n messages: [\n {\n name: \"Autoliza\",\n content: {\n text: \"Let me try to run this Python script.\",\n },\n },\n {\n name: \"Autoliza\",\n content: {\n text: \"Error: ModuleNotFoundError for pandas. I need to install it first.\",\n },\n },\n {\n name: \"Autoliza\",\n content: {\n text: \"After installing pandas, the script ran successfully and produced the expected output.\",\n },\n },\n ],\n outcome:\n \"Record a CORRECTION experience about needing to install dependencies before running Python scripts\",\n },\n {\n prompt: \"The agent discovered a new system capability\",\n messages: [\n {\n name: \"Autoliza\",\n content: {\n text: \"I found that the system has jq installed, which is perfect for parsing JSON data.\",\n },\n },\n ],\n outcome: \"Record a DISCOVERY experience about the availability of jq for JSON processing\",\n },\n ],\n\n async validate(runtime: IAgentRuntime, message: Memory, _state?: State): Promise<boolean> {\n // Only run every 10 messages and only on agent messages\n if (message.entityId !== runtime.agentId) {\n return false;\n }\n\n // Check cooldown - only extract experiences every 25 messages to reduce token cost\n const lastExtractionKey = \"experience-extraction:last-message-count\";\n const currentCount = (await runtime.getCache<string>(lastExtractionKey)) || \"0\";\n const messageCount = Number.parseInt(currentCount, 10);\n const newMessageCount = messageCount + 1;\n\n await runtime.setCache(lastExtractionKey, newMessageCount.toString());\n\n // Trigger extraction every 25 messages (was 10 — reduced to cut LLM costs by ~60%)\n const shouldExtract = newMessageCount % 25 === 0;\n\n if (shouldExtract) {\n logger.info(\n `[experienceEvaluator] Triggering experience extraction after ${newMessageCount} messages`\n );\n }\n\n return shouldExtract;\n },\n\n async handler(\n runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n _options?: HandlerOptions,\n _callback?: HandlerCallback,\n _responses?: Memory[]\n ): Promise<ActionResult | undefined> {\n void _options;\n void _callback;\n void _responses;\n void state;\n\n const experienceService = runtime.getService(\"EXPERIENCE\") as ExperienceService | null;\n\n if (!experienceService) {\n logger.warn(\"[experienceEvaluator] Experience service not available\");\n return;\n }\n\n const recentMessages = await runtime.getMemories({\n tableName: \"messages\",\n roomId: message.roomId,\n count: 10,\n unique: false,\n });\n\n if (recentMessages.length < 3) {\n logger.debug(\"[experienceEvaluator] Not enough messages for experience extraction\");\n return;\n }\n\n // Combine recent messages into analysis context\n const conversationContext = recentMessages\n .map((m: Memory) => m.content.text)\n .filter(Boolean)\n .join(\" \");\n\n // NOTE: We intentionally do NOT query existing experiences to embed in the prompt.\n // That added ~500-1000 tokens per call for dedup the LLM can't reliably do anyway.\n // Deduplication happens post-extraction via similarity check before recording.\n\n const extractionPrompt = composePrompt({\n state: {\n conversation_context: conversationContext,\n existing_experiences: \"None\",\n },\n template: EXTRACT_EXPERIENCES_TEMPLATE,\n });\n\n // Use TEXT_SMALL — extraction is a structured JSON task, not complex reasoning.\n // Saves 5-10x in token cost vs TEXT_LARGE.\n const response = await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: extractionPrompt,\n });\n\n const experiences = parseExtractedExperiences(response);\n\n const threshold = getNumberSetting(runtime, \"AUTO_RECORD_THRESHOLD\", 0.6);\n\n // Record each novel experience\n const experienceTypeMap: Record<string, ExperienceType> = {\n DISCOVERY: ExperienceType.DISCOVERY,\n CORRECTION: ExperienceType.CORRECTION,\n SUCCESS: ExperienceType.SUCCESS,\n LEARNING: ExperienceType.LEARNING,\n };\n\n for (const exp of experiences.slice(0, 3)) {\n // Max 3 experiences per extraction\n if (!exp.learning || typeof exp.confidence !== \"number\" || exp.confidence < threshold) {\n continue;\n }\n\n // Post-extraction dedup: skip if a very similar experience already exists\n const similar = await experienceService.findSimilarExperiences(exp.learning, 1);\n if (similar.length > 0) {\n // If the most similar existing experience shares a lot of the same words,\n // it's likely a duplicate — skip recording\n const existingLearning = similar[0].learning.toLowerCase();\n const newLearning = exp.learning.toLowerCase();\n const existingWords = new Set(existingLearning.split(/\\s+/).filter((w) => w.length > 3));\n const newWords = new Set(newLearning.split(/\\s+/).filter((w) => w.length > 3));\n const overlap = [...newWords].filter((w) => existingWords.has(w)).length;\n const union = new Set([...existingWords, ...newWords]).size;\n if (union > 0 && overlap / union > 0.6) {\n logger.debug(\n `[experienceEvaluator] Skipping duplicate experience: \"${exp.learning.substring(0, 80)}...\"`\n );\n continue;\n }\n }\n\n const normalizedType = typeof exp.type === \"string\" ? exp.type.toUpperCase() : \"\";\n const experienceType = experienceTypeMap[normalizedType] ?? ExperienceType.LEARNING;\n const experienceTag = experienceType;\n\n await experienceService.recordExperience({\n type: experienceType,\n outcome:\n experienceType === ExperienceType.CORRECTION ? OutcomeType.POSITIVE : OutcomeType.NEUTRAL,\n context: sanitizeContext(exp.context || \"Conversation analysis\"),\n action: \"pattern_recognition\",\n result: exp.learning,\n learning: sanitizeContext(exp.learning),\n domain: detectDomain(exp.learning),\n tags: [\"extracted\", \"novel\", experienceTag],\n confidence: Math.min(exp.confidence, 0.9), // Cap confidence\n importance: 0.8, // High importance for extracted experiences\n });\n\n logger.info(\n `[experienceEvaluator] Recorded novel experience: ${exp.learning.substring(0, 100)}...`\n );\n }\n\n if (experiences.length > 0) {\n logger.info(\n `[experienceEvaluator] Extracted ${experiences.length} novel experiences from conversation`\n );\n } else {\n logger.debug(\"[experienceEvaluator] No novel experiences found in recent conversation\");\n }\n\n return {\n success: true,\n data: {\n extractedCount: experiences.length,\n },\n values: {\n extractedCount: experiences.length.toString(),\n },\n };\n },\n};\n\nfunction parseExtractedExperiences(response: string): ExtractedExperience[] {\n const jsonMatch = response.match(/\\[[\\s\\S]*\\]/);\n if (!jsonMatch) return [];\n\n try {\n const parsed = JSON.parse(jsonMatch[0]) as ExtractedExperience[];\n if (!Array.isArray(parsed)) return [];\n return parsed.filter((item) => item && typeof item === \"object\");\n } catch {\n return [];\n }\n}\n\nfunction getNumberSetting(runtime: IAgentRuntime, key: string, fallback: number): number {\n const value = runtime.getSetting(key);\n if (typeof value === \"number\") return value;\n if (typeof value === \"string\") {\n const parsed = Number.parseFloat(value);\n return Number.isFinite(parsed) ? parsed : fallback;\n }\n return fallback;\n}\n\nfunction sanitizeContext(text: string): string {\n if (!text) return \"Unknown context\";\n\n // Remove user-specific details while preserving technical context\n return text\n .replace(/\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b/g, \"[EMAIL]\") // emails\n .replace(/\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b/g, \"[IP]\") // IP addresses\n .replace(/\\/Users\\/[^/\\s]+/g, \"/Users/[USER]\") // user directories\n .replace(/\\/home\\/[^/\\s]+/g, \"/home/[USER]\") // home directories\n .replace(/\\b[A-Z0-9]{20,}\\b/g, \"[TOKEN]\") // API keys/tokens\n .replace(/\\b(user|person|someone|they)\\s+(said|asked|told|mentioned)/gi, \"when asked\") // personal references\n .substring(0, 200); // limit length\n}\n\nfunction detectDomain(text: string): string {\n const domains: Record<string, string[]> = {\n shell: [\"command\", \"terminal\", \"bash\", \"shell\", \"execute\", \"script\", \"cli\"],\n coding: [\n \"code\",\n \"function\",\n \"variable\",\n \"syntax\",\n \"programming\",\n \"debug\",\n \"typescript\",\n \"javascript\",\n ],\n system: [\"file\", \"directory\", \"process\", \"memory\", \"cpu\", \"system\", \"install\", \"package\"],\n network: [\"http\", \"api\", \"request\", \"response\", \"url\", \"network\", \"fetch\", \"curl\"],\n data: [\"json\", \"csv\", \"database\", \"query\", \"data\", \"sql\", \"table\"],\n ai: [\"model\", \"llm\", \"embedding\", \"prompt\", \"token\", \"inference\"],\n };\n\n const lowerText = text.toLowerCase();\n\n for (const [domain, keywords] of Object.entries(domains)) {\n if (keywords.some((keyword) => lowerText.includes(keyword))) {\n return domain;\n }\n }\n\n return \"general\";\n}\n",
@@ -14,7 +14,7 @@
14
14
  "import type { Experience } from \"../types\";\nimport { ExperienceType } from \"../types\";\n\nexport interface DecayConfig {\n halfLife: number; // Time in milliseconds for confidence to decay by half\n minConfidence: number; // Minimum confidence level (never decays below this)\n decayStartDelay: number; // Time before decay starts (grace period)\n}\n\nconst DEFAULT_DECAY_CONFIG: DecayConfig = {\n halfLife: 30 * 24 * 60 * 60 * 1000, // 30 days\n minConfidence: 0.1, // 10% minimum\n decayStartDelay: 7 * 24 * 60 * 60 * 1000, // 7 days grace period\n};\n\nexport class ConfidenceDecayManager {\n private config: DecayConfig;\n\n constructor(config: Partial<DecayConfig> = {}) {\n this.config = { ...DEFAULT_DECAY_CONFIG, ...config };\n }\n\n /**\n * Calculate the decayed confidence for an experience\n */\n getDecayedConfidence(experience: Experience): number {\n const now = Date.now();\n const age = now - experience.createdAt;\n const specificConfig = this.getDomainSpecificDecay(experience);\n\n // No decay during grace period\n if (age < specificConfig.decayStartDelay) {\n return experience.confidence;\n }\n\n // Calculate decay based on half-life\n const decayTime = age - specificConfig.decayStartDelay;\n const halfLives = decayTime / specificConfig.halfLife;\n const decayFactor = 0.5 ** halfLives;\n\n // Apply decay but respect minimum\n const decayedConfidence = experience.confidence * decayFactor;\n return Math.max(specificConfig.minConfidence, decayedConfidence);\n }\n\n /**\n * Get experiences that need reinforcement (low confidence due to decay)\n */\n getExperiencesNeedingReinforcement(experiences: Experience[], threshold = 0.3): Experience[] {\n return experiences.filter((exp) => {\n const decayed = this.getDecayedConfidence(exp);\n return decayed < threshold && decayed > this.config.minConfidence;\n });\n }\n\n /**\n * Calculate reinforcement boost when an experience is validated\n */\n calculateReinforcementBoost(experience: Experience, validationStrength = 1.0): number {\n const currentConfidence = this.getDecayedConfidence(experience);\n const boost = (1 - currentConfidence) * validationStrength * 0.5;\n return Math.min(1, currentConfidence + boost);\n }\n\n /**\n * Adjust decay rate based on experience type and domain\n */\n getDomainSpecificDecay(experience: Experience): DecayConfig {\n const config = { ...this.config };\n\n // Facts and discoveries decay slower\n if (\n experience.type === ExperienceType.DISCOVERY ||\n experience.type === ExperienceType.LEARNING\n ) {\n config.halfLife *= 2; // Double the half-life\n }\n\n // Warnings and corrections decay slower (important to remember)\n if (\n experience.type === ExperienceType.WARNING ||\n experience.type === ExperienceType.CORRECTION\n ) {\n config.halfLife *= 1.5;\n config.minConfidence = 0.2; // Higher minimum\n }\n\n // Domain-specific adjustments\n switch (experience.domain) {\n case \"security\":\n case \"safety\":\n config.halfLife *= 3; // Security lessons decay very slowly\n config.minConfidence = 0.3;\n break;\n case \"performance\":\n config.halfLife *= 0.5; // Performance insights may change quickly\n break;\n case \"user_preference\":\n config.halfLife *= 0.7; // User preferences can change\n break;\n }\n\n return config;\n }\n\n /**\n * Get confidence trend for an experience over time\n */\n getConfidenceTrend(\n experience: Experience,\n points = 10\n ): Array<{ timestamp: number; confidence: number }> {\n const trend: Array<{ timestamp: number; confidence: number }> = [];\n const now = Date.now();\n const totalTime = now - experience.createdAt;\n const interval = totalTime / (points - 1);\n const specificConfig = this.getDomainSpecificDecay(experience);\n\n for (let i = 0; i < points; i++) {\n const timestamp = experience.createdAt + interval * i;\n const age = timestamp - experience.createdAt;\n\n let confidence: number;\n if (age < specificConfig.decayStartDelay) {\n confidence = experience.confidence;\n } else {\n const decayTime = age - specificConfig.decayStartDelay;\n const halfLives = decayTime / specificConfig.halfLife;\n const decayFactor = 0.5 ** halfLives;\n confidence = Math.max(specificConfig.minConfidence, experience.confidence * decayFactor);\n }\n\n trend.push({ timestamp, confidence });\n }\n\n return trend;\n }\n}\n",
15
15
  "import type { UUID } from \"@elizaos/core\";\nimport type { Experience, JsonObject } from \"../types\";\nimport { ExperienceType, OutcomeType } from \"../types\";\n\nexport interface ExperienceChain {\n rootExperience: string; // UUID of the root experience\n chain: string[]; // Ordered list of experience IDs\n strength: number; // How strong the causal relationship is\n validated: boolean; // Whether the chain has been validated\n}\n\nexport interface ExperienceRelationship {\n fromId: string;\n toId: string;\n type: \"causes\" | \"contradicts\" | \"supports\" | \"supersedes\" | \"related\";\n strength: number; // 0-1\n metadata?: JsonObject;\n}\n\nexport class ExperienceRelationshipManager {\n private relationships: Map<string, ExperienceRelationship[]> = new Map();\n\n addRelationship(relationship: ExperienceRelationship): void {\n const { fromId } = relationship;\n if (!this.relationships.has(fromId)) {\n this.relationships.set(fromId, []);\n }\n this.relationships.get(fromId)?.push(relationship);\n }\n\n findRelationships(experienceId: string, type?: string): ExperienceRelationship[] {\n const rels = this.relationships.get(experienceId) || [];\n if (type) {\n return rels.filter((r) => r.type === type);\n }\n return rels;\n }\n\n detectCausalChain(experiences: Experience[]): ExperienceChain[] {\n const chains: ExperienceChain[] = [];\n\n // Sort experiences by timestamp\n const sorted = [...experiences].sort((a, b) => a.createdAt - b.createdAt);\n\n // Look for sequences where validation follows hypothesis\n for (let i = 0; i < sorted.length - 1; i++) {\n const current = sorted[i];\n if (!current) {\n continue;\n }\n\n if (current.type === ExperienceType.HYPOTHESIS) {\n const chain: string[] = [current.id];\n let j = i + 1;\n\n // Look for related experiences\n while (j < sorted.length) {\n const next = sorted[j];\n if (!next) {\n j++;\n continue;\n }\n\n // Check if next experience validates or contradicts the hypothesis\n if (next.relatedExperiences?.includes(current.id) || this.isRelated(current, next)) {\n chain.push(next.id);\n\n // If we found a validation, create a chain\n if (next.type === ExperienceType.VALIDATION) {\n chains.push({\n rootExperience: current.id,\n chain,\n strength: next.confidence,\n validated: next.outcome === OutcomeType.POSITIVE,\n });\n break;\n }\n }\n j++;\n }\n }\n }\n\n return chains;\n }\n\n private isRelated(exp1: Experience, exp2: Experience): boolean {\n // Check domain match\n if (exp1.domain === exp2.domain) {\n // Check temporal proximity (within 5 minutes)\n const timeDiff = Math.abs(exp2.createdAt - exp1.createdAt);\n if (timeDiff < 5 * 60 * 1000) {\n // Check content similarity\n if (this.contentSimilarity(exp1, exp2) > 0.7) {\n return true;\n }\n }\n }\n return false;\n }\n\n private contentSimilarity(exp1: Experience, exp2: Experience): number {\n // Simple keyword overlap for now\n const words1 = new Set(exp1.learning.toLowerCase().split(/\\s+/));\n const words2 = new Set(exp2.learning.toLowerCase().split(/\\s+/));\n\n const intersection = new Set([...words1].filter((x) => words2.has(x)));\n const union = new Set([...words1, ...words2]);\n\n return intersection.size / union.size;\n }\n\n findContradictions(experience: Experience, allExperiences: Experience[]): Experience[] {\n const contradictions: Experience[] = [];\n\n for (const other of allExperiences) {\n if (other.id === experience.id) continue;\n\n // Same action, different outcome\n if (\n other.action === experience.action &&\n other.outcome !== experience.outcome &&\n other.domain === experience.domain\n ) {\n contradictions.push(other);\n }\n\n // Explicit contradiction relationship\n const rels = this.findRelationships(experience.id, \"contradicts\");\n if (rels.some((r) => r.toId === other.id)) {\n contradictions.push(other);\n }\n }\n\n return contradictions;\n }\n\n getExperienceImpact(experienceId: string, allExperiences: Experience[]): number {\n let impact = 0;\n\n for (const exp of allExperiences) {\n if (exp.relatedExperiences?.includes(experienceId as UUID)) {\n impact += exp.importance;\n }\n }\n\n // Add impact from relationships\n const relationships = this.findRelationships(experienceId);\n for (const rel of relationships) {\n if (rel.type === \"causes\") {\n impact += rel.strength;\n }\n }\n\n return impact;\n }\n}\n"
16
16
  ],
17
- "mappings": "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",
18
- "debugId": "21141D6C2118F96564756E2164756E21",
17
+ "mappings": ";AACA,mBAAS;;;ACDT;AAAA;AAAA;AAAA;;;AC4BO,IAAM,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,SAAS;AAAA,IACP;AAAA,MACE,MAAM;AAAA,MACN,aACE;AAAA,MACF,SAAS,CAAC,YAAY,SAAS,oBAAoB,mBAAmB,iBAAiB;AAAA,MACvF,YAAY,CAAC;AAAA,MACb,UAAU;AAAA,QACR;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS,CAAC,mBAAmB;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS,CAAC,mBAAmB;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AACO,IAAM,iBAAiB;AAAA,EAC5B,SAAS;AAAA,EACT,SAAS;AAAA,IACP;AAAA,MACE,MAAM;AAAA,MACN,aACE;AAAA,MACF,SAAS,CAAC,YAAY,SAAS,oBAAoB,mBAAmB,iBAAiB;AAAA,MACvF,YAAY,CAAC;AAAA,MACb,UAAU;AAAA,QACR;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS,CAAC,mBAAmB;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,cACN,SAAS,CAAC,mBAAmB;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,UACA;AAAA,YACE,MAAM;AAAA,YACN,SAAS;AAAA,cACP,MAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AACO,IAAM,oBAAoB;AAAA,EAC/B,SAAS;AAAA,EACT,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AACF;AACO,IAAM,mBAAmB;AAAA,EAC9B,SAAS;AAAA,EACT,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AACF;AACO,IAAM,qBAAqB;AAAA,EAChC,SAAS;AAAA,EACT,YAAY,CAAC;AACf;AACO,IAAM,oBAAoB;AAAA,EAC/B,SAAS;AAAA,EACT,YAAY,CAAC;AACf;AAEO,IAAM,iBAAuC,gBAAgB;AAC7D,IAAM,gBAAsC,eAAe;AAC3D,IAAM,mBAA2C,kBAAkB;AACnE,IAAM,kBAA0C,iBAAiB;AACjE,IAAM,oBAA6C,mBAAmB;AACtE,IAAM,mBAA4C,kBAAkB;;;ACzL3E,IAAM,gBAAgB,IAAI,IAAuB,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;AAC7F,IAAM,eAAe,IAAI,IAAuB,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;AAC3F,IAAM,kBAAkB,IAAI,IAC1B,iBAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,CAC/C;AACA,IAAM,iBAAiB,IAAI,IAAyB,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;AACjG,IAAM,mBAAmB,IAAI,IAC3B,kBAAkB,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,CAChD;AACA,IAAM,kBAAkB,IAAI,IAC1B,iBAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,CAC/C;AAOO,SAAS,aAAa,CAAC,MAAqC;AAAA,EACjE,OAAO,cAAc,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI;AAAA;AASlD,SAAS,iBAAiB,CAAC,MAAyB;AAAA,EACzD,MAAM,OAAO,cAAc,IAAI;AAAA,EAC/B,IAAI,CAAC,MAAM;AAAA,IACT,MAAM,IAAI,MAAM,0BAA0B,MAAM;AAAA,EAClD;AAAA,EACA,OAAO;AAAA;AAQF,SAAS,eAAe,CAAC,MAAuC;AAAA,EACrE,OAAO,gBAAgB,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI;AAAA;AAStD,SAAS,mBAAmB,CAAC,MAA2B;AAAA,EAC7D,MAAM,OAAO,gBAAgB,IAAI;AAAA,EACjC,IAAI,CAAC,MAAM;AAAA,IACT,MAAM,IAAI,MAAM,4BAA4B,MAAM;AAAA,EACpD;AAAA,EACA,OAAO;AAAA;;;AF/DT,IAAM,OAAO,kBAAkB,mBAAmB;AAE3C,IAAM,yBAAiC;AAAA,EAC5C,MAAM,KAAK;AAAA,EACX,SAAS,KAAK,UAAU,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC;AAAA,EAC7C,aAAa,KAAK;AAAA,EAClB,UAAW,KAAK,YAAY,CAAC;AAAA,EAE7B,UAAU,OAAO,SAAc,SAAc,OAAa,YAAoC;AAAA,IAC5F,MAAM,cAAc,OAAO,SAAS,SAAS,SAAS,WAAW,QAAQ,QAAQ,OAAO;AAAA,IACxF,MAAM,WAAW,YAAY,YAAY;AAAA,IACzC,MAAM,eAAe,CAAC,UAAU,YAAY;AAAA,IAC5C,MAAM,gBACJ,aAAa,SAAS,KAAK,aAAa,KAAK,CAAC,OAAO,GAAG,SAAS,KAAK,SAAS,SAAS,EAAE,CAAC;AAAA,IAC7F,MAAM,YAAY;AAAA,IAClB,MAAM,cAAc,QAAQ,SAAS,MAAM,SAAS,CAAC;AAAA,IACrD,MAAM,aAAa,OAAO,SAAS,SAAS,UAAU,SAAS,UAAU,EAAE;AAAA,IAC3E,MAAM,qBAAqB;AAAA,IAC3B,MAAM,eAAe,qBACjB,eAAe,qBACf,QAAQ,cAAc,SAAS,SAAS,WAAW,SAAS,UAAU;AAAA,IAC1E,MAAM,cAAc,WAAW,OAAO,YAAY,WAAW,UAAU,CAAC;AAAA,IACxE,MAAM,cACJ,SAAS,KAAK,EAAE,SAAS,KACzB,OAAO,KAAK,WAAsC,EAAE,SAAS,KAC7D,QAAQ,SAAS,WAAW,OAAO,QAAQ,YAAY,QAAQ;AAAA,IAEjE,IAAI,EAAE,iBAAiB,eAAe,gBAAgB,cAAc;AAAA,MAClE,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,qBAAqB,OAAO,UAAyB,aAAoB;AAAA,MAC7E,MAAM,OAAO,SAAQ,QAAQ,MAAM,YAAY;AAAA,MAC/C,OAAO,MAAM,SAAS,UAAU,KAAK,MAAM,SAAS,QAAQ,KAAK;AAAA;AAAA,IAEnE,IAAI;AAAA,MACF,OAAO,QAAQ,MAAO,mBAA2B,SAAS,SAAS,OAAO,OAAO,CAAC;AAAA,MAClF,MAAM;AAAA,MACN,OAAO;AAAA;AAAA;AAAA,OAIL,QAAO,CACX,SACA,SACA,OACA,UACA,WACuB;AAAA,IAIvB,OAAO,KAAK,qCAAqC,QAAQ,EAAE;AAAA,IAG3D,MAAM,mBAA2B;AAAA,MAC/B,IAAI,iBAAiB,SAAS,cAAc,QAAQ,IAAI;AAAA,MACxD,UAAU,QAAQ;AAAA,MAClB,SAAS,QAAQ;AAAA,MACjB,QAAQ,QAAQ;AAAA,MAChB,SAAS;AAAA,QACP,MAAM,QAAQ,QAAQ;AAAA,QACtB,QAAQ,QAAQ,QAAQ;AAAA,QACxB,MAAM;AAAA,QACN,SAAS,OAAO;AAAA,MAClB;AAAA,MACA,WAAW,KAAK,IAAI;AAAA,IACtB;AAAA,IAGA,MAAM,QAAQ,aAAa,kBAAkB,eAAe,IAAI;AAAA,IAChE,OAAO,KAAK,kCAAkC;AAAA,IAE9C,OAAO;AAAA,MACL,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,oBAAoB,iBAAiB;AAAA,MACvC;AAAA,IACF;AAAA;AAEJ;;;AG/FA;AAAA;AAAA,YAOE;AAAA;AAAA;;;ACGK,IAAM,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgCnC,IAAM,+BAA+B;;;AC5BrC,IAAM,wBAAwB;AAAA,EACnC,YAAY;AACd;AAEO,IAAK;AAAA,CAAL,CAAK,oBAAL;AAAA,EACL,6BAAU;AAAA,EACV,6BAAU;AAAA,EACV,+BAAY;AAAA,EACZ,gCAAa;AAAA,EACb,8BAAW;AAAA,EACX,gCAAa;AAAA,EACb,gCAAa;AAAA,EACb,6BAAU;AAAA,GARA;AAWL,IAAK;AAAA,CAAL,CAAK,iBAAL;AAAA,EACL,2BAAW;AAAA,EACX,2BAAW;AAAA,EACX,0BAAU;AAAA,EACV,wBAAQ;AAAA,GAJE;;;AFLL,IAAM,sBAAiC;AAAA,EAC5C,MAAM;AAAA,EACN,SAAS,CAAC,uBAAuB,sBAAsB,iBAAiB;AAAA,EACxE,aAAa;AAAA,EACb,WAAW;AAAA,EAEX,UAAU;AAAA,IACR;AAAA,MACE,QAAQ;AAAA,MACR,UAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,YACP,MAAM;AAAA,UACR;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,YACP,MAAM;AAAA,UACR;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,YACP,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MACA,SACE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,QAAQ;AAAA,MACR,UAAU;AAAA,QACR;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,YACP,MAAM;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS;AAAA,IACX;AAAA,EACF;AAAA,OAEM,SAAQ,CAAC,SAAwB,SAAiB,QAAkC;AAAA,IAExF,IAAI,QAAQ,aAAa,QAAQ,SAAS;AAAA,MACxC,OAAO;AAAA,IACT;AAAA,IAGA,MAAM,oBAAoB;AAAA,IAC1B,MAAM,eAAgB,MAAM,QAAQ,SAAiB,iBAAiB,KAAM;AAAA,IAC5E,MAAM,eAAe,OAAO,SAAS,cAAc,EAAE;AAAA,IACrD,MAAM,kBAAkB,eAAe;AAAA,IAEvC,MAAM,QAAQ,SAAS,mBAAmB,gBAAgB,SAAS,CAAC;AAAA,IAGpE,MAAM,gBAAgB,kBAAkB,OAAO;AAAA,IAE/C,IAAI,eAAe;AAAA,MACjB,QAAO,KACL,gEAAgE,0BAClE;AAAA,IACF;AAAA,IAEA,OAAO;AAAA;AAAA,OAGH,QAAO,CACX,SACA,SACA,OACA,UACA,WACA,YACmC;AAAA,IAMnC,MAAM,oBAAoB,QAAQ,WAAW,YAAY;AAAA,IAEzD,IAAI,CAAC,mBAAmB;AAAA,MACtB,QAAO,KAAK,wDAAwD;AAAA,MACpE;AAAA,IACF;AAAA,IAEA,MAAM,iBAAiB,MAAM,QAAQ,YAAY;AAAA,MAC/C,WAAW;AAAA,MACX,QAAQ,QAAQ;AAAA,MAChB,OAAO;AAAA,MACP,QAAQ;AAAA,IACV,CAAC;AAAA,IAED,IAAI,eAAe,SAAS,GAAG;AAAA,MAC7B,QAAO,MAAM,qEAAqE;AAAA,MAClF;AAAA,IACF;AAAA,IAGA,MAAM,sBAAsB,eACzB,IAAI,CAAC,MAAc,EAAE,QAAQ,IAAI,EACjC,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IAMX,MAAM,mBAAmB,cAAc;AAAA,MACrC,OAAO;AAAA,QACL,sBAAsB;AAAA,QACtB,sBAAsB;AAAA,MACxB;AAAA,MACA,UAAU;AAAA,IACZ,CAAC;AAAA,IAID,MAAM,WAAW,MAAM,QAAQ,SAAS,UAAU,YAAY;AAAA,MAC5D,QAAQ;AAAA,IACV,CAAC;AAAA,IAED,MAAM,cAAc,0BAA0B,QAAQ;AAAA,IAEtD,MAAM,YAAY,iBAAiB,SAAS,yBAAyB,GAAG;AAAA,IAGxE,MAAM,oBAAoD;AAAA,MACxD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IAEA,WAAW,OAAO,YAAY,MAAM,GAAG,CAAC,GAAG;AAAA,MAEzC,IAAI,CAAC,IAAI,YAAY,OAAO,IAAI,eAAe,YAAY,IAAI,aAAa,WAAW;AAAA,QACrF;AAAA,MACF;AAAA,MAGA,MAAM,UAAU,MAAM,kBAAkB,uBAAuB,IAAI,UAAU,CAAC;AAAA,MAC9E,IAAI,QAAQ,SAAS,GAAG;AAAA,QAGtB,MAAM,mBAAmB,QAAQ,GAAG,SAAS,YAAY;AAAA,QACzD,MAAM,cAAc,IAAI,SAAS,YAAY;AAAA,QAC7C,MAAM,gBAAgB,IAAI,IAAI,iBAAiB,MAAM,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAAA,QACvF,MAAM,WAAW,IAAI,IAAI,YAAY,MAAM,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAAA,QAC7E,MAAM,UAAU,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,cAAc,IAAI,CAAC,CAAC,EAAE;AAAA,QAClE,MAAM,QAAQ,IAAI,IAAI,CAAC,GAAG,eAAe,GAAG,QAAQ,CAAC,EAAE;AAAA,QACvD,IAAI,QAAQ,KAAK,UAAU,QAAQ,KAAK;AAAA,UACtC,QAAO,MACL,yDAAyD,IAAI,SAAS,UAAU,GAAG,EAAE,OACvF;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,MAEA,MAAM,iBAAiB,OAAO,IAAI,SAAS,WAAW,IAAI,KAAK,YAAY,IAAI;AAAA,MAC/E,MAAM,iBAAiB,kBAAkB;AAAA,MACzC,MAAM,gBAAgB;AAAA,MAEtB,MAAM,kBAAkB,iBAAiB;AAAA,QACvC,MAAM;AAAA,QACN,SACE;AAAA,QACF,SAAS,gBAAgB,IAAI,WAAW,uBAAuB;AAAA,QAC/D,QAAQ;AAAA,QACR,QAAQ,IAAI;AAAA,QACZ,UAAU,gBAAgB,IAAI,QAAQ;AAAA,QACtC,QAAQ,aAAa,IAAI,QAAQ;AAAA,QACjC,MAAM,CAAC,aAAa,SAAS,aAAa;AAAA,QAC1C,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG;AAAA,QACxC,YAAY;AAAA,MACd,CAAC;AAAA,MAED,QAAO,KACL,oDAAoD,IAAI,SAAS,UAAU,GAAG,GAAG,MACnF;AAAA,IACF;AAAA,IAEA,IAAI,YAAY,SAAS,GAAG;AAAA,MAC1B,QAAO,KACL,mCAAmC,YAAY,4CACjD;AAAA,IACF,EAAO;AAAA,MACL,QAAO,MAAM,yEAAyE;AAAA;AAAA,IAGxF,OAAO;AAAA,MACL,SAAS;AAAA,MACT,MAAM;AAAA,QACJ,gBAAgB,YAAY;AAAA,MAC9B;AAAA,MACA,QAAQ;AAAA,QACN,gBAAgB,YAAY,OAAO,SAAS;AAAA,MAC9C;AAAA,IACF;AAAA;AAEJ;AAEA,SAAS,yBAAyB,CAAC,UAAyC;AAAA,EAC1E,MAAM,YAAY,SAAS,MAAM,aAAa;AAAA,EAC9C,IAAI,CAAC;AAAA,IAAW,OAAO,CAAC;AAAA,EAExB,IAAI;AAAA,IACF,MAAM,SAAS,KAAK,MAAM,UAAU,EAAE;AAAA,IACtC,IAAI,CAAC,MAAM,QAAQ,MAAM;AAAA,MAAG,OAAO,CAAC;AAAA,IACpC,OAAO,OAAO,OAAO,CAAC,SAAS,QAAQ,OAAO,SAAS,QAAQ;AAAA,IAC/D,MAAM;AAAA,IACN,OAAO,CAAC;AAAA;AAAA;AAIZ,SAAS,gBAAgB,CAAC,SAAwB,KAAa,UAA0B;AAAA,EACvF,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,OAAO,UAAU;AAAA,IAAU,OAAO;AAAA,EACtC,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,MAAM,SAAS,OAAO,WAAW,KAAK;AAAA,IACtC,OAAO,OAAO,SAAS,MAAM,IAAI,SAAS;AAAA,EAC5C;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,eAAe,CAAC,MAAsB;AAAA,EAC7C,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAGlB,OAAO,KACJ,QAAQ,wDAAwD,SAAS,EACzE,QAAQ,2CAA2C,MAAM,EACzD,QAAQ,qBAAqB,eAAe,EAC5C,QAAQ,oBAAoB,cAAc,EAC1C,QAAQ,sBAAsB,SAAS,EACvC,QAAQ,gEAAgE,YAAY,EACpF,UAAU,GAAG,GAAG;AAAA;AAGrB,SAAS,YAAY,CAAC,MAAsB;AAAA,EAC1C,MAAM,UAAoC;AAAA,IACxC,OAAO,CAAC,WAAW,YAAY,QAAQ,SAAS,WAAW,UAAU,KAAK;AAAA,IAC1E,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,QAAQ,aAAa,WAAW,UAAU,OAAO,UAAU,WAAW,SAAS;AAAA,IACxF,SAAS,CAAC,QAAQ,OAAO,WAAW,YAAY,OAAO,WAAW,SAAS,MAAM;AAAA,IACjF,MAAM,CAAC,QAAQ,OAAO,YAAY,SAAS,QAAQ,OAAO,OAAO;AAAA,IACjE,IAAI,CAAC,SAAS,OAAO,aAAa,UAAU,SAAS,WAAW;AAAA,EAClE;AAAA,EAEA,MAAM,YAAY,KAAK,YAAY;AAAA,EAEnC,YAAY,QAAQ,aAAa,OAAO,QAAQ,OAAO,GAAG;AAAA,IACxD,IAAI,SAAS,KAAK,CAAC,YAAY,UAAU,SAAS,OAAO,CAAC,GAAG;AAAA,MAC3D,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;;;AGxST;AAAA,YAEE;AAAA;AAaF,IAAM,QAAO,oBAAoB,oBAAoB;AAE9C,IAAM,qBAA+B;AAAA,EAC1C,MAAM,MAAK;AAAA,EACX,aAAa;AAAA,EAEb,SAAS;AAAA,OACH,IAAG,CAAC,SAAwB,SAAiB,QAAyC;AAAA,IAC1F,MAAM,oBAAoB,QAAQ,WAAW,YAAY;AAAA,IAEzD,IAAI,CAAC,mBAAmB;AAAA,MACtB,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE;AAAA,IAC1C;AAAA,IAGA,MAAM,cAAc,QAAQ,QAAQ,QAAQ;AAAA,IAC5C,IAAI,YAAY,SAAS,IAAI;AAAA,MAC3B,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE;AAAA,IAC1C;AAAA,IAGA,MAAM,sBAAsB,MAAM,kBAAkB,iBAAiB;AAAA,MACnE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,eAAe;AAAA,MACf,eAAe;AAAA,IACjB,CAAC;AAAA,IAED,IAAI,oBAAoB,WAAW,GAAG;AAAA,MACpC,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE;AAAA,IAC1C;AAAA,IAGA,MAAM,iBAAiB,oBACpB,IAAI,CAAC,KAAK,UAAU;AAAA,MACnB,OAAO,cAAc,QAAQ,SAAS,IAAI,wBAAwB,IAAI,uBAAuB,IAAI;AAAA,KAClG,EACA,KAAK;AAAA,CAAI;AAAA,IAEZ,MAAM,cAAc;AAAA,EAA2B;AAAA;AAAA,IAE/C,QAAO,MACL,kCAAkC,oBAAoB,6BACxD;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,aAAa;AAAA,QACb,OAAO,oBAAoB;AAAA,MAC7B;AAAA,MACA,QAAQ;AAAA,QACN,iBAAiB,oBAAoB,OAAO,SAAS;AAAA,MACvD;AAAA,IACF;AAAA;AAEJ;;;ACvEA;AAAA,YAEE;AAAA,eACA;AAAA;AAAA;AAKF,eAAS;;;ACCT,IAAM,uBAAoC;AAAA,EACxC,UAAU,KAAK,KAAK,KAAK,KAAK;AAAA,EAC9B,eAAe;AAAA,EACf,iBAAiB,IAAI,KAAK,KAAK,KAAK;AACtC;AAAA;AAEO,MAAM,uBAAuB;AAAA,EAC1B;AAAA,EAER,WAAW,CAAC,SAA+B,CAAC,GAAG;AAAA,IAC7C,KAAK,SAAS,KAAK,yBAAyB,OAAO;AAAA;AAAA,EAMrD,oBAAoB,CAAC,YAAgC;AAAA,IACnD,MAAM,MAAM,KAAK,IAAI;AAAA,IACrB,MAAM,MAAM,MAAM,WAAW;AAAA,IAC7B,MAAM,iBAAiB,KAAK,uBAAuB,UAAU;AAAA,IAG7D,IAAI,MAAM,eAAe,iBAAiB;AAAA,MACxC,OAAO,WAAW;AAAA,IACpB;AAAA,IAGA,MAAM,YAAY,MAAM,eAAe;AAAA,IACvC,MAAM,YAAY,YAAY,eAAe;AAAA,IAC7C,MAAM,cAAc,OAAO;AAAA,IAG3B,MAAM,oBAAoB,WAAW,aAAa;AAAA,IAClD,OAAO,KAAK,IAAI,eAAe,eAAe,iBAAiB;AAAA;AAAA,EAMjE,kCAAkC,CAAC,aAA2B,YAAY,KAAmB;AAAA,IAC3F,OAAO,YAAY,OAAO,CAAC,QAAQ;AAAA,MACjC,MAAM,UAAU,KAAK,qBAAqB,GAAG;AAAA,MAC7C,OAAO,UAAU,aAAa,UAAU,KAAK,OAAO;AAAA,KACrD;AAAA;AAAA,EAMH,2BAA2B,CAAC,YAAwB,qBAAqB,GAAa;AAAA,IACpF,MAAM,oBAAoB,KAAK,qBAAqB,UAAU;AAAA,IAC9D,MAAM,SAAS,IAAI,qBAAqB,qBAAqB;AAAA,IAC7D,OAAO,KAAK,IAAI,GAAG,oBAAoB,KAAK;AAAA;AAAA,EAM9C,sBAAsB,CAAC,YAAqC;AAAA,IAC1D,MAAM,SAAS,KAAK,KAAK,OAAO;AAAA,IAGhC,IACE,WAAW,wCACX,WAAW,oCACX;AAAA,MACA,OAAO,YAAY;AAAA,IACrB;AAAA,IAGA,IACE,WAAW,oCACX,WAAW,wCACX;AAAA,MACA,OAAO,YAAY;AAAA,MACnB,OAAO,gBAAgB;AAAA,IACzB;AAAA,IAGA,QAAQ,WAAW;AAAA,WACZ;AAAA,WACA;AAAA,QACH,OAAO,YAAY;AAAA,QACnB,OAAO,gBAAgB;AAAA,QACvB;AAAA,WACG;AAAA,QACH,OAAO,YAAY;AAAA,QACnB;AAAA,WACG;AAAA,QACH,OAAO,YAAY;AAAA,QACnB;AAAA;AAAA,IAGJ,OAAO;AAAA;AAAA,EAMT,kBAAkB,CAChB,YACA,SAAS,IACyC;AAAA,IAClD,MAAM,QAA0D,CAAC;AAAA,IACjE,MAAM,MAAM,KAAK,IAAI;AAAA,IACrB,MAAM,YAAY,MAAM,WAAW;AAAA,IACnC,MAAM,WAAW,aAAa,SAAS;AAAA,IACvC,MAAM,iBAAiB,KAAK,uBAAuB,UAAU;AAAA,IAE7D,SAAS,IAAI,EAAG,IAAI,QAAQ,KAAK;AAAA,MAC/B,MAAM,YAAY,WAAW,YAAY,WAAW;AAAA,MACpD,MAAM,MAAM,YAAY,WAAW;AAAA,MAEnC,IAAI;AAAA,MACJ,IAAI,MAAM,eAAe,iBAAiB;AAAA,QACxC,aAAa,WAAW;AAAA,MAC1B,EAAO;AAAA,QACL,MAAM,YAAY,MAAM,eAAe;AAAA,QACvC,MAAM,YAAY,YAAY,eAAe;AAAA,QAC7C,MAAM,cAAc,OAAO;AAAA,QAC3B,aAAa,KAAK,IAAI,eAAe,eAAe,WAAW,aAAa,WAAW;AAAA;AAAA,MAGzF,MAAM,KAAK,EAAE,WAAW,WAAW,CAAC;AAAA,IACtC;AAAA,IAEA,OAAO;AAAA;AAEX;;;ACtHO,MAAM,8BAA8B;AAAA,EACjC,gBAAuD,IAAI;AAAA,EAEnE,eAAe,CAAC,cAA4C;AAAA,IAC1D,QAAQ,WAAW;AAAA,IACnB,IAAI,CAAC,KAAK,cAAc,IAAI,MAAM,GAAG;AAAA,MACnC,KAAK,cAAc,IAAI,QAAQ,CAAC,CAAC;AAAA,IACnC;AAAA,IACA,KAAK,cAAc,IAAI,MAAM,GAAG,KAAK,YAAY;AAAA;AAAA,EAGnD,iBAAiB,CAAC,cAAsB,MAAyC;AAAA,IAC/E,MAAM,OAAO,KAAK,cAAc,IAAI,YAAY,KAAK,CAAC;AAAA,IACtD,IAAI,MAAM;AAAA,MACR,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI;AAAA,IAC3C;AAAA,IACA,OAAO;AAAA;AAAA,EAGT,iBAAiB,CAAC,aAA8C;AAAA,IAC9D,MAAM,SAA4B,CAAC;AAAA,IAGnC,MAAM,SAAS,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,YAAY,EAAE,SAAS;AAAA,IAGxE,SAAS,IAAI,EAAG,IAAI,OAAO,SAAS,GAAG,KAAK;AAAA,MAC1C,MAAM,UAAU,OAAO;AAAA,MACvB,IAAI,CAAC,SAAS;AAAA,QACZ;AAAA,MACF;AAAA,MAEA,IAAI,QAAQ,wCAAoC;AAAA,QAC9C,MAAM,QAAkB,CAAC,QAAQ,EAAE;AAAA,QACnC,IAAI,IAAI,IAAI;AAAA,QAGZ,OAAO,IAAI,OAAO,QAAQ;AAAA,UACxB,MAAM,OAAO,OAAO;AAAA,UACpB,IAAI,CAAC,MAAM;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UAGA,IAAI,KAAK,oBAAoB,SAAS,QAAQ,EAAE,KAAK,KAAK,UAAU,SAAS,IAAI,GAAG;AAAA,YAClF,MAAM,KAAK,KAAK,EAAE;AAAA,YAGlB,IAAI,KAAK,wCAAoC;AAAA,cAC3C,OAAO,KAAK;AAAA,gBACV,gBAAgB,QAAQ;AAAA,gBACxB;AAAA,gBACA,UAAU,KAAK;AAAA,gBACf,WAAW,KAAK;AAAA,cAClB,CAAC;AAAA,cACD;AAAA,YACF;AAAA,UACF;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAO;AAAA;AAAA,EAGD,SAAS,CAAC,MAAkB,MAA2B;AAAA,IAE7D,IAAI,KAAK,WAAW,KAAK,QAAQ;AAAA,MAE/B,MAAM,WAAW,KAAK,IAAI,KAAK,YAAY,KAAK,SAAS;AAAA,MACzD,IAAI,WAAW,IAAI,KAAK,MAAM;AAAA,QAE5B,IAAI,KAAK,kBAAkB,MAAM,IAAI,IAAI,KAAK;AAAA,UAC5C,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAAA,EAGD,iBAAiB,CAAC,MAAkB,MAA0B;AAAA,IAEpE,MAAM,SAAS,IAAI,IAAI,KAAK,SAAS,YAAY,EAAE,MAAM,KAAK,CAAC;AAAA,IAC/D,MAAM,SAAS,IAAI,IAAI,KAAK,SAAS,YAAY,EAAE,MAAM,KAAK,CAAC;AAAA,IAE/D,MAAM,eAAe,IAAI,IAAI,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC,CAAC;AAAA,IACrE,MAAM,QAAQ,IAAI,IAAI,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC;AAAA,IAE5C,OAAO,aAAa,OAAO,MAAM;AAAA;AAAA,EAGnC,kBAAkB,CAAC,YAAwB,gBAA4C;AAAA,IACrF,MAAM,iBAA+B,CAAC;AAAA,IAEtC,WAAW,SAAS,gBAAgB;AAAA,MAClC,IAAI,MAAM,OAAO,WAAW;AAAA,QAAI;AAAA,MAGhC,IACE,MAAM,WAAW,WAAW,UAC5B,MAAM,YAAY,WAAW,WAC7B,MAAM,WAAW,WAAW,QAC5B;AAAA,QACA,eAAe,KAAK,KAAK;AAAA,MAC3B;AAAA,MAGA,MAAM,OAAO,KAAK,kBAAkB,WAAW,IAAI,aAAa;AAAA,MAChE,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG;AAAA,QACzC,eAAe,KAAK,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,IAEA,OAAO;AAAA;AAAA,EAGT,mBAAmB,CAAC,cAAsB,gBAAsC;AAAA,IAC9E,IAAI,SAAS;AAAA,IAEb,WAAW,OAAO,gBAAgB;AAAA,MAChC,IAAI,IAAI,oBAAoB,SAAS,YAAoB,GAAG;AAAA,QAC1D,UAAU,IAAI;AAAA,MAChB;AAAA,IACF;AAAA,IAGA,MAAM,gBAAgB,KAAK,kBAAkB,YAAY;AAAA,IACzD,WAAW,OAAO,eAAe;AAAA,MAC/B,IAAI,IAAI,SAAS,UAAU;AAAA,QACzB,UAAU,IAAI;AAAA,MAChB;AAAA,IACF;AAAA,IAEA,OAAO;AAAA;AAEX;;;AFxIO,MAAM,0BAA0B,QAAQ;AAAA,SAC7B,cAA+B,sBAAsB;AAAA,EAC5D,wBACP;AAAA,EAEM,cAAqC,IAAI;AAAA,EACzC,sBAA8C,IAAI;AAAA,EAClD,oBAAoD,IAAI;AAAA,EACxD,mBAA8B,IAAI;AAAA,EAClC,eAAsD;AAAA,EACtD;AAAA,EACA;AAAA,EAER,WAAW,CAAC,SAAwB;AAAA,IAClC,MAAM,OAAO;AAAA,IACb,KAAK,eAAe,IAAI;AAAA,IACxB,KAAK,sBAAsB,IAAI;AAAA,IAE1B,KAAK,gBAAgB;AAAA,IAG1B,KAAK,eAAe,YAAY,MAAM;AAAA,MAC/B,KAAK,wBAAwB;AAAA,OACjC,KAAM;AAAA;AAAA,cAGE,MAAK,CAAC,SAAoD;AAAA,IACrE,MAAM,UAAU,IAAI,kBAAkB,OAAO;AAAA,IAE7C,OAAO;AAAA;AAAA,OAGK,gBAAe,GAAkB;AAAA,IAE7C,MAAM,WAAW,MAAM,KAAK,QAAQ,YAAY;AAAA,MAC9C,UAAU,KAAK,QAAQ;AAAA,MACvB,WAAW;AAAA,IACb,CAAC;AAAA,IAED,WAAW,UAAU,UAAU;AAAA,MAC7B,MAAM,iBAAiB,OAAO,QAAQ;AAAA,MACtC,IAAI,gBAAgB,IAAI;AAAA,QACtB,MAAM,kBACJ,OAAO,OAAO,cAAc,WAAW,OAAO,YAAY,KAAK,IAAI;AAAA,QAErE,MAAM,cAAc,CAAC,OAAkC,aAA6B;AAAA,UAClF,IAAI,UAAU;AAAA,YAAW,OAAO;AAAA,UAChC,IAAI,OAAO,UAAU;AAAA,YAAU,OAAO;AAAA,UACtC,IAAI,iBAAiB;AAAA,YAAM,OAAO,MAAM,QAAQ;AAAA,UAChD,OAAO;AAAA;AAAA,QAGT,MAAM,aAAyB;AAAA,UAC7B,IAAI,eAAe;AAAA,UACnB,SAAS,KAAK,QAAQ;AAAA,UACtB,MAAM,eAAe;AAAA,UACrB,SAAS,eAAe;AAAA,UACxB,SAAS,eAAe,WAAW;AAAA,UACnC,QAAQ,eAAe,UAAU;AAAA,UACjC,QAAQ,eAAe,UAAU;AAAA,UACjC,UAAU,eAAe,YAAY;AAAA,UACrC,QAAQ,eAAe,UAAU;AAAA,UACjC,MAAM,eAAe,QAAQ,CAAC;AAAA,UAC9B,YAAY,eAAe,cAAc;AAAA,UACzC,YAAY,eAAe,cAAc;AAAA,UACzC,WAAW,YACT,eAAe,WACf,eACF;AAAA,UACA,WAAW,YACT,eAAe,WACf,eACF;AAAA,UACA,aAAa,eAAe,eAAe;AAAA,UAC3C,gBAAgB,YACd,eAAe,gBACf,eACF;AAAA,UACA,WAAW,eAAe;AAAA,UAC1B,oBAAoB,eAAe;AAAA,UACnC,YAAY,eAAe;AAAA,UAC3B,gBAAgB,eAAe;AAAA,UAC/B,iBAAiB,eAAe;AAAA,QAClC;AAAA,QAEA,KAAK,YAAY,IAAI,WAAW,IAAI,UAAU;AAAA,QAG9C,IAAI,CAAC,KAAK,oBAAoB,IAAI,WAAW,MAAM,GAAG;AAAA,UACpD,KAAK,oBAAoB,IAAI,WAAW,QAAQ,IAAI,GAAK;AAAA,QAC3D;AAAA,QACA,KAAK,oBAAoB,IAAI,WAAW,MAAM,GAAG,IAAI,WAAW,EAAE;AAAA,QAElE,IAAI,CAAC,KAAK,kBAAkB,IAAI,WAAW,IAAI,GAAG;AAAA,UAChD,KAAK,kBAAkB,IAAI,WAAW,MAAM,IAAI,GAAK;AAAA,QACvD;AAAA,QACA,KAAK,kBAAkB,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE;AAAA,MAChE;AAAA,IACF;AAAA,IAEA,QAAO,KAAK,8BAA8B,KAAK,YAAY,8BAA8B;AAAA;AAAA,OAGrF,iBAAgB,CAAC,gBAA0D;AAAA,IAE/E,MAAM,gBAAgB,GAAG,eAAe,WAAW,eAAe,UAAU,eAAe,UAAU,eAAe;AAAA,IACpH,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,KAAK,QAAQ,SAAS,WAAU,gBAAgB;AAAA,QACnE,MAAM;AAAA,MACR,CAAC;AAAA,MAED,IAAI,MAAM,QAAQ,MAAM,KAAK,OAAO,SAAS,KAAK,OAAO,KAAK,CAAC,MAAc,MAAM,CAAC,GAAG;AAAA,QACrF,YAAY;AAAA,MACd,EAAO;AAAA,QACL,QAAO,KACL,2FACF;AAAA;AAAA,MAEF,OAAO,KAAK;AAAA,MACZ,QAAO,KACL,+EAA+E,KACjF;AAAA;AAAA,IAGF,MAAM,MAAM,KAAK,IAAI;AAAA,IAErB,MAAM,aAAyB;AAAA,MAC7B,IAAI,OAAO;AAAA,MACX,SAAS,KAAK,QAAQ;AAAA,MACtB,MAAM,eAAe;AAAA,MACrB,SAAS,eAAe;AAAA,MACxB,SAAS,eAAe,WAAW;AAAA,MACnC,QAAQ,eAAe,UAAU;AAAA,MACjC,QAAQ,eAAe,UAAU;AAAA,MACjC,UAAU,eAAe,YAAY;AAAA,MACrC,QAAQ,eAAe,UAAU;AAAA,MACjC,MAAM,eAAe,QAAQ,CAAC;AAAA,MAC9B,YAAY,eAAe,cAAc;AAAA,MACzC,YAAY,eAAe,cAAc;AAAA,MACzC,WAAW;AAAA,MACX,WAAW;AAAA,MACX,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB;AAAA,MACA,oBAAoB,eAAe;AAAA,MACnC,YAAY,eAAe;AAAA,MAC3B,gBAAgB,eAAe;AAAA,MAC/B,iBAAiB,eAAe;AAAA,IAClC;AAAA,IAGA,KAAK,YAAY,IAAI,WAAW,IAAI,UAAU;AAAA,IAG9C,IAAI,CAAC,KAAK,oBAAoB,IAAI,WAAW,MAAM,GAAG;AAAA,MACpD,KAAK,oBAAoB,IAAI,WAAW,QAAQ,IAAI,GAAK;AAAA,IAC3D;AAAA,IACA,KAAK,oBAAoB,IAAI,WAAW,MAAM,GAAG,IAAI,WAAW,EAAE;AAAA,IAElE,IAAI,CAAC,KAAK,kBAAkB,IAAI,WAAW,IAAI,GAAG;AAAA,MAChD,KAAK,kBAAkB,IAAI,WAAW,MAAM,IAAI,GAAK;AAAA,IACvD;AAAA,IACA,KAAK,kBAAkB,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,EAAE;AAAA,IAG9D,MAAM,KAAK,uBAAuB,UAAU;AAAA,IAG5C,MAAM,iBAAiB,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC;AAAA,IAC3D,MAAM,iBAAiB,KAAK,oBAAoB,mBAAmB,YAAY,cAAc;AAAA,IAE7F,WAAW,iBAAiB,gBAAgB;AAAA,MAC1C,KAAK,oBAAoB,gBAAgB;AAAA,QACvC,QAAQ,WAAW;AAAA,QACnB,MAAM,cAAc;AAAA,QACpB,MAAM;AAAA,QACN,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAAA,IAEA,QAAO,KAAK,4CAA4C,WAAW,OAAO,WAAW,OAAO;AAAA,IAE5F,OAAO;AAAA;AAAA,OAGK,uBAAsB,CAAC,YAAuC;AAAA,IAC1E,MAAM,SAAS;AAAA,MACb,IAAI,WAAW;AAAA,MACf,UAAU,KAAK,QAAQ;AAAA,MACvB,SAAS,KAAK,QAAQ;AAAA,MACtB,QAAQ,KAAK,QAAQ;AAAA,MACrB,SAAS;AAAA,QACP,MAAM,eAAe,WAAW;AAAA,QAChC,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,IAAI,WAAW;AAAA,UACf,SAAS,WAAW;AAAA,UACpB,MAAM,WAAW;AAAA,UACjB,SAAS,WAAW;AAAA,UACpB,SAAS,WAAW;AAAA,UACpB,QAAQ,WAAW;AAAA,UACnB,QAAQ,WAAW;AAAA,UACnB,UAAU,WAAW;AAAA,UACrB,QAAQ,WAAW;AAAA,UACnB,MAAM,WAAW;AAAA,UACjB,YAAY,WAAW;AAAA,UACvB,YAAY,WAAW;AAAA,UACvB,WAAW,WAAW;AAAA,UACtB,WAAW,WAAW;AAAA,UACtB,aAAa,WAAW;AAAA,UACxB,gBAAgB,WAAW;AAAA,UAI3B,oBAAoB,WAAW;AAAA,UAC/B,YAAY,WAAW;AAAA,UACvB,gBAAgB,WAAW;AAAA,UAC3B,iBAAiB,WAAW;AAAA,QAC9B;AAAA,MACF;AAAA,MACA,WAAW,WAAW;AAAA,IACxB;AAAA,IAEA,MAAM,KAAK,QAAQ,aAAa,QAAQ,eAAe,IAAI;AAAA;AAAA,OAG/C,wBAAuB,GAAkB;AAAA,IACrD,IAAI,KAAK,iBAAiB,SAAS;AAAA,MAAG;AAAA,IAEtC,MAAM,SAAS,MAAM,KAAK,KAAK,gBAAgB;AAAA,IAC/C,KAAK,iBAAiB,MAAM;AAAA,IAE5B,IAAI,QAAQ;AAAA,IACZ,WAAW,MAAM,QAAQ;AAAA,MACvB,MAAM,MAAM,KAAK,YAAY,IAAI,EAAE;AAAA,MACnC,IAAI,KAAK;AAAA,QACP,IAAI;AAAA,UACF,MAAM,KAAK,uBAAuB,GAAG;AAAA,UACrC;AAAA,UACA,MAAM;AAAA,UAEN,KAAK,iBAAiB,IAAI,EAAE;AAAA;AAAA,MAEhC;AAAA,IACF;AAAA,IAEA,IAAI,QAAQ,GAAG;AAAA,MACb,QAAO,MAAM,iCAAiC,yBAAyB;AAAA,IACzE;AAAA;AAAA,OAGI,iBAAgB,CAAC,OAA+C;AAAA,IACpE,IAAI,UAAwB,CAAC;AAAA,IAC7B,MAAM,QAAQ,MAAM,SAAS;AAAA,IAE7B,IAAI,MAAM,OAAO;AAAA,MAEf,MAAM,aAAa,CAAC,EAClB,MAAM,QACN,MAAM,WACN,MAAM,UACL,MAAM,QAAQ,MAAM,KAAK,SAAS,KACnC,MAAM,kBAAkB,aACxB,MAAM,kBAAkB,aACxB,MAAM;AAAA,MAER,MAAM,aAAa,aAAa,KAAK,IAAI,QAAQ,GAAG,EAAE,IAAI;AAAA,MAC1D,MAAM,aAAa,KAAK,aACtB,MAAM,KAAK,uBAAuB,MAAM,OAAO,UAAU,GACzD,KACF;AAAA,MACA,UAAU,WAAW,MAAM,GAAG,KAAK;AAAA,IACrC,EAAO;AAAA,MAEL,MAAM,aAAa,KAAK,aAAa,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC,GAAG,KAAK;AAAA,MACjF,WAAW,KAAK,CAAC,GAAG,MAAM;AAAA,QACxB,MAAM,SAAS,KAAK,aAAa,qBAAqB,CAAC,IAAI,EAAE;AAAA,QAC7D,MAAM,SAAS,KAAK,aAAa,qBAAqB,CAAC,IAAI,EAAE;AAAA,QAC7D,OAAO,SAAS;AAAA,OACjB;AAAA,MACD,UAAU,WAAW,MAAM,GAAG,KAAK;AAAA;AAAA,IAIrC,IAAI,MAAM,gBAAgB;AAAA,MACxB,MAAM,aAAa,IAAI;AAAA,MACvB,WAAW,OAAO,SAAS;AAAA,QACzB,IAAI,IAAI,oBAAoB;AAAA,UAC1B,IAAI,mBAAmB,QAAQ,CAAC,OAAO;AAAA,YACrC,WAAW,IAAI,EAAE;AAAA,WAClB;AAAA,QACH;AAAA,MACF;AAAA,MAEA,MAAM,UAAU,MAAM,KAAK,UAAU,EAClC,IAAI,CAAC,OAAO,KAAK,YAAY,IAAI,EAAE,CAAC,EACpC,OAAO,CAAC,QAA2B,QAAQ,SAAS,EACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;AAAA,MAExD,QAAQ,KAAK,GAAG,OAAO;AAAA,IACzB;AAAA,IAGA,WAAW,OAAO,SAAS;AAAA,MACzB,IAAI;AAAA,MACJ,IAAI,iBAAiB,KAAK,IAAI;AAAA,MAC9B,KAAK,iBAAiB,IAAI,IAAI,EAAE;AAAA,IAClC;AAAA,IAEA,OAAO;AAAA;AAAA,EAID,YAAY,CAAC,YAA0B,OAAsC;AAAA,IACnF,IAAI,WAAW;AAAA,IAEf,IAAI,MAAM,MAAM;AAAA,MACd,MAAM,QAAQ,MAAM,QAAQ,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,IAAI;AAAA,MAClE,WAAW,SAAS,OAAO,CAAC,MAAM,MAAM,SAAS,EAAE,IAAI,CAAC;AAAA,IAC1D;AAAA,IACA,IAAI,MAAM,SAAS;AAAA,MACjB,WAAW,SAAS,OAAO,CAAC,MAAM,EAAE,YAAY,MAAM,OAAO;AAAA,IAC/D;AAAA,IACA,IAAI,MAAM,QAAQ;AAAA,MAChB,MAAM,UAAU,MAAM,QAAQ,MAAM,MAAM,IAAI,MAAM,SAAS,CAAC,MAAM,MAAM;AAAA,MAC1E,WAAW,SAAS,OAAO,CAAC,MAAM,QAAQ,SAAS,EAAE,MAAM,CAAC;AAAA,IAC9D;AAAA,IACA,IAAI,MAAM,QAAQ,MAAM,KAAK,SAAS,GAAG;AAAA,MACvC,WAAW,SAAS,OAAO,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,MAAM,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC;AAAA,IAC/E;AAAA,IACA,IAAI,MAAM,kBAAkB,WAAW;AAAA,MACrC,MAAM,MAAM,MAAM;AAAA,MAClB,WAAW,SAAS,OAAO,CAAC,MAAM,KAAK,aAAa,qBAAqB,CAAC,KAAK,GAAG;AAAA,IACpF;AAAA,IACA,IAAI,MAAM,kBAAkB,WAAW;AAAA,MACrC,MAAM,MAAM,MAAM;AAAA,MAClB,WAAW,SAAS,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG;AAAA,IACvD;AAAA,IACA,IAAI,MAAM,WAAW;AAAA,MACnB,QAAQ,OAAO,QAAQ,MAAM;AAAA,MAC7B,WAAW,SAAS,OAAO,CAAC,MAAM;AAAA,QAChC,IAAI,SAAS,EAAE,YAAY;AAAA,UAAO,OAAO;AAAA,QACzC,IAAI,OAAO,EAAE,YAAY;AAAA,UAAK,OAAO;AAAA,QACrC,OAAO;AAAA,OACR;AAAA,IACH;AAAA,IAEA,OAAO;AAAA;AAAA,OAeH,uBAAsB,CAAC,MAAc,QAAQ,GAA0B;AAAA,IAC3E,IAAI,CAAC,QAAQ,KAAK,YAAY,SAAS,GAAG;AAAA,MACxC,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,iBAAiB,MAAM,KAAK,QAAQ,SAAS,WAAU,gBAAgB;AAAA,QACrE;AAAA,MACF,CAAC;AAAA,MACD,IACE,CAAC,MAAM,QAAQ,cAAc,KAC7B,eAAe,WAAW,KAC1B,eAAe,MAAM,CAAC,MAAc,MAAM,CAAC,GAC3C;AAAA,QACA,QAAO,KACL,iFACF;AAAA,QACA,OAAO,KAAK,aAAa,KAAK;AAAA,MAChC;AAAA,MACA,MAAM;AAAA,MACN,QAAO,KAAK,0EAA0E;AAAA,MACtF,OAAO,KAAK,aAAa,KAAK;AAAA;AAAA,IAKhC,MAAM,mBAAmB;AAAA,IAEzB,MAAM,SAA2D,CAAC;AAAA,IAClE,MAAM,MAAM,KAAK,IAAI;AAAA,IAErB,WAAW,cAAc,KAAK,YAAY,OAAO,GAAG;AAAA,MAClD,IAAI,CAAC,WAAW;AAAA,QAAW;AAAA,MAE3B,MAAM,aAAa,KAAK,iBAAiB,gBAAgB,WAAW,SAAS;AAAA,MAC7E,IAAI,aAAa;AAAA,QAAkB;AAAA,MAKnC,MAAM,oBAAoB,KAAK,aAAa,qBAAqB,UAAU;AAAA,MAG3E,MAAM,UAAU,KAAK,IAAI,IAAI,MAAM,WAAW,cAAc,KAAK,KAAK,KAAK,KAAK;AAAA,MAChF,MAAM,gBAAgB,KAAK,IAAI,UAAU;AAAA,MAIzC,MAAM,eAAe,KAAK,IAAI,GAAG,KAAK,KAAK,WAAW,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;AAAA,MAGtF,MAAM,eACJ,oBAAoB,OACpB,WAAW,aAAa,OACxB,gBAAgB,OAChB,eAAe;AAAA,MAGjB,MAAM,cAAc,aAAa,MAAM,eAAe;AAAA,MAEtD,OAAO,KAAK,EAAE,YAAY,OAAO,YAAY,CAAC;AAAA,IAChD;AAAA,IAGA,OAAO,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK;AAAA,IACvC,MAAM,UAAU,OAAO,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,UAAU;AAAA,IAEpE,WAAW,OAAO,SAAS;AAAA,MACzB,IAAI;AAAA,MACJ,IAAI,iBAAiB;AAAA,MACrB,KAAK,iBAAiB,IAAI,IAAI,EAAE;AAAA,IAClC;AAAA,IAEA,OAAO;AAAA;AAAA,EAID,YAAY,CAAC,OAA6B;AAAA,IAChD,MAAM,MAAM,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC;AAAA,IAChD,IAAI,KAAK,CAAC,GAAG,MAAM;AAAA,MACjB,MAAM,KAAK,KAAK,aAAa,qBAAqB,CAAC,IAAI,EAAE;AAAA,MACzD,MAAM,KAAK,KAAK,aAAa,qBAAqB,CAAC,IAAI,EAAE;AAAA,MACzD,OAAO,KAAK;AAAA,KACb;AAAA,IACD,OAAO,IAAI,MAAM,GAAG,KAAK;AAAA;AAAA,OAGrB,mBAAkB,CAAC,QAAiB,MAAoD;AAAA,IAC5F,MAAM,cAAc,MAAM,KAAK,iBAAiB;AAAA,MAC9C,QAAQ,SAAS,CAAC,MAAM,IAAI;AAAA,MAC5B,MAAM,OAAO,CAAC,IAAI,IAAI;AAAA,MACtB,OAAO;AAAA,IACT,CAAC;AAAA,IAED,IAAI,YAAY,WAAW,GAAG;AAAA,MAC5B,OAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,QACX,aAAa;AAAA,QACb,cAAc,CAAC;AAAA,QACf,iBAAiB,CAAC;AAAA,MACpB;AAAA,IACF;AAAA,IAEA,MAAM,YAAY,YAAY,IAAI,CAAC,QAAQ,IAAI,QAAQ;AAAA,IACvD,MAAM,cAAc,KAAK,mBAAmB,SAAS;AAAA,IAErD,MAAM,gBACJ,YAAY,OAAO,CAAC,KAAK,QAAQ,MAAM,IAAI,YAAY,CAAC,IAAI,YAAY;AAAA,IAC1E,MAAM,qBAAqB,KAAK,4BAA4B,WAAW;AAAA,IACvE,MAAM,eAAe,gBAAgB,sBAAsB;AAAA,IAE3D,MAAM,eAAe,KAAK,oBAAoB,WAAW;AAAA,IACzD,MAAM,kBAAkB,KAAK,wBAAwB,aAAa,WAAW;AAAA,IAE7E,OAAO;AAAA,MACL,SACE,YAAY,SAAS,IACjB,oBAAoB,YAAY,KAAK,IAAI,MACzC;AAAA,MACN,WAAW,YAAY;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA,EAGM,gBAAgB,CAAC,GAAa,GAAqB;AAAA,IACzD,IAAI,EAAE,WAAW,EAAE;AAAA,MAAQ,OAAO;AAAA,IAElC,IAAI,aAAa;AAAA,IACjB,IAAI,QAAQ;AAAA,IACZ,IAAI,QAAQ;AAAA,IAEZ,SAAS,IAAI,EAAG,IAAI,EAAE,QAAQ,KAAK;AAAA,MACjC,MAAM,SAAS,EAAE,MAAM;AAAA,MACvB,MAAM,SAAS,EAAE,MAAM;AAAA,MACvB,cAAc,SAAS;AAAA,MACvB,SAAS,SAAS;AAAA,MAClB,SAAS,SAAS;AAAA,IACpB;AAAA,IAEA,IAAI,UAAU,KAAK,UAAU;AAAA,MAAG,OAAO;AAAA,IACvC,OAAO,cAAc,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK;AAAA;AAAA,EAGjD,kBAAkB,CAAC,OAA2B;AAAA,IACpD,MAAM,WAAW,IAAI;AAAA,IAErB,WAAW,QAAQ,OAAO;AAAA,MACxB,MAAM,QAAQ,KAAK,YAAY,EAAE,MAAM,KAAK;AAAA,MAC5C,WAAW,QAAQ,OAAO;AAAA,QACxB,IAAI,KAAK,SAAS,GAAG;AAAA,UACnB,SAAS,IAAI,OAAO,SAAS,IAAI,IAAI,KAAK,KAAK,CAAC;AAAA,QAClD;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM,YAAY,MAAM,SAAS;AAAA,IACjC,OAAO,MAAM,KAAK,SAAS,QAAQ,CAAC,EACjC,OAAO,EAAE,GAAG,WAAW,SAAS,SAAS,EACzC,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAC1B,MAAM,GAAG,CAAC,EACV,IAAI,EAAE,UAAU,IAAI;AAAA;AAAA,EAGjB,2BAA2B,CAAC,aAAmC;AAAA,IACrE,IAAI,YAAY,WAAW;AAAA,MAAG,OAAO;AAAA,IAErC,MAAM,gBAAgB,IAAI;AAAA,IAC1B,WAAW,OAAO,aAAa;AAAA,MAC7B,cAAc,IAAI,IAAI,UAAU,cAAc,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC;AAAA,IAC1E;AAAA,IAEA,MAAM,WAAW,KAAK,IAAI,GAAG,cAAc,OAAO,CAAC;AAAA,IACnD,OAAO,WAAW,YAAY;AAAA;AAAA,EAGxB,mBAAmB,CAAC,aAAqC;AAAA,IAC/D,MAAM,eAAe,IAAI;AAAA,IAEzB,WAAW,OAAO,aAAa;AAAA,MAC7B,IAAI,IAAI,0CAAsC,IAAI,iBAAiB;AAAA,QACjE,aAAa,IAAI,IAAI,eAAe;AAAA,MACtC;AAAA,MACA,IAAI,IAAI,yCAAoC,IAAI,SAAS,SAAS,SAAS,GAAG;AAAA,QAC5E,MAAM,QAAQ,IAAI,SAAS,MAAM,0BAA0B;AAAA,QAC3D,MAAM,cAAc,QAAQ,IAAI,KAAK;AAAA,QACrC,IAAI,aAAa;AAAA,UACf,aAAa,IAAI,WAAW;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAO,MAAM,KAAK,YAAY,EAAE,MAAM,GAAG,CAAC;AAAA;AAAA,EAGpC,uBAAuB,CAAC,aAA2B,aAA+B;AAAA,IACxF,MAAM,kBAA4B,CAAC;AAAA,IAEnC,IAAI,cAAc,KAAK;AAAA,MACrB,gBAAgB,KAAK,sCAAsC;AAAA,MAC3D,gBAAgB,KAAK,2CAA2C;AAAA,IAClE,EAAO,SAAI,cAAc,KAAK;AAAA,MAC5B,gBAAgB,KAAK,mDAAmD;AAAA,MACxE,gBAAgB,KAAK,8BAA8B;AAAA,MACnD,gBAAgB,KAAK,4BAA4B;AAAA,IACnD,EAAO,SAAI,cAAc,KAAK;AAAA,MAC5B,gBAAgB,KAAK,uCAAuC;AAAA,MAC5D,gBAAgB,KAAK,8BAA8B;AAAA,MACnD,gBAAgB,KAAK,8BAA8B;AAAA,IACrD,EAAO;AAAA,MACL,gBAAgB,KAAK,gDAAgD;AAAA,MACrE,gBAAgB,KAAK,mCAAmC;AAAA,MACxD,gBAAgB,KAAK,4BAA4B;AAAA;AAAA,IAGnD,MAAM,eAAe,IAAI;AAAA,IACzB,YACG,OAAO,CAAC,MAAM,EAAE,qCAAgC,EAChD,QAAQ,CAAC,MAAM;AAAA,MACd,MAAM,MAAM,EAAE,SAAS,YAAY;AAAA,MACnC,aAAa,IAAI,MAAM,aAAa,IAAI,GAAG,KAAK,KAAK,CAAC;AAAA,KACvD;AAAA,IAEH,IAAI,aAAa,OAAO,GAAG;AAAA,MACzB,MAAM,oBAAoB,MAAM,KAAK,aAAa,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;AAAA,MAEzF,IAAI,qBAAqB,kBAAkB,KAAK,GAAG;AAAA,QACjD,gBAAgB,KAAK,4BAA4B,kBAAkB,IAAI;AAAA,MACzE;AAAA,IACF;AAAA,IAEA,MAAM,UAAU,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AAAA,IACxD,IAAI,QAAQ,IAAI,OAAO,GAAG;AAAA,MACxB,gBAAgB,KAAK,uCAAuC;AAAA,IAC9D;AAAA,IACA,IAAI,QAAQ,IAAI,QAAQ,GAAG;AAAA,MACzB,gBAAgB,KAAK,mCAAmC;AAAA,IAC1D;AAAA,IACA,IAAI,QAAQ,IAAI,SAAS,GAAG;AAAA,MAC1B,gBAAgB,KAAK,0CAA0C;AAAA,IACjE;AAAA,IAEA,OAAO,gBAAgB,MAAM,GAAG,CAAC;AAAA;AAAA,OAG7B,KAAI,GAAkB;AAAA,IAC1B,QAAO,KAAK,iCAAiC;AAAA,IAG7C,IAAI,KAAK,cAAc;AAAA,MACrB,cAAc,KAAK,YAAY;AAAA,MAC/B,KAAK,eAAe;AAAA,IACtB;AAAA,IAGA,MAAM,oBAAoB,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC;AAAA,IAC9D,IAAI,aAAa;AAAA,IAEjB,WAAW,cAAc,mBAAmB;AAAA,MAC1C,IAAI;AAAA,QACF,MAAM,KAAK,uBAAuB,UAAU;AAAA,QAC5C;AAAA,QACA,OAAO,KAAK;AAAA,QACZ,QAAO,KAAK,iDAAiD,WAAW,OAAO,KAAK;AAAA;AAAA,IAExF;AAAA,IAEA,KAAK,iBAAiB,MAAM;AAAA,IAC5B,QAAO,KAAK,6BAA6B,wBAAwB;AAAA;AAErE;;;ARxoBO,IAAM,mBAA2B;AAAA,EACtC,MAAM;AAAA,EACN,aACE;AAAA,EAEF,SAAS,CAAC,sBAAsB;AAAA,EAChC,UAAU,CAAC,iBAAiB;AAAA,EAC5B,WAAW,CAAC,kBAAkB;AAAA,EAC9B,YAAY,CAAC,mBAAmB;AAAA,OAE1B,KAAI,CAAC,QAAgC,SAAuC;AAAA,IAChF,QAAO,KAAK,4DAA4D;AAAA,IAExE,MAAM,sBAAsB,oBAAoB,OAAO,uBAAuB,GAAG;AAAA,IAEjF,QAAQ,WAAW,yBAAyB,oBAAoB,SAAS,CAAC;AAAA,IAE1E,QAAO,KAAK;AAAA,+BACe,qBAAqB;AAAA;AAEpD;AAEA,IAAe;AAKf,SAAS,mBAAmB,CAAC,OAA2B,UAA0B;AAAA,EAChF,IAAI,CAAC;AAAA,IAAO,OAAO;AAAA,EACnB,MAAM,SAAS,OAAO,WAAW,KAAK;AAAA,EACtC,OAAO,OAAO,SAAS,MAAM,IAAI,SAAS;AAAA;",
18
+ "debugId": "508DC2C8C199E40064756E2164756E21",
19
19
  "names": []
20
20
  }
@@ -0,0 +1,3 @@
1
+ import { type Provider } from "@elizaos/core";
2
+ export declare const experienceProvider: Provider;
3
+ //# sourceMappingURL=experienceProvider.d.ts.map
@@ -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"}
@@ -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.6",
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.3",
47
+ "@elizaos/core": "2.0.0-alpha.12",
48
48
  "uuid": "^13.0.0"
49
49
  },
50
50
  "devDependencies": {