abstractframework 0.7.1__tar.gz → 0.7.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.7.1 → abstractframework-0.7.2}/CHANGELOG.md +42 -0
- {abstractframework-0.7.1/abstractframework.egg-info → abstractframework-0.7.2}/PKG-INFO +16 -16
- {abstractframework-0.7.1 → abstractframework-0.7.2}/README.md +11 -11
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework/__init__.py +8 -8
- {abstractframework-0.7.1 → abstractframework-0.7.2/abstractframework.egg-info}/PKG-INFO +16 -16
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework.egg-info/SOURCES.txt +1 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework.egg-info/requires.txt +4 -4
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/api.md +6 -6
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/faq.md +1 -1
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/install.md +55 -22
- {abstractframework-0.7.1 → abstractframework-0.7.2}/llms-full.txt +88 -55
- {abstractframework-0.7.1 → abstractframework-0.7.2}/llms.txt +2 -2
- {abstractframework-0.7.1 → abstractframework-0.7.2}/pyproject.toml +5 -5
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/install.sh +133 -16
- abstractframework-0.7.2/tests/test_install_index_lag.py +412 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/tests/test_install_profiles.py +12 -5
- {abstractframework-0.7.1 → abstractframework-0.7.2}/tests/test_install_ps1_gpu_stack.py +1 -1
- {abstractframework-0.7.1 → abstractframework-0.7.2}/tests/test_install_sh_gpu_stack.py +1 -1
- {abstractframework-0.7.1 → abstractframework-0.7.2}/LICENSE +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/MANIFEST.in +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework/__main__.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework/cli.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework/install_manifest.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework/py.typed +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/agent-sessions.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/architecture.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/automations.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/claude/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/comparisons/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/configuration.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/getting-started.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/glossary.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/components.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/implementation-plan.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/strategy.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/installers/user-journeys.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/README.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/troubleshooting.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/af-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/af.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/assistant.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/build.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/check_identity_sync.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/clone.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/code-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/code.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/commit.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/console-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/console.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/deps.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/entity-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/entity.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/flow-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/flow.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/gateway.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/observer-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/observer.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/pull.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/push.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/start-local.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/start.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/status.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/steer_repl.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/tests/test_install_user_path.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/uninstall.sh +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/setup.cfg +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/tests/test_install_ps1_own_gateway.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/tests/test_install_sh_gpu_twin.py +0 -0
- {abstractframework-0.7.1 → abstractframework-0.7.2}/tests/test_llms_full.py +0 -0
|
@@ -4,6 +4,48 @@ All notable changes to AbstractFramework will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.7.2] - 2026-09-30
|
|
8
|
+
|
|
9
|
+
Every screen works on phones, tablets and any window size. Pins: AbstractGateway 0.9.0 and
|
|
10
|
+
AbstractCore 2.21.0 (responsive web consoles); the browser apps Flow 0.5.0, Code 0.8.0, Observer
|
|
11
|
+
0.4.0, Continuum 0.5.0 and Entity 0.4.0 (responsive layouts, on `@abstractframework/ui-kit` 0.3.2
|
|
12
|
+
and `panel-chat` 0.2.1). Every other version is unchanged from 0.7.1.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **Responsive everywhere.** The gateway and AbstractCore web consoles and the five browser apps
|
|
17
|
+
follow one responsive system: the framework breakpoints (480, 768, 1024 and 1440 px wide, plus
|
|
18
|
+
500 px tall for phone landscape), sidebars that become drawers below 1024 px, dialogs that open
|
|
19
|
+
as bottom sheets on small screens, 44 px touch targets and 16 px form fields on touch screens, and
|
|
20
|
+
pages that respect the notch and home-indicator areas. See each app's changelog for details.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- **A new email automation reacts to the mail you send to test it.** Mail sent right after
|
|
25
|
+
creating a "When an email arrives" automation could be missed: the mail watcher, which reads
|
|
26
|
+
nothing until an email automation exists, marked where new mail starts up to a minute later and
|
|
27
|
+
treated that minute's mail as already there. Creating an email automation now wakes it and the
|
|
28
|
+
mark is taken within seconds.
|
|
29
|
+
- **A new or resumed email automation no longer runs on old mail.** After a time with no email
|
|
30
|
+
automation active, the next one received everything that had arrived meanwhile as new mail. That
|
|
31
|
+
mail is now treated as already there (mail that arrives while the gateway itself is down is
|
|
32
|
+
still read when it is back).
|
|
33
|
+
- **An upgrade right after a release no longer installs less.** When one of PyPI's mirrors had not
|
|
34
|
+
yet listed a version the release pins, uv answered `there is no version of
|
|
35
|
+
abstractgateway[gpu]==0.8.1`, and the installer took that for a system without the voice
|
|
36
|
+
wheels: the 0.7.1 upgrade of a Linux machine went through without local voice (a second run was
|
|
37
|
+
clean). install.sh and install.ps1 (and so the consoles' **Update** action, which runs install.sh) now recognise that
|
|
38
|
+
case from uv's exit code 1, its resolution failure, and its exact-pin wording for a package the
|
|
39
|
+
installer itself pinned (or from a download of that pinned version's own file that answers 404:
|
|
40
|
+
the list shows it, the file is not served yet), and run the same install again, with every feature, after 15 s, 30 s,
|
|
41
|
+
60 s and 120 s waits (8 attempts, about 10 minutes), printing `PyPI hasn't published
|
|
42
|
+
abstractgateway 0.8.1 to every mirror yet; retrying in 30 s (attempt 3/8)`. After that they stop
|
|
43
|
+
with the cause and what to do, never with a smaller install. The fallbacks for systems without
|
|
44
|
+
the voice or llama.cpp wheels are unchanged. The voice requirement now carries the release's
|
|
45
|
+
AbstractVoice version (`abstractvoice[supertonic,stt]==0.13.2`), which the release matrix already
|
|
46
|
+
enforced, so uv names a missing AbstractVoice in the same exact-pin form. See
|
|
47
|
+
[Right after a release](docs/install.md#right-after-a-release).
|
|
48
|
+
|
|
7
49
|
## [0.7.1] - 2026-09-30
|
|
8
50
|
|
|
9
51
|
A patch release. Pins: AbstractCore 2.20.2, AbstractRuntime 0.8.1 and AbstractGateway 0.8.1; every
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.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,9 +23,9 @@ 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.
|
|
26
|
+
Requires-Dist: abstractgateway==0.9.0
|
|
27
27
|
Requires-Dist: abstractassistant==0.10.0
|
|
28
|
-
Requires-Dist: abstractcore==2.
|
|
28
|
+
Requires-Dist: abstractcore==2.21.0
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.8.1
|
|
30
30
|
Requires-Dist: abstractagent==0.3.17
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
@@ -36,10 +36,10 @@ 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.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.9.0; extra == "apple"
|
|
40
40
|
Requires-Dist: abstractassistant[apple]==0.10.0; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.9.0; extra == "gpu"
|
|
43
43
|
Requires-Dist: abstractassistant[gpu]==0.10.0; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
@@ -217,7 +217,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
217
217
|
```
|
|
218
218
|
|
|
219
219
|
Container images are published for the gateway and the AbstractCore server:
|
|
220
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
220
|
+
`ghcr.io/lpalbou/abstractgateway:0.9.0` and `ghcr.io/lpalbou/abstractcore-server:2.21.0`.
|
|
221
221
|
|
|
222
222
|
For artifact and runtime-resource investigation, see
|
|
223
223
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -363,7 +363,7 @@ pip install "abstractframework[gpu]"
|
|
|
363
363
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
364
364
|
| 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+) |
|
|
365
365
|
|
|
366
|
-
### Release matrix (abstractframework 0.7.
|
|
366
|
+
### Release matrix (abstractframework 0.7.2)
|
|
367
367
|
|
|
368
368
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
369
369
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -372,9 +372,9 @@ and tested together.
|
|
|
372
372
|
|
|
373
373
|
| Registry | Package | Version |
|
|
374
374
|
|---|---|---|
|
|
375
|
-
| PyPI | `abstractgateway` | 0.
|
|
375
|
+
| PyPI | `abstractgateway` | 0.9.0 |
|
|
376
376
|
| PyPI | `abstractassistant` | 0.10.0 |
|
|
377
|
-
| PyPI | `abstractcore` | 2.
|
|
377
|
+
| PyPI | `abstractcore` | 2.21.0 |
|
|
378
378
|
| PyPI | `AbstractRuntime` | 0.8.1 |
|
|
379
379
|
| PyPI | `abstractagent` | 0.3.17 |
|
|
380
380
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
@@ -384,17 +384,17 @@ and tested together.
|
|
|
384
384
|
| PyPI | `abstractvision` | 0.3.33 |
|
|
385
385
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
386
386
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
387
|
-
| npm | `@abstractframework/flow` | 0.
|
|
388
|
-
| npm | `@abstractframework/code` | 0.
|
|
389
|
-
| npm | `@abstractframework/observer` | 0.
|
|
390
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
391
|
-
| npm | `@abstractframework/entity` | 0.
|
|
387
|
+
| npm | `@abstractframework/flow` | 0.5.0 |
|
|
388
|
+
| npm | `@abstractframework/code` | 0.8.0 |
|
|
389
|
+
| npm | `@abstractframework/observer` | 0.4.0 |
|
|
390
|
+
| npm | `@abstractframework/continuum` | 0.5.0 |
|
|
391
|
+
| npm | `@abstractframework/entity` | 0.4.0 |
|
|
392
392
|
| crates.io | `abstractcode` | 0.7.1 |
|
|
393
393
|
| crates.io | `abstractgateway-console` | 0.12.0 |
|
|
394
394
|
| crates.io | `abstractcore-console` | 0.5.0 |
|
|
395
395
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
396
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
397
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
396
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.9.0 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
397
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.21.0 |
|
|
398
398
|
|
|
399
399
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
400
400
|
not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
|
|
@@ -172,7 +172,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
Container images are published for the gateway and the AbstractCore server:
|
|
175
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
175
|
+
`ghcr.io/lpalbou/abstractgateway:0.9.0` and `ghcr.io/lpalbou/abstractcore-server:2.21.0`.
|
|
176
176
|
|
|
177
177
|
For artifact and runtime-resource investigation, see
|
|
178
178
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -318,7 +318,7 @@ pip install "abstractframework[gpu]"
|
|
|
318
318
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
319
319
|
| 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+) |
|
|
320
320
|
|
|
321
|
-
### Release matrix (abstractframework 0.7.
|
|
321
|
+
### Release matrix (abstractframework 0.7.2)
|
|
322
322
|
|
|
323
323
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
324
324
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -327,9 +327,9 @@ and tested together.
|
|
|
327
327
|
|
|
328
328
|
| Registry | Package | Version |
|
|
329
329
|
|---|---|---|
|
|
330
|
-
| PyPI | `abstractgateway` | 0.
|
|
330
|
+
| PyPI | `abstractgateway` | 0.9.0 |
|
|
331
331
|
| PyPI | `abstractassistant` | 0.10.0 |
|
|
332
|
-
| PyPI | `abstractcore` | 2.
|
|
332
|
+
| PyPI | `abstractcore` | 2.21.0 |
|
|
333
333
|
| PyPI | `AbstractRuntime` | 0.8.1 |
|
|
334
334
|
| PyPI | `abstractagent` | 0.3.17 |
|
|
335
335
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
@@ -339,17 +339,17 @@ and tested together.
|
|
|
339
339
|
| PyPI | `abstractvision` | 0.3.33 |
|
|
340
340
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
341
341
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
342
|
-
| npm | `@abstractframework/flow` | 0.
|
|
343
|
-
| npm | `@abstractframework/code` | 0.
|
|
344
|
-
| npm | `@abstractframework/observer` | 0.
|
|
345
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
346
|
-
| npm | `@abstractframework/entity` | 0.
|
|
342
|
+
| npm | `@abstractframework/flow` | 0.5.0 |
|
|
343
|
+
| npm | `@abstractframework/code` | 0.8.0 |
|
|
344
|
+
| npm | `@abstractframework/observer` | 0.4.0 |
|
|
345
|
+
| npm | `@abstractframework/continuum` | 0.5.0 |
|
|
346
|
+
| npm | `@abstractframework/entity` | 0.4.0 |
|
|
347
347
|
| crates.io | `abstractcode` | 0.7.1 |
|
|
348
348
|
| crates.io | `abstractgateway-console` | 0.12.0 |
|
|
349
349
|
| crates.io | `abstractcore-console` | 0.5.0 |
|
|
350
350
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
351
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
352
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
351
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.9.0 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
352
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.21.0 |
|
|
353
353
|
|
|
354
354
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
355
355
|
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.7.
|
|
13
|
+
__version__ = "0.7.2"
|
|
14
14
|
__author__ = "Laurent-Philippe Albou"
|
|
15
15
|
__license__ = "MIT"
|
|
16
16
|
|
|
17
17
|
RELEASE_VERSIONS: dict[str, str] = {
|
|
18
|
-
"abstractcore": "2.
|
|
18
|
+
"abstractcore": "2.21.0",
|
|
19
19
|
"abstractruntime": "0.8.1",
|
|
20
20
|
"abstractagent": "0.3.17",
|
|
21
|
-
"abstractgateway": "0.
|
|
21
|
+
"abstractgateway": "0.9.0",
|
|
22
22
|
"abstractskill": "0.3.0",
|
|
23
23
|
"abstractmemory": "0.3.0",
|
|
24
24
|
"abstractsemantics": "0.0.5",
|
|
@@ -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.
|
|
51
|
-
"@abstractframework/continuum": "0.
|
|
52
|
-
"@abstractframework/entity": "0.
|
|
48
|
+
"@abstractframework/flow": "0.5.0",
|
|
49
|
+
"@abstractframework/code": "0.8.0",
|
|
50
|
+
"@abstractframework/observer": "0.4.0",
|
|
51
|
+
"@abstractframework/continuum": "0.5.0",
|
|
52
|
+
"@abstractframework/entity": "0.4.0",
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
# Terminal tools published on crates.io alongside this release (installed with `cargo install`,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.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,9 +23,9 @@ 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.
|
|
26
|
+
Requires-Dist: abstractgateway==0.9.0
|
|
27
27
|
Requires-Dist: abstractassistant==0.10.0
|
|
28
|
-
Requires-Dist: abstractcore==2.
|
|
28
|
+
Requires-Dist: abstractcore==2.21.0
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.8.1
|
|
30
30
|
Requires-Dist: abstractagent==0.3.17
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
@@ -36,10 +36,10 @@ 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.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.9.0; extra == "apple"
|
|
40
40
|
Requires-Dist: abstractassistant[apple]==0.10.0; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.9.0; extra == "gpu"
|
|
43
43
|
Requires-Dist: abstractassistant[gpu]==0.10.0; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
@@ -217,7 +217,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
217
217
|
```
|
|
218
218
|
|
|
219
219
|
Container images are published for the gateway and the AbstractCore server:
|
|
220
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
220
|
+
`ghcr.io/lpalbou/abstractgateway:0.9.0` and `ghcr.io/lpalbou/abstractcore-server:2.21.0`.
|
|
221
221
|
|
|
222
222
|
For artifact and runtime-resource investigation, see
|
|
223
223
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -363,7 +363,7 @@ pip install "abstractframework[gpu]"
|
|
|
363
363
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
364
364
|
| 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+) |
|
|
365
365
|
|
|
366
|
-
### Release matrix (abstractframework 0.7.
|
|
366
|
+
### Release matrix (abstractframework 0.7.2)
|
|
367
367
|
|
|
368
368
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
369
369
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -372,9 +372,9 @@ and tested together.
|
|
|
372
372
|
|
|
373
373
|
| Registry | Package | Version |
|
|
374
374
|
|---|---|---|
|
|
375
|
-
| PyPI | `abstractgateway` | 0.
|
|
375
|
+
| PyPI | `abstractgateway` | 0.9.0 |
|
|
376
376
|
| PyPI | `abstractassistant` | 0.10.0 |
|
|
377
|
-
| PyPI | `abstractcore` | 2.
|
|
377
|
+
| PyPI | `abstractcore` | 2.21.0 |
|
|
378
378
|
| PyPI | `AbstractRuntime` | 0.8.1 |
|
|
379
379
|
| PyPI | `abstractagent` | 0.3.17 |
|
|
380
380
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
@@ -384,17 +384,17 @@ and tested together.
|
|
|
384
384
|
| PyPI | `abstractvision` | 0.3.33 |
|
|
385
385
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
386
386
|
| PyPI | `abstract3d` | 0.3.2 |
|
|
387
|
-
| npm | `@abstractframework/flow` | 0.
|
|
388
|
-
| npm | `@abstractframework/code` | 0.
|
|
389
|
-
| npm | `@abstractframework/observer` | 0.
|
|
390
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
391
|
-
| npm | `@abstractframework/entity` | 0.
|
|
387
|
+
| npm | `@abstractframework/flow` | 0.5.0 |
|
|
388
|
+
| npm | `@abstractframework/code` | 0.8.0 |
|
|
389
|
+
| npm | `@abstractframework/observer` | 0.4.0 |
|
|
390
|
+
| npm | `@abstractframework/continuum` | 0.5.0 |
|
|
391
|
+
| npm | `@abstractframework/entity` | 0.4.0 |
|
|
392
392
|
| crates.io | `abstractcode` | 0.7.1 |
|
|
393
393
|
| crates.io | `abstractgateway-console` | 0.12.0 |
|
|
394
394
|
| crates.io | `abstractcore-console` | 0.5.0 |
|
|
395
395
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
396
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
397
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
396
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.9.0 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
397
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.21.0 |
|
|
398
398
|
|
|
399
399
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
400
400
|
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_index_lag.py
|
|
189
190
|
tests/test_install_profiles.py
|
|
190
191
|
tests/test_install_ps1_gpu_stack.py
|
|
191
192
|
tests/test_install_ps1_own_gateway.py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
abstractgateway==0.
|
|
1
|
+
abstractgateway==0.9.0
|
|
2
2
|
abstractassistant==0.10.0
|
|
3
|
-
abstractcore==2.
|
|
3
|
+
abstractcore==2.21.0
|
|
4
4
|
AbstractRuntime==0.8.1
|
|
5
5
|
abstractagent==0.3.17
|
|
6
6
|
abstractskill==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.9.0
|
|
16
16
|
|
|
17
17
|
[apple:platform_system == "Darwin"]
|
|
18
18
|
abstractassistant[apple]==0.10.0
|
|
19
19
|
|
|
20
20
|
[gpu]
|
|
21
|
-
abstractgateway[gpu]==0.
|
|
21
|
+
abstractgateway[gpu]==0.9.0
|
|
22
22
|
abstractassistant[gpu]==0.10.0
|
|
@@ -55,12 +55,12 @@ The response type returned by `llm.generate(...)`.
|
|
|
55
55
|
|
|
56
56
|
### `__version__`
|
|
57
57
|
|
|
58
|
-
The meta-package version (`0.7.
|
|
58
|
+
The meta-package version (`0.7.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.7.
|
|
63
|
-
`abstractcore` 2.
|
|
62
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.7.2:
|
|
63
|
+
`abstractcore` 2.21.0, `abstractruntime` 0.8.1, `abstractagent` 0.3.17, `abstractgateway` 0.9.0,
|
|
64
64
|
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.13.2, `abstractvision` 0.3.33,
|
|
65
65
|
`abstractmusic` 0.1.15, `abstract3d` 0.3.2, `abstractassistant` 0.10.0.
|
|
66
66
|
|
|
@@ -72,9 +72,9 @@ 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.5.0, `@abstractframework/code` 0.8.0,
|
|
76
|
+
`@abstractframework/observer` 0.4.0, `@abstractframework/continuum` 0.5.0 and
|
|
77
|
+
`@abstractframework/entity` 0.4.0. They also appear as `npm_apps` in the install manifest.
|
|
78
78
|
|
|
79
79
|
### `CRATE_RELEASE_VERSIONS`
|
|
80
80
|
|
|
@@ -34,7 +34,7 @@ No.
|
|
|
34
34
|
| Everything at compatible versions | `pip install abstractframework` |
|
|
35
35
|
| A browser app | the gateway console's **Apps** page (served at `/apps/<app>/` on the gateway), or on its own: `npx @abstractframework/<flow\|code\|observer\|continuum\|entity> --gateway-url <url>` |
|
|
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.
|
|
37
|
+
| A container deployment | `ghcr.io/lpalbou/abstractgateway:0.9.0` |
|
|
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
|
|
@@ -100,8 +100,38 @@ where it stopped.
|
|
|
100
100
|
| `the gateway did not answer … within 180 s` | Restart the computer (the login item starts it) or run the installer again, then open `http://127.0.0.1:8080/console`. |
|
|
101
101
|
| The browser page asks for a token | The one-time sign-in link lasts 10 minutes. Run the installer again: it opens a fresh link. |
|
|
102
102
|
| `another AbstractFramework installer is already running` | An installer, or an **Update** from a console or the menu-bar icon, is running for this data directory. Wait until it finishes, then run the line again. |
|
|
103
|
+
| `PyPI hasn't published abstractgateway 0.8.1 to every mirror yet; retrying in 30 s (attempt 3/8)` | Nothing to do: a release published minutes ago has not reached every PyPI mirror yet. The installer waits and runs the same install again (see [Right after a release](#right-after-a-release)). |
|
|
104
|
+
| `PyPI still does not list … after 8 attempts over about 10 minutes` | The package index this computer reads has not caught up after 10 minutes (often a company package mirror set in `UV_INDEX_URL`, `PIP_INDEX_URL` or `uv.toml`). Nothing was left out and the previous install is unchanged. Run the installer again in a few minutes; with a mirror, ask its administrator to refresh the package the message names. |
|
|
103
105
|
| Anything else | Run the installer again. If it stops at the same step, report it with the log file named at the end of the message (`~/Library/Application Support/AbstractGateway/logs/install-….log`). |
|
|
104
106
|
|
|
107
|
+
### Right after a release
|
|
108
|
+
|
|
109
|
+
For a few minutes after a release, some of PyPI's mirrors can still serve a package list without
|
|
110
|
+
the new versions. uv then answers `there is no version of abstractgateway==0.8.1` even though the
|
|
111
|
+
release is published. The installer (install.sh and install.ps1; the **Update** action of the
|
|
112
|
+
consoles and the menu-bar icon runs install.sh on macOS and Linux, and gives the install.ps1 line to
|
|
113
|
+
paste on Windows) treats that as a delay:
|
|
114
|
+
|
|
115
|
+
- it runs the **same** install again, with every part it was asked for (local voice, llama.cpp,
|
|
116
|
+
PyTorch's CUDA build): a delay never makes it install less;
|
|
117
|
+
- it waits 15 s, 30 s, 60 s, then 120 s between attempts, 8 attempts over about 10 minutes, and
|
|
118
|
+
says so: `PyPI hasn't published abstractgateway 0.8.1 to every mirror yet; retrying in 30 s
|
|
119
|
+
(attempt 3/8)`;
|
|
120
|
+
- if the version is still missing after that, it stops with the cause and what to do. uv stops
|
|
121
|
+
before it changes anything, so the previous install keeps working.
|
|
122
|
+
|
|
123
|
+
Only these cases wait, for a package at the exact version this release pins (the gateway and the
|
|
124
|
+
release's libraries: AbstractCore, AbstractRuntime, AbstractVoice, ...): uv exits with code 1, its
|
|
125
|
+
output contains uv's resolution failure (`No solution found when resolving dependencies`) and it
|
|
126
|
+
says `there is no version of <package>==<version>`; or the download of that version's own file
|
|
127
|
+
answered `HTTP status client error (404` (`Failed to fetch: .../<package>-<version>-py3-none-any.whl`:
|
|
128
|
+
the package list already shows the new version but the file is not served yet; uv exits with code
|
|
129
|
+
1, or 2 when even the file's metadata answered 404). A server error (5xx) or a refused download
|
|
130
|
+
(403) is not a delay and is handled as before. The voice
|
|
131
|
+
requirement carries its pinned version for this reason. Every other failure is handled as before: a system
|
|
132
|
+
without the voice or llama.cpp wheels still installs without them and the summary says so. An
|
|
133
|
+
install with `--pin latest` or `--from` pins nothing, so nothing is waited for.
|
|
134
|
+
|
|
105
135
|
## Upgrade
|
|
106
136
|
|
|
107
137
|
### Upgrade everything (recommended)
|
|
@@ -132,7 +162,7 @@ The line always runs the installer of the latest AbstractFramework release. It:
|
|
|
132
162
|
<latest>`, or `AbstractFramework <yours> found: already up to date` (every part is still checked,
|
|
133
163
|
and repaired when needed). An install made by 0.6.1 or earlier recorded no release, so its first
|
|
134
164
|
upgrade says `AbstractFramework found (abstractgateway 0.7.1; its release was not recorded):
|
|
135
|
-
upgrading to AbstractFramework 0.7.
|
|
165
|
+
upgrading to AbstractFramework 0.7.2` (with the gateway version you have);
|
|
136
166
|
- installs the gateway version that release pins, and every library the gateway uses
|
|
137
167
|
(AbstractCore, AbstractRuntime, AbstractAgent, AbstractSkill, AbstractMemory, AbstractSemantics
|
|
138
168
|
and the voice, vision, music and 3D packages) at the exact version released and tested with it ([Check your versions](#check-your-versions) shows
|
|
@@ -160,7 +190,8 @@ The line always runs the installer of the latest AbstractFramework release. It:
|
|
|
160
190
|
so a gateway of this data directory that you started yourself on the install's port is taken for
|
|
161
191
|
the login item and left running (stop it, then re-run the installer, to have the login item's);
|
|
162
192
|
- asks PyPI again for the packages it pins (`uv tool install --refresh-package ...`), so a release
|
|
163
|
-
published minutes earlier installs without clearing uv's cache
|
|
193
|
+
published minutes earlier installs without clearing uv's cache, and waits for PyPI's mirrors when
|
|
194
|
+
they have not caught up yet ([Right after a release](#right-after-a-release));
|
|
164
195
|
- never leaves the gateway stopped: when the login item cannot be registered, the gateway starts in
|
|
165
196
|
the background and the summary says how to turn start at login on;
|
|
166
197
|
- ends with what changed, old -> new, under **Changes** (`Changes: none` when nothing moved), and
|
|
@@ -172,7 +203,7 @@ The line always runs the installer of the latest AbstractFramework release. It:
|
|
|
172
203
|
|
|
173
204
|
Installs made by AbstractFramework 0.6.1 or earlier recorded neither their release nor your install
|
|
174
205
|
options. The first re-run says `AbstractFramework found (abstractgateway <version>; its release was
|
|
175
|
-
not recorded): upgrading to AbstractFramework 0.7.
|
|
206
|
+
not recorded): upgrading to AbstractFramework 0.7.2`, and reads your options from what is installed: whether the terminal console and `abstractcode` are
|
|
176
207
|
there, whether the gateway has the tray extra and the AbstractCore commands, whether the compiled
|
|
177
208
|
extras were built (`--full`), and a custom data directory through the gateway pointer. It prints
|
|
178
209
|
what it found (`read from disk: …`) and records it for later runs. You can also repeat your
|
|
@@ -294,7 +325,7 @@ The terminal console and an `abstractcode` built by the installer are upgraded b
|
|
|
294
325
|
|
|
295
326
|
```bash
|
|
296
327
|
abstractgateway --version # the installed gateway
|
|
297
|
-
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.
|
|
328
|
+
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.9.0])
|
|
298
329
|
abstractgateway-console --version # the terminal console
|
|
299
330
|
abstractcode --version # AbstractCode's terminal client
|
|
300
331
|
abstractgateway apps list # the apps: installed and latest
|
|
@@ -370,13 +401,15 @@ The Mac package, the `.command` files and the one line all run the same script,
|
|
|
370
401
|
login** switch counts), a first install leaves it off.
|
|
371
402
|
3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
|
|
372
403
|
4. Installs the gateway as an isolated uv tool, pinned to this release:
|
|
373
|
-
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.
|
|
404
|
+
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.9.0"`, from prebuilt wheels
|
|
374
405
|
only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
|
|
375
406
|
(reinstalling it in place when it does not). Every profile also gets local voice,
|
|
376
|
-
`--with "abstractvoice[supertonic,stt]"
|
|
377
|
-
both on CPU (skipped on musl Linux and macOS before
|
|
378
|
-
Supertonic only). If those packages do not install
|
|
379
|
-
2.28), the gateway is installed without them and the
|
|
407
|
+
`--with "abstractvoice[supertonic,stt]==0.13.2"` (the release's AbstractVoice): Supertonic
|
|
408
|
+
text-to-speech and Whisper speech-to-text, both on CPU (skipped on musl Linux and macOS before
|
|
409
|
+
13, where no wheels exist; Windows ARM64 gets Supertonic only). If those packages do not install
|
|
410
|
+
on a system (for example glibc older than 2.28), the gateway is installed without them and the
|
|
411
|
+
summary says so. A release that PyPI has not yet published to every mirror never causes that:
|
|
412
|
+
see [Right after a release](#right-after-a-release). The same install puts
|
|
380
413
|
AbstractCore's commands and those of its voice, vision and music packages on PATH next to the
|
|
381
414
|
gateway's (`--with-executables-from`; `--no-core-cli` leaves them out): see
|
|
382
415
|
[Commands you get](#commands-you-get).
|
|
@@ -720,7 +753,7 @@ instead of starting a browser.
|
|
|
720
753
|
```bash
|
|
721
754
|
curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
|
|
722
755
|
uv python install 3.12
|
|
723
|
-
uv tool install --python 3.12 "abstractgateway[tray]==0.
|
|
756
|
+
uv tool install --python 3.12 "abstractgateway[tray]==0.9.0" # [apple,tray] or [gpu,tray] for local engines
|
|
724
757
|
# (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
|
|
725
758
|
uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
|
|
726
759
|
abstractgateway service install --port 8080 # or: abstractgateway serve
|
|
@@ -840,8 +873,8 @@ Python 3.11 to 3.13), but it gets PyPI's CPU-only PyTorch and no llama.cpp: use
|
|
|
840
873
|
installer, which adds PyTorch's CUDA build and llama.cpp's prebuilt GPU build
|
|
841
874
|
([GPU on Windows](#gpu-on-windows-nvidia)).
|
|
842
875
|
|
|
843
|
-
`abstractframework` 0.7.
|
|
844
|
-
`abstractcore==2.
|
|
876
|
+
`abstractframework` 0.7.2 pins `abstractgateway==0.9.0`, `abstractassistant==0.10.0`,
|
|
877
|
+
`abstractcore==2.21.0`, `AbstractRuntime==0.8.1`, `abstractagent==0.3.17`, `abstractskill==0.3.0`,
|
|
845
878
|
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.13.2`,
|
|
846
879
|
`abstractvision==0.3.33`, `abstractmusic==0.1.15` and `abstract3d==0.3.2`. The `apple` and `gpu` extras select
|
|
847
880
|
`abstractgateway[apple|gpu]` and `abstractassistant[apple|gpu]` at the same versions
|
|
@@ -929,17 +962,17 @@ Then run `abstractframework doctor`.
|
|
|
929
962
|
The browser apps and the Rust terminal tools are not Python packages, so no profile installs them.
|
|
930
963
|
Run or install them next to the Python stack:
|
|
931
964
|
|
|
932
|
-
| Tool | Command | Version released with 0.7.
|
|
965
|
+
| Tool | Command | Version released with 0.7.2 |
|
|
933
966
|
|---|---|---|
|
|
934
|
-
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.
|
|
935
|
-
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.
|
|
967
|
+
| Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.9.0 |
|
|
968
|
+
| Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.21.0 |
|
|
936
969
|
| 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.5.0 |
|
|
937
970
|
| 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.12.0 |
|
|
938
|
-
| Flow Editor | the console's **Apps** page (opens at `/apps/flow/`), or on its own: `npx @abstractframework/flow --gateway-url <url>` | 0.
|
|
939
|
-
| Code Web UI | the console's **Apps** page (`/apps/code/`), or `npx @abstractframework/code --gateway-url <url>` | 0.
|
|
940
|
-
| Observer | the console's **Apps** page (`/apps/observer/`), or `npx @abstractframework/observer --gateway-url <url>` | 0.
|
|
941
|
-
| Continuum console | the console's **Apps** page (`/apps/continuum/`), or `npx @abstractframework/continuum --gateway-url <url>` | 0.
|
|
942
|
-
| Entity manager | the console's **Apps** page (`/apps/entity/`), or `npx @abstractframework/entity --gateway-url <url>` | 0.
|
|
971
|
+
| Flow Editor | the console's **Apps** page (opens at `/apps/flow/`), or on its own: `npx @abstractframework/flow --gateway-url <url>` | 0.5.0 |
|
|
972
|
+
| Code Web UI | the console's **Apps** page (`/apps/code/`), or `npx @abstractframework/code --gateway-url <url>` | 0.8.0 |
|
|
973
|
+
| Observer | the console's **Apps** page (`/apps/observer/`), or `npx @abstractframework/observer --gateway-url <url>` | 0.4.0 |
|
|
974
|
+
| Continuum console | the console's **Apps** page (`/apps/continuum/`), or `npx @abstractframework/continuum --gateway-url <url>` | 0.5.0 |
|
|
975
|
+
| Entity manager | the console's **Apps** page (`/apps/entity/`), or `npx @abstractframework/entity --gateway-url <url>` | 0.4.0 |
|
|
943
976
|
| AbstractCode terminal client | `cargo install abstractcode`, or a prebuilt binary from the [AbstractCode GitHub release](https://github.com/lpalbou/AbstractCode/releases) | 0.7.1 |
|
|
944
977
|
|
|
945
978
|
The browser apps need a running gateway. The gateway installs, starts and serves them itself, on
|
|
@@ -983,7 +1016,7 @@ docker run \
|
|
|
983
1016
|
-v "$PWD/runtime:/data" \
|
|
984
1017
|
-e ABSTRACTGATEWAY_DATA_DIR=/data \
|
|
985
1018
|
-e ABSTRACTGATEWAY_USER_AUTH=1 \
|
|
986
|
-
ghcr.io/lpalbou/abstractgateway:0.
|
|
1019
|
+
ghcr.io/lpalbou/abstractgateway:0.9.0
|
|
987
1020
|
```
|
|
988
1021
|
|
|
989
1022
|
This is the Light container: full framework capabilities through remote/endpoint inference, without
|
|
@@ -991,7 +1024,7 @@ local MLX/CUDA stacks. On first start it creates `default/admin` and writes the
|
|
|
991
1024
|
`runtime/auth/bootstrap-admin-token`. Use `ghcr.io/lpalbou/abstractgateway:gpu-latest` only on an
|
|
992
1025
|
NVIDIA host when you explicitly want the local GPU profile (pinned tags are `<version>-gpu`, published on a best-effort basis; this image is
|
|
993
1026
|
experimental). The AbstractCore OpenAI-compatible server is also published as
|
|
994
|
-
`ghcr.io/lpalbou/abstractcore-server:2.
|
|
1027
|
+
`ghcr.io/lpalbou/abstractcore-server:2.21.0`.
|
|
995
1028
|
|
|
996
1029
|
## How installs are designed
|
|
997
1030
|
|