From 6ee966b65b8bbc0fb6e57322f4016326c42d62db Mon Sep 17 00:00:00 2001 From: "Saad A. Bazaz" Date: Wed, 8 Jan 2025 14:20:37 +0500 Subject: [PATCH 1/8] fix: remove getCurrentDirname function, replace with simple approach --- packages/usdk/packages/upstreet-agent/package.json | 1 - .../codecs/packages/libopusjs/libopus.wasm.fs.js | 3 +-- .../upstreet-agent/packages/path-util/package.json | 4 ---- .../packages/path-util/path-util.mjs | 14 -------------- .../packages/react-agents/util/path-util.mjs | 14 -------------- 5 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/path-util/package.json delete mode 100644 packages/usdk/packages/upstreet-agent/packages/path-util/path-util.mjs delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/util/path-util.mjs diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 86fbef5d1..34ea84b3f 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -22,7 +22,6 @@ "memoize-one": "^6.0.0", "minimatch": "^9.0.4", "openai": "^4.56.0", - "path-util": "file:./packages/path-util", "playwright-core-lite": "file:./packages/playwright-core-lite", "queue-manager": "file:./packages/queue-manager", "react": "file:./packages/react", diff --git a/packages/usdk/packages/upstreet-agent/packages/codecs/packages/libopusjs/libopus.wasm.fs.js b/packages/usdk/packages/upstreet-agent/packages/codecs/packages/libopusjs/libopus.wasm.fs.js index 0e043f2ce..fb1ed4115 100644 --- a/packages/usdk/packages/upstreet-agent/packages/codecs/packages/libopusjs/libopus.wasm.fs.js +++ b/packages/usdk/packages/upstreet-agent/packages/codecs/packages/libopusjs/libopus.wasm.fs.js @@ -1,6 +1,5 @@ import path from 'path'; import fs from 'fs'; -import { getCurrentDirname } from 'path-util'; const loadWasm = p => { const b = fs.readFileSync(p); @@ -8,7 +7,7 @@ const loadWasm = p => { return m; }; -let dirname = getCurrentDirname(import.meta, process); +const dirname = path.dirname(new URL(import.meta.url).pathname); const wasm = loadWasm(path.join(dirname, '/libopus.wasm')); const location = new URL('http://localhost'); diff --git a/packages/usdk/packages/upstreet-agent/packages/path-util/package.json b/packages/usdk/packages/upstreet-agent/packages/path-util/package.json deleted file mode 100644 index 0055c483c..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/path-util/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "path-util", - "main": "path-util.mjs" -} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/path-util/path-util.mjs b/packages/usdk/packages/upstreet-agent/packages/path-util/path-util.mjs deleted file mode 100644 index 3b23253e0..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/path-util/path-util.mjs +++ /dev/null @@ -1,14 +0,0 @@ -import path from 'path'; - -export const getCurrentDirname = (importMeta = import.meta, _process = process) => { - if (importMeta.dirname) { - return importMeta.dirname; - } else if (importMeta.url) { - return path.dirname(new URL(importMeta.url).pathname); - } else if (_process) { // In some environments, importMeta is not defined. So we revert to process. - return _process.cwd() - } else { // We default to this, and pray to God it works. - console.info("[getCurrentDirname] Defaulting to '.'.") - return "." - } -}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/util/path-util.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/util/path-util.mjs deleted file mode 100644 index 3b23253e0..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/util/path-util.mjs +++ /dev/null @@ -1,14 +0,0 @@ -import path from 'path'; - -export const getCurrentDirname = (importMeta = import.meta, _process = process) => { - if (importMeta.dirname) { - return importMeta.dirname; - } else if (importMeta.url) { - return path.dirname(new URL(importMeta.url).pathname); - } else if (_process) { // In some environments, importMeta is not defined. So we revert to process. - return _process.cwd() - } else { // We default to this, and pray to God it works. - console.info("[getCurrentDirname] Defaulting to '.'.") - return "." - } -}; \ No newline at end of file From 9008eb9797055429a10a380edeb3c1d6b2eea38b Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Thu, 23 Jan 2025 04:38:33 -0800 Subject: [PATCH 2/8] Do not install modules when installing agent --- .../packages/react-agents-node/install-agent.mjs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs index c77a4f9a1..fc5308c56 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs @@ -4,7 +4,7 @@ import { mkdirp } from 'mkdirp'; import { rimraf } from 'rimraf'; import toml from '@iarna/toml'; import { getCurrentDirname } from '../react-agents/util/path-util.mjs'; -import { npmInstall } from '../../../../lib/npm-util.mjs'; +// import { npmInstall } from '../../../../lib/npm-util.mjs'; const dirname = getCurrentDirname(import.meta, process); const copyWithStringTransform = async (src, dst, transformFn = (s) => s) => { @@ -98,9 +98,6 @@ export const installAgent = async (directory) => { }; await removeDependencies(); - // install local dependencies (from the agent's package.json) - await npmInstall(directory); - // symlink node_modules deps const addDependencies = async () => { await Promise.all(dependencies.map(async (name) => { From 278d103f272f77b6add8a6361a6b82ea6bc924d7 Mon Sep 17 00:00:00 2001 From: "Saad A. Bazaz" Date: Thu, 23 Jan 2025 22:14:13 +0500 Subject: [PATCH 3/8] chore: further remove getCurrentDirname from other files --- .../codecs/packages/mpg123-decoder/src/MPEGDecoder.fs.js | 3 +-- .../packages/react-agents-node/install-agent.mjs | 3 +-- .../upstreet-agent/packages/react-agents-node/node-runtime.mjs | 3 +-- .../upstreet-agent/packages/react-agents-node/watcher.mjs | 3 +-- 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/src/MPEGDecoder.fs.js b/packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/src/MPEGDecoder.fs.js index b046f200a..9fa1b85ad 100644 --- a/packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/src/MPEGDecoder.fs.js +++ b/packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/src/MPEGDecoder.fs.js @@ -4,7 +4,6 @@ import EmscriptenWASM from "./EmscriptenWasm.js"; import path from 'path'; import fs from 'fs'; -import { getCurrentDirname } from "path-util"; const loadWasm = p => { const b = fs.readFileSync(p); @@ -12,7 +11,7 @@ const loadWasm = p => { return m; }; -let dirname = getCurrentDirname(import.meta, process); +let dirname = path.dirname(new URL(import.meta.url).pathname); const wasmAudioDecoderCommon = loadWasm(path.join(dirname, '/wasm-audio-decoder-common.wasm')); const emscriptenWasm = loadWasm(path.join(dirname, '/emscripten-wasm.wasm')); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs index 0b4c7aefa..45baffadd 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs @@ -3,9 +3,8 @@ import fs from 'fs'; import { mkdirp } from 'mkdirp'; import { rimraf } from 'rimraf'; import toml from '@iarna/toml'; -import { getCurrentDirname } from '../react-agents/util/path-util.mjs'; -const dirname = getCurrentDirname(import.meta, process); +const dirname = path.dirname(new URL(import.meta.url).pathname); const copyWithStringTransform = async (src, dst, transformFn = (s) => s) => { let s = await fs.promises.readFile(src, 'utf8'); s = transformFn(s); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/node-runtime.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/node-runtime.mjs index ae2f3beb8..3fc4d6f4c 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/node-runtime.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/node-runtime.mjs @@ -1,12 +1,11 @@ import path from 'path'; import crossSpawn from 'cross-spawn'; import { devServerPort } from './util/ports.mjs'; -import { getCurrentDirname} from '../react-agents/util/path-util.mjs' import { installAgent } from '../react-agents-node/install-agent.mjs'; // -const localDirectory = getCurrentDirname(import.meta, process); +const localDirectory = path.dirname(new URL(import.meta.url).pathname); // diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/watcher.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/watcher.mjs index 5e028a72e..f09d445d5 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/watcher.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/watcher.mjs @@ -3,11 +3,10 @@ import crossSpawn from 'cross-spawn'; import { program } from 'commander'; import { createServer as createViteServer } from 'vite'; import { Debouncer } from 'debouncer'; -import { getCurrentDirname } from '../react-agents/util/path-util.mjs'; // -const dirname = getCurrentDirname(import.meta, process); +const dirname = path.dirname(new URL(import.meta.url).pathname); // watch SIGTERM process.on('SIGTERM', () => { From bca35a800f5fdc16bc12b19ebb2f97de05852d73 Mon Sep 17 00:00:00 2001 From: "Saad A. Bazaz" Date: Fri, 24 Jan 2025 15:58:06 +0500 Subject: [PATCH 4/8] chore: update dirname code --- .../packages/react-agents-node/install-agent.mjs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs index 45baffadd..77ba048c8 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs @@ -3,6 +3,8 @@ import fs from 'fs'; import { mkdirp } from 'mkdirp'; import { rimraf } from 'rimraf'; import toml from '@iarna/toml'; +import { getCurrentDirname } from '../react-agents/util/path-util.mjs'; +import { npmInstall } from '../../../../lib/npm-util.mjs'; const dirname = path.dirname(new URL(import.meta.url).pathname); const copyWithStringTransform = async (src, dst, transformFn = (s) => s) => { @@ -96,6 +98,9 @@ export const installAgent = async (directory) => { }; await removeDependencies(); + // install local dependencies (from the agent's package.json) + await npmInstall(directory); + // symlink node_modules deps const addDependencies = async () => { await Promise.all(dependencies.map(async (name) => { From 04ab83f814c1ad98c7beb0937b5ecde3824c23b6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Thu, 23 Jan 2025 04:38:33 -0800 Subject: [PATCH 5/8] Do not install modules when installing agent --- .../packages/react-agents-node/install-agent.mjs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs index 77ba048c8..d62e4845b 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs @@ -4,7 +4,7 @@ import { mkdirp } from 'mkdirp'; import { rimraf } from 'rimraf'; import toml from '@iarna/toml'; import { getCurrentDirname } from '../react-agents/util/path-util.mjs'; -import { npmInstall } from '../../../../lib/npm-util.mjs'; +// import { npmInstall } from '../../../../lib/npm-util.mjs'; const dirname = path.dirname(new URL(import.meta.url).pathname); const copyWithStringTransform = async (src, dst, transformFn = (s) => s) => { @@ -98,9 +98,6 @@ export const installAgent = async (directory) => { }; await removeDependencies(); - // install local dependencies (from the agent's package.json) - await npmInstall(directory); - // symlink node_modules deps const addDependencies = async () => { await Promise.all(dependencies.map(async (name) => { From 25b7c867badc3a708e8dbe503f2e68307df3c650 Mon Sep 17 00:00:00 2001 From: "Saad A. Bazaz" Date: Fri, 24 Jan 2025 20:35:22 +0500 Subject: [PATCH 6/8] chore: resolve merge conflicts --- .../upstreet-agent/packages/react-agents-node/install-agent.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs index d62e4845b..d6917d296 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/install-agent.mjs @@ -3,7 +3,6 @@ import fs from 'fs'; import { mkdirp } from 'mkdirp'; import { rimraf } from 'rimraf'; import toml from '@iarna/toml'; -import { getCurrentDirname } from '../react-agents/util/path-util.mjs'; // import { npmInstall } from '../../../../lib/npm-util.mjs'; const dirname = path.dirname(new URL(import.meta.url).pathname); From 5a8b11d25c4d3730a3e4bc41520950d8101b1cd3 Mon Sep 17 00:00:00 2001 From: "Saad A. Bazaz" Date: Wed, 29 Jan 2025 19:56:46 +0500 Subject: [PATCH 7/8] fix: add default mode in generate action step --- .../packages/upstreet-agent/packages/react-agents/runtime.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts index 1203dc6f2..ca83e0f35 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts @@ -79,7 +79,7 @@ const getPrompts = (generativeAgent: GenerativeAgentObject) => { export async function generateAgentActionStep({ generativeAgent, hint, - mode, + mode='basic', actOpts, debugOpts, }: { From 90b81070a9888283b0f2271fcc1c5c65275516cc Mon Sep 17 00:00:00 2001 From: "Saad A. Bazaz" Date: Wed, 29 Jan 2025 20:44:00 +0500 Subject: [PATCH 8/8] fix: move from default to mode as an argument --- .../packages/react-agents/classes/generative-agent-object.ts | 1 + .../packages/upstreet-agent/packages/react-agents/runtime.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/classes/generative-agent-object.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/classes/generative-agent-object.ts index a3841cc45..47c92dc14 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/classes/generative-agent-object.ts +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/classes/generative-agent-object.ts @@ -184,6 +184,7 @@ export class GenerativeAgentObject { text, actOpts, debugOpts, + mode: 'basic' // hardcode basic for now. TODO: Make this an argument }); await executeAgentActionStep(this, step); }); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts index ca83e0f35..1203dc6f2 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/runtime.ts @@ -79,7 +79,7 @@ const getPrompts = (generativeAgent: GenerativeAgentObject) => { export async function generateAgentActionStep({ generativeAgent, hint, - mode='basic', + mode, actOpts, debugOpts, }: {