abstractframework 0.3.0__tar.gz → 0.3.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.
Files changed (187) hide show
  1. {abstractframework-0.3.0 → abstractframework-0.3.1}/CHANGELOG.md +34 -0
  2. {abstractframework-0.3.0/abstractframework.egg-info → abstractframework-0.3.1}/PKG-INFO +13 -13
  3. {abstractframework-0.3.0 → abstractframework-0.3.1}/README.md +7 -7
  4. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework/__init__.py +4 -4
  5. {abstractframework-0.3.0 → abstractframework-0.3.1/abstractframework.egg-info}/PKG-INFO +13 -13
  6. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework.egg-info/requires.txt +5 -5
  7. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/api.md +2 -2
  8. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/faq.md +1 -1
  9. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/install.md +9 -9
  10. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/implementation-plan.md +1 -1
  11. {abstractframework-0.3.0 → abstractframework-0.3.1}/llms-full.txt +31 -31
  12. {abstractframework-0.3.0 → abstractframework-0.3.1}/llms.txt +2 -2
  13. {abstractframework-0.3.0 → abstractframework-0.3.1}/pyproject.toml +6 -6
  14. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/install.sh +1 -1
  15. {abstractframework-0.3.0 → abstractframework-0.3.1}/LICENSE +0 -0
  16. {abstractframework-0.3.0 → abstractframework-0.3.1}/MANIFEST.in +0 -0
  17. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework/__main__.py +0 -0
  18. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework/cli.py +0 -0
  19. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework/install_manifest.py +0 -0
  20. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework/py.typed +0 -0
  21. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework.egg-info/SOURCES.txt +0 -0
  22. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework.egg-info/dependency_links.txt +0 -0
  23. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework.egg-info/entry_points.txt +0 -0
  24. {abstractframework-0.3.0 → abstractframework-0.3.1}/abstractframework.egg-info/top_level.txt +0 -0
  25. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/README.md +0 -0
  26. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0001-layered-architecture.md +0 -0
  27. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0002-effect-system-design.md +0 -0
  28. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0003-tool-system-architecture.md +0 -0
  29. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0004-observability-strategy.md +0 -0
  30. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0005-memory-architecture.md +0 -0
  31. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0006-durable-tool-execution.md +0 -0
  32. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
  33. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0008-token-terminology.md +0 -0
  34. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
  35. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
  36. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
  37. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0012-portable-workflowartifact.md +0 -0
  38. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
  39. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
  40. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
  41. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
  42. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
  43. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
  44. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
  45. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
  46. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
  47. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
  48. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
  49. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
  50. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
  51. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
  52. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
  53. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
  54. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
  55. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
  56. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
  57. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
  58. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
  59. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
  60. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0035-capability-routing-defaults.md +0 -0
  61. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
  62. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
  63. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
  64. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/README.md +0 -0
  65. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/memory-recall-levels.md +0 -0
  66. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
  67. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
  68. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
  69. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
  70. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
  71. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
  72. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
  73. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
  74. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/architecture.md +0 -0
  75. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/claude/README.md +0 -0
  76. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/claude/abstractframework-fit.md +0 -0
  77. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/claude/claude-skills-overview.md +0 -0
  78. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/claude/claude-skills-sources.md +0 -0
  79. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/claude/claude-skills-top-20.md +0 -0
  80. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/comparisons/README.md +0 -0
  81. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/configuration.md +0 -0
  82. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/getting-started.md +0 -0
  83. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/glossary.md +0 -0
  84. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/LANDING.md +0 -0
  85. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/README.md +0 -0
  86. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/agent-skills.md +0 -0
  87. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/agent-vs-llm.md +0 -0
  88. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/agora-workflow-agent.md +0 -0
  89. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/apple-local-gateway-flow.md +0 -0
  90. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/capability-plugins.md +0 -0
  91. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/capability-routing-defaults.md +0 -0
  92. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/deployment-iphone.md +0 -0
  93. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/deployment-topologies.md +0 -0
  94. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/deployment-web.md +0 -0
  95. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/email-integration.md +0 -0
  96. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/event-inbox-agent.md +0 -0
  97. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/flow-and-kg-memory.md +0 -0
  98. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/gateway-security.md +0 -0
  99. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/headless-swarm.md +0 -0
  100. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/process-manager-env-vars.md +0 -0
  101. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/prompt-caching.md +0 -0
  102. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/runtime-artifacts.md +0 -0
  103. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/runtime-scope.md +0 -0
  104. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/scheduled-workflows.md +0 -0
  105. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/summoned-entities.md +0 -0
  106. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/telegram-integration.md +0 -0
  107. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/guide/workflow-bundles.md +0 -0
  108. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/README.md +0 -0
  109. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/components.md +0 -0
  110. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/operations-and-support.md +0 -0
  111. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/release-and-manifest.md +0 -0
  112. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/security-and-os-blocks.md +0 -0
  113. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/strategy.md +0 -0
  114. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/installers/user-journeys.md +0 -0
  115. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/prompts/agora-collaboration.md +0 -0
  116. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/README.md +0 -0
  117. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/email-inbox-agent.md +0 -0
  118. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/gateway-first-local-dev.md +0 -0
  119. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/offline-coding-assistant.md +0 -0
  120. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/phone-thin-client.md +0 -0
  121. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/specialized-agent-flow.md +0 -0
  122. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/telegram-permanent-contact.md +0 -0
  123. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
  124. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/README.md +0 -0
  125. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
  126. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
  127. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
  128. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
  129. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/claude-agent-skills-overview.md +0 -0
  130. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/claude-agent-skills-sources.md +0 -0
  131. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/skills/claude-agent-skills-top-20.md +0 -0
  132. {abstractframework-0.3.0 → abstractframework-0.3.1}/docs/workspace-scripts.md +0 -0
  133. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/af-local.sh +0 -0
  134. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/af.sh +0 -0
  135. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/agora_react_flow_smoke.py +0 -0
  136. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/assistant-local.sh +0 -0
  137. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/assistant.sh +0 -0
  138. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/build.sh +0 -0
  139. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/cache_probe_local_backends.py +0 -0
  140. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/cache_steer_repl.py +0 -0
  141. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/clone.sh +0 -0
  142. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/code-local.sh +0 -0
  143. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/code.sh +0 -0
  144. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/commit.sh +0 -0
  145. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/console-local.sh +0 -0
  146. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/console.sh +0 -0
  147. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/core_operator_drive.py +0 -0
  148. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/deps.sh +0 -0
  149. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/entity-local.sh +0 -0
  150. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/entity.sh +0 -0
  151. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/event_inbox_flow_smoke.py +0 -0
  152. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/flow-local.sh +0 -0
  153. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/flow.sh +0 -0
  154. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/gateway-flow-local.sh +0 -0
  155. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/gateway-flow.sh +0 -0
  156. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/gateway-local.sh +0 -0
  157. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/gateway.sh +0 -0
  158. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/gen_llms_full.py +0 -0
  159. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/headless_fleet_bridge.py +0 -0
  160. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/headless_fleet_demo.py +0 -0
  161. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/headless_steer_repl.py +0 -0
  162. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/lib/af_inventory.py +0 -0
  163. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/lib/af_stack.sh +0 -0
  164. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/lib/af_supervisor.sh +0 -0
  165. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/lib/apps_common.sh +0 -0
  166. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/lib/build_macos_installer.sh +0 -0
  167. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/lib/gateway_user_tokens.py +0 -0
  168. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/lib/repo_groups.sh +0 -0
  169. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/meet_castor.sh +0 -0
  170. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/observer-local.sh +0 -0
  171. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/observer.sh +0 -0
  172. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/plan_walkthrough.py +0 -0
  173. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/pull.sh +0 -0
  174. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/push.sh +0 -0
  175. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/spawn_demo_agent.sh +0 -0
  176. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/start-local.sh +0 -0
  177. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/start.sh +0 -0
  178. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/status.sh +0 -0
  179. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/steer_repl.py +0 -0
  180. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/tests/test_af_supervisor.sh +0 -0
  181. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/tests/test_install_user_path.sh +0 -0
  182. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/tests/test_inventory.sh +0 -0
  183. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/tests/test_repo_scripts.sh +0 -0
  184. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/uninstall.sh +0 -0
  185. {abstractframework-0.3.0 → abstractframework-0.3.1}/scripts/visit_resume_cache_probe.py +0 -0
  186. {abstractframework-0.3.0 → abstractframework-0.3.1}/setup.cfg +0 -0
  187. {abstractframework-0.3.0 → abstractframework-0.3.1}/tests/test_install_profiles.py +0 -0
@@ -2,6 +2,40 @@
2
2
 
3
3
  All notable changes to AbstractFramework will be documented in this file.
4
4
 
5
+ ## [0.3.1] - 2026-09-24
6
+
7
+ A patch release that pins abstractcore 2.15.1 and abstractgateway 0.4.2: download cancels are
8
+ recorded and a download that stops on its own says why; the "may not fit" warning states the
9
+ totals it compared; one Install button per app; the Assistant appears as an app.
10
+
11
+ ### Changed (pins)
12
+
13
+ - **abstractcore 2.15.1** (was 2.15.0), **abstractgateway 0.4.2** (was 0.4.1) and
14
+ **AbstractRuntime 0.4.34** (was 0.4.33; abstractgateway 0.4.2 requires it, and it passes who asked
15
+ for a download cancel to AbstractCore), in the base install and in the `apple` / `gpu` extras
16
+ (`abstractgateway[apple|gpu]==0.4.2`). The bootstrap scripts install
17
+ `abstractgateway[<profile>,tray]==0.4.2`. The other pins are unchanged: abstractagent 0.3.13,
18
+ AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29,
19
+ abstractmusic 0.1.15, abstractassistant 0.5.0. Unchanged too: `abstractgateway-console` 0.8.0
20
+ and the browser apps (continuum 0.3.0, entity 0.2.0, flow 0.3.20, code 0.4.2, observer 0.1.12).
21
+ - The docs name the container images released with it: `ghcr.io/lpalbou/abstractgateway:0.4.2`
22
+ (and `0.4.2-gpu`) and `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
23
+
24
+ ### What the new pins bring
25
+
26
+ - **Downloads.** A download that stops on its own is never reported "cancelled": a cancel records
27
+ who asked for it (console, API, CLI, another process), and a download that ends says why in one
28
+ plain sentence (a dropped connection, a Hub error, a full disk, a restart). The download stops
29
+ when the process that started it exits. In the console, a stray click no longer cancels a
30
+ download: Cancel asks first ("Stop this download?").
31
+ - **Fit warning.** A model's "may not fit" warning states the two totals its verdict compared: the
32
+ total need (weights plus working memory and cache) and the memory a model can use (the ceiling
33
+ minus the part kept free for the system).
34
+ - **Apps.** Each app card has one **Install** button; the card then offers **Open** (and **Open in
35
+ Terminal** for Code, whose install brings the terminal app along).
36
+ - **The Assistant is an app.** AbstractAssistant, the desktop menu-bar app, has its own card in
37
+ the gateway console: install it and open it from there (on the gateway's computer).
38
+
5
39
  ## [0.3.0] - 2026-09-24
6
40
 
7
41
  A Mac install that needs no Terminal knowledge (a `.pkg` or a double-click `.command`, and an
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstractframework
3
- Version: 0.3.0
3
+ Version: 0.3.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,10 +23,10 @@ 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.4.1
26
+ Requires-Dist: abstractgateway==0.4.2
27
27
  Requires-Dist: abstractassistant==0.5.0
28
- Requires-Dist: abstractcore==2.15.0
29
- Requires-Dist: AbstractRuntime==0.4.33
28
+ Requires-Dist: abstractcore==2.15.1
29
+ Requires-Dist: AbstractRuntime==0.4.34
30
30
  Requires-Dist: abstractagent==0.3.13
31
31
  Requires-Dist: AbstractMemory==0.3.0
32
32
  Requires-Dist: abstractsemantics==0.0.5
@@ -34,10 +34,10 @@ Requires-Dist: abstractvoice==0.11.4
34
34
  Requires-Dist: abstractvision==0.3.29
35
35
  Requires-Dist: abstractmusic==0.1.15
36
36
  Provides-Extra: apple
37
- Requires-Dist: abstractgateway[apple]==0.4.1; extra == "apple"
37
+ Requires-Dist: abstractgateway[apple]==0.4.2; extra == "apple"
38
38
  Requires-Dist: abstractassistant[apple]==0.5.0; platform_system == "Darwin" and extra == "apple"
39
39
  Provides-Extra: gpu
40
- Requires-Dist: abstractgateway[gpu]==0.4.1; extra == "gpu"
40
+ Requires-Dist: abstractgateway[gpu]==0.4.2; extra == "gpu"
41
41
  Requires-Dist: abstractassistant[gpu]==0.5.0; extra == "gpu"
42
42
  Dynamic: license-file
43
43
 
@@ -188,7 +188,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
188
188
  ```
189
189
 
190
190
  Container images are published for the gateway and the AbstractCore server:
191
- `ghcr.io/lpalbou/abstractgateway:0.4.1` and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
191
+ `ghcr.io/lpalbou/abstractgateway:0.4.2` and `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
192
192
 
193
193
  For artifact and runtime-resource investigation, see
194
194
  `docs/guide/runtime-artifacts.md`.
@@ -307,7 +307,7 @@ pip install "abstractframework[gpu]"
307
307
  | Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
308
308
  | GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
309
309
 
310
- ### Release matrix (abstractframework 0.3.0)
310
+ ### Release matrix (abstractframework 0.3.1)
311
311
 
312
312
  `abstractframework` pins every Python package with `==`, so one version of the
313
313
  meta-package always installs the same stack. The browser apps and Rust tools are
@@ -316,10 +316,10 @@ and tested together.
316
316
 
317
317
  | Registry | Package | Version |
318
318
  |---|---|---|
319
- | PyPI | `abstractgateway` | 0.4.1 |
319
+ | PyPI | `abstractgateway` | 0.4.2 |
320
320
  | PyPI | `abstractassistant` | 0.5.0 |
321
- | PyPI | `abstractcore` | 2.15.0 |
322
- | PyPI | `AbstractRuntime` | 0.4.33 |
321
+ | PyPI | `abstractcore` | 2.15.1 |
322
+ | PyPI | `AbstractRuntime` | 0.4.34 |
323
323
  | PyPI | `abstractagent` | 0.3.13 |
324
324
  | PyPI | `AbstractMemory` | 0.3.0 |
325
325
  | PyPI | `abstractsemantics` | 0.0.5 |
@@ -335,8 +335,8 @@ and tested together.
335
335
  | crates.io | `abstractgateway-console` | 0.8.0 |
336
336
  | crates.io | `abstractcore-console` | 0.2.0 |
337
337
  | crates.io | `abstracttui` | 0.6.0 |
338
- | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.1 (`gpu-latest` / `<version>-gpu` experimental) |
339
- | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.0 |
338
+ | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.2 (`gpu-latest` / `<version>-gpu` experimental) |
339
+ | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.1 |
340
340
 
341
341
  Optional add-ons that are not part of any profile install separately:
342
342
  `pip install abstract3d` (0.3.1), `pip install abstractcamera` (0.2.0) and
@@ -145,7 +145,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
145
145
  ```
146
146
 
147
147
  Container images are published for the gateway and the AbstractCore server:
148
- `ghcr.io/lpalbou/abstractgateway:0.4.1` and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
148
+ `ghcr.io/lpalbou/abstractgateway:0.4.2` and `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
149
149
 
150
150
  For artifact and runtime-resource investigation, see
151
151
  `docs/guide/runtime-artifacts.md`.
@@ -264,7 +264,7 @@ pip install "abstractframework[gpu]"
264
264
  | Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
265
265
  | GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
266
266
 
267
- ### Release matrix (abstractframework 0.3.0)
267
+ ### Release matrix (abstractframework 0.3.1)
268
268
 
269
269
  `abstractframework` pins every Python package with `==`, so one version of the
270
270
  meta-package always installs the same stack. The browser apps and Rust tools are
@@ -273,10 +273,10 @@ and tested together.
273
273
 
274
274
  | Registry | Package | Version |
275
275
  |---|---|---|
276
- | PyPI | `abstractgateway` | 0.4.1 |
276
+ | PyPI | `abstractgateway` | 0.4.2 |
277
277
  | PyPI | `abstractassistant` | 0.5.0 |
278
- | PyPI | `abstractcore` | 2.15.0 |
279
- | PyPI | `AbstractRuntime` | 0.4.33 |
278
+ | PyPI | `abstractcore` | 2.15.1 |
279
+ | PyPI | `AbstractRuntime` | 0.4.34 |
280
280
  | PyPI | `abstractagent` | 0.3.13 |
281
281
  | PyPI | `AbstractMemory` | 0.3.0 |
282
282
  | PyPI | `abstractsemantics` | 0.0.5 |
@@ -292,8 +292,8 @@ and tested together.
292
292
  | crates.io | `abstractgateway-console` | 0.8.0 |
293
293
  | crates.io | `abstractcore-console` | 0.2.0 |
294
294
  | crates.io | `abstracttui` | 0.6.0 |
295
- | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.1 (`gpu-latest` / `<version>-gpu` experimental) |
296
- | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.0 |
295
+ | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.2 (`gpu-latest` / `<version>-gpu` experimental) |
296
+ | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.1 |
297
297
 
298
298
  Optional add-ons that are not part of any profile install separately:
299
299
  `pip install abstract3d` (0.3.1), `pip install abstractcamera` (0.2.0) and
@@ -10,15 +10,15 @@ Most implementation functionality still lives in component projects.
10
10
 
11
11
  from __future__ import annotations
12
12
 
13
- __version__ = "0.3.0"
13
+ __version__ = "0.3.1"
14
14
  __author__ = "Laurent-Philippe Albou"
15
15
  __license__ = "MIT"
16
16
 
17
17
  RELEASE_VERSIONS: dict[str, str] = {
18
- "abstractcore": "2.15.0",
19
- "abstractruntime": "0.4.33",
18
+ "abstractcore": "2.15.1",
19
+ "abstractruntime": "0.4.34",
20
20
  "abstractagent": "0.3.13",
21
- "abstractgateway": "0.4.1",
21
+ "abstractgateway": "0.4.2",
22
22
  "abstractmemory": "0.3.0",
23
23
  "abstractsemantics": "0.0.5",
24
24
  "abstractvoice": "0.11.4",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstractframework
3
- Version: 0.3.0
3
+ Version: 0.3.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,10 +23,10 @@ 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.4.1
26
+ Requires-Dist: abstractgateway==0.4.2
27
27
  Requires-Dist: abstractassistant==0.5.0
28
- Requires-Dist: abstractcore==2.15.0
29
- Requires-Dist: AbstractRuntime==0.4.33
28
+ Requires-Dist: abstractcore==2.15.1
29
+ Requires-Dist: AbstractRuntime==0.4.34
30
30
  Requires-Dist: abstractagent==0.3.13
31
31
  Requires-Dist: AbstractMemory==0.3.0
32
32
  Requires-Dist: abstractsemantics==0.0.5
@@ -34,10 +34,10 @@ Requires-Dist: abstractvoice==0.11.4
34
34
  Requires-Dist: abstractvision==0.3.29
35
35
  Requires-Dist: abstractmusic==0.1.15
36
36
  Provides-Extra: apple
37
- Requires-Dist: abstractgateway[apple]==0.4.1; extra == "apple"
37
+ Requires-Dist: abstractgateway[apple]==0.4.2; extra == "apple"
38
38
  Requires-Dist: abstractassistant[apple]==0.5.0; platform_system == "Darwin" and extra == "apple"
39
39
  Provides-Extra: gpu
40
- Requires-Dist: abstractgateway[gpu]==0.4.1; extra == "gpu"
40
+ Requires-Dist: abstractgateway[gpu]==0.4.2; extra == "gpu"
41
41
  Requires-Dist: abstractassistant[gpu]==0.5.0; extra == "gpu"
42
42
  Dynamic: license-file
43
43
 
@@ -188,7 +188,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
188
188
  ```
189
189
 
190
190
  Container images are published for the gateway and the AbstractCore server:
191
- `ghcr.io/lpalbou/abstractgateway:0.4.1` and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
191
+ `ghcr.io/lpalbou/abstractgateway:0.4.2` and `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
192
192
 
193
193
  For artifact and runtime-resource investigation, see
194
194
  `docs/guide/runtime-artifacts.md`.
@@ -307,7 +307,7 @@ pip install "abstractframework[gpu]"
307
307
  | Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
308
308
  | GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
309
309
 
310
- ### Release matrix (abstractframework 0.3.0)
310
+ ### Release matrix (abstractframework 0.3.1)
311
311
 
312
312
  `abstractframework` pins every Python package with `==`, so one version of the
313
313
  meta-package always installs the same stack. The browser apps and Rust tools are
@@ -316,10 +316,10 @@ and tested together.
316
316
 
317
317
  | Registry | Package | Version |
318
318
  |---|---|---|
319
- | PyPI | `abstractgateway` | 0.4.1 |
319
+ | PyPI | `abstractgateway` | 0.4.2 |
320
320
  | PyPI | `abstractassistant` | 0.5.0 |
321
- | PyPI | `abstractcore` | 2.15.0 |
322
- | PyPI | `AbstractRuntime` | 0.4.33 |
321
+ | PyPI | `abstractcore` | 2.15.1 |
322
+ | PyPI | `AbstractRuntime` | 0.4.34 |
323
323
  | PyPI | `abstractagent` | 0.3.13 |
324
324
  | PyPI | `AbstractMemory` | 0.3.0 |
325
325
  | PyPI | `abstractsemantics` | 0.0.5 |
@@ -335,8 +335,8 @@ and tested together.
335
335
  | crates.io | `abstractgateway-console` | 0.8.0 |
336
336
  | crates.io | `abstractcore-console` | 0.2.0 |
337
337
  | crates.io | `abstracttui` | 0.6.0 |
338
- | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.1 (`gpu-latest` / `<version>-gpu` experimental) |
339
- | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.0 |
338
+ | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.2 (`gpu-latest` / `<version>-gpu` experimental) |
339
+ | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.1 |
340
340
 
341
341
  Optional add-ons that are not part of any profile install separately:
342
342
  `pip install abstract3d` (0.3.1), `pip install abstractcamera` (0.2.0) and
@@ -1,7 +1,7 @@
1
- abstractgateway==0.4.1
1
+ abstractgateway==0.4.2
2
2
  abstractassistant==0.5.0
3
- abstractcore==2.15.0
4
- AbstractRuntime==0.4.33
3
+ abstractcore==2.15.1
4
+ AbstractRuntime==0.4.34
5
5
  abstractagent==0.3.13
6
6
  AbstractMemory==0.3.0
7
7
  abstractsemantics==0.0.5
@@ -10,11 +10,11 @@ abstractvision==0.3.29
10
10
  abstractmusic==0.1.15
11
11
 
12
12
  [apple]
13
- abstractgateway[apple]==0.4.1
13
+ abstractgateway[apple]==0.4.2
14
14
 
15
15
  [apple:platform_system == "Darwin"]
16
16
  abstractassistant[apple]==0.5.0
17
17
 
18
18
  [gpu]
19
- abstractgateway[gpu]==0.4.1
19
+ abstractgateway[gpu]==0.4.2
20
20
  abstractassistant[gpu]==0.5.0
@@ -55,8 +55,8 @@ The response type returned by `llm.generate(...)`.
55
55
 
56
56
  ### `RELEASE_VERSIONS`
57
57
 
58
- Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.3.0:
59
- `abstractcore` 2.15.0, `abstractruntime` 0.4.33, `abstractagent` 0.3.13, `abstractgateway` 0.4.1,
58
+ Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.3.1:
59
+ `abstractcore` 2.15.1, `abstractruntime` 0.4.34, `abstractagent` 0.3.13, `abstractgateway` 0.4.2,
60
60
  `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.11.4, `abstractvision` 0.3.29,
61
61
  `abstractmusic` 0.1.15, `abstractassistant` 0.5.0.
62
62
 
@@ -34,7 +34,7 @@ No.
34
34
  | Everything at compatible versions | `pip install abstractframework` |
35
35
  | A browser app against an existing gateway | `npx @abstractframework/<flow\|code\|observer\|continuum\|entity>` |
36
36
  | A terminal client | `cargo install abstractcode`, `cargo install abstractgateway-console` or `cargo install abstractcore-console` |
37
- | A container deployment | `ghcr.io/lpalbou/abstractgateway:0.4.1` |
37
+ | A container deployment | `ghcr.io/lpalbou/abstractgateway:0.4.2` |
38
38
 
39
39
  See [Install AbstractFramework](install.md) for the Light / Apple / GPU chooser. Light is
40
40
  remote-first, not reduced-functionality: multimodal and embeddings still work through remote or
@@ -126,7 +126,7 @@ The Mac package, the `.command` files and the one line all run the same script,
126
126
  "no" is remembered).
127
127
  3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
128
128
  4. Installs the gateway as an isolated uv tool, pinned to this release:
129
- `uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.4.1"`, from prebuilt wheels
129
+ `uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.4.2"`, from prebuilt wheels
130
130
  only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
131
131
  (reinstalling it in place when it does not).
132
132
  5. Optionally installs Node.js for the browser apps, terminal tools, Ollama or LM Studio (flags
@@ -222,7 +222,7 @@ curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scri
222
222
  ```bash
223
223
  curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
224
224
  uv python install 3.12
225
- uv tool install --python 3.12 "abstractgateway[tray]==0.4.1" # [apple,tray] or [gpu,tray] for local engines
225
+ uv tool install --python 3.12 "abstractgateway[tray]==0.4.2" # [apple,tray] or [gpu,tray] for local engines
226
226
  # (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
227
227
  uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
228
228
  abstractgateway service install --port 8080 # or: abstractgateway serve
@@ -305,8 +305,8 @@ A plain `pip install` of the `apple` or `gpu` profile builds the
305
305
  `aec-audio-processing`) from source, so it needs a C/C++ compiler. The one-line install above
306
306
  does not.
307
307
 
308
- `abstractframework` 0.3.0 pins `abstractgateway==0.4.1`, `abstractassistant==0.5.0`,
309
- `abstractcore==2.15.0`, `AbstractRuntime==0.4.33`, `abstractagent==0.3.13`,
308
+ `abstractframework` 0.3.1 pins `abstractgateway==0.4.2`, `abstractassistant==0.5.0`,
309
+ `abstractcore==2.15.1`, `AbstractRuntime==0.4.34`, `abstractagent==0.3.13`,
310
310
  `AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.11.4`,
311
311
  `abstractvision==0.3.29` and `abstractmusic==0.1.15`. The `apple` and `gpu` extras select
312
312
  `abstractgateway[apple|gpu]` and `abstractassistant[apple|gpu]` at the same versions
@@ -390,10 +390,10 @@ Then run `abstractframework doctor`.
390
390
  The browser apps and the Rust terminal tools are not Python packages, so no profile installs them.
391
391
  Run or install them next to the Python stack:
392
392
 
393
- | Tool | Command | Version released with 0.3.0 |
393
+ | Tool | Command | Version released with 0.3.1 |
394
394
  |---|---|---|
395
- | Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.4.1 |
396
- | Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.15.0 |
395
+ | Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.4.2 |
396
+ | Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.15.1 |
397
397
  | Core terminal console | `cargo install abstractcore-console` (Rust 1.87+), then `abstractcore-console` (uses the `abstractcore` command) | 0.2.0 |
398
398
  | Gateway terminal console | `cargo install abstractgateway-console` (Rust 1.87+), then `abstractgateway-console --url http://127.0.0.1:8080` | 0.8.0 |
399
399
  | Flow Editor | `npx @abstractframework/flow` | 0.3.20 |
@@ -435,7 +435,7 @@ docker run \
435
435
  -v "$PWD/runtime:/data" \
436
436
  -e ABSTRACTGATEWAY_DATA_DIR=/data \
437
437
  -e ABSTRACTGATEWAY_USER_AUTH=1 \
438
- ghcr.io/lpalbou/abstractgateway:0.4.1
438
+ ghcr.io/lpalbou/abstractgateway:0.4.2
439
439
  ```
440
440
 
441
441
  This is the Light container: full framework capabilities through remote/endpoint inference, without
@@ -443,7 +443,7 @@ local MLX/CUDA stacks. On first start it creates `default/admin` and writes the
443
443
  `runtime/auth/bootstrap-admin-token`. Use `ghcr.io/lpalbou/abstractgateway:gpu-latest` only on an
444
444
  NVIDIA host when you explicitly want the local GPU profile (pinned tags are `<version>-gpu`, published on a best-effort basis; this image is
445
445
  experimental). The AbstractCore OpenAI-compatible server is also published as
446
- `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
446
+ `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
447
447
 
448
448
  ## How installs are designed
449
449
 
@@ -19,7 +19,7 @@ comes next.
19
19
 
20
20
  ## Gateway features the scripts use
21
21
 
22
- The pinned gateway (0.4.1) provides all of them. The scripts still detect each one, so an older
22
+ The pinned gateway (0.4.2) provides all of them. The scripts still detect each one, so an older
23
23
  gateway selected with `--pin` falls back as the last column says.
24
24
 
25
25
  | Feature | Command | Without it (older `--pin`) |
@@ -149,7 +149,7 @@ ABSTRACTGATEWAY_AUTH_TOKEN=<token> abstractgateway-console --url http://127.0.0.
149
149
  ```
150
150
 
151
151
  Container images are published for the gateway and the AbstractCore server:
152
- `ghcr.io/lpalbou/abstractgateway:0.4.1` and `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
152
+ `ghcr.io/lpalbou/abstractgateway:0.4.2` and `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
153
153
 
154
154
  For artifact and runtime-resource investigation, see
155
155
  `docs/guide/runtime-artifacts.md`.
@@ -268,7 +268,7 @@ pip install "abstractframework[gpu]"
268
268
  | Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
269
269
  | GPU | `pip install "abstractframework[gpu]"` | Linux / Windows with a CUDA or ROCm GPU | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
270
270
 
271
- ### Release matrix (abstractframework 0.3.0)
271
+ ### Release matrix (abstractframework 0.3.1)
272
272
 
273
273
  `abstractframework` pins every Python package with `==`, so one version of the
274
274
  meta-package always installs the same stack. The browser apps and Rust tools are
@@ -277,10 +277,10 @@ and tested together.
277
277
 
278
278
  | Registry | Package | Version |
279
279
  |---|---|---|
280
- | PyPI | `abstractgateway` | 0.4.1 |
280
+ | PyPI | `abstractgateway` | 0.4.2 |
281
281
  | PyPI | `abstractassistant` | 0.5.0 |
282
- | PyPI | `abstractcore` | 2.15.0 |
283
- | PyPI | `AbstractRuntime` | 0.4.33 |
282
+ | PyPI | `abstractcore` | 2.15.1 |
283
+ | PyPI | `AbstractRuntime` | 0.4.34 |
284
284
  | PyPI | `abstractagent` | 0.3.13 |
285
285
  | PyPI | `AbstractMemory` | 0.3.0 |
286
286
  | PyPI | `abstractsemantics` | 0.0.5 |
@@ -296,8 +296,8 @@ and tested together.
296
296
  | crates.io | `abstractgateway-console` | 0.8.0 |
297
297
  | crates.io | `abstractcore-console` | 0.2.0 |
298
298
  | crates.io | `abstracttui` | 0.6.0 |
299
- | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.1 (`gpu-latest` / `<version>-gpu` experimental) |
300
- | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.0 |
299
+ | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.4.2 (`gpu-latest` / `<version>-gpu` experimental) |
300
+ | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.15.1 |
301
301
 
302
302
  Optional add-ons that are not part of any profile install separately:
303
303
  `pip install abstract3d` (0.3.1), `pip install abstractcamera` (0.2.0) and
@@ -478,8 +478,8 @@ Notes for LLMs working in this repo:
478
478
  - [abstractframework/__init__.py](abstractframework/__init__.py): `RELEASE_VERSIONS`, `NPM_RELEASE_VERSIONS`, `get_release_profile()`, `print_status()`.
479
479
  - [docs/installers/install-manifest.json](docs/installers/install-manifest.json): Generated install manifest, schema v2 (pins, profiles, npm apps, `bootstrap` gateway pin/scripts/flags, console-first `post_install`).
480
480
  - [scripts/install.sh](scripts/install.sh) / [scripts/install.ps1](scripts/install.ps1): The bootstrap installers.
481
- - abstractframework 0.3.0 pins (PyPI, `==`): abstractgateway 0.4.1, abstractassistant 0.5.0, abstractcore 2.15.0, AbstractRuntime 0.4.33, abstractagent 0.3.13, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29, abstractmusic 0.1.15.
482
- - Released with it: npm `@abstractframework/flow` 0.3.20, `code` 0.4.2, `observer` 0.1.12, `continuum` 0.3.0, `entity` 0.2.0 (run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.8.0, `abstractcore-console` 0.2.0, `abstractcode` 0.5.1, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.4.1`, `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
481
+ - abstractframework 0.3.1 pins (PyPI, `==`): abstractgateway 0.4.2, abstractassistant 0.5.0, abstractcore 2.15.1, AbstractRuntime 0.4.34, abstractagent 0.3.13, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29, abstractmusic 0.1.15.
482
+ - Released with it: npm `@abstractframework/flow` 0.3.20, `code` 0.4.2, `observer` 0.1.12, `continuum` 0.3.0, `entity` 0.2.0 (run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.8.0, `abstractcore-console` 0.2.0, `abstractcode` 0.5.1, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.4.2`, `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
483
483
  - Profiles: light (remote-only), apple (`abstractframework[apple]`, macOS 14+ Apple Silicon), gpu (`abstractframework[gpu]`); Python 3.10-3.13 (F5-TTS voice cloning in apple/gpu needs 3.11+).
484
484
 
485
485
  ## Full Context
@@ -519,7 +519,7 @@ build-backend = "setuptools.build_meta"
519
519
 
520
520
  [project]
521
521
  name = "abstractframework"
522
- version = "0.3.0"
522
+ version = "0.3.1"
523
523
  description = "Unified installer and documentation hub for the AbstractFramework ecosystem"
524
524
  readme = "README.md"
525
525
  license = {text = "MIT"}
@@ -563,14 +563,14 @@ requires-python = ">=3.10"
563
563
  # - Keep the meta-package aligned with the real per-package profiles (especially `abstractgateway`).
564
564
  dependencies = [
565
565
  # Durable Gateway control plane (remote-light by default).
566
- "abstractgateway==0.4.1",
566
+ "abstractgateway==0.4.2",
567
567
 
568
568
  # Workflow authoring UI is distributed through npm as @abstractframework/flow.
569
569
  "abstractassistant==0.5.0",
570
570
 
571
571
  # Pin the core Python stack for release determinism (also pulled transitively).
572
- "abstractcore==2.15.0",
573
- "AbstractRuntime==0.4.33",
572
+ "abstractcore==2.15.1",
573
+ "AbstractRuntime==0.4.34",
574
574
  "abstractagent==0.3.13",
575
575
  "AbstractMemory==0.3.0",
576
576
  "abstractsemantics==0.0.5",
@@ -595,12 +595,12 @@ dependencies = [
595
595
  # the stack by selecting the hardware-local dependency aggregates (owned by Gateway),
596
596
  # then adds user-facing apps.
597
597
  apple = [
598
- "abstractgateway[apple]==0.4.1",
598
+ "abstractgateway[apple]==0.4.2",
599
599
  "abstractassistant[apple]==0.5.0; platform_system == \"Darwin\"",
600
600
  ]
601
601
 
602
602
  gpu = [
603
- "abstractgateway[gpu]==0.4.1",
603
+ "abstractgateway[gpu]==0.4.2",
604
604
  "abstractassistant[gpu]==0.5.0",
605
605
  ]
606
606
 
@@ -651,15 +651,15 @@ Most implementation functionality still lives in component projects.
651
651
 
652
652
  from __future__ import annotations
653
653
 
654
- __version__ = "0.3.0"
654
+ __version__ = "0.3.1"
655
655
  __author__ = "Laurent-Philippe Albou"
656
656
  __license__ = "MIT"
657
657
 
658
658
  RELEASE_VERSIONS: dict[str, str] = {
659
- "abstractcore": "2.15.0",
660
- "abstractruntime": "0.4.33",
659
+ "abstractcore": "2.15.1",
660
+ "abstractruntime": "0.4.34",
661
661
  "abstractagent": "0.3.13",
662
- "abstractgateway": "0.4.1",
662
+ "abstractgateway": "0.4.2",
663
663
  "abstractmemory": "0.3.0",
664
664
  "abstractsemantics": "0.0.5",
665
665
  "abstractvoice": "0.11.4",
@@ -1899,7 +1899,7 @@ The Mac package, the `.command` files and the one line all run the same script,
1899
1899
  "no" is remembered).
1900
1900
  3. Installs [uv](https://docs.astral.sh/uv/) when it is missing, then Python 3.12 through uv.
1901
1901
  4. Installs the gateway as an isolated uv tool, pinned to this release:
1902
- `uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.4.1"`, from prebuilt wheels
1902
+ `uv tool install --python 3.12 "abstractgateway[<profile>,tray]==0.4.2"`, from prebuilt wheels
1903
1903
  only (see [No compiler needed](#no-compiler-needed)), and checks that the command starts
1904
1904
  (reinstalling it in place when it does not).
1905
1905
  5. Optionally installs Node.js for the browser apps, terminal tools, Ollama or LM Studio (flags
@@ -1995,7 +1995,7 @@ curl -LsSf https://raw.githubusercontent.com/lpalbou/AbstractFramework/main/scri
1995
1995
  ```bash
1996
1996
  curl -LsSf https://astral.sh/uv/install.sh | sh # Windows: irm https://astral.sh/uv/install.ps1 | iex
1997
1997
  uv python install 3.12
1998
- uv tool install --python 3.12 "abstractgateway[tray]==0.4.1" # [apple,tray] or [gpu,tray] for local engines
1998
+ uv tool install --python 3.12 "abstractgateway[tray]==0.4.2" # [apple,tray] or [gpu,tray] for local engines
1999
1999
  # (add --with and --overrides as shown by `install.sh --print` to avoid compiling)
2000
2000
  uv tool update-shell # puts ~/.local/bin on PATH; open a new terminal
2001
2001
  abstractgateway service install --port 8080 # or: abstractgateway serve
@@ -2078,8 +2078,8 @@ A plain `pip install` of the `apple` or `gpu` profile builds the
2078
2078
  `aec-audio-processing`) from source, so it needs a C/C++ compiler. The one-line install above
2079
2079
  does not.
2080
2080
 
2081
- `abstractframework` 0.3.0 pins `abstractgateway==0.4.1`, `abstractassistant==0.5.0`,
2082
- `abstractcore==2.15.0`, `AbstractRuntime==0.4.33`, `abstractagent==0.3.13`,
2081
+ `abstractframework` 0.3.1 pins `abstractgateway==0.4.2`, `abstractassistant==0.5.0`,
2082
+ `abstractcore==2.15.1`, `AbstractRuntime==0.4.34`, `abstractagent==0.3.13`,
2083
2083
  `AbstractMemory==0.3.0`, `abstractsemantics==0.0.5`, `abstractvoice==0.11.4`,
2084
2084
  `abstractvision==0.3.29` and `abstractmusic==0.1.15`. The `apple` and `gpu` extras select
2085
2085
  `abstractgateway[apple|gpu]` and `abstractassistant[apple|gpu]` at the same versions
@@ -2163,10 +2163,10 @@ Then run `abstractframework doctor`.
2163
2163
  The browser apps and the Rust terminal tools are not Python packages, so no profile installs them.
2164
2164
  Run or install them next to the Python stack:
2165
2165
 
2166
- | Tool | Command | Version released with 0.3.0 |
2166
+ | Tool | Command | Version released with 0.3.1 |
2167
2167
  |---|---|---|
2168
- | Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.4.1 |
2169
- | Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.15.0 |
2168
+ | Gateway web console | built into `abstractgateway`: open the link `abstractgateway serve` prints (`http://127.0.0.1:8080/console#claim=…`) | 0.4.2 |
2169
+ | Core web console | built into `abstractcore`: open the link `abstractcore serve` prints (`http://127.0.0.1:8000/console#claim=…`) | 2.15.1 |
2170
2170
  | Core terminal console | `cargo install abstractcore-console` (Rust 1.87+), then `abstractcore-console` (uses the `abstractcore` command) | 0.2.0 |
2171
2171
  | Gateway terminal console | `cargo install abstractgateway-console` (Rust 1.87+), then `abstractgateway-console --url http://127.0.0.1:8080` | 0.8.0 |
2172
2172
  | Flow Editor | `npx @abstractframework/flow` | 0.3.20 |
@@ -2208,7 +2208,7 @@ docker run \
2208
2208
  -v "$PWD/runtime:/data" \
2209
2209
  -e ABSTRACTGATEWAY_DATA_DIR=/data \
2210
2210
  -e ABSTRACTGATEWAY_USER_AUTH=1 \
2211
- ghcr.io/lpalbou/abstractgateway:0.4.1
2211
+ ghcr.io/lpalbou/abstractgateway:0.4.2
2212
2212
  ```
2213
2213
 
2214
2214
  This is the Light container: full framework capabilities through remote/endpoint inference, without
@@ -2216,7 +2216,7 @@ local MLX/CUDA stacks. On first start it creates `default/admin` and writes the
2216
2216
  `runtime/auth/bootstrap-admin-token`. Use `ghcr.io/lpalbou/abstractgateway:gpu-latest` only on an
2217
2217
  NVIDIA host when you explicitly want the local GPU profile (pinned tags are `<version>-gpu`, published on a best-effort basis; this image is
2218
2218
  experimental). The AbstractCore OpenAI-compatible server is also published as
2219
- `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
2219
+ `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
2220
2220
 
2221
2221
  ## How installs are designed
2222
2222
 
@@ -3279,8 +3279,8 @@ The response type returned by `llm.generate(...)`.
3279
3279
 
3280
3280
  ### `RELEASE_VERSIONS`
3281
3281
 
3282
- Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.3.0:
3283
- `abstractcore` 2.15.0, `abstractruntime` 0.4.33, `abstractagent` 0.3.13, `abstractgateway` 0.4.1,
3282
+ Dictionary mapping each ecosystem package name to the pinned version for this release. In 0.3.1:
3283
+ `abstractcore` 2.15.1, `abstractruntime` 0.4.34, `abstractagent` 0.3.13, `abstractgateway` 0.4.2,
3284
3284
  `abstractmemory` 0.3.0, `abstractsemantics` 0.0.5, `abstractvoice` 0.11.4, `abstractvision` 0.3.29,
3285
3285
  `abstractmusic` 0.1.15, `abstractassistant` 0.5.0.
3286
3286
 
@@ -3467,7 +3467,7 @@ No.
3467
3467
  | Everything at compatible versions | `pip install abstractframework` |
3468
3468
  | A browser app against an existing gateway | `npx @abstractframework/<flow\|code\|observer\|continuum\|entity>` |
3469
3469
  | A terminal client | `cargo install abstractcode`, `cargo install abstractgateway-console` or `cargo install abstractcore-console` |
3470
- | A container deployment | `ghcr.io/lpalbou/abstractgateway:0.4.1` |
3470
+ | A container deployment | `ghcr.io/lpalbou/abstractgateway:0.4.2` |
3471
3471
 
3472
3472
  See [Install AbstractFramework](install.md) for the Light / Apple / GPU chooser. Light is
3473
3473
  remote-first, not reduced-functionality: multimodal and embeddings still work through remote or
@@ -122,8 +122,8 @@ Notes for LLMs working in this repo:
122
122
  - [abstractframework/__init__.py](abstractframework/__init__.py): `RELEASE_VERSIONS`, `NPM_RELEASE_VERSIONS`, `get_release_profile()`, `print_status()`.
123
123
  - [docs/installers/install-manifest.json](docs/installers/install-manifest.json): Generated install manifest, schema v2 (pins, profiles, npm apps, `bootstrap` gateway pin/scripts/flags, console-first `post_install`).
124
124
  - [scripts/install.sh](scripts/install.sh) / [scripts/install.ps1](scripts/install.ps1): The bootstrap installers.
125
- - abstractframework 0.3.0 pins (PyPI, `==`): abstractgateway 0.4.1, abstractassistant 0.5.0, abstractcore 2.15.0, AbstractRuntime 0.4.33, abstractagent 0.3.13, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29, abstractmusic 0.1.15.
126
- - Released with it: npm `@abstractframework/flow` 0.3.20, `code` 0.4.2, `observer` 0.1.12, `continuum` 0.3.0, `entity` 0.2.0 (run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.8.0, `abstractcore-console` 0.2.0, `abstractcode` 0.5.1, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.4.1`, `ghcr.io/lpalbou/abstractcore-server:2.15.0`.
125
+ - abstractframework 0.3.1 pins (PyPI, `==`): abstractgateway 0.4.2, abstractassistant 0.5.0, abstractcore 2.15.1, AbstractRuntime 0.4.34, abstractagent 0.3.13, AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29, abstractmusic 0.1.15.
126
+ - Released with it: npm `@abstractframework/flow` 0.3.20, `code` 0.4.2, `observer` 0.1.12, `continuum` 0.3.0, `entity` 0.2.0 (run with `npx`); crates (`CRATE_RELEASE_VERSIONS`) `abstractgateway-console` 0.8.0, `abstractcore-console` 0.2.0, `abstractcode` 0.5.1, `abstracttui` 0.6.0; images `ghcr.io/lpalbou/abstractgateway:0.4.2`, `ghcr.io/lpalbou/abstractcore-server:2.15.1`.
127
127
  - Profiles: light (remote-only), apple (`abstractframework[apple]`, macOS 14+ Apple Silicon), gpu (`abstractframework[gpu]`); Python 3.10-3.13 (F5-TTS voice cloning in apple/gpu needs 3.11+).
128
128
 
129
129
  ## Full Context
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "abstractframework"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  description = "Unified installer and documentation hub for the AbstractFramework ecosystem"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -48,14 +48,14 @@ requires-python = ">=3.10"
48
48
  # - Keep the meta-package aligned with the real per-package profiles (especially `abstractgateway`).
49
49
  dependencies = [
50
50
  # Durable Gateway control plane (remote-light by default).
51
- "abstractgateway==0.4.1",
51
+ "abstractgateway==0.4.2",
52
52
 
53
53
  # Workflow authoring UI is distributed through npm as @abstractframework/flow.
54
54
  "abstractassistant==0.5.0",
55
55
 
56
56
  # Pin the core Python stack for release determinism (also pulled transitively).
57
- "abstractcore==2.15.0",
58
- "AbstractRuntime==0.4.33",
57
+ "abstractcore==2.15.1",
58
+ "AbstractRuntime==0.4.34",
59
59
  "abstractagent==0.3.13",
60
60
  "AbstractMemory==0.3.0",
61
61
  "abstractsemantics==0.0.5",
@@ -80,12 +80,12 @@ dependencies = [
80
80
  # the stack by selecting the hardware-local dependency aggregates (owned by Gateway),
81
81
  # then adds user-facing apps.
82
82
  apple = [
83
- "abstractgateway[apple]==0.4.1",
83
+ "abstractgateway[apple]==0.4.2",
84
84
  "abstractassistant[apple]==0.5.0; platform_system == \"Darwin\"",
85
85
  ]
86
86
 
87
87
  gpu = [
88
- "abstractgateway[gpu]==0.4.1",
88
+ "abstractgateway[gpu]==0.4.2",
89
89
  "abstractassistant[gpu]==0.5.0",
90
90
  ]
91
91
 
@@ -87,7 +87,7 @@ fi
87
87
  # docs/installers/install-manifest.json (scripts/tests/test_inventory.sh fails
88
88
  # on drift); a manifest next to this script wins at runtime.
89
89
  # ---------------------------------------------------------------------------
90
- AF_GATEWAY_PIN_DEFAULT="0.4.1"
90
+ AF_GATEWAY_PIN_DEFAULT="0.4.2"
91
91
  AF_PYTHON="3.12"
92
92
  AF_NPM_APPS="@abstractframework/flow@0.3.20 @abstractframework/code@0.4.2 @abstractframework/observer@0.1.12 @abstractframework/continuum@0.3.0 @abstractframework/entity@0.2.0"
93
93
  AF_CRATE_CONSOLE="abstractgateway-console@0.8.0"