Add a ControlledFileOps interface (UserIPNFileOps + observable limits + onChange) satisfied by InMemoryFileOps and FsaFileOps. Bind its state into a new fileOps Redux slice so file storage metrics and limits are observable via store.getState().fileOps and broadcast to all clients. In tsconnect-worker: hoist the FsaFileOps instance to module scope, wire bindFileOpsToStore after init, and handle a new setFileOpsConfig call that lets clients reconfigure maxFiles/maxTotalSize/maxFileSize at runtime. Limit changes propagate back via the existing action broadcast path so all connected clients see updated state immediately. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
305 B
JSON
16 lines
305 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2018",
|
|
"module": "ES2020",
|
|
"moduleResolution": "bundler",
|
|
"strict": true,
|
|
"declaration": true,
|
|
"outDir": "dist",
|
|
"rootDir": "src",
|
|
"sourceMap": true,
|
|
"lib": ["ES2018", "DOM"],
|
|
"types": ["node"]
|
|
},
|
|
"include": ["src/**/*"]
|
|
}
|