mirror of
https://github.com/wu736139669/hapi.git
synced 2026-10-06 18:39:47 +00:00
* fix(cursor): exclusive agent spawn lease for list-models vs ACP (#1520) Add a proper-lockfile spawn lease beside agent-acp-active so model probes and ACP transport acquire mutual exclusion atomically before spawning agent children, closing the post-#1518 check-then-act overlap window. Fixes #1520 Co-authored-by: Cursor <cursoragent@cursor.com> * chore(web): fix markdown-a test HappyChatContext mock for typecheck Adds showSessionSummaryInChat to chatContext() so CI typecheck passes on the PR branch (pre-existing main breakage unrelated to #1520). Co-authored-by: Cursor <cursoragent@cursor.com> * Revert "chore(web): fix markdown-a test HappyChatContext mock for typecheck" This reverts commit 4973f321a31fda772e8990ea6cda20517ca906aa. * fix(cursor): scope spawn lease to agent spawn window only (#1520) Hold agent-cli.spawn only around spawn('agent') in AcpStdioTransport, not for the full ACP session. Restores N concurrent cursor sessions per host; list-models probe lease unchanged. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cursor): tighten spawn lease lifecycle for babysit (#1520) Acquire spawn lease before ACP marker publish; unregister on spawn failure. Hold list-models probe lease until child exit on timeout. Add missing showSessionSummaryInChat to markdown-a test mock (unblocks CI typecheck). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cursor): re-check ACP marker after spawn lease acquire (#1520) Close check-then-act window where ACP could publish its marker between the inactive guard read and list-models spawn. Add regression test. Co-authored-by: Cursor <cursoragent@cursor.com> * test(cursor): fix ACP-after-acquire mock call order (#1520) Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cursor): async spawn lease + force-kill probe timeout (#1520) Add acquireAgentCliSpawnLease (setTimeout yields) for ACP create path; AcpStdioTransport.create() async factory. Probe timeout uses killProcessByChildProcess(force) while holding lease until child exit. Addresses Bugbot Majors: session-lifetime mutex (fe07b708d), probe lease release, post-acquire re-check (137baa779), sync loop starvation, timeout escalation. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(acp): coalesce concurrent initialize() transport spawns (#1520) Await shared bootstrapTransport promise so overlapping initialize calls do not spawn duplicate ACP children while create() is in flight. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.3 KiB
JSON
41 lines
1.3 KiB
JSON
{
|
|
"name": "@hapi/protocol",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"main": "./src/index.ts",
|
|
"types": "./src/index.ts",
|
|
"exports": {
|
|
".": "./src/index.ts",
|
|
"./apiTypes": "./src/apiTypes.ts",
|
|
"./messages": "./src/messages.ts",
|
|
"./slashCommands": "./src/slashCommands.ts",
|
|
"./buildInfo": "./src/buildInfo.ts",
|
|
"./conversationHistory": "./src/conversationHistory.ts",
|
|
"./modes": "./src/modes.ts",
|
|
"./rpcMethods": "./src/rpcMethods.ts",
|
|
"./runnerCapabilities": "./src/runnerCapabilities.ts",
|
|
"./schemas": "./src/schemas.ts",
|
|
"./sessionCitation": "./src/sessionCitation.ts",
|
|
"./sessionExport": "./src/sessionExport.ts",
|
|
"./types": "./src/types.ts",
|
|
"./voice": "./src/voice.ts",
|
|
"./voicePickerCatalog": "./src/voicePickerCatalog.ts",
|
|
"./voice-personality": "./src/voicePersonality.ts",
|
|
"./usage": "./src/usage.ts",
|
|
"./settingsFileLock": "./src/settingsFileLock.ts",
|
|
"./agentCliSpawnLease": "./src/agentCliSpawnLease.ts"
|
|
},
|
|
"sideEffects": false,
|
|
"scripts": {
|
|
"test": "bun test"
|
|
},
|
|
"dependencies": {
|
|
"proper-lockfile": "^4.1.2",
|
|
"zod": "^4.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/proper-lockfile": "^4.1.4"
|
|
}
|
|
}
|