abstractframework 0.4.1__tar.gz → 0.4.2__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.4.1 → abstractframework-0.4.2}/CHANGELOG.md +47 -0
- {abstractframework-0.4.1/abstractframework.egg-info → abstractframework-0.4.2}/PKG-INFO +8 -8
- {abstractframework-0.4.1 → abstractframework-0.4.2}/README.md +3 -3
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework/__init__.py +3 -3
- {abstractframework-0.4.1 → abstractframework-0.4.2/abstractframework.egg-info}/PKG-INFO +8 -8
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework.egg-info/requires.txt +4 -4
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/api.md +4 -4
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/install.md +36 -10
- {abstractframework-0.4.1 → abstractframework-0.4.2}/llms-full.txt +52 -26
- {abstractframework-0.4.1 → abstractframework-0.4.2}/llms.txt +1 -1
- {abstractframework-0.4.1 → abstractframework-0.4.2}/pyproject.toml +5 -5
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/install.sh +381 -17
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/tests/test_install_user_path.sh +186 -1
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/uninstall.sh +10 -3
- {abstractframework-0.4.1 → abstractframework-0.4.2}/LICENSE +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/MANIFEST.in +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework/__main__.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework/cli.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework/install_manifest.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework/py.typed +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework.egg-info/SOURCES.txt +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/agent-sessions.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/architecture.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/claude/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/comparisons/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/configuration.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/faq.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/getting-started.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/glossary.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/components.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/implementation-plan.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/strategy.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/installers/user-journeys.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/README.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/troubleshooting.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/af-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/af.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/assistant.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/build.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/check_identity_sync.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/clone.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/code-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/code.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/commit.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/console-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/console.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/deps.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/entity-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/entity.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/flow-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/flow.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/gateway.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/observer-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/observer.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/pull.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/push.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/start-local.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/start.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/status.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/steer_repl.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/setup.cfg +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/tests/test_install_profiles.py +0 -0
- {abstractframework-0.4.1 → abstractframework-0.4.2}/tests/test_llms_full.py +0 -0
|
@@ -4,6 +4,53 @@ All notable changes to AbstractFramework will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.4.2] - 2026-09-27
|
|
8
|
+
|
|
9
|
+
A patch release for the uninstaller and two package updates.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Uninstall stops the whole gateway before deleting.** Removing the login item does not wait for
|
|
14
|
+
the gateway to exit, and some of its children (an entity's own-time loop, model downloads, the
|
|
15
|
+
apps it started, the tray) kept writing into the data dir, so the uninstall failed with
|
|
16
|
+
"Directory not empty". The uninstaller now waits up to 20 s for the whole gateway process tree to
|
|
17
|
+
exit, then stops what is left and says which processes it stopped.
|
|
18
|
+
- **Every deletion is verified.** Each location is deleted, retried while something re-creates it,
|
|
19
|
+
then checked; a folder that cannot be deleted (or comes back) stops the uninstaller with a
|
|
20
|
+
listing of what remains and the programs holding it. The failure text advises running the
|
|
21
|
+
uninstaller again, never the installer.
|
|
22
|
+
- **`--purge` removes all your local data**: besides the gateway data dir, its login-item logs and
|
|
23
|
+
its download cache, it removes the Assistant's sessions, snapshots and preferences
|
|
24
|
+
(`~/.abstractassistant`, the macOS preferences file and the cached preferences) and
|
|
25
|
+
AbstractCode's login and preferences (`~/.abstractcode`). Model weights and shared caches are
|
|
26
|
+
kept and named. The purge question names what it deletes; `--print` lists each command; a
|
|
27
|
+
second run prints "nothing to do". `install.sh` accepts `--yes`.
|
|
28
|
+
- **Uninstall safety**: `--purge` refuses (exit 2, nothing changed) a data dir that is the root,
|
|
29
|
+
your home folder or any folder above it, and a hand-given `--data-dir` that is not a gateway data
|
|
30
|
+
dir (for example `~/Library` or `~/Documents`). A process is stopped only when it runs from this
|
|
31
|
+
install's tool environment or is one of this data dir's apps; a stale pid file is left alone.
|
|
32
|
+
`--data-dir` is made absolute once, and paths are resolved before the mount guard
|
|
33
|
+
(`/tmp` vs `/private/tmp`, a linked home).
|
|
34
|
+
- The one-line uninstaller and the installer package's "Uninstall AbstractFramework.command" both
|
|
35
|
+
carry these fixes. Known Linux limits: BusyBox `ps` (Alpine) lacks the columns the process scan
|
|
36
|
+
reads, so only the systemd stop applies there; a relative `XDG_CACHE_HOME` is used as given.
|
|
37
|
+
|
|
38
|
+
### Changed (pins)
|
|
39
|
+
|
|
40
|
+
- **abstractagent 0.3.16** (was 0.3.15): the announced-tool-use text heuristic added in 0.3.15 is
|
|
41
|
+
removed; the loops behave as in 0.3.14 plus the CodeAct/MemAct crash fix from 0.3.15.
|
|
42
|
+
- **abstractassistant 0.7.0** (was 0.6.1): the session list and transcripts come from the gateway;
|
|
43
|
+
local files are a rebuildable cache. The first launch moves sessions the gateway does not know to
|
|
44
|
+
`sessions-legacy/` and deletes nothing. The list shows your own sessions by default, with an
|
|
45
|
+
"All gateway sessions" toggle.
|
|
46
|
+
- The pins apply to the base install and to the `apple` / `gpu` extras
|
|
47
|
+
(`abstractassistant[apple|gpu]==0.7.0`). Unchanged: abstractgateway 0.5.1, abstractcore 2.16.1,
|
|
48
|
+
AbstractRuntime 0.5.1, abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5,
|
|
49
|
+
abstractvoice 0.11.4, abstractvision 0.3.29, abstractmusic 0.1.15, the browser apps, `abstractcode`
|
|
50
|
+
0.6.0 and `abstractgateway-console` 0.9.0.
|
|
51
|
+
- Container images are unchanged: `ghcr.io/lpalbou/abstractgateway:0.5.1` and
|
|
52
|
+
`ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
53
|
+
|
|
7
54
|
## [0.4.1] - 2026-09-26
|
|
8
55
|
|
|
9
56
|
A patch release for local MLX models and long-running flows.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
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
|
|
@@ -24,10 +24,10 @@ Requires-Python: >=3.10
|
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE
|
|
26
26
|
Requires-Dist: abstractgateway==0.5.1
|
|
27
|
-
Requires-Dist: abstractassistant==0.
|
|
27
|
+
Requires-Dist: abstractassistant==0.7.0
|
|
28
28
|
Requires-Dist: abstractcore==2.16.1
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.5.1
|
|
30
|
-
Requires-Dist: abstractagent==0.3.
|
|
30
|
+
Requires-Dist: abstractagent==0.3.16
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
32
32
|
Requires-Dist: AbstractMemory==0.3.0
|
|
33
33
|
Requires-Dist: abstractsemantics==0.0.5
|
|
@@ -36,10 +36,10 @@ Requires-Dist: abstractvision==0.3.29
|
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.15
|
|
37
37
|
Provides-Extra: apple
|
|
38
38
|
Requires-Dist: abstractgateway[apple]==0.5.1; extra == "apple"
|
|
39
|
-
Requires-Dist: abstractassistant[apple]==0.
|
|
39
|
+
Requires-Dist: abstractassistant[apple]==0.7.0; platform_system == "Darwin" and extra == "apple"
|
|
40
40
|
Provides-Extra: gpu
|
|
41
41
|
Requires-Dist: abstractgateway[gpu]==0.5.1; extra == "gpu"
|
|
42
|
-
Requires-Dist: abstractassistant[gpu]==0.
|
|
42
|
+
Requires-Dist: abstractassistant[gpu]==0.7.0; extra == "gpu"
|
|
43
43
|
Dynamic: license-file
|
|
44
44
|
|
|
45
45
|
# AbstractFramework
|
|
@@ -336,7 +336,7 @@ pip install "abstractframework[gpu]"
|
|
|
336
336
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
337
337
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
338
338
|
|
|
339
|
-
### Release matrix (abstractframework 0.4.
|
|
339
|
+
### Release matrix (abstractframework 0.4.2)
|
|
340
340
|
|
|
341
341
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
342
342
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -346,10 +346,10 @@ and tested together.
|
|
|
346
346
|
| Registry | Package | Version |
|
|
347
347
|
|---|---|---|
|
|
348
348
|
| PyPI | `abstractgateway` | 0.5.1 |
|
|
349
|
-
| PyPI | `abstractassistant` | 0.
|
|
349
|
+
| PyPI | `abstractassistant` | 0.7.0 |
|
|
350
350
|
| PyPI | `abstractcore` | 2.16.1 |
|
|
351
351
|
| PyPI | `AbstractRuntime` | 0.5.1 |
|
|
352
|
-
| PyPI | `abstractagent` | 0.3.
|
|
352
|
+
| PyPI | `abstractagent` | 0.3.16 |
|
|
353
353
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
354
354
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
355
355
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
@@ -292,7 +292,7 @@ pip install "abstractframework[gpu]"
|
|
|
292
292
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
293
293
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
294
294
|
|
|
295
|
-
### Release matrix (abstractframework 0.4.
|
|
295
|
+
### Release matrix (abstractframework 0.4.2)
|
|
296
296
|
|
|
297
297
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
298
298
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -302,10 +302,10 @@ and tested together.
|
|
|
302
302
|
| Registry | Package | Version |
|
|
303
303
|
|---|---|---|
|
|
304
304
|
| PyPI | `abstractgateway` | 0.5.1 |
|
|
305
|
-
| PyPI | `abstractassistant` | 0.
|
|
305
|
+
| PyPI | `abstractassistant` | 0.7.0 |
|
|
306
306
|
| PyPI | `abstractcore` | 2.16.1 |
|
|
307
307
|
| PyPI | `AbstractRuntime` | 0.5.1 |
|
|
308
|
-
| PyPI | `abstractagent` | 0.3.
|
|
308
|
+
| PyPI | `abstractagent` | 0.3.16 |
|
|
309
309
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
310
310
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
311
311
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
@@ -10,14 +10,14 @@ Most implementation functionality still lives in component projects.
|
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
__version__ = "0.4.
|
|
13
|
+
__version__ = "0.4.2"
|
|
14
14
|
__author__ = "Laurent-Philippe Albou"
|
|
15
15
|
__license__ = "MIT"
|
|
16
16
|
|
|
17
17
|
RELEASE_VERSIONS: dict[str, str] = {
|
|
18
18
|
"abstractcore": "2.16.1",
|
|
19
19
|
"abstractruntime": "0.5.1",
|
|
20
|
-
"abstractagent": "0.3.
|
|
20
|
+
"abstractagent": "0.3.16",
|
|
21
21
|
"abstractgateway": "0.5.1",
|
|
22
22
|
"abstractskill": "0.3.0",
|
|
23
23
|
"abstractmemory": "0.3.0",
|
|
@@ -25,7 +25,7 @@ RELEASE_VERSIONS: dict[str, str] = {
|
|
|
25
25
|
"abstractvoice": "0.11.4",
|
|
26
26
|
"abstractvision": "0.3.29",
|
|
27
27
|
"abstractmusic": "0.1.15",
|
|
28
|
-
"abstractassistant": "0.
|
|
28
|
+
"abstractassistant": "0.7.0",
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
PACKAGE_DISTRIBUTIONS: dict[str, str] = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.2
|
|
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
|
|
@@ -24,10 +24,10 @@ Requires-Python: >=3.10
|
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE
|
|
26
26
|
Requires-Dist: abstractgateway==0.5.1
|
|
27
|
-
Requires-Dist: abstractassistant==0.
|
|
27
|
+
Requires-Dist: abstractassistant==0.7.0
|
|
28
28
|
Requires-Dist: abstractcore==2.16.1
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.5.1
|
|
30
|
-
Requires-Dist: abstractagent==0.3.
|
|
30
|
+
Requires-Dist: abstractagent==0.3.16
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
32
32
|
Requires-Dist: AbstractMemory==0.3.0
|
|
33
33
|
Requires-Dist: abstractsemantics==0.0.5
|
|
@@ -36,10 +36,10 @@ Requires-Dist: abstractvision==0.3.29
|
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.15
|
|
37
37
|
Provides-Extra: apple
|
|
38
38
|
Requires-Dist: abstractgateway[apple]==0.5.1; extra == "apple"
|
|
39
|
-
Requires-Dist: abstractassistant[apple]==0.
|
|
39
|
+
Requires-Dist: abstractassistant[apple]==0.7.0; platform_system == "Darwin" and extra == "apple"
|
|
40
40
|
Provides-Extra: gpu
|
|
41
41
|
Requires-Dist: abstractgateway[gpu]==0.5.1; extra == "gpu"
|
|
42
|
-
Requires-Dist: abstractassistant[gpu]==0.
|
|
42
|
+
Requires-Dist: abstractassistant[gpu]==0.7.0; extra == "gpu"
|
|
43
43
|
Dynamic: license-file
|
|
44
44
|
|
|
45
45
|
# AbstractFramework
|
|
@@ -336,7 +336,7 @@ pip install "abstractframework[gpu]"
|
|
|
336
336
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
337
337
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
338
338
|
|
|
339
|
-
### Release matrix (abstractframework 0.4.
|
|
339
|
+
### Release matrix (abstractframework 0.4.2)
|
|
340
340
|
|
|
341
341
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
342
342
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -346,10 +346,10 @@ and tested together.
|
|
|
346
346
|
| Registry | Package | Version |
|
|
347
347
|
|---|---|---|
|
|
348
348
|
| PyPI | `abstractgateway` | 0.5.1 |
|
|
349
|
-
| PyPI | `abstractassistant` | 0.
|
|
349
|
+
| PyPI | `abstractassistant` | 0.7.0 |
|
|
350
350
|
| PyPI | `abstractcore` | 2.16.1 |
|
|
351
351
|
| PyPI | `AbstractRuntime` | 0.5.1 |
|
|
352
|
-
| PyPI | `abstractagent` | 0.3.
|
|
352
|
+
| PyPI | `abstractagent` | 0.3.16 |
|
|
353
353
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
354
354
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
355
355
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
abstractgateway==0.5.1
|
|
2
|
-
abstractassistant==0.
|
|
2
|
+
abstractassistant==0.7.0
|
|
3
3
|
abstractcore==2.16.1
|
|
4
4
|
AbstractRuntime==0.5.1
|
|
5
|
-
abstractagent==0.3.
|
|
5
|
+
abstractagent==0.3.16
|
|
6
6
|
abstractskill==0.3.0
|
|
7
7
|
AbstractMemory==0.3.0
|
|
8
8
|
abstractsemantics==0.0.5
|
|
@@ -14,8 +14,8 @@ abstractmusic==0.1.15
|
|
|
14
14
|
abstractgateway[apple]==0.5.1
|
|
15
15
|
|
|
16
16
|
[apple:platform_system == "Darwin"]
|
|
17
|
-
abstractassistant[apple]==0.
|
|
17
|
+
abstractassistant[apple]==0.7.0
|
|
18
18
|
|
|
19
19
|
[gpu]
|
|
20
20
|
abstractgateway[gpu]==0.5.1
|
|
21
|
-
abstractassistant[gpu]==0.
|
|
21
|
+
abstractassistant[gpu]==0.7.0
|
|
@@ -55,14 +55,14 @@ The response type returned by `llm.generate(...)`.
|
|
|
55
55
|
|
|
56
56
|
### `__version__`
|
|
57
57
|
|
|
58
|
-
The meta-package version (`0.4.
|
|
58
|
+
The meta-package version (`0.4.2` 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.4.
|
|
63
|
-
`abstractcore` 2.16.1, `abstractruntime` 0.5.1, `abstractagent` 0.3.
|
|
62
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.4.2:
|
|
63
|
+
`abstractcore` 2.16.1, `abstractruntime` 0.5.1, `abstractagent` 0.3.16, `abstractgateway` 0.5.1,
|
|
64
64
|
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.11.4, `abstractvision` 0.3.29,
|
|
65
|
-
`abstractmusic` 0.1.15, `abstractassistant` 0.
|
|
65
|
+
`abstractmusic` 0.1.15, `abstractassistant` 0.7.0.
|
|
66
66
|
|
|
67
67
|
### `PACKAGE_DISTRIBUTIONS`
|
|
68
68
|
|
|
@@ -104,15 +104,41 @@ curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scri
|
|
|
104
104
|
|
|
105
105
|
It asks before removing anything, then asks two more questions, both defaulting to no:
|
|
106
106
|
|
|
107
|
-
- **Also delete your AbstractFramework data
|
|
108
|
-
|
|
107
|
+
- **Also delete your AbstractFramework data**? This cannot be undone. It deletes:
|
|
108
|
+
|
|
109
|
+
| What | macOS | Linux |
|
|
110
|
+
|---|---|---|
|
|
111
|
+
| Gateway data: settings, users, chats, run history, artifacts, memory, the tray's preferences | `~/Library/Application Support/AbstractGateway` | `~/.local/share/abstractgateway` |
|
|
112
|
+
| The login item's logs | `~/Library/Logs/AbstractGateway` | (in the data dir) |
|
|
113
|
+
| The gateway's download cache (engine installers) | `~/Library/Caches/AbstractGateway` | `~/.cache/abstractgateway` |
|
|
114
|
+
| The Assistant's sessions, snapshots and preferences | `~/.abstractassistant`, `~/Library/Logs/Assistant/abstractassistant-*` | `~/.abstractassistant` |
|
|
115
|
+
| AbstractCode's login and preferences | `~/.abstractcode`, `~/.abstractcode-tui` | same |
|
|
116
|
+
|
|
117
|
+
It keeps model weights and shared caches: `~/.cache/huggingface`, `~/.abstractcore` (its
|
|
118
|
+
config and its downloaded models), `~/.abstractframework`, `~/.cache/abstractvoice`, and the
|
|
119
|
+
models of LM Studio and Ollama. Delete those by hand if you want them gone.
|
|
109
120
|
- **Also remove uv, its Python and its download cache** (about 2.5 GB)? Asked only when the
|
|
110
121
|
installer is what added uv; answer no if you use uv for anything else.
|
|
111
122
|
|
|
112
|
-
It always removes the login item, stops AbstractFramework and removes the gateway
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
123
|
+
It always removes the login item, stops AbstractFramework and removes the gateway (and the
|
|
124
|
+
Assistant, which lives in the gateway's environment). Stopping means the whole gateway process
|
|
125
|
+
tree: after the login item is removed it waits up to 20 seconds for every gateway process to exit
|
|
126
|
+
(the server, the tray, an entity's own-time loop, model downloads, the apps it started), then
|
|
127
|
+
stops the rest, and says which processes it stopped. It keeps Ollama and LM Studio (they have
|
|
128
|
+
their own uninstallers) and the one PATH line uv added to your shell profile. Without questions:
|
|
129
|
+
`sh uninstall.sh --yes` (keeps data), add `--purge` to delete the data and `--remove-uv` to remove
|
|
130
|
+
uv; `--print` shows every command and changes nothing. Windows: `install.ps1 -Uninstall [-Purge]`.
|
|
131
|
+
|
|
132
|
+
**If a folder cannot be deleted**, the uninstaller stops with an error that names the folder,
|
|
133
|
+
lists what is left in it and the programs that hold files there. Quit those programs (or log
|
|
134
|
+
out and back in); on macOS, a file shown with the `uchg` flag is unlocked with
|
|
135
|
+
`chflags -R nouchg <folder>`. Then run the uninstaller again: it skips what is already gone.
|
|
136
|
+
Each deleted location is checked once more a second later; a program that starts writing there
|
|
137
|
+
again after that is not detected (an uninstaller cannot outwait a writer it does not know).
|
|
138
|
+
A `--data-dir` given by hand is purged only when it holds a gateway file (`bootstrap.env`,
|
|
139
|
+
`gateway.sqlite3`, `auth/users.json`, ...) or the note a previous, interrupted purge left in it
|
|
140
|
+
(`.abstractgateway-purge-incomplete`); the root, your home folder and any folder that
|
|
141
|
+
contains it are always refused (exit 2, nothing changed).
|
|
116
142
|
|
|
117
143
|
## Advanced: what the installer does
|
|
118
144
|
|
|
@@ -214,7 +240,7 @@ models (above), for Ollama, LM Studio or other endpoint engines, or for cloud pr
|
|
|
214
240
|
| `--print` | `-Print` (or `-WhatIf`) | Show the plan and every command; change nothing |
|
|
215
241
|
| `--print-versions` | `-PrintVersions` | Print the pinned gateway, npm app and crate versions, then exit |
|
|
216
242
|
| `-v`, `--verbose` | — | Show the full output of every command |
|
|
217
|
-
| `--uninstall [--purge] [--remove-uv]` | `-Uninstall [-Purge]` |
|
|
243
|
+
| `--uninstall [--purge] [--remove-uv]` | `-Uninstall [-Purge]` | Stop the gateway process tree, remove the service and uv tools (purge also deletes your data: see [Remove AbstractFramework](#remove-abstractframework); `--remove-uv` also removes uv, its Python and cache when the installer added uv) |
|
|
218
244
|
|
|
219
245
|
Pass options through the one-liner like this:
|
|
220
246
|
|
|
@@ -338,8 +364,8 @@ A plain `pip install` of the `apple` or `gpu` profile builds the
|
|
|
338
364
|
`aec-audio-processing`) from source, so it needs a C/C++ compiler. The one-line install above
|
|
339
365
|
does not.
|
|
340
366
|
|
|
341
|
-
`abstractframework` 0.4.
|
|
342
|
-
`abstractcore==2.16.1`, `AbstractRuntime==0.5.1`, `abstractagent==0.3.
|
|
367
|
+
`abstractframework` 0.4.2 pins `abstractgateway==0.5.1`, `abstractassistant==0.7.0`,
|
|
368
|
+
`abstractcore==2.16.1`, `AbstractRuntime==0.5.1`, `abstractagent==0.3.16`, `abstractskill==0.3.0`,
|
|
343
369
|
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.11.4`,
|
|
344
370
|
`abstractvision==0.3.29` and `abstractmusic==0.1.15`. The `apple` and `gpu` extras select
|
|
345
371
|
`abstractgateway[apple|gpu]` and `abstractassistant[apple|gpu]` at the same versions
|
|
@@ -423,7 +449,7 @@ Then run `abstractframework doctor`.
|
|
|
423
449
|
The browser apps and the Rust terminal tools are not Python packages, so no profile installs them.
|
|
424
450
|
Run or install them next to the Python stack:
|
|
425
451
|
|
|
426
|
-
| Tool | Command | Version released with 0.4.
|
|
452
|
+
| Tool | Command | Version released with 0.4.2 |
|
|
427
453
|
|---|---|---|
|
|
428
454
|
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.5.1 |
|
|
429
455
|
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.16.1 |
|
|
@@ -296,7 +296,7 @@ pip install "abstractframework[gpu]"
|
|
|
296
296
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
297
297
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
298
298
|
|
|
299
|
-
### Release matrix (abstractframework 0.4.
|
|
299
|
+
### Release matrix (abstractframework 0.4.2)
|
|
300
300
|
|
|
301
301
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
302
302
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -306,10 +306,10 @@ and tested together.
|
|
|
306
306
|
| Registry | Package | Version |
|
|
307
307
|
|---|---|---|
|
|
308
308
|
| PyPI | `abstractgateway` | 0.5.1 |
|
|
309
|
-
| PyPI | `abstractassistant` | 0.
|
|
309
|
+
| PyPI | `abstractassistant` | 0.7.0 |
|
|
310
310
|
| PyPI | `abstractcore` | 2.16.1 |
|
|
311
311
|
| PyPI | `AbstractRuntime` | 0.5.1 |
|
|
312
|
-
| PyPI | `abstractagent` | 0.3.
|
|
312
|
+
| PyPI | `abstractagent` | 0.3.16 |
|
|
313
313
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
314
314
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
315
315
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
@@ -545,7 +545,7 @@ Notes for LLMs working in this repo:
|
|
|
545
545
|
- [abstractframework/__init__.py](abstractframework/__init__.py): `RELEASE_VERSIONS`, `NPM_RELEASE_VERSIONS`, `get_release_profile()`, `print_status()`.
|
|
546
546
|
- [docs/installers/install-manifest.json](docs/installers/install-manifest.json): Generated install manifest, schema v2 (pins, profiles, npm apps, `bootstrap` gateway pin/scripts/flags, console-first `post_install`).
|
|
547
547
|
- [scripts/install.sh](scripts/install.sh) / [scripts/install.ps1](scripts/install.ps1): The bootstrap installers.
|
|
548
|
-
- abstractframework 0.4.
|
|
548
|
+
- abstractframework 0.4.2 pins (PyPI, `==`): abstractgateway 0.5.1, abstractassistant 0.7.0, abstractcore 2.16.1, AbstractRuntime 0.5.1, abstractagent 0.3.16, abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29, abstractmusic 0.1.15.
|
|
549
549
|
- Released with it: npm `@abstractframework/flow` 0.3.21, `code` 0.5.0, `observer` 0.1.13, `continuum` 0.3.2, `entity` 0.2.2 (run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.9.0, `abstractcore-console` 0.2.0, `abstractcode` 0.6.0, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.5.1`, `ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
550
550
|
- Profiles: light (remote-only), apple (`abstractframework[apple]`, macOS 14+ Apple Silicon), gpu (`abstractframework[gpu]`); Python 3.10-3.13 (F5-TTS voice cloning in apple/gpu needs 3.11+).
|
|
551
551
|
|
|
@@ -574,7 +574,7 @@ build-backend = "setuptools.build_meta"
|
|
|
574
574
|
|
|
575
575
|
[project]
|
|
576
576
|
name = "abstractframework"
|
|
577
|
-
version = "0.4.
|
|
577
|
+
version = "0.4.2"
|
|
578
578
|
description = "Unified installer and documentation hub for the AbstractFramework ecosystem"
|
|
579
579
|
readme = "README.md"
|
|
580
580
|
license = {text = "MIT"}
|
|
@@ -621,12 +621,12 @@ dependencies = [
|
|
|
621
621
|
"abstractgateway==0.5.1",
|
|
622
622
|
|
|
623
623
|
# Workflow authoring UI is distributed through npm as @abstractframework/flow.
|
|
624
|
-
"abstractassistant==0.
|
|
624
|
+
"abstractassistant==0.7.0",
|
|
625
625
|
|
|
626
626
|
# Pin the core Python stack for release determinism (also pulled transitively).
|
|
627
627
|
"abstractcore==2.16.1",
|
|
628
628
|
"AbstractRuntime==0.5.1",
|
|
629
|
-
"abstractagent==0.3.
|
|
629
|
+
"abstractagent==0.3.16",
|
|
630
630
|
"abstractskill==0.3.0",
|
|
631
631
|
"AbstractMemory==0.3.0",
|
|
632
632
|
"abstractsemantics==0.0.5",
|
|
@@ -652,12 +652,12 @@ dependencies = [
|
|
|
652
652
|
# then adds user-facing apps.
|
|
653
653
|
apple = [
|
|
654
654
|
"abstractgateway[apple]==0.5.1",
|
|
655
|
-
"abstractassistant[apple]==0.
|
|
655
|
+
"abstractassistant[apple]==0.7.0; platform_system == \"Darwin\"",
|
|
656
656
|
]
|
|
657
657
|
|
|
658
658
|
gpu = [
|
|
659
659
|
"abstractgateway[gpu]==0.5.1",
|
|
660
|
-
"abstractassistant[gpu]==0.
|
|
660
|
+
"abstractassistant[gpu]==0.7.0",
|
|
661
661
|
]
|
|
662
662
|
|
|
663
663
|
[project.urls]
|
|
@@ -707,14 +707,14 @@ Most implementation functionality still lives in component projects.
|
|
|
707
707
|
|
|
708
708
|
from __future__ import annotations
|
|
709
709
|
|
|
710
|
-
__version__ = "0.4.
|
|
710
|
+
__version__ = "0.4.2"
|
|
711
711
|
__author__ = "Laurent-Philippe Albou"
|
|
712
712
|
__license__ = "MIT"
|
|
713
713
|
|
|
714
714
|
RELEASE_VERSIONS: dict[str, str] = {
|
|
715
715
|
"abstractcore": "2.16.1",
|
|
716
716
|
"abstractruntime": "0.5.1",
|
|
717
|
-
"abstractagent": "0.3.
|
|
717
|
+
"abstractagent": "0.3.16",
|
|
718
718
|
"abstractgateway": "0.5.1",
|
|
719
719
|
"abstractskill": "0.3.0",
|
|
720
720
|
"abstractmemory": "0.3.0",
|
|
@@ -722,7 +722,7 @@ RELEASE_VERSIONS: dict[str, str] = {
|
|
|
722
722
|
"abstractvoice": "0.11.4",
|
|
723
723
|
"abstractvision": "0.3.29",
|
|
724
724
|
"abstractmusic": "0.1.15",
|
|
725
|
-
"abstractassistant": "0.
|
|
725
|
+
"abstractassistant": "0.7.0",
|
|
726
726
|
}
|
|
727
727
|
|
|
728
728
|
PACKAGE_DISTRIBUTIONS: dict[str, str] = {
|
|
@@ -2741,15 +2741,41 @@ curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scri
|
|
|
2741
2741
|
|
|
2742
2742
|
It asks before removing anything, then asks two more questions, both defaulting to no:
|
|
2743
2743
|
|
|
2744
|
-
- **Also delete your AbstractFramework data
|
|
2745
|
-
|
|
2744
|
+
- **Also delete your AbstractFramework data**? This cannot be undone. It deletes:
|
|
2745
|
+
|
|
2746
|
+
| What | macOS | Linux |
|
|
2747
|
+
|---|---|---|
|
|
2748
|
+
| Gateway data: settings, users, chats, run history, artifacts, memory, the tray's preferences | `~/Library/Application Support/AbstractGateway` | `~/.local/share/abstractgateway` |
|
|
2749
|
+
| The login item's logs | `~/Library/Logs/AbstractGateway` | (in the data dir) |
|
|
2750
|
+
| The gateway's download cache (engine installers) | `~/Library/Caches/AbstractGateway` | `~/.cache/abstractgateway` |
|
|
2751
|
+
| The Assistant's sessions, snapshots and preferences | `~/.abstractassistant`, `~/Library/Logs/Assistant/abstractassistant-*` | `~/.abstractassistant` |
|
|
2752
|
+
| AbstractCode's login and preferences | `~/.abstractcode`, `~/.abstractcode-tui` | same |
|
|
2753
|
+
|
|
2754
|
+
It keeps model weights and shared caches: `~/.cache/huggingface`, `~/.abstractcore` (its
|
|
2755
|
+
config and its downloaded models), `~/.abstractframework`, `~/.cache/abstractvoice`, and the
|
|
2756
|
+
models of LM Studio and Ollama. Delete those by hand if you want them gone.
|
|
2746
2757
|
- **Also remove uv, its Python and its download cache** (about 2.5 GB)? Asked only when the
|
|
2747
2758
|
installer is what added uv; answer no if you use uv for anything else.
|
|
2748
2759
|
|
|
2749
|
-
It always removes the login item, stops AbstractFramework and removes the gateway
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2760
|
+
It always removes the login item, stops AbstractFramework and removes the gateway (and the
|
|
2761
|
+
Assistant, which lives in the gateway's environment). Stopping means the whole gateway process
|
|
2762
|
+
tree: after the login item is removed it waits up to 20 seconds for every gateway process to exit
|
|
2763
|
+
(the server, the tray, an entity's own-time loop, model downloads, the apps it started), then
|
|
2764
|
+
stops the rest, and says which processes it stopped. It keeps Ollama and LM Studio (they have
|
|
2765
|
+
their own uninstallers) and the one PATH line uv added to your shell profile. Without questions:
|
|
2766
|
+
`sh uninstall.sh --yes` (keeps data), add `--purge` to delete the data and `--remove-uv` to remove
|
|
2767
|
+
uv; `--print` shows every command and changes nothing. Windows: `install.ps1 -Uninstall [-Purge]`.
|
|
2768
|
+
|
|
2769
|
+
**If a folder cannot be deleted**, the uninstaller stops with an error that names the folder,
|
|
2770
|
+
lists what is left in it and the programs that hold files there. Quit those programs (or log
|
|
2771
|
+
out and back in); on macOS, a file shown with the `uchg` flag is unlocked with
|
|
2772
|
+
`chflags -R nouchg <folder>`. Then run the uninstaller again: it skips what is already gone.
|
|
2773
|
+
Each deleted location is checked once more a second later; a program that starts writing there
|
|
2774
|
+
again after that is not detected (an uninstaller cannot outwait a writer it does not know).
|
|
2775
|
+
A `--data-dir` given by hand is purged only when it holds a gateway file (`bootstrap.env`,
|
|
2776
|
+
`gateway.sqlite3`, `auth/users.json`, ...) or the note a previous, interrupted purge left in it
|
|
2777
|
+
(`.abstractgateway-purge-incomplete`); the root, your home folder and any folder that
|
|
2778
|
+
contains it are always refused (exit 2, nothing changed).
|
|
2753
2779
|
|
|
2754
2780
|
## Advanced: what the installer does
|
|
2755
2781
|
|
|
@@ -2851,7 +2877,7 @@ models (above), for Ollama, LM Studio or other endpoint engines, or for cloud pr
|
|
|
2851
2877
|
| `--print` | `-Print` (or `-WhatIf`) | Show the plan and every command; change nothing |
|
|
2852
2878
|
| `--print-versions` | `-PrintVersions` | Print the pinned gateway, npm app and crate versions, then exit |
|
|
2853
2879
|
| `-v`, `--verbose` | — | Show the full output of every command |
|
|
2854
|
-
| `--uninstall [--purge] [--remove-uv]` | `-Uninstall [-Purge]` |
|
|
2880
|
+
| `--uninstall [--purge] [--remove-uv]` | `-Uninstall [-Purge]` | Stop the gateway process tree, remove the service and uv tools (purge also deletes your data: see [Remove AbstractFramework](#remove-abstractframework); `--remove-uv` also removes uv, its Python and cache when the installer added uv) |
|
|
2855
2881
|
|
|
2856
2882
|
Pass options through the one-liner like this:
|
|
2857
2883
|
|
|
@@ -2975,8 +3001,8 @@ A plain `pip install` of the `apple` or `gpu` profile builds the
|
|
|
2975
3001
|
`aec-audio-processing`) from source, so it needs a C/C++ compiler. The one-line install above
|
|
2976
3002
|
does not.
|
|
2977
3003
|
|
|
2978
|
-
`abstractframework` 0.4.
|
|
2979
|
-
`abstractcore==2.16.1`, `AbstractRuntime==0.5.1`, `abstractagent==0.3.
|
|
3004
|
+
`abstractframework` 0.4.2 pins `abstractgateway==0.5.1`, `abstractassistant==0.7.0`,
|
|
3005
|
+
`abstractcore==2.16.1`, `AbstractRuntime==0.5.1`, `abstractagent==0.3.16`, `abstractskill==0.3.0`,
|
|
2980
3006
|
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.11.4`,
|
|
2981
3007
|
`abstractvision==0.3.29` and `abstractmusic==0.1.15`. The `apple` and `gpu` extras select
|
|
2982
3008
|
`abstractgateway[apple|gpu]` and `abstractassistant[apple|gpu]` at the same versions
|
|
@@ -3060,7 +3086,7 @@ Then run `abstractframework doctor`.
|
|
|
3060
3086
|
The browser apps and the Rust terminal tools are not Python packages, so no profile installs them.
|
|
3061
3087
|
Run or install them next to the Python stack:
|
|
3062
3088
|
|
|
3063
|
-
| Tool | Command | Version released with 0.4.
|
|
3089
|
+
| Tool | Command | Version released with 0.4.2 |
|
|
3064
3090
|
|---|---|---|
|
|
3065
3091
|
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.5.1 |
|
|
3066
3092
|
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.16.1 |
|
|
@@ -4758,14 +4784,14 @@ The response type returned by `llm.generate(...)`.
|
|
|
4758
4784
|
|
|
4759
4785
|
### `__version__`
|
|
4760
4786
|
|
|
4761
|
-
The meta-package version (`0.4.
|
|
4787
|
+
The meta-package version (`0.4.2` for this release).
|
|
4762
4788
|
|
|
4763
4789
|
### `RELEASE_VERSIONS`
|
|
4764
4790
|
|
|
4765
|
-
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.4.
|
|
4766
|
-
`abstractcore` 2.16.1, `abstractruntime` 0.5.1, `abstractagent` 0.3.
|
|
4791
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.4.2:
|
|
4792
|
+
`abstractcore` 2.16.1, `abstractruntime` 0.5.1, `abstractagent` 0.3.16, `abstractgateway` 0.5.1,
|
|
4767
4793
|
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.11.4, `abstractvision` 0.3.29,
|
|
4768
|
-
`abstractmusic` 0.1.15, `abstractassistant` 0.
|
|
4794
|
+
`abstractmusic` 0.1.15, `abstractassistant` 0.7.0.
|
|
4769
4795
|
|
|
4770
4796
|
### `PACKAGE_DISTRIBUTIONS`
|
|
4771
4797
|
|
|
@@ -153,7 +153,7 @@ Notes for LLMs working in this repo:
|
|
|
153
153
|
- [abstractframework/__init__.py](abstractframework/__init__.py): `RELEASE_VERSIONS`, `NPM_RELEASE_VERSIONS`, `get_release_profile()`, `print_status()`.
|
|
154
154
|
- [docs/installers/install-manifest.json](docs/installers/install-manifest.json): Generated install manifest, schema v2 (pins, profiles, npm apps, `bootstrap` gateway pin/scripts/flags, console-first `post_install`).
|
|
155
155
|
- [scripts/install.sh](scripts/install.sh) / [scripts/install.ps1](scripts/install.ps1): The bootstrap installers.
|
|
156
|
-
- abstractframework 0.4.
|
|
156
|
+
- abstractframework 0.4.2 pins (PyPI, `==`): abstractgateway 0.5.1, abstractassistant 0.7.0, abstractcore 2.16.1, AbstractRuntime 0.5.1, abstractagent 0.3.16, abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29, abstractmusic 0.1.15.
|
|
157
157
|
- Released with it: npm `@abstractframework/flow` 0.3.21, `code` 0.5.0, `observer` 0.1.13, `continuum` 0.3.2, `entity` 0.2.2 (run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.9.0, `abstractcore-console` 0.2.0, `abstractcode` 0.6.0, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.5.1`, `ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
158
158
|
- Profiles: light (remote-only), apple (`abstractframework[apple]`, macOS 14+ Apple Silicon), gpu (`abstractframework[gpu]`); Python 3.10-3.13 (F5-TTS voice cloning in apple/gpu needs 3.11+).
|
|
159
159
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "abstractframework"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.2"
|
|
8
8
|
description = "Unified installer and documentation hub for the AbstractFramework ecosystem"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -51,12 +51,12 @@ dependencies = [
|
|
|
51
51
|
"abstractgateway==0.5.1",
|
|
52
52
|
|
|
53
53
|
# Workflow authoring UI is distributed through npm as @abstractframework/flow.
|
|
54
|
-
"abstractassistant==0.
|
|
54
|
+
"abstractassistant==0.7.0",
|
|
55
55
|
|
|
56
56
|
# Pin the core Python stack for release determinism (also pulled transitively).
|
|
57
57
|
"abstractcore==2.16.1",
|
|
58
58
|
"AbstractRuntime==0.5.1",
|
|
59
|
-
"abstractagent==0.3.
|
|
59
|
+
"abstractagent==0.3.16",
|
|
60
60
|
"abstractskill==0.3.0",
|
|
61
61
|
"AbstractMemory==0.3.0",
|
|
62
62
|
"abstractsemantics==0.0.5",
|
|
@@ -82,12 +82,12 @@ dependencies = [
|
|
|
82
82
|
# then adds user-facing apps.
|
|
83
83
|
apple = [
|
|
84
84
|
"abstractgateway[apple]==0.5.1",
|
|
85
|
-
"abstractassistant[apple]==0.
|
|
85
|
+
"abstractassistant[apple]==0.7.0; platform_system == \"Darwin\"",
|
|
86
86
|
]
|
|
87
87
|
|
|
88
88
|
gpu = [
|
|
89
89
|
"abstractgateway[gpu]==0.5.1",
|
|
90
|
-
"abstractassistant[gpu]==0.
|
|
90
|
+
"abstractassistant[gpu]==0.7.0",
|
|
91
91
|
]
|
|
92
92
|
|
|
93
93
|
[project.urls]
|