Files
sim/package.json
Waleed fcdcaed00d fix(memory): add Bun.gc, stream cancellation, and unconsumed fetch drains (#3416)
* fix(memory): add Bun.gc, stream cancellation, and unconsumed fetch drains

* fix(memory): await reader.cancel() and use non-blocking Bun.gc

* fix(memory): update Bun.gc comment to match non-blocking call

* fix(memory): use response.body.cancel() instead of response.text() for drains

* fix(executor): flush TextDecoder after streaming loop for multi-byte chars

* fix(memory): use text() drain for SecureFetchResponse which lacks body property

* fix(chat): prevent premature isExecuting=false from killing chat stream

The onExecutionCompleted/Error/Cancelled callbacks were setting
isExecuting=false as soon as the server-side SSE stream completed.
For chat executions, this triggered a useEffect in chat.tsx that
cancelled the client-side stream reader before it finished consuming
buffered data — causing empty or partial chat responses.

Skip the isExecuting=false in these callbacks for chat executions
since the chat's own finally block handles cleanup after the stream
is fully consumed.

* fix(chat): remove useEffect anti-pattern that killed chat stream on state change

The effect reacted to isExecuting becoming false to clean up streams,
but this is an anti-pattern per React guidelines — using state changes
as a proxy for events. All cleanup cases are already handled by proper
event paths: stream done (processStreamingResponse), user cancel
(handleStopStreaming), component unmount (cleanup effect), and
abort/error (catch block).

* fix(servicenow): remove invalid string comparison on numeric offset param

* upgrade turborepo
2026-03-04 17:46:20 -08:00

56 lines
1.5 KiB
JSON

{
"name": "simstudio",
"packageManager": "bun@1.3.9",
"version": "0.0.0",
"private": true,
"license": "Apache-2.0",
"workspaces": [
"apps/*",
"packages/*"
],
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev",
"dev:sockets": "cd apps/sim && bun run dev:sockets",
"dev:full": "cd apps/sim && bun run dev:full",
"test": "turbo run test",
"format": "bunx biome format --write .",
"format:check": "bunx biome format .",
"lint": "bunx biome check --write --unsafe .",
"lint:check": "bunx biome check --unsafe .",
"lint:helm": "helm lint ./helm/sim --strict --values ./helm/sim/test/values-lint.yaml",
"lint:all": "bun run lint && bun run lint:helm",
"check": "bunx biome check --files-ignore-unknown=true",
"prepare": "bun husky",
"type-check": "turbo run type-check",
"release": "bun run scripts/create-single-release.ts"
},
"overrides": {
"react": "19.2.1",
"react-dom": "19.2.1",
"next": "16.1.6",
"@next/env": "16.1.6",
"drizzle-orm": "^0.44.5",
"postgres": "^3.4.5"
},
"devDependencies": {
"@biomejs/biome": "2.0.0-beta.5",
"@next/env": "16.1.6",
"@octokit/rest": "^21.0.0",
"@tailwindcss/typography": "0.5.19",
"drizzle-kit": "^0.31.4",
"glob": "13.0.0",
"husky": "9.1.7",
"lint-staged": "16.0.0",
"turbo": "2.8.13"
},
"lint-staged": {
"*.{js,jsx,ts,tsx,json,css,scss}": [
"biome check --write --no-errors-on-unmatched --files-ignore-unknown=true"
]
},
"trustedDependencies": [
"sharp"
]
}