abstractframework 0.5.0__tar.gz → 0.6.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {abstractframework-0.5.0 → abstractframework-0.6.1}/CHANGELOG.md +179 -0
- {abstractframework-0.5.0/abstractframework.egg-info → abstractframework-0.6.1}/PKG-INFO +52 -46
- {abstractframework-0.5.0 → abstractframework-0.6.1}/README.md +41 -35
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework/__init__.py +16 -16
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework/install_manifest.py +10 -5
- {abstractframework-0.5.0 → abstractframework-0.6.1/abstractframework.egg-info}/PKG-INFO +52 -46
- abstractframework-0.6.1/abstractframework.egg-info/requires.txt +21 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/README.md +1 -1
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/api.md +10 -10
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/architecture.md +52 -7
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/automations.md +41 -17
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/configuration.md +12 -13
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/faq.md +10 -7
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/getting-started.md +63 -24
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/glossary.md +3 -1
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/install.md +209 -66
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/components.md +2 -2
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/implementation-plan.md +1 -1
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/user-journeys.md +11 -8
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/troubleshooting.md +6 -3
- {abstractframework-0.5.0 → abstractframework-0.6.1}/llms-full.txt +509 -235
- {abstractframework-0.5.0 → abstractframework-0.6.1}/llms.txt +10 -8
- {abstractframework-0.5.0 → abstractframework-0.6.1}/pyproject.toml +11 -11
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/check_identity_sync.py +52 -5
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/install.sh +512 -144
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/tests/test_install_user_path.sh +258 -18
- {abstractframework-0.5.0 → abstractframework-0.6.1}/tests/test_install_profiles.py +369 -26
- abstractframework-0.5.0/abstractframework.egg-info/requires.txt +0 -21
- {abstractframework-0.5.0 → abstractframework-0.6.1}/LICENSE +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/MANIFEST.in +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework/__main__.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework/cli.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework/py.typed +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework.egg-info/SOURCES.txt +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework.egg-info/dependency_links.txt +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework.egg-info/entry_points.txt +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/abstractframework.egg-info/top_level.txt +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0001-layered-architecture.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0002-effect-system-design.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0003-tool-system-architecture.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0004-observability-strategy.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0005-memory-architecture.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0006-durable-tool-execution.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0008-token-terminology.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0012-portable-workflowartifact.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0035-capability-routing-defaults.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/README.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/memory-recall-levels.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/agent-sessions.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/claude/README.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/claude/abstractframework-fit.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/claude/claude-skills-overview.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/claude/claude-skills-sources.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/claude/claude-skills-top-20.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/comparisons/README.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/LANDING.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/README.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/agent-skills.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/agent-vs-llm.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/agora-workflow-agent.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/apple-local-gateway-flow.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/capability-plugins.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/capability-routing-defaults.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/deployment-iphone.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/deployment-topologies.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/deployment-web.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/email-integration.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/event-inbox-agent.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/flow-and-kg-memory.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/gateway-security.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/headless-swarm.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/process-manager-env-vars.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/prompt-caching.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/runtime-artifacts.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/runtime-scope.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/scheduled-workflows.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/summoned-entities.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/telegram-integration.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/guide/workflow-bundles.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/README.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/operations-and-support.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/release-and-manifest.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/security-and-os-blocks.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/installers/strategy.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/prompts/agora-collaboration.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/README.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/email-inbox-agent.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/gateway-first-local-dev.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/offline-coding-assistant.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/phone-thin-client.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/specialized-agent-flow.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/telegram-permanent-contact.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/README.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/claude-agent-skills-overview.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/claude-agent-skills-sources.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/skills/claude-agent-skills-top-20.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/docs/workspace-scripts.md +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/af-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/af.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/agora_react_flow_smoke.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/assistant-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/assistant.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/build.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/cache_probe_local_backends.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/cache_steer_repl.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/clone.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/code-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/code.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/commit.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/console-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/console.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/core_operator_drive.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/deps.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/entity-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/entity.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/event_inbox_flow_smoke.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/flow-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/flow.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/gateway-flow-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/gateway-flow.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/gateway-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/gateway.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/gen_llms_full.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/headless_fleet_bridge.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/headless_fleet_demo.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/headless_steer_repl.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/lib/af_inventory.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/lib/af_stack.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/lib/af_supervisor.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/lib/apps_common.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/lib/build_macos_installer.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/lib/gateway_user_tokens.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/lib/repo_groups.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/meet_castor.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/observer-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/observer.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/plan_walkthrough.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/pull.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/push.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/spawn_demo_agent.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/start-local.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/start.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/status.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/steer_repl.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/tests/test_af_supervisor.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/tests/test_inventory.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/tests/test_repo_scripts.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/uninstall.sh +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/scripts/visit_resume_cache_probe.py +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/setup.cfg +0 -0
- {abstractframework-0.5.0 → abstractframework-0.6.1}/tests/test_llms_full.py +0 -0
|
@@ -4,6 +4,185 @@ All notable changes to AbstractFramework will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.6.1] - 2026-09-28
|
|
8
|
+
|
|
9
|
+
Every terminal command lands on your PATH, AbstractCode's terminal client says how to sign in, and
|
|
10
|
+
Run now explains itself the same way in every client.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **The installer puts every command line on PATH by default**, in one folder, uv's tool bin
|
|
15
|
+
directory (`~/.local/bin` on macOS and Linux, `%USERPROFILE%\.local\bin` on Windows), next to
|
|
16
|
+
`abstractgateway`:
|
|
17
|
+
- AbstractCode's terminal client, `abstractcode`, is built whenever the terminal console is, with
|
|
18
|
+
the same cargo. `--no-code-cli` (`-NoCodeCli`) skips it; a failed build never fails the install.
|
|
19
|
+
With `--no-console` it is built only when a cargo of Rust 1.87 or later already exists.
|
|
20
|
+
- The library commands come from the gateway's own environment: AbstractCore's (`abstractcore`,
|
|
21
|
+
`abstractcore-config`, `abstractcore-chat`, `abstractcore-endpoint` and its apps `summarizer`,
|
|
22
|
+
`extractor`, `judge`, `intent`, `deepsearch`, also as `abstractcore-<app>`), `abstractvoice`,
|
|
23
|
+
`abstractvoice-prefetch`, `abstractvision` and `abstractmusic`. `--no-core-cli` (`-NoCoreCli`)
|
|
24
|
+
leaves them out.
|
|
25
|
+
- A package's commands come all together or not at all: when another program already has one of
|
|
26
|
+
its names, that package is left out with a warning naming the file, and the rest installs.
|
|
27
|
+
- `--with-code-cli` and `--with-core-cli` stay accepted (they are the default now).
|
|
28
|
+
- The summary lists every command with what it does (`abstractgateway-config`: the gateway's
|
|
29
|
+
admin command). See [Commands you get](docs/install.md#commands-you-get).
|
|
30
|
+
- **Signing AbstractCode's terminal client in.** The summary prints
|
|
31
|
+
`Sign in (terminal, once): abstractcode login --token <token>` with your admin token, then
|
|
32
|
+
`abstractcode`, and the way without a token on the gateway's computer,
|
|
33
|
+
`abstractgateway apps tui-command code`. The installer never saves the token for you. Started
|
|
34
|
+
without a sign-in, `abstractcode` 0.7.1 says so and prints the same lines instead of opening
|
|
35
|
+
with an empty workflow.
|
|
36
|
+
- **Terminal apps share one folder with the gateway** (AbstractGateway 0.7.1). The console's
|
|
37
|
+
**Apps** page installs and updates `abstractcode` in the same folder as the installer, so it runs
|
|
38
|
+
by name. A re-run of the installer keeps an `abstractcode` newer than its pin. On Windows,
|
|
39
|
+
`install.ps1` builds `abstractgateway-console` and `abstractcode` into `%USERPROFILE%\.local\bin`
|
|
40
|
+
(an existing copy in `%USERPROFILE%\.cargo\bin` is left in place).
|
|
41
|
+
- **Uninstall** removes `abstractcode` like the console, and also the copy older gateways put in
|
|
42
|
+
`<data dir>/apps/bin` (removing that folder when it is empty; other files there are kept).
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
|
|
46
|
+
- **Run now reads the same everywhere** (ui-kit 0.1.16, Observer 0.2.1, Assistant 0.9.1,
|
|
47
|
+
AbstractCode terminal 0.7.1 and web 0.6.1). Every client draws Run now with the same play-in-a-circle icon and explains
|
|
48
|
+
it with the same text: it runs the automation once now instead of waiting; the next scheduled run
|
|
49
|
+
keeps its time (or starts right after this run if its time comes first); it does not count toward
|
|
50
|
+
a run limit; it works while paused, which stays paused; and it is not available while a run is in
|
|
51
|
+
progress. Pause, Resume, Stop, Edit, Archive and Discuss carry the same kind of hint. See
|
|
52
|
+
[Automations](docs/automations.md).
|
|
53
|
+
|
|
54
|
+
### Changed (pins)
|
|
55
|
+
|
|
56
|
+
- **abstractgateway 0.7.1** (was 0.7.0): terminal apps in the uv tool bin folder.
|
|
57
|
+
- **abstractassistant 0.9.1** (was 0.9.0): the shared Run now icon and hints.
|
|
58
|
+
- npm: **@abstractframework/observer 0.2.1** and **@abstractframework/code 0.6.1** (both with the
|
|
59
|
+
shared Run now hints, ui-kit 0.1.16).
|
|
60
|
+
- crates.io: **abstractcode 0.7.1** (sign-in report, "not signed in" state, Run now line).
|
|
61
|
+
- Unchanged: abstractcore 2.18.0, AbstractRuntime 0.7.1, abstractagent 0.3.17, abstractvoice 0.13.0,
|
|
62
|
+
abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvision 0.3.30,
|
|
63
|
+
abstractmusic 0.1.15, flow 0.4.0, continuum 0.4.0, entity 0.3.0, `abstractgateway-console` 0.11.0,
|
|
64
|
+
`abstractcore-console` 0.4.0 and `abstracttui` 0.6.0.
|
|
65
|
+
|
|
66
|
+
## [0.6.0] - 2026-09-28
|
|
67
|
+
|
|
68
|
+
Remote and headless machines work like a Mac: one address and one SSH tunnel reach the console, the
|
|
69
|
+
API and every browser app; every client finds the local gateway on its own; AbstractCode creates and
|
|
70
|
+
runs automations; history replay keeps whole messages up to 50,000 tokens and never cuts one.
|
|
71
|
+
|
|
72
|
+
### Added
|
|
73
|
+
|
|
74
|
+
- **Browser apps open through the gateway at `/apps/<app>/`** (AbstractGateway 0.7.0). Flow, Code,
|
|
75
|
+
Observer, Continuum and Entity are served on the gateway's own address (HTTP, server-sent events
|
|
76
|
+
and WebSocket), signed in with the app's gateway session, so a LAN address, a reverse proxy or one
|
|
77
|
+
SSH tunnel reaches them all. The apps listen on `127.0.0.1` by default. The installer summary's
|
|
78
|
+
`Apps:` line and the docs point to `<gateway>/apps/<app>/`; the console's **Apps** page installs
|
|
79
|
+
and opens them. Running an app on its own with `npx … --gateway-url <url>` is the advanced
|
|
80
|
+
alternative (`Standalone:` line).
|
|
81
|
+
- **Local gateway pointer.** After the health check the installer writes
|
|
82
|
+
`~/.abstractframework/gateway.json` (Windows: `%USERPROFILE%\.abstractframework\gateway.json`),
|
|
83
|
+
mode 0600: the gateway's loopback URL, port and data directory, never a token. The Assistant (the
|
|
84
|
+
macOS app included), both terminal consoles, AbstractCode's terminal client and the browser apps'
|
|
85
|
+
servers read it to find a gateway on a port other than 8080, and follow it when the gateway moves.
|
|
86
|
+
The installer writes it for the install it just made, a custom `--data-dir` included (replacing a
|
|
87
|
+
pointer that names another data directory); `abstractgateway serve` then keeps it current under
|
|
88
|
+
its ownership rule. The uninstaller deletes it when it names the uninstalled data directory.
|
|
89
|
+
- **Automations in AbstractCode** (`abstractcode` 0.7.0, `@abstractframework/code` 0.6.0). In the
|
|
90
|
+
terminal client, `/automations` lists and opens automations (runs as chat pairs, waits that need
|
|
91
|
+
you, the folder, pause/resume, run now, stop, revise, archive, Discuss) and `/schedule` creates
|
|
92
|
+
one; the browser client has the same in its **Automations** sidebar section. See
|
|
93
|
+
[Automations](docs/automations.md).
|
|
94
|
+
- **Start at login from the consoles.** Both the web console (Gateway card, last setup step) and the
|
|
95
|
+
terminal console (F3, the Finish step) have a **Start at login** switch that changes the login item
|
|
96
|
+
without restarting the gateway.
|
|
97
|
+
- **The terminal console on a headless machine** (`abstractgateway-console` 0.11.0): a Network
|
|
98
|
+
screen that shows the saved and the running setting and offers the restart, Apps that give the link
|
|
99
|
+
and the tunnel command instead of opening a browser, voice and engine states, and the local
|
|
100
|
+
gateway pointer. Neither terminal console tries to open a browser on a machine without a display.
|
|
101
|
+
- `--ask-wait SECONDS` (Windows: `-AskWait`) sets how long a timed question waits (default 25, at
|
|
102
|
+
most 25). `--console-wait` remains as an alias.
|
|
103
|
+
|
|
104
|
+
### Changed
|
|
105
|
+
|
|
106
|
+
- **One flag for the gateway address: `--gateway-url`** in every app and terminal client
|
|
107
|
+
(`--url` for the gateway terminal console and `--gateway` for AbstractCode remain as aliases). The
|
|
108
|
+
installer summary and the docs use it; with `--with-apps` the installer prints
|
|
109
|
+
`npx -y @abstractframework/<app>@<version> --gateway-url <gateway>` for all five apps.
|
|
110
|
+
- **Start at login is asked whenever a person is at a terminal**, not only with `--interactive`:
|
|
111
|
+
`curl … | sh` asks it on your terminal (`/dev/tty`), Enter = yes. Nobody answering within
|
|
112
|
+
`--ask-wait`, an install without a terminal (a script, CI, a provisioning tool) and `--yes` keep
|
|
113
|
+
the previous choice on a re-run and leave start at login **off** on a first install (it was on);
|
|
114
|
+
the summary then says how to turn it on: the **Start at login** switch in either console, or
|
|
115
|
+
`abstractgateway service enable`. A re-run reads the login item's own state, so a change made
|
|
116
|
+
with a console's switch is kept. `install.ps1` asks the same question on an interactive console
|
|
117
|
+
(it registered the login entry without asking). `--interactive` waits for answers without a time
|
|
118
|
+
limit; `--no-service` still asks nothing.
|
|
119
|
+
- **On a remote or headless session** (SSH, or Linux without a display) with a terminal, the
|
|
120
|
+
installer offers the terminal console at the end ("Press Enter within 25 s"), signed in; nobody answering skips it, so automation never blocks.
|
|
121
|
+
Over SSH it no longer opens a browser on the remote machine. `--no-open` skips both.
|
|
122
|
+
- **History replay keeps whole messages up to 50,000 tokens** (AbstractRuntime 0.7.0): growing
|
|
123
|
+
automations, session chats, run chat, the docs assistants and entity visits replay the newest whole
|
|
124
|
+
turns up to 50,000 tokens. No message is cut; the former 40-message, 24,000-character and
|
|
125
|
+
per-message caps are gone. Each run records how many earlier messages were not replayed, and the
|
|
126
|
+
clients say so.
|
|
127
|
+
- **Voice says what it can do** (AbstractVoice 0.13.0, AbstractCore 2.18.0). Voice listings name
|
|
128
|
+
the providers that cannot run here and why, instead of an empty list; cloud voice providers are
|
|
129
|
+
listed as needing a key until one is configured; a capability route whose engine is not installed
|
|
130
|
+
reports `engine_missing` with the install command; an OpenAI key saved in the Providers screen
|
|
131
|
+
reaches voice. The installer adds local voice to every install profile: Supertonic text-to-speech
|
|
132
|
+
and Whisper speech-to-text (`abstractvoice[supertonic,stt]`), both CPU, from prebuilt wheels
|
|
133
|
+
(skipped where no wheels exist: musl Linux / Alpine, macOS before 13; Whisper on Windows ARM64).
|
|
134
|
+
Voice never fails an install: where its packages do not install the gateway is installed without
|
|
135
|
+
it. The summary's `Voice:` line says what was installed, and a re-run that adds voice restarts the
|
|
136
|
+
gateway to load it.
|
|
137
|
+
- **Observer: Edit opens the form, and a calmer Automations page** (`@abstractframework/observer`
|
|
138
|
+
0.2.0). A row's **Edit** opens the automation's edit form at once, prefilled (title, task,
|
|
139
|
+
interval, context, tools); action buttons carry icons; a workspace folder can be browsed from the
|
|
140
|
+
browser; **Discuss** opens a chat with a fork of the automation; a run's **Ask** chat sends the
|
|
141
|
+
whole conversation.
|
|
142
|
+
- **Apple silicon model fits account for the GPU memory limit** (AbstractCore 2.18.0): a model that
|
|
143
|
+
fits once macOS raises its limit reads `needs_gpu_limit` with the exact command.
|
|
144
|
+
|
|
145
|
+
### Security
|
|
146
|
+
|
|
147
|
+
- **DNS-rebinding protection in the browser apps**: an app treats a browser as on this machine only
|
|
148
|
+
when both its address and the page's host are loopback, so a rebinding page can neither reveal a
|
|
149
|
+
folder nor change the gateway address. Continuum's local-only pages answer on `localhost` or
|
|
150
|
+
`127.0.0.1` only. The gateway's app proxy refuses requests with another origin or an invalid host.
|
|
151
|
+
- **Server-held keys are spent only for authenticated requests** (AbstractCore 2.18.0): with a
|
|
152
|
+
saved or environment OpenAI key, unauthenticated requests to the AbstractVoice audio routes, the
|
|
153
|
+
audio and vision discovery routes, OpenAI-backed vision generation and the capability discovery
|
|
154
|
+
routes get `401`, also with `ABSTRACTCORE_SERVER_ALLOW_UNAUTHENTICATED=1`; an explicit
|
|
155
|
+
`X-AbstractCore-Provider-API-Key` is spent instead. The music route follows the same rule while
|
|
156
|
+
the server holds a music backend key.
|
|
157
|
+
- The local gateway pointer is written without following links, with mode 0600, and readers reject
|
|
158
|
+
a pointer that other users can write.
|
|
159
|
+
|
|
160
|
+
### Changed (pins)
|
|
161
|
+
|
|
162
|
+
- **abstractgateway 0.7.0** (was 0.6.0): apps through `/apps/<app>/`, the local gateway pointer,
|
|
163
|
+
start at login from the consoles, cloud voice providers listed, the history window on every chat
|
|
164
|
+
route, and the terminal console 0.11.0.
|
|
165
|
+
- **abstractcore 2.18.0** (was 2.17.0): `engine_missing`, `needs_gpu_limit`, the saved OpenAI key
|
|
166
|
+
for voice, the key guards above, and `abstractcore-console` 0.4.0.
|
|
167
|
+
- **AbstractRuntime 0.7.1** (was 0.6.0): the 50,000-token history window, recorded in each run;
|
|
168
|
+
images in replayed history stay images, and an image counts as a flat 512 tokens in the window.
|
|
169
|
+
Library callers of `session_chat_messages` and `automation_timeline_messages` should read its
|
|
170
|
+
changelog's Breaking note.
|
|
171
|
+
- **abstractagent 0.3.17** (was 0.3.16): ReAct sends the runtime's history window when the host
|
|
172
|
+
asks for it.
|
|
173
|
+
- **abstractvoice 0.13.0** (was 0.12.0): engine status and unavailable-provider reasons, Qwen3-ASR
|
|
174
|
+
on Transformers 5.x, Qwen3-TTS predictor and sampler flags.
|
|
175
|
+
- **abstractassistant 0.9.0** (was 0.8.0): the macOS app finds a gateway through the local gateway
|
|
176
|
+
pointer; automation cards say their state in words.
|
|
177
|
+
- npm: **@abstractframework/flow 0.4.0**, **code 0.6.0**, **observer 0.2.0**, **continuum 0.4.0**
|
|
178
|
+
and **entity 0.3.0**, all served through the gateway at `/apps/<app>/` and taking
|
|
179
|
+
`--gateway-url`.
|
|
180
|
+
- crates.io: **abstractgateway-console 0.11.0**, **abstractcore-console 0.4.0** and
|
|
181
|
+
**abstractcode 0.7.0**.
|
|
182
|
+
- The pins apply to the base install and to the `apple` / `gpu` extras. Unchanged:
|
|
183
|
+
abstractskill 0.3.0, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvision 0.3.30,
|
|
184
|
+
abstractmusic 0.1.15 and `abstracttui` 0.6.0.
|
|
185
|
+
|
|
7
186
|
## [0.5.0] - 2026-09-27
|
|
8
187
|
|
|
9
188
|
Automations, a terminal console installed by default, and a headless setup path: installing and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstractframework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.1
|
|
4
4
|
Summary: Unified installer and documentation hub for the AbstractFramework ecosystem
|
|
5
5
|
Author-email: Laurent-Philippe Albou <contact@abstractframework.ai>
|
|
6
6
|
License: MIT
|
|
@@ -23,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.1
|
|
27
|
+
Requires-Dist: abstractassistant==0.9.1
|
|
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.
|
|
34
|
+
Requires-Dist: abstractvoice==0.13.0
|
|
35
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.1; extra == "apple"
|
|
39
|
+
Requires-Dist: abstractassistant[apple]==0.9.1; 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.1; extra == "gpu"
|
|
42
|
+
Requires-Dist: abstractassistant[gpu]==0.9.1; extra == "gpu"
|
|
43
43
|
Dynamic: license-file
|
|
44
44
|
|
|
45
45
|
# AbstractFramework
|
|
@@ -64,11 +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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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)).
|
|
72
75
|
|
|
73
76
|
- **Mac, no Terminal:** download and double-click
|
|
74
77
|
[AbstractFramework-Installer.pkg](https://github.com/lpalbou/AbstractFramework/releases/latest/download/AbstractFramework-Installer.pkg).
|
|
@@ -78,7 +81,7 @@ a browser ([Headless or remote machine](docs/install.md#headless-or-remote-machi
|
|
|
78
81
|
- **macOS / Linux, one line:**
|
|
79
82
|
|
|
80
83
|
```bash
|
|
81
|
-
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
|
|
82
85
|
```
|
|
83
86
|
|
|
84
87
|
- **Windows 10 22H2+ / 11** (PowerShell):
|
|
@@ -160,7 +163,8 @@ With no auth configured, `abstractgateway serve` binds `127.0.0.1:8080`, enables
|
|
|
160
163
|
creates `default/admin` in the per-user data folder, and prints a one-time sign-in link
|
|
161
164
|
(`http://127.0.0.1:8080/console#claim=…`, valid 10 minutes, this machine only). Open it to reach the
|
|
162
165
|
web console and its first-run guide. `abstractgateway claim` mints a new link;
|
|
163
|
-
`abstractgateway service
|
|
166
|
+
`abstractgateway service enable` (or the console's **Start at login** switch) starts the gateway at
|
|
167
|
+
login.
|
|
164
168
|
|
|
165
169
|
Browser apps on `http://localhost:*` and `http://127.0.0.1:*` may always call it. To choose
|
|
166
170
|
another data folder or allow another browser origin:
|
|
@@ -182,17 +186,19 @@ AbstractFlow, AbstractCode Web or AbstractObserver, or to the console without a
|
|
|
182
186
|
`ABSTRACTGATEWAY_AUTH_TOKEN` remains a legacy server/operator bearer token; it is not a browser
|
|
183
187
|
sign-in token.
|
|
184
188
|
|
|
185
|
-
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:
|
|
186
192
|
|
|
187
193
|
```bash
|
|
188
|
-
npx @abstractframework/observer
|
|
194
|
+
npx @abstractframework/observer --gateway-url http://127.0.0.1:8080 # or run one on its own
|
|
189
195
|
|
|
190
196
|
cargo install abstractgateway-console # Rust 1.87+; the installer builds it for you
|
|
191
|
-
abstractgateway-console --url http://127.0.0.1:8080 --token <admin token> # <data dir>/auth/bootstrap-admin-token
|
|
197
|
+
abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token> # <data dir>/auth/bootstrap-admin-token
|
|
192
198
|
```
|
|
193
199
|
|
|
194
200
|
Container images are published for the gateway and the AbstractCore server:
|
|
195
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
201
|
+
`ghcr.io/lpalbou/abstractgateway:0.7.1` and `ghcr.io/lpalbou/abstractcore-server:2.18.0`.
|
|
196
202
|
|
|
197
203
|
For artifact and runtime-resource investigation, see
|
|
198
204
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -230,7 +236,7 @@ See [Agent sessions](docs/agent-sessions.md).
|
|
|
230
236
|
|
|
231
237
|
AbstractFlow lets you author complex agentic orchestration as portable `.flow` bundles:
|
|
232
238
|
|
|
233
|
-
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>`)
|
|
234
240
|
2. Build a workflow: LLM steps, tool steps, branching, loops, subflows
|
|
235
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)
|
|
236
242
|
4. Run it from any gateway-backed client (Observer, AbstractAssistant, Code Web UI, your app)
|
|
@@ -290,13 +296,13 @@ The ecosystem, grouped by layer. Each name links to the package's repository.
|
|
|
290
296
|
|---|---|---|
|
|
291
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) |
|
|
292
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) |
|
|
293
|
-
| [AbstractObserver](https://github.com/lpalbou/AbstractObserver) | Browser UI — monitor, control, and schedule gateway runs | `npx @abstractframework/observer
|
|
294
|
-
| [AbstractEntity](https://github.com/lpalbou/AbstractEntity) | Summoned-entity manager — roster, blueprint (cognition map + editing), chat drawer, live replay | `npx @abstractframework/entity
|
|
295
|
-
| [AbstractContinuum](https://github.com/lpalbou/AbstractContinuum) | Continuous iterative development and deployment console | `npx @abstractframework/continuum
|
|
296
|
-
| **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
|
|
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` |
|
|
297
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` |
|
|
298
|
-
| **Code Web UI** | Browser client of AbstractCode (gateway-backed): workflow selector, Files tab, live replies | `npx @abstractframework/code
|
|
299
|
-
| **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>` |
|
|
300
306
|
|
|
301
307
|
### Shared libraries
|
|
302
308
|
|
|
@@ -338,7 +344,7 @@ pip install "abstractframework[gpu]"
|
|
|
338
344
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
339
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+) |
|
|
340
346
|
|
|
341
|
-
### Release matrix (abstractframework 0.
|
|
347
|
+
### Release matrix (abstractframework 0.6.1)
|
|
342
348
|
|
|
343
349
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
344
350
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -347,28 +353,28 @@ and tested together.
|
|
|
347
353
|
|
|
348
354
|
| Registry | Package | Version |
|
|
349
355
|
|---|---|---|
|
|
350
|
-
| PyPI | `abstractgateway` | 0.
|
|
351
|
-
| PyPI | `abstractassistant` | 0.
|
|
352
|
-
| PyPI | `abstractcore` | 2.
|
|
353
|
-
| PyPI | `AbstractRuntime` | 0.
|
|
354
|
-
| PyPI | `abstractagent` | 0.3.
|
|
356
|
+
| PyPI | `abstractgateway` | 0.7.1 |
|
|
357
|
+
| PyPI | `abstractassistant` | 0.9.1 |
|
|
358
|
+
| PyPI | `abstractcore` | 2.18.0 |
|
|
359
|
+
| PyPI | `AbstractRuntime` | 0.7.1 |
|
|
360
|
+
| PyPI | `abstractagent` | 0.3.17 |
|
|
355
361
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
356
362
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
357
363
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
358
|
-
| PyPI | `abstractvoice` | 0.
|
|
364
|
+
| PyPI | `abstractvoice` | 0.13.0 |
|
|
359
365
|
| PyPI | `abstractvision` | 0.3.30 |
|
|
360
366
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
361
|
-
| npm | `@abstractframework/flow` | 0.
|
|
362
|
-
| npm | `@abstractframework/code` | 0.
|
|
363
|
-
| npm | `@abstractframework/observer` | 0.1
|
|
364
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
365
|
-
| npm | `@abstractframework/entity` | 0.
|
|
366
|
-
| crates.io | `abstractcode` | 0.
|
|
367
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
368
|
-
| crates.io | `abstractcore-console` | 0.
|
|
367
|
+
| npm | `@abstractframework/flow` | 0.4.0 |
|
|
368
|
+
| npm | `@abstractframework/code` | 0.6.1 |
|
|
369
|
+
| npm | `@abstractframework/observer` | 0.2.1 |
|
|
370
|
+
| npm | `@abstractframework/continuum` | 0.4.0 |
|
|
371
|
+
| npm | `@abstractframework/entity` | 0.3.0 |
|
|
372
|
+
| crates.io | `abstractcode` | 0.7.1 |
|
|
373
|
+
| crates.io | `abstractgateway-console` | 0.11.0 |
|
|
374
|
+
| crates.io | `abstractcore-console` | 0.4.0 |
|
|
369
375
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
370
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
371
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
376
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.7.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
377
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.18.0 |
|
|
372
378
|
|
|
373
379
|
Optional add-ons that are not part of any profile install separately:
|
|
374
380
|
`pip install abstract3d` (0.3.1) and `pip install abstractcamera` (0.2.0). `abstractskill` (pinned above)
|
|
@@ -20,11 +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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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)).
|
|
28
31
|
|
|
29
32
|
- **Mac, no Terminal:** download and double-click
|
|
30
33
|
[AbstractFramework-Installer.pkg](https://github.com/lpalbou/AbstractFramework/releases/latest/download/AbstractFramework-Installer.pkg).
|
|
@@ -34,7 +37,7 @@ a browser ([Headless or remote machine](docs/install.md#headless-or-remote-machi
|
|
|
34
37
|
- **macOS / Linux, one line:**
|
|
35
38
|
|
|
36
39
|
```bash
|
|
37
|
-
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
|
|
38
41
|
```
|
|
39
42
|
|
|
40
43
|
- **Windows 10 22H2+ / 11** (PowerShell):
|
|
@@ -116,7 +119,8 @@ With no auth configured, `abstractgateway serve` binds `127.0.0.1:8080`, enables
|
|
|
116
119
|
creates `default/admin` in the per-user data folder, and prints a one-time sign-in link
|
|
117
120
|
(`http://127.0.0.1:8080/console#claim=…`, valid 10 minutes, this machine only). Open it to reach the
|
|
118
121
|
web console and its first-run guide. `abstractgateway claim` mints a new link;
|
|
119
|
-
`abstractgateway service
|
|
122
|
+
`abstractgateway service enable` (or the console's **Start at login** switch) starts the gateway at
|
|
123
|
+
login.
|
|
120
124
|
|
|
121
125
|
Browser apps on `http://localhost:*` and `http://127.0.0.1:*` may always call it. To choose
|
|
122
126
|
another data folder or allow another browser origin:
|
|
@@ -138,17 +142,19 @@ AbstractFlow, AbstractCode Web or AbstractObserver, or to the console without a
|
|
|
138
142
|
`ABSTRACTGATEWAY_AUTH_TOKEN` remains a legacy server/operator bearer token; it is not a browser
|
|
139
143
|
sign-in token.
|
|
140
144
|
|
|
141
|
-
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:
|
|
142
148
|
|
|
143
149
|
```bash
|
|
144
|
-
npx @abstractframework/observer
|
|
150
|
+
npx @abstractframework/observer --gateway-url http://127.0.0.1:8080 # or run one on its own
|
|
145
151
|
|
|
146
152
|
cargo install abstractgateway-console # Rust 1.87+; the installer builds it for you
|
|
147
|
-
abstractgateway-console --url http://127.0.0.1:8080 --token <admin token> # <data dir>/auth/bootstrap-admin-token
|
|
153
|
+
abstractgateway-console --gateway-url http://127.0.0.1:8080 --token <admin token> # <data dir>/auth/bootstrap-admin-token
|
|
148
154
|
```
|
|
149
155
|
|
|
150
156
|
Container images are published for the gateway and the AbstractCore server:
|
|
151
|
-
`ghcr.io/lpalbou/abstractgateway:0.
|
|
157
|
+
`ghcr.io/lpalbou/abstractgateway:0.7.1` and `ghcr.io/lpalbou/abstractcore-server:2.18.0`.
|
|
152
158
|
|
|
153
159
|
For artifact and runtime-resource investigation, see
|
|
154
160
|
[Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
|
|
@@ -186,7 +192,7 @@ See [Agent sessions](docs/agent-sessions.md).
|
|
|
186
192
|
|
|
187
193
|
AbstractFlow lets you author complex agentic orchestration as portable `.flow` bundles:
|
|
188
194
|
|
|
189
|
-
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>`)
|
|
190
196
|
2. Build a workflow: LLM steps, tool steps, branching, loops, subflows
|
|
191
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)
|
|
192
198
|
4. Run it from any gateway-backed client (Observer, AbstractAssistant, Code Web UI, your app)
|
|
@@ -246,13 +252,13 @@ The ecosystem, grouped by layer. Each name links to the package's repository.
|
|
|
246
252
|
|---|---|---|
|
|
247
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) |
|
|
248
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) |
|
|
249
|
-
| [AbstractObserver](https://github.com/lpalbou/AbstractObserver) | Browser UI — monitor, control, and schedule gateway runs | `npx @abstractframework/observer
|
|
250
|
-
| [AbstractEntity](https://github.com/lpalbou/AbstractEntity) | Summoned-entity manager — roster, blueprint (cognition map + editing), chat drawer, live replay | `npx @abstractframework/entity
|
|
251
|
-
| [AbstractContinuum](https://github.com/lpalbou/AbstractContinuum) | Continuous iterative development and deployment console | `npx @abstractframework/continuum
|
|
252
|
-
| **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
|
|
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` |
|
|
253
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` |
|
|
254
|
-
| **Code Web UI** | Browser client of AbstractCode (gateway-backed): workflow selector, Files tab, live replies | `npx @abstractframework/code
|
|
255
|
-
| **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>` |
|
|
256
262
|
|
|
257
263
|
### Shared libraries
|
|
258
264
|
|
|
@@ -294,7 +300,7 @@ pip install "abstractframework[gpu]"
|
|
|
294
300
|
| Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
|
|
295
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+) |
|
|
296
302
|
|
|
297
|
-
### Release matrix (abstractframework 0.
|
|
303
|
+
### Release matrix (abstractframework 0.6.1)
|
|
298
304
|
|
|
299
305
|
`abstractframework` pins every Python package with `==`, so one version of the
|
|
300
306
|
meta-package always installs the same stack. The browser apps and Rust tools are
|
|
@@ -303,28 +309,28 @@ and tested together.
|
|
|
303
309
|
|
|
304
310
|
| Registry | Package | Version |
|
|
305
311
|
|---|---|---|
|
|
306
|
-
| PyPI | `abstractgateway` | 0.
|
|
307
|
-
| PyPI | `abstractassistant` | 0.
|
|
308
|
-
| PyPI | `abstractcore` | 2.
|
|
309
|
-
| PyPI | `AbstractRuntime` | 0.
|
|
310
|
-
| PyPI | `abstractagent` | 0.3.
|
|
312
|
+
| PyPI | `abstractgateway` | 0.7.1 |
|
|
313
|
+
| PyPI | `abstractassistant` | 0.9.1 |
|
|
314
|
+
| PyPI | `abstractcore` | 2.18.0 |
|
|
315
|
+
| PyPI | `AbstractRuntime` | 0.7.1 |
|
|
316
|
+
| PyPI | `abstractagent` | 0.3.17 |
|
|
311
317
|
| PyPI | `abstractskill` | 0.3.0 |
|
|
312
318
|
| PyPI | `AbstractMemory` | 0.3.0 |
|
|
313
319
|
| PyPI | `abstractsemantics` | 0.0.5 |
|
|
314
|
-
| PyPI | `abstractvoice` | 0.
|
|
320
|
+
| PyPI | `abstractvoice` | 0.13.0 |
|
|
315
321
|
| PyPI | `abstractvision` | 0.3.30 |
|
|
316
322
|
| PyPI | `abstractmusic` | 0.1.15 |
|
|
317
|
-
| npm | `@abstractframework/flow` | 0.
|
|
318
|
-
| npm | `@abstractframework/code` | 0.
|
|
319
|
-
| npm | `@abstractframework/observer` | 0.1
|
|
320
|
-
| npm | `@abstractframework/continuum` | 0.
|
|
321
|
-
| npm | `@abstractframework/entity` | 0.
|
|
322
|
-
| crates.io | `abstractcode` | 0.
|
|
323
|
-
| crates.io | `abstractgateway-console` | 0.
|
|
324
|
-
| crates.io | `abstractcore-console` | 0.
|
|
323
|
+
| npm | `@abstractframework/flow` | 0.4.0 |
|
|
324
|
+
| npm | `@abstractframework/code` | 0.6.1 |
|
|
325
|
+
| npm | `@abstractframework/observer` | 0.2.1 |
|
|
326
|
+
| npm | `@abstractframework/continuum` | 0.4.0 |
|
|
327
|
+
| npm | `@abstractframework/entity` | 0.3.0 |
|
|
328
|
+
| crates.io | `abstractcode` | 0.7.1 |
|
|
329
|
+
| crates.io | `abstractgateway-console` | 0.11.0 |
|
|
330
|
+
| crates.io | `abstractcore-console` | 0.4.0 |
|
|
325
331
|
| crates.io | `abstracttui` | 0.6.0 |
|
|
326
|
-
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.
|
|
327
|
-
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.
|
|
332
|
+
| GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.7.1 (`gpu-latest` / `<version>-gpu` experimental) |
|
|
333
|
+
| GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.18.0 |
|
|
328
334
|
|
|
329
335
|
Optional add-ons that are not part of any profile install separately:
|
|
330
336
|
`pip install abstract3d` (0.3.1) and `pip install abstractcamera` (0.2.0). `abstractskill` (pinned above)
|
|
@@ -10,22 +10,22 @@ Most implementation functionality still lives in component projects.
|
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
__version__ = "0.
|
|
13
|
+
__version__ = "0.6.1"
|
|
14
14
|
__author__ = "Laurent-Philippe Albou"
|
|
15
15
|
__license__ = "MIT"
|
|
16
16
|
|
|
17
17
|
RELEASE_VERSIONS: dict[str, str] = {
|
|
18
|
-
"abstractcore": "2.
|
|
19
|
-
"abstractruntime": "0.
|
|
20
|
-
"abstractagent": "0.3.
|
|
21
|
-
"abstractgateway": "0.
|
|
18
|
+
"abstractcore": "2.18.0",
|
|
19
|
+
"abstractruntime": "0.7.1",
|
|
20
|
+
"abstractagent": "0.3.17",
|
|
21
|
+
"abstractgateway": "0.7.1",
|
|
22
22
|
"abstractskill": "0.3.0",
|
|
23
23
|
"abstractmemory": "0.3.0",
|
|
24
24
|
"abstractsemantics": "0.0.5",
|
|
25
|
-
"abstractvoice": "0.
|
|
25
|
+
"abstractvoice": "0.13.0",
|
|
26
26
|
"abstractvision": "0.3.30",
|
|
27
27
|
"abstractmusic": "0.1.15",
|
|
28
|
-
"abstractassistant": "0.
|
|
28
|
+
"abstractassistant": "0.9.1",
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
PACKAGE_DISTRIBUTIONS: dict[str, str] = {
|
|
@@ -43,19 +43,19 @@ PACKAGE_DISTRIBUTIONS: dict[str, str] = {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
NPM_RELEASE_VERSIONS: dict[str, str] = {
|
|
46
|
-
"@abstractframework/flow": "0.
|
|
47
|
-
"@abstractframework/code": "0.
|
|
48
|
-
"@abstractframework/observer": "0.1
|
|
49
|
-
"@abstractframework/continuum": "0.
|
|
50
|
-
"@abstractframework/entity": "0.
|
|
46
|
+
"@abstractframework/flow": "0.4.0",
|
|
47
|
+
"@abstractframework/code": "0.6.1",
|
|
48
|
+
"@abstractframework/observer": "0.2.1",
|
|
49
|
+
"@abstractframework/continuum": "0.4.0",
|
|
50
|
+
"@abstractframework/entity": "0.3.0",
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
# Terminal tools published on crates.io alongside this release (installed with `cargo install`,
|
|
54
|
-
# or by the bootstrap scripts: the gateway console
|
|
54
|
+
# or by the bootstrap scripts: the gateway console and abstractcode by default).
|
|
55
55
|
CRATE_RELEASE_VERSIONS: dict[str, str] = {
|
|
56
|
-
"abstractgateway-console": "0.
|
|
57
|
-
"abstractcore-console": "0.
|
|
58
|
-
"abstractcode": "0.
|
|
56
|
+
"abstractgateway-console": "0.11.0",
|
|
57
|
+
"abstractcore-console": "0.4.0",
|
|
58
|
+
"abstractcode": "0.7.1",
|
|
59
59
|
"abstracttui": "0.6.0",
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -38,10 +38,14 @@ BOOTSTRAP_FLAGS: list[dict[str, str]] = [
|
|
|
38
38
|
"summary": "Skip the terminal console. By default abstractgateway-console is built "
|
|
39
39
|
"with cargo (install.sh adds Rust through rustup when cargo is missing; "
|
|
40
40
|
"needs a C compiler)."},
|
|
41
|
-
{"sh": "--
|
|
42
|
-
"summary": "
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
{"sh": "--no-code-cli", "ps": "-NoCodeCli", "env": "",
|
|
42
|
+
"summary": "Skip AbstractCode's terminal client. By default abstractcode is built with "
|
|
43
|
+
"the terminal console's cargo, into the same folder (--with-code-cli, the "
|
|
44
|
+
"old opt-in, is accepted)."},
|
|
45
|
+
{"sh": "--no-core-cli", "ps": "-NoCoreCli", "env": "",
|
|
46
|
+
"summary": "Do not expose AbstractCore's commands (abstractcore, its apps) and "
|
|
47
|
+
"abstractvoice, abstractvision, abstractmusic next to the gateway's "
|
|
48
|
+
"(--with-core-cli, the old opt-in, is accepted)."},
|
|
45
49
|
{"sh": "--with-ollama", "ps": "-WithOllama", "env": "",
|
|
46
50
|
"summary": "Run Ollama's official installer (Linux/macOS may ask for sudo)."},
|
|
47
51
|
{"sh": "--with-lmstudio", "ps": "-WithLmStudio", "env": "",
|
|
@@ -50,7 +54,8 @@ BOOTSTRAP_FLAGS: list[dict[str, str]] = [
|
|
|
50
54
|
{"sh": "--no-service", "ps": "-NoService", "env": "",
|
|
51
55
|
"summary": "Do not register a login service; start the gateway in the background."},
|
|
52
56
|
{"sh": "--no-start", "ps": "-NoStart", "env": "", "summary": "Install only."},
|
|
53
|
-
{"sh": "--no-open", "ps": "-NoOpen", "env": "",
|
|
57
|
+
{"sh": "--no-open", "ps": "-NoOpen", "env": "",
|
|
58
|
+
"summary": "Do not open the browser (on a remote or headless session: do not open the terminal console)."},
|
|
54
59
|
{"sh": "--print", "ps": "-Print", "env": "",
|
|
55
60
|
"summary": "Dry run: preflight, then print every command; change nothing."},
|
|
56
61
|
{"sh": "--uninstall [--purge]", "ps": "-Uninstall [-Purge]", "env": "",
|