Files
openswarm/electron/package.json
T
EricandClaude Opus 4.7 cf74ada3c2 [eric] auth: generate installation_id at backend startup so first-launch sign-in always has a non-empty install_id; bump 1.1.66
- installation_id was created lazily on the first analytics submission; 1.1.64 removed the workflows startup poller, which was the early backend ping that used to generate it, so on a clean install the sign-in window built its google/email oauth url with an empty install_id and the cloud rejected the start
- now generated in main.py at the same pre-bind moment as the auth token, so GET /api/settings carries it from the very first fetch (no dependency on analytics timing)
- idempotent uuid4 hex, only written when missing; lazy path kept as fallback; platform-agnostic so mac is unchanged except the id exists slightly earlier

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 12:25:31 -07:00

152 lines
3.7 KiB
JSON

{
"name": "openswarm",
"version": "1.1.66",
"description": "OpenSwarm — AI Agent Orchestrator",
"author": "openswarm-ai",
"main": "main.js",
"scripts": {
"start": "electron .",
"dev": "cross-env ELECTRON_DEV=1 electron .",
"postinstall": "node scripts/sign-vmp.js",
"sign-vmp": "node scripts/sign-vmp.js",
"dist": "electron-builder --mac --publish never",
"dist:publish": "electron-builder --mac --publish always",
"dist:win": "electron-builder --win --x64 --publish never",
"dist:win:publish": "electron-builder --win --x64 --publish always",
"dist:all": "electron-builder --mac --win --linux",
"test": "node --test affiliateTracking.test.js"
},
"dependencies": {
"electron-updater": "^6.3.0",
"get-port": "^5.1.1"
},
"devDependencies": {
"@electron/notarize": "^3.1.1",
"cross-env": "^7.0.3",
"electron": "castlabs/electron-releases#v40.7.0+wvcus",
"electron-builder": "^25.1.0"
},
"build": {
"appId": "com.clusterlabs.openswarm",
"productName": "OpenSwarm",
"electronLanguages": ["en"],
"electronDownload": {
"mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
},
"directories": {
"output": "dist"
},
"icon": "build/icon.png",
"mac": {
"icon": "build/icon.icns",
"target": [
"dmg",
"zip"
],
"category": "public.app-category.developer-tools",
"hardenedRuntime": true,
"entitlements": "build/entitlements.mac.plist",
"entitlementsInherit": "build/entitlements.mac.plist"
},
"dmg": {
"artifactName": "OpenSwarm-${arch}.${ext}",
"title": "OpenSwarm ${version}",
"contents": [
{
"x": 130,
"y": 220
},
{
"x": 410,
"y": 220,
"type": "link",
"path": "/Applications"
}
]
},
"win": {
"icon": "build/icon.ico",
"target": [
{
"target": "nsis",
"arch": ["x64"]
}
],
"artifactName": "OpenSwarm-Setup-${arch}.${ext}",
"sign": "./build/sign-windows.js",
"signingHashAlgorithms": ["sha256"],
"signDlls": false
},
"nsis": {
"oneClick": true,
"perMachine": false,
"allowToChangeInstallationDirectory": false,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "OpenSwarm",
"deleteAppDataOnUninstall": false,
"artifactName": "OpenSwarm-Setup-${arch}.${ext}",
"include": "build/installer-recovery.nsh"
},
"extraResources": [
{
"from": "build-staging/frontend",
"to": "frontend",
"filter": [
"**/*"
]
},
{
"from": "build-staging/backend",
"to": "backend",
"filter": [
"**/*",
"!**/tests/**",
"!**/__pycache__/**"
]
},
{
"from": "build-staging/debugger",
"to": "debugger",
"filter": [
"**/*"
]
},
{
"from": "python-env",
"to": "python-env",
"filter": [
"**/*"
]
},
{
"from": "build-staging/router",
"to": "router",
"filter": [
"**/*"
]
},
{
"from": "build-staging/node/${arch}",
"to": "node/${arch}",
"filter": [
"**/*"
]
},
{
"from": "build-staging/uv-bin/${arch}",
"to": "backend/uv-bin",
"filter": [
"**/*"
]
}
],
"publish": {
"provider": "github",
"owner": "openswarm-ai",
"repo": "openswarm"
},
"afterSign": "scripts/notarize.js"
}
}