TidGi-Desktop/package.json
linonetwo b6988c57db Improve MemeLoop worker and default framework ID
Add a DEFAULT_AGENT_FRAMEWORK_ID and use it as a fallback across renderer and main-process code (Create/Edit agent UIs, agent actions, wiki template parsing) so older agent definitions without agentFrameworkID resolve consistently. Harden MemeLoop worker lifecycle and IPC: add ensureMemeLoopWorkerHealthy, serialized worker restarts, richer worker message handlers (tool bridge, memeloop-llm-chat), log subscription, multimodal normalization for tests, and safer disposal on app quit. Update message rendering to treat role 'error' and Chat.ConfigError patterns, surface localized strings, and fix orderedMessageIds handling. Packaging script now copies optional native WS deps and faye-websocket-related modules into the packaged app; package.json updated to include the runtime deps and a memeloop build helper. Small test and UI timeout tweaks included.
2026-04-04 02:15:32 +08:00

223 lines
8.8 KiB
JSON

{
"name": "tidgi",
"productName": "TidGi",
"description": "Customizable personal knowledge-base with Github as unlimited storage and blogging platform.",
"version": "0.13.0-prerelease25",
"license": "MPL 2.0",
"packageManager": "pnpm@10.33.0",
"scripts": {
"start:init": "pnpm run clean && pnpm run init:git-submodule && pnpm run build:plugin && cross-env NODE_ENV=development tsx scripts/developmentMkdir.ts && pnpm run start:dev",
"start:dev": "cross-env NODE_ENV=development electron-forge start",
"start:dev:mcp": "cross-env NODE_ENV=development DEBUG_WORKER=true electron-forge start -- --remote-debugging-port=9222",
"clean": "pnpm run clean:cache && rimraf -- ./out ./logs ./userData-dev ./userData-test ./wiki-dev ./wiki-test ./test-artifacts ./node_modules/tiddlywiki/plugins/linonetwo",
"clean:cache": "rimraf -- ./node_modules/.vite .vite",
"start:dev:debug-worker": "cross-env NODE_ENV=development DEBUG_WORKER=true electron-forge start",
"start:dev:debug-main": "cross-env NODE_ENV=development DEBUG_MAIN=true electron-forge start",
"start:dev:debug-vite": "cross-env NODE_ENV=development DEBUG=electron-forge:* electron-forge start",
"start:dev:debug-react": "cross-env NODE_ENV=development DEBUG_REACT=true electron-forge start",
"build:memeloop-prompt-editor": "pnpm --dir ../memeloop/packages/memeloop-prompt-editor run build",
"build:memeloop-packages": "pnpm --dir ../memeloop/packages/memeloop run build && pnpm --dir ../memeloop/packages/memeloop-node run build && pnpm --dir ../memeloop/packages/memeloop-protocol run build",
"build:plugin": "zx scripts/compilePlugins.mjs",
"test": "pnpm run test:unit && pnpm run test:prepare-e2e && pnpm run test:e2e",
"test:unit": "cross-env ELECTRON_RUN_AS_NODE=1 ./node_modules/.bin/electron --max-old-space-size=8192 ./node_modules/vitest/vitest.mjs run",
"test:unit:coverage": "pnpm run test:unit --coverage",
"test:prepare-e2e": "cross-env READ_DOC_BEFORE_USING='docs/Testing.md' && pnpm run clean && pnpm run build:plugin && cross-env NODE_ENV=test DEBUG=electron-forge:* electron-forge package",
"test:e2e": "rimraf -- ./test-artifacts && cross-env NODE_ENV=test tsx scripts/developmentMkdir.ts && cross-env NODE_ENV=test cucumber-js --config features/cucumber.config.js --exit",
"test:manual-e2e": "pnpm exec cross-env NODE_ENV=test tsx ./scripts/start-e2e-app.ts",
"make": "pnpm run build:plugin && cross-env NODE_ENV=production electron-forge make",
"make:analyze": "cross-env ANALYZE=true pnpm run make",
"init:git-submodule": "git submodule update --init --recursive && git submodule update --remote",
"lint": "eslint ./src ./features ./scripts ./localization ./*.ts --ext js,ts,tsx,json",
"lint:fix": "eslint ./src ./features ./scripts ./localization ./*.ts --ext ts,tsx,json --fix",
"check": "tsc --noEmit --skipLibCheck",
"installType": "typesync"
},
"repository": "https://github.com/tiddly-gittly/TidGi-Desktop",
"author": "Lin Onetwo <linonetwo012@gmail.com>, Quang Lam <quang.lam2807@gmail.com>",
"main": ".vite/build/main.js",
"dependencies": {
"@ai-sdk/anthropic": "^2.0.45",
"@ai-sdk/deepseek": "^1.0.29",
"@ai-sdk/openai": "^2.0.71",
"@ai-sdk/openai-compatible": "^1.0.27",
"@algolia/autocomplete-js": "^1.19.4",
"@algolia/autocomplete-theme-classic": "^1.19.4",
"@dnd-kit/core": "6.3.1",
"@dnd-kit/modifiers": "9.0.0",
"@dnd-kit/sortable": "10.0.0",
"@dnd-kit/utilities": "3.2.2",
"@dr.pogodin/react-helmet": "^3.0.4",
"@fontsource/roboto": "^5.2.8",
"@memeloop/prompt-editor": "link:../memeloop/packages/memeloop-prompt-editor",
"@memeloop/protocol": "link:../memeloop/packages/memeloop-protocol",
"@monaco-editor/react": "^4.7.0",
"@mui/icons-material": "^7.3.5",
"@mui/material": "^7.3.5",
"@mui/system": "^7.3.5",
"@mui/types": "^7.4.8",
"@mui/x-date-pickers": "^8.19.0",
"@rjsf/core": "6.1.2",
"@rjsf/mui": "6.1.2",
"@rjsf/utils": "6.1.2",
"@rjsf/validator-ajv8": "6.1.2",
"@tomplum/react-git-log": "^3.5.0",
"ai": "^5.0.98",
"ansi-to-html": "^0.7.2",
"app-path": "^4.0.0",
"beautiful-react-hooks": "5.0.3",
"best-effort-json-parser": "1.2.1",
"better-sqlite3": "^12.8.0",
"bluebird": "3.7.2",
"bufferutil": "^4.1.0",
"faye-websocket": "^0.11.4",
"croner": "^10.0.1",
"date-fns": "3.6.0",
"default-gateway": "6.0.3",
"dugite": "3.0.0",
"electron-dl": "^4.0.0",
"electron-ipc-cat": "2.4.0",
"electron-settings": "5.0.0",
"electron-unhandled": "4.0.1",
"electron-window-state": "5.0.3",
"espree": "^11.0.0",
"exponential-backoff": "^3.1.3",
"fs-extra": "11.3.2",
"git-sync-js": "^2.3.2",
"graphql-hooks": "8.2.0",
"html-minifier-terser": "^7.2.0",
"i18next": "25.6.3",
"i18next-electron-fs-backend": "3.0.3",
"i18next-fs-backend": "2.6.1",
"immer": "^10.2.0",
"intercept-stdout": "0.1.2",
"inversify": "7.10.4",
"ipaddr.js": "2.2.0",
"jimp": "1.6.0",
"json5": "^2.2.3",
"lodash": "4.18.1",
"material-ui-popup-state": "^5.3.6",
"memeloop": "link:../memeloop/packages/memeloop",
"memeloop-node": "link:../memeloop/packages/memeloop-node",
"menubar": "9.5.2",
"monaco-editor": "^0.55.1",
"nanoid": "^5.1.6",
"new-github-issue-url": "^1.1.0",
"node-fetch": "3.3.2",
"nsfw": "^2.2.5",
"oidc-client-ts": "^3.4.1",
"ollama-ai-provider-v2": "^1.5.5",
"react": "19.2.0",
"react-dom": "19.2.0",
"react-i18next": "16.3.5",
"react-masonry-css": "^1.0.16",
"react-window": "^2.2.3",
"react-window-infinite-loader": "^2.0.0",
"reflect-metadata": "0.2.2",
"registry-js": "1.16.1",
"rotating-file-stream": "^3.2.7",
"rxjs": "7.8.2",
"semver": "7.7.3",
"serialize-error": "^12.0.0",
"simplebar": "6.3.3",
"simplebar-react": "3.3.2",
"source-map-support": "0.5.21",
"sqlite-vec": "0.1.7-alpha.2",
"strip-ansi": "^7.1.2",
"tapable": "^2.3.0",
"tiddlywiki": "github:TiddlyWiki/TiddlyWiki5#3cfb6b120266b501558c41df22377b597d272c2e",
"type-fest": "5.2.0",
"typeorm": "^0.3.27",
"typescript-styled-is": "^2.1.0",
"utf-8-validate": "^6.0.6",
"v8-compile-cache-lib": "^3.0.1",
"winston": "3.18.3",
"winston-daily-rotate-file": "5.0.0",
"winston-transport": "4.9.0",
"wouter": "^3.7.1",
"zod": "^4.1.12",
"zustand": "^5.0.8",
"zx": "8.8.5"
},
"optionalDependencies": {
"@electron-forge/maker-deb": "7.11.1",
"@electron-forge/maker-flatpak": "7.11.1",
"@electron-forge/maker-msix": "7.11.1",
"@electron-forge/maker-rpm": "7.11.1",
"@electron-forge/maker-snap": "7.11.1",
"@electron-forge/maker-squirrel": "7.11.1",
"@electron-forge/maker-zip": "7.11.1",
"@reforged/maker-appimage": "5.2.0"
},
"devDependencies": {
"@cucumber/cucumber": "^12.2.0",
"@electron-forge/cli": "7.11.1",
"@electron-forge/plugin-auto-unpack-natives": "7.11.1",
"@electron-forge/plugin-vite": "7.11.1",
"@electron/rebuild": "^4.0.3",
"@fetsorn/vite-node-worker": "^1.0.1",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@types/better-sqlite3": "^7.6.13",
"@types/bluebird": "3.5.42",
"@types/chai": "5.2.3",
"@types/fs-extra": "11.0.4",
"@types/html-minifier-terser": "^7.0.2",
"@types/intercept-stdout": "0.1.4",
"@types/lodash": "4.17.20",
"@types/node": "24.10.1",
"@types/react": "19.2.6",
"@types/react-dom": "19.2.3",
"@types/react-jsonschema-form": "^1.7.13",
"@types/semver": "7.7.1",
"@types/source-map-support": "0.5.10",
"@vitejs/plugin-react": "^5.1.1",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"baseline-browser-mapping": "^2.10.9",
"chai": "6.2.0",
"cross-env": "10.1.0",
"dprint": "^0.50.2",
"electron": "41.1.1",
"electron-chrome-web-store": "^0.13.0",
"esbuild": "^0.27.0",
"eslint-config-tidgi": "^2.2.0",
"identity-obj-proxy": "^3.0.0",
"jsdom": "^27.2.0",
"memory-fs": "^0.5.0",
"node-loader": "2.1.0",
"oauth2-mock-server": "^8.2.0",
"path-browserify": "^1.0.1",
"playwright": "^1.56.1",
"rimraf": "^6.1.2",
"ts-node": "10.9.2",
"tsx": "^4.20.6",
"tw5-typed": "^1.1.1",
"typescript": "5.9.3",
"typesync": "0.14.3",
"unplugin-swc": "^1.5.8",
"vite": "^7.2.4",
"vite-bundle-analyzer": "^1.2.3",
"vite-plugin-monaco-editor": "^1.1.0",
"vitest": "^3.2.4"
},
"pnpm": {
"overrides": {
"prebuild-install": "latest",
"node-addon-api": "^7.1.1"
},
"onlyBuiltDependencies": [
"@swc/core",
"better-sqlite3",
"dprint",
"dugite",
"electron",
"electron-winstaller",
"esbuild",
"nsfw",
"registry-js",
"unrs-resolver"
]
},
"private": false
}