abstractframework 0.8.0__tar.gz → 0.9.1__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.8.0 → abstractframework-0.9.1}/CHANGELOG.md +30 -0
- {abstractframework-0.8.0/abstractframework.egg-info → abstractframework-0.9.1}/PKG-INFO +22 -22
- {abstractframework-0.8.0 → abstractframework-0.9.1}/README.md +13 -13
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework/__init__.py +11 -11
- {abstractframework-0.8.0 → abstractframework-0.9.1/abstractframework.egg-info}/PKG-INFO +22 -22
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework.egg-info/SOURCES.txt +1 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework.egg-info/requires.txt +8 -8
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/api.md +8 -8
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/install.md +33 -16
- {abstractframework-0.8.0 → abstractframework-0.9.1}/llms-full.txt +75 -58
- {abstractframework-0.8.0 → abstractframework-0.9.1}/llms.txt +1 -1
- {abstractframework-0.8.0 → abstractframework-0.9.1}/pyproject.toml +9 -9
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/gateway-local.sh +1 -1
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/gateway.sh +1 -1
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/install.sh +117 -5
- abstractframework-0.9.1/tests/test_install_app_upgrade.py +174 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/LICENSE +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/MANIFEST.in +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework/__main__.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework/cli.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework/install_manifest.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework/py.typed +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/agent-sessions.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/architecture.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/automations.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/claude/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/comparisons/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/configuration.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/faq.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/getting-started.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/glossary.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/components.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/implementation-plan.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/strategy.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/installers/user-journeys.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/README.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/troubleshooting.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/af-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/af.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/assistant.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/build.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/check_identity_sync.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/clone.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/code-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/code.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/commit.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/console-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/console.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/deps.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/entity-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/entity.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/flow-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/flow.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/observer-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/observer.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/pull.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/push.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/start-local.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/start.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/status.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/steer_repl.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/tests/test_install_user_path.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/uninstall.sh +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/setup.cfg +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_install_index_lag.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_install_profiles.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_install_ps1_gpu_stack.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_install_ps1_own_gateway.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_install_sh_gpu_stack.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_install_sh_gpu_twin.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_llms_full.py +0 -0
- {abstractframework-0.8.0 → abstractframework-0.9.1}/tests/test_uv_tool_install_atomicity.py +0 -0
|
@@ -4,6 +4,36 @@ All notable changes to AbstractFramework will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
Nothing yet.
|
|
8
|
+
|
|
9
|
+
## [0.9.1] - 2026-10-02
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Pins abstractgateway 0.11.1: the gateway never caps an entity's output (the model works at its
|
|
14
|
+
full capacity; the `ABSTRACTGATEWAY_ENTITY_MAX_OUTPUT_TOKENS` variable is gone and the chat-open
|
|
15
|
+
`max_output_tokens` field is ignored with a deprecation line), and its boot applies the
|
|
16
|
+
installer's `apps-upgrade.pending`, and AbstractCode runs get `send_email` when Agent email tools
|
|
17
|
+
are on (the run input schema serves the effective tools default). Install matrices, the manifest, README and docs regenerated;
|
|
18
|
+
the docs' app and core console version tables now name the 0.9.0 releases (flow 0.7.0, code
|
|
19
|
+
0.10.0, observer 0.6.0, entity 0.6.0, abstractcore 2.23.0, abstractcore-console 0.7.0).
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- The installer upgrades the browser apps: on every install and upgrade (`install.sh`, `install.ps1`,
|
|
24
|
+
and the console's **Update**, which runs `--no-start`), each app the gateway has installed is
|
|
25
|
+
brought to the release's pinned version through `abstractgateway apps update <app> --version
|
|
26
|
+
<version>` (a running app restarts on the new bundle); `--print` lists the planned updates, the
|
|
27
|
+
summary lists each app's version, and a failed update is reported in red with exit status 1. With
|
|
28
|
+
no gateway running, the versions go to `<data dir>/apps-upgrade.pending` for the gateway's next
|
|
29
|
+
start. Before, an upgrade left the apps on their old versions (Code web 0.9.0 after 0.9.0).
|
|
30
|
+
|
|
31
|
+
## [0.9.0] - 2026-10-01
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- Pins abstractgateway 0.11.0 (accounts: users + entities in one table, archive instead of delete, entity mailboxes, self token rotation; recipient rules with Allowed/Denied lists; workflows ownership, availability and Open; Skills & MCP with tools of enabled servers offered to agent runs; Providers and Engines merged; the Sandbox on the kit chat; apps behind an https proxy; a health check that never blocks the event loop; the entity door without environment variables), abstractcore 2.23.0 (recipient rules, mailbox discovery, MCP client handshake, console Email tab), AbstractRuntime 0.8.3 (MCP facade), abstractassistant 0.12.0 (executable workflows only); npm apps flow 0.7.0, code 0.10.0, observer 0.6.0, entity 0.6.0 (responsive polish, shared WorkflowPicker, Code sidebar panels, Observer run view, Entity settings on the kit pickers); crate abstractgateway-console 0.14.0; install matrices and the manifest regenerated.
|
|
36
|
+
|
|
7
37
|
## [0.8.0] - 2026-10-01
|
|
8
38
|
|
|
9
39
|
The consoles' email and accounts screens are redesigned, the installer never installs less because
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.1
|
|
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,10 +23,10 @@ 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.
|
|
27
|
-
Requires-Dist: abstractassistant==0.
|
|
28
|
-
Requires-Dist: abstractcore==2.
|
|
29
|
-
Requires-Dist: AbstractRuntime==0.8.
|
|
26
|
+
Requires-Dist: abstractgateway==0.11.1
|
|
27
|
+
Requires-Dist: abstractassistant==0.12.0
|
|
28
|
+
Requires-Dist: abstractcore==2.23.0
|
|
29
|
+
Requires-Dist: AbstractRuntime==0.8.3
|
|
30
30
|
Requires-Dist: abstractagent==0.3.17
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
32
32
|
Requires-Dist: AbstractMemory==0.3.0
|
|
@@ -36,11 +36,11 @@ Requires-Dist: abstractvision==0.3.33
|
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.15
|
|
37
37
|
Requires-Dist: abstract3d==0.3.2
|
|
38
38
|
Provides-Extra: apple
|
|
39
|
-
Requires-Dist: abstractgateway[apple]==0.
|
|
40
|
-
Requires-Dist: abstractassistant[apple]==0.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.11.1; extra == "apple"
|
|
40
|
+
Requires-Dist: abstractassistant[apple]==0.12.0; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.
|
|
43
|
-
Requires-Dist: abstractassistant[gpu]==0.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.11.1; extra == "gpu"
|
|
43
|
+
Requires-Dist: abstractassistant[gpu]==0.12.0; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
46
46
|
# AbstractFramework
|
|
@@ -369,7 +369,7 @@ pip install "abstractframework[gpu]"
|
|
|
369
369
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
370
370
|
| GPU | `pip install "abstractframework[gpu]"` | Linux with a CUDA or ROCm GPU; on Windows, use the one-line installer (a plain pip install gets PyPI's CPU-only PyTorch and no llama.cpp) | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
371
371
|
|
|
372
|
-
### Release matrix (abstractframework 0.
|
|
372
|
+
### Release matrix (abstractframework 0.9.1)
|
|
373
373
|
|
|
374
374
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
375
375
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -378,10 +378,10 @@ and tested together.
|
|
|
378
378
|
|
|
379
379
|
| Registry | Package | Version |
|
|
380
380
|
|---|---|---|
|
|
381
|
-
| PyPI | `abstractgateway` | 0.
|
|
382
|
-
| PyPI | `abstractassistant` | 0.
|
|
383
|
-
| PyPI | `abstractcore` | 2.
|
|
384
|
-
| PyPI | `AbstractRuntime` | 0.8.
|
|
381
|
+
| PyPI | `abstractgateway` | 0.11.1 |
|
|
382
|
+
| PyPI | `abstractassistant` | 0.12.0 |
|
|
383
|
+
| PyPI | `abstractcore` | 2.23.0 |
|
|
384
|
+
| PyPI | `AbstractRuntime` | 0.8.3 |
|
|
385
385
|
| PyPI | `abstractagent` | 0.3.17 |
|
|
386
386
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
387
387
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
@@ -390,17 +390,17 @@ and tested together.
|
|
|
390
390
|
| PyPI | `abstractvision` | 0.3.33 |
|
|
391
391
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
392
392
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
393
|
-
| npm | `@abstractframework/flow` | 0.
|
|
394
|
-
| npm | `@abstractframework/code` | 0.
|
|
395
|
-
| npm | `@abstractframework/observer` | 0.
|
|
393
|
+
| npm | `@abstractframework/flow` | 0.7.0 |
|
|
394
|
+
| npm | `@abstractframework/code` | 0.10.0 |
|
|
395
|
+
| npm | `@abstractframework/observer` | 0.6.0 |
|
|
396
396
|
| npm | `@abstractframework/continuum` | 0.6.0 |
|
|
397
|
-
| npm | `@abstractframework/entity` | 0.
|
|
397
|
+
| npm | `@abstractframework/entity` | 0.6.0 |
|
|
398
398
|
| crates.io | `abstractcode` | 0.8.0 |
|
|
399
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
400
|
-
| crates.io | `abstractcore-console` | 0.
|
|
399
|
+
| crates.io | `abstractgateway-console` | 0.14.0 |
|
|
400
|
+
| crates.io | `abstractcore-console` | 0.7.0 |
|
|
401
401
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
402
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
403
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
402
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.11.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
403
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.23.0 |
|
|
404
404
|
|
|
405
405
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
406
406
|
not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
|
|
@@ -324,7 +324,7 @@ pip install "abstractframework[gpu]"
|
|
|
324
324
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
325
325
|
| GPU | `pip install "abstractframework[gpu]"` | Linux with a CUDA or ROCm GPU; on Windows, use the one-line installer (a plain pip install gets PyPI's CPU-only PyTorch and no llama.cpp) | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
326
326
|
|
|
327
|
-
### Release matrix (abstractframework 0.
|
|
327
|
+
### Release matrix (abstractframework 0.9.1)
|
|
328
328
|
|
|
329
329
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
330
330
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -333,10 +333,10 @@ and tested together.
|
|
|
333
333
|
|
|
334
334
|
| Registry | Package | Version |
|
|
335
335
|
|---|---|---|
|
|
336
|
-
| PyPI | `abstractgateway` | 0.
|
|
337
|
-
| PyPI | `abstractassistant` | 0.
|
|
338
|
-
| PyPI | `abstractcore` | 2.
|
|
339
|
-
| PyPI | `AbstractRuntime` | 0.8.
|
|
336
|
+
| PyPI | `abstractgateway` | 0.11.1 |
|
|
337
|
+
| PyPI | `abstractassistant` | 0.12.0 |
|
|
338
|
+
| PyPI | `abstractcore` | 2.23.0 |
|
|
339
|
+
| PyPI | `AbstractRuntime` | 0.8.3 |
|
|
340
340
|
| PyPI | `abstractagent` | 0.3.17 |
|
|
341
341
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
342
342
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
@@ -345,17 +345,17 @@ and tested together.
|
|
|
345
345
|
| PyPI | `abstractvision` | 0.3.33 |
|
|
346
346
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
347
347
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
348
|
-
| npm | `@abstractframework/flow` | 0.
|
|
349
|
-
| npm | `@abstractframework/code` | 0.
|
|
350
|
-
| npm | `@abstractframework/observer` | 0.
|
|
348
|
+
| npm | `@abstractframework/flow` | 0.7.0 |
|
|
349
|
+
| npm | `@abstractframework/code` | 0.10.0 |
|
|
350
|
+
| npm | `@abstractframework/observer` | 0.6.0 |
|
|
351
351
|
| npm | `@abstractframework/continuum` | 0.6.0 |
|
|
352
|
-
| npm | `@abstractframework/entity` | 0.
|
|
352
|
+
| npm | `@abstractframework/entity` | 0.6.0 |
|
|
353
353
|
| crates.io | `abstractcode` | 0.8.0 |
|
|
354
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
355
|
-
| crates.io | `abstractcore-console` | 0.
|
|
354
|
+
| crates.io | `abstractgateway-console` | 0.14.0 |
|
|
355
|
+
| crates.io | `abstractcore-console` | 0.7.0 |
|
|
356
356
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
357
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
358
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
357
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.11.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
358
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.23.0 |
|
|
359
359
|
|
|
360
360
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
361
361
|
not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
|
|
@@ -10,15 +10,15 @@ Most implementation functionality still lives in component projects.
|
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
__version__ = "0.
|
|
13
|
+
__version__ = "0.9.1"
|
|
14
14
|
__author__ = "Laurent-Philippe Albou"
|
|
15
15
|
__license__ = "MIT"
|
|
16
16
|
|
|
17
17
|
RELEASE_VERSIONS: dict[str, str] = {
|
|
18
|
-
"abstractcore": "2.
|
|
19
|
-
"abstractruntime": "0.8.
|
|
18
|
+
"abstractcore": "2.23.0",
|
|
19
|
+
"abstractruntime": "0.8.3",
|
|
20
20
|
"abstractagent": "0.3.17",
|
|
21
|
-
"abstractgateway": "0.
|
|
21
|
+
"abstractgateway": "0.11.1",
|
|
22
22
|
"abstractskill": "0.3.0",
|
|
23
23
|
"abstractmemory": "0.3.0",
|
|
24
24
|
"abstractsemantics": "0.0.5",
|
|
@@ -26,7 +26,7 @@ RELEASE_VERSIONS: dict[str, str] = {
|
|
|
26
26
|
"abstractvision": "0.3.33",
|
|
27
27
|
"abstractmusic": "0.1.15",
|
|
28
28
|
"abstract3d": "0.3.2",
|
|
29
|
-
"abstractassistant": "0.
|
|
29
|
+
"abstractassistant": "0.12.0",
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
PACKAGE_DISTRIBUTIONS: dict[str, str] = {
|
|
@@ -45,11 +45,11 @@ PACKAGE_DISTRIBUTIONS: dict[str, str] = {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
NPM_RELEASE_VERSIONS: dict[str, str] = {
|
|
48
|
-
"@abstractframework/flow": "0.
|
|
49
|
-
"@abstractframework/code": "0.
|
|
50
|
-
"@abstractframework/observer": "0.
|
|
48
|
+
"@abstractframework/flow": "0.7.0",
|
|
49
|
+
"@abstractframework/code": "0.10.0",
|
|
50
|
+
"@abstractframework/observer": "0.6.0",
|
|
51
51
|
"@abstractframework/continuum": "0.6.0",
|
|
52
|
-
"@abstractframework/entity": "0.
|
|
52
|
+
"@abstractframework/entity": "0.6.0",
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
# Terminal tools published on crates.io alongside this release (installed with `cargo install`,
|
|
@@ -58,8 +58,8 @@ NPM_RELEASE_VERSIONS: dict[str, str] = {
|
|
|
58
58
|
# `abstractcore serve`, and the gateway's terminal console already carries its Models and
|
|
59
59
|
# Engines screens; it is listed here as a release version only.
|
|
60
60
|
CRATE_RELEASE_VERSIONS: dict[str, str] = {
|
|
61
|
-
"abstractgateway-console": "0.
|
|
62
|
-
"abstractcore-console": "0.
|
|
61
|
+
"abstractgateway-console": "0.14.0",
|
|
62
|
+
"abstractcore-console": "0.7.0",
|
|
63
63
|
"abstractcode": "0.8.0",
|
|
64
64
|
"abstracttui": "0.6.0",
|
|
65
65
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.1
|
|
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,10 +23,10 @@ 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.
|
|
27
|
-
Requires-Dist: abstractassistant==0.
|
|
28
|
-
Requires-Dist: abstractcore==2.
|
|
29
|
-
Requires-Dist: AbstractRuntime==0.8.
|
|
26
|
+
Requires-Dist: abstractgateway==0.11.1
|
|
27
|
+
Requires-Dist: abstractassistant==0.12.0
|
|
28
|
+
Requires-Dist: abstractcore==2.23.0
|
|
29
|
+
Requires-Dist: AbstractRuntime==0.8.3
|
|
30
30
|
Requires-Dist: abstractagent==0.3.17
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
32
32
|
Requires-Dist: AbstractMemory==0.3.0
|
|
@@ -36,11 +36,11 @@ Requires-Dist: abstractvision==0.3.33
|
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.15
|
|
37
37
|
Requires-Dist: abstract3d==0.3.2
|
|
38
38
|
Provides-Extra: apple
|
|
39
|
-
Requires-Dist: abstractgateway[apple]==0.
|
|
40
|
-
Requires-Dist: abstractassistant[apple]==0.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.11.1; extra == "apple"
|
|
40
|
+
Requires-Dist: abstractassistant[apple]==0.12.0; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.
|
|
43
|
-
Requires-Dist: abstractassistant[gpu]==0.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.11.1; extra == "gpu"
|
|
43
|
+
Requires-Dist: abstractassistant[gpu]==0.12.0; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
46
46
|
# AbstractFramework
|
|
@@ -369,7 +369,7 @@ pip install "abstractframework[gpu]"
|
|
|
369
369
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
370
370
|
| GPU | `pip install "abstractframework[gpu]"` | Linux with a CUDA or ROCm GPU; on Windows, use the one-line installer (a plain pip install gets PyPI's CPU-only PyTorch and no llama.cpp) | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
371
371
|
|
|
372
|
-
### Release matrix (abstractframework 0.
|
|
372
|
+
### Release matrix (abstractframework 0.9.1)
|
|
373
373
|
|
|
374
374
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
375
375
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -378,10 +378,10 @@ and tested together.
|
|
|
378
378
|
|
|
379
379
|
| Registry | Package | Version |
|
|
380
380
|
|---|---|---|
|
|
381
|
-
| PyPI | `abstractgateway` | 0.
|
|
382
|
-
| PyPI | `abstractassistant` | 0.
|
|
383
|
-
| PyPI | `abstractcore` | 2.
|
|
384
|
-
| PyPI | `AbstractRuntime` | 0.8.
|
|
381
|
+
| PyPI | `abstractgateway` | 0.11.1 |
|
|
382
|
+
| PyPI | `abstractassistant` | 0.12.0 |
|
|
383
|
+
| PyPI | `abstractcore` | 2.23.0 |
|
|
384
|
+
| PyPI | `AbstractRuntime` | 0.8.3 |
|
|
385
385
|
| PyPI | `abstractagent` | 0.3.17 |
|
|
386
386
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
387
387
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
@@ -390,17 +390,17 @@ and tested together.
|
|
|
390
390
|
| PyPI | `abstractvision` | 0.3.33 |
|
|
391
391
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
392
392
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
393
|
-
| npm | `@abstractframework/flow` | 0.
|
|
394
|
-
| npm | `@abstractframework/code` | 0.
|
|
395
|
-
| npm | `@abstractframework/observer` | 0.
|
|
393
|
+
| npm | `@abstractframework/flow` | 0.7.0 |
|
|
394
|
+
| npm | `@abstractframework/code` | 0.10.0 |
|
|
395
|
+
| npm | `@abstractframework/observer` | 0.6.0 |
|
|
396
396
|
| npm | `@abstractframework/continuum` | 0.6.0 |
|
|
397
|
-
| npm | `@abstractframework/entity` | 0.
|
|
397
|
+
| npm | `@abstractframework/entity` | 0.6.0 |
|
|
398
398
|
| crates.io | `abstractcode` | 0.8.0 |
|
|
399
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
400
|
-
| crates.io | `abstractcore-console` | 0.
|
|
399
|
+
| crates.io | `abstractgateway-console` | 0.14.0 |
|
|
400
|
+
| crates.io | `abstractcore-console` | 0.7.0 |
|
|
401
401
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
402
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
403
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
402
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.11.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
403
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.23.0 |
|
|
404
404
|
|
|
405
405
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
406
406
|
not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
|
|
@@ -186,6 +186,7 @@ scripts/tests/test_af_supervisor.sh
|
|
|
186
186
|
scripts/tests/test_install_user_path.sh
|
|
187
187
|
scripts/tests/test_inventory.sh
|
|
188
188
|
scripts/tests/test_repo_scripts.sh
|
|
189
|
+
tests/test_install_app_upgrade.py
|
|
189
190
|
tests/test_install_index_lag.py
|
|
190
191
|
tests/test_install_profiles.py
|
|
191
192
|
tests/test_install_ps1_gpu_stack.py
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
abstractgateway==0.
|
|
2
|
-
abstractassistant==0.
|
|
3
|
-
abstractcore==2.
|
|
4
|
-
AbstractRuntime==0.8.
|
|
1
|
+
abstractgateway==0.11.1
|
|
2
|
+
abstractassistant==0.12.0
|
|
3
|
+
abstractcore==2.23.0
|
|
4
|
+
AbstractRuntime==0.8.3
|
|
5
5
|
abstractagent==0.3.17
|
|
6
6
|
abstractskill==0.3.0
|
|
7
7
|
AbstractMemory==0.3.0
|
|
@@ -12,11 +12,11 @@ abstractmusic==0.1.15
|
|
|
12
12
|
abstract3d==0.3.2
|
|
13
13
|
|
|
14
14
|
[apple]
|
|
15
|
-
abstractgateway[apple]==0.
|
|
15
|
+
abstractgateway[apple]==0.11.1
|
|
16
16
|
|
|
17
17
|
[apple:platform_system == "Darwin"]
|
|
18
|
-
abstractassistant[apple]==0.
|
|
18
|
+
abstractassistant[apple]==0.12.0
|
|
19
19
|
|
|
20
20
|
[gpu]
|
|
21
|
-
abstractgateway[gpu]==0.
|
|
22
|
-
abstractassistant[gpu]==0.
|
|
21
|
+
abstractgateway[gpu]==0.11.1
|
|
22
|
+
abstractassistant[gpu]==0.12.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.
|
|
58
|
+
The meta-package version (`0.9.1` 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.
|
|
63
|
-
`abstractcore` 2.
|
|
62
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.9.1:
|
|
63
|
+
`abstractcore` 2.23.0, `abstractruntime` 0.8.3, `abstractagent` 0.3.17, `abstractgateway` 0.11.1,
|
|
64
64
|
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.13.2, `abstractvision` 0.3.33,
|
|
65
|
-
`abstractmusic` 0.1.15, `abstract3d` 0.3.2, `abstractassistant` 0.
|
|
65
|
+
`abstractmusic` 0.1.15, `abstract3d` 0.3.2, `abstractassistant` 0.12.0.
|
|
66
66
|
|
|
67
67
|
### `PACKAGE_DISTRIBUTIONS`
|
|
68
68
|
|
|
@@ -72,14 +72,14 @@ Maps each package name in `RELEASE_VERSIONS` to its PyPI distribution name (for
|
|
|
72
72
|
### `NPM_RELEASE_VERSIONS`
|
|
73
73
|
|
|
74
74
|
The npm apps released with this version, each runnable with `npx <package>`:
|
|
75
|
-
`@abstractframework/flow` 0.
|
|
76
|
-
`@abstractframework/observer` 0.
|
|
77
|
-
`@abstractframework/entity` 0.
|
|
75
|
+
`@abstractframework/flow` 0.7.0, `@abstractframework/code` 0.10.0,
|
|
76
|
+
`@abstractframework/observer` 0.6.0, `@abstractframework/continuum` 0.6.0 and
|
|
77
|
+
`@abstractframework/entity` 0.6.0. They also appear as `npm_apps` in the install manifest.
|
|
78
78
|
|
|
79
79
|
### `CRATE_RELEASE_VERSIONS`
|
|
80
80
|
|
|
81
81
|
The Rust terminal tools released with this version, installed with `cargo install <crate>`:
|
|
82
|
-
`abstractgateway-console` 0.
|
|
82
|
+
`abstractgateway-console` 0.14.0, `abstractcore-console` 0.7.0, `abstractcode` 0.8.0 and the
|
|
83
83
|
`abstracttui` engine 0.6.0. The bootstrap scripts build `abstractgateway-console` at this version by default
|
|
84
84
|
(`--no-console` skips it) and `abstractcode` next to it (`--no-code-cli` skips it).
|
|
85
85
|
|
|
@@ -197,7 +197,7 @@ The line always runs the installer of the latest AbstractFramework release. It:
|
|
|
197
197
|
<latest>`, or `AbstractFramework <yours> found: already up to date` (every part is still checked,
|
|
198
198
|
and repaired when needed). An install made by 0.6.1 or earlier recorded no release, so its first
|
|
199
199
|
upgrade says `AbstractFramework found (abstractgateway 0.7.1; its release was not recorded):
|
|
200
|
-
upgrading to AbstractFramework 0.
|
|
200
|
+
upgrading to AbstractFramework 0.9.1` (with the gateway version you have);
|
|
201
201
|
- installs the gateway version that release pins, and every library the gateway uses
|
|
202
202
|
(AbstractCore, AbstractRuntime, AbstractAgent, AbstractSkill, AbstractMemory, AbstractSemantics
|
|
203
203
|
and the voice, vision, music and 3D packages) at the exact version released and tested with it ([Check your versions](#check-your-versions) shows
|
|
@@ -245,7 +245,7 @@ The line always runs the installer of the latest AbstractFramework release. It:
|
|
|
245
245
|
|
|
246
246
|
Installs made by AbstractFramework 0.6.1 or earlier recorded neither their release nor your install
|
|
247
247
|
options. The first re-run says `AbstractFramework found (abstractgateway <version>; its release was
|
|
248
|
-
not recorded): upgrading to AbstractFramework 0.
|
|
248
|
+
not recorded): upgrading to AbstractFramework 0.9.1`, and reads your options from what is installed: whether the terminal console and `abstractcode` are
|
|
249
249
|
there, whether the gateway has the tray extra and the AbstractCore commands, whether the compiled
|
|
250
250
|
extras were built (`--full`), and a custom data directory through the gateway pointer. It prints
|
|
251
251
|
what it found (`read from disk: …`) and records it for later runs. An option the installer did not
|
|
@@ -355,9 +355,26 @@ Running workflows pause at their next step and continue after the restart.
|
|
|
355
355
|
|
|
356
356
|
### Upgrade the apps
|
|
357
357
|
|
|
358
|
-
The browser apps (Flow, Code, Observer, Continuum, Entity)
|
|
359
|
-
|
|
360
|
-
|
|
358
|
+
The browser apps (Flow, Code, Observer, Continuum, Entity) are installed by the gateway, and the
|
|
359
|
+
installer keeps them on the release: on every install and upgrade, once the gateway answers, each
|
|
360
|
+
browser app the gateway has installed is brought to this release's version (`--print` lists the
|
|
361
|
+
planned updates) through the gateway's own `abstractgateway apps update <app> --version <version>`,
|
|
362
|
+
so the gateway's apps registry stays right and a running app restarts on the new version. It is a
|
|
363
|
+
command-line call against the running gateway (signed in with `<data dir>/auth/bootstrap-admin-token`),
|
|
364
|
+
so it works the same on a headless or terminal-only machine: no browser or web console is involved. The
|
|
365
|
+
summary's **Apps** line lists each app's version; an app that could not be updated is listed in red
|
|
366
|
+
with the command to retry, and the installer exits 1. A fresh install installs no app: the console's
|
|
367
|
+
**Apps** page installs them.
|
|
368
|
+
|
|
369
|
+
When no gateway answers (`--no-start` while the gateway is stopped), the installer writes the
|
|
370
|
+
release's versions to `<data dir>/apps-upgrade.pending` instead, and the gateway (0.11.1 and later)
|
|
371
|
+
brings its installed apps to those versions when it next starts, then removes the file. The
|
|
372
|
+
console's **Update** runs the installer with `--no-start` while the gateway is running, so its apps
|
|
373
|
+
are updated right away.
|
|
374
|
+
|
|
375
|
+
The desktop Assistant is a Python app the gateway installs; the installer leaves it as it is. When
|
|
376
|
+
npm has a newer version of an app, its card on the console's **Apps** page offers **Update** under
|
|
377
|
+
**Technical details**. In a terminal:
|
|
361
378
|
|
|
362
379
|
```bash
|
|
363
380
|
abstractgateway apps list # installed and latest version of every app
|
|
@@ -448,7 +465,7 @@ The Mac package, the `.command` files and the one line all run the same script,
|
|
|
448
465
|
login** switch counts), a first install leaves it off.
|
|
449
466
|
3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
|
|
450
467
|
4. Installs the gateway as an isolated uv tool, pinned to this release:
|
|
451
|
-
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.
|
|
468
|
+
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.11.1"`, from prebuilt wheels
|
|
452
469
|
only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
|
|
453
470
|
(reinstalling it in place when it does not). Every profile also gets local voice,
|
|
454
471
|
`--with "abstractvoice[supertonic,stt]==0.13.2"` (the release's AbstractVoice): Supertonic
|
|
@@ -793,7 +810,7 @@ instead of starting a browser.
|
|
|
793
810
|
```bash
|
|
794
811
|
curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
|
|
795
812
|
uv python install 3.12
|
|
796
|
-
uv tool install --python 3.12 "abstractgateway[tray]==0.
|
|
813
|
+
uv tool install --python 3.12 "abstractgateway[tray]==0.11.1" # [apple,tray] or [gpu,tray] for local engines
|
|
797
814
|
# (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
|
|
798
815
|
uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
|
|
799
816
|
abstractgateway service install --port 8080 # or: abstractgateway serve
|
|
@@ -920,8 +937,8 @@ Python 3.11 to 3.13), but it gets PyPI's CPU-only PyTorch and no llama.cpp: use
|
|
|
920
937
|
installer, which adds PyTorch's CUDA build and llama.cpp's prebuilt GPU build
|
|
921
938
|
([GPU on Windows](#gpu-on-windows-nvidia)).
|
|
922
939
|
|
|
923
|
-
`abstractframework` 0.
|
|
924
|
-
`abstractcore==2.
|
|
940
|
+
`abstractframework` 0.9.1 pins `abstractgateway==0.11.1`, `abstractassistant==0.12.0`,
|
|
941
|
+
`abstractcore==2.23.0`, `AbstractRuntime==0.8.3`, `abstractagent==0.3.17`, `abstractskill==0.3.0`,
|
|
925
942
|
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.13.2`,
|
|
926
943
|
`abstractvision==0.3.33`, `abstractmusic==0.1.15` and `abstract3d==0.3.2`. The `apple` and `gpu` extras select
|
|
927
944
|
`abstractgateway[apple|gpu]` and `abstractassistant[apple|gpu]` at the same versions
|
|
@@ -1012,14 +1029,14 @@ Run or install them next to the Python stack:
|
|
|
1012
1029
|
| Tool | Command | Version released with 0.8.0 |
|
|
1013
1030
|
|---|---|---|
|
|
1014
1031
|
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.10.0 |
|
|
1015
|
-
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.
|
|
1016
|
-
| Core terminal console | `cargo install abstractcore-console` (Rust 1.87+), then `abstractcore-console` (uses the `abstractcore` command). The installers do not build it: it is the console of a standalone `abstractcore serve`, and the gateway's terminal console already has its Models and Engines screens | 0.
|
|
1017
|
-
| Gateway terminal console | built by the installer (`--no-console` skips it), or `cargo install abstractgateway-console` (Rust 1.87+); then `abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token>` | 0.
|
|
1018
|
-
| Flow Editor | the console's **Apps** page (opens at `/apps/flow/`), or on its own: `npx @abstractframework/flow --gateway-url <url>` | 0.
|
|
1019
|
-
| Code Web UI | the console's **Apps** page (`/apps/code/`), or `npx @abstractframework/code --gateway-url <url>` | 0.
|
|
1020
|
-
| Observer | the console's **Apps** page (`/apps/observer/`), or `npx @abstractframework/observer --gateway-url <url>` | 0.
|
|
1032
|
+
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.23.0 |
|
|
1033
|
+
| Core terminal console | `cargo install abstractcore-console` (Rust 1.87+), then `abstractcore-console` (uses the `abstractcore` command). The installers do not build it: it is the console of a standalone `abstractcore serve`, and the gateway's terminal console already has its Models and Engines screens | 0.7.0 |
|
|
1034
|
+
| Gateway terminal console | built by the installer (`--no-console` skips it), or `cargo install abstractgateway-console` (Rust 1.87+); then `abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token>` | 0.14.0 |
|
|
1035
|
+
| Flow Editor | the console's **Apps** page (opens at `/apps/flow/`), or on its own: `npx @abstractframework/flow --gateway-url <url>` | 0.7.0 |
|
|
1036
|
+
| Code Web UI | the console's **Apps** page (`/apps/code/`), or `npx @abstractframework/code --gateway-url <url>` | 0.10.0 |
|
|
1037
|
+
| Observer | the console's **Apps** page (`/apps/observer/`), or `npx @abstractframework/observer --gateway-url <url>` | 0.6.0 |
|
|
1021
1038
|
| Continuum console | the console's **Apps** page (`/apps/continuum/`), or `npx @abstractframework/continuum --gateway-url <url>` | 0.6.0 |
|
|
1022
|
-
| Entity manager | the console's **Apps** page (`/apps/entity/`), or `npx @abstractframework/entity --gateway-url <url>` | 0.
|
|
1039
|
+
| Entity manager | the console's **Apps** page (`/apps/entity/`), or `npx @abstractframework/entity --gateway-url <url>` | 0.6.0 |
|
|
1023
1040
|
| AbstractCode terminal client | `cargo install abstractcode`, or a prebuilt binary from the [AbstractCode GitHub release](https://github.com/lpalbou/AbstractCode/releases) | 0.8.0 |
|
|
1024
1041
|
|
|
1025
1042
|
The browser apps need a running gateway. The gateway installs, starts and serves them itself, on
|