@jclaw/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.
Files changed (189) hide show
  1. package/dist/auto-skill/generator.d.ts +30 -0
  2. package/dist/auto-skill/generator.d.ts.map +1 -0
  3. package/dist/auto-skill/generator.js +262 -0
  4. package/dist/auto-skill/generator.js.map +1 -0
  5. package/dist/auto-skill/index.d.ts +11 -0
  6. package/dist/auto-skill/index.d.ts.map +1 -0
  7. package/dist/auto-skill/index.js +10 -0
  8. package/dist/auto-skill/index.js.map +1 -0
  9. package/dist/auto-skill/installer.d.ts +44 -0
  10. package/dist/auto-skill/installer.d.ts.map +1 -0
  11. package/dist/auto-skill/installer.js +201 -0
  12. package/dist/auto-skill/installer.js.map +1 -0
  13. package/dist/auto-skill/types.d.ts +179 -0
  14. package/dist/auto-skill/types.d.ts.map +1 -0
  15. package/dist/auto-skill/types.js +9 -0
  16. package/dist/auto-skill/types.js.map +1 -0
  17. package/dist/cli/commands/config.d.ts +16 -0
  18. package/dist/cli/commands/config.d.ts.map +1 -0
  19. package/dist/cli/commands/config.js +119 -0
  20. package/dist/cli/commands/config.js.map +1 -0
  21. package/dist/cli/commands/exec.d.ts +12 -0
  22. package/dist/cli/commands/exec.d.ts.map +1 -0
  23. package/dist/cli/commands/exec.js +41 -0
  24. package/dist/cli/commands/exec.js.map +1 -0
  25. package/dist/cli/index.d.ts +10 -0
  26. package/dist/cli/index.d.ts.map +1 -0
  27. package/dist/cli/index.js +91 -0
  28. package/dist/cli/index.js.map +1 -0
  29. package/dist/cli/run.d.ts +9 -0
  30. package/dist/cli/run.d.ts.map +1 -0
  31. package/dist/cli/run.js +13 -0
  32. package/dist/cli/run.js.map +1 -0
  33. package/dist/context/index.d.ts +6 -0
  34. package/dist/context/index.d.ts.map +1 -0
  35. package/dist/context/index.js +12 -0
  36. package/dist/context/index.js.map +1 -0
  37. package/dist/context/memsearch-client.d.ts +34 -0
  38. package/dist/context/memsearch-client.d.ts.map +1 -0
  39. package/dist/context/memsearch-client.js +182 -0
  40. package/dist/context/memsearch-client.js.map +1 -0
  41. package/dist/context/mock-client.d.ts +116 -0
  42. package/dist/context/mock-client.d.ts.map +1 -0
  43. package/dist/context/mock-client.js +150 -0
  44. package/dist/context/mock-client.js.map +1 -0
  45. package/dist/context/openviking-client.d.ts +87 -0
  46. package/dist/context/openviking-client.d.ts.map +1 -0
  47. package/dist/context/openviking-client.js +166 -0
  48. package/dist/context/openviking-client.js.map +1 -0
  49. package/dist/context/openviking-mcp-client.d.ts +29 -0
  50. package/dist/context/openviking-mcp-client.d.ts.map +1 -0
  51. package/dist/context/openviking-mcp-client.js +81 -0
  52. package/dist/context/openviking-mcp-client.js.map +1 -0
  53. package/dist/context/simple-memory-client.d.ts +43 -0
  54. package/dist/context/simple-memory-client.d.ts.map +1 -0
  55. package/dist/context/simple-memory-client.enhanced.d.ts +39 -0
  56. package/dist/context/simple-memory-client.enhanced.d.ts.map +1 -0
  57. package/dist/context/simple-memory-client.enhanced.js +207 -0
  58. package/dist/context/simple-memory-client.enhanced.js.map +1 -0
  59. package/dist/context/simple-memory-client.js +270 -0
  60. package/dist/context/simple-memory-client.js.map +1 -0
  61. package/dist/evolution/continuous.d.ts +127 -0
  62. package/dist/evolution/continuous.d.ts.map +1 -0
  63. package/dist/evolution/continuous.js +238 -0
  64. package/dist/evolution/continuous.js.map +1 -0
  65. package/dist/evolution/engine.d.ts +97 -0
  66. package/dist/evolution/engine.d.ts.map +1 -0
  67. package/dist/evolution/engine.js +187 -0
  68. package/dist/evolution/engine.js.map +1 -0
  69. package/dist/evolution/evolver-adapter.d.ts +104 -0
  70. package/dist/evolution/evolver-adapter.d.ts.map +1 -0
  71. package/dist/evolution/evolver-adapter.js +227 -0
  72. package/dist/evolution/evolver-adapter.js.map +1 -0
  73. package/dist/evolution/index.d.ts +9 -0
  74. package/dist/evolution/index.d.ts.map +1 -0
  75. package/dist/evolution/index.js +8 -0
  76. package/dist/evolution/index.js.map +1 -0
  77. package/dist/evolution/memory.d.ts +106 -0
  78. package/dist/evolution/memory.d.ts.map +1 -0
  79. package/dist/evolution/memory.js +232 -0
  80. package/dist/evolution/memory.js.map +1 -0
  81. package/dist/evolution/mutation.d.ts +66 -0
  82. package/dist/evolution/mutation.d.ts.map +1 -0
  83. package/dist/evolution/mutation.js +139 -0
  84. package/dist/evolution/mutation.js.map +1 -0
  85. package/dist/evolution/sandbox.d.ts +96 -0
  86. package/dist/evolution/sandbox.d.ts.map +1 -0
  87. package/dist/evolution/sandbox.js +194 -0
  88. package/dist/evolution/sandbox.js.map +1 -0
  89. package/dist/evolution/types.d.ts +93 -0
  90. package/dist/evolution/types.d.ts.map +1 -0
  91. package/dist/evolution/types.js +9 -0
  92. package/dist/evolution/types.js.map +1 -0
  93. package/dist/executor/index.d.ts +10 -0
  94. package/dist/executor/index.d.ts.map +1 -0
  95. package/dist/executor/index.js +10 -0
  96. package/dist/executor/index.js.map +1 -0
  97. package/dist/executor/interface.d.ts +9 -0
  98. package/dist/executor/interface.d.ts.map +1 -0
  99. package/dist/executor/interface.js +9 -0
  100. package/dist/executor/interface.js.map +1 -0
  101. package/dist/executor/local.d.ts +36 -0
  102. package/dist/executor/local.d.ts.map +1 -0
  103. package/dist/executor/local.js +95 -0
  104. package/dist/executor/local.js.map +1 -0
  105. package/dist/extension-system/capability-router.d.ts +106 -0
  106. package/dist/extension-system/capability-router.d.ts.map +1 -0
  107. package/dist/extension-system/capability-router.js +167 -0
  108. package/dist/extension-system/capability-router.js.map +1 -0
  109. package/dist/extension-system/index.d.ts +11 -0
  110. package/dist/extension-system/index.d.ts.map +1 -0
  111. package/dist/extension-system/index.js +11 -0
  112. package/dist/extension-system/index.js.map +1 -0
  113. package/dist/extension-system/loader.d.ts +93 -0
  114. package/dist/extension-system/loader.d.ts.map +1 -0
  115. package/dist/extension-system/loader.js +245 -0
  116. package/dist/extension-system/loader.js.map +1 -0
  117. package/dist/extension-system/registry.d.ts +112 -0
  118. package/dist/extension-system/registry.d.ts.map +1 -0
  119. package/dist/extension-system/registry.js +161 -0
  120. package/dist/extension-system/registry.js.map +1 -0
  121. package/dist/index.d.ts +14 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +20 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/network/client.d.ts +130 -0
  126. package/dist/network/client.d.ts.map +1 -0
  127. package/dist/network/client.js +230 -0
  128. package/dist/network/client.js.map +1 -0
  129. package/dist/network/index.d.ts +10 -0
  130. package/dist/network/index.d.ts.map +1 -0
  131. package/dist/network/index.js +10 -0
  132. package/dist/network/index.js.map +1 -0
  133. package/dist/network/protocol.d.ts +159 -0
  134. package/dist/network/protocol.d.ts.map +1 -0
  135. package/dist/network/protocol.js +118 -0
  136. package/dist/network/protocol.js.map +1 -0
  137. package/dist/runtime/agent.d.ts +124 -0
  138. package/dist/runtime/agent.d.ts.map +1 -0
  139. package/dist/runtime/agent.js +286 -0
  140. package/dist/runtime/agent.js.map +1 -0
  141. package/dist/runtime/agent_fixed.d.ts +39 -0
  142. package/dist/runtime/agent_fixed.d.ts.map +1 -0
  143. package/dist/runtime/agent_fixed.js +193 -0
  144. package/dist/runtime/agent_fixed.js.map +1 -0
  145. package/dist/runtime/index.d.ts +11 -0
  146. package/dist/runtime/index.d.ts.map +1 -0
  147. package/dist/runtime/index.js +11 -0
  148. package/dist/runtime/index.js.map +1 -0
  149. package/dist/runtime/llm-client.d.ts +108 -0
  150. package/dist/runtime/llm-client.d.ts.map +1 -0
  151. package/dist/runtime/llm-client.js +125 -0
  152. package/dist/runtime/llm-client.js.map +1 -0
  153. package/dist/runtime/task-executor.d.ts +92 -0
  154. package/dist/runtime/task-executor.d.ts.map +1 -0
  155. package/dist/runtime/task-executor.js +203 -0
  156. package/dist/runtime/task-executor.js.map +1 -0
  157. package/dist/skill-sh/adapter.d.ts +40 -0
  158. package/dist/skill-sh/adapter.d.ts.map +1 -0
  159. package/dist/skill-sh/adapter.js +258 -0
  160. package/dist/skill-sh/adapter.js.map +1 -0
  161. package/dist/skill-sh/converter.d.ts +37 -0
  162. package/dist/skill-sh/converter.d.ts.map +1 -0
  163. package/dist/skill-sh/converter.js +175 -0
  164. package/dist/skill-sh/converter.js.map +1 -0
  165. package/dist/skill-sh/discovery.d.ts +29 -0
  166. package/dist/skill-sh/discovery.d.ts.map +1 -0
  167. package/dist/skill-sh/discovery.js +189 -0
  168. package/dist/skill-sh/discovery.js.map +1 -0
  169. package/dist/skill-sh/index.d.ts +19 -0
  170. package/dist/skill-sh/index.d.ts.map +1 -0
  171. package/dist/skill-sh/index.js +20 -0
  172. package/dist/skill-sh/index.js.map +1 -0
  173. package/dist/skill-sh/quality.d.ts +51 -0
  174. package/dist/skill-sh/quality.d.ts.map +1 -0
  175. package/dist/skill-sh/quality.js +146 -0
  176. package/dist/skill-sh/quality.js.map +1 -0
  177. package/dist/skill-sh/registry.d.ts +58 -0
  178. package/dist/skill-sh/registry.d.ts.map +1 -0
  179. package/dist/skill-sh/registry.js +118 -0
  180. package/dist/skill-sh/registry.js.map +1 -0
  181. package/dist/skill-sh/types.d.ts +228 -0
  182. package/dist/skill-sh/types.d.ts.map +1 -0
  183. package/dist/skill-sh/types.js +9 -0
  184. package/dist/skill-sh/types.js.map +1 -0
  185. package/dist/types.d.ts +199 -0
  186. package/dist/types.d.ts.map +1 -0
  187. package/dist/types.js +10 -0
  188. package/dist/types.js.map +1 -0
  189. package/package.json +41 -0
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Evolution Engine
3
+ *
4
+ * Core engine for managing the evolution process.
5
+ *
6
+ * @module @jclaw/core/evolution/engine
7
+ */
8
+ import type { Executor } from '../types.js';
9
+ import { LLMClient } from '../runtime/llm-client.js';
10
+ import type { EvolutionStrategy, EvolutionConfig, Mutation, EvolutionResult, Gene } from './types.js';
11
+ /**
12
+ * Evolution Engine
13
+ *
14
+ * Manages the evolution cycle for self-improvement.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const engine = new EvolutionEngine({
19
+ * llmClient,
20
+ * executor: localExecutor
21
+ * });
22
+ *
23
+ * const result = await engine.evolve(code, {
24
+ * strategies: ['optimize']
25
+ * });
26
+ *
27
+ * if (result.improved) {
28
+ * console.log('Best mutation:', result.bestMutation);
29
+ * }
30
+ * ```
31
+ */
32
+ export declare class EvolutionEngine {
33
+ private readonly config;
34
+ private readonly llmClient;
35
+ private readonly executor;
36
+ private mutationGenerator;
37
+ private sandboxValidator;
38
+ /**
39
+ * Create a new evolution engine.
40
+ *
41
+ * @param options - Engine options
42
+ */
43
+ constructor(options: {
44
+ llmClient: LLMClient;
45
+ executor: Executor;
46
+ config?: EvolutionConfig;
47
+ });
48
+ /**
49
+ * Run an evolution cycle on the given code.
50
+ *
51
+ * @param code - The code to evolve
52
+ * @param options - Optional overrides for this cycle
53
+ * @returns Evolution result
54
+ */
55
+ evolve(code: string, options?: Partial<EvolutionConfig>): Promise<EvolutionResult>;
56
+ /**
57
+ * Evolve code with a specific strategy.
58
+ *
59
+ * @param code - The code to evolve
60
+ * @param strategy - The evolution strategy to use
61
+ * @returns Evolution result
62
+ */
63
+ evolveWithStrategy(code: string, strategy: EvolutionStrategy): Promise<EvolutionResult>;
64
+ /**
65
+ * Convert a mutation to a gene for EvoMap.
66
+ *
67
+ * @param mutation - The mutation to convert
68
+ * @param generation - The generation number
69
+ * @param parents - Parent gene IDs
70
+ * @returns Gene representation
71
+ */
72
+ toGene(mutation: Mutation, generation: number, parents?: string[]): Gene;
73
+ /**
74
+ * Calculate fitness score based on validation result.
75
+ */
76
+ private calculateFitness;
77
+ /**
78
+ * Estimate fitness without sandbox validation.
79
+ */
80
+ private estimateFitness;
81
+ /**
82
+ * Find the best mutation based on fitness.
83
+ */
84
+ private findBestMutation;
85
+ }
86
+ /**
87
+ * Create a new evolution engine.
88
+ *
89
+ * @param options - Engine options
90
+ * @returns New EvolutionEngine instance
91
+ */
92
+ export declare function createEvolutionEngine(options: {
93
+ llmClient: LLMClient;
94
+ executor: Executor;
95
+ config?: EvolutionConfig;
96
+ }): EvolutionEngine;
97
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/evolution/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,IAAI,EACL,MAAM,YAAY,CAAC;AAapB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,gBAAgB,CAAmB;IAE3C;;;;OAIG;gBACS,OAAO,EAAE;QACnB,SAAS,EAAE,SAAS,CAAC;QACrB,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B;IAgBD;;;;;;OAMG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACjC,OAAO,CAAC,eAAe,CAAC;IAqC3B;;;;;;OAMG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7F;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,IAAI;IAY5E;;OAEG;IAEH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAWzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,GAAG,eAAe,CAElB"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * Evolution Engine
3
+ *
4
+ * Core engine for managing the evolution process.
5
+ *
6
+ * @module @jclaw/core/evolution/engine
7
+ */
8
+ import { MutationGenerator } from './mutation.js';
9
+ import { SandboxValidator } from './sandbox.js';
10
+ /**
11
+ * Default evolution configuration
12
+ */
13
+ const DEFAULT_CONFIG = {
14
+ maxMutations: 5,
15
+ minFitness: 0.7,
16
+ enableSandbox: true,
17
+ sandboxTimeout: 30000,
18
+ strategies: ['repair', 'optimize', 'innovate'],
19
+ };
20
+ /**
21
+ * Evolution Engine
22
+ *
23
+ * Manages the evolution cycle for self-improvement.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const engine = new EvolutionEngine({
28
+ * llmClient,
29
+ * executor: localExecutor
30
+ * });
31
+ *
32
+ * const result = await engine.evolve(code, {
33
+ * strategies: ['optimize']
34
+ * });
35
+ *
36
+ * if (result.improved) {
37
+ * console.log('Best mutation:', result.bestMutation);
38
+ * }
39
+ * ```
40
+ */
41
+ export class EvolutionEngine {
42
+ config;
43
+ llmClient;
44
+ executor;
45
+ mutationGenerator;
46
+ sandboxValidator;
47
+ /**
48
+ * Create a new evolution engine.
49
+ *
50
+ * @param options - Engine options
51
+ */
52
+ constructor(options) {
53
+ this.llmClient = options.llmClient;
54
+ this.executor = options.executor;
55
+ this.config = { ...DEFAULT_CONFIG, ...options.config };
56
+ // Initialize components
57
+ this.mutationGenerator = new MutationGenerator({
58
+ llmClient: this.llmClient,
59
+ });
60
+ this.sandboxValidator = new SandboxValidator({
61
+ executor: this.executor,
62
+ timeout: this.config.sandboxTimeout,
63
+ });
64
+ }
65
+ /**
66
+ * Run an evolution cycle on the given code.
67
+ *
68
+ * @param code - The code to evolve
69
+ * @param options - Optional overrides for this cycle
70
+ * @returns Evolution result
71
+ */
72
+ async evolve(code, options) {
73
+ const startTime = Date.now();
74
+ const strategies = options?.strategies ?? this.config.strategies;
75
+ // Generate mutations
76
+ const mutations = await this.mutationGenerator.generate(code, strategies);
77
+ const validatedMutations = [];
78
+ // Validate mutations if sandbox is enabled
79
+ if (this.config.enableSandbox) {
80
+ for (const mutation of mutations) {
81
+ const result = await this.sandboxValidator.validate(mutation);
82
+ if (result.passed) {
83
+ mutation.fitness = this.calculateFitness(mutation, result);
84
+ validatedMutations.push(mutation);
85
+ }
86
+ }
87
+ }
88
+ else {
89
+ // Without sandbox, estimate fitness
90
+ for (const mutation of mutations) {
91
+ mutation.fitness = this.estimateFitness(mutation);
92
+ validatedMutations.push(mutation);
93
+ }
94
+ }
95
+ // Find best mutation
96
+ const bestMutation = this.findBestMutation(validatedMutations);
97
+ return {
98
+ improved: bestMutation !== undefined && (bestMutation.fitness ?? 0) >= this.config.minFitness,
99
+ mutations,
100
+ validatedMutations,
101
+ bestMutation,
102
+ duration: Date.now() - startTime,
103
+ };
104
+ }
105
+ /**
106
+ * Evolve code with a specific strategy.
107
+ *
108
+ * @param code - The code to evolve
109
+ * @param strategy - The evolution strategy to use
110
+ * @returns Evolution result
111
+ */
112
+ async evolveWithStrategy(code, strategy) {
113
+ return this.evolve(code, { strategies: [strategy] });
114
+ }
115
+ /**
116
+ * Convert a mutation to a gene for EvoMap.
117
+ *
118
+ * @param mutation - The mutation to convert
119
+ * @param generation - The generation number
120
+ * @param parents - Parent gene IDs
121
+ * @returns Gene representation
122
+ */
123
+ toGene(mutation, generation, parents = []) {
124
+ return {
125
+ id: mutation.id,
126
+ type: 'behavior',
127
+ content: mutation.mutated,
128
+ fitness: mutation.fitness ?? 0,
129
+ generation,
130
+ parents,
131
+ createdAt: mutation.createdAt,
132
+ };
133
+ }
134
+ /**
135
+ * Calculate fitness score based on validation result.
136
+ */
137
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
138
+ calculateFitness(mutation, _validationResult) {
139
+ // Base fitness on mutation strategy
140
+ const strategyWeights = {
141
+ repair: 0.8,
142
+ optimize: 0.9,
143
+ innovate: 0.7,
144
+ };
145
+ const baseWeight = strategyWeights[mutation.strategy] ?? 0.7;
146
+ // Factor in code length change (shorter is often better)
147
+ const lengthRatio = mutation.mutated.length / Math.max(mutation.original.length, 1);
148
+ const lengthFactor = lengthRatio < 1 ? 1.1 : Math.max(0.9, 2 - lengthRatio);
149
+ // Combine factors
150
+ return Math.min(1, baseWeight * lengthFactor);
151
+ }
152
+ /**
153
+ * Estimate fitness without sandbox validation.
154
+ */
155
+ estimateFitness(mutation) {
156
+ // Simple heuristic based on strategy
157
+ const strategyScores = {
158
+ repair: 0.75,
159
+ optimize: 0.8,
160
+ innovate: 0.65,
161
+ };
162
+ return strategyScores[mutation.strategy] ?? 0.5;
163
+ }
164
+ /**
165
+ * Find the best mutation based on fitness.
166
+ */
167
+ findBestMutation(mutations) {
168
+ if (mutations.length === 0) {
169
+ return undefined;
170
+ }
171
+ return mutations.reduce((best, current) => {
172
+ const bestFitness = best.fitness ?? 0;
173
+ const currentFitness = current.fitness ?? 0;
174
+ return currentFitness > bestFitness ? current : best;
175
+ });
176
+ }
177
+ }
178
+ /**
179
+ * Create a new evolution engine.
180
+ *
181
+ * @param options - Engine options
182
+ * @returns New EvolutionEngine instance
183
+ */
184
+ export function createEvolutionEngine(options) {
185
+ return new EvolutionEngine(options);
186
+ }
187
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/evolution/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Evolver Adapter
3
+ *
4
+ * 适配真实的 Evolver 项目 (autogame-17/evolver)
5
+ * 通过子进程调用 Evolver CLI
6
+ *
7
+ * @module @jclaw/core/evolution/evolver-adapter
8
+ */
9
+ /**
10
+ * Evolver 适配器配置
11
+ */
12
+ export interface EvolverAdapterConfig {
13
+ /** Evolver 可执行文件路径 */
14
+ evolverPath?: string;
15
+ /** 工作目录 */
16
+ workspace?: string;
17
+ /** 执行超时时间 */
18
+ timeout?: number;
19
+ /** 是否启用调试日志 */
20
+ verbose?: boolean;
21
+ }
22
+ /**
23
+ * 进化结果
24
+ */
25
+ export interface EvolverResult {
26
+ /** 是否成功 */
27
+ success: boolean;
28
+ /** 进化后的代码 */
29
+ mutated?: string;
30
+ /** 适应度分数 (0-1) */
31
+ fitness?: number;
32
+ /** 策略类型 */
33
+ strategy?: string;
34
+ /** 改进描述 */
35
+ description?: string;
36
+ /** 错误信息 */
37
+ error?: string;
38
+ }
39
+ /**
40
+ * Evolver Adapter
41
+ *
42
+ * 调用真实的 Evolver 项目进行代码进化。
43
+ * Evolver 项目地址: https://github.com/autogame-17/evolver
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const adapter = new EvolverAdapter();
48
+ *
49
+ * const result = await adapter.evolve(code, {
50
+ * strategy: 'optimize'
51
+ * });
52
+ *
53
+ * if (result.success) {
54
+ * console.log('进化后的代码:', result.mutated);
55
+ * console.log('适应度:', result.fitness);
56
+ * }
57
+ * ```
58
+ */
59
+ export declare class EvolverAdapter {
60
+ private readonly config;
61
+ constructor(config?: EvolverAdapterConfig);
62
+ /**
63
+ * 检查 Evolver 是否可用
64
+ */
65
+ isAvailable(): Promise<boolean>;
66
+ /**
67
+ * 进化代码
68
+ *
69
+ * @param code - 原始代码
70
+ * @param options - 进化选项
71
+ * @returns 进化结果
72
+ */
73
+ evolve(code: string, options?: {
74
+ strategy?: 'repair' | 'optimize' | 'innovate';
75
+ context?: string;
76
+ }): Promise<EvolverResult>;
77
+ /**
78
+ * 批量进化
79
+ *
80
+ * 使用多个策略同时进化,返回最佳结果
81
+ */
82
+ evolveBatch(code: string, strategies?: Array<'repair' | 'optimize' | 'innovate'>): Promise<EvolverResult[]>;
83
+ /**
84
+ * 运行 Evolver 进程
85
+ */
86
+ private runEvolver;
87
+ /**
88
+ * 读取进化结果
89
+ */
90
+ private readResult;
91
+ /**
92
+ * 清理工作目录
93
+ */
94
+ private cleanup;
95
+ /**
96
+ * 日志输出
97
+ */
98
+ private log;
99
+ }
100
+ /**
101
+ * 创建 Evolver 适配器
102
+ */
103
+ export declare function createEvolverAdapter(config?: EvolverAdapterConfig): EvolverAdapter;
104
+ //# sourceMappingURL=evolver-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolver-adapter.d.ts","sourceRoot":"","sources":["../../src/evolution/evolver-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAE5C,MAAM,GAAE,oBAAyB;IAS7C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAWrC;;;;;;OAMG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;QAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC,aAAa,CAAC;IAiCzB;;;;OAIG;IACG,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAsC,GACzF,OAAO,CAAC,aAAa,EAAE,CAAC;IAY3B;;OAEG;IACH,OAAO,CAAC,UAAU;IA6ClB;;OAEG;YACW,UAAU;IA0DxB;;OAEG;YACW,OAAO;IAQrB;;OAEG;IACH,OAAO,CAAC,GAAG;CAKZ;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAElF"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Evolver Adapter
3
+ *
4
+ * 适配真实的 Evolver 项目 (autogame-17/evolver)
5
+ * 通过子进程调用 Evolver CLI
6
+ *
7
+ * @module @jclaw/core/evolution/evolver-adapter
8
+ */
9
+ import { spawn } from 'child_process';
10
+ import { promises as fs } from 'fs';
11
+ import * as path from 'path';
12
+ import * as os from 'os';
13
+ /**
14
+ * Evolver Adapter
15
+ *
16
+ * 调用真实的 Evolver 项目进行代码进化。
17
+ * Evolver 项目地址: https://github.com/autogame-17/evolver
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const adapter = new EvolverAdapter();
22
+ *
23
+ * const result = await adapter.evolve(code, {
24
+ * strategy: 'optimize'
25
+ * });
26
+ *
27
+ * if (result.success) {
28
+ * console.log('进化后的代码:', result.mutated);
29
+ * console.log('适应度:', result.fitness);
30
+ * }
31
+ * ```
32
+ */
33
+ export class EvolverAdapter {
34
+ config;
35
+ constructor(config = {}) {
36
+ this.config = {
37
+ evolverPath: config.evolverPath || 'evolver',
38
+ workspace: config.workspace || path.join(os.tmpdir(), 'jclaw-evolver'),
39
+ timeout: config.timeout || 60000,
40
+ verbose: config.verbose || false,
41
+ };
42
+ }
43
+ /**
44
+ * 检查 Evolver 是否可用
45
+ */
46
+ async isAvailable() {
47
+ return new Promise((resolve) => {
48
+ const proc = spawn(this.config.evolverPath, ['--version'], {
49
+ timeout: 5000,
50
+ });
51
+ proc.on('error', () => resolve(false));
52
+ proc.on('close', (code) => resolve(code === 0));
53
+ });
54
+ }
55
+ /**
56
+ * 进化代码
57
+ *
58
+ * @param code - 原始代码
59
+ * @param options - 进化选项
60
+ * @returns 进化结果
61
+ */
62
+ async evolve(code, options = {}) {
63
+ // 创建工作目录
64
+ const workDir = path.join(this.config.workspace, `evolve-${Date.now()}`);
65
+ await fs.mkdir(workDir, { recursive: true });
66
+ try {
67
+ // 写入输入文件
68
+ const inputFile = path.join(workDir, 'input.js');
69
+ await fs.writeFile(inputFile, code, 'utf-8');
70
+ // 构建命令参数
71
+ const args = ['run', '--input', inputFile];
72
+ if (options.strategy) {
73
+ args.push('--strategy', options.strategy);
74
+ }
75
+ if (options.context) {
76
+ const contextFile = path.join(workDir, 'context.txt');
77
+ await fs.writeFile(contextFile, options.context, 'utf-8');
78
+ args.push('--context', contextFile);
79
+ }
80
+ this.log(`执行: ${this.config.evolverPath} ${args.join(' ')}`);
81
+ // 执行 Evolver
82
+ return await this.runEvolver(args, workDir);
83
+ }
84
+ finally {
85
+ // 清理工作目录
86
+ await this.cleanup(workDir);
87
+ }
88
+ }
89
+ /**
90
+ * 批量进化
91
+ *
92
+ * 使用多个策略同时进化,返回最佳结果
93
+ */
94
+ async evolveBatch(code, strategies = ['repair', 'optimize', 'innovate']) {
95
+ const promises = strategies.map((strategy) => this.evolve(code, { strategy }).catch((error) => ({
96
+ success: false,
97
+ strategy,
98
+ error: error instanceof Error ? error.message : String(error),
99
+ })));
100
+ return Promise.all(promises);
101
+ }
102
+ /**
103
+ * 运行 Evolver 进程
104
+ */
105
+ runEvolver(args, workDir) {
106
+ return new Promise((resolve) => {
107
+ const proc = spawn(this.config.evolverPath, args, {
108
+ cwd: workDir,
109
+ timeout: this.config.timeout,
110
+ env: { ...process.env, NODE_ENV: 'production' },
111
+ });
112
+ let stdout = '';
113
+ let stderr = '';
114
+ proc.stdout.on('data', (data) => {
115
+ const text = data.toString('utf-8');
116
+ stdout += text;
117
+ this.log(`stdout: ${text.trim()}`);
118
+ });
119
+ proc.stderr.on('data', (data) => {
120
+ const text = data.toString('utf-8');
121
+ stderr += text;
122
+ this.log(`stderr: ${text.trim()}`);
123
+ });
124
+ proc.on('close', async (code) => {
125
+ try {
126
+ // 尝试读取结果文件
127
+ const result = await this.readResult(workDir);
128
+ resolve(result);
129
+ }
130
+ catch (error) {
131
+ resolve({
132
+ success: false,
133
+ error: stderr || (error instanceof Error ? error.message : String(error)) || `Process exited with code ${code}`,
134
+ });
135
+ }
136
+ });
137
+ proc.on('error', (error) => {
138
+ resolve({
139
+ success: false,
140
+ error: `Failed to spawn evolver: ${error instanceof Error ? error.message : String(error)}`,
141
+ });
142
+ });
143
+ });
144
+ }
145
+ /**
146
+ * 读取进化结果
147
+ */
148
+ async readResult(workDir) {
149
+ // 尝试多个可能的结果文件位置
150
+ const possibleOutputs = [
151
+ path.join(workDir, 'output.js'),
152
+ path.join(workDir, 'result.js'),
153
+ path.join(workDir, 'evolved.js'),
154
+ path.join(workDir, 'out', 'output.js'),
155
+ ];
156
+ let mutated;
157
+ for (const file of possibleOutputs) {
158
+ try {
159
+ mutated = await fs.readFile(file, 'utf-8');
160
+ break;
161
+ }
162
+ catch {
163
+ // 文件不存在,继续尝试
164
+ }
165
+ }
166
+ // 读取元数据
167
+ let fitness = 0.5;
168
+ let strategy = 'unknown';
169
+ let description = '';
170
+ const possibleMetadata = [
171
+ path.join(workDir, 'result.json'),
172
+ path.join(workDir, 'metadata.json'),
173
+ path.join(workDir, 'fitness.json'),
174
+ ];
175
+ for (const file of possibleMetadata) {
176
+ try {
177
+ const data = JSON.parse(await fs.readFile(file, 'utf-8'));
178
+ fitness = data.fitness ?? data.score ?? fitness;
179
+ strategy = data.strategy ?? strategy;
180
+ description = data.description ?? data.reasoning ?? description;
181
+ break;
182
+ }
183
+ catch {
184
+ // 文件不存在或解析失败
185
+ }
186
+ }
187
+ if (!mutated) {
188
+ return {
189
+ success: false,
190
+ error: 'No output file generated',
191
+ };
192
+ }
193
+ return {
194
+ success: true,
195
+ mutated,
196
+ fitness,
197
+ strategy,
198
+ description,
199
+ };
200
+ }
201
+ /**
202
+ * 清理工作目录
203
+ */
204
+ async cleanup(workDir) {
205
+ try {
206
+ await fs.rm(workDir, { recursive: true, force: true });
207
+ }
208
+ catch {
209
+ // 忽略清理错误
210
+ }
211
+ }
212
+ /**
213
+ * 日志输出
214
+ */
215
+ log(message) {
216
+ if (this.config.verbose) {
217
+ console.log(`[EvolverAdapter] ${message}`);
218
+ }
219
+ }
220
+ }
221
+ /**
222
+ * 创建 Evolver 适配器
223
+ */
224
+ export function createEvolverAdapter(config) {
225
+ return new EvolverAdapter(config);
226
+ }
227
+ //# sourceMappingURL=evolver-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolver-adapter.js","sourceRoot":"","sources":["../../src/evolution/evolver-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Evolution Module
3
+ */
4
+ export type { EvolutionStrategy, Mutation, ValidationResult, EvolutionConfig, Gene, EvolutionResult, } from './types.js';
5
+ export { MutationGenerator, createMutationGenerator, type MutationGeneratorConfig } from './mutation.js';
6
+ export { SandboxValidator, createSandbox, type SandboxConfig } from './sandbox.js';
7
+ export { EvolutionEngine, createEvolutionEngine } from './engine.js';
8
+ export { EvolverAdapter, createEvolverAdapter, type EvolverAdapterConfig, type EvolverResult } from './evolver-adapter.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evolution/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,IAAI,EACJ,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Evolution Module
3
+ */
4
+ export { MutationGenerator, createMutationGenerator } from './mutation.js';
5
+ export { SandboxValidator, createSandbox } from './sandbox.js';
6
+ export { EvolutionEngine, createEvolutionEngine } from './engine.js';
7
+ export { EvolverAdapter, createEvolverAdapter } from './evolver-adapter.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evolution/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAgC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAsB,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAiD,MAAM,sBAAsB,CAAC"}