abstractframework 0.2.0__tar.gz → 0.3.0__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.2.0 → abstractframework-0.3.0}/CHANGELOG.md +129 -1
- {abstractframework-0.2.0/abstractframework.egg-info → abstractframework-0.3.0}/PKG-INFO +38 -31
- {abstractframework-0.2.0 → abstractframework-0.3.0}/README.md +32 -25
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework/__init__.py +7 -7
- {abstractframework-0.2.0 → abstractframework-0.3.0/abstractframework.egg-info}/PKG-INFO +38 -31
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework.egg-info/SOURCES.txt +3 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework.egg-info/requires.txt +5 -5
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/api.md +6 -6
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/faq.md +11 -2
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/getting-started.md +15 -10
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/glossary.md +1 -1
- abstractframework-0.3.0/docs/install.md +466 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/implementation-plan.md +1 -1
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/strategy.md +2 -2
- {abstractframework-0.2.0 → abstractframework-0.3.0}/llms-full.txt +278 -104
- {abstractframework-0.2.0 → abstractframework-0.3.0}/llms.txt +2 -2
- {abstractframework-0.2.0 → abstractframework-0.3.0}/pyproject.toml +6 -6
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/console.sh +1 -1
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/entity.sh +1 -1
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/install.sh +423 -30
- abstractframework-0.3.0/scripts/lib/build_macos_installer.sh +179 -0
- abstractframework-0.3.0/scripts/tests/test_install_user_path.sh +259 -0
- abstractframework-0.3.0/scripts/uninstall.sh +85 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/tests/test_install_profiles.py +269 -0
- abstractframework-0.2.0/docs/install.md +0 -315
- {abstractframework-0.2.0 → abstractframework-0.3.0}/LICENSE +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/MANIFEST.in +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework/__main__.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework/cli.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework/install_manifest.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework/py.typed +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/architecture.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/claude/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/comparisons/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/configuration.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/components.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/installers/user-journeys.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/README.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/af-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/af.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/assistant.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/build.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/clone.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/code-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/code.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/commit.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/console-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/deps.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/entity-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/flow-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/flow.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/gateway.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/observer-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/observer.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/pull.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/push.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/start-local.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/start.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/status.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/steer_repl.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.2.0 → abstractframework-0.3.0}/setup.cfg +0 -0
|
@@ -2,7 +2,135 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to AbstractFramework will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [
|
|
5
|
+
## [0.3.0] - 2026-09-24
|
|
6
|
+
|
|
7
|
+
A Mac install that needs no Terminal knowledge (a `.pkg` or a double-click `.command`, and an
|
|
8
|
+
uninstaller), install failures explained in plain words, and the meta-package pins abstractcore
|
|
9
|
+
2.15.0 and abstractgateway 0.4.1.
|
|
10
|
+
|
|
11
|
+
### Changed (pins)
|
|
12
|
+
|
|
13
|
+
- **abstractcore 2.15.0** (was 2.14.0) and **abstractgateway 0.4.1** (was 0.3.0; 0.4.0 was never
|
|
14
|
+
published), in the base install and in the `apple` / `gpu` extras
|
|
15
|
+
(`abstractgateway[apple|gpu]==0.4.1`). The bootstrap scripts install
|
|
16
|
+
`abstractgateway[<profile>,tray]==0.4.1` and, with `--with-console`, `abstractgateway-console`
|
|
17
|
+
0.8.0 (was 0.7.0). The other pins are unchanged: AbstractRuntime 0.4.33, abstractagent 0.3.13,
|
|
18
|
+
AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29,
|
|
19
|
+
abstractmusic 0.1.15, abstractassistant 0.5.0.
|
|
20
|
+
- Browser apps released with it (`--with-apps`, `npx`): `@abstractframework/continuum` 0.3.0 (was
|
|
21
|
+
0.2.0) and `@abstractframework/entity` 0.2.0 (was 0.1.0); flow 0.3.20, code 0.4.2 and observer
|
|
22
|
+
0.1.12 are unchanged.
|
|
23
|
+
- The docs name the container images released with it: `ghcr.io/lpalbou/abstractgateway:0.4.1`
|
|
24
|
+
and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
|
|
25
|
+
- `docs/backlog/planned/0859` states the real stack port map (observer 3001, continuum 3002,
|
|
26
|
+
code 3003, entity 3004, flow 3005), as `scripts/start-local.sh` and the gateway's
|
|
27
|
+
`STACK_PORTS` use.
|
|
28
|
+
- `scripts/lib/packages.txt`: abstractgateway 0.4.1 depends on abstractcore directly
|
|
29
|
+
(`abstractcore>=2.15.0`), so its edge is `abstractcore:dep` (was `extra`).
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- **A Mac install that needs no Terminal knowledge.** `scripts/lib/build_macos_installer.sh`
|
|
34
|
+
builds `AbstractFramework-Installer.pkg` (payload-free, "install for me only", no password) and
|
|
35
|
+
`AbstractFramework-Installer-macOS.zip` (`Install AbstractFramework.command` and
|
|
36
|
+
`Uninstall AbstractFramework.command`). Both open the same `install.sh` in Terminal with a
|
|
37
|
+
banner, so every step stays visible and logged; the browser opens AbstractFramework, signed in,
|
|
38
|
+
at the end. The script signs and notarizes the `.pkg` when given a Developer ID
|
|
39
|
+
(`AF_PKG_SIGN_IDENTITY`, `AF_NOTARY_PROFILE`); without one it says the build is unsigned.
|
|
40
|
+
- **`scripts/uninstall.sh`**: asks before removing anything, removes the login item, the running
|
|
41
|
+
gateway and the gateway tool, and asks separately whether to delete your data (`--purge`) and,
|
|
42
|
+
when the installer added uv, uv with its Python and download cache (`--remove-uv`, about
|
|
43
|
+
2.5 GB after an Apple Silicon install). `--yes` runs without questions.
|
|
44
|
+
- **`install.sh --interactive`** asks whether to start AbstractFramework at login (default yes; a
|
|
45
|
+
previous "no" is remembered) and, on `--uninstall`, the data and uv questions. Questions go to
|
|
46
|
+
the terminal, so it works through `curl | sh`. Answering "no" after an earlier "yes" removes the
|
|
47
|
+
login item and starts the gateway in the background.
|
|
48
|
+
|
|
49
|
+
### Changed
|
|
50
|
+
|
|
51
|
+
- **Every install failure says what to do next, in plain words.** `install.sh` checks internet
|
|
52
|
+
access to PyPI before changing anything (naming the proxy when one is set), recognises a
|
|
53
|
+
connection that drops mid-install, stops on folders it cannot write (with the exact
|
|
54
|
+
`sudo chown` fix), restarts itself natively when Terminal runs under Rosetta on Apple Silicon
|
|
55
|
+
(and explains the Terminal setting when piped), warns on macOS older than 13, and says why an
|
|
56
|
+
Apple Silicon Mac on macOS 13 gets the light profile. `install.ps1` has the same network check
|
|
57
|
+
and messages.
|
|
58
|
+
- **Re-runs repair and stay quiet.** A gateway command that no longer starts (an interrupted or
|
|
59
|
+
damaged install) is reinstalled in place; a registered, running, unchanged login item is left
|
|
60
|
+
alone instead of restarted; an already-configured shell profile no longer produces a
|
|
61
|
+
`uv tool update-shell` warning. The health wait is 180 s (the first start loads the engines) with
|
|
62
|
+
a progress line every 15 s.
|
|
63
|
+
- **The gateway's Network setting decides where it listens, not the installer.** `install.sh` and
|
|
64
|
+
`install.ps1` no longer pass `--host 127.0.0.1` to `abstractgateway service install` (it reset a
|
|
65
|
+
"Local network" choice to localhost on every re-run); they pass `--port` only. Without a login
|
|
66
|
+
item (background mode) they store the setting first (`abstractgateway network set localhost
|
|
67
|
+
--port N` when nothing is stored; a stored mode is kept and only the port aligned) and start plain
|
|
68
|
+
`abstractgateway serve`. Gateways without the `network` command keep the old
|
|
69
|
+
`serve --host 127.0.0.1 --port N`. The login item itself runs plain `serve` from
|
|
70
|
+
abstractgateway 0.4.1.
|
|
71
|
+
- The installer ends with a short plain-language summary (where AbstractFramework is, that it
|
|
72
|
+
starts at login, the menu-bar icon, how to remove it) before the technical details.
|
|
73
|
+
- `docs/install.md` is rewritten from a non-technical user's point of view (download, what you
|
|
74
|
+
will see, a table of every failure message and what to do, how to remove it); the one-line,
|
|
75
|
+
options and profile material follows under "Advanced". README and getting-started match.
|
|
76
|
+
- **llama.cpp GGUF is back in the one-line install, without a compiler.** `install.sh` and
|
|
77
|
+
`install.ps1` take `llama-cpp-python` from upstream's prebuilt wheels for every profile, light
|
|
78
|
+
included: Metal 0.3.28 on Apple Silicon, CPU 0.3.35 on glibc Linux x86_64/aarch64 and Windows
|
|
79
|
+
x64 (`--find-links` on the package page of abetlen's wheel index, `--constraints
|
|
80
|
+
uv-constraints.txt`, `--no-build-package llama-cpp-python` so the PyPI sdist is never built).
|
|
81
|
+
Where no wheel exists (Intel Mac, musl Linux, Windows on ARM) or the wheel install fails, the
|
|
82
|
+
script installs without it and prints `GGUF (llama.cpp) skipped: no prebuilt wheel for this
|
|
83
|
+
machine; re-run with --full after installing a C compiler`. The summary's `GGUF:` line says what
|
|
84
|
+
was installed. `--full` builds llama.cpp from source, now in the light profile too. CI's
|
|
85
|
+
bootstrap smoke imports `llama_cpp` from the installed gateway on macOS, Linux and Windows and
|
|
86
|
+
checks GPU offload on macOS.
|
|
87
|
+
|
|
88
|
+
### Known limitations
|
|
89
|
+
|
|
90
|
+
These are unchanged from 0.2.1 (the same packages, checked with `uv pip install --dry-run
|
|
91
|
+
--no-build` against both releases). The one-line installer is not affected by the first two: it
|
|
92
|
+
installs the gateway, not `abstractassistant`, and builds pure-Python source packages.
|
|
93
|
+
|
|
94
|
+
- A plain `pip install abstractframework` on Linux builds `evdev` from source (a C compiler and
|
|
95
|
+
kernel headers), through `abstractassistant` 0.5.0 → `pynput`.
|
|
96
|
+
- `langdetect`, `antlr4-python3-runtime`, `encodec` and `transformers-stream-generator` are
|
|
97
|
+
published as source only; they are pure Python and build without a compiler.
|
|
98
|
+
- `abstractframework[gpu]` on Linux needs glibc 2.35 or later (Ubuntu 22.04+): `mlx[cuda13]`,
|
|
99
|
+
pulled by `abstractvision[all-gpu]` through `mlx-gen`, has only `manylinux_2_35` wheels.
|
|
100
|
+
- The macOS `.pkg` built by `scripts/lib/build_macos_installer.sh` is not signed yet, so
|
|
101
|
+
Gatekeeper asks the user to allow it ("Open Anyway").
|
|
102
|
+
|
|
103
|
+
## [0.2.1] - 2026-09-24
|
|
104
|
+
|
|
105
|
+
Patch release: the one-line install works on a machine without a C compiler, and the
|
|
106
|
+
meta-package pins abstractvoice 0.11.4. Everything else is unchanged from 0.2.0.
|
|
107
|
+
|
|
108
|
+
### Changed
|
|
109
|
+
|
|
110
|
+
- **abstractvoice 0.11.4** (was 0.11.3). It takes voice activity detection from
|
|
111
|
+
`webrtcvad-wheels`, which ships prebuilt wheels for macOS arm64, Linux and Windows, instead
|
|
112
|
+
of `webrtcvad`, which is source-only on PyPI and needs a compiler. This is the pin that made
|
|
113
|
+
`pip install abstractframework[apple]` build `webrtcvad` from source. The other pins are
|
|
114
|
+
unchanged: abstractgateway 0.3.0, abstractcore 2.14.0, AbstractRuntime 0.4.33.
|
|
115
|
+
|
|
116
|
+
### Fixed
|
|
117
|
+
|
|
118
|
+
- **One-line install needs no compiler.** On a Mac without Xcode Command Line Tools the gateway
|
|
119
|
+
install failed building `webrtcvad` from source, and `llama-cpp-python`,
|
|
120
|
+
`stable-diffusion-cpp-python` and `aec-audio-processing` would have failed next. `install.sh` and
|
|
121
|
+
`install.ps1` now run `uv tool install` with `--with 'webrtcvad-wheels>=2.0.14'`, an overrides
|
|
122
|
+
file (`uv-overrides.txt` in the gateway data directory) that drops `webrtcvad`, keeps `vllm` to
|
|
123
|
+
Linux and leaves out the three compiled extras, plus `--no-build-package` for those packages so
|
|
124
|
+
a missing wheel fails fast instead of starting a compiler. The install runs from the data
|
|
125
|
+
directory and names the file relatively, because uv splits an `--overrides` value at whitespace
|
|
126
|
+
(`Application Support`). On macOS, Linux and Windows the preflight says when no compiler is
|
|
127
|
+
present, and that this is fine; the summary says what was skipped.
|
|
128
|
+
|
|
129
|
+
### Added
|
|
130
|
+
|
|
131
|
+
- **`--full` (Windows: `-Full`)** keeps the compiled extras (llama.cpp GGUF, stable-diffusion.cpp,
|
|
132
|
+
echo cancellation) and builds them from source. It needs a C/C++ compiler and stops before
|
|
133
|
+
installing when none is found.
|
|
6
134
|
|
|
7
135
|
## [0.2.0] - 2026-09-23
|
|
8
136
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
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,21 +23,21 @@ 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.4.1
|
|
27
27
|
Requires-Dist: abstractassistant==0.5.0
|
|
28
|
-
Requires-Dist: abstractcore==2.
|
|
28
|
+
Requires-Dist: abstractcore==2.15.0
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.4.33
|
|
30
30
|
Requires-Dist: abstractagent==0.3.13
|
|
31
31
|
Requires-Dist: AbstractMemory==0.3.0
|
|
32
32
|
Requires-Dist: abstractsemantics==0.0.5
|
|
33
|
-
Requires-Dist: abstractvoice==0.11.
|
|
33
|
+
Requires-Dist: abstractvoice==0.11.4
|
|
34
34
|
Requires-Dist: abstractvision==0.3.29
|
|
35
35
|
Requires-Dist: abstractmusic==0.1.15
|
|
36
36
|
Provides-Extra: apple
|
|
37
|
-
Requires-Dist: abstractgateway[apple]==0.
|
|
37
|
+
Requires-Dist: abstractgateway[apple]==0.4.1; extra == "apple"
|
|
38
38
|
Requires-Dist: abstractassistant[apple]==0.5.0; platform_system == "Darwin" and extra == "apple"
|
|
39
39
|
Provides-Extra: gpu
|
|
40
|
-
Requires-Dist: abstractgateway[gpu]==0.
|
|
40
|
+
Requires-Dist: abstractgateway[gpu]==0.4.1; extra == "gpu"
|
|
41
41
|
Requires-Dist: abstractassistant[gpu]==0.5.0; extra == "gpu"
|
|
42
42
|
Dynamic: license-file
|
|
43
43
|
|
|
@@ -62,24 +62,31 @@ Think of it as an **agentic OS**: durable runs + replay-first observability + mu
|
|
|
62
62
|
|
|
63
63
|
## Quick start
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
guide then sets up a local engine (Ollama, LM Studio,
|
|
68
|
-
your machine, and lists the apps
|
|
65
|
+
The installer sets up the gateway in your user account (no admin password, no system Python),
|
|
66
|
+
asks whether to start it at login, starts it on `127.0.0.1:8080`, and opens its web console in
|
|
67
|
+
your browser already signed in. A first-run guide then sets up a local engine (Ollama, LM Studio,
|
|
68
|
+
MLX, llama.cpp), downloads a model that fits your machine, and lists the apps.
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
- **Mac, no Terminal:** download and double-click
|
|
71
|
+
[AbstractFramework-Installer.pkg](https://github.com/lpalbou/AbstractFramework/releases/latest/download/AbstractFramework-Installer.pkg).
|
|
72
|
+
A Terminal window shows each step; press Return at its one question.
|
|
73
|
+
- **macOS / Linux, one line:**
|
|
74
74
|
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
```bash
|
|
76
|
+
curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.sh | sh -s -- --interactive
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
- **Windows 10 22H2+ / 11** (PowerShell):
|
|
80
|
+
|
|
81
|
+
```powershell
|
|
82
|
+
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.ps1 | iex"
|
|
83
|
+
```
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
Every failure says what to do next; running the installer again repairs or upgrades in place. To
|
|
86
|
+
remove it: `Uninstall AbstractFramework.command`, or
|
|
87
|
+
`curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/uninstall.sh | sh`.
|
|
88
|
+
Step by step, the failure table, options (`--with-apps`, `--with-ollama`, `--print`, …):
|
|
89
|
+
[Install](docs/install.md).
|
|
83
90
|
|
|
84
91
|
Already have Python? Either entry point works the same way: start it, then open the link it prints.
|
|
85
92
|
|
|
@@ -181,7 +188,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
|
|
|
181
188
|
```
|
|
182
189
|
|
|
183
190
|
Container images are published for the gateway and the AbstractCore server:
|
|
184
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
191
|
+
`ghcr.io/lpalbou/abstractgateway:0.4.1` and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
|
|
185
192
|
|
|
186
193
|
For artifact and runtime-resource investigation, see
|
|
187
194
|
`docs/guide/runtime-artifacts.md`.
|
|
@@ -300,7 +307,7 @@ pip install "abstractframework[gpu]"
|
|
|
300
307
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
301
308
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
302
309
|
|
|
303
|
-
### Release matrix (abstractframework 0.
|
|
310
|
+
### Release matrix (abstractframework 0.3.0)
|
|
304
311
|
|
|
305
312
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
306
313
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -309,27 +316,27 @@ and tested together.
|
|
|
309
316
|
|
|
310
317
|
| Registry | Package | Version |
|
|
311
318
|
|---|---|---|
|
|
312
|
-
| PyPI | `abstractgateway` | 0.
|
|
319
|
+
| PyPI | `abstractgateway` | 0.4.1 |
|
|
313
320
|
| PyPI | `abstractassistant` | 0.5.0 |
|
|
314
|
-
| PyPI | `abstractcore` | 2.
|
|
321
|
+
| PyPI | `abstractcore` | 2.15.0 |
|
|
315
322
|
| PyPI | `AbstractRuntime` | 0.4.33 |
|
|
316
323
|
| PyPI | `abstractagent` | 0.3.13 |
|
|
317
324
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
318
325
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
319
|
-
| PyPI | `abstractvoice` | 0.11.
|
|
326
|
+
| PyPI | `abstractvoice` | 0.11.4 |
|
|
320
327
|
| PyPI | `abstractvision` | 0.3.29 |
|
|
321
328
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
322
329
|
| npm | `@abstractframework/flow` | 0.3.20 |
|
|
323
330
|
| npm | `@abstractframework/code` | 0.4.2 |
|
|
324
331
|
| npm | `@abstractframework/observer` | 0.1.12 |
|
|
325
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
326
|
-
| npm | `@abstractframework/entity` | 0.
|
|
332
|
+
| npm | `@abstractframework/continuum` | 0.3.0 |
|
|
333
|
+
| npm | `@abstractframework/entity` | 0.2.0 |
|
|
327
334
|
| crates.io | `abstractcode` | 0.5.1 |
|
|
328
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
335
|
+
| crates.io | `abstractgateway-console` | 0.8.0 |
|
|
329
336
|
| crates.io | `abstractcore-console` | 0.2.0 |
|
|
330
337
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
331
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
332
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
338
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
339
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.0 |
|
|
333
340
|
|
|
334
341
|
Optional add-ons that are not part of any profile install separately:
|
|
335
342
|
`pip install abstract3d` (0.3.1), `pip install abstractcamera` (0.2.0) and
|
|
@@ -19,24 +19,31 @@ Think of it as an **agentic OS**: durable runs + replay-first observability + mu
|
|
|
19
19
|
|
|
20
20
|
## Quick start
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
guide then sets up a local engine (Ollama, LM Studio,
|
|
25
|
-
your machine, and lists the apps
|
|
22
|
+
The installer sets up the gateway in your user account (no admin password, no system Python),
|
|
23
|
+
asks whether to start it at login, starts it on `127.0.0.1:8080`, and opens its web console in
|
|
24
|
+
your browser already signed in. A first-run guide then sets up a local engine (Ollama, LM Studio,
|
|
25
|
+
MLX, llama.cpp), downloads a model that fits your machine, and lists the apps.
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
- **Mac, no Terminal:** download and double-click
|
|
28
|
+
[AbstractFramework-Installer.pkg](https://github.com/lpalbou/AbstractFramework/releases/latest/download/AbstractFramework-Installer.pkg).
|
|
29
|
+
A Terminal window shows each step; press Return at its one question.
|
|
30
|
+
- **macOS / Linux, one line:**
|
|
31
31
|
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
```bash
|
|
33
|
+
curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.sh | sh -s -- --interactive
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- **Windows 10 22H2+ / 11** (PowerShell):
|
|
37
|
+
|
|
38
|
+
```powershell
|
|
39
|
+
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.ps1 | iex"
|
|
40
|
+
```
|
|
36
41
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
42
|
+
Every failure says what to do next; running the installer again repairs or upgrades in place. To
|
|
43
|
+
remove it: `Uninstall AbstractFramework.command`, or
|
|
44
|
+
`curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/uninstall.sh | sh`.
|
|
45
|
+
Step by step, the failure table, options (`--with-apps`, `--with-ollama`, `--print`, …):
|
|
46
|
+
[Install](docs/install.md).
|
|
40
47
|
|
|
41
48
|
Already have Python? Either entry point works the same way: start it, then open the link it prints.
|
|
42
49
|
|
|
@@ -138,7 +145,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
|
|
|
138
145
|
```
|
|
139
146
|
|
|
140
147
|
Container images are published for the gateway and the AbstractCore server:
|
|
141
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
148
|
+
`ghcr.io/lpalbou/abstractgateway:0.4.1` and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
|
|
142
149
|
|
|
143
150
|
For artifact and runtime-resource investigation, see
|
|
144
151
|
`docs/guide/runtime-artifacts.md`.
|
|
@@ -257,7 +264,7 @@ pip install "abstractframework[gpu]"
|
|
|
257
264
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
258
265
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
259
266
|
|
|
260
|
-
### Release matrix (abstractframework 0.
|
|
267
|
+
### Release matrix (abstractframework 0.3.0)
|
|
261
268
|
|
|
262
269
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
263
270
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -266,27 +273,27 @@ and tested together.
|
|
|
266
273
|
|
|
267
274
|
| Registry | Package | Version |
|
|
268
275
|
|---|---|---|
|
|
269
|
-
| PyPI | `abstractgateway` | 0.
|
|
276
|
+
| PyPI | `abstractgateway` | 0.4.1 |
|
|
270
277
|
| PyPI | `abstractassistant` | 0.5.0 |
|
|
271
|
-
| PyPI | `abstractcore` | 2.
|
|
278
|
+
| PyPI | `abstractcore` | 2.15.0 |
|
|
272
279
|
| PyPI | `AbstractRuntime` | 0.4.33 |
|
|
273
280
|
| PyPI | `abstractagent` | 0.3.13 |
|
|
274
281
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
275
282
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
276
|
-
| PyPI | `abstractvoice` | 0.11.
|
|
283
|
+
| PyPI | `abstractvoice` | 0.11.4 |
|
|
277
284
|
| PyPI | `abstractvision` | 0.3.29 |
|
|
278
285
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
279
286
|
| npm | `@abstractframework/flow` | 0.3.20 |
|
|
280
287
|
| npm | `@abstractframework/code` | 0.4.2 |
|
|
281
288
|
| npm | `@abstractframework/observer` | 0.1.12 |
|
|
282
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
283
|
-
| npm | `@abstractframework/entity` | 0.
|
|
289
|
+
| npm | `@abstractframework/continuum` | 0.3.0 |
|
|
290
|
+
| npm | `@abstractframework/entity` | 0.2.0 |
|
|
284
291
|
| crates.io | `abstractcode` | 0.5.1 |
|
|
285
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
292
|
+
| crates.io | `abstractgateway-console` | 0.8.0 |
|
|
286
293
|
| crates.io | `abstractcore-console` | 0.2.0 |
|
|
287
294
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
288
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
289
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
295
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
296
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.0 |
|
|
290
297
|
|
|
291
298
|
Optional add-ons that are not part of any profile install separately:
|
|
292
299
|
`pip install abstract3d` (0.3.1), `pip install abstractcamera` (0.2.0) and
|
|
@@ -10,18 +10,18 @@ Most implementation functionality still lives in component projects.
|
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
__version__ = "0.
|
|
13
|
+
__version__ = "0.3.0"
|
|
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.15.0",
|
|
19
19
|
"abstractruntime": "0.4.33",
|
|
20
20
|
"abstractagent": "0.3.13",
|
|
21
|
-
"abstractgateway": "0.
|
|
21
|
+
"abstractgateway": "0.4.1",
|
|
22
22
|
"abstractmemory": "0.3.0",
|
|
23
23
|
"abstractsemantics": "0.0.5",
|
|
24
|
-
"abstractvoice": "0.11.
|
|
24
|
+
"abstractvoice": "0.11.4",
|
|
25
25
|
"abstractvision": "0.3.29",
|
|
26
26
|
"abstractmusic": "0.1.15",
|
|
27
27
|
"abstractassistant": "0.5.0",
|
|
@@ -44,14 +44,14 @@ NPM_RELEASE_VERSIONS: dict[str, str] = {
|
|
|
44
44
|
"@abstractframework/flow": "0.3.20",
|
|
45
45
|
"@abstractframework/code": "0.4.2",
|
|
46
46
|
"@abstractframework/observer": "0.1.12",
|
|
47
|
-
"@abstractframework/continuum": "0.
|
|
48
|
-
"@abstractframework/entity": "0.
|
|
47
|
+
"@abstractframework/continuum": "0.3.0",
|
|
48
|
+
"@abstractframework/entity": "0.2.0",
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
# Terminal tools published on crates.io alongside this release (installed with `cargo install`,
|
|
52
52
|
# or by the bootstrap scripts' --with-console / --with-code-cli flags).
|
|
53
53
|
CRATE_RELEASE_VERSIONS: dict[str, str] = {
|
|
54
|
-
"abstractgateway-console": "0.
|
|
54
|
+
"abstractgateway-console": "0.8.0",
|
|
55
55
|
"abstractcore-console": "0.2.0",
|
|
56
56
|
"abstractcode": "0.5.1",
|
|
57
57
|
"abstracttui": "0.6.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
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,21 +23,21 @@ 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.4.1
|
|
27
27
|
Requires-Dist: abstractassistant==0.5.0
|
|
28
|
-
Requires-Dist: abstractcore==2.
|
|
28
|
+
Requires-Dist: abstractcore==2.15.0
|
|
29
29
|
Requires-Dist: AbstractRuntime==0.4.33
|
|
30
30
|
Requires-Dist: abstractagent==0.3.13
|
|
31
31
|
Requires-Dist: AbstractMemory==0.3.0
|
|
32
32
|
Requires-Dist: abstractsemantics==0.0.5
|
|
33
|
-
Requires-Dist: abstractvoice==0.11.
|
|
33
|
+
Requires-Dist: abstractvoice==0.11.4
|
|
34
34
|
Requires-Dist: abstractvision==0.3.29
|
|
35
35
|
Requires-Dist: abstractmusic==0.1.15
|
|
36
36
|
Provides-Extra: apple
|
|
37
|
-
Requires-Dist: abstractgateway[apple]==0.
|
|
37
|
+
Requires-Dist: abstractgateway[apple]==0.4.1; extra == "apple"
|
|
38
38
|
Requires-Dist: abstractassistant[apple]==0.5.0; platform_system == "Darwin" and extra == "apple"
|
|
39
39
|
Provides-Extra: gpu
|
|
40
|
-
Requires-Dist: abstractgateway[gpu]==0.
|
|
40
|
+
Requires-Dist: abstractgateway[gpu]==0.4.1; extra == "gpu"
|
|
41
41
|
Requires-Dist: abstractassistant[gpu]==0.5.0; extra == "gpu"
|
|
42
42
|
Dynamic: license-file
|
|
43
43
|
|
|
@@ -62,24 +62,31 @@ Think of it as an **agentic OS**: durable runs + replay-first observability + mu
|
|
|
62
62
|
|
|
63
63
|
## Quick start
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
guide then sets up a local engine (Ollama, LM Studio,
|
|
68
|
-
your machine, and lists the apps
|
|
65
|
+
The installer sets up the gateway in your user account (no admin password, no system Python),
|
|
66
|
+
asks whether to start it at login, starts it on `127.0.0.1:8080`, and opens its web console in
|
|
67
|
+
your browser already signed in. A first-run guide then sets up a local engine (Ollama, LM Studio,
|
|
68
|
+
MLX, llama.cpp), downloads a model that fits your machine, and lists the apps.
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
- **Mac, no Terminal:** download and double-click
|
|
71
|
+
[AbstractFramework-Installer.pkg](https://github.com/lpalbou/AbstractFramework/releases/latest/download/AbstractFramework-Installer.pkg).
|
|
72
|
+
A Terminal window shows each step; press Return at its one question.
|
|
73
|
+
- **macOS / Linux, one line:**
|
|
74
74
|
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
```bash
|
|
76
|
+
curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.sh | sh -s -- --interactive
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
- **Windows 10 22H2+ / 11** (PowerShell):
|
|
80
|
+
|
|
81
|
+
```powershell
|
|
82
|
+
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.ps1 | iex"
|
|
83
|
+
```
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
Every failure says what to do next; running the installer again repairs or upgrades in place. To
|
|
86
|
+
remove it: `Uninstall AbstractFramework.command`, or
|
|
87
|
+
`curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/uninstall.sh | sh`.
|
|
88
|
+
Step by step, the failure table, options (`--with-apps`, `--with-ollama`, `--print`, …):
|
|
89
|
+
[Install](docs/install.md).
|
|
83
90
|
|
|
84
91
|
Already have Python? Either entry point works the same way: start it, then open the link it prints.
|
|
85
92
|
|
|
@@ -181,7 +188,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
|
|
|
181
188
|
```
|
|
182
189
|
|
|
183
190
|
Container images are published for the gateway and the AbstractCore server:
|
|
184
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
191
|
+
`ghcr.io/lpalbou/abstractgateway:0.4.1` and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
|
|
185
192
|
|
|
186
193
|
For artifact and runtime-resource investigation, see
|
|
187
194
|
`docs/guide/runtime-artifacts.md`.
|
|
@@ -300,7 +307,7 @@ pip install "abstractframework[gpu]"
|
|
|
300
307
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
301
308
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
302
309
|
|
|
303
|
-
### Release matrix (abstractframework 0.
|
|
310
|
+
### Release matrix (abstractframework 0.3.0)
|
|
304
311
|
|
|
305
312
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
306
313
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -309,27 +316,27 @@ and tested together.
|
|
|
309
316
|
|
|
310
317
|
| Registry | Package | Version |
|
|
311
318
|
|---|---|---|
|
|
312
|
-
| PyPI | `abstractgateway` | 0.
|
|
319
|
+
| PyPI | `abstractgateway` | 0.4.1 |
|
|
313
320
|
| PyPI | `abstractassistant` | 0.5.0 |
|
|
314
|
-
| PyPI | `abstractcore` | 2.
|
|
321
|
+
| PyPI | `abstractcore` | 2.15.0 |
|
|
315
322
|
| PyPI | `AbstractRuntime` | 0.4.33 |
|
|
316
323
|
| PyPI | `abstractagent` | 0.3.13 |
|
|
317
324
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
318
325
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
319
|
-
| PyPI | `abstractvoice` | 0.11.
|
|
326
|
+
| PyPI | `abstractvoice` | 0.11.4 |
|
|
320
327
|
| PyPI | `abstractvision` | 0.3.29 |
|
|
321
328
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
322
329
|
| npm | `@abstractframework/flow` | 0.3.20 |
|
|
323
330
|
| npm | `@abstractframework/code` | 0.4.2 |
|
|
324
331
|
| npm | `@abstractframework/observer` | 0.1.12 |
|
|
325
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
326
|
-
| npm | `@abstractframework/entity` | 0.
|
|
332
|
+
| npm | `@abstractframework/continuum` | 0.3.0 |
|
|
333
|
+
| npm | `@abstractframework/entity` | 0.2.0 |
|
|
327
334
|
| crates.io | `abstractcode` | 0.5.1 |
|
|
328
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
335
|
+
| crates.io | `abstractgateway-console` | 0.8.0 |
|
|
329
336
|
| crates.io | `abstractcore-console` | 0.2.0 |
|
|
330
337
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
331
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
332
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
338
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
339
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.0 |
|
|
333
340
|
|
|
334
341
|
Optional add-ons that are not part of any profile install separately:
|
|
335
342
|
`pip install abstract3d` (0.3.1), `pip install abstractcamera` (0.2.0) and
|
|
@@ -169,14 +169,17 @@ scripts/start-local.sh
|
|
|
169
169
|
scripts/start.sh
|
|
170
170
|
scripts/status.sh
|
|
171
171
|
scripts/steer_repl.py
|
|
172
|
+
scripts/uninstall.sh
|
|
172
173
|
scripts/visit_resume_cache_probe.py
|
|
173
174
|
scripts/lib/af_inventory.py
|
|
174
175
|
scripts/lib/af_stack.sh
|
|
175
176
|
scripts/lib/af_supervisor.sh
|
|
176
177
|
scripts/lib/apps_common.sh
|
|
178
|
+
scripts/lib/build_macos_installer.sh
|
|
177
179
|
scripts/lib/gateway_user_tokens.py
|
|
178
180
|
scripts/lib/repo_groups.sh
|
|
179
181
|
scripts/tests/test_af_supervisor.sh
|
|
182
|
+
scripts/tests/test_install_user_path.sh
|
|
180
183
|
scripts/tests/test_inventory.sh
|
|
181
184
|
scripts/tests/test_repo_scripts.sh
|
|
182
185
|
tests/test_install_profiles.py
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
abstractgateway==0.
|
|
1
|
+
abstractgateway==0.4.1
|
|
2
2
|
abstractassistant==0.5.0
|
|
3
|
-
abstractcore==2.
|
|
3
|
+
abstractcore==2.15.0
|
|
4
4
|
AbstractRuntime==0.4.33
|
|
5
5
|
abstractagent==0.3.13
|
|
6
6
|
AbstractMemory==0.3.0
|
|
7
7
|
abstractsemantics==0.0.5
|
|
8
|
-
abstractvoice==0.11.
|
|
8
|
+
abstractvoice==0.11.4
|
|
9
9
|
abstractvision==0.3.29
|
|
10
10
|
abstractmusic==0.1.15
|
|
11
11
|
|
|
12
12
|
[apple]
|
|
13
|
-
abstractgateway[apple]==0.
|
|
13
|
+
abstractgateway[apple]==0.4.1
|
|
14
14
|
|
|
15
15
|
[apple:platform_system == "Darwin"]
|
|
16
16
|
abstractassistant[apple]==0.5.0
|
|
17
17
|
|
|
18
18
|
[gpu]
|
|
19
|
-
abstractgateway[gpu]==0.
|
|
19
|
+
abstractgateway[gpu]==0.4.1
|
|
20
20
|
abstractassistant[gpu]==0.5.0
|
|
@@ -55,9 +55,9 @@ The response type returned by `llm.generate(...)`.
|
|
|
55
55
|
|
|
56
56
|
### `RELEASE_VERSIONS`
|
|
57
57
|
|
|
58
|
-
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.
|
|
59
|
-
`abstractcore` 2.
|
|
60
|
-
`abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.11.
|
|
58
|
+
Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.3.0:
|
|
59
|
+
`abstractcore` 2.15.0, `abstractruntime` 0.4.33, `abstractagent` 0.3.13, `abstractgateway` 0.4.1,
|
|
60
|
+
`abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.11.4, `abstractvision` 0.3.29,
|
|
61
61
|
`abstractmusic` 0.1.15, `abstractassistant` 0.5.0.
|
|
62
62
|
|
|
63
63
|
### `PACKAGE_DISTRIBUTIONS`
|
|
@@ -69,13 +69,13 @@ Maps each package name in `RELEASE_VERSIONS` to its PyPI distribution name (for
|
|
|
69
69
|
|
|
70
70
|
The npm apps released with this version, each runnable with `npx <package>`:
|
|
71
71
|
`@abstractframework/flow` 0.3.20, `@abstractframework/code` 0.4.2,
|
|
72
|
-
`@abstractframework/observer` 0.1.12, `@abstractframework/continuum` 0.
|
|
73
|
-
`@abstractframework/entity` 0.
|
|
72
|
+
`@abstractframework/observer` 0.1.12, `@abstractframework/continuum` 0.3.0 and
|
|
73
|
+
`@abstractframework/entity` 0.2.0. They also appear as `npm_apps` in the install manifest.
|
|
74
74
|
|
|
75
75
|
### `CRATE_RELEASE_VERSIONS`
|
|
76
76
|
|
|
77
77
|
The Rust terminal tools released with this version, installed with `cargo install <crate>`:
|
|
78
|
-
`abstractgateway-console` 0.
|
|
78
|
+
`abstractgateway-console` 0.8.0, `abstractcore-console` 0.2.0, `abstractcode` 0.5.1 and the
|
|
79
79
|
`abstracttui` engine 0.6.0. The bootstrap scripts install `abstractgateway-console` and
|
|
80
80
|
`abstractcode` at these versions with `--with-console` and `--with-code-cli`.
|
|
81
81
|
|