kbot:parse includes
This commit is contained in:
parent
933c9f3c7f
commit
82922e5faf
63
packages/osr-code-bot/.vscode/launch.json
vendored
63
packages/osr-code-bot/.vscode/launch.json
vendored
@ -52,7 +52,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:git",
|
||||
"name": "git",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -75,7 +75,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:templates:solidworks",
|
||||
"name": "templates:solidworks",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -98,7 +98,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:prompt:docker",
|
||||
"name": "prompt:docker",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -123,7 +123,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:iterator",
|
||||
"name": "iterator",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -152,7 +152,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:search:google",
|
||||
"name": "search:google",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -175,7 +175,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:search:serpapi",
|
||||
"name": "search:serpapi",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -197,7 +197,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:interact",
|
||||
"name": "interact",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -222,7 +222,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:web",
|
||||
"name": "web",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -267,7 +267,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:tools:email",
|
||||
"name": "tools:email",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -289,7 +289,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:tools:terminal:astro",
|
||||
"name": "tools:terminal:astro",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -331,7 +331,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:tools:search",
|
||||
"name": "tools:search",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -434,7 +434,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:each:glob",
|
||||
"name": "each:glob",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -460,7 +460,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:each:array",
|
||||
"name": "each:array",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -492,7 +492,40 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:tools:test",
|
||||
"name": "salamand",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/**/*.js"
|
||||
],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"args": [
|
||||
"summarize all markdow files as json",
|
||||
"--logLevel=1",
|
||||
"--var-test=foo",
|
||||
"--dry",
|
||||
"--mode=completion",
|
||||
"--filters=code",
|
||||
"--logs=./tests/each",
|
||||
"--preferences=none",
|
||||
"--each=gpt-3.5-turbo,gpt-4o",
|
||||
"--router=openai",
|
||||
"--include=C:\\Users\\zx\\Desktop\\osr\\osr-mono\\packages\\osr-code-bot\\tests\\salamand\\g1.md C:\\Users\\zx\\Desktop\\osr\\osr-mono\\packages\\osr-code-bot\\tests\\salamand\\g2.md",
|
||||
"--include=C:\\Users\\zx\\Desktop\\osr\\osr-mono\\packages\\osr-code-bot\\tests\\salamand\\g1.md",
|
||||
"--dst=./tests/each/${ITEM}.json",
|
||||
"--disable='npm,terminal,interact,git,search'",
|
||||
],
|
||||
"resolveSourceMapLocations": [
|
||||
"${workspaceFolder}/**",
|
||||
"!**/node_modules/**"
|
||||
],
|
||||
"outputCapture": "std",
|
||||
"console": "integratedTerminal"
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "tools:test",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
@ -521,7 +554,7 @@
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "modify:hono",
|
||||
"name": "hono",
|
||||
"skipFiles": [],
|
||||
"program": "${workspaceFolder}\\main.js",
|
||||
"outFiles": [
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -17,10 +17,7 @@ const init_1 = require("./commands/init");
|
||||
const build_1 = require("./commands/build");
|
||||
const fetch_1 = require("./commands/fetch");
|
||||
exports.logger = (0, osr_log_1.createLogger)('llm-tools');
|
||||
const modify = async (argv) => {
|
||||
const ret = await (0, run_1.run)(argv);
|
||||
return ret;
|
||||
};
|
||||
const modify = async (argv) => await (0, run_1.run)(argv);
|
||||
const yargOptions = {
|
||||
onKey: ((_yargs, key, options) => {
|
||||
switch (key) {
|
||||
@ -47,4 +44,4 @@ const yargOptions = {
|
||||
.help()
|
||||
.wrap(yargs_1.default.terminalWidth() - 20)
|
||||
.parse();
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxrREFBeUI7QUFDekIsMkNBQXVDO0FBQ3ZDLHdDQUFvQztBQUVwQyxpREFBa0Q7QUFDbEQsNkNBQW1EO0FBRW5ELHlEQUFpRDtBQUNqRCwyREFBeUM7QUFDekMsa0RBQThDO0FBQzlDLDBDQUFzQztBQUN0Qyw0Q0FBd0M7QUFDeEMsNENBQXdDO0FBRTNCLFFBQUEsTUFBTSxHQUFvQixJQUFBLHNCQUFZLEVBQUMsV0FBVyxDQUFDLENBQUE7QUFDaEUsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLElBQWUsRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBQSxTQUFHLEVBQUMsSUFBaUIsQ0FBQyxDQUFBO0lBQ3hDLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyxDQUFBO0FBQ0QsTUFBTSxXQUFXLEdBQVE7SUFDdkIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQy9CLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDWixLQUFLLFFBQVE7Z0JBQ1gsQ0FBQztvQkFDQyxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO2dCQUN4QyxDQUFDO1lBQ0gsS0FBSyxTQUFTO2dCQUNaLENBQUM7b0JBQ0MsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFDLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxDQUFBO2dCQUN0RSxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQztDQUNILENBQUE7QUFFRCxJQUFBLGVBQUssRUFBQyxJQUFBLGlCQUFPLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pCLE9BQU8sQ0FDTixNQUFNLEVBQ04sK0JBQStCLEVBQy9CLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHFCQUFPLEVBQUMsS0FBSyxFQUFFLElBQUEsMEJBQWEsR0FBRSxFQUFFLFdBQVcsQ0FBQyxFQUN2RCxXQUFJLENBQ0w7S0FDQSxPQUFPLENBQ04saUJBQWlCLEVBQ2pCLDRCQUE0QixFQUM1QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBQSxxQkFBTyxFQUFDLEtBQUssRUFBRSxJQUFBLDBCQUFhLEdBQUUsRUFBRSxXQUFXLENBQUMsRUFDdkQsTUFBTSxDQUNQO0tBQ0EsT0FBTyxDQUNOLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDZCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxrQkFBSyxHQUFFLENBQ2xCO0tBQ0EsT0FBTyxDQUNOLE9BQU8sRUFDUCx1QkFBdUIsRUFDdkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDZCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxhQUFLLEdBQUUsQ0FDbEI7S0FDQSxPQUFPLENBQ04sT0FBTyxFQUNQLCtCQUErQixFQUMvQixDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUNkLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFBLGFBQUssR0FBRSxDQUNsQjtLQUNBLE9BQU8sQ0FDTixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQ2QsY0FBVyxDQUNaO0tBQ0EsT0FBTyxDQUNOLFVBQVUsRUFDVixlQUFlLEVBQ2YsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDZCxtQkFBUSxDQUNUO0tBQ0EsT0FBTyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsd0JBQXdCLEVBQzFELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHFCQUFPLEVBQUMsS0FBSyxFQUFFLElBQUEsMEJBQWEsR0FBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUNqRSxJQUFJLEVBQUU7S0FDTixJQUFJLENBQUMsZUFBSyxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQztLQUNoQyxLQUFLLEVBQUUsQ0FBQSJ9
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxrREFBeUI7QUFDekIsMkNBQXVDO0FBQ3ZDLHdDQUFvQztBQUVwQyxpREFBa0Q7QUFDbEQsNkNBQW1EO0FBRW5ELHlEQUFpRDtBQUNqRCwyREFBeUM7QUFDekMsa0RBQThDO0FBQzlDLDBDQUFzQztBQUN0Qyw0Q0FBd0M7QUFDeEMsNENBQXdDO0FBRTNCLFFBQUEsTUFBTSxHQUFvQixJQUFBLHNCQUFZLEVBQUMsV0FBVyxDQUFDLENBQUE7QUFDaEUsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLElBQWUsRUFBRSxFQUFFLENBQUUsTUFBTSxJQUFBLFNBQUcsRUFBQyxJQUFpQixDQUFDLENBQUE7QUFFdkUsTUFBTSxXQUFXLEdBQVE7SUFDdkIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQy9CLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDWixLQUFLLFFBQVE7Z0JBQ1gsQ0FBQztvQkFDQyxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO2dCQUN4QyxDQUFDO1lBQ0gsS0FBSyxTQUFTO2dCQUNaLENBQUM7b0JBQ0MsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFDLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUMsQ0FBQyxDQUFBO2dCQUN0RSxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMsQ0FBQztDQUNILENBQUE7QUFFRCxJQUFBLGVBQUssRUFBQyxJQUFBLGlCQUFPLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pCLE9BQU8sQ0FDTixNQUFNLEVBQ04sK0JBQStCLEVBQy9CLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHFCQUFPLEVBQUMsS0FBSyxFQUFFLElBQUEsMEJBQWEsR0FBRSxFQUFFLFdBQVcsQ0FBQyxFQUN2RCxXQUFJLENBQ0w7S0FDQSxPQUFPLENBQ04saUJBQWlCLEVBQ2pCLDRCQUE0QixFQUM1QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBQSxxQkFBTyxFQUFDLEtBQUssRUFBRSxJQUFBLDBCQUFhLEdBQUUsRUFBRSxXQUFXLENBQUMsRUFDdkQsTUFBTSxDQUNQO0tBQ0EsT0FBTyxDQUNOLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDZCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxrQkFBSyxHQUFFLENBQ2xCO0tBQ0EsT0FBTyxDQUNOLE9BQU8sRUFDUCx1QkFBdUIsRUFDdkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDZCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxhQUFLLEdBQUUsQ0FDbEI7S0FDQSxPQUFPLENBQ04sT0FBTyxFQUNQLCtCQUErQixFQUMvQixDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUNkLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFBLGFBQUssR0FBRSxDQUNsQjtLQUNBLE9BQU8sQ0FDTixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQ2QsY0FBVyxDQUNaO0tBQ0EsT0FBTyxDQUNOLFVBQVUsRUFDVixlQUFlLEVBQ2YsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFDZCxtQkFBUSxDQUNUO0tBQ0EsT0FBTyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEVBQUUsd0JBQXdCLEVBQzFELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHFCQUFPLEVBQUMsS0FBSyxFQUFFLElBQUEsMEJBQWEsR0FBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUNqRSxJQUFJLEVBQUU7S0FDTixJQUFJLENBQUMsZUFBSyxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQztLQUNoQyxLQUFLLEVBQUUsQ0FBQSJ9
|
||||
17
packages/osr-code-bot/package-lock.json
generated
17
packages/osr-code-bot/package-lock.json
generated
@ -16,6 +16,7 @@
|
||||
"@plastichub/osr-log": "0.1.6",
|
||||
"axios": "1.7.9",
|
||||
"chalk": "4.0.0",
|
||||
"deepmerge-ts": "7.1.4",
|
||||
"emojilib": "4.0.1",
|
||||
"free-astro-components": "1.1.1",
|
||||
"glob": "11.0.1",
|
||||
@ -60,12 +61,13 @@
|
||||
"axios": "^1.7.9",
|
||||
"cheerio": "^1.0.0",
|
||||
"find-up": "^5.0.0",
|
||||
"glob": "^11.0.1",
|
||||
"inquirer": "^12.2.0",
|
||||
"jsdom": "^25.0.1",
|
||||
"marked": "^15.0.4",
|
||||
"mime-types": "^2.1.35",
|
||||
"nodemailer": "^6.9.16",
|
||||
"openai": "^4.76.3",
|
||||
"openai": "^4.80.1",
|
||||
"p-map": "^4.0.0",
|
||||
"puppeteer": "^23.11.1",
|
||||
"screenshot-desktop": "^1.15.0",
|
||||
@ -85,11 +87,11 @@
|
||||
"devDependencies": {
|
||||
"@types/jsdom": "^21.1.7",
|
||||
"@types/marked": "^6.0.0",
|
||||
"@types/node": "^18.19.68",
|
||||
"@types/node": "^18.19.74",
|
||||
"@types/nodemailer": "^6.4.17",
|
||||
"@types/turndown": "^5.0.5",
|
||||
"@types/yargs": "^17.0.33",
|
||||
"ts-node": "^10.9.0",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^4.9.5"
|
||||
}
|
||||
},
|
||||
@ -5137,6 +5139,15 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/deepmerge-ts": {
|
||||
"version": "7.1.4",
|
||||
"resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.4.tgz",
|
||||
"integrity": "sha512-fxqo6nHGQ9zOVgI4KXqtWXJR/yCLtC7aXIVq+6jc8tHPFUxlFmuUcm2kC4vztQ+LJxQ3gER/XAWearGYQ8niGA==",
|
||||
"license": "BSD-3-Clause",
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/defaults": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
|
||||
|
||||
@ -28,6 +28,7 @@
|
||||
"@plastichub/osr-log": "0.1.6",
|
||||
"axios": "1.7.9",
|
||||
"chalk": "4.0.0",
|
||||
"deepmerge-ts": "7.1.4",
|
||||
"emojilib": "4.0.1",
|
||||
"free-astro-components": "1.1.1",
|
||||
"glob": "11.0.1",
|
||||
|
||||
@ -57,4 +57,4 @@ const load = async (options) => {
|
||||
return profile.variables;
|
||||
};
|
||||
exports.load = load;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHlEQUF5RDtBQUN6RCxrREFBc0Q7QUFDdEQsZ0RBQWlDO0FBQ2pDLDZEQUE4RDtBQUM5RCxxQ0FBc0M7QUFFdEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxXQUFtQixFQUFFLEVBQUU7SUFDckMsSUFBRyxDQUFDLFdBQVcsRUFBQyxDQUFDO1FBQ2IsT0FBTTtJQUNWLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUEscUJBQU8sRUFBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUEsY0FBUSxHQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2hFLElBQUcsSUFBQSxhQUFNLEVBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxHQUFHLENBQUE7QUFDOUIsQ0FBQyxDQUFBO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLE9BQWtCLEVBQW1DLEVBQUU7SUFDOUUsSUFBSSxPQUFPLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUE7SUFDM0UsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFDdEYsSUFBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUEsYUFBTSxFQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBQSxvQkFBTSxFQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUM7UUFDN0QsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFBO0lBQzVCLENBQUM7SUFDRCxPQUFPLEdBQUcsSUFBQSxzQkFBWSxFQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQTtJQUMxRixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUE7QUFDNUIsQ0FBQyxDQUFBO0FBUlksUUFBQSxJQUFJLFFBUWhCIn0=
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHlEQUF5RDtBQUN6RCxrREFBc0Q7QUFDdEQsZ0RBQWlDO0FBQ2pDLDZEQUF3RTtBQUN4RSxxQ0FBc0M7QUFFdEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxXQUFtQixFQUFFLEVBQUU7SUFDckMsSUFBRyxDQUFDLFdBQVcsRUFBQyxDQUFDO1FBQ2IsT0FBTTtJQUNWLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUEscUJBQU8sRUFBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLElBQUEsY0FBUSxHQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2hFLElBQUcsSUFBQSxhQUFNLEVBQUMsR0FBRyxDQUFDO1FBQUUsT0FBTyxHQUFHLENBQUE7QUFDOUIsQ0FBQyxDQUFBO0FBRU0sTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLE9BQWtCLEVBQW1DLEVBQUU7SUFDOUUsSUFBSSxPQUFPLEdBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUE7SUFDckYsSUFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFDaEcsSUFBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUEsYUFBTSxFQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBQSxvQkFBTSxFQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUM7UUFDN0QsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFBO0lBQzVCLENBQUM7SUFDRCxPQUFPLEdBQUcsSUFBQSxzQkFBWSxFQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQTtJQUMxRixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUE7QUFDNUIsQ0FBQyxDQUFBO0FBUlksUUFBQSxJQUFJLFFBUWhCIn0=
|
||||
@ -55,10 +55,10 @@ export const processRun = async (opts: IKBotTask) => {
|
||||
options.collector = collector(options, client)
|
||||
|
||||
let messages: Array<ChatCompletionMessageParam> = []
|
||||
|
||||
|
||||
messages.push(await prompt(opts))
|
||||
messages.push(await preferences(opts))
|
||||
|
||||
|
||||
let files = await get(path.resolve(options.path), options.include) || []
|
||||
files = files.map(f => { return { ...f, role: 'user' } })
|
||||
messages = [...messages as any, ...files]
|
||||
@ -106,12 +106,65 @@ export const processRun = async (opts: IKBotTask) => {
|
||||
return ret
|
||||
}
|
||||
|
||||
export const run = async (opts: IKBotTask) => {
|
||||
const ret = []
|
||||
/**
|
||||
* Extract file paths (Windows or POSIX style) from a single string,
|
||||
* preserving any spaces within the paths. Needed for Salamand File Manager selections (eg: kbot "summarize, as json" -i $(ListOfSelectedFullNames))
|
||||
* - For Windows, it looks for patterns like "C:\" (any drive letter).
|
||||
* - For POSIX, it looks for a leading slash "/".
|
||||
*
|
||||
* Returns an array of path strings. If no matches are found, returns [].
|
||||
*
|
||||
*/
|
||||
function extractPaths(input: string): string[] {
|
||||
// Matches either a Windows drive pattern like "C:\" or a forward slash "/".
|
||||
// Parentheses group with `|` to match either part correctly.
|
||||
const pathStartRegex = /([A-Za-z]:\\)|\//g;
|
||||
|
||||
const matchIndices: number[] = [];
|
||||
let match: RegExpExecArray | null;
|
||||
|
||||
// Collect the start index of each path
|
||||
while ((match = pathStartRegex.exec(input)) !== null) {
|
||||
matchIndices.push(match.index);
|
||||
}
|
||||
|
||||
// If none found, return empty
|
||||
if (!matchIndices.length) {
|
||||
return [];
|
||||
}
|
||||
|
||||
// Slice from each index to just before the next
|
||||
const paths: string[] = [];
|
||||
for (let i = 0; i < matchIndices.length; i++) {
|
||||
const start = matchIndices[i];
|
||||
const end = i < matchIndices.length - 1 ? matchIndices[i + 1] : input.length;
|
||||
const path = input.substring(start, end).trim();
|
||||
if (path) {
|
||||
paths.push(path);
|
||||
}
|
||||
}
|
||||
|
||||
return paths;
|
||||
}
|
||||
|
||||
function flattenArrays<T>(arrays: T[][]): T[] {
|
||||
return arrays.reduce((accumulator, current) => {
|
||||
return accumulator.concat(current);
|
||||
}, [] as T[]);
|
||||
}
|
||||
|
||||
export const run = async (opts: IKBotTask) => {
|
||||
const ret = []
|
||||
if (opts.include) {
|
||||
if (isString(opts.include)) {
|
||||
opts.include = extractPaths(opts.include)
|
||||
}else if (isArray(opts.include)) {
|
||||
opts.include = flattenArrays(opts.include.map(extractPaths))
|
||||
}
|
||||
opts.include = Array.from(new Set(opts.include))
|
||||
}
|
||||
if (opts.each) {
|
||||
let items: string[] = []
|
||||
|
||||
if (isArray(opts.each)) {
|
||||
items = opts.each
|
||||
} else if (exists(opts.each) && isFile(opts.each) && path.parse(opts.each).ext === '.json') {
|
||||
@ -129,11 +182,7 @@ export const run = async (opts: IKBotTask) => {
|
||||
return ret
|
||||
}
|
||||
logger.info(`Processing ${items.length} items matching pattern ${opts.each}...`)
|
||||
if (opts.include && isString(opts.include)) {
|
||||
opts.include = [opts.include as any]
|
||||
}
|
||||
const _models = all()
|
||||
|
||||
for (const item of items) {
|
||||
const itemOpts = {
|
||||
...opts,
|
||||
@ -142,10 +191,9 @@ export const run = async (opts: IKBotTask) => {
|
||||
}
|
||||
//override model if item is a model id
|
||||
const model = _models.find(m => m.id === item)
|
||||
if(model){
|
||||
if (model) {
|
||||
itemOpts.model = item
|
||||
}
|
||||
|
||||
itemOpts.include = [...opts.include, ...[forward_slash(item)]]
|
||||
ret.push(await processRun(itemOpts))
|
||||
}
|
||||
|
||||
@ -14,10 +14,8 @@ import { build } from './commands/build'
|
||||
import { fetch } from './commands/fetch'
|
||||
|
||||
export const logger: Logger<unknown> = createLogger('llm-tools')
|
||||
const modify = async (argv: IKBotTask) => {
|
||||
const ret = await run(argv as IKBotTask)
|
||||
return ret
|
||||
}
|
||||
const modify = async (argv: IKBotTask) => await run(argv as IKBotTask)
|
||||
|
||||
const yargOptions: any = {
|
||||
onKey: ((_yargs, key, options) => {
|
||||
switch (key) {
|
||||
|
||||
28
packages/osr-code-bot/src/merge.ts
Normal file
28
packages/osr-code-bot/src/merge.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import { isString } from '@plastichub/core/primitives'
|
||||
import { sync as read } from '@plastichub/fs/read'
|
||||
import { logger } from '..'
|
||||
import { deepmerge as merge } from 'deepmerge-ts'
|
||||
export const deepMerge = async (target: string, source: any) => {
|
||||
if (!isString(target) || !source) {
|
||||
logger.error(`Invalid deepmerge parameters:`, target, source)
|
||||
return source
|
||||
}
|
||||
target = read(target, 'json') as any || []
|
||||
try {
|
||||
source = isString(source) ? JSON.parse(source) : source
|
||||
} catch (e) {
|
||||
logger.error('Error parsing completion:', e)
|
||||
return source
|
||||
}
|
||||
try {
|
||||
const ret = merge(target, source)
|
||||
return JSON.stringify(ret, null, 2)
|
||||
} catch (error) {
|
||||
logger.error('Error merging completion:', error)
|
||||
}
|
||||
return target;
|
||||
}
|
||||
export const mergers =
|
||||
{
|
||||
json: deepMerge
|
||||
}
|
||||
@ -2,7 +2,7 @@ import { IKBotTask } from "./types"
|
||||
import { isFile, resolve } from '@plastichub/osr-commons'
|
||||
import { sync as exists } from '@plastichub/fs/exists'
|
||||
import * as path from 'node:path'
|
||||
import { parseProfile } from '@plastichub/osr-commons/profile'
|
||||
import { IProfile, parseProfile } from '@plastichub/osr-commons/profile'
|
||||
import { env_vars } from './utils/env'
|
||||
|
||||
const testPath = (profilePath: string) => {
|
||||
@ -14,8 +14,8 @@ const testPath = (profilePath: string) => {
|
||||
}
|
||||
|
||||
export const load = async (options: IKBotTask): Promise<Record<string, string>> => {
|
||||
let profile = { includes: [], variables: options.variables || {}, env: {} }
|
||||
let profilePath = testPath(options.profile || path.join(options.logs, 'profile.json'))
|
||||
let profile: IProfile = { includes: [], variables: options.variables || {}, env: {} }
|
||||
let profilePath = testPath(options.profile || path.join(options.logs as string, 'profile.json'))
|
||||
if(!profilePath || !exists(profilePath) || !isFile(profilePath)){
|
||||
return profile.variables
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
1. **Initial Inspection**:
|
||||
1. **Initial Inspection**:
|
||||
- Inspect the lathe for wear and damage. Identify parts that need replacement.
|
||||
|
||||
2. **Disassembly**:
|
||||
2. **Disassembly**:
|
||||
- Carefully disassemble the lathe, keeping track of each part and its placement. Use labels or a diagram to avoid confusion during reassembly.
|
||||
|
||||
11
packages/osr-code-bot/tests/salamand/g1.md
Normal file
11
packages/osr-code-bot/tests/salamand/g1.md
Normal file
@ -0,0 +1,11 @@
|
||||
1. **Initial Inspection**:
|
||||
- Inspect the lathe for wear and damage. Identify parts that need replacement.
|
||||
|
||||
2. **Disassembly**:
|
||||
- Carefully disassemble the lathe, keeping track of each part and its placement. Use labels or a diagram to avoid confusion during reassembly.
|
||||
|
||||
3. **Cleaning**:
|
||||
- Clean all parts thoroughly to remove oil, debris, and rust. Use appropriate cleaning agents for different materials.
|
||||
|
||||
4. **Replacing Worn Parts**:
|
||||
- Acquire replacement parts for those that are worn or damaged. This may include bearings, gears, or belts.
|
||||
17
packages/osr-code-bot/tests/salamand/g2.md
Normal file
17
packages/osr-code-bot/tests/salamand/g2.md
Normal file
@ -0,0 +1,17 @@
|
||||
5. **Lubrication**:
|
||||
- Lubricate moving parts to ensure smooth operation. Use the correct type of oil or grease as per the manufacturer's recommendations.
|
||||
|
||||
6. **Reassembly**:
|
||||
- Assemble the lathe, following your labels or diagram. Ensure all components are properly aligned and tightened.
|
||||
|
||||
7. **Calibration**:
|
||||
- Calibrate the lathe to ensure precision. Adjust settings such as alignment and tension.
|
||||
|
||||
8. **Testing**:
|
||||
- Test the lathe under controlled conditions to ensure it operates correctly. Look for any signs of malfunction or misalignment.
|
||||
|
||||
9. **Fine-tuning**:
|
||||
- Make necessary adjustments to optimize performance and precision.
|
||||
|
||||
10. **Final Inspection**:
|
||||
- Conduct a thorough final inspection. Ensure that the lathe operates smoothly and is ready for use.
|
||||
54
packages/osr-code-bot/tests/salamand/sum.json
Normal file
54
packages/osr-code-bot/tests/salamand/sum.json
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"hatua": [
|
||||
{
|
||||
"namba": 1,
|
||||
"kichwa": "Ukaguzi wa Awali",
|
||||
"maelezo": "Kagua cherehani kwa uchakavu na uharibifu. Tambua sehemu zinazohitaji kubadilishwa."
|
||||
},
|
||||
{
|
||||
"namba": 2,
|
||||
"kichwa": "Kubandua",
|
||||
"maelezo": "Bandua cherehani kwa uangalifu, ukiweka alama kwa kila sehemu. Tumia lebo au mchoro kuepuka kuchanganyikiwa wakati wa kuunganisha."
|
||||
},
|
||||
{
|
||||
"namba": 3,
|
||||
"kichwa": "Kusafisha",
|
||||
"maelezo": "Safisha sehemu zote kwa undani kuondoa mafuta, uchafu, na kutu. Tumia vifaa vya usafishaji vinavyofaa."
|
||||
},
|
||||
{
|
||||
"namba": 4,
|
||||
"kichwa": "Kubadilisha Sehemu Chakavu",
|
||||
"maelezo": "Pata vipuri vipya kwa sehemu zilizochakaa au kuharibiwa. Hii inaweza kujumuisha bearing, gear, au belt."
|
||||
},
|
||||
{
|
||||
"namba": 5,
|
||||
"kichwa": "Upakaji Mafuta",
|
||||
"maelezo": "Paka mafuta kwenye sehemu zinazosogea. Tumia aina sahihi ya mafuta kulingana na maelekezo ya mtengenezaji."
|
||||
},
|
||||
{
|
||||
"namba": 6,
|
||||
"kichwa": "Kuunganisha",
|
||||
"maelezo": "Unganisha cherehani, ukifuata lebo au mchoro wako. Hakikisha sehemu zote zimepangwa vizuri."
|
||||
},
|
||||
{
|
||||
"namba": 7,
|
||||
"kichwa": "Urekebishaji",
|
||||
"maelezo": "Rekebisha cherehani kuhakikisha usahihi. Sawazisha mpangilio na mvutano."
|
||||
},
|
||||
{
|
||||
"namba": 8,
|
||||
"kichwa": "Upimaji",
|
||||
"maelezo": "Jaribu cherehani chini ya hali thabiti kuhakikisha inafanya kazi vizuri."
|
||||
},
|
||||
{
|
||||
"namba": 9,
|
||||
"kichwa": "Marekebisho Madogo",
|
||||
"maelezo": "Fanya marekebisho muhimu kuboresha utendaji na usahihi."
|
||||
},
|
||||
{
|
||||
"namba": 10,
|
||||
"kichwa": "Ukaguzi wa Mwisho",
|
||||
"maelezo": "Fanya ukaguzi wa kina wa mwisho. Hakikisha cherehani inafanya kazi vizuri na iko tayari kutumika."
|
||||
}
|
||||
]
|
||||
}
|
||||
1
packages/osr-code-bot/tests/salamand/test.sh
Normal file
1
packages/osr-code-bot/tests/salamand/test.sh
Normal file
@ -0,0 +1 @@
|
||||
kbotd "summarize, as json, in swahili, add a field for the step number" -i "C:\Users\zx\Desktop\osr\osr-mono\packages\osr-code-bot\tests\salamand\g2.md C:\Users\zx\Desktop\osr\osr-mono\packages\osr-code-bot\tests\salamand\g1.md" --mode=completion --dst=sum.json
|
||||
Loading…
Reference in New Issue
Block a user