abstractframework 0.11.4__tar.gz → 0.11.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {abstractframework-0.11.4 → abstractframework-0.11.6}/CHANGELOG.md +56 -0
- {abstractframework-0.11.4/abstractframework.egg-info → abstractframework-0.11.6}/PKG-INFO +22 -22
- {abstractframework-0.11.4 → abstractframework-0.11.6}/README.md +10 -10
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework/__init__.py +8 -8
- {abstractframework-0.11.4 → abstractframework-0.11.6/abstractframework.egg-info}/PKG-INFO +22 -22
- abstractframework-0.11.6/abstractframework.egg-info/requires.txt +22 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/api.md +5 -5
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/install.md +64 -24
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/troubleshooting.md +23 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/llms-full.txt +125 -62
- {abstractframework-0.11.4 → abstractframework-0.11.6}/llms.txt +3 -3
- {abstractframework-0.11.4 → abstractframework-0.11.6}/pyproject.toml +12 -12
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/install.sh +113 -25
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_app_upgrade.py +158 -5
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_ps1_gpu_stack.py +23 -2
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_ps1_own_gateway.py +15 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_sh_gpu_stack.py +12 -3
- abstractframework-0.11.4/abstractframework.egg-info/requires.txt +0 -22
- {abstractframework-0.11.4 → abstractframework-0.11.6}/LICENSE +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/MANIFEST.in +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework/__main__.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework/cli.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework/install_manifest.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework/py.typed +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework.egg-info/SOURCES.txt +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/agent-sessions.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/architecture.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/automations.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/claude/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/comparisons/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/configuration.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/faq.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/getting-started.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/glossary.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/components.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/implementation-plan.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/strategy.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/installers/user-journeys.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/README.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/af-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/af.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/assistant.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/build.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/check_identity_sync.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/clone.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/code-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/code.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/commit.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/console-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/console.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/deps.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/entity-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/entity.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/flow-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/flow.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/gateway.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/gateway_flags.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/observer-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/observer.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/pull.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/push.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/start-local.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/start.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/status.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/steer_repl.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/tests/test_install_user_path.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/uninstall.sh +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/setup.cfg +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_gateway_launch_flags.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_index_lag.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_macos_profile.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_profiles.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_install_sh_gpu_twin.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_llms_full.py +0 -0
- {abstractframework-0.11.4 → abstractframework-0.11.6}/tests/test_uv_tool_install_atomicity.py +0 -0
|
@@ -2,6 +2,62 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to AbstractFramework will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.11.6] - 2026-10-18
|
|
6
|
+
|
|
7
|
+
Windows fixes: a fresh Windows install works from the one-liner, with its local engines, the
|
|
8
|
+
console's downloads, the desktop Assistant and the command-line tools; image routes can use an
|
|
9
|
+
OpenAI-compatible endpoint that serves an image model. Pins **abstractcore 2.26.3**,
|
|
10
|
+
**abstractgateway 0.15.3**, **abstractassistant 0.14.1**, **AbstractRuntime 0.10.3** and
|
|
11
|
+
**abstractvision 0.3.34**; every other package is unchanged from 0.11.5.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- **First install from the one-liner**: `powershell -ExecutionPolicy ByPass -c "irm https://abstractframework.ai/install.ps1 | iex"` completes on Windows PowerShell 5.1. A first install no longer stops at step [4] with `ERROR: No tools installed`. The installer runs under PowerShell's default error handling whatever the calling session sets, and gives the caller's setting back when it ends.
|
|
16
|
+
- **Gateway pointer**: the installer updates `%USERPROFILE%\.abstractframework\gateway.json` when the gateway has already written it, instead of warning that it could not write the pointer.
|
|
17
|
+
- **Browser apps step**: right after the health check, the installer gives a gateway that is still finishing its start (including `"status": "starting"`) up to about 45 seconds before it defers the app upgrades to the next start.
|
|
18
|
+
- **Re-runs**: the installer recognizes its own background gateway when uv's launcher starts the interpreter through the virtual environment's `python.exe`, keeps it running, and no longer reports it as started by hand.
|
|
19
|
+
- **Local engines on Windows (AbstractGateway 0.15.3)**: llama.cpp and Hugging Face (transformers) show as ready on a Windows gpu install instead of "Not for this computer". vLLM explains that it runs in WSL2 or on a Linux machine.
|
|
20
|
+
- **Workspace files on Windows (AbstractGateway 0.15.3)**: opening or downloading a file from a run's workspace works; Windows credential folders join the built-in protected folders.
|
|
21
|
+
- **Command-line tools on Windows** (AbstractCore 2.26.3, AbstractGateway 0.15.3, AbstractVoice 0.15.1 and later, AbstractMusic 0.1.17): `abstractcore --status`, `abstractgateway network status`, `abstractvoice tts`, `abstractmusic --help` and the other commands no longer stop with `UnicodeEncodeError` when their output is piped or redirected.
|
|
22
|
+
- **llama.cpp on processors without AVX-512**: llama.cpp's `cu130` Windows build is compiled with AVX-512; on a processor without it (most desktop Intel CPUs) it passed the installer's check and then ended the gateway's Python with an illegal instruction at its first GGUF model load. The installer now compares the instructions each build was compiled for with the processor's and tries `cu132` next (same CUDA 13 libraries, no AVX-512); `install.sh` puts the CPU build back on Linux in the same case. A re-run fixes an existing install.
|
|
23
|
+
- **Hugging Face downloads on Windows (AbstractCore 2.26.3)**: downloads from the gateway console run to the end; they stopped a second after starting with "the Hugging Face download process exited 75" (for example faster-whisper `large-v3`, the default speech-to-text model). `abstractcore models download huggingface <repo>` also completes in a cache that holds copies instead of symbolic links (Windows without Developer Mode).
|
|
24
|
+
- **No flashing console windows (AbstractGateway 0.15.3)**: a gateway started at login no longer opens a console window for a moment each time it runs a program such as `nvidia-smi` for the GPU meter.
|
|
25
|
+
- **Desktop Assistant on Windows (AbstractAssistant 0.14.1, AbstractGateway 0.15.3)**: opening the Assistant from the gateway console signs it in (its sign-in file was refused with "permissions are 0o666, not 0o600"), and it opens without an empty console window next to it.
|
|
26
|
+
- **Stopped tools on Windows (AbstractCore 2.26.3)**: a command or browser tool that is stopped ends every process it started.
|
|
27
|
+
- **Install summary on Windows** says that agents' shell commands are refused there (no command sandbox); [Install](docs/install.md#windows) lists what runs locally on Windows.
|
|
28
|
+
|
|
29
|
+
- **Image routes on OpenAI-compatible endpoints (AbstractGateway 0.15.3, AbstractVision 0.3.34, AbstractRuntime 0.10.3)**: an endpoint connection that serves an image model (for example a relay with `gpt-image-2`) is offered for text-to-image and image edits in the consoles, and a route set to it runs on that endpoint.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- CI runs the Windows install the way the one-liner does: a script block evaluated under `$ErrorActionPreference = 'Stop'`.
|
|
34
|
+
|
|
35
|
+
## [0.11.5] - 2026-10-18
|
|
36
|
+
|
|
37
|
+
Pins **AbstractGateway 0.15.2** across the light, Apple and GPU profiles: the gateway stops browser apps
|
|
38
|
+
left running by a previous gateway run and starts the installed version, at start and on every launch or
|
|
39
|
+
update, and its systemd user unit stops its children with it. Pins **AbstractVoice 0.15.2**: read aloud
|
|
40
|
+
speaks whole sentences in one language per reply, without a pause after the first words (0.15.1: the
|
|
41
|
+
voice command-line tools write piped output on Windows). Other package pins are unchanged.
|
|
42
|
+
|
|
43
|
+
Installer fix: an app left running by a previous gateway run no longer keeps an older version on its
|
|
44
|
+
port across upgrades.
|
|
45
|
+
|
|
46
|
+
- `install.sh` and `install.ps1` tell a leftover of a previous gateway run — an "external" copy whose
|
|
47
|
+
process runs a program under `<data dir>/apps/`, which only the gateway puts there — from a copy
|
|
48
|
+
started elsewhere. The leftover is stopped (its command line checked before each signal; SIGTERM,
|
|
49
|
+
then SIGKILL after 20 s) and the updated install is started with `abstractgateway apps launch`;
|
|
50
|
+
the summary's Apps line says `leftover of a previous gateway run (<version>, pid <pid>) stopped;
|
|
51
|
+
<app> <version> started`. A copy that is not provably this install's is left alone and listed as
|
|
52
|
+
`a copy not started by this gateway` with what was checked, never as "started outside the gateway".
|
|
53
|
+
- The summary's closing line for app failures now says what to do for the apps (run the command on
|
|
54
|
+
their line, then `abstractgateway apps list`), instead of advising a re-run once the network has
|
|
55
|
+
caught up. See [Upgrade the apps](docs/install.md#upgrade-the-apps).
|
|
56
|
+
- Who is affected: anyone upgrading with the one-line installers whose gateway runs the browser apps;
|
|
57
|
+
most visibly Linux servers where the gateway runs as a `systemd --user` service. Gateways from
|
|
58
|
+
0.15.2 on stop such leftovers themselves at start and on every launch or update; the installer's
|
|
59
|
+
stop covers earlier gateways.
|
|
60
|
+
|
|
5
61
|
## [0.11.4] - 2026-10-17
|
|
6
62
|
|
|
7
63
|
Installer fix: upgrades keep the browser apps on the release. Package pins are unchanged from 0.11.3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.6
|
|
4
4
|
Summary: Unified installer and documentation hub for the AbstractFramework ecosystem
|
|
5
5
|
Author-email: Laurent-Philippe Albou <contact@abstractframework.ai>
|
|
6
6
|
License: MIT
|
|
@@ -23,24 +23,24 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: abstractgateway==0.15.
|
|
27
|
-
Requires-Dist: abstractassistant==0.14.
|
|
28
|
-
Requires-Dist: abstractcore==2.26.
|
|
29
|
-
Requires-Dist: AbstractRuntime==0.10.
|
|
26
|
+
Requires-Dist: abstractgateway==0.15.3
|
|
27
|
+
Requires-Dist: abstractassistant==0.14.1
|
|
28
|
+
Requires-Dist: abstractcore==2.26.3
|
|
29
|
+
Requires-Dist: AbstractRuntime==0.10.3
|
|
30
30
|
Requires-Dist: abstractagent==0.3.19
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
32
32
|
Requires-Dist: AbstractMemory==0.3.0
|
|
33
33
|
Requires-Dist: abstractsemantics==0.0.5
|
|
34
|
-
Requires-Dist: abstractvoice==0.15.
|
|
35
|
-
Requires-Dist: abstractvision==0.3.
|
|
36
|
-
Requires-Dist: abstractmusic==0.1.
|
|
34
|
+
Requires-Dist: abstractvoice==0.15.2
|
|
35
|
+
Requires-Dist: abstractvision==0.3.34
|
|
36
|
+
Requires-Dist: abstractmusic==0.1.17
|
|
37
37
|
Requires-Dist: abstract3d==0.3.2
|
|
38
38
|
Provides-Extra: apple
|
|
39
|
-
Requires-Dist: abstractgateway[apple]==0.15.
|
|
40
|
-
Requires-Dist: abstractassistant[apple]==0.14.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.15.3; extra == "apple"
|
|
40
|
+
Requires-Dist: abstractassistant[apple]==0.14.1; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.15.
|
|
43
|
-
Requires-Dist: abstractassistant[gpu]==0.14.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.15.3; extra == "gpu"
|
|
43
|
+
Requires-Dist: abstractassistant[gpu]==0.14.1; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
46
46
|
# AbstractFramework
|
|
@@ -221,7 +221,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
221
221
|
```
|
|
222
222
|
|
|
223
223
|
Container images are published for the gateway and the AbstractCore server:
|
|
224
|
-
`ghcr.io/lpalbou/abstractgateway:0.15.
|
|
224
|
+
`ghcr.io/lpalbou/abstractgateway:0.15.3` and `ghcr.io/lpalbou/abstractcore-server:2.26.3`.
|
|
225
225
|
|
|
226
226
|
For artifact and runtime-resource investigation, see
|
|
227
227
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -383,17 +383,17 @@ and tested together.
|
|
|
383
383
|
|
|
384
384
|
| Registry | Package | Version |
|
|
385
385
|
|---|---|---|
|
|
386
|
-
| PyPI | `abstractgateway` | 0.15.
|
|
387
|
-
| PyPI | `abstractassistant` | 0.14.
|
|
388
|
-
| PyPI | `abstractcore` | 2.26.
|
|
389
|
-
| PyPI | `AbstractRuntime` | 0.10.
|
|
386
|
+
| PyPI | `abstractgateway` | 0.15.3 |
|
|
387
|
+
| PyPI | `abstractassistant` | 0.14.1 |
|
|
388
|
+
| PyPI | `abstractcore` | 2.26.3 |
|
|
389
|
+
| PyPI | `AbstractRuntime` | 0.10.3 |
|
|
390
390
|
| PyPI | `abstractagent` | 0.3.19 |
|
|
391
391
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
392
392
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
393
393
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
394
|
-
| PyPI | `abstractvoice` | 0.15.
|
|
395
|
-
| PyPI | `abstractvision` | 0.3.
|
|
396
|
-
| PyPI | `abstractmusic` | 0.1.
|
|
394
|
+
| PyPI | `abstractvoice` | 0.15.2 |
|
|
395
|
+
| PyPI | `abstractvision` | 0.3.34 |
|
|
396
|
+
| PyPI | `abstractmusic` | 0.1.17 |
|
|
397
397
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
398
398
|
| npm | `@abstractframework/flow` | 0.10.0 |
|
|
399
399
|
| npm | `@abstractframework/code` | 0.11.2 |
|
|
@@ -404,8 +404,8 @@ and tested together.
|
|
|
404
404
|
| crates.io | `abstractgateway-console` | 0.16.0 |
|
|
405
405
|
| crates.io | `abstractcore-console` | 0.8.0 |
|
|
406
406
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
407
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.
|
|
408
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.
|
|
407
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.3 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
408
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.3 |
|
|
409
409
|
|
|
410
410
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
411
411
|
not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
|
|
@@ -176,7 +176,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
Container images are published for the gateway and the AbstractCore server:
|
|
179
|
-
`ghcr.io/lpalbou/abstractgateway:0.15.
|
|
179
|
+
`ghcr.io/lpalbou/abstractgateway:0.15.3` and `ghcr.io/lpalbou/abstractcore-server:2.26.3`.
|
|
180
180
|
|
|
181
181
|
For artifact and runtime-resource investigation, see
|
|
182
182
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -338,17 +338,17 @@ and tested together.
|
|
|
338
338
|
|
|
339
339
|
| Registry | Package | Version |
|
|
340
340
|
|---|---|---|
|
|
341
|
-
| PyPI | `abstractgateway` | 0.15.
|
|
342
|
-
| PyPI | `abstractassistant` | 0.14.
|
|
343
|
-
| PyPI | `abstractcore` | 2.26.
|
|
344
|
-
| PyPI | `AbstractRuntime` | 0.10.
|
|
341
|
+
| PyPI | `abstractgateway` | 0.15.3 |
|
|
342
|
+
| PyPI | `abstractassistant` | 0.14.1 |
|
|
343
|
+
| PyPI | `abstractcore` | 2.26.3 |
|
|
344
|
+
| PyPI | `AbstractRuntime` | 0.10.3 |
|
|
345
345
|
| PyPI | `abstractagent` | 0.3.19 |
|
|
346
346
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
347
347
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
348
348
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
349
|
-
| PyPI | `abstractvoice` | 0.15.
|
|
350
|
-
| PyPI | `abstractvision` | 0.3.
|
|
351
|
-
| PyPI | `abstractmusic` | 0.1.
|
|
349
|
+
| PyPI | `abstractvoice` | 0.15.2 |
|
|
350
|
+
| PyPI | `abstractvision` | 0.3.34 |
|
|
351
|
+
| PyPI | `abstractmusic` | 0.1.17 |
|
|
352
352
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
353
353
|
| npm | `@abstractframework/flow` | 0.10.0 |
|
|
354
354
|
| npm | `@abstractframework/code` | 0.11.2 |
|
|
@@ -359,8 +359,8 @@ and tested together.
|
|
|
359
359
|
| crates.io | `abstractgateway-console` | 0.16.0 |
|
|
360
360
|
| crates.io | `abstractcore-console` | 0.8.0 |
|
|
361
361
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
362
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.
|
|
363
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.
|
|
362
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.3 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
363
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.3 |
|
|
364
364
|
|
|
365
365
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
366
366
|
not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
|
|
@@ -10,23 +10,23 @@ Most implementation functionality still lives in component projects.
|
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
__version__ = "0.11.
|
|
13
|
+
__version__ = "0.11.6"
|
|
14
14
|
__author__ = "Laurent-Philippe Albou"
|
|
15
15
|
__license__ = "MIT"
|
|
16
16
|
|
|
17
17
|
RELEASE_VERSIONS: dict[str, str] = {
|
|
18
|
-
"abstractcore": "2.26.
|
|
19
|
-
"abstractruntime": "0.10.
|
|
18
|
+
"abstractcore": "2.26.3",
|
|
19
|
+
"abstractruntime": "0.10.3",
|
|
20
20
|
"abstractagent": "0.3.19",
|
|
21
|
-
"abstractgateway": "0.15.
|
|
21
|
+
"abstractgateway": "0.15.3",
|
|
22
22
|
"abstractskill": "0.3.0",
|
|
23
23
|
"abstractmemory": "0.3.0",
|
|
24
24
|
"abstractsemantics": "0.0.5",
|
|
25
|
-
"abstractvoice": "0.15.
|
|
26
|
-
"abstractvision": "0.3.
|
|
27
|
-
"abstractmusic": "0.1.
|
|
25
|
+
"abstractvoice": "0.15.2",
|
|
26
|
+
"abstractvision": "0.3.34",
|
|
27
|
+
"abstractmusic": "0.1.17",
|
|
28
28
|
"abstract3d": "0.3.2",
|
|
29
|
-
"abstractassistant": "0.14.
|
|
29
|
+
"abstractassistant": "0.14.1",
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
PACKAGE_DISTRIBUTIONS: dict[str, str] = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.6
|
|
4
4
|
Summary: Unified installer and documentation hub for the AbstractFramework ecosystem
|
|
5
5
|
Author-email: Laurent-Philippe Albou <contact@abstractframework.ai>
|
|
6
6
|
License: MIT
|
|
@@ -23,24 +23,24 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: abstractgateway==0.15.
|
|
27
|
-
Requires-Dist: abstractassistant==0.14.
|
|
28
|
-
Requires-Dist: abstractcore==2.26.
|
|
29
|
-
Requires-Dist: AbstractRuntime==0.10.
|
|
26
|
+
Requires-Dist: abstractgateway==0.15.3
|
|
27
|
+
Requires-Dist: abstractassistant==0.14.1
|
|
28
|
+
Requires-Dist: abstractcore==2.26.3
|
|
29
|
+
Requires-Dist: AbstractRuntime==0.10.3
|
|
30
30
|
Requires-Dist: abstractagent==0.3.19
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
32
32
|
Requires-Dist: AbstractMemory==0.3.0
|
|
33
33
|
Requires-Dist: abstractsemantics==0.0.5
|
|
34
|
-
Requires-Dist: abstractvoice==0.15.
|
|
35
|
-
Requires-Dist: abstractvision==0.3.
|
|
36
|
-
Requires-Dist: abstractmusic==0.1.
|
|
34
|
+
Requires-Dist: abstractvoice==0.15.2
|
|
35
|
+
Requires-Dist: abstractvision==0.3.34
|
|
36
|
+
Requires-Dist: abstractmusic==0.1.17
|
|
37
37
|
Requires-Dist: abstract3d==0.3.2
|
|
38
38
|
Provides-Extra: apple
|
|
39
|
-
Requires-Dist: abstractgateway[apple]==0.15.
|
|
40
|
-
Requires-Dist: abstractassistant[apple]==0.14.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.15.3; extra == "apple"
|
|
40
|
+
Requires-Dist: abstractassistant[apple]==0.14.1; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.15.
|
|
43
|
-
Requires-Dist: abstractassistant[gpu]==0.14.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.15.3; extra == "gpu"
|
|
43
|
+
Requires-Dist: abstractassistant[gpu]==0.14.1; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
46
46
|
# AbstractFramework
|
|
@@ -221,7 +221,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
221
221
|
```
|
|
222
222
|
|
|
223
223
|
Container images are published for the gateway and the AbstractCore server:
|
|
224
|
-
`ghcr.io/lpalbou/abstractgateway:0.15.
|
|
224
|
+
`ghcr.io/lpalbou/abstractgateway:0.15.3` and `ghcr.io/lpalbou/abstractcore-server:2.26.3`.
|
|
225
225
|
|
|
226
226
|
For artifact and runtime-resource investigation, see
|
|
227
227
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -383,17 +383,17 @@ and tested together.
|
|
|
383
383
|
|
|
384
384
|
| Registry | Package | Version |
|
|
385
385
|
|---|---|---|
|
|
386
|
-
| PyPI | `abstractgateway` | 0.15.
|
|
387
|
-
| PyPI | `abstractassistant` | 0.14.
|
|
388
|
-
| PyPI | `abstractcore` | 2.26.
|
|
389
|
-
| PyPI | `AbstractRuntime` | 0.10.
|
|
386
|
+
| PyPI | `abstractgateway` | 0.15.3 |
|
|
387
|
+
| PyPI | `abstractassistant` | 0.14.1 |
|
|
388
|
+
| PyPI | `abstractcore` | 2.26.3 |
|
|
389
|
+
| PyPI | `AbstractRuntime` | 0.10.3 |
|
|
390
390
|
| PyPI | `abstractagent` | 0.3.19 |
|
|
391
391
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
392
392
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
393
393
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
394
|
-
| PyPI | `abstractvoice` | 0.15.
|
|
395
|
-
| PyPI | `abstractvision` | 0.3.
|
|
396
|
-
| PyPI | `abstractmusic` | 0.1.
|
|
394
|
+
| PyPI | `abstractvoice` | 0.15.2 |
|
|
395
|
+
| PyPI | `abstractvision` | 0.3.34 |
|
|
396
|
+
| PyPI | `abstractmusic` | 0.1.17 |
|
|
397
397
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
398
398
|
| npm | `@abstractframework/flow` | 0.10.0 |
|
|
399
399
|
| npm | `@abstractframework/code` | 0.11.2 |
|
|
@@ -404,8 +404,8 @@ and tested together.
|
|
|
404
404
|
| crates.io | `abstractgateway-console` | 0.16.0 |
|
|
405
405
|
| crates.io | `abstractcore-console` | 0.8.0 |
|
|
406
406
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
407
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.
|
|
408
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.
|
|
407
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.3 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
408
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.3 |
|
|
409
409
|
|
|
410
410
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
411
411
|
not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
abstractgateway==0.15.3
|
|
2
|
+
abstractassistant==0.14.1
|
|
3
|
+
abstractcore==2.26.3
|
|
4
|
+
AbstractRuntime==0.10.3
|
|
5
|
+
abstractagent==0.3.19
|
|
6
|
+
abstractskill==0.3.0
|
|
7
|
+
AbstractMemory==0.3.0
|
|
8
|
+
abstractsemantics==0.0.5
|
|
9
|
+
abstractvoice==0.15.2
|
|
10
|
+
abstractvision==0.3.34
|
|
11
|
+
abstractmusic==0.1.17
|
|
12
|
+
abstract3d==0.3.2
|
|
13
|
+
|
|
14
|
+
[apple]
|
|
15
|
+
abstractgateway[apple]==0.15.3
|
|
16
|
+
|
|
17
|
+
[apple:platform_system == "Darwin"]
|
|
18
|
+
abstractassistant[apple]==0.14.1
|
|
19
|
+
|
|
20
|
+
[gpu]
|
|
21
|
+
abstractgateway[gpu]==0.15.3
|
|
22
|
+
abstractassistant[gpu]==0.14.1
|
|
@@ -55,14 +55,14 @@ The response type returned by `llm.generate(...)`.
|
|
|
55
55
|
|
|
56
56
|
### `__version__`
|
|
57
57
|
|
|
58
|
-
The meta-package version (`0.11.
|
|
58
|
+
The meta-package version (`0.11.6` for this release).
|
|
59
59
|
|
|
60
60
|
### `RELEASE_VERSIONS`
|
|
61
61
|
|
|
62
|
-
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.11.
|
|
63
|
-
`abstractcore` 2.26.
|
|
64
|
-
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.15.
|
|
65
|
-
`abstractmusic` 0.1.
|
|
62
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.11.6:
|
|
63
|
+
`abstractcore` 2.26.3, `abstractruntime` 0.10.3, `abstractagent` 0.3.19, `abstractgateway` 0.15.3,
|
|
64
|
+
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.15.2, `abstractvision` 0.3.34,
|
|
65
|
+
`abstractmusic` 0.1.17, `abstract3d` 0.3.2, `abstractassistant` 0.14.1.
|
|
66
66
|
|
|
67
67
|
### `PACKAGE_DISTRIBUTIONS`
|
|
68
68
|
|
|
@@ -80,6 +80,23 @@ browser. It asks whether to start AbstractFramework at sign-in, like the Mac and
|
|
|
80
80
|
Enter = yes, no answer within 25 seconds (or no console to ask on) leaves it off on a first install.
|
|
81
81
|
`-NoService` leaves it off and asks nothing.
|
|
82
82
|
|
|
83
|
+
What runs locally on Windows with the gpu profile (x86_64, NVIDIA):
|
|
84
|
+
|
|
85
|
+
| Engine | On Windows |
|
|
86
|
+
|---|---|
|
|
87
|
+
| llama.cpp (GGUF models, in the gateway) | Yes: the installer adds llama.cpp's prebuilt CUDA, Vulkan or CPU build. |
|
|
88
|
+
| Hugging Face Transformers | Yes, on PyTorch's CUDA build. |
|
|
89
|
+
| Diffusers (image generation), faster-whisper (speech to text), sentence-transformers | Yes. |
|
|
90
|
+
| Ollama, LM Studio | Yes: install them from the console's **Local engines** page (or `-WithOllama`, `-WithLmStudio`). |
|
|
91
|
+
| vLLM | No native Windows build: run it in WSL2 or on a Linux machine, and point the gateway at that server. |
|
|
92
|
+
| MLX | Apple silicon Macs only. |
|
|
93
|
+
|
|
94
|
+
Agents' shell commands need a sandbox, and Windows has none that the gateway supports, so the
|
|
95
|
+
gateway refuses those commands on Windows; every other tool works. AbstractGateway's
|
|
96
|
+
[security guide](https://github.com/lpalbou/AbstractGateway/blob/main/docs/security.md) explains
|
|
97
|
+
`abstractgateway serve --unsandboxed-commands`, which runs them with your account's own file
|
|
98
|
+
access, for a gateway you start yourself.
|
|
99
|
+
|
|
83
100
|
## If something goes wrong
|
|
84
101
|
|
|
85
102
|
The installer stops at the first problem, says what happened in plain words, and says what to do.
|
|
@@ -113,7 +130,7 @@ where it stopped.
|
|
|
113
130
|
### Right after a release
|
|
114
131
|
|
|
115
132
|
For a few minutes after a release, some of PyPI's mirrors can still serve a package list without
|
|
116
|
-
the new versions. uv then answers `there is no version of abstractgateway==0.
|
|
133
|
+
the new versions. uv then answers `there is no version of abstractgateway==0.15.3` even though the
|
|
117
134
|
release is published. The installer (install.sh and install.ps1; the **Update** action of the
|
|
118
135
|
consoles and the menu-bar icon runs install.sh on macOS and Linux, and gives the install.ps1 line to
|
|
119
136
|
paste on Windows) treats that as a delay:
|
|
@@ -369,12 +386,26 @@ update restarts it on the new version. The summary's **Apps** line lists each ap
|
|
|
369
386
|
that could not be updated is listed in red with the command to retry, and the installer exits 1. A
|
|
370
387
|
fresh install installs no app: the console's **Apps** page installs them.
|
|
371
388
|
|
|
372
|
-
An app's port may be held by a copy
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
389
|
+
An app's port may be held by a copy this gateway did not start. The gateway's own install is
|
|
390
|
+
updated all the same, and what happens to the copy depends on what it is:
|
|
391
|
+
|
|
392
|
+
- **A leftover of a previous gateway run** — the process runs a program under `<data dir>/apps/`,
|
|
393
|
+
which only the gateway puts there (an app that outlived a stop or restart of the gateway, for
|
|
394
|
+
example on a Linux server, and kept serving an older version). The installer stops it (its command
|
|
395
|
+
line is checked again before each signal; SIGTERM, then SIGKILL after 20 s) and starts the updated
|
|
396
|
+
install in its place with `abstractgateway apps launch <app>`; the **Apps** line says
|
|
397
|
+
`leftover of a previous gateway run (<version>, pid <pid>) stopped; <app> <version> started`. If
|
|
398
|
+
the leftover could not be stopped or the app did not start, the summary says so in red with the
|
|
399
|
+
command to run. Gateways from 0.15.2 on do this themselves at every start and on every
|
|
400
|
+
`apps launch` or `apps update`, so the installer's stop is only needed with an older gateway.
|
|
401
|
+
- **A copy not started by this gateway** — anything else (an app run by hand with `npx`, a checkout,
|
|
402
|
+
a process this system cannot inspect). It is left alone: the **Apps** line says `RUNNING: a copy
|
|
403
|
+
not started by this gateway, <version> on port <port> (pid <pid>)` and, when that copy is not at
|
|
404
|
+
this release's version, the summary shows it in red with what was checked and the pid to stop,
|
|
405
|
+
then `abstractgateway apps launch <app>`.
|
|
406
|
+
|
|
407
|
+
The summary's last line then points at the apps (`What to do for the apps: run the command given on
|
|
408
|
+
their line above, then check them with: abstractgateway apps list …`), not at a re-run.
|
|
378
409
|
|
|
379
410
|
When no gateway answers (`--no-start` while the gateway is stopped), the installer writes the
|
|
380
411
|
release's versions to `<data dir>/apps-upgrade.pending` instead, and the gateway (0.11.1 and later)
|
|
@@ -399,7 +430,7 @@ The terminal console and an `abstractcode` built by the installer are upgraded b
|
|
|
399
430
|
|
|
400
431
|
```bash
|
|
401
432
|
abstractgateway --version # the installed gateway
|
|
402
|
-
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.15.
|
|
433
|
+
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.15.3])
|
|
403
434
|
abstractgateway-console --version # the terminal console
|
|
404
435
|
abstractcode --version # AbstractCode's terminal client
|
|
405
436
|
abstractgateway apps list # the apps: installed and latest
|
|
@@ -475,10 +506,10 @@ The Mac package, the `.command` files and the one line all run the same script,
|
|
|
475
506
|
login** switch counts), a first install leaves it off.
|
|
476
507
|
3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
|
|
477
508
|
4. Installs the gateway as an isolated uv tool, pinned to this release:
|
|
478
|
-
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.15.
|
|
509
|
+
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.15.3"`, from prebuilt wheels
|
|
479
510
|
only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
|
|
480
511
|
(reinstalling it in place when it does not). Every profile also gets local voice,
|
|
481
|
-
`--with "abstractvoice[supertonic,stt]==0.15.
|
|
512
|
+
`--with "abstractvoice[supertonic,stt]==0.15.2"` (the release's AbstractVoice): Supertonic
|
|
482
513
|
text-to-speech and Whisper speech-to-text, both on CPU (skipped on musl Linux and macOS before
|
|
483
514
|
13, where no wheels exist; Windows ARM64 gets Supertonic only). If those packages do not install
|
|
484
515
|
on a system (for example glibc older than 2.28), the gateway is installed without them and the
|
|
@@ -636,7 +667,7 @@ What to expect on a GPU of this size:
|
|
|
636
667
|
- **Loaded image models are reused.** After **Load** in the console (or `POST /models/load`),
|
|
637
668
|
image requests run on the loaded model, and an unload frees its memory.
|
|
638
669
|
|
|
639
|
-
Not validated: vLLM (installed, never started a model here)
|
|
670
|
+
Not validated: vLLM (installed, never started a model here).
|
|
640
671
|
|
|
641
672
|
### GPU on Windows (NVIDIA)
|
|
642
673
|
|
|
@@ -646,7 +677,7 @@ capability, prints the stack it picks and why, and installs:
|
|
|
646
677
|
|
|
647
678
|
| NVIDIA driver | PyTorch | llama.cpp builds tried, in order |
|
|
648
679
|
|---|---|---|
|
|
649
|
-
| 580 or newer, compute capability 7.5 or newer | CUDA 13 (`cu130`, about 1.9 GB) | `cu130`, Vulkan, CPU |
|
|
680
|
+
| 580 or newer, compute capability 7.5 or newer | CUDA 13 (`cu130`, about 1.9 GB) | `cu130`, `cu132`, Vulkan, CPU |
|
|
650
681
|
| 525 or newer | CUDA 12 (`cu126`, about 2.5 GB) | `cu125`, Vulkan, CPU |
|
|
651
682
|
| older, or no working NVIDIA GPU | PyPI's CPU build | Vulkan, CPU |
|
|
652
683
|
|
|
@@ -657,13 +688,22 @@ It announces the big downloads before they start and shows uv's output as it hap
|
|
|
657
688
|
AbstractCore loads it and reports GPU offload, and which device faster-whisper picks. A part that
|
|
658
689
|
does not work is replaced by one that does: a CUDA install that fails is retried without llama.cpp,
|
|
659
690
|
then with PyTorch's CPU build; a llama.cpp build that does not load (or reports no GPU offload) is
|
|
660
|
-
replaced by the next one, and removed when none loads.
|
|
691
|
+
replaced by the next one, and removed when none loads. A build is also replaced when it was compiled
|
|
692
|
+
for CPU instructions your processor lacks: llama.cpp's `cu130` build uses AVX-512, which most desktop
|
|
693
|
+
Intel processors do not have, so those computers get the `cu132` build. On a GPU newer than the
|
|
694
|
+
build's CUDA architectures (RTX 50 series), the first model load takes a minute or two while the
|
|
695
|
+
driver compiles the GPU code; later loads reuse it. The summary's `GPU stack:`, `PyTorch:`,
|
|
661
696
|
`GGUF:` and `Whisper:` lines say what runs where, and why. vLLM (Linux only upstream) and
|
|
662
697
|
stable-diffusion.cpp (a source build that needs an elevated MSVC install) are not part of the
|
|
663
|
-
Windows gpu profile; Diffusers on PyTorch covers image
|
|
698
|
+
Windows gpu profile; Diffusers on PyTorch covers image generation. Local video generation runs on
|
|
699
|
+
Apple silicon (MLX) only.
|
|
664
700
|
|
|
665
|
-
|
|
666
|
-
|
|
701
|
+
Validated on Windows 10 22H2 with an NVIDIA GeForce RTX 5060 Ti (compute capability 12.0, driver
|
|
702
|
+
617) and an Intel Core i7-5820K (no AVX-512): PyTorch 2.14.1 `cu130` on the GPU; llama.cpp 0.3.35
|
|
703
|
+
`cu132` with GPU offload answering a GGUF chat model; a Hugging Face (transformers) chat model on
|
|
704
|
+
CUDA; Diffusers text-to-image (`stabilityai/sd-turbo`, fp16 on CUDA); Supertonic text-to-speech;
|
|
705
|
+
and faster-whisper `large-v3` speech-to-text on CUDA. The
|
|
706
|
+
stack choice and its fallbacks for older drivers are tested with simulated drivers.
|
|
667
707
|
|
|
668
708
|
### Compiled extras
|
|
669
709
|
|
|
@@ -820,7 +860,7 @@ instead of starting a browser.
|
|
|
820
860
|
```bash
|
|
821
861
|
curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
|
|
822
862
|
uv python install 3.12
|
|
823
|
-
uv tool install --python 3.12 "abstractgateway[tray]==0.15.
|
|
863
|
+
uv tool install --python 3.12 "abstractgateway[tray]==0.15.3" # [apple,tray] or [gpu,tray] for local engines
|
|
824
864
|
# (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
|
|
825
865
|
uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
|
|
826
866
|
abstractgateway service install --port 8080 # or: abstractgateway serve
|
|
@@ -954,10 +994,10 @@ Python 3.11 to 3.13), but it gets PyPI's CPU-only PyTorch and no llama.cpp: use
|
|
|
954
994
|
installer, which adds PyTorch's CUDA build and llama.cpp's prebuilt GPU build
|
|
955
995
|
([GPU on Windows](#gpu-on-windows-nvidia)).
|
|
956
996
|
|
|
957
|
-
`abstractframework` 0.11.
|
|
958
|
-
`abstractcore==2.26.
|
|
959
|
-
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.15.
|
|
960
|
-
`abstractvision==0.3.
|
|
997
|
+
`abstractframework` 0.11.6 pins `abstractgateway==0.15.3`, `abstractassistant==0.14.1`,
|
|
998
|
+
`abstractcore==2.26.3`, `AbstractRuntime==0.10.3`, `abstractagent==0.3.19`, `abstractskill==0.3.0`,
|
|
999
|
+
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.15.2`,
|
|
1000
|
+
`abstractvision==0.3.34`, `abstractmusic==0.1.17` and `abstract3d==0.3.2`. The `apple` and `gpu` extras select
|
|
961
1001
|
`abstractgateway[apple|gpu]` and `abstractassistant[apple|gpu]` at the same versions
|
|
962
1002
|
(`abstractassistant[apple]` is installed on macOS only). `abstractframework doctor` reports any
|
|
963
1003
|
installed package whose version differs from these pins.
|
|
@@ -1046,7 +1086,7 @@ Run or install them next to the Python stack:
|
|
|
1046
1086
|
| Tool | Command | Version released with 0.11.0 |
|
|
1047
1087
|
|---|---|---|
|
|
1048
1088
|
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.14.0 |
|
|
1049
|
-
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.26.
|
|
1089
|
+
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.26.3 |
|
|
1050
1090
|
| Core terminal console | `cargo install abstractcore-console` (Rust 1.87+), then `abstractcore-console` (uses the `abstractcore` command). The installers do not build it: it is the console of a standalone `abstractcore serve`, and the gateway's terminal console already has its Models and Engines screens | 0.8.0 |
|
|
1051
1091
|
| Gateway terminal console | built by the installer (`--no-console` skips it), or `cargo install abstractgateway-console` (Rust 1.87+); then `abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token>` | 0.16.0 |
|
|
1052
1092
|
| Flow Editor | the console's **Apps** page (opens at `/apps/flow/`), or on its own: `npx @abstractframework/flow --gateway-url <url>` | 0.9.0 |
|
|
@@ -1097,7 +1137,7 @@ docker run \
|
|
|
1097
1137
|
-v "$PWD/runtime:/data" \
|
|
1098
1138
|
-e ABSTRACTGATEWAY_DATA_DIR=/data \
|
|
1099
1139
|
-e ABSTRACTGATEWAY_USER_AUTH=1 \
|
|
1100
|
-
ghcr.io/lpalbou/abstractgateway:0.15.
|
|
1140
|
+
ghcr.io/lpalbou/abstractgateway:0.15.3
|
|
1101
1141
|
```
|
|
1102
1142
|
|
|
1103
1143
|
This is the Light container: full framework capabilities through remote/endpoint inference, without
|
|
@@ -1105,7 +1145,7 @@ local MLX/CUDA stacks. On first start it creates `default/admin` and writes the
|
|
|
1105
1145
|
`runtime/auth/bootstrap-admin-token`. Use `ghcr.io/lpalbou/abstractgateway:gpu-latest` only on an
|
|
1106
1146
|
NVIDIA host when you explicitly want the local GPU profile (pinned tags are `<version>-gpu`, published on a best-effort basis; this image is
|
|
1107
1147
|
experimental). The AbstractCore OpenAI-compatible server is also published as
|
|
1108
|
-
`ghcr.io/lpalbou/abstractcore-server:2.26.
|
|
1148
|
+
`ghcr.io/lpalbou/abstractcore-server:2.26.3`.
|
|
1109
1149
|
|
|
1110
1150
|
## How installs are designed
|
|
1111
1151
|
|
|
@@ -81,6 +81,21 @@ run the installer again: it continues where it stopped.
|
|
|
81
81
|
- **Fix**: paste the one-liner from [Install](install.md#windows), which runs a command rather than
|
|
82
82
|
a script file, or ask your administrator.
|
|
83
83
|
|
|
84
|
+
### Windows: the installer stops at `[4] AbstractGateway` with `ERROR: No tools installed`
|
|
85
|
+
|
|
86
|
+
- **Cause**: the installer of AbstractFramework 0.11.3 stopped when it ran through the one-liner
|
|
87
|
+
on Windows PowerShell 5.1 and found no uv tool installed yet.
|
|
88
|
+
- **Fix**: paste the one-liner from [Install](install.md#windows) again. It always fetches the
|
|
89
|
+
current installer, which resumes from the uv and Python already in place.
|
|
90
|
+
- **Verify**: `abstractgateway --version` in a new terminal.
|
|
91
|
+
|
|
92
|
+
### Windows: console windows flash on the desktop every few seconds
|
|
93
|
+
|
|
94
|
+
- **Cause**: an AbstractGateway older than 0.15.3 started at login (through `pythonw.exe`) opens a
|
|
95
|
+
console window for each program it runs, such as `nvidia-smi` for the GPU meter.
|
|
96
|
+
- **Fix**: paste the one-liner from [Install](install.md#windows) again, then sign out and back
|
|
97
|
+
in, or restart the gateway from its tray icon.
|
|
98
|
+
|
|
84
99
|
## Starting and signing in
|
|
85
100
|
|
|
86
101
|
### The browser page asks for a token, or the sign-in link expired
|
|
@@ -159,6 +174,14 @@ run the installer again: it continues where it stopped.
|
|
|
159
174
|
|
|
160
175
|
## Models and providers
|
|
161
176
|
|
|
177
|
+
### Windows: a model download stops with "the Hugging Face download process exited 75"
|
|
178
|
+
|
|
179
|
+
- **Cause**: with AbstractCore older than 2.26.3, Hugging Face downloads started from the gateway
|
|
180
|
+
console on Windows (for example faster-whisper `large-v3`, the default speech-to-text model)
|
|
181
|
+
stop a second after they start.
|
|
182
|
+
- **Fix**: paste the one-liner from [Install](install.md#windows) again, then start the download
|
|
183
|
+
again from the console. Files that already finished are kept.
|
|
184
|
+
|
|
162
185
|
### Provider calls fail
|
|
163
186
|
|
|
164
187
|
- **Check**: `abstractcore --status` for the persisted configuration, and whether a local server
|