everything-gemini 2.5.0 → 2.7.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/BENCHMARK.md +30 -30
- package/CHANGELOG.md +21 -0
- package/README.md +36 -2
- package/agents/cross-repo-orchestrator.md +33 -0
- package/agents/darwin-prompt-engineer.md +35 -0
- package/bin/everything-gemini +234 -9
- package/docs/LAUNCH_KIT_PHP2SHELL.md +240 -0
- package/docs/LAUNCH_KIT_v2.6.0.md +174 -0
- package/docs/index.html +27 -13
- package/examples/python-sdk/cross_repo_swarm_and_compaction.py +175 -0
- package/hooks/context-compactor/hooks.json +16 -0
- package/hooks/context-compactor/scripts/compact-context.sh +40 -0
- package/package.json +1 -1
- package/skills/adversarial-fuzz-generator/SKILL.md +95 -0
- package/skills/context-distillation-compressor/SKILL.md +109 -0
- package/skills/cross-repo-swarm-sync/SKILL.md +122 -0
- package/skills/cve-remediation-orchestrator/SKILL.md +111 -0
- package/skills/cve-remediation-orchestrator/scripts/verify-host-hardening.sh +72 -0
- package/skills/ebpf-microvm-sandbox/SKILL.md +113 -0
- package/skills/gemini-live-screen-vision/SKILL.md +109 -0
- package/skills/genetic-prompt-cross-pollinator/SKILL.md +110 -0
- package/skills/instinct-distillation-compiler/SKILL.md +103 -0
- package/skills/php2shell-version-auditor/SKILL.md +95 -0
- package/skills/phpcheck-server/SKILL.md +102 -0
- package/skills/phpcheck-server/scripts/audit-server.sh +112 -0
- package/skills/phpcheck-url/SKILL.md +72 -0
- package/skills/phpcheck-url/scripts/phpcheck.js +160 -0
- package/skills/speculative-decoding-orchestrator/SKILL.md +108 -0
- package/tests/cli.test.js +99 -16
package/tests/cli.test.js
CHANGED
|
@@ -90,10 +90,10 @@ it('should benchmark ecosystem components and output valid JSON with --json', ()
|
|
|
90
90
|
const res = runCli('benchmark --json');
|
|
91
91
|
assert.strictEqual(res.status, 0);
|
|
92
92
|
const data = JSON.parse(res.stdout);
|
|
93
|
-
assert.strictEqual(data.totalComponents,
|
|
94
|
-
assert.strictEqual(data.progressiveSkillsCount,
|
|
95
|
-
assert.strictEqual(data.scopedAgentsCount,
|
|
96
|
-
assert.strictEqual(data.lifecycleHooksCount,
|
|
93
|
+
assert.strictEqual(data.totalComponents, 121);
|
|
94
|
+
assert.strictEqual(data.progressiveSkillsCount, 92);
|
|
95
|
+
assert.strictEqual(data.scopedAgentsCount, 17);
|
|
96
|
+
assert.strictEqual(data.lifecycleHooksCount, 12);
|
|
97
97
|
assert(data.totalRunbookTokens > 15000, 'Expected >15,000 runbook tokens');
|
|
98
98
|
assert(data.estimatedTokensSavedPerTurn > 8000, 'Expected significant token savings');
|
|
99
99
|
});
|
|
@@ -316,7 +316,7 @@ try {
|
|
|
316
316
|
const dryRes = runCli(`bundle --output "${bundleTarget}" --dry-run`);
|
|
317
317
|
assert.strictEqual(dryRes.status, 0);
|
|
318
318
|
assert.match(dryRes.stdout, /DRY RUN MODE ACTIVATED/);
|
|
319
|
-
assert.match(dryRes.stdout, /Skills to bundle:
|
|
319
|
+
assert.match(dryRes.stdout, /Skills to bundle: 92/);
|
|
320
320
|
assert.strictEqual(fs.existsSync(bundleTarget), false, 'Dry run should not create destination directory');
|
|
321
321
|
|
|
322
322
|
// JSON Dry-run mode
|
|
@@ -324,7 +324,7 @@ try {
|
|
|
324
324
|
assert.strictEqual(jsonRes.status, 0);
|
|
325
325
|
const dryData = JSON.parse(jsonRes.stdout);
|
|
326
326
|
assert.strictEqual(dryData.dryRun, true);
|
|
327
|
-
assert.strictEqual(dryData.manifest.components.totalCount,
|
|
327
|
+
assert.strictEqual(dryData.manifest.components.totalCount, 121);
|
|
328
328
|
|
|
329
329
|
// Live mode
|
|
330
330
|
const liveRes = runCli(`bundle --output "${bundleTarget}"`);
|
|
@@ -477,9 +477,9 @@ try {
|
|
|
477
477
|
assert.strictEqual(jsonRes.status, 0);
|
|
478
478
|
const dryData = JSON.parse(jsonRes.stdout);
|
|
479
479
|
assert.strictEqual(dryData.dryRun, true);
|
|
480
|
-
assert.strictEqual(dryData.manifest.metrics.total_skills,
|
|
481
|
-
assert.strictEqual(dryData.manifest.metrics.total_subagents,
|
|
482
|
-
assert.strictEqual(dryData.manifest.metrics.total_hooks,
|
|
480
|
+
assert.strictEqual(dryData.manifest.metrics.total_skills, 92);
|
|
481
|
+
assert.strictEqual(dryData.manifest.metrics.total_subagents, 17);
|
|
482
|
+
assert.strictEqual(dryData.manifest.metrics.total_hooks, 12);
|
|
483
483
|
|
|
484
484
|
// Live mode
|
|
485
485
|
const liveRes = runCli(`harness2 "${h2Target}"`);
|
|
@@ -524,14 +524,14 @@ try {
|
|
|
524
524
|
});
|
|
525
525
|
|
|
526
526
|
// Benchmark Components Verification
|
|
527
|
-
it('should report
|
|
527
|
+
it('should report 121 components, 92 skills, 17 subagents, and 12 hooks in benchmark --json', () => {
|
|
528
528
|
const res = runCli('benchmark --json');
|
|
529
529
|
assert.strictEqual(res.status, 0);
|
|
530
530
|
const data = JSON.parse(res.stdout);
|
|
531
|
-
assert.strictEqual(data.totalComponents,
|
|
532
|
-
assert.strictEqual(data.progressiveSkillsCount,
|
|
533
|
-
assert.strictEqual(data.scopedAgentsCount,
|
|
534
|
-
assert.strictEqual(data.lifecycleHooksCount,
|
|
531
|
+
assert.strictEqual(data.totalComponents, 121, 'Total components should be 121');
|
|
532
|
+
assert.strictEqual(data.progressiveSkillsCount, 92, 'Progressive skills should be 92');
|
|
533
|
+
assert.strictEqual(data.scopedAgentsCount, 17, 'Scoped agents should be 17');
|
|
534
|
+
assert.strictEqual(data.lifecycleHooksCount, 12, 'Lifecycle hooks should be 12');
|
|
535
535
|
});
|
|
536
536
|
|
|
537
537
|
// Harness² Run & Ingest-Trace tests
|
|
@@ -644,8 +644,8 @@ try {
|
|
|
644
644
|
const jsonRes = runCli('ui --json');
|
|
645
645
|
assert.strictEqual(jsonRes.status, 0);
|
|
646
646
|
const data = JSON.parse(jsonRes.stdout);
|
|
647
|
-
assert.strictEqual(data.metrics.totalComponents,
|
|
648
|
-
assert.strictEqual(data.metrics.progressiveSkills,
|
|
647
|
+
assert.strictEqual(data.metrics.totalComponents, 121);
|
|
648
|
+
assert.strictEqual(data.metrics.progressiveSkills, 92);
|
|
649
649
|
assert.ok(data.endpoints.dashboard);
|
|
650
650
|
});
|
|
651
651
|
|
|
@@ -758,6 +758,89 @@ try {
|
|
|
758
758
|
assert.match(hookRes.stdout, /drift-detector/);
|
|
759
759
|
});
|
|
760
760
|
|
|
761
|
+
// v2.6.0 Cross-Repo Command
|
|
762
|
+
it('should support cross-repo command in dry-run and json modes', () => {
|
|
763
|
+
const dryRes = runCli('cross-repo sync --dry-run');
|
|
764
|
+
assert.strictEqual(dryRes.status, 0);
|
|
765
|
+
assert.match(dryRes.stdout, /Cross-Repository Swarm Synchronization/);
|
|
766
|
+
assert.match(dryRes.stdout, /Dry run complete/);
|
|
767
|
+
|
|
768
|
+
const jsonRes = runCli('cross-repo --json');
|
|
769
|
+
assert.strictEqual(jsonRes.status, 0);
|
|
770
|
+
const data = JSON.parse(jsonRes.stdout);
|
|
771
|
+
assert.strictEqual(data.twoPhaseCommitState, 'PREPARED');
|
|
772
|
+
assert.ok(data.repositories.length >= 3);
|
|
773
|
+
assert.ok(data.eventMesh.topic);
|
|
774
|
+
});
|
|
775
|
+
|
|
776
|
+
// v2.6.0 Compact Command
|
|
777
|
+
it('should support compact command in dry-run and json modes', () => {
|
|
778
|
+
const dryRes = runCli('compact analyze --dry-run');
|
|
779
|
+
assert.strictEqual(dryRes.status, 0);
|
|
780
|
+
assert.match(dryRes.stdout, /Context Distillation & Semantic Compaction/);
|
|
781
|
+
assert.match(dryRes.stdout, /Dry run complete/);
|
|
782
|
+
|
|
783
|
+
const jsonRes = runCli('compact --ast --json');
|
|
784
|
+
assert.strictEqual(jsonRes.status, 0);
|
|
785
|
+
const data = JSON.parse(jsonRes.stdout);
|
|
786
|
+
assert.strictEqual(data.astSkeletalization, true);
|
|
787
|
+
assert.ok(data.metrics.originalTokens > 0);
|
|
788
|
+
assert.ok(data.compactionStrategies.length >= 3);
|
|
789
|
+
});
|
|
790
|
+
|
|
791
|
+
// v2.6.0 Skills Info Verification
|
|
792
|
+
it('should display info for v2.6.0 skills (cross-repo-swarm-sync, ebpf-microvm-sandbox, context-distillation-compressor, speculative-decoding-orchestrator)', () => {
|
|
793
|
+
for (const skill of ['cross-repo-swarm-sync', 'ebpf-microvm-sandbox', 'context-distillation-compressor', 'speculative-decoding-orchestrator']) {
|
|
794
|
+
const res = runCli(`info ${skill}`);
|
|
795
|
+
assert.strictEqual(res.status, 0);
|
|
796
|
+
assert.match(res.stdout, new RegExp(skill));
|
|
797
|
+
}
|
|
798
|
+
});
|
|
799
|
+
|
|
800
|
+
// v2.6.0 Subagent & Hook Info Verification
|
|
801
|
+
it('should display info for cross-repo-orchestrator subagent and context-compactor hook', () => {
|
|
802
|
+
const agentRes = runCli('info cross-repo-orchestrator');
|
|
803
|
+
assert.strictEqual(agentRes.status, 0);
|
|
804
|
+
assert.match(agentRes.stdout, /cross-repo-orchestrator/);
|
|
805
|
+
|
|
806
|
+
const hookRes = runCli('info context-compactor');
|
|
807
|
+
assert.strictEqual(hookRes.status, 0);
|
|
808
|
+
assert.match(hookRes.stdout, /context-compactor/);
|
|
809
|
+
});
|
|
810
|
+
|
|
811
|
+
// PHP2Shell Version Checker & Skill Suite
|
|
812
|
+
it('should audit remote URLs or local server with phpcheck subcommand', () => {
|
|
813
|
+
const helpRes = runCli('phpcheck --help');
|
|
814
|
+
assert.strictEqual(helpRes.status, 0);
|
|
815
|
+
assert.match(helpRes.stdout, /PHP2Shell Patch Checker/);
|
|
816
|
+
assert.match(helpRes.stdout, /CVE-2026-109618/);
|
|
817
|
+
|
|
818
|
+
const serverRes = runCli('phpcheck --server --json');
|
|
819
|
+
assert.ok(serverRes.status === 0 || serverRes.status === 3);
|
|
820
|
+
const serverData = JSON.parse(serverRes.stdout);
|
|
821
|
+
assert.ok(Array.isArray(serverData.cves));
|
|
822
|
+
assert.ok(serverData.patch_status);
|
|
823
|
+
|
|
824
|
+
for (const skill of ['phpcheck-url', 'phpcheck-server', 'php2shell-version-auditor', 'cve-remediation-orchestrator']) {
|
|
825
|
+
const infoRes = runCli(`info ${skill}`);
|
|
826
|
+
assert.strictEqual(infoRes.status, 0);
|
|
827
|
+
assert.match(infoRes.stdout, new RegExp(skill));
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
const { versionStatus } = require(path.join(REPO_ROOT, 'skills', 'phpcheck-url', 'scripts', 'phpcheck.js'));
|
|
831
|
+
assert.strictEqual(versionStatus('8.2.34'), 'potentially_vulnerable');
|
|
832
|
+
assert.strictEqual(versionStatus('8.2.35'), 'ok');
|
|
833
|
+
assert.strictEqual(versionStatus('8.3.35'), 'potentially_vulnerable');
|
|
834
|
+
assert.strictEqual(versionStatus('8.3.36'), 'ok');
|
|
835
|
+
assert.strictEqual(versionStatus('8.4.26'), 'potentially_vulnerable');
|
|
836
|
+
assert.strictEqual(versionStatus('8.4.27'), 'ok');
|
|
837
|
+
assert.strictEqual(versionStatus('8.5.11'), 'potentially_vulnerable');
|
|
838
|
+
assert.strictEqual(versionStatus('8.5.12'), 'ok');
|
|
839
|
+
assert.strictEqual(versionStatus('8.1.35'), 'potentially_vulnerable');
|
|
840
|
+
assert.strictEqual(versionStatus('7.4.33'), 'potentially_vulnerable');
|
|
841
|
+
assert.strictEqual(versionStatus('8.3.0-dev'), 'unknown');
|
|
842
|
+
});
|
|
843
|
+
|
|
761
844
|
} finally {
|
|
762
845
|
try {
|
|
763
846
|
fs.rmSync(tempWorkspace, { recursive: true, force: true });
|