abstractframework 0.11.2__tar.gz → 0.11.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {abstractframework-0.11.2 → abstractframework-0.11.4}/CHANGELOG.md +25 -0
- {abstractframework-0.11.2/abstractframework.egg-info → abstractframework-0.11.4}/PKG-INFO +7 -7
- {abstractframework-0.11.2 → abstractframework-0.11.4}/README.md +3 -3
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework/__init__.py +2 -2
- {abstractframework-0.11.2 → abstractframework-0.11.4/abstractframework.egg-info}/PKG-INFO +7 -7
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework.egg-info/requires.txt +3 -3
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/api.md +7 -7
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/gateway-security.md +17 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/install.md +20 -10
- {abstractframework-0.11.2 → abstractframework-0.11.4}/llms-full.txt +55 -28
- {abstractframework-0.11.2 → abstractframework-0.11.4}/llms.txt +2 -2
- {abstractframework-0.11.2 → abstractframework-0.11.4}/pyproject.toml +4 -4
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/install.sh +113 -27
- abstractframework-0.11.4/tests/test_install_app_upgrade.py +304 -0
- abstractframework-0.11.2/tests/test_install_app_upgrade.py +0 -174
- {abstractframework-0.11.2 → abstractframework-0.11.4}/LICENSE +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/MANIFEST.in +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework/__main__.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework/cli.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework/install_manifest.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework/py.typed +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework.egg-info/SOURCES.txt +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/agent-sessions.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/architecture.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/automations.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/claude/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/comparisons/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/configuration.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/faq.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/getting-started.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/glossary.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/components.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/implementation-plan.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/strategy.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/installers/user-journeys.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/README.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/troubleshooting.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/af-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/af.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/assistant.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/build.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/check_identity_sync.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/clone.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/code-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/code.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/commit.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/console-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/console.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/deps.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/entity-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/entity.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/flow-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/flow.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/gateway.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/gateway_flags.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/observer-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/observer.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/pull.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/push.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/start-local.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/start.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/status.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/steer_repl.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/tests/test_install_user_path.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/uninstall.sh +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/setup.cfg +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_gateway_launch_flags.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_install_index_lag.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_install_macos_profile.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_install_profiles.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_install_ps1_gpu_stack.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_install_ps1_own_gateway.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_install_sh_gpu_stack.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_install_sh_gpu_twin.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_llms_full.py +0 -0
- {abstractframework-0.11.2 → abstractframework-0.11.4}/tests/test_uv_tool_install_atomicity.py +0 -0
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to AbstractFramework will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.11.4] - 2026-10-17
|
|
6
|
+
|
|
7
|
+
Installer fix: upgrades keep the browser apps on the release. Package pins are unchanged from 0.11.3
|
|
8
|
+
(AbstractGateway 0.15.1 across the light, Apple and GPU profiles).
|
|
9
|
+
|
|
10
|
+
- Re-running `install.sh` or `install.ps1` brings every browser app the gateway has installed (Flow,
|
|
11
|
+
Code, Observer, Continuum, Entity) to this release's version in every case the step covers: it
|
|
12
|
+
starts once the gateway's boot is over, waits up to 90 s for an app the gateway is still starting,
|
|
13
|
+
and signs its `abstractgateway apps` calls with the data dir's token passed as a parameter, so an
|
|
14
|
+
`ABSTRACTGATEWAY_AUTH_TOKEN` set in your shell for another gateway no longer makes the step fail.
|
|
15
|
+
- A copy of an app running outside the gateway on the app's port no longer hides the gateway's own
|
|
16
|
+
install: the install is updated, the summary's Apps line names the outside copy (`RUNNING: a copy
|
|
17
|
+
started outside the gateway, <version> on port <port> (pid <pid>)`), and a copy not at this release's
|
|
18
|
+
version is listed in red with the pid to stop. See [Upgrade the apps](docs/install.md#upgrade-the-apps).
|
|
19
|
+
- Who is affected: anyone upgrading with the one-line installers (`curl -LsSf https://abstractframework.ai/install.sh | sh`,
|
|
20
|
+
`powershell -ExecutionPolicy ByPass -c "irm https://abstractframework.ai/install.ps1 | iex"`). A fresh
|
|
21
|
+
`pip install abstractframework==0.11.4` resolves the same packages as 0.11.3.
|
|
22
|
+
|
|
23
|
+
## [0.11.3] - 2026-10-17
|
|
24
|
+
|
|
25
|
+
Pins **AbstractGateway 0.15.1** across the light, Apple and GPU profiles. Other package pins are unchanged.
|
|
26
|
+
|
|
27
|
+
- Admin-configured provider endpoints are shared by default with human users and entities. New accounts can run workflows using the gateway's default endpoint without supplying their own provider URL or key. Existing root connections are inherited automatically.
|
|
28
|
+
- Bootstrap installers and the generated install manifest select Gateway 0.15.1.
|
|
29
|
+
|
|
5
30
|
## [0.11.2] - 2026-10-17
|
|
6
31
|
|
|
7
32
|
Hold to talk in the Assistant — pins abstractassistant 0.14.0; every other package unchanged from 0.11.1.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.4
|
|
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,7 +23,7 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: abstractgateway==0.15.
|
|
26
|
+
Requires-Dist: abstractgateway==0.15.1
|
|
27
27
|
Requires-Dist: abstractassistant==0.14.0
|
|
28
28
|
Requires-Dist: abstractcore==2.26.0
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.10.2
|
|
@@ -36,10 +36,10 @@ Requires-Dist: abstractvision==0.3.33
|
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.16
|
|
37
37
|
Requires-Dist: abstract3d==0.3.2
|
|
38
38
|
Provides-Extra: apple
|
|
39
|
-
Requires-Dist: abstractgateway[apple]==0.15.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.15.1; extra == "apple"
|
|
40
40
|
Requires-Dist: abstractassistant[apple]==0.14.0; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.15.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.15.1; extra == "gpu"
|
|
43
43
|
Requires-Dist: abstractassistant[gpu]==0.14.0; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
@@ -221,7 +221,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
221
221
|
```
|
|
222
222
|
|
|
223
223
|
Container images are published for the gateway and the AbstractCore server:
|
|
224
|
-
`ghcr.io/lpalbou/abstractgateway:0.15.
|
|
224
|
+
`ghcr.io/lpalbou/abstractgateway:0.15.1` and `ghcr.io/lpalbou/abstractcore-server:2.26.0`.
|
|
225
225
|
|
|
226
226
|
For artifact and runtime-resource investigation, see
|
|
227
227
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -383,7 +383,7 @@ and tested together.
|
|
|
383
383
|
|
|
384
384
|
| Registry | Package | Version |
|
|
385
385
|
|---|---|---|
|
|
386
|
-
| PyPI | `abstractgateway` | 0.15.
|
|
386
|
+
| PyPI | `abstractgateway` | 0.15.1 |
|
|
387
387
|
| PyPI | `abstractassistant` | 0.14.0 |
|
|
388
388
|
| PyPI | `abstractcore` | 2.26.0 |
|
|
389
389
|
| PyPI | `AbstractRuntime` | 0.10.2 |
|
|
@@ -404,7 +404,7 @@ and tested together.
|
|
|
404
404
|
| crates.io | `abstractgateway-console` | 0.16.0 |
|
|
405
405
|
| crates.io | `abstractcore-console` | 0.8.0 |
|
|
406
406
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
407
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.
|
|
407
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
408
408
|
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.0 |
|
|
409
409
|
|
|
410
410
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
@@ -176,7 +176,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
176
176
|
```
|
|
177
177
|
|
|
178
178
|
Container images are published for the gateway and the AbstractCore server:
|
|
179
|
-
`ghcr.io/lpalbou/abstractgateway:0.15.
|
|
179
|
+
`ghcr.io/lpalbou/abstractgateway:0.15.1` and `ghcr.io/lpalbou/abstractcore-server:2.26.0`.
|
|
180
180
|
|
|
181
181
|
For artifact and runtime-resource investigation, see
|
|
182
182
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -338,7 +338,7 @@ and tested together.
|
|
|
338
338
|
|
|
339
339
|
| Registry | Package | Version |
|
|
340
340
|
|---|---|---|
|
|
341
|
-
| PyPI | `abstractgateway` | 0.15.
|
|
341
|
+
| PyPI | `abstractgateway` | 0.15.1 |
|
|
342
342
|
| PyPI | `abstractassistant` | 0.14.0 |
|
|
343
343
|
| PyPI | `abstractcore` | 2.26.0 |
|
|
344
344
|
| PyPI | `AbstractRuntime` | 0.10.2 |
|
|
@@ -359,7 +359,7 @@ and tested together.
|
|
|
359
359
|
| crates.io | `abstractgateway-console` | 0.16.0 |
|
|
360
360
|
| crates.io | `abstractcore-console` | 0.8.0 |
|
|
361
361
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
362
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.
|
|
362
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
363
363
|
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.0 |
|
|
364
364
|
|
|
365
365
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
@@ -10,7 +10,7 @@ Most implementation functionality still lives in component projects.
|
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
__version__ = "0.11.
|
|
13
|
+
__version__ = "0.11.4"
|
|
14
14
|
__author__ = "Laurent-Philippe Albou"
|
|
15
15
|
__license__ = "MIT"
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ RELEASE_VERSIONS: dict[str, str] = {
|
|
|
18
18
|
"abstractcore": "2.26.0",
|
|
19
19
|
"abstractruntime": "0.10.2",
|
|
20
20
|
"abstractagent": "0.3.19",
|
|
21
|
-
"abstractgateway": "0.15.
|
|
21
|
+
"abstractgateway": "0.15.1",
|
|
22
22
|
"abstractskill": "0.3.0",
|
|
23
23
|
"abstractmemory": "0.3.0",
|
|
24
24
|
"abstractsemantics": "0.0.5",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.4
|
|
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,7 +23,7 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: abstractgateway==0.15.
|
|
26
|
+
Requires-Dist: abstractgateway==0.15.1
|
|
27
27
|
Requires-Dist: abstractassistant==0.14.0
|
|
28
28
|
Requires-Dist: abstractcore==2.26.0
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.10.2
|
|
@@ -36,10 +36,10 @@ Requires-Dist: abstractvision==0.3.33
|
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.16
|
|
37
37
|
Requires-Dist: abstract3d==0.3.2
|
|
38
38
|
Provides-Extra: apple
|
|
39
|
-
Requires-Dist: abstractgateway[apple]==0.15.
|
|
39
|
+
Requires-Dist: abstractgateway[apple]==0.15.1; extra == "apple"
|
|
40
40
|
Requires-Dist: abstractassistant[apple]==0.14.0; platform_system == "Darwin" and extra == "apple"
|
|
41
41
|
Provides-Extra: gpu
|
|
42
|
-
Requires-Dist: abstractgateway[gpu]==0.15.
|
|
42
|
+
Requires-Dist: abstractgateway[gpu]==0.15.1; extra == "gpu"
|
|
43
43
|
Requires-Dist: abstractassistant[gpu]==0.14.0; extra == "gpu"
|
|
44
44
|
Dynamic: license-file
|
|
45
45
|
|
|
@@ -221,7 +221,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
221
221
|
```
|
|
222
222
|
|
|
223
223
|
Container images are published for the gateway and the AbstractCore server:
|
|
224
|
-
`ghcr.io/lpalbou/abstractgateway:0.15.
|
|
224
|
+
`ghcr.io/lpalbou/abstractgateway:0.15.1` and `ghcr.io/lpalbou/abstractcore-server:2.26.0`.
|
|
225
225
|
|
|
226
226
|
For artifact and runtime-resource investigation, see
|
|
227
227
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -383,7 +383,7 @@ and tested together.
|
|
|
383
383
|
|
|
384
384
|
| Registry | Package | Version |
|
|
385
385
|
|---|---|---|
|
|
386
|
-
| PyPI | `abstractgateway` | 0.15.
|
|
386
|
+
| PyPI | `abstractgateway` | 0.15.1 |
|
|
387
387
|
| PyPI | `abstractassistant` | 0.14.0 |
|
|
388
388
|
| PyPI | `abstractcore` | 2.26.0 |
|
|
389
389
|
| PyPI | `AbstractRuntime` | 0.10.2 |
|
|
@@ -404,7 +404,7 @@ and tested together.
|
|
|
404
404
|
| crates.io | `abstractgateway-console` | 0.16.0 |
|
|
405
405
|
| crates.io | `abstractcore-console` | 0.8.0 |
|
|
406
406
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
407
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.
|
|
407
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
408
408
|
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.0 |
|
|
409
409
|
|
|
410
410
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
{abstractframework-0.11.2 → abstractframework-0.11.4}/abstractframework.egg-info/requires.txt
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
abstractgateway==0.15.
|
|
1
|
+
abstractgateway==0.15.1
|
|
2
2
|
abstractassistant==0.14.0
|
|
3
3
|
abstractcore==2.26.0
|
|
4
4
|
AbstractRuntime==0.10.2
|
|
@@ -12,11 +12,11 @@ abstractmusic==0.1.16
|
|
|
12
12
|
abstract3d==0.3.2
|
|
13
13
|
|
|
14
14
|
[apple]
|
|
15
|
-
abstractgateway[apple]==0.15.
|
|
15
|
+
abstractgateway[apple]==0.15.1
|
|
16
16
|
|
|
17
17
|
[apple:platform_system == "Darwin"]
|
|
18
18
|
abstractassistant[apple]==0.14.0
|
|
19
19
|
|
|
20
20
|
[gpu]
|
|
21
|
-
abstractgateway[gpu]==0.15.
|
|
21
|
+
abstractgateway[gpu]==0.15.1
|
|
22
22
|
abstractassistant[gpu]==0.14.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.11.
|
|
58
|
+
The meta-package version (`0.11.4` for this release).
|
|
59
59
|
|
|
60
60
|
### `RELEASE_VERSIONS`
|
|
61
61
|
|
|
62
|
-
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.11.
|
|
63
|
-
`abstractcore` 2.26.0, `abstractruntime` 0.10.
|
|
62
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.11.4:
|
|
63
|
+
`abstractcore` 2.26.0, `abstractruntime` 0.10.2, `abstractagent` 0.3.19, `abstractgateway` 0.15.1,
|
|
64
64
|
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.15.0, `abstractvision` 0.3.33,
|
|
65
|
-
`abstractmusic` 0.1.16, `abstract3d` 0.3.2, `abstractassistant` 0.
|
|
65
|
+
`abstractmusic` 0.1.16, `abstract3d` 0.3.2, `abstractassistant` 0.14.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.
|
|
75
|
+
`@abstractframework/flow` 0.10.0, `@abstractframework/code` 0.11.2,
|
|
76
|
+
`@abstractframework/observer` 0.8.0, `@abstractframework/continuum` 0.7.0 and
|
|
77
77
|
`@abstractframework/entity` 0.7.1. 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.16.0, `abstractcore-console` 0.8.0, `abstractcode` 0.
|
|
82
|
+
`abstractgateway-console` 0.16.0, `abstractcore-console` 0.8.0, `abstractcode` 0.10.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
|
|
|
@@ -53,6 +53,23 @@ across Gateway discovery, import/export, and Runtime execution.
|
|
|
53
53
|
Current UI surfaces may still say `Workspace` in some places. The engineering
|
|
54
54
|
term remains `Workspace File` / `Workspace Folder`.
|
|
55
55
|
|
|
56
|
+
## Shared provider access
|
|
57
|
+
|
|
58
|
+
With AbstractGateway 0.15.1 or later, every enabled provider connection configured
|
|
59
|
+
by an admin is available by default to human users and digital users/entities on
|
|
60
|
+
that gateway. New users inherit the gateway's capability defaults, so workflows
|
|
61
|
+
without provider/model overrides use the admin's selected endpoint. Users do not
|
|
62
|
+
need a copy of its upstream API key or a separate provider configuration.
|
|
63
|
+
The gateway-wide default is the operator's baseline; an account can override
|
|
64
|
+
its own model preference without changing other accounts' defaults.
|
|
65
|
+
|
|
66
|
+
Shared access permits use through the gateway; editing or deleting an admin
|
|
67
|
+
connection still requires an admin. Provider keys remain server-side, disabled
|
|
68
|
+
connections remain unavailable, and users' own private connections remain private.
|
|
69
|
+
Existing root connections are inherited automatically, including connections
|
|
70
|
+
stored with the legacy `scope: user` value. Per-user provider restrictions are
|
|
71
|
+
not part of this release.
|
|
72
|
+
|
|
56
73
|
## User isolation
|
|
57
74
|
|
|
58
75
|
When Gateway user auth is enabled, each user token resolves to a Gateway
|
|
@@ -360,11 +360,21 @@ installer keeps them on the release: on every install and upgrade, once the gate
|
|
|
360
360
|
browser app the gateway has installed is brought to this release's version (`--print` lists the
|
|
361
361
|
planned updates) through the gateway's own `abstractgateway apps update <app> --version <version>`,
|
|
362
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
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
363
|
+
command-line call against the running gateway, signed in with `<data dir>/auth/bootstrap-admin-token`
|
|
364
|
+
passed as a parameter (an `ABSTRACTGATEWAY_AUTH_TOKEN` in your shell, set for another gateway, is
|
|
365
|
+
not used), so it works the same on a headless or terminal-only machine: no browser or web console is
|
|
366
|
+
involved. The step starts only once the gateway's boot is over (`/api/health` no longer says
|
|
367
|
+
`"status": "starting"`) and waits, up to 90 s, for an app the gateway is still starting, so the
|
|
368
|
+
update restarts it on the new version. The summary's **Apps** line lists each app's version; an app
|
|
369
|
+
that could not be updated is listed in red with the command to retry, and the installer exits 1. A
|
|
370
|
+
fresh install installs no app: the console's **Apps** page installs them.
|
|
371
|
+
|
|
372
|
+
An app's port may be held by a copy the gateway did not start: a leftover of a gateway that died
|
|
373
|
+
hard, or an app run by hand with `npx`. The gateway lists that copy as *external* and cannot stop or
|
|
374
|
+
restart it, so the gateway's own install is updated and the **Apps** line says `RUNNING: a copy
|
|
375
|
+
started outside the gateway, <version> on port <port> (pid <pid>)`; when that copy is not at this
|
|
376
|
+
release's version, the summary shows it in red with the pid to stop (`kill <pid>`, then
|
|
377
|
+
`abstractgateway apps launch <app>`).
|
|
368
378
|
|
|
369
379
|
When no gateway answers (`--no-start` while the gateway is stopped), the installer writes the
|
|
370
380
|
release's versions to `<data dir>/apps-upgrade.pending` instead, and the gateway (0.11.1 and later)
|
|
@@ -389,7 +399,7 @@ The terminal console and an `abstractcode` built by the installer are upgraded b
|
|
|
389
399
|
|
|
390
400
|
```bash
|
|
391
401
|
abstractgateway --version # the installed gateway
|
|
392
|
-
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.15.
|
|
402
|
+
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.15.1])
|
|
393
403
|
abstractgateway-console --version # the terminal console
|
|
394
404
|
abstractcode --version # AbstractCode's terminal client
|
|
395
405
|
abstractgateway apps list # the apps: installed and latest
|
|
@@ -465,7 +475,7 @@ The Mac package, the `.command` files and the one line all run the same script,
|
|
|
465
475
|
login** switch counts), a first install leaves it off.
|
|
466
476
|
3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
|
|
467
477
|
4. Installs the gateway as an isolated uv tool, pinned to this release:
|
|
468
|
-
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.15.
|
|
478
|
+
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.15.1"`, from prebuilt wheels
|
|
469
479
|
only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
|
|
470
480
|
(reinstalling it in place when it does not). Every profile also gets local voice,
|
|
471
481
|
`--with "abstractvoice[supertonic,stt]==0.15.0"` (the release's AbstractVoice): Supertonic
|
|
@@ -810,7 +820,7 @@ instead of starting a browser.
|
|
|
810
820
|
```bash
|
|
811
821
|
curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
|
|
812
822
|
uv python install 3.12
|
|
813
|
-
uv tool install --python 3.12 "abstractgateway[tray]==0.15.
|
|
823
|
+
uv tool install --python 3.12 "abstractgateway[tray]==0.15.1" # [apple,tray] or [gpu,tray] for local engines
|
|
814
824
|
# (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
|
|
815
825
|
uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
|
|
816
826
|
abstractgateway service install --port 8080 # or: abstractgateway serve
|
|
@@ -944,7 +954,7 @@ Python 3.11 to 3.13), but it gets PyPI's CPU-only PyTorch and no llama.cpp: use
|
|
|
944
954
|
installer, which adds PyTorch's CUDA build and llama.cpp's prebuilt GPU build
|
|
945
955
|
([GPU on Windows](#gpu-on-windows-nvidia)).
|
|
946
956
|
|
|
947
|
-
`abstractframework` 0.11.
|
|
957
|
+
`abstractframework` 0.11.4 pins `abstractgateway==0.15.1`, `abstractassistant==0.14.0`,
|
|
948
958
|
`abstractcore==2.26.0`, `AbstractRuntime==0.10.2`, `abstractagent==0.3.19`, `abstractskill==0.3.0`,
|
|
949
959
|
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.15.0`,
|
|
950
960
|
`abstractvision==0.3.33`, `abstractmusic==0.1.16` and `abstract3d==0.3.2`. The `apple` and `gpu` extras select
|
|
@@ -1087,7 +1097,7 @@ docker run \
|
|
|
1087
1097
|
-v "$PWD/runtime:/data" \
|
|
1088
1098
|
-e ABSTRACTGATEWAY_DATA_DIR=/data \
|
|
1089
1099
|
-e ABSTRACTGATEWAY_USER_AUTH=1 \
|
|
1090
|
-
ghcr.io/lpalbou/abstractgateway:0.15.
|
|
1100
|
+
ghcr.io/lpalbou/abstractgateway:0.15.1
|
|
1091
1101
|
```
|
|
1092
1102
|
|
|
1093
1103
|
This is the Light container: full framework capabilities through remote/endpoint inference, without
|
|
@@ -180,7 +180,7 @@ abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token
|
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
Container images are published for the gateway and the AbstractCore server:
|
|
183
|
-
`ghcr.io/lpalbou/abstractgateway:0.15.
|
|
183
|
+
`ghcr.io/lpalbou/abstractgateway:0.15.1` and `ghcr.io/lpalbou/abstractcore-server:2.26.0`.
|
|
184
184
|
|
|
185
185
|
For artifact and runtime-resource investigation, see
|
|
186
186
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -342,7 +342,7 @@ and tested together.
|
|
|
342
342
|
|
|
343
343
|
| Registry | Package | Version |
|
|
344
344
|
|---|---|---|
|
|
345
|
-
| PyPI | `abstractgateway` | 0.15.
|
|
345
|
+
| PyPI | `abstractgateway` | 0.15.1 |
|
|
346
346
|
| PyPI | `abstractassistant` | 0.14.0 |
|
|
347
347
|
| PyPI | `abstractcore` | 2.26.0 |
|
|
348
348
|
| PyPI | `AbstractRuntime` | 0.10.2 |
|
|
@@ -363,7 +363,7 @@ and tested together.
|
|
|
363
363
|
| crates.io | `abstractgateway-console` | 0.16.0 |
|
|
364
364
|
| crates.io | `abstractcore-console` | 0.8.0 |
|
|
365
365
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
366
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.
|
|
366
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.15.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
367
367
|
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.26.0 |
|
|
368
368
|
|
|
369
369
|
`abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
|
|
@@ -616,8 +616,8 @@ Notes for LLMs working in this repo:
|
|
|
616
616
|
- [abstractframework/__init__.py](abstractframework/__init__.py): `RELEASE_VERSIONS`, `NPM_RELEASE_VERSIONS`, `CRATE_RELEASE_VERSIONS`, `get_release_profile()`, `print_status()`.
|
|
617
617
|
- [docs/installers/install-manifest.json](docs/installers/install-manifest.json): Generated install manifest, schema v2 (pins, profiles, npm apps, `bootstrap` gateway pin/scripts/flags, console-first `post_install`).
|
|
618
618
|
- [scripts/install.sh](scripts/install.sh) / [scripts/install.ps1](scripts/install.ps1): The bootstrap installers.
|
|
619
|
-
- abstractframework 0.11.
|
|
620
|
-
- Released with it: npm `@abstractframework/flow` 0.
|
|
619
|
+
- abstractframework 0.11.4 pins (PyPI, `==`): abstractgateway 0.15.1, abstractassistant 0.14.0, abstractcore 2.26.0, AbstractRuntime 0.10.2, abstractagent 0.3.19, abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.15.0, abstractvision 0.3.33, abstractmusic 0.1.16, abstract3d 0.3.2.
|
|
620
|
+
- Released with it: npm `@abstractframework/flow` 0.10.0, `code` 0.11.2, `observer` 0.8.0, `continuum` 0.7.0, `entity` 0.7.1 (opened through the gateway at `/apps/<app>/`, or run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.16.0 (built by the installer by default), `abstractcore-console` 0.8.0, `abstractcode` 0.10.0, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.15.1`, `ghcr.io/lpalbou/abstractcore-server:2.26.0`.
|
|
621
621
|
- Profiles: light (remote-only), apple (`abstractframework[apple]`, macOS 14+ Apple Silicon), gpu (`abstractframework[gpu]`); Python 3.10-3.13 (F5-TTS voice cloning in apple/gpu needs 3.11+).
|
|
622
622
|
|
|
623
623
|
## Full Context
|
|
@@ -645,7 +645,7 @@ build-backend = "setuptools.build_meta"
|
|
|
645
645
|
|
|
646
646
|
[project]
|
|
647
647
|
name = "abstractframework"
|
|
648
|
-
version = "0.11.
|
|
648
|
+
version = "0.11.4"
|
|
649
649
|
description = "Unified installer and documentation hub for the AbstractFramework ecosystem"
|
|
650
650
|
readme = "README.md"
|
|
651
651
|
license = {text = "MIT"}
|
|
@@ -689,7 +689,7 @@ requires-python = ">=3.10"
|
|
|
689
689
|
# - Keep the meta-package aligned with the real per-package profiles (especially `abstractgateway`).
|
|
690
690
|
dependencies = [
|
|
691
691
|
# Durable Gateway control plane (remote-light by default).
|
|
692
|
-
"abstractgateway==0.15.
|
|
692
|
+
"abstractgateway==0.15.1",
|
|
693
693
|
|
|
694
694
|
# Workflow authoring UI is distributed through npm as @abstractframework/flow.
|
|
695
695
|
"abstractassistant==0.14.0",
|
|
@@ -723,12 +723,12 @@ dependencies = [
|
|
|
723
723
|
# the stack by selecting the hardware-local dependency aggregates (owned by Gateway),
|
|
724
724
|
# then adds user-facing apps.
|
|
725
725
|
apple = [
|
|
726
|
-
"abstractgateway[apple]==0.15.
|
|
726
|
+
"abstractgateway[apple]==0.15.1",
|
|
727
727
|
"abstractassistant[apple]==0.14.0; platform_system == \"Darwin\"",
|
|
728
728
|
]
|
|
729
729
|
|
|
730
730
|
gpu = [
|
|
731
|
-
"abstractgateway[gpu]==0.15.
|
|
731
|
+
"abstractgateway[gpu]==0.15.1",
|
|
732
732
|
"abstractassistant[gpu]==0.14.0",
|
|
733
733
|
]
|
|
734
734
|
|
|
@@ -781,7 +781,7 @@ Most implementation functionality still lives in component projects.
|
|
|
781
781
|
|
|
782
782
|
from __future__ import annotations
|
|
783
783
|
|
|
784
|
-
__version__ = "0.11.
|
|
784
|
+
__version__ = "0.11.4"
|
|
785
785
|
__author__ = "Laurent-Philippe Albou"
|
|
786
786
|
__license__ = "MIT"
|
|
787
787
|
|
|
@@ -789,7 +789,7 @@ RELEASE_VERSIONS: dict[str, str] = {
|
|
|
789
789
|
"abstractcore": "2.26.0",
|
|
790
790
|
"abstractruntime": "0.10.2",
|
|
791
791
|
"abstractagent": "0.3.19",
|
|
792
|
-
"abstractgateway": "0.15.
|
|
792
|
+
"abstractgateway": "0.15.1",
|
|
793
793
|
"abstractskill": "0.3.0",
|
|
794
794
|
"abstractmemory": "0.3.0",
|
|
795
795
|
"abstractsemantics": "0.0.5",
|
|
@@ -4112,11 +4112,21 @@ installer keeps them on the release: on every install and upgrade, once the gate
|
|
|
4112
4112
|
browser app the gateway has installed is brought to this release's version (`--print` lists the
|
|
4113
4113
|
planned updates) through the gateway's own `abstractgateway apps update <app> --version <version>`,
|
|
4114
4114
|
so the gateway's apps registry stays right and a running app restarts on the new version. It is a
|
|
4115
|
-
command-line call against the running gateway
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4115
|
+
command-line call against the running gateway, signed in with `<data dir>/auth/bootstrap-admin-token`
|
|
4116
|
+
passed as a parameter (an `ABSTRACTGATEWAY_AUTH_TOKEN` in your shell, set for another gateway, is
|
|
4117
|
+
not used), so it works the same on a headless or terminal-only machine: no browser or web console is
|
|
4118
|
+
involved. The step starts only once the gateway's boot is over (`/api/health` no longer says
|
|
4119
|
+
`"status": "starting"`) and waits, up to 90 s, for an app the gateway is still starting, so the
|
|
4120
|
+
update restarts it on the new version. The summary's **Apps** line lists each app's version; an app
|
|
4121
|
+
that could not be updated is listed in red with the command to retry, and the installer exits 1. A
|
|
4122
|
+
fresh install installs no app: the console's **Apps** page installs them.
|
|
4123
|
+
|
|
4124
|
+
An app's port may be held by a copy the gateway did not start: a leftover of a gateway that died
|
|
4125
|
+
hard, or an app run by hand with `npx`. The gateway lists that copy as *external* and cannot stop or
|
|
4126
|
+
restart it, so the gateway's own install is updated and the **Apps** line says `RUNNING: a copy
|
|
4127
|
+
started outside the gateway, <version> on port <port> (pid <pid>)`; when that copy is not at this
|
|
4128
|
+
release's version, the summary shows it in red with the pid to stop (`kill <pid>`, then
|
|
4129
|
+
`abstractgateway apps launch <app>`).
|
|
4120
4130
|
|
|
4121
4131
|
When no gateway answers (`--no-start` while the gateway is stopped), the installer writes the
|
|
4122
4132
|
release's versions to `<data dir>/apps-upgrade.pending` instead, and the gateway (0.11.1 and later)
|
|
@@ -4141,7 +4151,7 @@ The terminal console and an `abstractcode` built by the installer are upgraded b
|
|
|
4141
4151
|
|
|
4142
4152
|
```bash
|
|
4143
4153
|
abstractgateway --version # the installed gateway
|
|
4144
|
-
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.15.
|
|
4154
|
+
uv tool list --show-version-specifiers # the gateway uv tool and its pin ([required: ==0.15.1])
|
|
4145
4155
|
abstractgateway-console --version # the terminal console
|
|
4146
4156
|
abstractcode --version # AbstractCode's terminal client
|
|
4147
4157
|
abstractgateway apps list # the apps: installed and latest
|
|
@@ -4217,7 +4227,7 @@ The Mac package, the `.command` files and the one line all run the same script,
|
|
|
4217
4227
|
login** switch counts), a first install leaves it off.
|
|
4218
4228
|
3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
|
|
4219
4229
|
4. Installs the gateway as an isolated uv tool, pinned to this release:
|
|
4220
|
-
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.15.
|
|
4230
|
+
`uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.15.1"`, from prebuilt wheels
|
|
4221
4231
|
only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
|
|
4222
4232
|
(reinstalling it in place when it does not). Every profile also gets local voice,
|
|
4223
4233
|
`--with "abstractvoice[supertonic,stt]==0.15.0"` (the release's AbstractVoice): Supertonic
|
|
@@ -4562,7 +4572,7 @@ instead of starting a browser.
|
|
|
4562
4572
|
```bash
|
|
4563
4573
|
curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
|
|
4564
4574
|
uv python install 3.12
|
|
4565
|
-
uv tool install --python 3.12 "abstractgateway[tray]==0.15.
|
|
4575
|
+
uv tool install --python 3.12 "abstractgateway[tray]==0.15.1" # [apple,tray] or [gpu,tray] for local engines
|
|
4566
4576
|
# (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
|
|
4567
4577
|
uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
|
|
4568
4578
|
abstractgateway service install --port 8080 # or: abstractgateway serve
|
|
@@ -4696,7 +4706,7 @@ Python 3.11 to 3.13), but it gets PyPI's CPU-only PyTorch and no llama.cpp: use
|
|
|
4696
4706
|
installer, which adds PyTorch's CUDA build and llama.cpp's prebuilt GPU build
|
|
4697
4707
|
([GPU on Windows](#gpu-on-windows-nvidia)).
|
|
4698
4708
|
|
|
4699
|
-
`abstractframework` 0.11.
|
|
4709
|
+
`abstractframework` 0.11.4 pins `abstractgateway==0.15.1`, `abstractassistant==0.14.0`,
|
|
4700
4710
|
`abstractcore==2.26.0`, `AbstractRuntime==0.10.2`, `abstractagent==0.3.19`, `abstractskill==0.3.0`,
|
|
4701
4711
|
`AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.15.0`,
|
|
4702
4712
|
`abstractvision==0.3.33`, `abstractmusic==0.1.16` and `abstract3d==0.3.2`. The `apple` and `gpu` extras select
|
|
@@ -4839,7 +4849,7 @@ docker run \
|
|
|
4839
4849
|
-v "$PWD/runtime:/data" \
|
|
4840
4850
|
-e ABSTRACTGATEWAY_DATA_DIR=/data \
|
|
4841
4851
|
-e ABSTRACTGATEWAY_USER_AUTH=1 \
|
|
4842
|
-
ghcr.io/lpalbou/abstractgateway:0.15.
|
|
4852
|
+
ghcr.io/lpalbou/abstractgateway:0.15.1
|
|
4843
4853
|
```
|
|
4844
4854
|
|
|
4845
4855
|
This is the Light container: full framework capabilities through remote/endpoint inference, without
|
|
@@ -6877,14 +6887,14 @@ The response type returned by `llm.generate(...)`.
|
|
|
6877
6887
|
|
|
6878
6888
|
### `__version__`
|
|
6879
6889
|
|
|
6880
|
-
The meta-package version (`0.11.
|
|
6890
|
+
The meta-package version (`0.11.4` for this release).
|
|
6881
6891
|
|
|
6882
6892
|
### `RELEASE_VERSIONS`
|
|
6883
6893
|
|
|
6884
|
-
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.11.
|
|
6885
|
-
`abstractcore` 2.26.0, `abstractruntime` 0.10.
|
|
6894
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.11.4:
|
|
6895
|
+
`abstractcore` 2.26.0, `abstractruntime` 0.10.2, `abstractagent` 0.3.19, `abstractgateway` 0.15.1,
|
|
6886
6896
|
`abstractskill` 0.3.0, `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.15.0, `abstractvision` 0.3.33,
|
|
6887
|
-
`abstractmusic` 0.1.16, `abstract3d` 0.3.2, `abstractassistant` 0.
|
|
6897
|
+
`abstractmusic` 0.1.16, `abstract3d` 0.3.2, `abstractassistant` 0.14.0.
|
|
6888
6898
|
|
|
6889
6899
|
### `PACKAGE_DISTRIBUTIONS`
|
|
6890
6900
|
|
|
@@ -6894,14 +6904,14 @@ Maps each package name in `RELEASE_VERSIONS` to its PyPI distribution name (for
|
|
|
6894
6904
|
### `NPM_RELEASE_VERSIONS`
|
|
6895
6905
|
|
|
6896
6906
|
The npm apps released with this version, each runnable with `npx <package>`:
|
|
6897
|
-
`@abstractframework/flow` 0.
|
|
6898
|
-
`@abstractframework/observer` 0.
|
|
6907
|
+
`@abstractframework/flow` 0.10.0, `@abstractframework/code` 0.11.2,
|
|
6908
|
+
`@abstractframework/observer` 0.8.0, `@abstractframework/continuum` 0.7.0 and
|
|
6899
6909
|
`@abstractframework/entity` 0.7.1. They also appear as `npm_apps` in the install manifest.
|
|
6900
6910
|
|
|
6901
6911
|
### `CRATE_RELEASE_VERSIONS`
|
|
6902
6912
|
|
|
6903
6913
|
The Rust terminal tools released with this version, installed with `cargo install <crate>`:
|
|
6904
|
-
`abstractgateway-console` 0.16.0, `abstractcore-console` 0.8.0, `abstractcode` 0.
|
|
6914
|
+
`abstractgateway-console` 0.16.0, `abstractcore-console` 0.8.0, `abstractcode` 0.10.0 and the
|
|
6905
6915
|
`abstracttui` engine 0.6.0. The bootstrap scripts build `abstractgateway-console` at this version by default
|
|
6906
6916
|
(`--no-console` skips it) and `abstractcode` next to it (`--no-code-cli` skips it).
|
|
6907
6917
|
|
|
@@ -7860,6 +7870,23 @@ across Gateway discovery, import/export, and Runtime execution.
|
|
|
7860
7870
|
Current UI surfaces may still say `Workspace` in some places. The engineering
|
|
7861
7871
|
term remains `Workspace File` / `Workspace Folder`.
|
|
7862
7872
|
|
|
7873
|
+
## Shared provider access
|
|
7874
|
+
|
|
7875
|
+
With AbstractGateway 0.15.1 or later, every enabled provider connection configured
|
|
7876
|
+
by an admin is available by default to human users and digital users/entities on
|
|
7877
|
+
that gateway. New users inherit the gateway's capability defaults, so workflows
|
|
7878
|
+
without provider/model overrides use the admin's selected endpoint. Users do not
|
|
7879
|
+
need a copy of its upstream API key or a separate provider configuration.
|
|
7880
|
+
The gateway-wide default is the operator's baseline; an account can override
|
|
7881
|
+
its own model preference without changing other accounts' defaults.
|
|
7882
|
+
|
|
7883
|
+
Shared access permits use through the gateway; editing or deleting an admin
|
|
7884
|
+
connection still requires an admin. Provider keys remain server-side, disabled
|
|
7885
|
+
connections remain unavailable, and users' own private connections remain private.
|
|
7886
|
+
Existing root connections are inherited automatically, including connections
|
|
7887
|
+
stored with the legacy `scope: user` value. Per-user provider restrictions are
|
|
7888
|
+
not part of this release.
|
|
7889
|
+
|
|
7863
7890
|
## User isolation
|
|
7864
7891
|
|
|
7865
7892
|
When Gateway user auth is enabled, each user token resolves to a Gateway
|
|
@@ -185,8 +185,8 @@ Notes for LLMs working in this repo:
|
|
|
185
185
|
- [abstractframework/__init__.py](abstractframework/__init__.py): `RELEASE_VERSIONS`, `NPM_RELEASE_VERSIONS`, `CRATE_RELEASE_VERSIONS`, `get_release_profile()`, `print_status()`.
|
|
186
186
|
- [docs/installers/install-manifest.json](docs/installers/install-manifest.json): Generated install manifest, schema v2 (pins, profiles, npm apps, `bootstrap` gateway pin/scripts/flags, console-first `post_install`).
|
|
187
187
|
- [scripts/install.sh](scripts/install.sh) / [scripts/install.ps1](scripts/install.ps1): The bootstrap installers.
|
|
188
|
-
- abstractframework 0.11.
|
|
189
|
-
- Released with it: npm `@abstractframework/flow` 0.
|
|
188
|
+
- abstractframework 0.11.4 pins (PyPI, `==`): abstractgateway 0.15.1, abstractassistant 0.14.0, abstractcore 2.26.0, AbstractRuntime 0.10.2, abstractagent 0.3.19, abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.15.0, abstractvision 0.3.33, abstractmusic 0.1.16, abstract3d 0.3.2.
|
|
189
|
+
- Released with it: npm `@abstractframework/flow` 0.10.0, `code` 0.11.2, `observer` 0.8.0, `continuum` 0.7.0, `entity` 0.7.1 (opened through the gateway at `/apps/<app>/`, or run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.16.0 (built by the installer by default), `abstractcore-console` 0.8.0, `abstractcode` 0.10.0, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.15.1`, `ghcr.io/lpalbou/abstractcore-server:2.26.0`.
|
|
190
190
|
- Profiles: light (remote-only), apple (`abstractframework[apple]`, macOS 14+ Apple Silicon), gpu (`abstractframework[gpu]`); Python 3.10-3.13 (F5-TTS voice cloning in apple/gpu needs 3.11+).
|
|
191
191
|
|
|
192
192
|
## Full Context
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "abstractframework"
|
|
7
|
-
version = "0.11.
|
|
7
|
+
version = "0.11.4"
|
|
8
8
|
description = "Unified installer and documentation hub for the AbstractFramework ecosystem"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
@@ -48,7 +48,7 @@ requires-python = ">=3.10"
|
|
|
48
48
|
# - Keep the meta-package aligned with the real per-package profiles (especially `abstractgateway`).
|
|
49
49
|
dependencies = [
|
|
50
50
|
# Durable Gateway control plane (remote-light by default).
|
|
51
|
-
"abstractgateway==0.15.
|
|
51
|
+
"abstractgateway==0.15.1",
|
|
52
52
|
|
|
53
53
|
# Workflow authoring UI is distributed through npm as @abstractframework/flow.
|
|
54
54
|
"abstractassistant==0.14.0",
|
|
@@ -82,12 +82,12 @@ dependencies = [
|
|
|
82
82
|
# the stack by selecting the hardware-local dependency aggregates (owned by Gateway),
|
|
83
83
|
# then adds user-facing apps.
|
|
84
84
|
apple = [
|
|
85
|
-
"abstractgateway[apple]==0.15.
|
|
85
|
+
"abstractgateway[apple]==0.15.1",
|
|
86
86
|
"abstractassistant[apple]==0.14.0; platform_system == \"Darwin\"",
|
|
87
87
|
]
|
|
88
88
|
|
|
89
89
|
gpu = [
|
|
90
|
-
"abstractgateway[gpu]==0.15.
|
|
90
|
+
"abstractgateway[gpu]==0.15.1",
|
|
91
91
|
"abstractassistant[gpu]==0.14.0",
|
|
92
92
|
]
|
|
93
93
|
|