abstractframework 0.4.0__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.0 → abstractframework-0.4.2}/CHANGELOG.md +90 -1
- {abstractframework-0.4.0/abstractframework.egg-info → abstractframework-0.4.2}/PKG-INFO +19 -19
- {abstractframework-0.4.0 → abstractframework-0.4.2}/README.md +9 -9
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework/__init__.py +6 -6
- {abstractframework-0.4.0 → abstractframework-0.4.2/abstractframework.egg-info}/PKG-INFO +19 -19
- abstractframework-0.4.2/abstractframework.egg-info/requires.txt +21 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/api.md +4 -4
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/faq.md +1 -1
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/install.md +42 -16
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/implementation-plan.md +1 -1
- {abstractframework-0.4.0 → abstractframework-0.4.2}/llms-full.txt +75 -49
- {abstractframework-0.4.0 → abstractframework-0.4.2}/llms.txt +2 -2
- {abstractframework-0.4.0 → abstractframework-0.4.2}/pyproject.toml +10 -10
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/install.sh +382 -18
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/tests/test_install_user_path.sh +186 -1
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/uninstall.sh +10 -3
- abstractframework-0.4.0/abstractframework.egg-info/requires.txt +0 -21
- {abstractframework-0.4.0 → abstractframework-0.4.2}/LICENSE +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/MANIFEST.in +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework/__main__.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework/cli.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework/install_manifest.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework/py.typed +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework.egg-info/SOURCES.txt +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/agent-sessions.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/architecture.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/claude/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/comparisons/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/configuration.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/getting-started.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/glossary.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/components.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/strategy.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/installers/user-journeys.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/README.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/troubleshooting.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/af-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/af.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/assistant.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/build.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/check_identity_sync.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/clone.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/code-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/code.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/commit.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/console-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/console.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/deps.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/entity-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/entity.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/flow-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/flow.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/gateway.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/observer-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/observer.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/pull.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/push.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/start-local.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/start.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/status.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/steer_repl.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/setup.cfg +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/tests/test_install_profiles.py +0 -0
- {abstractframework-0.4.0 → abstractframework-0.4.2}/tests/test_llms_full.py +0 -0
|
@@ -4,6 +4,96 @@ 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
|
+
|
|
54
|
+
## [0.4.1] - 2026-09-26
|
|
55
|
+
|
|
56
|
+
A patch release for local MLX models and long-running flows.
|
|
57
|
+
|
|
58
|
+
### Changed (pins)
|
|
59
|
+
|
|
60
|
+
- **AbstractRuntime 0.5.1** (was 0.5.0): a wait is resumed at most once. A flow whose Agent or
|
|
61
|
+
subflow node waits on a child could run that child twice when the child finished exactly as the
|
|
62
|
+
runner ticked, doubling the run's time and tokens; a racing second resume is refused with a
|
|
63
|
+
typed `StaleResumeError`.
|
|
64
|
+
- **abstractcore 2.16.1** (was 2.16.0): MLX prompts are rendered by the model's own chat template
|
|
65
|
+
on every MLX lane (mlx-lm, native MTP, vision, JSON-constrained). Earlier turns keep their tool
|
|
66
|
+
calls, tool results are rendered as the template renders them, and the generation prompt opens
|
|
67
|
+
thinking when the template does; agent loops on Qwen3.x MLX builds with thinking on used to stop
|
|
68
|
+
at the third iteration with a one-sentence announcement and no tool call. A malformed tool-call
|
|
69
|
+
argument in the history never disables that renderer, and each response's metadata names the
|
|
70
|
+
renderer used. Prompt-cache artifacts rendered by the previous renderer are rebuilt, not reused.
|
|
71
|
+
- **abstractagent 0.3.15** (was 0.3.14): fixes a crash in 0.3.13 and 0.3.14 (CodeAct and MemAct
|
|
72
|
+
raised `NameError` when a delegated agent's profile set `thinking`). A reply that announces tool
|
|
73
|
+
use without calling a tool, or whose tool calls could not run, is re-prompted once with the
|
|
74
|
+
failed reply quoted, and ends with `stop_reason.code = "no_tool_call"` rather than being
|
|
75
|
+
published as the answer; the long-reply nudge is bounded to once per step.
|
|
76
|
+
- **abstractgateway 0.5.1** (was 0.5.0): requires the three packages above; when two runner paths
|
|
77
|
+
race to resume the same parent, the losing attempt is logged at debug level instead of as an
|
|
78
|
+
error.
|
|
79
|
+
- **abstractassistant 0.6.1** (was 0.6.0): the Settings window opens inside the screen; the
|
|
80
|
+
default screen edge gap is 12 px.
|
|
81
|
+
- The pins apply to the base install and to the `apple` / `gpu` extras
|
|
82
|
+
(`abstractgateway[apple|gpu]==0.5.1`, `abstractassistant[apple|gpu]==0.6.1`); the bootstrap
|
|
83
|
+
scripts install `abstractgateway[<profile>,tray]==0.5.1`. Unchanged: abstractskill 0.3.0,
|
|
84
|
+
AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29,
|
|
85
|
+
abstractmusic 0.1.15, the browser apps (flow 0.3.21, code 0.5.0, observer 0.1.13,
|
|
86
|
+
continuum 0.3.2, entity 0.2.2), `abstractcode` 0.6.0 and `abstractgateway-console` 0.9.0.
|
|
87
|
+
- Container images released with it: `ghcr.io/lpalbou/abstractgateway:0.5.1` (and `0.5.1-gpu`)
|
|
88
|
+
and `ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
89
|
+
|
|
90
|
+
### Changed
|
|
91
|
+
|
|
92
|
+
- The dev build (`scripts/build.sh`) installs the sibling kit packages an app takes from npm
|
|
93
|
+
(app-server, ui-kit, panel-chat, monitors) from local packs of the checkouts, so an app builds
|
|
94
|
+
locally even when its kit floor is ahead of the registry. The manifests and lockfiles are left
|
|
95
|
+
untouched.
|
|
96
|
+
|
|
7
97
|
## [0.4.0] - 2026-09-26
|
|
8
98
|
|
|
9
99
|
A feature release of the whole framework. The gateway picks the agent workflow for AbstractCode
|
|
@@ -14,7 +104,6 @@ whole gateway process. This release replaces the 0.3.3 matrix, which was prepare
|
|
|
14
104
|
published.
|
|
15
105
|
|
|
16
106
|
### Changed (pins)
|
|
17
|
-
- The dev build (`scripts/build.sh`) installs the sibling kit packages an app takes from npm (app-server, ui-kit, panel-chat, monitors) from local packs of the checkouts, so an app builds locally even when its kit floor is ahead of the registry. The manifests and lockfiles are left untouched.
|
|
18
107
|
|
|
19
108
|
- **abstractgateway 0.5.0** (was 0.4.3 on PyPI): the default agent workflow setting
|
|
20
109
|
(`agents.default_workflow`, used by AbstractCode and the Assistant, changeable in the console or
|
|
@@ -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
|
|
@@ -23,11 +23,11 @@ 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.5.
|
|
27
|
-
Requires-Dist: abstractassistant==0.
|
|
28
|
-
Requires-Dist: abstractcore==2.16.
|
|
29
|
-
Requires-Dist: AbstractRuntime==0.5.
|
|
30
|
-
Requires-Dist: abstractagent==0.3.
|
|
26
|
+
Requires-Dist: abstractgateway==0.5.1
|
|
27
|
+
Requires-Dist: abstractassistant==0.7.0
|
|
28
|
+
Requires-Dist: abstractcore==2.16.1
|
|
29
|
+
Requires-Dist: AbstractRuntime==0.5.1
|
|
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
|
|
@@ -35,11 +35,11 @@ Requires-Dist: abstractvoice==0.11.4
|
|
|
35
35
|
Requires-Dist: abstractvision==0.3.29
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.15
|
|
37
37
|
Provides-Extra: apple
|
|
38
|
-
Requires-Dist: abstractgateway[apple]==0.5.
|
|
39
|
-
Requires-Dist: abstractassistant[apple]==0.
|
|
38
|
+
Requires-Dist: abstractgateway[apple]==0.5.1; extra == "apple"
|
|
39
|
+
Requires-Dist: abstractassistant[apple]==0.7.0; platform_system == "Darwin" and extra == "apple"
|
|
40
40
|
Provides-Extra: gpu
|
|
41
|
-
Requires-Dist: abstractgateway[gpu]==0.5.
|
|
42
|
-
Requires-Dist: abstractassistant[gpu]==0.
|
|
41
|
+
Requires-Dist: abstractgateway[gpu]==0.5.1; extra == "gpu"
|
|
42
|
+
Requires-Dist: abstractassistant[gpu]==0.7.0; extra == "gpu"
|
|
43
43
|
Dynamic: license-file
|
|
44
44
|
|
|
45
45
|
# AbstractFramework
|
|
@@ -190,7 +190,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
|
|
|
190
190
|
```
|
|
191
191
|
|
|
192
192
|
Container images are published for the gateway and the AbstractCore server:
|
|
193
|
-
`ghcr.io/lpalbou/abstractgateway:0.5.
|
|
193
|
+
`ghcr.io/lpalbou/abstractgateway:0.5.1` and `ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
194
194
|
|
|
195
195
|
For artifact and runtime-resource investigation, see
|
|
196
196
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -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
|
|
@@ -345,11 +345,11 @@ and tested together.
|
|
|
345
345
|
|
|
346
346
|
| Registry | Package | Version |
|
|
347
347
|
|---|---|---|
|
|
348
|
-
| PyPI | `abstractgateway` | 0.5.
|
|
349
|
-
| PyPI | `abstractassistant` | 0.
|
|
350
|
-
| PyPI | `abstractcore` | 2.16.
|
|
351
|
-
| PyPI | `AbstractRuntime` | 0.5.
|
|
352
|
-
| PyPI | `abstractagent` | 0.3.
|
|
348
|
+
| PyPI | `abstractgateway` | 0.5.1 |
|
|
349
|
+
| PyPI | `abstractassistant` | 0.7.0 |
|
|
350
|
+
| PyPI | `abstractcore` | 2.16.1 |
|
|
351
|
+
| PyPI | `AbstractRuntime` | 0.5.1 |
|
|
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 |
|
|
@@ -365,8 +365,8 @@ and tested together.
|
|
|
365
365
|
| crates.io | `abstractgateway-console` | 0.9.0 |
|
|
366
366
|
| crates.io | `abstractcore-console` | 0.2.0 |
|
|
367
367
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
368
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.5.
|
|
369
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.16.
|
|
368
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.5.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
369
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.16.1 |
|
|
370
370
|
|
|
371
371
|
Optional add-ons that are not part of any profile install separately:
|
|
372
372
|
`pip install abstract3d` (0.3.1) and `pip install abstractcamera` (0.2.0). `abstractskill` (pinned above)
|
|
@@ -146,7 +146,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
|
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
Container images are published for the gateway and the AbstractCore server:
|
|
149
|
-
`ghcr.io/lpalbou/abstractgateway:0.5.
|
|
149
|
+
`ghcr.io/lpalbou/abstractgateway:0.5.1` and `ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
150
150
|
|
|
151
151
|
For artifact and runtime-resource investigation, see
|
|
152
152
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -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
|
|
@@ -301,11 +301,11 @@ and tested together.
|
|
|
301
301
|
|
|
302
302
|
| Registry | Package | Version |
|
|
303
303
|
|---|---|---|
|
|
304
|
-
| PyPI | `abstractgateway` | 0.5.
|
|
305
|
-
| PyPI | `abstractassistant` | 0.
|
|
306
|
-
| PyPI | `abstractcore` | 2.16.
|
|
307
|
-
| PyPI | `AbstractRuntime` | 0.5.
|
|
308
|
-
| PyPI | `abstractagent` | 0.3.
|
|
304
|
+
| PyPI | `abstractgateway` | 0.5.1 |
|
|
305
|
+
| PyPI | `abstractassistant` | 0.7.0 |
|
|
306
|
+
| PyPI | `abstractcore` | 2.16.1 |
|
|
307
|
+
| PyPI | `AbstractRuntime` | 0.5.1 |
|
|
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 |
|
|
@@ -321,8 +321,8 @@ and tested together.
|
|
|
321
321
|
| crates.io | `abstractgateway-console` | 0.9.0 |
|
|
322
322
|
| crates.io | `abstractcore-console` | 0.2.0 |
|
|
323
323
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
324
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.5.
|
|
325
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.16.
|
|
324
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.5.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
325
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.16.1 |
|
|
326
326
|
|
|
327
327
|
Optional add-ons that are not part of any profile install separately:
|
|
328
328
|
`pip install abstract3d` (0.3.1) and `pip install abstractcamera` (0.2.0). `abstractskill` (pinned above)
|
|
@@ -10,22 +10,22 @@ 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
|
-
"abstractcore": "2.16.
|
|
19
|
-
"abstractruntime": "0.5.
|
|
20
|
-
"abstractagent": "0.3.
|
|
21
|
-
"abstractgateway": "0.5.
|
|
18
|
+
"abstractcore": "2.16.1",
|
|
19
|
+
"abstractruntime": "0.5.1",
|
|
20
|
+
"abstractagent": "0.3.16",
|
|
21
|
+
"abstractgateway": "0.5.1",
|
|
22
22
|
"abstractskill": "0.3.0",
|
|
23
23
|
"abstractmemory": "0.3.0",
|
|
24
24
|
"abstractsemantics": "0.0.5",
|
|
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
|
|
@@ -23,11 +23,11 @@ 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.5.
|
|
27
|
-
Requires-Dist: abstractassistant==0.
|
|
28
|
-
Requires-Dist: abstractcore==2.16.
|
|
29
|
-
Requires-Dist: AbstractRuntime==0.5.
|
|
30
|
-
Requires-Dist: abstractagent==0.3.
|
|
26
|
+
Requires-Dist: abstractgateway==0.5.1
|
|
27
|
+
Requires-Dist: abstractassistant==0.7.0
|
|
28
|
+
Requires-Dist: abstractcore==2.16.1
|
|
29
|
+
Requires-Dist: AbstractRuntime==0.5.1
|
|
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
|
|
@@ -35,11 +35,11 @@ Requires-Dist: abstractvoice==0.11.4
|
|
|
35
35
|
Requires-Dist: abstractvision==0.3.29
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.15
|
|
37
37
|
Provides-Extra: apple
|
|
38
|
-
Requires-Dist: abstractgateway[apple]==0.5.
|
|
39
|
-
Requires-Dist: abstractassistant[apple]==0.
|
|
38
|
+
Requires-Dist: abstractgateway[apple]==0.5.1; extra == "apple"
|
|
39
|
+
Requires-Dist: abstractassistant[apple]==0.7.0; platform_system == "Darwin" and extra == "apple"
|
|
40
40
|
Provides-Extra: gpu
|
|
41
|
-
Requires-Dist: abstractgateway[gpu]==0.5.
|
|
42
|
-
Requires-Dist: abstractassistant[gpu]==0.
|
|
41
|
+
Requires-Dist: abstractgateway[gpu]==0.5.1; extra == "gpu"
|
|
42
|
+
Requires-Dist: abstractassistant[gpu]==0.7.0; extra == "gpu"
|
|
43
43
|
Dynamic: license-file
|
|
44
44
|
|
|
45
45
|
# AbstractFramework
|
|
@@ -190,7 +190,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
|
|
|
190
190
|
```
|
|
191
191
|
|
|
192
192
|
Container images are published for the gateway and the AbstractCore server:
|
|
193
|
-
`ghcr.io/lpalbou/abstractgateway:0.5.
|
|
193
|
+
`ghcr.io/lpalbou/abstractgateway:0.5.1` and `ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
194
194
|
|
|
195
195
|
For artifact and runtime-resource investigation, see
|
|
196
196
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -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
|
|
@@ -345,11 +345,11 @@ and tested together.
|
|
|
345
345
|
|
|
346
346
|
| Registry | Package | Version |
|
|
347
347
|
|---|---|---|
|
|
348
|
-
| PyPI | `abstractgateway` | 0.5.
|
|
349
|
-
| PyPI | `abstractassistant` | 0.
|
|
350
|
-
| PyPI | `abstractcore` | 2.16.
|
|
351
|
-
| PyPI | `AbstractRuntime` | 0.5.
|
|
352
|
-
| PyPI | `abstractagent` | 0.3.
|
|
348
|
+
| PyPI | `abstractgateway` | 0.5.1 |
|
|
349
|
+
| PyPI | `abstractassistant` | 0.7.0 |
|
|
350
|
+
| PyPI | `abstractcore` | 2.16.1 |
|
|
351
|
+
| PyPI | `AbstractRuntime` | 0.5.1 |
|
|
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 |
|
|
@@ -365,8 +365,8 @@ and tested together.
|
|
|
365
365
|
| crates.io | `abstractgateway-console` | 0.9.0 |
|
|
366
366
|
| crates.io | `abstractcore-console` | 0.2.0 |
|
|
367
367
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
368
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.5.
|
|
369
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.16.
|
|
368
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.5.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
369
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.16.1 |
|
|
370
370
|
|
|
371
371
|
Optional add-ons that are not part of any profile install separately:
|
|
372
372
|
`pip install abstract3d` (0.3.1) and `pip install abstractcamera` (0.2.0). `abstractskill` (pinned above)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
abstractgateway==0.5.1
|
|
2
|
+
abstractassistant==0.7.0
|
|
3
|
+
abstractcore==2.16.1
|
|
4
|
+
AbstractRuntime==0.5.1
|
|
5
|
+
abstractagent==0.3.16
|
|
6
|
+
abstractskill==0.3.0
|
|
7
|
+
AbstractMemory==0.3.0
|
|
8
|
+
abstractsemantics==0.0.5
|
|
9
|
+
abstractvoice==0.11.4
|
|
10
|
+
abstractvision==0.3.29
|
|
11
|
+
abstractmusic==0.1.15
|
|
12
|
+
|
|
13
|
+
[apple]
|
|
14
|
+
abstractgateway[apple]==0.5.1
|
|
15
|
+
|
|
16
|
+
[apple:platform_system == "Darwin"]
|
|
17
|
+
abstractassistant[apple]==0.7.0
|
|
18
|
+
|
|
19
|
+
[gpu]
|
|
20
|
+
abstractgateway[gpu]==0.5.1
|
|
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.
|
|
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
|
|
|
@@ -34,7 +34,7 @@ No.
|
|
|
34
34
|
| Everything at compatible versions | `pip install abstractframework` |
|
|
35
35
|
| A browser app against an existing gateway | `npx @abstractframework/<flow\|code\|observer\|continuum\|entity>` |
|
|
36
36
|
| A terminal client | `cargo install abstractcode`, `cargo install abstractgateway-console` or `cargo install abstractcore-console` |
|
|
37
|
-
| A container deployment | `ghcr.io/lpalbou/abstractgateway:0.5.
|
|
37
|
+
| A container deployment | `ghcr.io/lpalbou/abstractgateway:0.5.1` |
|
|
38
38
|
|
|
39
39
|
See [Install AbstractFramework](install.md) for the Light / Apple / GPU chooser. Light is
|
|
40
40
|
remote-first, not reduced-functionality: multimodal and embeddings still work through remote or
|
|
@@ -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
|
|
|
@@ -126,7 +152,7 @@ The Mac package, the `.command` files and the one line all run the same script,
|
|
|
126
152
|
"no" is remembered).
|
|
127
153
|
3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
|
|
128
154
|
4. Installs the gateway as an isolated uv tool, pinned to this release:
|
|
129
|
-
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.5.
|
|
155
|
+
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.5.1"`, from prebuilt wheels
|
|
130
156
|
only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
|
|
131
157
|
(reinstalling it in place when it does not).
|
|
132
158
|
5. Optionally installs Node.js for the browser apps, terminal tools, Ollama or LM Studio (flags
|
|
@@ -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
|
|
|
@@ -231,7 +257,7 @@ curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scri
|
|
|
231
257
|
```bash
|
|
232
258
|
curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
|
|
233
259
|
uv python install 3.12
|
|
234
|
-
uv tool install --python 3.12 "abstractgateway[tray]==0.5.
|
|
260
|
+
uv tool install --python 3.12 "abstractgateway[tray]==0.5.1" # [apple,tray] or [gpu,tray] for local engines
|
|
235
261
|
# (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
|
|
236
262
|
uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
|
|
237
263
|
abstractgateway service install --port 8080 # or: abstractgateway serve
|
|
@@ -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.
|
|
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,10 +449,10 @@ 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
|
-
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.5.
|
|
429
|
-
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.16.
|
|
454
|
+
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.5.1 |
|
|
455
|
+
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.16.1 |
|
|
430
456
|
| Core terminal console | `cargo install abstractcore-console` (Rust 1.87+), then `abstractcore-console` (uses the `abstractcore` command) | 0.2.0 |
|
|
431
457
|
| Gateway terminal console | `cargo install abstractgateway-console` (Rust 1.87+), then `abstractgateway-console --url http://127.0.0.1:8080` | 0.9.0 |
|
|
432
458
|
| Flow Editor | `npx @abstractframework/flow` | 0.3.21 |
|
|
@@ -468,7 +494,7 @@ docker run \
|
|
|
468
494
|
-v "$PWD/runtime:/data" \
|
|
469
495
|
-e ABSTRACTGATEWAY_DATA_DIR=/data \
|
|
470
496
|
-e ABSTRACTGATEWAY_USER_AUTH=1 \
|
|
471
|
-
ghcr.io/lpalbou/abstractgateway:0.5.
|
|
497
|
+
ghcr.io/lpalbou/abstractgateway:0.5.1
|
|
472
498
|
```
|
|
473
499
|
|
|
474
500
|
This is the Light container: full framework capabilities through remote/endpoint inference, without
|
|
@@ -476,7 +502,7 @@ local MLX/CUDA stacks. On first start it creates `default/admin` and writes the
|
|
|
476
502
|
`runtime/auth/bootstrap-admin-token`. Use `ghcr.io/lpalbou/abstractgateway:gpu-latest` only on an
|
|
477
503
|
NVIDIA host when you explicitly want the local GPU profile (pinned tags are `<version>-gpu`, published on a best-effort basis; this image is
|
|
478
504
|
experimental). The AbstractCore OpenAI-compatible server is also published as
|
|
479
|
-
`ghcr.io/lpalbou/abstractcore-server:2.16.
|
|
505
|
+
`ghcr.io/lpalbou/abstractcore-server:2.16.1`.
|
|
480
506
|
|
|
481
507
|
## How installs are designed
|
|
482
508
|
|
|
@@ -19,7 +19,7 @@ comes next.
|
|
|
19
19
|
|
|
20
20
|
## Gateway features the scripts use
|
|
21
21
|
|
|
22
|
-
The pinned gateway (0.5.
|
|
22
|
+
The pinned gateway (0.5.1) provides all of them. The scripts still detect each one, so an older
|
|
23
23
|
gateway selected with `--pin` falls back as the last column says.
|
|
24
24
|
|
|
25
25
|
| Feature | Command | Without it (older `--pin`) |
|