feat: update Makelore modules and conversations
This commit is contained in:
@@ -13,7 +13,6 @@ import { dirname, join } from 'node:path';
|
||||
import { performance } from 'node:perf_hooks';
|
||||
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
||||
import {
|
||||
ensureBundledCourseAgents,
|
||||
ensureBundledCourseSkills,
|
||||
ensureBundledSuperpowersPlugin,
|
||||
} from '@electron/opencode/superpowers';
|
||||
@@ -32,7 +31,6 @@ function createFixture() {
|
||||
const sources = join(root, 'sources');
|
||||
const superpowers = join(sources, 'superpowers');
|
||||
const courseSkills = join(sources, 'course-skills');
|
||||
const courseAgents = join(sources, 'course-agents');
|
||||
const managedConfigDir = join(
|
||||
root,
|
||||
chineseUsername,
|
||||
@@ -63,16 +61,11 @@ function createFixture() {
|
||||
join(courseSkills, 'pm-project-plan', 'references', 'guide.md'),
|
||||
'# planning guide\n',
|
||||
);
|
||||
writeFixtureFile(
|
||||
join(courseAgents, 'reviewer.md'),
|
||||
'---\ndescription: Review work.\nmode: all\n---\nReview evidence.\n',
|
||||
);
|
||||
return {
|
||||
root,
|
||||
managedConfigDir,
|
||||
superpowers,
|
||||
courseSkills,
|
||||
courseAgents,
|
||||
rootEntriesBeforeCopy: readdirSync(root).sort(),
|
||||
};
|
||||
}
|
||||
@@ -208,34 +201,9 @@ describeWindows('Windows Unicode runtime directory copies', () => {
|
||||
expectNoUnexpectedRootEntries(fixture);
|
||||
});
|
||||
|
||||
it('copies course Agents below a Chinese user path twice', () => {
|
||||
const unrelatedAgent = join(fixture.managedConfigDir, 'agent', 'user-owned-agent.md');
|
||||
writeFixtureFile(unrelatedAgent, 'Preserve user-owned agent.\n');
|
||||
expect(ensureBundledCourseAgents({
|
||||
managedConfigDir: fixture.managedConfigDir,
|
||||
sourceDir: fixture.courseAgents,
|
||||
})).toBe(true);
|
||||
writeFixtureFile(
|
||||
join(fixture.courseAgents, 'reviewer.md'),
|
||||
'---\ndescription: Review work.\nmode: all\n---\nReview updated evidence.\n',
|
||||
);
|
||||
expect(ensureBundledCourseAgents({
|
||||
managedConfigDir: fixture.managedConfigDir,
|
||||
sourceDir: fixture.courseAgents,
|
||||
})).toBe(true);
|
||||
expect(readFileSync(
|
||||
join(fixture.managedConfigDir, 'agent', 'reviewer.md'),
|
||||
'utf8',
|
||||
)).toContain('Review updated evidence.');
|
||||
expect(readFileSync(unrelatedAgent, 'utf8')).toBe('Preserve user-owned agent.\n');
|
||||
expectNoUnexpectedRootEntries(fixture);
|
||||
});
|
||||
|
||||
it('reports course copy timing without a brittle CI threshold', () => {
|
||||
const skillTimes: number[] = [];
|
||||
const agentTimes: number[] = [];
|
||||
const actualSkills = join(process.cwd(), '.opencode', 'skills');
|
||||
const actualAgents = join(process.cwd(), '.opencode', 'agent');
|
||||
|
||||
for (let run = 0; run < 7; run += 1) {
|
||||
const managedConfigDir = join(
|
||||
@@ -248,17 +216,12 @@ describeWindows('Windows Unicode runtime directory copies', () => {
|
||||
const skillStart = performance.now();
|
||||
ensureBundledCourseSkills({ managedConfigDir, sourceDir: actualSkills });
|
||||
skillTimes.push(performance.now() - skillStart);
|
||||
const agentStart = performance.now();
|
||||
ensureBundledCourseAgents({ managedConfigDir, sourceDir: actualAgents });
|
||||
agentTimes.push(performance.now() - agentStart);
|
||||
}
|
||||
|
||||
const evidence = {
|
||||
skills: { medianMs: median(skillTimes), maxMs: Math.max(...skillTimes) },
|
||||
agents: { medianMs: median(agentTimes), maxMs: Math.max(...agentTimes) },
|
||||
};
|
||||
console.info(`[runtime-copy-performance] ${JSON.stringify(evidence)}`);
|
||||
expect(evidence.skills.maxMs).toBeGreaterThanOrEqual(evidence.skills.medianMs);
|
||||
expect(evidence.agents.maxMs).toBeGreaterThanOrEqual(evidence.agents.medianMs);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user