@agents-uni/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DESIGN.md +283 -0
- package/LICENSE +21 -0
- package/README.en.md +589 -0
- package/README.md +589 -0
- package/dist/bridge/config-sync.d.ts +24 -0
- package/dist/bridge/config-sync.d.ts.map +1 -0
- package/dist/bridge/config-sync.js +39 -0
- package/dist/bridge/config-sync.js.map +1 -0
- package/dist/bridge/index.d.ts +7 -0
- package/dist/bridge/index.d.ts.map +1 -0
- package/dist/bridge/index.js +7 -0
- package/dist/bridge/index.js.map +1 -0
- package/dist/bridge/openclaw-adapter.d.ts +49 -0
- package/dist/bridge/openclaw-adapter.d.ts.map +1 -0
- package/dist/bridge/openclaw-adapter.js +151 -0
- package/dist/bridge/openclaw-adapter.js.map +1 -0
- package/dist/bridge/soul-generator.d.ts +34 -0
- package/dist/bridge/soul-generator.d.ts.map +1 -0
- package/dist/bridge/soul-generator.js +149 -0
- package/dist/bridge/soul-generator.js.map +1 -0
- package/dist/bridge/task-dispatcher.d.ts +107 -0
- package/dist/bridge/task-dispatcher.d.ts.map +1 -0
- package/dist/bridge/task-dispatcher.js +217 -0
- package/dist/bridge/task-dispatcher.js.map +1 -0
- package/dist/bridge/uni-registry.d.ts +82 -0
- package/dist/bridge/uni-registry.d.ts.map +1 -0
- package/dist/bridge/uni-registry.js +261 -0
- package/dist/bridge/uni-registry.js.map +1 -0
- package/dist/bridge/workspace-io.d.ts +64 -0
- package/dist/bridge/workspace-io.d.ts.map +1 -0
- package/dist/bridge/workspace-io.js +99 -0
- package/dist/bridge/workspace-io.js.map +1 -0
- package/dist/cli/commands/deploy.d.ts +6 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- package/dist/cli/commands/deploy.js +48 -0
- package/dist/cli/commands/deploy.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +137 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/inspect.d.ts +4 -0
- package/dist/cli/commands/inspect.d.ts.map +1 -0
- package/dist/cli/commands/inspect.js +77 -0
- package/dist/cli/commands/inspect.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +2 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +30 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/visualize.d.ts +2 -0
- package/dist/cli/commands/visualize.d.ts.map +1 -0
- package/dist/cli/commands/visualize.js +69 -0
- package/dist/cli/commands/visualize.js.map +1 -0
- package/dist/cli/index.d.ts +6 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +132 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/agent-registry.d.ts +37 -0
- package/dist/core/agent-registry.d.ts.map +1 -0
- package/dist/core/agent-registry.js +97 -0
- package/dist/core/agent-registry.js.map +1 -0
- package/dist/core/event-bus.d.ts +34 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +96 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/permission-matrix.d.ts +35 -0
- package/dist/core/permission-matrix.d.ts.map +1 -0
- package/dist/core/permission-matrix.js +95 -0
- package/dist/core/permission-matrix.js.map +1 -0
- package/dist/core/relationship-graph.d.ts +50 -0
- package/dist/core/relationship-graph.d.ts.map +1 -0
- package/dist/core/relationship-graph.js +150 -0
- package/dist/core/relationship-graph.js.map +1 -0
- package/dist/core/resource-pool.d.ts +48 -0
- package/dist/core/resource-pool.d.ts.map +1 -0
- package/dist/core/resource-pool.js +205 -0
- package/dist/core/resource-pool.js.map +1 -0
- package/dist/core/state-machine.d.ts +47 -0
- package/dist/core/state-machine.d.ts.map +1 -0
- package/dist/core/state-machine.js +110 -0
- package/dist/core/state-machine.js.map +1 -0
- package/dist/core/universe.d.ts +38 -0
- package/dist/core/universe.d.ts.map +1 -0
- package/dist/core/universe.js +101 -0
- package/dist/core/universe.js.map +1 -0
- package/dist/dashboard/api.d.ts +10 -0
- package/dist/dashboard/api.d.ts.map +1 -0
- package/dist/dashboard/api.js +237 -0
- package/dist/dashboard/api.js.map +1 -0
- package/dist/dashboard/index.d.ts +3 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +3 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/server.d.ts +31 -0
- package/dist/dashboard/server.d.ts.map +1 -0
- package/dist/dashboard/server.js +44 -0
- package/dist/dashboard/server.js.map +1 -0
- package/dist/dashboard/templates.d.ts +47 -0
- package/dist/dashboard/templates.d.ts.map +1 -0
- package/dist/dashboard/templates.js +1481 -0
- package/dist/dashboard/templates.js.map +1 -0
- package/dist/evolution/index.d.ts +5 -0
- package/dist/evolution/index.d.ts.map +1 -0
- package/dist/evolution/index.js +5 -0
- package/dist/evolution/index.js.map +1 -0
- package/dist/evolution/memory-consolidator.d.ts +28 -0
- package/dist/evolution/memory-consolidator.d.ts.map +1 -0
- package/dist/evolution/memory-consolidator.js +84 -0
- package/dist/evolution/memory-consolidator.js.map +1 -0
- package/dist/evolution/performance-tracker.d.ts +29 -0
- package/dist/evolution/performance-tracker.d.ts.map +1 -0
- package/dist/evolution/performance-tracker.js +90 -0
- package/dist/evolution/performance-tracker.js.map +1 -0
- package/dist/evolution/promotion-engine.d.ts +32 -0
- package/dist/evolution/promotion-engine.d.ts.map +1 -0
- package/dist/evolution/promotion-engine.js +117 -0
- package/dist/evolution/promotion-engine.js.map +1 -0
- package/dist/evolution/relationship-evolver.d.ts +40 -0
- package/dist/evolution/relationship-evolver.d.ts.map +1 -0
- package/dist/evolution/relationship-evolver.js +105 -0
- package/dist/evolution/relationship-evolver.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/index.d.ts +13 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +18 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/universe.schema.json +214 -0
- package/dist/spec/compiler.d.ts +16 -0
- package/dist/spec/compiler.d.ts.map +1 -0
- package/dist/spec/compiler.js +26 -0
- package/dist/spec/compiler.js.map +1 -0
- package/dist/spec/index.d.ts +4 -0
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +4 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/parser.d.ts +11 -0
- package/dist/spec/parser.d.ts.map +1 -0
- package/dist/spec/parser.js +89 -0
- package/dist/spec/parser.js.map +1 -0
- package/dist/spec/validator.d.ts +9 -0
- package/dist/spec/validator.d.ts.map +1 -0
- package/dist/spec/validator.js +105 -0
- package/dist/spec/validator.js.map +1 -0
- package/dist/types/agent.d.ts +56 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +8 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/event.d.ts +34 -0
- package/dist/types/event.d.ts.map +1 -0
- package/dist/types/event.js +11 -0
- package/dist/types/event.js.map +1 -0
- package/dist/types/governance.d.ts +48 -0
- package/dist/types/governance.d.ts.map +1 -0
- package/dist/types/governance.js +9 -0
- package/dist/types/governance.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memory.d.ts +73 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +9 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/protocol.d.ts +48 -0
- package/dist/types/protocol.d.ts.map +1 -0
- package/dist/types/protocol.js +9 -0
- package/dist/types/protocol.js.map +1 -0
- package/dist/types/relationship.d.ts +40 -0
- package/dist/types/relationship.d.ts.map +1 -0
- package/dist/types/relationship.js +9 -0
- package/dist/types/relationship.js.map +1 -0
- package/dist/types/resource.d.ts +52 -0
- package/dist/types/resource.d.ts.map +1 -0
- package/dist/types/resource.js +9 -0
- package/dist/types/resource.js.map +1 -0
- package/dist/types/universe.d.ts +71 -0
- package/dist/types/universe.d.ts.map +1 -0
- package/dist/types/universe.js +9 -0
- package/dist/types/universe.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/dashboard/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { PerformanceTracker } from './performance-tracker.js';
|
|
2
|
+
export { PromotionEngine, type PromotionDecision } from './promotion-engine.js';
|
|
3
|
+
export { MemoryConsolidator } from './memory-consolidator.js';
|
|
4
|
+
export { RelationshipEvolver, type RelationshipChange } from './relationship-evolver.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evolution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { PerformanceTracker } from './performance-tracker.js';
|
|
2
|
+
export { PromotionEngine } from './promotion-engine.js';
|
|
3
|
+
export { MemoryConsolidator } from './memory-consolidator.js';
|
|
4
|
+
export { RelationshipEvolver } from './relationship-evolver.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evolution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAA0B,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAA2B,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Consolidator — manages organizational learning.
|
|
3
|
+
*
|
|
4
|
+
* Organizations learn from experience. This module consolidates
|
|
5
|
+
* individual agent experiences into organization-level lessons.
|
|
6
|
+
*/
|
|
7
|
+
import type { Lesson, OrganizationMemory } from '../types/index.js';
|
|
8
|
+
export declare class MemoryConsolidator {
|
|
9
|
+
private lessons;
|
|
10
|
+
private maxLessons;
|
|
11
|
+
constructor(maxLessons?: number);
|
|
12
|
+
/** Record a new lesson */
|
|
13
|
+
addLesson(content: string, context: string, agents: string[]): Lesson;
|
|
14
|
+
/** Find a lesson similar to the given content */
|
|
15
|
+
findSimilar(content: string): Lesson | undefined;
|
|
16
|
+
/** Get all lessons sorted by reinforcement count */
|
|
17
|
+
getLessons(): Lesson[];
|
|
18
|
+
/** Get lessons involving a specific agent */
|
|
19
|
+
getLessonsByAgent(agentId: string): Lesson[];
|
|
20
|
+
/** Get the top N most reinforced lessons */
|
|
21
|
+
getTopLessons(n: number): Lesson[];
|
|
22
|
+
/** Export full memory state */
|
|
23
|
+
exportMemory(): Pick<OrganizationMemory, 'lessons'>;
|
|
24
|
+
/** Import lessons from a previous session */
|
|
25
|
+
importLessons(lessons: Lesson[]): void;
|
|
26
|
+
private evictWeakest;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=memory-consolidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-consolidator.d.ts","sourceRoot":"","sources":["../../src/evolution/memory-consolidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAKpE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,SAAM;IAK5B,0BAA0B;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;IA2BrE,iDAAiD;IACjD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUhD,oDAAoD;IACpD,UAAU,IAAI,MAAM,EAAE;IAItB,6CAA6C;IAC7C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAI5C,4CAA4C;IAC5C,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAIlC,+BAA+B;IAC/B,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAMnD,6CAA6C;IAC7C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAMtC,OAAO,CAAC,YAAY;CAWrB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Consolidator — manages organizational learning.
|
|
3
|
+
*
|
|
4
|
+
* Organizations learn from experience. This module consolidates
|
|
5
|
+
* individual agent experiences into organization-level lessons.
|
|
6
|
+
*/
|
|
7
|
+
let lessonCounter = 0;
|
|
8
|
+
export class MemoryConsolidator {
|
|
9
|
+
lessons;
|
|
10
|
+
maxLessons;
|
|
11
|
+
constructor(maxLessons = 100) {
|
|
12
|
+
this.lessons = new Map();
|
|
13
|
+
this.maxLessons = maxLessons;
|
|
14
|
+
}
|
|
15
|
+
/** Record a new lesson */
|
|
16
|
+
addLesson(content, context, agents) {
|
|
17
|
+
// Check for similar existing lessons
|
|
18
|
+
const existing = this.findSimilar(content);
|
|
19
|
+
if (existing) {
|
|
20
|
+
existing.reinforcements++;
|
|
21
|
+
return existing;
|
|
22
|
+
}
|
|
23
|
+
const lesson = {
|
|
24
|
+
id: `lesson-${++lessonCounter}`,
|
|
25
|
+
content,
|
|
26
|
+
context,
|
|
27
|
+
agents,
|
|
28
|
+
learnedAt: new Date().toISOString(),
|
|
29
|
+
reinforcements: 1,
|
|
30
|
+
};
|
|
31
|
+
this.lessons.set(lesson.id, lesson);
|
|
32
|
+
// Evict least reinforced if over limit
|
|
33
|
+
if (this.lessons.size > this.maxLessons) {
|
|
34
|
+
this.evictWeakest();
|
|
35
|
+
}
|
|
36
|
+
return lesson;
|
|
37
|
+
}
|
|
38
|
+
/** Find a lesson similar to the given content */
|
|
39
|
+
findSimilar(content) {
|
|
40
|
+
const normalized = content.toLowerCase().trim();
|
|
41
|
+
for (const lesson of this.lessons.values()) {
|
|
42
|
+
if (lesson.content.toLowerCase().trim() === normalized) {
|
|
43
|
+
return lesson;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
/** Get all lessons sorted by reinforcement count */
|
|
49
|
+
getLessons() {
|
|
50
|
+
return [...this.lessons.values()].sort((a, b) => b.reinforcements - a.reinforcements);
|
|
51
|
+
}
|
|
52
|
+
/** Get lessons involving a specific agent */
|
|
53
|
+
getLessonsByAgent(agentId) {
|
|
54
|
+
return this.getLessons().filter(l => l.agents.includes(agentId));
|
|
55
|
+
}
|
|
56
|
+
/** Get the top N most reinforced lessons */
|
|
57
|
+
getTopLessons(n) {
|
|
58
|
+
return this.getLessons().slice(0, n);
|
|
59
|
+
}
|
|
60
|
+
/** Export full memory state */
|
|
61
|
+
exportMemory() {
|
|
62
|
+
return {
|
|
63
|
+
lessons: this.getLessons(),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/** Import lessons from a previous session */
|
|
67
|
+
importLessons(lessons) {
|
|
68
|
+
for (const lesson of lessons) {
|
|
69
|
+
this.lessons.set(lesson.id, lesson);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
evictWeakest() {
|
|
73
|
+
let weakest;
|
|
74
|
+
for (const lesson of this.lessons.values()) {
|
|
75
|
+
if (!weakest || lesson.reinforcements < weakest.reinforcements) {
|
|
76
|
+
weakest = lesson;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (weakest) {
|
|
80
|
+
this.lessons.delete(weakest.id);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=memory-consolidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-consolidator.js","sourceRoot":"","sources":["../../src/evolution/memory-consolidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Tracker — tracks and evaluates agent performance over time.
|
|
3
|
+
*/
|
|
4
|
+
import type { PerformanceRecord, EvolutionConfig } from '../types/index.js';
|
|
5
|
+
export declare class PerformanceTracker {
|
|
6
|
+
private records;
|
|
7
|
+
private window;
|
|
8
|
+
constructor(config: EvolutionConfig);
|
|
9
|
+
/** Record a performance evaluation */
|
|
10
|
+
record(agentId: string, taskId: string, score: number, dimensions?: Record<string, number>): PerformanceRecord;
|
|
11
|
+
/** Get average performance score for an agent */
|
|
12
|
+
getAverageScore(agentId: string): number;
|
|
13
|
+
/** Get performance trend (positive = improving, negative = declining) */
|
|
14
|
+
getTrend(agentId: string): number;
|
|
15
|
+
/** Get dimension breakdown for an agent */
|
|
16
|
+
getDimensionAverages(agentId: string): Record<string, number>;
|
|
17
|
+
/** Get all records for an agent */
|
|
18
|
+
getRecords(agentId: string): PerformanceRecord[];
|
|
19
|
+
/** Get leaderboard sorted by average score */
|
|
20
|
+
getLeaderboard(): Array<{
|
|
21
|
+
agentId: string;
|
|
22
|
+
averageScore: number;
|
|
23
|
+
trend: number;
|
|
24
|
+
totalRecords: number;
|
|
25
|
+
}>;
|
|
26
|
+
/** Get record count for an agent */
|
|
27
|
+
getRecordCount(agentId: string): number;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=performance-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-tracker.d.ts","sourceRoot":"","sources":["../../src/evolution/performance-tracker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE5E,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,eAAe;IAKnC,sCAAsC;IACtC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,iBAAiB;IAqBlH,iDAAiD;IACjD,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQxC,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAcjC,2CAA2C;IAC3C,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAqB7D,mCAAmC;IACnC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAIhD,8CAA8C;IAC9C,cAAc,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAevG,oCAAoC;IACpC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAGxC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Tracker — tracks and evaluates agent performance over time.
|
|
3
|
+
*/
|
|
4
|
+
export class PerformanceTracker {
|
|
5
|
+
records;
|
|
6
|
+
window;
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.records = new Map();
|
|
9
|
+
this.window = config.performanceWindow;
|
|
10
|
+
}
|
|
11
|
+
/** Record a performance evaluation */
|
|
12
|
+
record(agentId, taskId, score, dimensions = {}) {
|
|
13
|
+
const record = {
|
|
14
|
+
agentId,
|
|
15
|
+
taskId,
|
|
16
|
+
score: Math.max(0, Math.min(100, score)),
|
|
17
|
+
dimensions,
|
|
18
|
+
evaluatedAt: new Date().toISOString(),
|
|
19
|
+
};
|
|
20
|
+
const existing = this.records.get(agentId) ?? [];
|
|
21
|
+
existing.push(record);
|
|
22
|
+
// Keep only the most recent records within window
|
|
23
|
+
if (existing.length > this.window) {
|
|
24
|
+
existing.splice(0, existing.length - this.window);
|
|
25
|
+
}
|
|
26
|
+
this.records.set(agentId, existing);
|
|
27
|
+
return record;
|
|
28
|
+
}
|
|
29
|
+
/** Get average performance score for an agent */
|
|
30
|
+
getAverageScore(agentId) {
|
|
31
|
+
const records = this.records.get(agentId);
|
|
32
|
+
if (!records || records.length === 0)
|
|
33
|
+
return 50; // Default neutral score
|
|
34
|
+
const sum = records.reduce((acc, r) => acc + r.score, 0);
|
|
35
|
+
return sum / records.length;
|
|
36
|
+
}
|
|
37
|
+
/** Get performance trend (positive = improving, negative = declining) */
|
|
38
|
+
getTrend(agentId) {
|
|
39
|
+
const records = this.records.get(agentId);
|
|
40
|
+
if (!records || records.length < 2)
|
|
41
|
+
return 0;
|
|
42
|
+
const half = Math.floor(records.length / 2);
|
|
43
|
+
const recentHalf = records.slice(half);
|
|
44
|
+
const earlierHalf = records.slice(0, half);
|
|
45
|
+
const recentAvg = recentHalf.reduce((s, r) => s + r.score, 0) / recentHalf.length;
|
|
46
|
+
const earlierAvg = earlierHalf.reduce((s, r) => s + r.score, 0) / earlierHalf.length;
|
|
47
|
+
return recentAvg - earlierAvg;
|
|
48
|
+
}
|
|
49
|
+
/** Get dimension breakdown for an agent */
|
|
50
|
+
getDimensionAverages(agentId) {
|
|
51
|
+
const records = this.records.get(agentId);
|
|
52
|
+
if (!records || records.length === 0)
|
|
53
|
+
return {};
|
|
54
|
+
const sums = {};
|
|
55
|
+
const counts = {};
|
|
56
|
+
for (const record of records) {
|
|
57
|
+
for (const [dim, val] of Object.entries(record.dimensions)) {
|
|
58
|
+
sums[dim] = (sums[dim] ?? 0) + val;
|
|
59
|
+
counts[dim] = (counts[dim] ?? 0) + 1;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const averages = {};
|
|
63
|
+
for (const dim of Object.keys(sums)) {
|
|
64
|
+
averages[dim] = sums[dim] / counts[dim];
|
|
65
|
+
}
|
|
66
|
+
return averages;
|
|
67
|
+
}
|
|
68
|
+
/** Get all records for an agent */
|
|
69
|
+
getRecords(agentId) {
|
|
70
|
+
return this.records.get(agentId) ?? [];
|
|
71
|
+
}
|
|
72
|
+
/** Get leaderboard sorted by average score */
|
|
73
|
+
getLeaderboard() {
|
|
74
|
+
const entries = [];
|
|
75
|
+
for (const agentId of this.records.keys()) {
|
|
76
|
+
entries.push({
|
|
77
|
+
agentId,
|
|
78
|
+
averageScore: this.getAverageScore(agentId),
|
|
79
|
+
trend: this.getTrend(agentId),
|
|
80
|
+
totalRecords: this.getRecords(agentId).length,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return entries.sort((a, b) => b.averageScore - a.averageScore);
|
|
84
|
+
}
|
|
85
|
+
/** Get record count for an agent */
|
|
86
|
+
getRecordCount(agentId) {
|
|
87
|
+
return (this.records.get(agentId) ?? []).length;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=performance-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-tracker.js","sourceRoot":"","sources":["../../src/evolution/performance-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Promotion Engine — manages agent rank changes based on performance.
|
|
3
|
+
*
|
|
4
|
+
* Promotion/demotion rules are the evolutionary pressure that
|
|
5
|
+
* shapes agent behavior over time.
|
|
6
|
+
*/
|
|
7
|
+
import type { EvolutionConfig } from '../types/index.js';
|
|
8
|
+
import type { PerformanceTracker } from './performance-tracker.js';
|
|
9
|
+
import type { AgentRegistry } from '../core/agent-registry.js';
|
|
10
|
+
import type { EventBus } from '../core/event-bus.js';
|
|
11
|
+
export interface PromotionDecision {
|
|
12
|
+
agentId: string;
|
|
13
|
+
action: 'promote' | 'demote' | 'suspend' | 'none';
|
|
14
|
+
currentRank: number;
|
|
15
|
+
newRank?: number;
|
|
16
|
+
reason: string;
|
|
17
|
+
score: number;
|
|
18
|
+
}
|
|
19
|
+
export declare class PromotionEngine {
|
|
20
|
+
private config;
|
|
21
|
+
private tracker;
|
|
22
|
+
private registry;
|
|
23
|
+
private events;
|
|
24
|
+
constructor(config: EvolutionConfig, tracker: PerformanceTracker, registry: AgentRegistry, events: EventBus);
|
|
25
|
+
/** Evaluate all agents and produce promotion/demotion decisions */
|
|
26
|
+
evaluate(): PromotionDecision[];
|
|
27
|
+
/** Apply promotion decisions */
|
|
28
|
+
apply(decisions: PromotionDecision[]): Promise<void>;
|
|
29
|
+
/** Run a full evaluation cycle */
|
|
30
|
+
runCycle(): Promise<PromotionDecision[]>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=promotion-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion-engine.d.ts","sourceRoot":"","sources":["../../src/evolution/promotion-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;gBAHN,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,QAAQ;IAG1B,mEAAmE;IACnE,QAAQ,IAAI,iBAAiB,EAAE;IAoE/B,gCAAgC;IAC1B,KAAK,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC1D,kCAAkC;IAC5B,QAAQ,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAa/C"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Promotion Engine — manages agent rank changes based on performance.
|
|
3
|
+
*
|
|
4
|
+
* Promotion/demotion rules are the evolutionary pressure that
|
|
5
|
+
* shapes agent behavior over time.
|
|
6
|
+
*/
|
|
7
|
+
export class PromotionEngine {
|
|
8
|
+
config;
|
|
9
|
+
tracker;
|
|
10
|
+
registry;
|
|
11
|
+
events;
|
|
12
|
+
constructor(config, tracker, registry, events) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
this.tracker = tracker;
|
|
15
|
+
this.registry = registry;
|
|
16
|
+
this.events = events;
|
|
17
|
+
}
|
|
18
|
+
/** Evaluate all agents and produce promotion/demotion decisions */
|
|
19
|
+
evaluate() {
|
|
20
|
+
const decisions = [];
|
|
21
|
+
for (const citizen of this.registry.getAll()) {
|
|
22
|
+
if (citizen.status === 'eliminated')
|
|
23
|
+
continue;
|
|
24
|
+
const agentId = citizen.definition.id;
|
|
25
|
+
const score = this.tracker.getAverageScore(agentId);
|
|
26
|
+
const trend = this.tracker.getTrend(agentId);
|
|
27
|
+
const recordCount = this.tracker.getRecordCount(agentId);
|
|
28
|
+
const currentRank = citizen.definition.rank ?? 0;
|
|
29
|
+
// Need minimum records before evaluation
|
|
30
|
+
if (recordCount < 3) {
|
|
31
|
+
decisions.push({
|
|
32
|
+
agentId,
|
|
33
|
+
action: 'none',
|
|
34
|
+
currentRank,
|
|
35
|
+
reason: `Insufficient data (${recordCount}/${3} evaluations)`,
|
|
36
|
+
score,
|
|
37
|
+
});
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (score >= this.config.promotionThreshold && trend >= 0) {
|
|
41
|
+
const newRank = Math.min(100, currentRank + 10);
|
|
42
|
+
decisions.push({
|
|
43
|
+
agentId,
|
|
44
|
+
action: 'promote',
|
|
45
|
+
currentRank,
|
|
46
|
+
newRank,
|
|
47
|
+
reason: `Score ${score.toFixed(1)} ≥ ${this.config.promotionThreshold} with positive trend`,
|
|
48
|
+
score,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else if (score <= this.config.demotionThreshold) {
|
|
52
|
+
if (currentRank <= 10) {
|
|
53
|
+
decisions.push({
|
|
54
|
+
agentId,
|
|
55
|
+
action: 'suspend',
|
|
56
|
+
currentRank,
|
|
57
|
+
reason: `Score ${score.toFixed(1)} ≤ ${this.config.demotionThreshold} at minimum rank`,
|
|
58
|
+
score,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const newRank = Math.max(0, currentRank - 10);
|
|
63
|
+
decisions.push({
|
|
64
|
+
agentId,
|
|
65
|
+
action: 'demote',
|
|
66
|
+
currentRank,
|
|
67
|
+
newRank,
|
|
68
|
+
reason: `Score ${score.toFixed(1)} ≤ ${this.config.demotionThreshold}`,
|
|
69
|
+
score,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
decisions.push({
|
|
75
|
+
agentId,
|
|
76
|
+
action: 'none',
|
|
77
|
+
currentRank,
|
|
78
|
+
reason: `Score ${score.toFixed(1)} within normal range`,
|
|
79
|
+
score,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return decisions;
|
|
84
|
+
}
|
|
85
|
+
/** Apply promotion decisions */
|
|
86
|
+
async apply(decisions) {
|
|
87
|
+
for (const decision of decisions) {
|
|
88
|
+
if (decision.action === 'none')
|
|
89
|
+
continue;
|
|
90
|
+
const citizen = this.registry.get(decision.agentId);
|
|
91
|
+
if (!citizen)
|
|
92
|
+
continue;
|
|
93
|
+
switch (decision.action) {
|
|
94
|
+
case 'promote':
|
|
95
|
+
citizen.definition.rank = decision.newRank;
|
|
96
|
+
await this.events.emitSimple('agent.promoted', [decision.agentId], `${citizen.definition.name} promoted to rank ${decision.newRank}: ${decision.reason}`, { previousRank: decision.currentRank, newRank: decision.newRank, score: decision.score });
|
|
97
|
+
break;
|
|
98
|
+
case 'demote':
|
|
99
|
+
citizen.definition.rank = decision.newRank;
|
|
100
|
+
await this.events.emitSimple('agent.demoted', [decision.agentId], `${citizen.definition.name} demoted to rank ${decision.newRank}: ${decision.reason}`, { previousRank: decision.currentRank, newRank: decision.newRank, score: decision.score });
|
|
101
|
+
break;
|
|
102
|
+
case 'suspend':
|
|
103
|
+
this.registry.setStatus(decision.agentId, 'suspended');
|
|
104
|
+
await this.events.emitSimple('agent.suspended', [decision.agentId], `${citizen.definition.name} suspended: ${decision.reason}`, { rank: decision.currentRank, score: decision.score });
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** Run a full evaluation cycle */
|
|
110
|
+
async runCycle() {
|
|
111
|
+
const decisions = this.evaluate();
|
|
112
|
+
await this.apply(decisions);
|
|
113
|
+
await this.events.emitSimple('evolution.cycleCompleted', [], `Evolution cycle completed: ${decisions.filter(d => d.action !== 'none').length} changes`, { decisions: decisions.map(d => ({ agent: d.agentId, action: d.action })) });
|
|
114
|
+
return decisions;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=promotion-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion-engine.js","sourceRoot":"","sources":["../../src/evolution/promotion-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relationship Evolver — manages how agent relationships change over time.
|
|
3
|
+
*
|
|
4
|
+
* Relationships are not static. Success together strengthens alliances;
|
|
5
|
+
* competition for the same resources creates rivalry.
|
|
6
|
+
*/
|
|
7
|
+
import type { RelationshipType } from '../types/index.js';
|
|
8
|
+
import type { RelationshipGraph } from '../core/relationship-graph.js';
|
|
9
|
+
import type { EventBus } from '../core/event-bus.js';
|
|
10
|
+
export interface RelationshipChange {
|
|
11
|
+
from: string;
|
|
12
|
+
to: string;
|
|
13
|
+
type: RelationshipType;
|
|
14
|
+
previousWeight: number;
|
|
15
|
+
newWeight: number;
|
|
16
|
+
reason: string;
|
|
17
|
+
}
|
|
18
|
+
export declare class RelationshipEvolver {
|
|
19
|
+
private graph;
|
|
20
|
+
private events;
|
|
21
|
+
constructor(graph: RelationshipGraph, events: EventBus);
|
|
22
|
+
/** Strengthen a relationship (e.g., after successful collaboration) */
|
|
23
|
+
strengthen(from: string, to: string, type: RelationshipType, amount: number, reason: string): Promise<RelationshipChange | null>;
|
|
24
|
+
/** Weaken a relationship (e.g., after conflict or betrayal) */
|
|
25
|
+
weaken(from: string, to: string, type: RelationshipType, amount: number, reason: string): Promise<RelationshipChange | null>;
|
|
26
|
+
/** Create a new rivalry between two agents */
|
|
27
|
+
createRivalry(from: string, to: string, reason: string): Promise<void>;
|
|
28
|
+
/** Resolve a rivalry (remove it) */
|
|
29
|
+
resolveRivalry(from: string, to: string, reason: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Auto-evolve relationships based on competition results.
|
|
32
|
+
* When two agents compete: winner strengthens, loser weakens competitive ties.
|
|
33
|
+
*/
|
|
34
|
+
evolveFromCompetition(winnerId: string, loserId: string, margin: number): Promise<RelationshipChange[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Auto-evolve relationships based on collaboration results.
|
|
37
|
+
*/
|
|
38
|
+
evolveFromCollaboration(agentIds: string[], success: boolean): Promise<RelationshipChange[]>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=relationship-evolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-evolver.d.ts","sourceRoot":"","sources":["../../src/evolution/relationship-evolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;gBADN,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,QAAQ;IAG1B,uEAAuE;IACjE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA0BtI,+DAA+D;IACzD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA0BlI,8CAA8C;IACxC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5E,oCAAoC;IAC9B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7E;;;OAGG;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAmB7G;;OAEG;IACG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAiBnG"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relationship Evolver — manages how agent relationships change over time.
|
|
3
|
+
*
|
|
4
|
+
* Relationships are not static. Success together strengthens alliances;
|
|
5
|
+
* competition for the same resources creates rivalry.
|
|
6
|
+
*/
|
|
7
|
+
export class RelationshipEvolver {
|
|
8
|
+
graph;
|
|
9
|
+
events;
|
|
10
|
+
constructor(graph, events) {
|
|
11
|
+
this.graph = graph;
|
|
12
|
+
this.events = events;
|
|
13
|
+
}
|
|
14
|
+
/** Strengthen a relationship (e.g., after successful collaboration) */
|
|
15
|
+
async strengthen(from, to, type, amount, reason) {
|
|
16
|
+
const rels = this.graph.getOutgoing(from).filter(r => r.to === to && r.type === type);
|
|
17
|
+
if (rels.length === 0)
|
|
18
|
+
return null;
|
|
19
|
+
const rel = rels[0];
|
|
20
|
+
const previousWeight = rel.currentWeight;
|
|
21
|
+
const newWeight = Math.min(1, previousWeight + amount);
|
|
22
|
+
this.graph.updateWeight(from, to, type, newWeight, reason);
|
|
23
|
+
const change = {
|
|
24
|
+
from, to, type, previousWeight, newWeight, reason,
|
|
25
|
+
};
|
|
26
|
+
if (type === 'ally' && newWeight >= 0.8 && previousWeight < 0.8) {
|
|
27
|
+
await this.events.emitSimple('alliance.formed', [from, to], `Strong alliance formed between ${from} and ${to}: ${reason}`, { weight: newWeight });
|
|
28
|
+
}
|
|
29
|
+
return change;
|
|
30
|
+
}
|
|
31
|
+
/** Weaken a relationship (e.g., after conflict or betrayal) */
|
|
32
|
+
async weaken(from, to, type, amount, reason) {
|
|
33
|
+
const rels = this.graph.getOutgoing(from).filter(r => r.to === to && r.type === type);
|
|
34
|
+
if (rels.length === 0)
|
|
35
|
+
return null;
|
|
36
|
+
const rel = rels[0];
|
|
37
|
+
const previousWeight = rel.currentWeight;
|
|
38
|
+
const newWeight = Math.max(0, previousWeight - amount);
|
|
39
|
+
this.graph.updateWeight(from, to, type, newWeight, reason);
|
|
40
|
+
const change = {
|
|
41
|
+
from, to, type, previousWeight, newWeight, reason,
|
|
42
|
+
};
|
|
43
|
+
if (type === 'ally' && newWeight < 0.2 && previousWeight >= 0.2) {
|
|
44
|
+
await this.events.emitSimple('alliance.broken', [from, to], `Alliance broken between ${from} and ${to}: ${reason}`, { weight: newWeight });
|
|
45
|
+
}
|
|
46
|
+
return change;
|
|
47
|
+
}
|
|
48
|
+
/** Create a new rivalry between two agents */
|
|
49
|
+
async createRivalry(from, to, reason) {
|
|
50
|
+
this.graph.addRelationship({
|
|
51
|
+
from, to,
|
|
52
|
+
type: 'rival',
|
|
53
|
+
weight: 0.5,
|
|
54
|
+
mutable: true,
|
|
55
|
+
});
|
|
56
|
+
await this.events.emitSimple('rivalry.started', [from, to], `Rivalry started between ${from} and ${to}: ${reason}`, {});
|
|
57
|
+
}
|
|
58
|
+
/** Resolve a rivalry (remove it) */
|
|
59
|
+
async resolveRivalry(from, to, reason) {
|
|
60
|
+
this.graph.updateWeight(from, to, 'rival', 0, reason);
|
|
61
|
+
await this.events.emitSimple('rivalry.resolved', [from, to], `Rivalry resolved between ${from} and ${to}: ${reason}`, {});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Auto-evolve relationships based on competition results.
|
|
65
|
+
* When two agents compete: winner strengthens, loser weakens competitive ties.
|
|
66
|
+
*/
|
|
67
|
+
async evolveFromCompetition(winnerId, loserId, margin) {
|
|
68
|
+
const changes = [];
|
|
69
|
+
// Strengthen competitive relationship
|
|
70
|
+
const c1 = await this.strengthen(winnerId, loserId, 'competitive', margin * 0.1, 'competition_win');
|
|
71
|
+
if (c1)
|
|
72
|
+
changes.push(c1);
|
|
73
|
+
// If margin is large, create rivalry
|
|
74
|
+
if (margin > 30) {
|
|
75
|
+
const existingRivalry = this.graph.getOutgoing(winnerId)
|
|
76
|
+
.find(r => r.to === loserId && r.type === 'rival');
|
|
77
|
+
if (!existingRivalry) {
|
|
78
|
+
await this.createRivalry(winnerId, loserId, 'decisive_victory');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return changes;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Auto-evolve relationships based on collaboration results.
|
|
85
|
+
*/
|
|
86
|
+
async evolveFromCollaboration(agentIds, success) {
|
|
87
|
+
const changes = [];
|
|
88
|
+
for (let i = 0; i < agentIds.length; i++) {
|
|
89
|
+
for (let j = i + 1; j < agentIds.length; j++) {
|
|
90
|
+
if (success) {
|
|
91
|
+
const c = await this.strengthen(agentIds[i], agentIds[j], 'ally', 0.1, 'successful_collaboration');
|
|
92
|
+
if (c)
|
|
93
|
+
changes.push(c);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const c = await this.weaken(agentIds[i], agentIds[j], 'ally', 0.05, 'failed_collaboration');
|
|
97
|
+
if (c)
|
|
98
|
+
changes.push(c);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return changes;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=relationship-evolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-evolver.js","sourceRoot":"","sources":["../../src/evolution/relationship-evolver.ts"],"names":[],"mappings":"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"}
|