{ "name": "openwork", "version": "0.0.5", "license": "Apache-2.0", "description": "OpenWork desktop and headless agent workspace from Model Studio AI", "author": { "name": "Model Studio AI", "url": "https://github.com/modelstudioai" }, "homepage": "https://github.com/modelstudioai/openwork", "repository": { "type": "git", "url": "https://github.com/modelstudioai/openwork.git" }, "type": "module", "private": true, "qwenCodeRuntime": { "version": "0.15.11" }, "trustedDependencies": [ "@sentry/cli", "electron", "electron-winstaller", "esbuild", "koffi", "protobufjs", "sharp" ], "workspaces": [ "packages/*", "apps/*", "!apps/online-docs" ], "scripts": { "dev": "bun run electron:dev", "dist": "bun run electron:dist", "dist:mac": "bun run electron:dist:mac", "dist:win": "bun run electron:dist:win", "dist:linux": "bun run electron:dist:linux", "dist:mac:no-publish": "bun run electron:dist:mac:no-publish", "dist:win:no-publish": "bun run electron:dist:win:no-publish", "dist:linux:no-publish": "bun run electron:dist:linux:no-publish", "test": "bun test && for f in $(find . -name '*.isolated.ts' -not -path './node_modules/*'); do bun test \"$f\" || exit 1; done", "typecheck": "bun run typecheck:shared", "typecheck:shared": "cd packages/shared && bun run tsc --noEmit", "typecheck:staged": "bash scripts/typecheck-staged.sh", "typecheck:all": "cd packages/core && bun run tsc --noEmit && cd ../shared && bun run tsc --noEmit && cd ../server-core && bun run tsc --noEmit && cd ../server && bun run tsc --noEmit && cd ../session-tools-core && bun run tsc --noEmit && cd ../../apps/electron && bun run typecheck && cd ../../packages/ui && bun run tsc --noEmit", "server:start": "bun run packages/server/src/index.ts", "server:dev": "bun run scripts/dev-server.ts", "server:build": "bun run scripts/build-server.ts", "server:build:linux-x64": "bun run scripts/build-server.ts --platform=linux --arch=x64 --compress", "server:build:linux-arm64": "bun run scripts/build-server.ts --platform=linux --arch=arm64 --compress", "server:build:darwin-arm64": "bun run scripts/build-server.ts --platform=darwin --arch=arm64 --compress", "server:build:darwin-x64": "bun run scripts/build-server.ts --platform=darwin --arch=x64 --compress", "typecheck:electron": "cd apps/electron && bun run typecheck", "test:shared:llm-connections": "cd packages/shared && bun test tests/llm-connections.test.ts", "test:shared:models": "cd packages/shared && bun test tests/models.test.ts", "test:shared:config": "cd packages/shared && bun test src/config/__tests__/default-thinking-level.test.ts", "test:shared:all": "bun run test:shared:models && bun run test:shared:config", "test:doc-tools": "python3 -m unittest apps.electron.resources.scripts.tests.test_pdf_tool_smoke apps.electron.resources.scripts.tests.test_xlsx_tool_smoke apps.electron.resources.scripts.tests.test_docx_tool_smoke apps.electron.resources.scripts.tests.test_pptx_tool_smoke apps.electron.resources.scripts.tests.test_img_tool_smoke apps.electron.resources.scripts.tests.test_ical_tool_smoke apps.electron.resources.scripts.tests.test_doc_diff_smoke apps.electron.resources.scripts.tests.test_markitdown_smoke", "validate:dev": "bun run typecheck:all && bun run test:shared:all && bun run test:doc-tools", "validate:ci": "bun run validate:dev && bun run lint:i18n:parity", "lint:ipc-sends": "bash scripts/check-raw-sends.sh", "lint:electron": "cd apps/electron && bun run lint", "lint:shared": "cd packages/shared && npx eslint .", "lint:ui": "cd packages/ui && npx eslint .", "lint:i18n:staged": "bash scripts/lint-i18n-staged.sh", "lint:i18n:parity": "bun run scripts/check-i18n-parity.ts", "lint": "bun run lint:ipc-sends && bun run lint:electron && bun run lint:shared && bun run lint:ui", "link": "bun link", "electron:clean": "bun run scripts/electron-clean.ts", "electron:build:main": "bun run scripts/electron-build-main.ts", "electron:build:preload": "bun run scripts/electron-build-preload.ts", "electron:build:renderer": "bun run scripts/electron-build-renderer.ts", "electron:build:resources": "bun run scripts/electron-build-resources.ts", "build:wa-worker": "bun run scripts/build-wa-worker.ts", "electron:build:assets": "cd apps/electron && bun scripts/copy-assets.ts", "electron:build": "bun run electron:build:main && bun run electron:build:preload && bun run electron:build:renderer && bun run electron:build:resources && bun run electron:build:assets", "electron:start": "bun run electron:build && electron apps/electron", "electron:dev": "bun run scripts/electron-dev.ts", "electron:dev:terminal": "bun run scripts/electron-dev.ts --terminal", "electron:dev:menu": "bash scripts/electron-dev.sh", "electron:dev:logs": "pgrep -f 'tail -f.*@craft-agent/electron/main.log' > /dev/null || osascript -e \"tell application \\\"Terminal\\\" to do script \\\"$PWD/scripts/tail-electron-logs.sh\\\"\"", "electron:vendor:qwen": "bun run scripts/vendor-qwen-code.ts", "electron:builder-config": "bun run scripts/electron-builder-config.ts", "sync-secrets": "bash scripts/sync-secrets.sh", "fresh-start": "bun run scripts/fresh-start.ts", "fresh-start:token": "bun run scripts/fresh-start.ts --token-only", "print:system-prompt": "bun run packages/shared/src/prompts/print-system-prompt.ts", "browser-tool": "bun run scripts/browser-tool.ts", "electron:dist": "bun run electron:vendor:qwen && bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml", "electron:dist:mac": "bun run electron:vendor:qwen && bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --mac", "electron:dist:win": "bun run electron:vendor:qwen && bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --win", "electron:dist:linux": "bun run electron:vendor:qwen && bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --linux", "electron:dist:mac:no-publish": "bun run electron:vendor:qwen && bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --mac --publish never", "electron:dist:win:no-publish": "bun run electron:vendor:qwen && bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --win --publish never", "electron:dist:linux:no-publish": "bun run electron:vendor:qwen && bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --linux --publish never", "electron:dist:dev:mac": "bun run electron:vendor:qwen && CSC_IDENTITY_AUTO_DISCOVERY=false CRAFT_DEV_RUNTIME=1 bun run electron:build && bun run electron:builder-config && cd apps/electron && CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder --config electron-builder.generated.yml --mac", "electron:dist:dev:win": "bun run electron:vendor:qwen && CRAFT_DEV_RUNTIME=1 bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --win", "electron:dist:dev:linux": "bun run electron:vendor:qwen && CRAFT_DEV_RUNTIME=1 bun run electron:build && bun run electron:builder-config && cd apps/electron && electron-builder --config electron-builder.generated.yml --linux", "playground:dev": "bun run scripts/dev-vite.ts --config apps/electron/vite.config.ts --default-port 5173 --port-env CRAFT_VITE_PORT --label playground --open /playground.html", "viewer:dev": "bun run scripts/dev-vite.ts --config apps/viewer/vite.config.ts --default-port 5174 --port-env CRAFT_VIEWER_PORT --label viewer --open /s/tz5-13I84pwK_he", "viewer:typecheck": "cd apps/viewer && bun run typecheck", "viewer:build": "vite build --config apps/viewer/vite.config.ts", "viewer:preview": "vite preview --config apps/viewer/vite.config.ts", "webui:dev": "bun run scripts/dev-vite.ts --config apps/webui/vite.config.ts --default-port 5175 --port-env CRAFT_WEBUI_DEV_PORT --label webui", "webui:clean": "rm -rf apps/webui/dist", "webui:build": "vite build --config apps/webui/vite.config.ts", "webui:typecheck": "cd apps/webui && bun run typecheck", "server:build:subprocess": "cd packages/session-mcp-server && bun run build", "server:prod": "bun run server:build:subprocess && bun run webui:build && CRAFT_WEBUI_DIR=apps/webui/dist CRAFT_BUNDLED_ASSETS_ROOT=$PWD/apps/electron bun run packages/server/src/index.ts", "server:dev:webui": "bun run webui:build && CRAFT_WEBUI_DIR=apps/webui/dist CRAFT_WEBUI_PORT=3100 bun run scripts/dev-server.ts", "marketing:dev": "vite dev --config apps/marketing/vite.config.ts", "marketing:build": "vite build --config apps/marketing/vite.config.ts", "marketing:preview": "vite preview --config apps/marketing/vite.config.ts", "docs:dev": "cd apps/online-docs && npm install && npx mintlify dev", "build": "bun run scripts/build.ts", "release": "bun run scripts/release.ts", "bump-desktop-version": "bun run scripts/bump-desktop-version.ts", "check-release-version": "bun run scripts/check-release-version.ts", "check-version": "bun run scripts/check-version.ts", "prepare": "husky" }, "devDependencies": { "@aws-sdk/client-s3": "^3.947.0", "@electron/packager": "^19.0.1", "@rollup/rollup-win32-arm64-msvc": "^4.55.1", "@sentry/vite-plugin": "^4.8.0", "@tailwindcss/vite": "^4.1.18", "@types/bun": "latest", "@types/js-yaml": "^4.0.9", "@types/katex": "^0.16.8", "@types/linkify-it": "^5.0.0", "@types/node": "^25.0.8", "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0", "@types/semver": "^7.7.1", "@types/shell-quote": "^1.7.5", "@types/uuid": "^11.0.0", "@typescript-eslint/eslint-plugin": "^8.52.0", "@typescript-eslint/parser": "^8.52.0", "@vitejs/plugin-react": "^5.1.2", "autoprefixer": "^10.4.23", "concurrently": "^9.2.1", "electron": "^39.2.7", "electron-builder": "^26.0.12", "esbuild": "^0.25.0", "eslint": "^9.39.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.0.1", "husky": "^9.1.7", "postcss": "^8.5.6", "react-devtools-core": "^6.1.1", "tailwindcss": "^4.1.18", "tar": "^7.5.2", "typescript": "^5.0.0", "vite": "^6.2.4" }, "dependencies": { "@agentclientprotocol/sdk": "^0.21.0", "@dnd-kit/dom": "^0.4.0-beta-20260227032529", "@dnd-kit/helpers": "^0.4.0-beta-20260227032529", "@modelcontextprotocol/sdk": "^1.24.3", "@radix-ui/react-avatar": "^1.1.11", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-tooltip": "^1.2.8", "@sentry/electron": "^7.7.0", "@sentry/react": "^10.36.0", "@shikijs/cli": "^3.19.0", "@tailwindcss/typography": "^0.5.19", "@tiptap/extension-bubble-menu": "^3.20.0", "@tiptap/extension-file-handler": "^3.20.0", "@tiptap/extension-image": "^3.20.0", "@tiptap/extension-mathematics": "^3.20.0", "@tiptap/extension-placeholder": "^3.20.0", "@tiptap/extension-task-item": "^3.20.0", "@tiptap/extension-task-list": "^3.20.0", "@tiptap/markdown": "^3.20.0", "@tiptap/react": "^3.20.0", "@tiptap/starter-kit": "^3.20.0", "@tiptap/suggestion": "^3.20.0", "beautiful-mermaid": "^1.1.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^4.1.0", "gray-matter": "^4.0.3", "jotai": "^2.16.0", "js-yaml": "^4.1.1", "katex": "^0.16.33", "linkify-it": "^5.0.0", "lucide-react": "^0.561.0", "marked": "^17.0.1", "markitdown-js": "^0.0.14", "open": "^11.0.0", "prosemirror-highlight": "^0.15.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-markdown": "^10.1.0", "react-resizable-panels": "^3.0.6", "rehype-katex": "^7.0.1", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "semver": "^7.7.3", "shiki": "^3.19.0", "tailwind-merge": "^3.4.0", "tiptap-extension-code-block-shiki": "^1.0.0", "tiptap-markdown": "^0.9.0", "zod": "^4.0.0" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4" } }