@evomap/evolver 1.89.12 → 1.89.14

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 (98) hide show
  1. package/CONTRIBUTING.md +19 -0
  2. package/README.md +537 -90
  3. package/assets/cover.png +0 -0
  4. package/index.js +24 -11
  5. package/package.json +18 -6
  6. package/scripts/a2a_export.js +63 -0
  7. package/scripts/a2a_ingest.js +79 -0
  8. package/scripts/a2a_promote.js +118 -0
  9. package/scripts/analyze_by_skill.js +121 -0
  10. package/scripts/build_binaries.js +479 -0
  11. package/scripts/check-changelog.js +166 -0
  12. package/scripts/extract_log.js +85 -0
  13. package/scripts/generate_history.js +75 -0
  14. package/scripts/gep_append_event.js +96 -0
  15. package/scripts/gep_personality_report.js +234 -0
  16. package/scripts/human_report.js +147 -0
  17. package/scripts/recall-verify-report.js +234 -0
  18. package/scripts/recover_loop.js +61 -0
  19. package/scripts/refresh_stars_badge.js +168 -0
  20. package/scripts/seed-merchants.js +91 -0
  21. package/scripts/suggest_version.js +89 -0
  22. package/scripts/validate-modules.js +38 -0
  23. package/scripts/validate-suite.js +78 -0
  24. package/skills/index.json +14 -0
  25. package/src/evolve/guards.js +1 -721
  26. package/src/evolve/pipeline/collect.js +1 -1283
  27. package/src/evolve/pipeline/dispatch.js +1 -421
  28. package/src/evolve/pipeline/enrich.js +1 -440
  29. package/src/evolve/pipeline/hub.js +1 -319
  30. package/src/evolve/pipeline/select.js +1 -274
  31. package/src/evolve/pipeline/signals.js +1 -206
  32. package/src/evolve/utils.js +1 -264
  33. package/src/evolve.js +1 -350
  34. package/src/gep/a2aProtocol.js +1 -4463
  35. package/src/gep/antiAbuseTelemetry.js +1 -233
  36. package/src/gep/autoDistillConv.js +1 -205
  37. package/src/gep/autoDistillLlm.js +1 -315
  38. package/src/gep/candidateEval.js +1 -92
  39. package/src/gep/candidates.js +1 -198
  40. package/src/gep/contentHash.js +1 -30
  41. package/src/gep/conversationDistiller.js +1 -270
  42. package/src/gep/conversationSniffer.js +1 -266
  43. package/src/gep/crypto.js +1 -89
  44. package/src/gep/curriculum.js +1 -163
  45. package/src/gep/deviceId.js +1 -218
  46. package/src/gep/envFingerprint.js +1 -118
  47. package/src/gep/epigenetics.js +1 -31
  48. package/src/gep/execBridge.js +1 -712
  49. package/src/gep/explore.js +1 -289
  50. package/src/gep/hash.js +1 -15
  51. package/src/gep/hubFetch.js +1 -608
  52. package/src/gep/hubReview.js +1 -207
  53. package/src/gep/hubSearch.js +1 -526
  54. package/src/gep/hubVerify.js +1 -306
  55. package/src/gep/learningSignals.js +1 -89
  56. package/src/gep/memoryGraph.js +1 -1449
  57. package/src/gep/memoryGraphAdapter.js +1 -203
  58. package/src/gep/mutation.js +1 -203
  59. package/src/gep/narrativeMemory.js +1 -108
  60. package/src/gep/openPRRegistry.js +1 -205
  61. package/src/gep/personality.js +1 -423
  62. package/src/gep/policyCheck.js +1 -599
  63. package/src/gep/prompt.js +1 -836
  64. package/src/gep/recallInject.js +1 -409
  65. package/src/gep/recallVerifier.js +1 -318
  66. package/src/gep/reflection.js +1 -177
  67. package/src/gep/savingsCore.js +1 -112
  68. package/src/gep/selector.js +1 -602
  69. package/src/gep/skillDistiller.js +1 -1294
  70. package/src/gep/solidify.js +1 -1699
  71. package/src/gep/strategy.js +1 -136
  72. package/src/gep/tokenSavings.js +1 -95
  73. package/src/gep/workspaceKeychain.js +1 -174
  74. package/src/proxy/extensions/traceControl.js +1 -109
  75. package/src/proxy/index.js +50 -0
  76. package/src/proxy/inject.js +1 -52
  77. package/src/proxy/lifecycle/manager.js +40 -1
  78. package/src/proxy/server/routes.js +10 -0
  79. package/src/proxy/sync/outbound.js +1 -1
  80. package/src/proxy/trace/extractor.js +1 -1403
  81. package/src/proxy/trace/usage.js +1 -105
  82. package/.cursor/BUGBOT.md +0 -182
  83. package/.env.example +0 -68
  84. package/.git-commit-guard-token +0 -1
  85. package/.github/CODEOWNERS +0 -63
  86. package/.github/ISSUE_TEMPLATE/good_first_issue.md +0 -23
  87. package/.github/pull_request_template.md +0 -45
  88. package/.github/workflows/test.yml +0 -75
  89. package/CHANGELOG.md +0 -1367
  90. package/README.public.md +0 -578
  91. package/SECURITY.md +0 -108
  92. package/assets/gep/events.jsonl +0 -3
  93. package/examples/atp-consumer-quickstart.md +0 -100
  94. package/examples/hello-world.md +0 -38
  95. package/proxy-package.json +0 -39
  96. package/public.manifest.json +0 -145
  97. /package/assets/gep/{genes.json → genes.seed.json} +0 -0
  98. /package/{bundled-skills → skills}/_meta/SKILL.md +0 -0
@@ -0,0 +1,78 @@
1
+ // Usage: node scripts/validate-suite.js [test-glob-pattern | test-file]
2
+ // Runs the evolver test suite -- repo root is derived from script location, no shell glob needed.
3
+ // Accepts either a directory glob pattern (e.g. `test/*.test.js`) or a concrete test file path.
4
+ // See community PR #514.
5
+ const { execFileSync } = require('child_process');
6
+ const path = require('path');
7
+ const fs = require('fs');
8
+
9
+ const EVOLVER_REPO_ROOT = path.join(__dirname, '..');
10
+ const pattern = process.argv[2] || 'test/*.test.js';
11
+
12
+ function expandTestGlob(repoRoot, pat) {
13
+ const fullPattern = path.isAbsolute(pat) ? pat : path.join(repoRoot, pat);
14
+ if (fs.existsSync(fullPattern) && fs.statSync(fullPattern).isFile()) {
15
+ return fullPattern.endsWith('.test.js') ? [fullPattern] : [];
16
+ }
17
+
18
+ const dir = path.dirname(pat);
19
+ const basenamePattern = path.basename(pat);
20
+ const fullDir = path.isAbsolute(dir) ? dir : path.join(repoRoot, dir);
21
+ if (!fs.existsSync(fullDir) || !fs.statSync(fullDir).isDirectory()) return [];
22
+
23
+ const escaped = basenamePattern
24
+ .replace(/[.+?^${}()|[\]\\]/g, '\\$&')
25
+ .replace(/\*/g, '.*');
26
+ const matcher = new RegExp('^' + escaped + '$');
27
+ return fs.readdirSync(fullDir)
28
+ .filter(f => f.endsWith('.test.js') && matcher.test(f))
29
+ .map(f => path.join(fullDir, f))
30
+ .sort();
31
+ }
32
+
33
+ const files = expandTestGlob(EVOLVER_REPO_ROOT, pattern);
34
+ if (files.length === 0) {
35
+ console.error('FAIL: no tests found matching pattern: ' + pattern);
36
+ process.exit(1);
37
+ }
38
+
39
+ const env = Object.assign({}, process.env, {
40
+ NODE_ENV: 'test',
41
+ EVOLVER_REPO_ROOT,
42
+ GEP_ASSETS_DIR: path.join(EVOLVER_REPO_ROOT, 'assets', 'gep'),
43
+ });
44
+ delete env.EVOLVE_BRIDGE;
45
+ delete env.OPENCLAW_WORKSPACE;
46
+ // Clear NODE_TEST_CONTEXT so nested runs from within node --test work.
47
+ delete env.NODE_TEST_CONTEXT;
48
+
49
+ try {
50
+ const output = execFileSync(process.execPath, ['--test', ...files], {
51
+ cwd: EVOLVER_REPO_ROOT,
52
+ stdio: ['pipe', 'pipe', 'pipe'],
53
+ timeout: 180000,
54
+ env,
55
+ });
56
+ const out = output.toString('utf8');
57
+ const passMatch = out.match(/pass (\d+)/);
58
+ const failMatch = out.match(/fail (\d+)/);
59
+ const passCount = passMatch ? Number(passMatch[1]) : 0;
60
+ const failCount = failMatch ? Number(failMatch[1]) : 0;
61
+
62
+ if (failCount > 0) {
63
+ console.error('FAIL: ' + failCount + ' test(s) failed');
64
+ process.exit(1);
65
+ }
66
+ if (passCount === 0) {
67
+ console.error('FAIL: no tests found');
68
+ process.exit(1);
69
+ }
70
+ console.log('ok: ' + passCount + ' test(s) passed, 0 failed');
71
+ } catch (e) {
72
+ const stderr = e.stderr ? e.stderr.toString('utf8').slice(-500) : '';
73
+ const stdout = e.stdout ? e.stdout.toString('utf8').slice(-500) : '';
74
+ console.error('FAIL: test suite exited with code ' + (e.status || 'unknown'));
75
+ if (stderr) console.error(stderr);
76
+ if (stdout) console.error(stdout);
77
+ process.exit(1);
78
+ }
@@ -0,0 +1,14 @@
1
+ [
2
+ {
3
+ "name": "_meta",
4
+ "dir": "_meta",
5
+ "version": "0.1.0",
6
+ "description": "Bootstrap skill that teaches the agent how to discover and load other skills on demand via gep_list_skill / gep_load_skill.",
7
+ "tags": [
8
+ "meta",
9
+ "bootstrap",
10
+ "evolver"
11
+ ],
12
+ "sizeBytes": 1691
13
+ }
14
+ ]