@evomap/evolver 1.89.12 → 1.89.13

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 (93) hide show
  1. package/CONTRIBUTING.md +19 -0
  2. package/README.md +537 -90
  3. package/assets/cover.png +0 -0
  4. package/package.json +18 -6
  5. package/scripts/a2a_export.js +63 -0
  6. package/scripts/a2a_ingest.js +79 -0
  7. package/scripts/a2a_promote.js +118 -0
  8. package/scripts/analyze_by_skill.js +121 -0
  9. package/scripts/build_binaries.js +479 -0
  10. package/scripts/check-changelog.js +166 -0
  11. package/scripts/extract_log.js +85 -0
  12. package/scripts/generate_history.js +75 -0
  13. package/scripts/gep_append_event.js +96 -0
  14. package/scripts/gep_personality_report.js +234 -0
  15. package/scripts/human_report.js +147 -0
  16. package/scripts/recall-verify-report.js +234 -0
  17. package/scripts/recover_loop.js +61 -0
  18. package/scripts/refresh_stars_badge.js +168 -0
  19. package/scripts/seed-merchants.js +91 -0
  20. package/scripts/suggest_version.js +89 -0
  21. package/scripts/validate-modules.js +38 -0
  22. package/scripts/validate-suite.js +78 -0
  23. package/skills/index.json +14 -0
  24. package/src/evolve/guards.js +1 -721
  25. package/src/evolve/pipeline/collect.js +1 -1283
  26. package/src/evolve/pipeline/dispatch.js +1 -421
  27. package/src/evolve/pipeline/enrich.js +1 -440
  28. package/src/evolve/pipeline/hub.js +1 -319
  29. package/src/evolve/pipeline/select.js +1 -274
  30. package/src/evolve/pipeline/signals.js +1 -206
  31. package/src/evolve/utils.js +1 -264
  32. package/src/evolve.js +1 -350
  33. package/src/gep/a2aProtocol.js +1 -4463
  34. package/src/gep/antiAbuseTelemetry.js +1 -233
  35. package/src/gep/autoDistillConv.js +1 -205
  36. package/src/gep/autoDistillLlm.js +1 -315
  37. package/src/gep/candidateEval.js +1 -92
  38. package/src/gep/candidates.js +1 -198
  39. package/src/gep/contentHash.js +1 -30
  40. package/src/gep/conversationDistiller.js +1 -270
  41. package/src/gep/conversationSniffer.js +1 -266
  42. package/src/gep/crypto.js +1 -89
  43. package/src/gep/curriculum.js +1 -163
  44. package/src/gep/deviceId.js +1 -218
  45. package/src/gep/envFingerprint.js +1 -118
  46. package/src/gep/epigenetics.js +1 -31
  47. package/src/gep/execBridge.js +1 -712
  48. package/src/gep/explore.js +1 -289
  49. package/src/gep/hash.js +1 -15
  50. package/src/gep/hubFetch.js +1 -608
  51. package/src/gep/hubReview.js +1 -207
  52. package/src/gep/hubSearch.js +1 -526
  53. package/src/gep/hubVerify.js +1 -306
  54. package/src/gep/learningSignals.js +1 -89
  55. package/src/gep/memoryGraph.js +1 -1449
  56. package/src/gep/memoryGraphAdapter.js +1 -203
  57. package/src/gep/mutation.js +1 -203
  58. package/src/gep/narrativeMemory.js +1 -108
  59. package/src/gep/openPRRegistry.js +1 -205
  60. package/src/gep/personality.js +1 -423
  61. package/src/gep/policyCheck.js +1 -599
  62. package/src/gep/prompt.js +1 -836
  63. package/src/gep/recallInject.js +1 -409
  64. package/src/gep/recallVerifier.js +1 -318
  65. package/src/gep/reflection.js +1 -177
  66. package/src/gep/savingsCore.js +1 -112
  67. package/src/gep/selector.js +1 -602
  68. package/src/gep/skillDistiller.js +1 -1294
  69. package/src/gep/solidify.js +1 -1699
  70. package/src/gep/strategy.js +1 -136
  71. package/src/gep/tokenSavings.js +1 -95
  72. package/src/gep/workspaceKeychain.js +1 -174
  73. package/src/proxy/extensions/traceControl.js +1 -109
  74. package/src/proxy/inject.js +1 -52
  75. package/src/proxy/trace/extractor.js +1 -1403
  76. package/src/proxy/trace/usage.js +1 -105
  77. package/.cursor/BUGBOT.md +0 -182
  78. package/.env.example +0 -68
  79. package/.git-commit-guard-token +0 -1
  80. package/.github/CODEOWNERS +0 -63
  81. package/.github/ISSUE_TEMPLATE/good_first_issue.md +0 -23
  82. package/.github/pull_request_template.md +0 -45
  83. package/.github/workflows/test.yml +0 -75
  84. package/CHANGELOG.md +0 -1367
  85. package/README.public.md +0 -578
  86. package/SECURITY.md +0 -108
  87. package/assets/gep/events.jsonl +0 -3
  88. package/examples/atp-consumer-quickstart.md +0 -100
  89. package/examples/hello-world.md +0 -38
  90. package/proxy-package.json +0 -39
  91. package/public.manifest.json +0 -145
  92. /package/assets/gep/{genes.json → genes.seed.json} +0 -0
  93. /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
+ ]