@evomap/evolver 1.83.0 → 1.84.1

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 (55) hide show
  1. package/index.js +7 -8
  2. package/package.json +3 -2
  3. package/src/atp/hubClient.js +3 -1
  4. package/src/evolve/guards.js +1 -1
  5. package/src/evolve/pipeline/collect.js +1 -1
  6. package/src/evolve/pipeline/dispatch.js +1 -1
  7. package/src/evolve/pipeline/enrich.js +1 -1
  8. package/src/evolve/pipeline/hub.js +1 -1
  9. package/src/evolve/pipeline/select.js +1 -1
  10. package/src/evolve/pipeline/signals.js +1 -1
  11. package/src/evolve/utils.js +1 -1
  12. package/src/evolve.js +1 -1
  13. package/src/forceUpdate.js +5 -21
  14. package/src/gep/a2aProtocol.js +1 -1
  15. package/src/gep/candidateEval.js +1 -1
  16. package/src/gep/candidates.js +1 -1
  17. package/src/gep/contentHash.js +1 -1
  18. package/src/gep/crypto.js +1 -1
  19. package/src/gep/curriculum.js +1 -1
  20. package/src/gep/deviceId.js +1 -1
  21. package/src/gep/envFingerprint.js +1 -1
  22. package/src/gep/epigenetics.js +1 -1
  23. package/src/gep/explore.js +1 -1
  24. package/src/gep/gitOps.js +0 -5
  25. package/src/gep/hash.js +1 -1
  26. package/src/gep/hubReview.js +1 -1
  27. package/src/gep/hubSearch.js +1 -1
  28. package/src/gep/hubVerify.js +1 -1
  29. package/src/gep/learningSignals.js +1 -1
  30. package/src/gep/mailboxTransport.js +8 -5
  31. package/src/gep/memoryGraph.js +1 -1
  32. package/src/gep/memoryGraphAdapter.js +1 -1
  33. package/src/gep/mutation.js +1 -1
  34. package/src/gep/narrativeMemory.js +1 -1
  35. package/src/gep/openPRRegistry.js +1 -1
  36. package/src/gep/personality.js +1 -1
  37. package/src/gep/policyCheck.js +1 -1
  38. package/src/gep/prompt.js +1 -1
  39. package/src/gep/recallVerifier.js +1 -1
  40. package/src/gep/reflection.js +1 -1
  41. package/src/gep/sanitize.js +2 -1
  42. package/src/gep/selector.js +1 -1
  43. package/src/gep/selfPR.js +0 -2
  44. package/src/gep/skillDistiller.js +1 -1
  45. package/src/gep/solidify.js +1 -1
  46. package/src/gep/strategy.js +1 -1
  47. package/src/ops/health_check.js +1 -11
  48. package/src/ops/lifecycle.js +1 -3
  49. package/src/proxy/server/http.js +16 -1
  50. package/src/proxy/server/settings.js +9 -2
  51. package/src/webui/observer/interactions.js +22 -16
  52. package/scripts/check_wrapper_compat.js +0 -113
  53. package/src/gep/.integrity +0 -0
  54. package/src/gep/integrityCheck.js +0 -1
  55. package/src/gep/shield.js +0 -1
package/index.js CHANGED
@@ -129,9 +129,9 @@ class CycleTimeoutError extends Error {
129
129
  // in detached mode. So suicide-respawn (cycles >= max, RSS over budget, or the
130
130
  // new cycle hard-timeout) opens a new cmd popup on every restart. We now skip
131
131
  // the in-process detached spawn on Windows by default and rely on an external
132
- // supervisor (feishu-evolver-wrapper >= 1.10.0, NSSM, pm2-windows, etc.) to
133
- // respawn the daemon on non-zero exit. Users who insist can opt back in with
134
- // EVOLVER_SUICIDE_WINDOWS=true (and accept the popups).
132
+ // supervisor (NSSM, pm2-windows, etc.) to respawn the daemon on non-zero exit.
133
+ // Users who insist can opt back in with EVOLVER_SUICIDE_WINDOWS=true (and accept
134
+ // the popups).
135
135
  function spawnReplacementProcess({ reason, args, logPath }) {
136
136
  const isWindows = process.platform === 'win32';
137
137
  const allowOnWindows = parseBoolEnv(process.env.EVOLVER_SUICIDE_WINDOWS, false);
@@ -140,7 +140,7 @@ function spawnReplacementProcess({ reason, args, logPath }) {
140
140
  '[Daemon] Skipping in-process respawn on Windows (' + reason + '). ' +
141
141
  'Native Node spawn(detached, windowsHide) opens a cmd popup on every restart (Issue #528). ' +
142
142
  'Set EVOLVER_SUICIDE_WINDOWS=true to opt back in. ' +
143
- 'Recommended: run evolver under feishu-evolver-wrapper >= 1.10.0, NSSM, or pm2-windows so the supervisor restarts on exit.'
143
+ 'Recommended: run evolver under an external supervisor (NSSM, pm2-windows, etc.) so it restarts on exit.'
144
144
  );
145
145
  return { spawned: false, reason: 'windows_default_skip' };
146
146
  }
@@ -372,8 +372,7 @@ async function main() {
372
372
  const idleThresholdMs = parseMs(process.env.EVOLVER_IDLE_THRESHOLD_MS, 500);
373
373
  const pendingSleepMs = parseMs(
374
374
  process.env.EVOLVE_PENDING_SLEEP_MS ||
375
- process.env.EVOLVE_MIN_INTERVAL ||
376
- process.env.FEISHU_EVOLVER_INTERVAL,
375
+ process.env.EVOLVE_MIN_INTERVAL,
377
376
  120000
378
377
  );
379
378
 
@@ -732,7 +731,7 @@ async function main() {
732
731
  const summary = summaryFlag ? summaryFlag.slice('--summary='.length) : null;
733
732
 
734
733
  try {
735
- const res = solidify({
734
+ const res = await solidify({
736
735
  intent: intent || undefined,
737
736
  summary: summary || undefined,
738
737
  dryRun,
@@ -982,7 +981,7 @@ async function main() {
982
981
  if (args.includes('--approve')) {
983
982
  console.log('\n[Review] Approved. Running solidify...\n');
984
983
  try {
985
- const res = solidify({
984
+ const res = await solidify({
986
985
  intent: lastRun.intent || undefined,
987
986
  rollbackOnFailure: true,
988
987
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evomap/evolver",
3
- "version": "1.83.0",
3
+ "version": "1.84.1",
4
4
  "description": "A GEP-powered self-evolution engine for AI agents. Features automated log analysis and Genome Evolution Protocol (GEP) for auditable, reusable evolution assets.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -33,9 +33,10 @@
33
33
  "a2a:promote": "node scripts/a2a_promote.js"
34
34
  },
35
35
  "engines": {
36
- "node": ">=22"
36
+ "node": ">=22.12"
37
37
  },
38
38
  "dependencies": {
39
+ "@evomap/gep-sdk": "^1.2.0",
39
40
  "dotenv": "^16.4.7"
40
41
  },
41
42
  "devDependencies": {
@@ -16,7 +16,7 @@
16
16
 
17
17
  const http = require('http');
18
18
  const { getHubUrl, buildHubHeaders, getNodeId } = require('../gep/a2aProtocol');
19
- const { getProxyUrl } = require('../proxy/server/settings');
19
+ const { getProxyUrl, getProxyToken } = require('../proxy/server/settings');
20
20
 
21
21
  function _isProxyMode() {
22
22
  if (process.env.EVOMAP_PROXY === '1') return true;
@@ -35,6 +35,8 @@ function _proxyRequest(method, path, body, timeoutMs) {
35
35
  const payload = body ? JSON.stringify(body) : '';
36
36
  const headers = { 'Content-Type': 'application/json' };
37
37
  if (payload) headers['Content-Length'] = Buffer.byteLength(payload);
38
+ const proxyToken = getProxyToken();
39
+ if (proxyToken) headers['Authorization'] = 'Bearer ' + proxyToken;
38
40
 
39
41
  const req = http.request(
40
42
  {