28 lines
990 B
JavaScript
28 lines
990 B
JavaScript
|
|
#!/usr/bin/env node
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
const fs = require("node:fs");
|
||
|
|
const path = require("node:path");
|
||
|
|
const { AGENT_KINDS, listAgentToolSpecs, listCattyToolSpecs } = require("../electron/capabilities/codegen/toolSurfaces.cjs");
|
||
|
|
|
||
|
|
const generatedDir = path.join(
|
||
|
|
__dirname,
|
||
|
|
"../infrastructure/ai/harness/generated",
|
||
|
|
);
|
||
|
|
|
||
|
|
function writeSpecs(filename, specs) {
|
||
|
|
const outputPath = path.join(generatedDir, filename);
|
||
|
|
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
||
|
|
fs.writeFileSync(outputPath, `${JSON.stringify(specs, null, 2)}\n`, "utf8");
|
||
|
|
return { outputPath, count: specs.length };
|
||
|
|
}
|
||
|
|
|
||
|
|
const sidebar = writeSpecs("cattyToolSpecs.json", listCattyToolSpecs());
|
||
|
|
const globalAgent = writeSpecs(
|
||
|
|
"globalAgentToolSpecs.json",
|
||
|
|
listAgentToolSpecs(AGENT_KINDS.GLOBAL),
|
||
|
|
);
|
||
|
|
|
||
|
|
process.stdout.write(`Wrote ${sidebar.count} sidebar tool specs to ${sidebar.outputPath}\n`);
|
||
|
|
process.stdout.write(`Wrote ${globalAgent.count} global agent tool specs to ${globalAgent.outputPath}\n`);
|