From 698f575497ae74ab0f4404b53d081a35302b93c6 Mon Sep 17 00:00:00 2001 From: Curtis Man Date: Thu, 27 Mar 2025 13:32:59 -0700 Subject: [PATCH 1/6] hang --- ts/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ts/package.json b/ts/package.json index 3c95d7af0..1f255f1ad 100644 --- a/ts/package.json +++ b/ts/package.json @@ -38,11 +38,12 @@ "shell:test": "npx --prefix packages/shell playwright test simple.spec.ts", "test": "pnpm run test:local && pnpm run test:live", "test:live": "pnpm -r --no-sort --stream --workspace-concurrency=1 run test:live", - "test:local": "pnpm -r --no-sort --stream --workspace-concurrency=1 run test:local" + "test:local": "cross-env DEBUG=typeagent*agents* pnpm -r --no-sort --stream --workspace-concurrency=1 run test:local" }, "devDependencies": { "@fluidframework/build-tools": "^0.54.0", "@types/node": "^20.17.28", + "cross-env": "^7.0.3", "markdown-link-check": "^3.13.7", "prettier": "^3.5.3", "shx": "^0.4.0" From 9adf71eba35381a6421511fcf75ba8b423aa2b20 Mon Sep 17 00:00:00 2001 From: Curtis Man Date: Thu, 27 Mar 2025 13:34:52 -0700 Subject: [PATCH 2/6] lock --- ts/pnpm-lock.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ts/pnpm-lock.yaml b/ts/pnpm-lock.yaml index 3efcb5197..726d87bb4 100644 --- a/ts/pnpm-lock.yaml +++ b/ts/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@types/node': specifier: ^20.17.28 version: 20.17.28 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 markdown-link-check: specifier: ^3.13.7 version: 3.13.7 From 1f67c064b1492d8753a503294924e54f58b7bacc Mon Sep 17 00:00:00 2001 From: Curtis Man Date: Thu, 27 Mar 2025 13:44:47 -0700 Subject: [PATCH 3/6] limit --- .../agentProvider/process/agentProcessShim.ts | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts b/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts index da5cbe65b..128ed55d3 100644 --- a/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts +++ b/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts @@ -6,6 +6,8 @@ import { AppAgent } from "@typeagent/agent-sdk"; import { createAgentRpcClient } from "agent-rpc/client"; import { createChannelProvider } from "agent-rpc/channel"; import { fileURLToPath } from "url"; +import { createLimiter } from "common-utils"; +import os from "node:os"; export type AgentProcess = { appAgent: AppAgent; @@ -13,21 +15,24 @@ export type AgentProcess = { count: number; }; +const limiter = createLimiter(os.cpus().length); export async function createAgentProcess( agentName: string, modulePath: string, ): Promise { - const process = child_process.fork( - fileURLToPath(new URL(`./agentProcess.js`, import.meta.url)), - [agentName, modulePath], - ); + return limiter(async () => { + const process = child_process.fork( + fileURLToPath(new URL(`./agentProcess.js`, import.meta.url)), + [agentName, modulePath], + ); - return { - process, - appAgent: await createAgentRpcClient( - agentName, - createChannelProvider(process), - ), - count: 1, - }; + return { + process, + appAgent: await createAgentRpcClient( + agentName, + createChannelProvider(process), + ), + count: 1, + }; + }); } From 3cf8fa1c97dd092c4ea4b88357ed43582eae0b70 Mon Sep 17 00:00:00 2001 From: Curtis Man Date: Thu, 27 Mar 2025 13:57:08 -0700 Subject: [PATCH 4/6] in band --- ts/packages/defaultAgentProvider/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ts/packages/defaultAgentProvider/package.json b/ts/packages/defaultAgentProvider/package.json index 153269099..b1bdd18cd 100644 --- a/ts/packages/defaultAgentProvider/package.json +++ b/ts/packages/defaultAgentProvider/package.json @@ -22,7 +22,7 @@ "test": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js", "test:live": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js --testPathPattern=\".*\\.test\\.js\"", "test:live:debug": "node --inspect-brk --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js --testPathPattern=\".*\\.test\\.js\"", - "test:local": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js --testPathPattern=\".*\\.spec\\.js\"", + "test:local": "node --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js -i --testPathPattern=\".*\\.spec\\.js\"", "test:local:debug": "node --inspect-brk --no-warnings --experimental-vm-modules ./node_modules/jest/bin/jest.js --testPathPattern=\".*\\.spec\\.js\"", "tsc": "tsc -b" }, From 944dd6478f18265b6bf0704904f6ac6947a323a3 Mon Sep 17 00:00:00 2001 From: Curtis Man Date: Thu, 27 Mar 2025 14:08:00 -0700 Subject: [PATCH 5/6] seq --- .../dispatcher/src/agentProvider/process/agentProcessShim.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts b/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts index 128ed55d3..bd0a87932 100644 --- a/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts +++ b/ts/packages/dispatcher/src/agentProvider/process/agentProcessShim.ts @@ -7,7 +7,6 @@ import { createAgentRpcClient } from "agent-rpc/client"; import { createChannelProvider } from "agent-rpc/channel"; import { fileURLToPath } from "url"; import { createLimiter } from "common-utils"; -import os from "node:os"; export type AgentProcess = { appAgent: AppAgent; @@ -15,7 +14,7 @@ export type AgentProcess = { count: number; }; -const limiter = createLimiter(os.cpus().length); +const limiter = createLimiter(1); export async function createAgentProcess( agentName: string, modulePath: string, From ab16ed1d31c36169dec22c0fd536ee2ba587f8f6 Mon Sep 17 00:00:00 2001 From: Curtis Man Date: Thu, 27 Mar 2025 17:46:28 -0700 Subject: [PATCH 6/6] remove --- ts/packages/agents/greeting/src/greetingCommandHandler.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ts/packages/agents/greeting/src/greetingCommandHandler.ts b/ts/packages/agents/greeting/src/greetingCommandHandler.ts index c29810a13..8076349f9 100644 --- a/ts/packages/agents/greeting/src/greetingCommandHandler.ts +++ b/ts/packages/agents/greeting/src/greetingCommandHandler.ts @@ -27,7 +27,6 @@ import { PersonalizedGreetingAction, } from "./greetingActionSchema.js"; import { conversation as Conversation } from "knowledge-processor"; -import { execSync } from "child_process"; export function instantiate(): AppAgent { return { @@ -46,12 +45,14 @@ type GreetingAgentContext = { async function initializeGreetingAgentContext(): Promise { let given = ""; let sur = ""; + /* try { const result = execSync("az ad signed-in-user show", { stdio: "pipe" }); const user = JSON.parse(result.toString()); given = user.givenName; sur = user.surname; } catch (e) {} + */ return { user: {