diff --git a/README.md b/README.md index b2435cba..2cd5a345 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ npx @vrsen/openswarm That's it! The setup wizard handles everything: authentication, dependencies, and configuration. -**Requirements:** Node.js 20+ (Python 3.10+ auto-installed) +**Requirements:** Node.js 20+ and Python 3.12+. OpenSwarm creates or repairs an isolated project `.venv`. Telemetry opt-out: set `ENABLE_TELEMETRY=0`, `OPEN_SWARM_TELEMETRY=0`, `AGENTSWARM_TELEMETRY=0`, or pass `--no-telemetry`. diff --git a/RELEASE.md b/RELEASE.md index 8d9fa630..a4ebafda 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -10,8 +10,16 @@ OpenSwarm releases use one normal path: `Build TUI Binaries` builds the required - GitHub release assets: - `agentswarm-darwin-arm64` - `agentswarm-darwin-x64` + - `agentswarm-darwin-x64-baseline` + - `agentswarm-linux-arm64` + - `agentswarm-linux-arm64-musl` - `agentswarm-linux-x64` + - `agentswarm-linux-x64-baseline` + - `agentswarm-linux-x64-baseline-musl` + - `agentswarm-linux-x64-musl` + - `agentswarm-windows-arm64.exe` - `agentswarm-windows-x64.exe` + - `agentswarm-windows-x64-baseline.exe` ## Release Steps diff --git a/docs_agent/tools/utils/html_docx_images.py b/docs_agent/tools/utils/html_docx_images.py index 744d41d3..c4e444d2 100644 --- a/docs_agent/tools/utils/html_docx_images.py +++ b/docs_agent/tools/utils/html_docx_images.py @@ -40,6 +40,8 @@ def embed_local_images(html: str, base_dir: Path) -> str: unreachable resources are left unchanged (no crash). """ + resolved_base_dir = base_dir.resolve() + def _encode(src: str) -> str | None: if src.startswith("data:") or src.startswith("file://"): return None @@ -58,8 +60,8 @@ def _encode(src: str) -> str | None: if not _is_image_path(src): return None - img_path = (base_dir / src).resolve() - if not img_path.exists(): + img_path = (resolved_base_dir / src).resolve() + if not img_path.is_relative_to(resolved_base_dir) or not img_path.exists(): return None mime, _ = mimetypes.guess_type(str(img_path)) mime = mime or "image/png" diff --git a/openswarm.config.mjs b/openswarm.config.mjs index bec1521c..785f5523 100644 --- a/openswarm.config.mjs +++ b/openswarm.config.mjs @@ -162,6 +162,7 @@ export function getProductEnv(opts = {}) { AGENTSWARM_PRODUCT_STARTER_FOLDER: product.starterFolder, AGENTSWARM_PRODUCT_ENTRY_FILES: product.entryFiles, AGENTSWARM_PRODUCT_SKIP_POST_AUTH_MODEL_SELECTION: "true", + AGENTSWARM_PRODUCT_HIDE_CONNECT: "true", AGENTSWARM_PRODUCT_TUI_LOGO_LEFT: JSON.stringify(productTuiLogoLeft), AGENTSWARM_PRODUCT_TUI_LOGO_RIGHT: JSON.stringify(productTuiLogoRight), AGENTSWARM_PRODUCT_WORDMARK_LINES: JSON.stringify(productWordmarkLines), diff --git a/openswarm.product-env.json b/openswarm.product-env.json index 32c3fbee..55a4f396 100644 --- a/openswarm.product-env.json +++ b/openswarm.product-env.json @@ -11,6 +11,7 @@ "AGENTSWARM_PRODUCT_STARTER_FOLDER": "openswarm", "AGENTSWARM_PRODUCT_ENTRY_FILES": "swarm.py,agency.py", "AGENTSWARM_PRODUCT_SKIP_POST_AUTH_MODEL_SELECTION": "true", + "AGENTSWARM_PRODUCT_HIDE_CONNECT": "true", "AGENTSWARM_PRODUCT_TUI_LOGO_LEFT": "[\" \",\" ██████╗ ██████╗ ███████╗███╗ ██╗\",\"██╔═══██╗██╔══██╗██╔════╝████╗ ██║\",\"██║ ██║██████╔╝█████╗ ██╔██╗ ██║\",\"██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║\",\"╚██████╔╝██║ ███████╗██║ ╚████║\",\" ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝\"]", "AGENTSWARM_PRODUCT_TUI_LOGO_RIGHT": "[\"\",\"███████╗██╗ ██╗ █████╗ ██████╗ ███╗ ███╗\",\"██╔════╝██║ ██║██╔══██╗██╔══██╗████╗ ████║\",\"███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║\",\"╚════██║██║███╗██║██╔══██╗██╔══██╗██║╚██╔╝██║\",\"███████║╚███╔███╔╝██║ ██║██║ ██║██║ ╚═╝ ██║\",\"╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝\"]", "AGENTSWARM_PRODUCT_WORDMARK_LINES": "[\"\",\" ██████╗ ██████╗ ███████╗███╗ ██╗ ███████╗██╗ ██╗ █████╗ ██████╗ ███╗ ███╗\",\"██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██╔════╝██║ ██║██╔══██╗██╔══██╗████╗ ████║\",\"██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║\",\"██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ╚════██║██║███╗██║██╔══██╗██╔══██╗██║╚██╔╝██║\",\"╚██████╔╝██║ ███████╗██║ ╚████║ ███████║╚███╔███╔╝██║ ██║██║ ██║██║ ╚═╝ ██║\",\" ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══════╝ ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝\"]", diff --git a/package-lock.json b/package-lock.json index 8e9dd146..6ece422c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "@vrsen/openswarm", - "version": "1.0.1-rc.10", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vrsen/openswarm", - "version": "1.0.1-rc.10", + "version": "1.1.0", "hasInstallScript": true, "license": "MIT", "dependencies": { - "@vrsen/agentswarm": "1.4.40", + "@vrsen/agentswarm": "1.4.41", "dom-to-pptx": "1.1.5", "patch-package": "^8.0.1", "playwright": "^1.59.1", @@ -27,22 +27,22 @@ "turbo": "^2.9.6" }, "engines": { - "node": ">=18.0.0", - "python": ">=3.10" + "node": ">=20.0.0", + "python": ">=3.12" }, "optionalDependencies": { - "@vrsen/openswarm-cli-darwin-arm64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-darwin-x64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-darwin-x64-baseline": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-arm64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-arm64-musl": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64-baseline": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64-baseline-musl": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64-musl": "1.0.1-rc.10", - "@vrsen/openswarm-cli-windows-arm64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-windows-x64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-windows-x64-baseline": "1.0.1-rc.10" + "@vrsen/openswarm-cli-darwin-arm64": "1.1.0", + "@vrsen/openswarm-cli-darwin-x64": "1.1.0", + "@vrsen/openswarm-cli-darwin-x64-baseline": "1.1.0", + "@vrsen/openswarm-cli-linux-arm64": "1.1.0", + "@vrsen/openswarm-cli-linux-arm64-musl": "1.1.0", + "@vrsen/openswarm-cli-linux-x64": "1.1.0", + "@vrsen/openswarm-cli-linux-x64-baseline": "1.1.0", + "@vrsen/openswarm-cli-linux-x64-baseline-musl": "1.1.0", + "@vrsen/openswarm-cli-linux-x64-musl": "1.1.0", + "@vrsen/openswarm-cli-windows-arm64": "1.1.0", + "@vrsen/openswarm-cli-windows-x64": "1.1.0", + "@vrsen/openswarm-cli-windows-x64-baseline": "1.1.0" } }, "node_modules/@emnapi/runtime": { @@ -510,21 +510,21 @@ } }, "node_modules/@vrsen/agentswarm": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm/-/agentswarm-1.4.40.tgz", - "integrity": "sha512-KkR94VaYvNSnSQnGz/UTOW4cim5Cxz4xE/3Q3hCdefe96L5QtF/TM0Uydv9GPUzWhMyhUdwcHiwrT1QmaJTmig==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm/-/agentswarm-1.4.41.tgz", + "integrity": "sha512-X0RYSA7FfOgS98krlXlYeli1au/C7g2XyxZcXmUMlIabp6xuoSxbieVKWu90551sPH/NxlzGd1xMNRpoeDP9KA==", "license": "MIT", "dependencies": { - "agentswarm-cli": "1.4.40" + "agentswarm-cli": "1.4.41" }, "bin": { "agentswarm": "bin/agentswarm" } }, "node_modules/@vrsen/agentswarm-cli-darwin-arm64": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-darwin-arm64/-/agentswarm-cli-darwin-arm64-1.4.40.tgz", - "integrity": "sha512-QJHwW2BtbnR8u9m/1Ez3O7qtB1CkQgFg5TxtEQFTQ7xiBXk6gaM1EpTeCPo9Oh/KW4fcC9No6FPTeKlQ+3Opzg==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-darwin-arm64/-/agentswarm-cli-darwin-arm64-1.4.41.tgz", + "integrity": "sha512-+VYXcpT5EE+/z8UipOqCjx1/3zOtBkfYQBym+LSjDE5L9f8UluXrFWHYtUeep3mOrbAtCE6G4USdcxDm4FSnEQ==", "cpu": [ "arm64" ], @@ -534,9 +534,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-darwin-x64": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-darwin-x64/-/agentswarm-cli-darwin-x64-1.4.40.tgz", - "integrity": "sha512-lriB1s7t3nRqHC+Ka2Mq3YEZc2mDhyJAi+P0JbFEHL9tD0rCtKhkzIs/4X+RNRyJHdt+7SBqOipzLfoSni+PNw==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-darwin-x64/-/agentswarm-cli-darwin-x64-1.4.41.tgz", + "integrity": "sha512-1lBL0KaLAxM3dHYSjtKtT78qJtQyAuskVTFJxXF80ojFglETfZ6UDsUABkdgbUR/Xk61XXda009xKMIP1cAqMw==", "cpu": [ "x64" ], @@ -546,9 +546,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-darwin-x64-baseline": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-darwin-x64-baseline/-/agentswarm-cli-darwin-x64-baseline-1.4.40.tgz", - "integrity": "sha512-CzbqzES9xxWPSl5OVZrSuJ4NOnq9pG5SWlQPK69Qr5Qz/FYkspWmnoOWdJpyuEQL+vnCA/2I8w3Rl8GeNd5IVA==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-darwin-x64-baseline/-/agentswarm-cli-darwin-x64-baseline-1.4.41.tgz", + "integrity": "sha512-ovln/JBdSbxqdXSS6IVbtlb/MHkt5oGdsb61aI8aMX+oXZSB/7654NcAeQZNSUQyw1okDGTO1jghnR10AgEFOQ==", "cpu": [ "x64" ], @@ -558,9 +558,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-linux-arm64": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-arm64/-/agentswarm-cli-linux-arm64-1.4.40.tgz", - "integrity": "sha512-BJCThI4xG8RuQKWZzF8oh8TTSQJZOjTd3dfuFKYS2VXgVQfVG/OrKnuN/Fz4ticjnkwOMwTtPFyqLM3g8a0VJg==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-arm64/-/agentswarm-cli-linux-arm64-1.4.41.tgz", + "integrity": "sha512-kxuA4sPm75RFGKoQPxaoE08Pwepq82TU7cWLcBVNJJsjzbSkN7pUs3BpO8t1A9RRdJUwA1Qel75UL7Xz4mpUsw==", "cpu": [ "arm64" ], @@ -570,9 +570,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-linux-arm64-musl": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-arm64-musl/-/agentswarm-cli-linux-arm64-musl-1.4.40.tgz", - "integrity": "sha512-ColcPWvVu9jeQ5EzsrNXWm9Lm1w0DfaBgARiCoKcAbolV8ZjYr9JHLJJ47XX+tLfgLG7rZJZ4oPJeh1Sk2ZPcQ==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-arm64-musl/-/agentswarm-cli-linux-arm64-musl-1.4.41.tgz", + "integrity": "sha512-XXkdE17wVSSGgbZqfUle0OSwuftIk4kvrBmfKs8VmHAO+uW3arK/VkvG47Ht8is63XgSs1iLiT66YulleEFodQ==", "cpu": [ "arm64" ], @@ -582,9 +582,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-linux-x64": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64/-/agentswarm-cli-linux-x64-1.4.40.tgz", - "integrity": "sha512-OPfEPab3bHnju8DCVVeAp+d+x8z6HrVpfk7GdqoH1I2Eij0M1XvrvocwML2ocXCMt11kaAdU1lx6C4TYLtzLTw==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64/-/agentswarm-cli-linux-x64-1.4.41.tgz", + "integrity": "sha512-llA1BfdgFoYcM9VBCxrwv1wvvPEhDDEX8LrcBmmO7QbfiuLw2HFFjsKwIkCJfqleledjIdKxa+7BDYaHaSeRCA==", "cpu": [ "x64" ], @@ -594,9 +594,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-linux-x64-baseline": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64-baseline/-/agentswarm-cli-linux-x64-baseline-1.4.40.tgz", - "integrity": "sha512-mHJLtjCs9+bxrMJp5AXF2gHvhCFdd8v9AzxbE//38SQ4xwadOAAKMPnWnuf5EIv9qhNNha57QvobDWItCLtVmg==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64-baseline/-/agentswarm-cli-linux-x64-baseline-1.4.41.tgz", + "integrity": "sha512-Q1bLTqOeHkhF2VU7B6bwXzVIDI6rtmOnj7nEoElw0vnNxxmcigoFsrNOitGFdiD6tMUCQkmUWDlAjpU2tA4rkw==", "cpu": [ "x64" ], @@ -606,9 +606,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-linux-x64-baseline-musl": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64-baseline-musl/-/agentswarm-cli-linux-x64-baseline-musl-1.4.40.tgz", - "integrity": "sha512-WWtRONB3Y4TTh2B/Su7rhwuUYfXhSQmGIgG2ZmAkGbxuq4UlKOIhSe903nGKpkAMtvSNvmfDQZInVDYhh8i+3g==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64-baseline-musl/-/agentswarm-cli-linux-x64-baseline-musl-1.4.41.tgz", + "integrity": "sha512-kLWxYlvurXssacmVldjq705GjVxmqWsOHaPL90Fo8a5W9bLCUiSCCpPcnqK2a+lKEhFvLmkUbilYvf8iZxnXfw==", "cpu": [ "x64" ], @@ -618,9 +618,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-linux-x64-musl": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64-musl/-/agentswarm-cli-linux-x64-musl-1.4.40.tgz", - "integrity": "sha512-xFYHtVwdWfWSuAs6Y66424P/cSnSmwaPF2eFHih5irOhtp27QmfKyVivRSxf0n48NwO8LwbGu+5hfTwvnvbngg==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-linux-x64-musl/-/agentswarm-cli-linux-x64-musl-1.4.41.tgz", + "integrity": "sha512-/ExyNL4CkohKvon3ANA7QZb9OK4CgfsC5ApxlJY0NDtbNwmdHu41oBMTFbADbD1AWpybPJhi3gD/e3Tv1xpBEA==", "cpu": [ "x64" ], @@ -630,9 +630,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-windows-arm64": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-windows-arm64/-/agentswarm-cli-windows-arm64-1.4.40.tgz", - "integrity": "sha512-x4CXp10xHNsMIQQv+2bHK/bAAYKPvW+cgSTCaZEUTFhAbSnAyxqyN2u49LvfY06dDvlXNKvA5qD4+dCWa45ahQ==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-windows-arm64/-/agentswarm-cli-windows-arm64-1.4.41.tgz", + "integrity": "sha512-FpJkp3mGv2jJ5ZmDSU2pGs4zbDbPB81j6ILDcTiX43Uq7vp/0aqZOMzG+xHv/obnM7T72VTE8KrAYFWvm31wPQ==", "cpu": [ "arm64" ], @@ -642,9 +642,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-windows-x64": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-windows-x64/-/agentswarm-cli-windows-x64-1.4.40.tgz", - "integrity": "sha512-rohsLgxcBVVYc9F4C00D8JZd8nH5BIk3EVe/YGw6O19gfv8/2gzydLeQAhmrAFs03EEMsalZAfyFlyscxFYpAw==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-windows-x64/-/agentswarm-cli-windows-x64-1.4.41.tgz", + "integrity": "sha512-XzJJIqm1KU+c2FDtQ9XJUIMHc0eAI6159pFYEEXufiWJ3wpLGSYhLT/16CF82tvWV1iZvr8EYE/NJxRWpGIc/Q==", "cpu": [ "x64" ], @@ -654,9 +654,9 @@ ] }, "node_modules/@vrsen/agentswarm-cli-windows-x64-baseline": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-windows-x64-baseline/-/agentswarm-cli-windows-x64-baseline-1.4.40.tgz", - "integrity": "sha512-l+ymfnd7u8o9A4kfoFqNbkitHhzYFJGCiBvkxRiNVLLAsTFVrUk5TwcwaS3SIIQec5v8zMG3fwLz24DhtdBb2A==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/@vrsen/agentswarm-cli-windows-x64-baseline/-/agentswarm-cli-windows-x64-baseline-1.4.41.tgz", + "integrity": "sha512-zqdEIzWS2qtSxqmTCSGw7K+jXVoi4WumKMAhqtdJoyUunQ3IoSBIQp2zS6Pzwmn3vnvBltrvAzyzVUn9VsUmVg==", "cpu": [ "x64" ], @@ -666,144 +666,144 @@ ] }, "node_modules/@vrsen/openswarm-cli-darwin-arm64": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-darwin-arm64/-/openswarm-cli-darwin-arm64-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-darwin-arm64/-/openswarm-cli-darwin-arm64-1.1.0.tgz", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@vrsen/openswarm-cli-darwin-x64": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-darwin-x64/-/openswarm-cli-darwin-x64-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-darwin-x64/-/openswarm-cli-darwin-x64-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@vrsen/openswarm-cli-darwin-x64-baseline": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-darwin-x64-baseline/-/openswarm-cli-darwin-x64-baseline-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-darwin-x64-baseline/-/openswarm-cli-darwin-x64-baseline-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@vrsen/openswarm-cli-linux-arm64": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-arm64/-/openswarm-cli-linux-arm64-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-arm64/-/openswarm-cli-linux-arm64-1.1.0.tgz", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@vrsen/openswarm-cli-linux-arm64-musl": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-arm64-musl/-/openswarm-cli-linux-arm64-musl-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-arm64-musl/-/openswarm-cli-linux-arm64-musl-1.1.0.tgz", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@vrsen/openswarm-cli-linux-x64": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64/-/openswarm-cli-linux-x64-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64/-/openswarm-cli-linux-x64-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@vrsen/openswarm-cli-linux-x64-baseline": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64-baseline/-/openswarm-cli-linux-x64-baseline-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64-baseline/-/openswarm-cli-linux-x64-baseline-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@vrsen/openswarm-cli-linux-x64-baseline-musl": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64-baseline-musl/-/openswarm-cli-linux-x64-baseline-musl-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64-baseline-musl/-/openswarm-cli-linux-x64-baseline-musl-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@vrsen/openswarm-cli-linux-x64-musl": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64-musl/-/openswarm-cli-linux-x64-musl-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-linux-x64-musl/-/openswarm-cli-linux-x64-musl-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@vrsen/openswarm-cli-windows-arm64": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-windows-arm64/-/openswarm-cli-windows-arm64-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-windows-arm64/-/openswarm-cli-windows-arm64-1.1.0.tgz", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@vrsen/openswarm-cli-windows-x64": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-windows-x64/-/openswarm-cli-windows-x64-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-windows-x64/-/openswarm-cli-windows-x64-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@vrsen/openswarm-cli-windows-x64-baseline": { - "version": "1.0.1-rc.10", - "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-windows-x64-baseline/-/openswarm-cli-windows-x64-baseline-1.0.1-rc.10.tgz", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vrsen/openswarm-cli-windows-x64-baseline/-/openswarm-cli-windows-x64-baseline-1.1.0.tgz", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -825,27 +825,27 @@ "license": "BSD-2-Clause" }, "node_modules/agentswarm-cli": { - "version": "1.4.40", - "resolved": "https://registry.npmjs.org/agentswarm-cli/-/agentswarm-cli-1.4.40.tgz", - "integrity": "sha512-rBSFPIcR/dtc03ukm3zvzIaTlpwTY91bfhk5DQdZKrsX2LAgwTRAC4pVaoGiBxQiihXdy2op7LYFw4nSkH2otg==", + "version": "1.4.41", + "resolved": "https://registry.npmjs.org/agentswarm-cli/-/agentswarm-cli-1.4.41.tgz", + "integrity": "sha512-ulgXkhAUyI43T9IFrXaPKJ/gpMk77Lo8ZHC32Zh53AM6C9EfdRlpmkSKR2FDtgUhQCmpD9HqlMeL3SBhfAelSw==", "hasInstallScript": true, "license": "MIT", "bin": { "agentswarm": "bin/agentswarm" }, "optionalDependencies": { - "@vrsen/agentswarm-cli-darwin-arm64": "1.4.40", - "@vrsen/agentswarm-cli-darwin-x64": "1.4.40", - "@vrsen/agentswarm-cli-darwin-x64-baseline": "1.4.40", - "@vrsen/agentswarm-cli-linux-arm64": "1.4.40", - "@vrsen/agentswarm-cli-linux-arm64-musl": "1.4.40", - "@vrsen/agentswarm-cli-linux-x64": "1.4.40", - "@vrsen/agentswarm-cli-linux-x64-baseline": "1.4.40", - "@vrsen/agentswarm-cli-linux-x64-baseline-musl": "1.4.40", - "@vrsen/agentswarm-cli-linux-x64-musl": "1.4.40", - "@vrsen/agentswarm-cli-windows-arm64": "1.4.40", - "@vrsen/agentswarm-cli-windows-x64": "1.4.40", - "@vrsen/agentswarm-cli-windows-x64-baseline": "1.4.40" + "@vrsen/agentswarm-cli-darwin-arm64": "1.4.41", + "@vrsen/agentswarm-cli-darwin-x64": "1.4.41", + "@vrsen/agentswarm-cli-darwin-x64-baseline": "1.4.41", + "@vrsen/agentswarm-cli-linux-arm64": "1.4.41", + "@vrsen/agentswarm-cli-linux-arm64-musl": "1.4.41", + "@vrsen/agentswarm-cli-linux-x64": "1.4.41", + "@vrsen/agentswarm-cli-linux-x64-baseline": "1.4.41", + "@vrsen/agentswarm-cli-linux-x64-baseline-musl": "1.4.41", + "@vrsen/agentswarm-cli-linux-x64-musl": "1.4.41", + "@vrsen/agentswarm-cli-windows-arm64": "1.4.41", + "@vrsen/agentswarm-cli-windows-x64": "1.4.41", + "@vrsen/agentswarm-cli-windows-x64-baseline": "1.4.41" } }, "node_modules/ansi-styles": { diff --git a/package.json b/package.json index 1a4d9422..741ac6a8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@vrsen/openswarm", - "version": "1.0.1-rc.10", + "version": "1.1.0", "description": "An open-source multi-agent AI team built on Agency Swarm", "license": "MIT", "publishConfig": { @@ -41,7 +41,7 @@ "postinstall": "node -e \"const fs=require('fs');const path=require('path');const cp=require('child_process');const pkg=__dirname;const patchTarget=path.join(pkg,'node_modules','dom-to-pptx');const patchCli=path.join(pkg,'node_modules','patch-package','index.js');if(fs.existsSync(patchTarget)&&fs.existsSync(patchCli)){cp.execFileSync(process.execPath,[patchCli],{cwd:pkg,stdio:'inherit'});}try{fs.chmodSync(path.join(pkg,'bin','openswarm'),0o755)}catch(e){}\"" }, "dependencies": { - "@vrsen/agentswarm": "1.4.40", + "@vrsen/agentswarm": "1.4.41", "dom-to-pptx": "1.1.5", "patch-package": "^8.0.1", "playwright": "^1.59.1", @@ -52,22 +52,22 @@ "sharp": "^0.33.0" }, "optionalDependencies": { - "@vrsen/openswarm-cli-darwin-arm64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-darwin-x64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-darwin-x64-baseline": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-arm64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-arm64-musl": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64-baseline": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64-baseline-musl": "1.0.1-rc.10", - "@vrsen/openswarm-cli-linux-x64-musl": "1.0.1-rc.10", - "@vrsen/openswarm-cli-windows-arm64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-windows-x64": "1.0.1-rc.10", - "@vrsen/openswarm-cli-windows-x64-baseline": "1.0.1-rc.10" + "@vrsen/openswarm-cli-darwin-arm64": "1.1.0", + "@vrsen/openswarm-cli-darwin-x64": "1.1.0", + "@vrsen/openswarm-cli-darwin-x64-baseline": "1.1.0", + "@vrsen/openswarm-cli-linux-arm64": "1.1.0", + "@vrsen/openswarm-cli-linux-arm64-musl": "1.1.0", + "@vrsen/openswarm-cli-linux-x64": "1.1.0", + "@vrsen/openswarm-cli-linux-x64-baseline": "1.1.0", + "@vrsen/openswarm-cli-linux-x64-baseline-musl": "1.1.0", + "@vrsen/openswarm-cli-linux-x64-musl": "1.1.0", + "@vrsen/openswarm-cli-windows-arm64": "1.1.0", + "@vrsen/openswarm-cli-windows-x64": "1.1.0", + "@vrsen/openswarm-cli-windows-x64-baseline": "1.1.0" }, "engines": { - "node": ">=18.0.0", - "python": ">=3.10" + "node": ">=20.0.0", + "python": ">=3.12" }, "devDependencies": { "turbo": "^2.9.6" diff --git a/pyproject.toml b/pyproject.toml index 0a1e4c01..a7091397 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,12 @@ [project] name = "open-swarm" description = "An open-source multi-agent AI team built on Agency Swarm and the OpenAI Agents SDK" -version = "1.0.1-rc.10" +version = "1.1.0" license = { text = "MIT" } keywords = ["agency-swarm", "openai", "multi-agent", "open-source", "openswarm"] requires-python = ">=3.12" dependencies = [ - "agency-swarm[fastapi,jupyter,litellm]>=1.10.2", + "agency-swarm[fastapi,jupyter,litellm]==1.10.4", "questionary>=2.0.0", "python-dotenv", "rich", diff --git a/requirements.txt b/requirements.txt index e0693fab..27b89bed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -agency-swarm[fastapi,jupyter,litellm]>=1.10.2 +agency-swarm[fastapi,jupyter,litellm]==1.10.4 questionary>=2.0.0 fastapi uvicorn diff --git a/scripts/smoke-openswarm-launcher.js b/scripts/smoke-openswarm-launcher.js index f5d9e028..2e01113c 100644 --- a/scripts/smoke-openswarm-launcher.js +++ b/scripts/smoke-openswarm-launcher.js @@ -200,6 +200,7 @@ async function assertStateRoot() { assert.equal(env.AGENTSWARM_PRODUCT_DISPLAY_NAME, 'OpenSwarm') assert.equal(env.AGENTSWARM_PRODUCT_STATE_ROOT, path.join('/home/tester', '.openswarm')) assert.equal(env.AGENTSWARM_PRODUCT_VERSION, pkg.version) + assert.equal(env.AGENTSWARM_PRODUCT_HIDE_CONNECT, 'true') assert.equal(env.AGENTSWARM_MARKETPLACE_SWARM_ID, 'VRSEN/OpenSwarm') assert.equal(env.AGENTSWARM_MARKETPLACE_PARENT_SWARM_ID, undefined) assert.equal(env.AGENTSWARM_MARKETPLACE_SWARM_ORIGIN, 'original') @@ -369,6 +370,7 @@ function assertLauncherDelegatesToDependency() { assert.equal(env.AGENTSWARM_PRODUCT_DISPLAY_NAME, 'OpenSwarm') assert.equal(env.AGENTSWARM_PRODUCT_COMMAND, 'openswarm') assert.equal(env.AGENTSWARM_PRODUCT_VERSION, '7.8.9-smoke') + assert.equal(env.AGENTSWARM_PRODUCT_HIDE_CONNECT, 'true') assert.equal(env.AGENTSWARM_MARKETPLACE_SWARM_ID, 'VRSEN/OpenSwarm') assert.equal(env.AGENTSWARM_MARKETPLACE_PARENT_SWARM_ID, undefined) assert.equal(env.AGENTSWARM_MARKETPLACE_SWARM_ORIGIN, 'original') diff --git a/tests/test_html_docx_images.py b/tests/test_html_docx_images.py new file mode 100644 index 00000000..b12739df --- /dev/null +++ b/tests/test_html_docx_images.py @@ -0,0 +1,45 @@ +import base64 +import sys +from pathlib import Path +from types import ModuleType + + +ROOT = Path(__file__).resolve().parents[1] + + +def _stub_svg2png(**_): + return b"" + + +cairosvg = ModuleType("cairosvg") +cairosvg.svg2png = _stub_svg2png +sys.modules["cairosvg"] = cairosvg +for package_name, package_path in ( + ("docs_agent", ROOT / "docs_agent"), + ("docs_agent.tools", ROOT / "docs_agent" / "tools"), + ("docs_agent.tools.utils", ROOT / "docs_agent" / "tools" / "utils"), +): + package = ModuleType(package_name) + package.__path__ = [str(package_path)] + sys.modules[package_name] = package + +from docs_agent.tools.utils.html_docx_images import embed_local_images # noqa: E402 + + +def test_embed_local_images_stays_within_base_dir(tmp_path): + base_dir = tmp_path / "workspace" / "documents" + base_dir.mkdir(parents=True) + inside_bytes = b"inside image" + secret_bytes = b"secret image" + (base_dir / "inside.png").write_bytes(inside_bytes) + (tmp_path / "secret.png").write_bytes(secret_bytes) + + html = '' + + result = embed_local_images(html, base_dir) + + inside_data = base64.b64encode(inside_bytes).decode("ascii") + secret_data = base64.b64encode(secret_bytes).decode("ascii") + assert f'src="data:image/png;base64,{inside_data}"' in result + assert 'src="../../secret.png"' in result + assert secret_data not in result