abstractframework 0.4.2__tar.gz → 0.6.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.4.2 → abstractframework-0.6.0}/CHANGELOG.md +192 -0
- {abstractframework-0.4.2/abstractframework.egg-info → abstractframework-0.6.0}/PKG-INFO +58 -49
- {abstractframework-0.4.2 → abstractframework-0.6.0}/README.md +46 -37
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework/__init__.py +17 -17
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework/install_manifest.py +6 -3
- {abstractframework-0.4.2 → abstractframework-0.6.0/abstractframework.egg-info}/PKG-INFO +58 -49
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework.egg-info/SOURCES.txt +1 -0
- abstractframework-0.6.0/abstractframework.egg-info/requires.txt +21 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/README.md +4 -3
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/api.md +34 -12
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/architecture.md +56 -10
- abstractframework-0.6.0/docs/automations.md +500 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/configuration.md +12 -13
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/faq.md +31 -8
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/getting-started.md +45 -23
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/glossary.md +30 -3
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/install.md +142 -57
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/components.md +1 -1
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/implementation-plan.md +1 -1
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/user-journeys.md +8 -5
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/troubleshooting.md +13 -3
- {abstractframework-0.4.2 → abstractframework-0.6.0}/llms-full.txt +970 -215
- {abstractframework-0.4.2 → abstractframework-0.6.0}/llms.txt +10 -7
- {abstractframework-0.4.2 → abstractframework-0.6.0}/pyproject.toml +12 -12
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/check_identity_sync.py +42 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/install.sh +408 -64
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/tests/test_install_user_path.sh +237 -11
- {abstractframework-0.4.2 → abstractframework-0.6.0}/tests/test_install_profiles.py +141 -6
- abstractframework-0.4.2/abstractframework.egg-info/requires.txt +0 -21
- {abstractframework-0.4.2 → abstractframework-0.6.0}/LICENSE +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/MANIFEST.in +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework/__main__.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework/cli.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework/py.typed +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/README.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/agent-sessions.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/claude/README.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/comparisons/README.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/README.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/README.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/installers/strategy.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/README.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/README.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/af-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/af.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/assistant.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/build.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/clone.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/code-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/code.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/commit.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/console-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/console.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/deps.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/entity-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/entity.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/flow-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/flow.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/gateway.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/observer-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/observer.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/pull.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/push.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/start-local.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/start.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/status.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/steer_repl.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/uninstall.sh +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/setup.cfg +0 -0
- {abstractframework-0.4.2 → abstractframework-0.6.0}/tests/test_llms_full.py +0 -0
|
@@ -4,6 +4,198 @@ All notable changes to AbstractFramework will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.6.0] - 2026-09-28
|
|
8
|
+
|
|
9
|
+
Remote and headless machines work like a Mac: one address and one SSH tunnel reach the console, the
|
|
10
|
+
API and every browser app; every client finds the local gateway on its own; AbstractCode creates and
|
|
11
|
+
runs automations; history replay keeps whole messages up to 50,000 tokens and never cuts one.
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **Browser apps open through the gateway at `/apps/<app>/`** (AbstractGateway 0.7.0). Flow, Code,
|
|
16
|
+
Observer, Continuum and Entity are served on the gateway's own address (HTTP, server-sent events
|
|
17
|
+
and WebSocket), signed in with the app's gateway session, so a LAN address, a reverse proxy or one
|
|
18
|
+
SSH tunnel reaches them all. The apps listen on `127.0.0.1` by default. The installer summary's
|
|
19
|
+
`Apps:` line and the docs point to `<gateway>/apps/<app>/`; the console's **Apps** page installs
|
|
20
|
+
and opens them. Running an app on its own with `npx … --gateway-url <url>` is the advanced
|
|
21
|
+
alternative (`Standalone:` line).
|
|
22
|
+
- **Local gateway pointer.** After the health check the installer writes
|
|
23
|
+
`~/.abstractframework/gateway.json` (Windows: `%USERPROFILE%\.abstractframework\gateway.json`),
|
|
24
|
+
mode 0600: the gateway's loopback URL, port and data directory, never a token. The Assistant (the
|
|
25
|
+
macOS app included), both terminal consoles, AbstractCode's terminal client and the browser apps'
|
|
26
|
+
servers read it to find a gateway on a port other than 8080, and follow it when the gateway moves.
|
|
27
|
+
The installer writes it for the install it just made, a custom `--data-dir` included (replacing a
|
|
28
|
+
pointer that names another data directory); `abstractgateway serve` then keeps it current under
|
|
29
|
+
its ownership rule. The uninstaller deletes it when it names the uninstalled data directory.
|
|
30
|
+
- **Automations in AbstractCode** (`abstractcode` 0.7.0, `@abstractframework/code` 0.6.0). In the
|
|
31
|
+
terminal client, `/automations` lists and opens automations (runs as chat pairs, waits that need
|
|
32
|
+
you, the folder, pause/resume, run now, stop, revise, archive, Discuss) and `/schedule` creates
|
|
33
|
+
one; the browser client has the same in its **Automations** sidebar section. See
|
|
34
|
+
[Automations](docs/automations.md).
|
|
35
|
+
- **Start at login from the consoles.** Both the web console (Gateway card, last setup step) and the
|
|
36
|
+
terminal console (F3, the Finish step) have a **Start at login** switch that changes the login item
|
|
37
|
+
without restarting the gateway.
|
|
38
|
+
- **The terminal console on a headless machine** (`abstractgateway-console` 0.11.0): a Network
|
|
39
|
+
screen that shows the saved and the running setting and offers the restart, Apps that give the link
|
|
40
|
+
and the tunnel command instead of opening a browser, voice and engine states, and the local
|
|
41
|
+
gateway pointer. Neither terminal console tries to open a browser on a machine without a display.
|
|
42
|
+
- `--ask-wait SECONDS` (Windows: `-AskWait`) sets how long a timed question waits (default 25, at
|
|
43
|
+
most 25). `--console-wait` remains as an alias.
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
|
|
47
|
+
- **One flag for the gateway address: `--gateway-url`** in every app and terminal client
|
|
48
|
+
(`--url` for the gateway terminal console and `--gateway` for AbstractCode remain as aliases). The
|
|
49
|
+
installer summary and the docs use it; with `--with-apps` the installer prints
|
|
50
|
+
`npx -y @abstractframework/<app>@<version> --gateway-url <gateway>` for all five apps.
|
|
51
|
+
- **Start at login is asked whenever a person is at a terminal**, not only with `--interactive`:
|
|
52
|
+
`curl … | sh` asks it on your terminal (`/dev/tty`), Enter = yes. Nobody answering within
|
|
53
|
+
`--ask-wait`, an install without a terminal (a script, CI, a provisioning tool) and `--yes` keep
|
|
54
|
+
the previous choice on a re-run and leave start at login **off** on a first install (it was on);
|
|
55
|
+
the summary then says how to turn it on: the **Start at login** switch in either console, or
|
|
56
|
+
`abstractgateway service enable`. A re-run reads the login item's own state, so a change made
|
|
57
|
+
with a console's switch is kept. `install.ps1` asks the same question on an interactive console
|
|
58
|
+
(it registered the login entry without asking). `--interactive` waits for answers without a time
|
|
59
|
+
limit; `--no-service` still asks nothing.
|
|
60
|
+
- **On a remote or headless session** (SSH, or Linux without a display) with a terminal, the
|
|
61
|
+
installer offers the terminal console at the end ("Press Enter within 25 s"), signed in; nobody answering skips it, so automation never blocks.
|
|
62
|
+
Over SSH it no longer opens a browser on the remote machine. `--no-open` skips both.
|
|
63
|
+
- **History replay keeps whole messages up to 50,000 tokens** (AbstractRuntime 0.7.0): growing
|
|
64
|
+
automations, session chats, run chat, the docs assistants and entity visits replay the newest whole
|
|
65
|
+
turns up to 50,000 tokens. No message is cut; the former 40-message, 24,000-character and
|
|
66
|
+
per-message caps are gone. Each run records how many earlier messages were not replayed, and the
|
|
67
|
+
clients say so.
|
|
68
|
+
- **Voice says what it can do** (AbstractVoice 0.13.0, AbstractCore 2.18.0). Voice listings name
|
|
69
|
+
the providers that cannot run here and why, instead of an empty list; cloud voice providers are
|
|
70
|
+
listed as needing a key until one is configured; a capability route whose engine is not installed
|
|
71
|
+
reports `engine_missing` with the install command; an OpenAI key saved in the Providers screen
|
|
72
|
+
reaches voice. The installer adds local voice to every install profile: Supertonic text-to-speech
|
|
73
|
+
and Whisper speech-to-text (`abstractvoice[supertonic,stt]`), both CPU, from prebuilt wheels
|
|
74
|
+
(skipped where no wheels exist: musl Linux / Alpine, macOS before 13; Whisper on Windows ARM64).
|
|
75
|
+
Voice never fails an install: where its packages do not install the gateway is installed without
|
|
76
|
+
it. The summary's `Voice:` line says what was installed, and a re-run that adds voice restarts the
|
|
77
|
+
gateway to load it.
|
|
78
|
+
- **Observer: Edit opens the form, and a calmer Automations page** (`@abstractframework/observer`
|
|
79
|
+
0.2.0). A row's **Edit** opens the automation's edit form at once, prefilled (title, task,
|
|
80
|
+
interval, context, tools); action buttons carry icons; a workspace folder can be browsed from the
|
|
81
|
+
browser; **Discuss** opens a chat with a fork of the automation; a run's **Ask** chat sends the
|
|
82
|
+
whole conversation.
|
|
83
|
+
- **Apple silicon model fits account for the GPU memory limit** (AbstractCore 2.18.0): a model that
|
|
84
|
+
fits once macOS raises its limit reads `needs_gpu_limit` with the exact command.
|
|
85
|
+
|
|
86
|
+
### Security
|
|
87
|
+
|
|
88
|
+
- **DNS-rebinding protection in the browser apps**: an app treats a browser as on this machine only
|
|
89
|
+
when both its address and the page's host are loopback, so a rebinding page can neither reveal a
|
|
90
|
+
folder nor change the gateway address. Continuum's local-only pages answer on `localhost` or
|
|
91
|
+
`127.0.0.1` only. The gateway's app proxy refuses requests with another origin or an invalid host.
|
|
92
|
+
- **Server-held keys are spent only for authenticated requests** (AbstractCore 2.18.0): with a
|
|
93
|
+
saved or environment OpenAI key, unauthenticated requests to the AbstractVoice audio routes, the
|
|
94
|
+
audio and vision discovery routes, OpenAI-backed vision generation and the capability discovery
|
|
95
|
+
routes get `401`, also with `ABSTRACTCORE_SERVER_ALLOW_UNAUTHENTICATED=1`; an explicit
|
|
96
|
+
`X-AbstractCore-Provider-API-Key` is spent instead. The music route follows the same rule while
|
|
97
|
+
the server holds a music backend key.
|
|
98
|
+
- The local gateway pointer is written without following links, with mode 0600, and readers reject
|
|
99
|
+
a pointer that other users can write.
|
|
100
|
+
|
|
101
|
+
### Changed (pins)
|
|
102
|
+
|
|
103
|
+
- **abstractgateway 0.7.0** (was 0.6.0): apps through `/apps/<app>/`, the local gateway pointer,
|
|
104
|
+
start at login from the consoles, cloud voice providers listed, the history window on every chat
|
|
105
|
+
route, and the terminal console 0.11.0.
|
|
106
|
+
- **abstractcore 2.18.0** (was 2.17.0): `engine_missing`, `needs_gpu_limit`, the saved OpenAI key
|
|
107
|
+
for voice, the key guards above, and `abstractcore-console` 0.4.0.
|
|
108
|
+
- **AbstractRuntime 0.7.1** (was 0.6.0): the 50,000-token history window, recorded in each run;
|
|
109
|
+
images in replayed history stay images, and an image counts as a flat 512 tokens in the window.
|
|
110
|
+
Library callers of `session_chat_messages` and `automation_timeline_messages` should read its
|
|
111
|
+
changelog's Breaking note.
|
|
112
|
+
- **abstractagent 0.3.17** (was 0.3.16): ReAct sends the runtime's history window when the host
|
|
113
|
+
asks for it.
|
|
114
|
+
- **abstractvoice 0.13.0** (was 0.12.0): engine status and unavailable-provider reasons, Qwen3-ASR
|
|
115
|
+
on Transformers 5.x, Qwen3-TTS predictor and sampler flags.
|
|
116
|
+
- **abstractassistant 0.9.0** (was 0.8.0): the macOS app finds a gateway through the local gateway
|
|
117
|
+
pointer; automation cards say their state in words.
|
|
118
|
+
- npm: **@abstractframework/flow 0.4.0**, **code 0.6.0**, **observer 0.2.0**, **continuum 0.4.0**
|
|
119
|
+
and **entity 0.3.0**, all served through the gateway at `/apps/<app>/` and taking
|
|
120
|
+
`--gateway-url`.
|
|
121
|
+
- crates.io: **abstractgateway-console 0.11.0**, **abstractcore-console 0.4.0** and
|
|
122
|
+
**abstractcode 0.7.0**.
|
|
123
|
+
- The pins apply to the base install and to the `apple` / `gpu` extras. Unchanged:
|
|
124
|
+
abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvision 0.3.30,
|
|
125
|
+
abstractmusic 0.1.15 and `abstracttui` 0.6.0.
|
|
126
|
+
|
|
127
|
+
## [0.5.0] - 2026-09-27
|
|
128
|
+
|
|
129
|
+
Automations, a terminal console installed by default, and a headless setup path: installing and
|
|
130
|
+
configuring AbstractFramework on a remote Linux server without a browser works like it does on a Mac.
|
|
131
|
+
|
|
132
|
+
### Added
|
|
133
|
+
|
|
134
|
+
- **Automations v1.** Run a workflow or the gateway's default agent again and again on a fixed UTC
|
|
135
|
+
interval or on request, read every run as a chat turn, and be notified only when a run asks for
|
|
136
|
+
you or fails. Create and manage them in the Assistant (session switcher, **Automations** tab), the
|
|
137
|
+
Observer (**Launch → Automate**, **Automations** page) or from a workflow's automation defaults in
|
|
138
|
+
the Flow editor. See [Automations](docs/automations.md).
|
|
139
|
+
- **The terminal console is installed by default.** The installer builds `abstractgateway-console`
|
|
140
|
+
with cargo next to the `abstractgateway` command. On macOS and Linux, when cargo is missing or
|
|
141
|
+
older than Rust 1.87, it adds Rust with rustup, user-scoped (`~/.rustup`, `~/.cargo`, about
|
|
142
|
+
600 MB, shell profile untouched); Windows builds it when Rust is already installed. The build
|
|
143
|
+
needs a C compiler; without one, or if it fails, the installer says why and continues.
|
|
144
|
+
`--no-console` (`-NoConsole`) skips it; `--with-console` is accepted and has no effect. The
|
|
145
|
+
uninstaller removes the console it built and keeps Rust.
|
|
146
|
+
- **Both consoles in the installer summary.** The summary shows the web console link and the
|
|
147
|
+
terminal console command, `abstractgateway-console --url <gateway> --token-file <data dir>/auth/bootstrap-admin-token`:
|
|
148
|
+
the token is read from the gateway's data dir and never appears on the command line or in the
|
|
149
|
+
environment.
|
|
150
|
+
- **Headless or remote machine** ([Install](docs/install.md#headless-or-remote-machine)): configure
|
|
151
|
+
the gateway from the terminal console on the server, or tunnel the web console over SSH.
|
|
152
|
+
- **The terminal console matches the web console** (`abstractgateway-console` 0.10.0): the setup
|
|
153
|
+
guide for a headless first run (Connection, Setup, Engines, Providers, Routes, Models, Apps,
|
|
154
|
+
Review), twelve screens including **Setup** and **A Apps**, the **F2** docs assistant, the **F3**
|
|
155
|
+
host panel, every sandbox mode, entity summon and workflow import, with the same admin rules.
|
|
156
|
+
`abstractcore-console` 0.3.0 adds Hugging Face search, parallel downloads, engine start/stop and
|
|
157
|
+
a video filter to the shared Models and Engines screens.
|
|
158
|
+
- **Recommended defaults fit the machine** (AbstractCore 2.17.0): every recommended route is written
|
|
159
|
+
only where its engine runs, and a route this computer cannot run says why. Video joins the model
|
|
160
|
+
catalog and the recommendations (MLX-Gen Wan2.2 TI2V-5B on Apple silicon with enough memory), and
|
|
161
|
+
the web console has a **Video** filter and card.
|
|
162
|
+
|
|
163
|
+
### Changed
|
|
164
|
+
|
|
165
|
+
- **App hints use launch flags.** With `--with-apps`, the installer prints
|
|
166
|
+
`npx -y @abstractframework/flow@<version> --gateway-url <gateway>` (Continuum likewise); Code,
|
|
167
|
+
Observer and Entity take a gateway other than `http://127.0.0.1:8080` on their sign-in screen.
|
|
168
|
+
`--with-code-cli` prints `abstractcode --gateway <gateway>`.
|
|
169
|
+
|
|
170
|
+
### Changed (pins)
|
|
171
|
+
|
|
172
|
+
- **abstractgateway 0.6.0** (was 0.5.1): the Automations API, run lists attributed to automations,
|
|
173
|
+
web console video and host-aware routes, and the terminal console 0.10.0.
|
|
174
|
+
- **abstractcore 2.17.0** (was 2.16.1): host-aware recommended defaults, video models and routes,
|
|
175
|
+
`route_unavailable` on routes this computer cannot run, a voice-clone fix for local engines.
|
|
176
|
+
- **AbstractRuntime 0.6.0** (was 0.5.1): the durable automation controller and its occurrences.
|
|
177
|
+
- **abstractassistant 0.8.0** (was 0.7.0): automations in the session switcher (schedule a
|
|
178
|
+
conversation, read runs as a chat, answer waiting runs, discuss a run); it finds a gateway the
|
|
179
|
+
installer moved off a busy port 8080.
|
|
180
|
+
- **abstractvoice 0.12.0** (was 0.11.4): Qwen3-TTS checkpoint selection, directed speech and a
|
|
181
|
+
steadier codebook predictor.
|
|
182
|
+
- **abstractvision 0.3.30** (was 0.3.29): unloading an MLX-Gen model returns its memory to the
|
|
183
|
+
operating system.
|
|
184
|
+
- npm: **@abstractframework/flow 0.3.22** (automation defaults on workflows) and
|
|
185
|
+
**@abstractframework/observer 0.1.14** (Automate mode and the Automations page).
|
|
186
|
+
- crates.io: **abstractgateway-console 0.10.0** and **abstractcore-console 0.3.0**.
|
|
187
|
+
- The pins apply to the base install and to the `apple` / `gpu` extras. Unchanged:
|
|
188
|
+
abstractagent 0.3.16, abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5,
|
|
189
|
+
abstractmusic 0.1.15, @abstractframework/code 0.5.0, continuum 0.3.2, entity 0.2.2,
|
|
190
|
+
`abstractcode` 0.6.0 and `abstracttui` 0.6.0.
|
|
191
|
+
|
|
192
|
+
### Documentation
|
|
193
|
+
|
|
194
|
+
- **Automations guide** ([docs/automations.md](docs/automations.md)): how automations work, creating
|
|
195
|
+
them from each client, two worked examples, managing them, notifications and typed waits, restart
|
|
196
|
+
safety, limits and troubleshooting. A discussion about a run works in its own folder with the
|
|
197
|
+
automation's folder mounted read-only.
|
|
198
|
+
|
|
7
199
|
## [0.4.2] - 2026-09-27
|
|
8
200
|
|
|
9
201
|
A patch release for the uninstaller and two package updates.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.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,23 +23,23 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: abstractgateway==0.
|
|
27
|
-
Requires-Dist: abstractassistant==0.
|
|
28
|
-
Requires-Dist: abstractcore==2.
|
|
29
|
-
Requires-Dist: AbstractRuntime==0.
|
|
30
|
-
Requires-Dist: abstractagent==0.3.
|
|
26
|
+
Requires-Dist: abstractgateway==0.7.0
|
|
27
|
+
Requires-Dist: abstractassistant==0.9.0
|
|
28
|
+
Requires-Dist: abstractcore==2.18.0
|
|
29
|
+
Requires-Dist: AbstractRuntime==0.7.1
|
|
30
|
+
Requires-Dist: abstractagent==0.3.17
|
|
31
31
|
Requires-Dist: abstractskill==0.3.0
|
|
32
32
|
Requires-Dist: AbstractMemory==0.3.0
|
|
33
33
|
Requires-Dist: abstractsemantics==0.0.5
|
|
34
|
-
Requires-Dist: abstractvoice==0.
|
|
35
|
-
Requires-Dist: abstractvision==0.3.
|
|
34
|
+
Requires-Dist: abstractvoice==0.13.0
|
|
35
|
+
Requires-Dist: abstractvision==0.3.30
|
|
36
36
|
Requires-Dist: abstractmusic==0.1.15
|
|
37
37
|
Provides-Extra: apple
|
|
38
|
-
Requires-Dist: abstractgateway[apple]==0.
|
|
39
|
-
Requires-Dist: abstractassistant[apple]==0.
|
|
38
|
+
Requires-Dist: abstractgateway[apple]==0.7.0; extra == "apple"
|
|
39
|
+
Requires-Dist: abstractassistant[apple]==0.9.0; platform_system == "Darwin" and extra == "apple"
|
|
40
40
|
Provides-Extra: gpu
|
|
41
|
-
Requires-Dist: abstractgateway[gpu]==0.
|
|
42
|
-
Requires-Dist: abstractassistant[gpu]==0.
|
|
41
|
+
Requires-Dist: abstractgateway[gpu]==0.7.0; extra == "gpu"
|
|
42
|
+
Requires-Dist: abstractassistant[gpu]==0.9.0; extra == "gpu"
|
|
43
43
|
Dynamic: license-file
|
|
44
44
|
|
|
45
45
|
# AbstractFramework
|
|
@@ -64,9 +64,14 @@ Think of it as an **agentic OS**: durable runs + replay-first observability + mu
|
|
|
64
64
|
## Quick start
|
|
65
65
|
|
|
66
66
|
The installer sets up the gateway in your user account (no admin password, no system Python),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
with local voice (Supertonic text-to-speech and Whisper speech-to-text), asks whether to start it
|
|
68
|
+
at login (Enter = yes; an unattended install leaves it off and says how to turn it on), starts it
|
|
69
|
+
on `127.0.0.1:8080`, and opens its web console in your browser already signed in. A first-run guide
|
|
70
|
+
then sets up a local engine (Ollama, LM Studio, MLX, llama.cpp), downloads a model that fits your
|
|
71
|
+
machine, and lists the apps; the gateway serves them on its own address at `/apps/<app>/`. The
|
|
72
|
+
installer also builds the terminal console, `abstractgateway-console`, which runs the same guide on
|
|
73
|
+
a server without a browser and offers itself at the end of an install over SSH
|
|
74
|
+
([Headless or remote machine](docs/install.md#headless-or-remote-machine)).
|
|
70
75
|
|
|
71
76
|
- **Mac, no Terminal:** download and double-click
|
|
72
77
|
[AbstractFramework-Installer.pkg](https://github.com/lpalbou/AbstractFramework/releases/latest/download/AbstractFramework-Installer.pkg).
|
|
@@ -76,7 +81,7 @@ MLX, llama.cpp), downloads a model that fits your machine, and lists the apps.
|
|
|
76
81
|
- **macOS / Linux, one line:**
|
|
77
82
|
|
|
78
83
|
```bash
|
|
79
|
-
curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.sh | sh
|
|
84
|
+
curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.sh | sh
|
|
80
85
|
```
|
|
81
86
|
|
|
82
87
|
- **Windows 10 22H2+ / 11** (PowerShell):
|
|
@@ -145,7 +150,7 @@ Start here if you're building persistent AI applications — agents that run for
|
|
|
145
150
|
|
|
146
151
|
- Durable execution that survives crashes and restarts
|
|
147
152
|
- Append-only ledger (replay-first) for auditability
|
|
148
|
-
-
|
|
153
|
+
- Automations: a workflow that runs on a fixed interval or on demand, kept as a readable conversation ([Automations](docs/automations.md))
|
|
149
154
|
- Multi-client: terminal, browser, tray, Telegram, email
|
|
150
155
|
- Start on one device, continue on another
|
|
151
156
|
|
|
@@ -158,7 +163,8 @@ With no auth configured, `abstractgateway serve` binds `127.0.0.1:8080`, enables
|
|
|
158
163
|
creates `default/admin` in the per-user data folder, and prints a one-time sign-in link
|
|
159
164
|
(`http://127.0.0.1:8080/console#claim=…`, valid 10 minutes, this machine only). Open it to reach the
|
|
160
165
|
web console and its first-run guide. `abstractgateway claim` mints a new link;
|
|
161
|
-
`abstractgateway service
|
|
166
|
+
`abstractgateway service enable` (or the console's **Start at login** switch) starts the gateway at
|
|
167
|
+
login.
|
|
162
168
|
|
|
163
169
|
Browser apps on `http://localhost:*` and `http://127.0.0.1:*` may always call it. To choose
|
|
164
170
|
another data folder or allow another browser origin:
|
|
@@ -180,17 +186,19 @@ AbstractFlow, AbstractCode Web or AbstractObserver, or to the console without a
|
|
|
180
186
|
`ABSTRACTGATEWAY_AUTH_TOKEN` remains a legacy server/operator bearer token; it is not a browser
|
|
181
187
|
sign-in token.
|
|
182
188
|
|
|
183
|
-
Monitor runs from a browser, or from a terminal with the gateway console
|
|
189
|
+
Monitor runs from a browser, or from a terminal with the gateway console. The console's **Apps**
|
|
190
|
+
page installs and opens the browser apps, served by the gateway at `/apps/<app>/`
|
|
191
|
+
(`http://127.0.0.1:8080/apps/observer/`), so one address (and one SSH tunnel) reaches them all:
|
|
184
192
|
|
|
185
193
|
```bash
|
|
186
|
-
npx @abstractframework/observer
|
|
194
|
+
npx @abstractframework/observer --gateway-url http://127.0.0.1:8080 # or run one on its own
|
|
187
195
|
|
|
188
|
-
cargo install abstractgateway-console # Rust 1.87
|
|
189
|
-
|
|
196
|
+
cargo install abstractgateway-console # Rust 1.87+; the installer builds it for you
|
|
197
|
+
abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token> # <data dir>/auth/bootstrap-admin-token
|
|
190
198
|
```
|
|
191
199
|
|
|
192
200
|
Container images are published for the gateway and the AbstractCore server:
|
|
193
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
201
|
+
`ghcr.io/lpalbou/abstractgateway:0.7.0` and `ghcr.io/lpalbou/abstractcore-server:2.18.0`.
|
|
194
202
|
|
|
195
203
|
For artifact and runtime-resource investigation, see
|
|
196
204
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -228,7 +236,7 @@ See [Agent sessions](docs/agent-sessions.md).
|
|
|
228
236
|
|
|
229
237
|
AbstractFlow lets you author complex agentic orchestration as portable `.flow` bundles:
|
|
230
238
|
|
|
231
|
-
1. Open the Flow Editor (`npx @abstractframework/flow
|
|
239
|
+
1. Open the Flow Editor (the console's **Apps** page, or `npx @abstractframework/flow --gateway-url <url>`)
|
|
232
240
|
2. Build a workflow: LLM steps, tool steps, branching, loops, subflows
|
|
233
241
|
3. Export a `.flow` bundle into your own bundle directory and point `ABSTRACTGATEWAY_FLOWS_DIR` at it (or publish it through the Gateway API)
|
|
234
242
|
4. Run it from any gateway-backed client (Observer, AbstractAssistant, Code Web UI, your app)
|
|
@@ -241,7 +249,7 @@ AbstractFlow lets you author complex agentic orchestration as portable `.flow` b
|
|
|
241
249
|
|
|
242
250
|
- **Observe**: replay the full ledger of any run, or watch one live over SSE
|
|
243
251
|
- **Control**: cancel, resume, or inspect runs from the browser
|
|
244
|
-
- **
|
|
252
|
+
- **Automate**: create and manage automations (Launch → Automate, the Automations page); they run on the gateway and survive restarts. See [Automations](docs/automations.md)
|
|
245
253
|
|
|
246
254
|
---
|
|
247
255
|
|
|
@@ -288,13 +296,13 @@ The ecosystem, grouped by layer. Each name links to the package's repository.
|
|
|
288
296
|
|---|---|---|
|
|
289
297
|
| [AbstractCode](https://github.com/lpalbou/AbstractCode) | Terminal agentic dev client (Rust, on the AbstractTUI engine) — durable sessions, tool approvals, the gateway's default workflow, workspace files, live replies | `cargo install abstractcode`, or a prebuilt binary from the [GitHub release](https://github.com/lpalbou/AbstractCode/releases) |
|
|
290
298
|
| [AbstractAssistant](https://github.com/lpalbou/AbstractAssistant) | macOS tray client — gateway-native, follows the gateway's default workflow or your pick, live replies, voice support | `pip install abstractassistant`, or **Open** in the gateway console (starts it signed in) |
|
|
291
|
-
| [AbstractObserver](https://github.com/lpalbou/AbstractObserver) | Browser UI — monitor, control, and schedule gateway runs | `npx @abstractframework/observer
|
|
292
|
-
| [AbstractEntity](https://github.com/lpalbou/AbstractEntity) | Summoned-entity manager — roster, blueprint (cognition map + editing), chat drawer, live replay | `npx @abstractframework/entity
|
|
293
|
-
| [AbstractContinuum](https://github.com/lpalbou/AbstractContinuum) | Continuous iterative development and deployment console | `npx @abstractframework/continuum
|
|
294
|
-
| **Gateway consoles** | Operator consoles for a running gateway: web at `/console` (first-run guide, Models, Engines, providers, users), terminal via `abstractgateway-console` | built into `abstractgateway`; `cargo install abstractgateway-console` |
|
|
299
|
+
| [AbstractObserver](https://github.com/lpalbou/AbstractObserver) | Browser UI — monitor, control, and schedule gateway runs | the gateway console's **Apps** page (served at `/apps/observer/`), or `npx @abstractframework/observer --gateway-url <url>` |
|
|
300
|
+
| [AbstractEntity](https://github.com/lpalbou/AbstractEntity) | Summoned-entity manager — roster, blueprint (cognition map + editing), chat drawer, live replay | the gateway console's **Apps** page (served at `/apps/entity/`), or `npx @abstractframework/entity --gateway-url <url>` |
|
|
301
|
+
| [AbstractContinuum](https://github.com/lpalbou/AbstractContinuum) | Continuous iterative development and deployment console | the gateway console's **Apps** page (served at `/apps/continuum/`), or `npx @abstractframework/continuum --gateway-url <url>` |
|
|
302
|
+
| **Gateway consoles** | Operator consoles for a running gateway: web at `/console` (first-run guide, Models, Engines, providers, users), terminal via `abstractgateway-console` (the same setup guide and screens, Network and Apps included, for headless hosts) | built into `abstractgateway`; built by the installer, or `cargo install abstractgateway-console` |
|
|
295
303
|
| **Core consoles** | Consoles for AbstractCore: web at `/console` of `abstractcore serve`, terminal via `abstractcore-console` (config, Models, Engines) | built into `abstractcore`; `cargo install abstractcore-console` |
|
|
296
|
-
| **Code Web UI** | Browser client of AbstractCode (gateway-backed): workflow selector, Files tab, live replies | `npx @abstractframework/code
|
|
297
|
-
| **Flow Editor** | Visual workflow authoring in the browser | `npx @abstractframework/flow
|
|
304
|
+
| **Code Web UI** | Browser client of AbstractCode (gateway-backed): workflow selector, Files tab, live replies | the gateway console's **Apps** page (served at `/apps/code/`), or `npx @abstractframework/code --gateway-url <url>` |
|
|
305
|
+
| **Flow Editor** | Visual workflow authoring in the browser | the gateway console's **Apps** page (served at `/apps/flow/`), or `npx @abstractframework/flow --gateway-url <url>` |
|
|
298
306
|
|
|
299
307
|
### Shared libraries
|
|
300
308
|
|
|
@@ -336,7 +344,7 @@ pip install "abstractframework[gpu]"
|
|
|
336
344
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
337
345
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
338
346
|
|
|
339
|
-
### Release matrix (abstractframework 0.
|
|
347
|
+
### Release matrix (abstractframework 0.6.0)
|
|
340
348
|
|
|
341
349
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
342
350
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -345,28 +353,28 @@ and tested together.
|
|
|
345
353
|
|
|
346
354
|
| Registry | Package | Version |
|
|
347
355
|
|---|---|---|
|
|
348
|
-
| PyPI | `abstractgateway` | 0.
|
|
349
|
-
| PyPI | `abstractassistant` | 0.
|
|
350
|
-
| PyPI | `abstractcore` | 2.
|
|
351
|
-
| PyPI | `AbstractRuntime` | 0.
|
|
352
|
-
| PyPI | `abstractagent` | 0.3.
|
|
356
|
+
| PyPI | `abstractgateway` | 0.7.0 |
|
|
357
|
+
| PyPI | `abstractassistant` | 0.9.0 |
|
|
358
|
+
| PyPI | `abstractcore` | 2.18.0 |
|
|
359
|
+
| PyPI | `AbstractRuntime` | 0.7.1 |
|
|
360
|
+
| PyPI | `abstractagent` | 0.3.17 |
|
|
353
361
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
354
362
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
355
363
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
356
|
-
| PyPI | `abstractvoice` | 0.
|
|
357
|
-
| PyPI | `abstractvision` | 0.3.
|
|
364
|
+
| PyPI | `abstractvoice` | 0.13.0 |
|
|
365
|
+
| PyPI | `abstractvision` | 0.3.30 |
|
|
358
366
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
359
|
-
| npm | `@abstractframework/flow` | 0.
|
|
360
|
-
| npm | `@abstractframework/code` | 0.
|
|
361
|
-
| npm | `@abstractframework/observer` | 0.
|
|
362
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
363
|
-
| npm | `@abstractframework/entity` | 0.
|
|
364
|
-
| crates.io | `abstractcode` | 0.
|
|
365
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
366
|
-
| crates.io | `abstractcore-console` | 0.
|
|
367
|
+
| npm | `@abstractframework/flow` | 0.4.0 |
|
|
368
|
+
| npm | `@abstractframework/code` | 0.6.0 |
|
|
369
|
+
| npm | `@abstractframework/observer` | 0.2.0 |
|
|
370
|
+
| npm | `@abstractframework/continuum` | 0.4.0 |
|
|
371
|
+
| npm | `@abstractframework/entity` | 0.3.0 |
|
|
372
|
+
| crates.io | `abstractcode` | 0.7.0 |
|
|
373
|
+
| crates.io | `abstractgateway-console` | 0.11.0 |
|
|
374
|
+
| crates.io | `abstractcore-console` | 0.4.0 |
|
|
367
375
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
368
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
369
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
376
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.7.0 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
377
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.18.0 |
|
|
370
378
|
|
|
371
379
|
Optional add-ons that are not part of any profile install separately:
|
|
372
380
|
`pip install abstract3d` (0.3.1) and `pip install abstractcamera` (0.2.0). `abstractskill` (pinned above)
|
|
@@ -386,6 +394,7 @@ See [docs/install.md](docs/install.md) for the full install chooser, `uv`/venv g
|
|
|
386
394
|
| [docs/install.md](docs/install.md) | Light / Apple / GPU install chooser and first checks |
|
|
387
395
|
| [docs/getting-started.md](docs/getting-started.md) | Two entry points + first end-to-end run |
|
|
388
396
|
| [docs/agent-sessions.md](docs/agent-sessions.md) | Default agent workflow, the conversation workspace and its protection, skills, live replies, the Assistant hand-over |
|
|
397
|
+
| [docs/automations.md](docs/automations.md) | Automations: how they work (controller run, occurrences, independent vs growing context), creating and managing them from the Assistant, the Observer or a workflow, notifications, limits |
|
|
389
398
|
| [docs/architecture.md](docs/architecture.md) | Component diagram, how a turn flows, the live-reply lane, app proxies, model eject, framework identity, durable execution primitives |
|
|
390
399
|
| [docs/configuration.md](docs/configuration.md) | Minimal config, where defaults live, Core vs Gateway |
|
|
391
400
|
| [docs/glossary.md](docs/glossary.md) | Shared terminology (run, ledger, effect, wait, bundle, …) |
|
|
@@ -20,9 +20,14 @@ Think of it as an **agentic OS**: durable runs + replay-first observability + mu
|
|
|
20
20
|
## Quick start
|
|
21
21
|
|
|
22
22
|
The installer sets up the gateway in your user account (no admin password, no system Python),
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
with local voice (Supertonic text-to-speech and Whisper speech-to-text), asks whether to start it
|
|
24
|
+
at login (Enter = yes; an unattended install leaves it off and says how to turn it on), starts it
|
|
25
|
+
on `127.0.0.1:8080`, and opens its web console in your browser already signed in. A first-run guide
|
|
26
|
+
then sets up a local engine (Ollama, LM Studio, MLX, llama.cpp), downloads a model that fits your
|
|
27
|
+
machine, and lists the apps; the gateway serves them on its own address at `/apps/<app>/`. The
|
|
28
|
+
installer also builds the terminal console, `abstractgateway-console`, which runs the same guide on
|
|
29
|
+
a server without a browser and offers itself at the end of an install over SSH
|
|
30
|
+
([Headless or remote machine](docs/install.md#headless-or-remote-machine)).
|
|
26
31
|
|
|
27
32
|
- **Mac, no Terminal:** download and double-click
|
|
28
33
|
[AbstractFramework-Installer.pkg](https://github.com/lpalbou/AbstractFramework/releases/latest/download/AbstractFramework-Installer.pkg).
|
|
@@ -32,7 +37,7 @@ MLX, llama.cpp), downloads a model that fits your machine, and lists the apps.
|
|
|
32
37
|
- **macOS / Linux, one line:**
|
|
33
38
|
|
|
34
39
|
```bash
|
|
35
|
-
curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.sh | sh
|
|
40
|
+
curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scripts/install.sh | sh
|
|
36
41
|
```
|
|
37
42
|
|
|
38
43
|
- **Windows 10 22H2+ / 11** (PowerShell):
|
|
@@ -101,7 +106,7 @@ Start here if you're building persistent AI applications — agents that run for
|
|
|
101
106
|
|
|
102
107
|
- Durable execution that survives crashes and restarts
|
|
103
108
|
- Append-only ledger (replay-first) for auditability
|
|
104
|
-
-
|
|
109
|
+
- Automations: a workflow that runs on a fixed interval or on demand, kept as a readable conversation ([Automations](docs/automations.md))
|
|
105
110
|
- Multi-client: terminal, browser, tray, Telegram, email
|
|
106
111
|
- Start on one device, continue on another
|
|
107
112
|
|
|
@@ -114,7 +119,8 @@ With no auth configured, `abstractgateway serve` binds `127.0.0.1:8080`, enables
|
|
|
114
119
|
creates `default/admin` in the per-user data folder, and prints a one-time sign-in link
|
|
115
120
|
(`http://127.0.0.1:8080/console#claim=…`, valid 10 minutes, this machine only). Open it to reach the
|
|
116
121
|
web console and its first-run guide. `abstractgateway claim` mints a new link;
|
|
117
|
-
`abstractgateway service
|
|
122
|
+
`abstractgateway service enable` (or the console's **Start at login** switch) starts the gateway at
|
|
123
|
+
login.
|
|
118
124
|
|
|
119
125
|
Browser apps on `http://localhost:*` and `http://127.0.0.1:*` may always call it. To choose
|
|
120
126
|
another data folder or allow another browser origin:
|
|
@@ -136,17 +142,19 @@ AbstractFlow, AbstractCode Web or AbstractObserver, or to the console without a
|
|
|
136
142
|
`ABSTRACTGATEWAY_AUTH_TOKEN` remains a legacy server/operator bearer token; it is not a browser
|
|
137
143
|
sign-in token.
|
|
138
144
|
|
|
139
|
-
Monitor runs from a browser, or from a terminal with the gateway console
|
|
145
|
+
Monitor runs from a browser, or from a terminal with the gateway console. The console's **Apps**
|
|
146
|
+
page installs and opens the browser apps, served by the gateway at `/apps/<app>/`
|
|
147
|
+
(`http://127.0.0.1:8080/apps/observer/`), so one address (and one SSH tunnel) reaches them all:
|
|
140
148
|
|
|
141
149
|
```bash
|
|
142
|
-
npx @abstractframework/observer
|
|
150
|
+
npx @abstractframework/observer --gateway-url http://127.0.0.1:8080 # or run one on its own
|
|
143
151
|
|
|
144
|
-
cargo install abstractgateway-console # Rust 1.87
|
|
145
|
-
|
|
152
|
+
cargo install abstractgateway-console # Rust 1.87+; the installer builds it for you
|
|
153
|
+
abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token> # <data dir>/auth/bootstrap-admin-token
|
|
146
154
|
```
|
|
147
155
|
|
|
148
156
|
Container images are published for the gateway and the AbstractCore server:
|
|
149
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
157
|
+
`ghcr.io/lpalbou/abstractgateway:0.7.0` and `ghcr.io/lpalbou/abstractcore-server:2.18.0`.
|
|
150
158
|
|
|
151
159
|
For artifact and runtime-resource investigation, see
|
|
152
160
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -184,7 +192,7 @@ See [Agent sessions](docs/agent-sessions.md).
|
|
|
184
192
|
|
|
185
193
|
AbstractFlow lets you author complex agentic orchestration as portable `.flow` bundles:
|
|
186
194
|
|
|
187
|
-
1. Open the Flow Editor (`npx @abstractframework/flow
|
|
195
|
+
1. Open the Flow Editor (the console's **Apps** page, or `npx @abstractframework/flow --gateway-url <url>`)
|
|
188
196
|
2. Build a workflow: LLM steps, tool steps, branching, loops, subflows
|
|
189
197
|
3. Export a `.flow` bundle into your own bundle directory and point `ABSTRACTGATEWAY_FLOWS_DIR` at it (or publish it through the Gateway API)
|
|
190
198
|
4. Run it from any gateway-backed client (Observer, AbstractAssistant, Code Web UI, your app)
|
|
@@ -197,7 +205,7 @@ AbstractFlow lets you author complex agentic orchestration as portable `.flow` b
|
|
|
197
205
|
|
|
198
206
|
- **Observe**: replay the full ledger of any run, or watch one live over SSE
|
|
199
207
|
- **Control**: cancel, resume, or inspect runs from the browser
|
|
200
|
-
- **
|
|
208
|
+
- **Automate**: create and manage automations (Launch → Automate, the Automations page); they run on the gateway and survive restarts. See [Automations](docs/automations.md)
|
|
201
209
|
|
|
202
210
|
---
|
|
203
211
|
|
|
@@ -244,13 +252,13 @@ The ecosystem, grouped by layer. Each name links to the package's repository.
|
|
|
244
252
|
|---|---|---|
|
|
245
253
|
| [AbstractCode](https://github.com/lpalbou/AbstractCode) | Terminal agentic dev client (Rust, on the AbstractTUI engine) — durable sessions, tool approvals, the gateway's default workflow, workspace files, live replies | `cargo install abstractcode`, or a prebuilt binary from the [GitHub release](https://github.com/lpalbou/AbstractCode/releases) |
|
|
246
254
|
| [AbstractAssistant](https://github.com/lpalbou/AbstractAssistant) | macOS tray client — gateway-native, follows the gateway's default workflow or your pick, live replies, voice support | `pip install abstractassistant`, or **Open** in the gateway console (starts it signed in) |
|
|
247
|
-
| [AbstractObserver](https://github.com/lpalbou/AbstractObserver) | Browser UI — monitor, control, and schedule gateway runs | `npx @abstractframework/observer
|
|
248
|
-
| [AbstractEntity](https://github.com/lpalbou/AbstractEntity) | Summoned-entity manager — roster, blueprint (cognition map + editing), chat drawer, live replay | `npx @abstractframework/entity
|
|
249
|
-
| [AbstractContinuum](https://github.com/lpalbou/AbstractContinuum) | Continuous iterative development and deployment console | `npx @abstractframework/continuum
|
|
250
|
-
| **Gateway consoles** | Operator consoles for a running gateway: web at `/console` (first-run guide, Models, Engines, providers, users), terminal via `abstractgateway-console` | built into `abstractgateway`; `cargo install abstractgateway-console` |
|
|
255
|
+
| [AbstractObserver](https://github.com/lpalbou/AbstractObserver) | Browser UI — monitor, control, and schedule gateway runs | the gateway console's **Apps** page (served at `/apps/observer/`), or `npx @abstractframework/observer --gateway-url <url>` |
|
|
256
|
+
| [AbstractEntity](https://github.com/lpalbou/AbstractEntity) | Summoned-entity manager — roster, blueprint (cognition map + editing), chat drawer, live replay | the gateway console's **Apps** page (served at `/apps/entity/`), or `npx @abstractframework/entity --gateway-url <url>` |
|
|
257
|
+
| [AbstractContinuum](https://github.com/lpalbou/AbstractContinuum) | Continuous iterative development and deployment console | the gateway console's **Apps** page (served at `/apps/continuum/`), or `npx @abstractframework/continuum --gateway-url <url>` |
|
|
258
|
+
| **Gateway consoles** | Operator consoles for a running gateway: web at `/console` (first-run guide, Models, Engines, providers, users), terminal via `abstractgateway-console` (the same setup guide and screens, Network and Apps included, for headless hosts) | built into `abstractgateway`; built by the installer, or `cargo install abstractgateway-console` |
|
|
251
259
|
| **Core consoles** | Consoles for AbstractCore: web at `/console` of `abstractcore serve`, terminal via `abstractcore-console` (config, Models, Engines) | built into `abstractcore`; `cargo install abstractcore-console` |
|
|
252
|
-
| **Code Web UI** | Browser client of AbstractCode (gateway-backed): workflow selector, Files tab, live replies | `npx @abstractframework/code
|
|
253
|
-
| **Flow Editor** | Visual workflow authoring in the browser | `npx @abstractframework/flow
|
|
260
|
+
| **Code Web UI** | Browser client of AbstractCode (gateway-backed): workflow selector, Files tab, live replies | the gateway console's **Apps** page (served at `/apps/code/`), or `npx @abstractframework/code --gateway-url <url>` |
|
|
261
|
+
| **Flow Editor** | Visual workflow authoring in the browser | the gateway console's **Apps** page (served at `/apps/flow/`), or `npx @abstractframework/flow --gateway-url <url>` |
|
|
254
262
|
|
|
255
263
|
### Shared libraries
|
|
256
264
|
|
|
@@ -292,7 +300,7 @@ pip install "abstractframework[gpu]"
|
|
|
292
300
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
293
301
|
| GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
294
302
|
|
|
295
|
-
### Release matrix (abstractframework 0.
|
|
303
|
+
### Release matrix (abstractframework 0.6.0)
|
|
296
304
|
|
|
297
305
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
298
306
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -301,28 +309,28 @@ and tested together.
|
|
|
301
309
|
|
|
302
310
|
| Registry | Package | Version |
|
|
303
311
|
|---|---|---|
|
|
304
|
-
| PyPI | `abstractgateway` | 0.
|
|
305
|
-
| PyPI | `abstractassistant` | 0.
|
|
306
|
-
| PyPI | `abstractcore` | 2.
|
|
307
|
-
| PyPI | `AbstractRuntime` | 0.
|
|
308
|
-
| PyPI | `abstractagent` | 0.3.
|
|
312
|
+
| PyPI | `abstractgateway` | 0.7.0 |
|
|
313
|
+
| PyPI | `abstractassistant` | 0.9.0 |
|
|
314
|
+
| PyPI | `abstractcore` | 2.18.0 |
|
|
315
|
+
| PyPI | `AbstractRuntime` | 0.7.1 |
|
|
316
|
+
| PyPI | `abstractagent` | 0.3.17 |
|
|
309
317
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
310
318
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
311
319
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
312
|
-
| PyPI | `abstractvoice` | 0.
|
|
313
|
-
| PyPI | `abstractvision` | 0.3.
|
|
320
|
+
| PyPI | `abstractvoice` | 0.13.0 |
|
|
321
|
+
| PyPI | `abstractvision` | 0.3.30 |
|
|
314
322
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
315
|
-
| npm | `@abstractframework/flow` | 0.
|
|
316
|
-
| npm | `@abstractframework/code` | 0.
|
|
317
|
-
| npm | `@abstractframework/observer` | 0.
|
|
318
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
319
|
-
| npm | `@abstractframework/entity` | 0.
|
|
320
|
-
| crates.io | `abstractcode` | 0.
|
|
321
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
322
|
-
| crates.io | `abstractcore-console` | 0.
|
|
323
|
+
| npm | `@abstractframework/flow` | 0.4.0 |
|
|
324
|
+
| npm | `@abstractframework/code` | 0.6.0 |
|
|
325
|
+
| npm | `@abstractframework/observer` | 0.2.0 |
|
|
326
|
+
| npm | `@abstractframework/continuum` | 0.4.0 |
|
|
327
|
+
| npm | `@abstractframework/entity` | 0.3.0 |
|
|
328
|
+
| crates.io | `abstractcode` | 0.7.0 |
|
|
329
|
+
| crates.io | `abstractgateway-console` | 0.11.0 |
|
|
330
|
+
| crates.io | `abstractcore-console` | 0.4.0 |
|
|
323
331
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
324
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
325
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
332
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.7.0 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
333
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.18.0 |
|
|
326
334
|
|
|
327
335
|
Optional add-ons that are not part of any profile install separately:
|
|
328
336
|
`pip install abstract3d` (0.3.1) and `pip install abstractcamera` (0.2.0). `abstractskill` (pinned above)
|
|
@@ -342,6 +350,7 @@ See [docs/install.md](docs/install.md) for the full install chooser, `uv`/venv g
|
|
|
342
350
|
| [docs/install.md](docs/install.md) | Light / Apple / GPU install chooser and first checks |
|
|
343
351
|
| [docs/getting-started.md](docs/getting-started.md) | Two entry points + first end-to-end run |
|
|
344
352
|
| [docs/agent-sessions.md](docs/agent-sessions.md) | Default agent workflow, the conversation workspace and its protection, skills, live replies, the Assistant hand-over |
|
|
353
|
+
| [docs/automations.md](docs/automations.md) | Automations: how they work (controller run, occurrences, independent vs growing context), creating and managing them from the Assistant, the Observer or a workflow, notifications, limits |
|
|
345
354
|
| [docs/architecture.md](docs/architecture.md) | Component diagram, how a turn flows, the live-reply lane, app proxies, model eject, framework identity, durable execution primitives |
|
|
346
355
|
| [docs/configuration.md](docs/configuration.md) | Minimal config, where defaults live, Core vs Gateway |
|
|
347
356
|
| [docs/glossary.md](docs/glossary.md) | Shared terminology (run, ledger, effect, wait, bundle, …) |
|