abstractframework 0.12.0__tar.gz → 0.13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. {abstractframework-0.12.0 → abstractframework-0.13.0}/CHANGELOG.md +23 -2
  2. {abstractframework-0.12.0/abstractframework.egg-info → abstractframework-0.13.0}/PKG-INFO +56 -50
  3. {abstractframework-0.12.0 → abstractframework-0.13.0}/README.md +41 -38
  4. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework/__init__.py +36 -15
  5. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework/install_manifest.py +5 -1
  6. {abstractframework-0.12.0 → abstractframework-0.13.0/abstractframework.egg-info}/PKG-INFO +56 -50
  7. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework.egg-info/SOURCES.txt +18 -1
  8. abstractframework-0.13.0/abstractframework.egg-info/requires.txt +25 -0
  9. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/README.md +0 -1
  10. abstractframework-0.13.0/docs/adr/0048-active-and-recent-first-paused-and-archived-sections.md +112 -0
  11. abstractframework-0.13.0/docs/adr/0049-typed-pin-literals.md +137 -0
  12. abstractframework-0.13.0/docs/adr/0050-ci-passes-locally-before-any-push.md +114 -0
  13. abstractframework-0.13.0/docs/adr/0051-operator-validated-root-test-tiers-dependents-when-needed.md +120 -0
  14. abstractframework-0.13.0/docs/adr/0052-digital-identity.md +180 -0
  15. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/README.md +5 -0
  16. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/api.md +16 -14
  17. abstractframework-0.13.0/docs/ci-local.md +305 -0
  18. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/install.md +31 -21
  19. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/release-and-manifest.md +2 -1
  20. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/workspace-scripts.md +10 -1
  21. {abstractframework-0.12.0 → abstractframework-0.13.0}/llms-full.txt +147 -372
  22. {abstractframework-0.12.0 → abstractframework-0.13.0}/llms.txt +3 -4
  23. {abstractframework-0.12.0 → abstractframework-0.13.0}/pyproject.toml +15 -12
  24. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/assistant-local.sh +8 -0
  25. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/assistant.sh +8 -0
  26. abstractframework-0.13.0/scripts/check_workspace.py +215 -0
  27. abstractframework-0.13.0/scripts/ci_local.py +2471 -0
  28. abstractframework-0.13.0/scripts/ci_local.sh +18 -0
  29. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/gen_llms_full.py +16 -2
  30. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/install.sh +51 -10
  31. abstractframework-0.13.0/scripts/install_hooks.sh +46 -0
  32. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/af_stack.sh +21 -7
  33. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/af_supervisor.sh +77 -16
  34. abstractframework-0.13.0/scripts/lib/assistant_legacy_supervisor.py +58 -0
  35. abstractframework-0.13.0/scripts/lib/assistant_lifecycle.sh +8 -0
  36. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/pull.sh +5 -2
  37. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/start-local.sh +15 -2
  38. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/status.sh +14 -1
  39. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/tests/test_af_supervisor.sh +94 -24
  40. abstractframework-0.13.0/scripts/tests/test_assistant_lifecycle.py +94 -0
  41. abstractframework-0.13.0/scripts/tests/test_desktop_restart_policy.sh +70 -0
  42. abstractframework-0.13.0/scripts/tests/test_install_gateway_loop.sh +127 -0
  43. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/tests/test_repo_scripts.sh +24 -0
  44. abstractframework-0.13.0/tests/test_ci_local.py +1004 -0
  45. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_app_upgrade.py +4 -2
  46. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_profiles.py +43 -13
  47. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_llms_full.py +16 -1
  48. abstractframework-0.13.0/tests/test_workspace_freshness.py +251 -0
  49. abstractframework-0.12.0/abstractframework.egg-info/requires.txt +0 -22
  50. {abstractframework-0.12.0 → abstractframework-0.13.0}/LICENSE +0 -0
  51. {abstractframework-0.12.0 → abstractframework-0.13.0}/MANIFEST.in +0 -0
  52. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework/__main__.py +0 -0
  53. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework/cli.py +0 -0
  54. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework/py.typed +0 -0
  55. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework.egg-info/dependency_links.txt +0 -0
  56. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework.egg-info/entry_points.txt +0 -0
  57. {abstractframework-0.12.0 → abstractframework-0.13.0}/abstractframework.egg-info/top_level.txt +0 -0
  58. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0001-layered-architecture.md +0 -0
  59. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0002-effect-system-design.md +0 -0
  60. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0003-tool-system-architecture.md +0 -0
  61. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0004-observability-strategy.md +0 -0
  62. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0005-memory-architecture.md +0 -0
  63. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0006-durable-tool-execution.md +0 -0
  64. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0007-active-context-and-memory-provenance.md +0 -0
  65. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0008-token-terminology.md +0 -0
  66. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0009-connected-memory-recall-and-provenance.md +0 -0
  67. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0010-runtime-owned-node-traces.md +0 -0
  68. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0011-ledger-subscriptions-and-event-bridge.md +0 -0
  69. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0012-portable-workflowartifact.md +0 -0
  70. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0013-durable-run-controls-pause-resume-cancel.md +0 -0
  71. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0014-runtime-authority-timeouts.md +0 -0
  72. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0015-execution-targets-and-remote-tool-workers.md +0 -0
  73. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0016-tool-calling-pipeline-and-responsibility-boundaries.md +0 -0
  74. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0017-host-ui-events-and-durable-prompts.md +0 -0
  75. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0018-durable-run-gateway-and-remote-host-control-plane.md +0 -0
  76. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0019-testing-strategy-and-levels.md +0 -0
  77. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0020-agent-host-pool-and-orchestrator-placement.md +0 -0
  78. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0021-deployment-topologies-and-supported-scenarios.md +0 -0
  79. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0022-orchestrator-host-and-runtime-daemonization.md +0 -0
  80. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0023-file-attachment-path-resolution-and-authorization.md +0 -0
  81. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0024-attachment-placeholders-and-compaction-invariants.md +0 -0
  82. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0025-kg-entity-normalization-and-dedup.md +0 -0
  83. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0026-truncation-policy-and-contract.md +0 -0
  84. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0027-timeout-policy-and-contract.md +0 -0
  85. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0028-capabilities-plugins-and-library-framework-modes.md +0 -0
  86. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0029-permissive-dependency-and-licensing-policy.md +0 -0
  87. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0030-security-test-fixtures-and-isolation.md +0 -0
  88. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0031-workflow-llm-routing-overrides-provider-model-and-base-url.md +0 -0
  89. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0032-package-dependency-boundaries-and-gateway-first-apps.md +0 -0
  90. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0033-install-profiles-config-entrypoints-and-server-boundaries.md +0 -0
  91. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0034-framework-release-sequence-and-gates.md +0 -0
  92. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0035-capability-routing-defaults.md +0 -0
  93. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0036-artifact-descriptor-contract.md +0 -0
  94. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0037-hosted-file-source-contract-and-workspacepath-authority.md +0 -0
  95. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0038-script-bootstrap-and-gateway-console-install.md +0 -0
  96. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0039-loading-states-spinner-until-a-read-has-failed.md +0 -0
  97. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0040-critical-workflows-live-in-the-flow-library.md +0 -0
  98. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0041-no-hidden-effects-after-a-flow.md +0 -0
  99. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0042-every-checkout-stays-in-step-with-its-remote.md +0 -0
  100. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0043-readable-labels-never-computer-ids.md +0 -0
  101. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0044-composable-activity-and-expression-presentation.md +0 -0
  102. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0045-conversational-questions-and-clarification-deadlines.md +0 -0
  103. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0046-optional-public-conversation-view.md +0 -0
  104. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/0047-voice-transport-is-never-an-attachment.md +0 -0
  105. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/memory-recall-levels.md +0 -0
  106. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/001_music_as_capability_plugin_via_acestep_api.md +0 -0
  107. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/002_abstractmusic_inprocess_local_generation.md +0 -0
  108. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/003_abstractmusic_acestep_v15_backend_source_strategy.md +0 -0
  109. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/004_smartnote_thin_client_architecture.md +0 -0
  110. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/005_smartnote_artifact_first_cards.md +0 -0
  111. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/2026-02-21_gateway-first-assistant.md +0 -0
  112. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/2026-02-21_installer_manager_strategy.md +0 -0
  113. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/adr/reorg/2026-02-21_macos_installer_manager.md +0 -0
  114. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/agent-sessions.md +0 -0
  115. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/architecture.md +0 -0
  116. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/automations.md +0 -0
  117. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/claude/README.md +0 -0
  118. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/claude/abstractframework-fit.md +0 -0
  119. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/claude/claude-skills-overview.md +0 -0
  120. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/claude/claude-skills-sources.md +0 -0
  121. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/claude/claude-skills-top-20.md +0 -0
  122. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/comparisons/README.md +0 -0
  123. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/configuration.md +0 -0
  124. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/deploy-linux.md +0 -0
  125. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/events-and-attention.md +0 -0
  126. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/faq.md +0 -0
  127. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/getting-started.md +0 -0
  128. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/glossary.md +0 -0
  129. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/LANDING.md +0 -0
  130. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/README.md +0 -0
  131. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/agent-skills.md +0 -0
  132. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/agent-vs-llm.md +0 -0
  133. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/agora-workflow-agent.md +0 -0
  134. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/apple-local-gateway-flow.md +0 -0
  135. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/capability-plugins.md +0 -0
  136. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/capability-routing-defaults.md +0 -0
  137. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/deployment-iphone.md +0 -0
  138. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/deployment-topologies.md +0 -0
  139. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/deployment-web.md +0 -0
  140. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/email-integration.md +0 -0
  141. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/event-inbox-agent.md +0 -0
  142. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/flow-and-kg-memory.md +0 -0
  143. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/gateway-security.md +0 -0
  144. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/headless-swarm.md +0 -0
  145. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/process-manager-env-vars.md +0 -0
  146. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/prompt-caching.md +0 -0
  147. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/runtime-artifacts.md +0 -0
  148. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/runtime-scope.md +0 -0
  149. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/scheduled-workflows.md +0 -0
  150. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/summoned-entities.md +0 -0
  151. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/telegram-integration.md +0 -0
  152. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/guide/workflow-bundles.md +0 -0
  153. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/README.md +0 -0
  154. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/components.md +0 -0
  155. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/implementation-plan.md +0 -0
  156. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/operations-and-support.md +0 -0
  157. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/security-and-os-blocks.md +0 -0
  158. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/strategy.md +0 -0
  159. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/installers/user-journeys.md +0 -0
  160. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/prompts/agora-collaboration.md +0 -0
  161. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/README.md +0 -0
  162. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/email-inbox-agent.md +0 -0
  163. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/gateway-first-local-dev.md +0 -0
  164. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/offline-coding-assistant.md +0 -0
  165. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/phone-thin-client.md +0 -0
  166. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/specialized-agent-flow.md +0 -0
  167. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/telegram-permanent-contact.md +0 -0
  168. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/scenarios/workflow-bundle-lifecycle.md +0 -0
  169. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/README.md +0 -0
  170. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/abstractframework-agent-skills-fit.md +0 -0
  171. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/abstractframework-architecture-deep-dive.md +0 -0
  172. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/agent-skills-ecosystem-scan.md +0 -0
  173. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/agent-skills-ecosystem-sources.md +0 -0
  174. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/claude-agent-skills-overview.md +0 -0
  175. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/claude-agent-skills-sources.md +0 -0
  176. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/skills/claude-agent-skills-top-20.md +0 -0
  177. {abstractframework-0.12.0 → abstractframework-0.13.0}/docs/troubleshooting.md +0 -0
  178. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/af-local.sh +0 -0
  179. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/af.sh +0 -0
  180. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/agora_react_flow_smoke.py +0 -0
  181. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/build.sh +0 -0
  182. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/cache_probe_local_backends.py +0 -0
  183. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/cache_steer_repl.py +0 -0
  184. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/check_identity_sync.py +0 -0
  185. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/clone.sh +0 -0
  186. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/code-local.sh +0 -0
  187. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/code.sh +0 -0
  188. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/commit.sh +0 -0
  189. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/console-local.sh +0 -0
  190. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/console.sh +0 -0
  191. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/core_operator_drive.py +0 -0
  192. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/deps.sh +0 -0
  193. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/entity-local.sh +0 -0
  194. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/entity.sh +0 -0
  195. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/event_inbox_flow_smoke.py +0 -0
  196. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/flow-local.sh +0 -0
  197. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/flow.sh +0 -0
  198. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/gateway-flow-local.sh +0 -0
  199. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/gateway-flow.sh +0 -0
  200. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/gateway-local.sh +0 -0
  201. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/gateway.sh +0 -0
  202. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/headless_fleet_bridge.py +0 -0
  203. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/headless_fleet_demo.py +0 -0
  204. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/headless_steer_repl.py +0 -0
  205. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/af_inventory.py +0 -0
  206. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/apps_common.sh +0 -0
  207. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/build_macos_installer.sh +0 -0
  208. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/gateway_flags.sh +0 -0
  209. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/gateway_user_tokens.py +0 -0
  210. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/lib/repo_groups.sh +0 -0
  211. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/meet_castor.sh +0 -0
  212. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/observer-local.sh +0 -0
  213. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/observer.sh +0 -0
  214. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/plan_walkthrough.py +0 -0
  215. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/push.sh +0 -0
  216. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/spawn_demo_agent.sh +0 -0
  217. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/start.sh +0 -0
  218. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/steer_repl.py +0 -0
  219. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/tests/test_install_user_path.sh +0 -0
  220. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/tests/test_inventory.sh +0 -0
  221. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/uninstall.sh +0 -0
  222. {abstractframework-0.12.0 → abstractframework-0.13.0}/scripts/visit_resume_cache_probe.py +0 -0
  223. {abstractframework-0.12.0 → abstractframework-0.13.0}/setup.cfg +0 -0
  224. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_gateway_launch_flags.py +0 -0
  225. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_index_lag.py +0 -0
  226. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_macos_profile.py +0 -0
  227. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_ps1_gpu_stack.py +0 -0
  228. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_ps1_own_gateway.py +0 -0
  229. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_sh_gpu_stack.py +0 -0
  230. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_sh_gpu_twin.py +0 -0
  231. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_sh_linux_server.py +0 -0
  232. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_sh_server.py +0 -0
  233. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_install_with_wheel.py +0 -0
  234. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_inventory_ecosystems.py +0 -0
  235. {abstractframework-0.12.0 → abstractframework-0.13.0}/tests/test_uv_tool_install_atomicity.py +0 -0
@@ -2,7 +2,28 @@
2
2
 
3
3
  All notable changes to AbstractFramework will be documented in this file.
4
4
 
5
- ## [Unreleased]
5
+ ## [0.13.0] - 2026-11-06
6
+
7
+ Pins the existing published component versions across the light, Apple and GPU profiles:
8
+ AbstractCore 2.34.0, AbstractRuntime 0.18.1, AbstractAgent 0.6.0, AbstractGateway 0.20.1,
9
+ AbstractAssistant 0.18.0, AbstractVoice 0.20.0 and AbstractSkill 0.3.10. The complete
10
+ Python, npm and Rust matrix is in the [README](README.md#release-matrix-abstractframework-0130).
11
+
12
+ ### Added
13
+
14
+ - Exact Python pins for Notes 0.3.0, Camera 0.2.1 and Avatar 0.1.1.
15
+ - Notes in the browser app release list; shared npm libraries are recorded separately from launchable apps, alongside both TUI extension crates.
16
+ - Local CI commands and optional workspace freshness checks for contributors.
17
+
18
+ ### Changed
19
+
20
+ - Both installers and the generated manifest use the same published component matrix.
21
+
22
+ ### Fixed
23
+
24
+ - Choosing Quit in the desktop assistant leaves it stopped until explicitly reopened.
25
+ - Gateway supervision restarts a failed or watchdog-terminated process.
26
+ - Workspace pull summaries remain reliable for large updates and show the commits actually applied.
6
27
 
7
28
  ## [0.12.0] - 2026-11-02
8
29
 
@@ -86,7 +107,7 @@ and `ghcr.io/lpalbou/abstractcore-server:2.32.0`.
86
107
  and its package leaves the constraints, so both record what is installed. Refused with a What-to-do line: a non-wheel, a
87
108
  missing file, the gateway (use `--from`), abstractvoice (installs with its extras), a package outside the matrix. The
88
109
  flag is per run: a later run without it installs the release versions again (by design).
89
- - **The installer never leaves a gateway running outside systemd** (backlog 1072): a background start on Linux first
110
+ - **The installer never leaves a gateway running outside systemd** (backlog 1109, numbered 1072 until 2026-11-03): a background start on Linux first
90
111
  turns off a systemd user unit of the same gateway (it would start at the next login and fight for the port), and
91
112
  `--server` stops with the cause when the gateway service cannot be registered instead of starting the gateway in
92
113
  the background (OVH 2026-10-28: the unit gave up and the gateway that answered was supervised by nothing).
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstractframework
3
- Version: 0.12.0
3
+ Version: 0.13.0
4
4
  Summary: Unified installer and documentation hub for the AbstractFramework ecosystem
5
5
  Author-email: Laurent-Philippe Albou <contact@abstractframework.ai>
6
6
  License: MIT
@@ -23,24 +23,27 @@ 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.19.0
27
- Requires-Dist: abstractassistant==0.17.0
28
- Requires-Dist: abstractcore==2.32.0
29
- Requires-Dist: AbstractRuntime==0.16.0
30
- Requires-Dist: abstractagent==0.5.0
31
- Requires-Dist: abstractskill==0.3.4
26
+ Requires-Dist: abstractgateway==0.20.1
27
+ Requires-Dist: abstractassistant==0.18.0
28
+ Requires-Dist: abstractcore==2.34.0
29
+ Requires-Dist: AbstractRuntime==0.18.1
30
+ Requires-Dist: abstractagent==0.6.0
31
+ Requires-Dist: abstractskill==0.3.10
32
32
  Requires-Dist: AbstractMemory==0.4.0
33
33
  Requires-Dist: abstractsemantics==0.0.5
34
- Requires-Dist: abstractvoice==0.19.5
34
+ Requires-Dist: abstractvoice==0.20.0
35
35
  Requires-Dist: abstractvision==0.3.34
36
36
  Requires-Dist: abstractmusic==0.1.17
37
37
  Requires-Dist: abstract3d==0.3.2
38
+ Requires-Dist: abstractcamera==0.2.1
39
+ Requires-Dist: abstractavatar==0.1.1
40
+ Requires-Dist: abstractnote==0.3.0
38
41
  Provides-Extra: apple
39
- Requires-Dist: abstractgateway[apple]==0.19.0; extra == "apple"
40
- Requires-Dist: abstractassistant[apple]==0.17.0; platform_system == "Darwin" and extra == "apple"
42
+ Requires-Dist: abstractgateway[apple]==0.20.1; extra == "apple"
43
+ Requires-Dist: abstractassistant[apple]==0.18.0; platform_system == "Darwin" and extra == "apple"
41
44
  Provides-Extra: gpu
42
- Requires-Dist: abstractgateway[gpu]==0.19.0; extra == "gpu"
43
- Requires-Dist: abstractassistant[gpu]==0.17.0; extra == "gpu"
45
+ Requires-Dist: abstractgateway[gpu]==0.20.1; extra == "gpu"
46
+ Requires-Dist: abstractassistant[gpu]==0.18.0; extra == "gpu"
44
47
  Dynamic: license-file
45
48
 
46
49
  # AbstractFramework
@@ -58,13 +61,9 @@ AbstractFramework is an ecosystem of composable packages for building AI systems
58
61
 
59
62
  Think of it as an **agentic OS**: durable runs + replay-first observability + multimodal capabilities — write once, run across providers and deployment modes.
60
63
 
61
- **What's new in 0.12.0** ([CHANGELOG](CHANGELOG.md#0120---2026-11-02)): decision models in AbstractCore
62
- (`output="decision"`, `POST /v1/decisions`: calibrated typed answers from Kev, Lev, Laya, OpenJev-style
63
- checkpoints or hosted Jev), a Decision node in AbstractFlow, the Avatar conversation view in the AbstractCode
64
- web client and AbstractEntity, an optional activity avatar in the AbstractAssistant desktop app, AbstractAvatar as a new package (procedural activity avatars
65
- for terminal, native and browser apps), the shared composer and account widget across the browser apps, and
66
- AbstractGateway 0.19.0: a fresh gateway is set up from the browser with an admin password and a six-word
67
- setup code, models run in a supervised model host process on every OS, and voice streams send keep-alive lines.
64
+ **What's new in 0.13.0** ([CHANGELOG](CHANGELOG.md#0130---2026-11-06)): an exact
65
+ matrix of the published Python, npm and Rust components, including Notes, Camera,
66
+ Avatar and AbstractSkill 0.3.10. The light, Apple and GPU profiles share the same versions.
68
67
 
69
68
  > **Prerequisites**: none for the one-line install below (it provisions Python and, optionally, Node.js). For a manual install: Python 3.10–3.13, Node.js 18+ for browser UIs, and an LLM backend (Ollama, LM Studio, vLLM, or a cloud API key).
70
69
 
@@ -233,7 +232,7 @@ abstractgateway update --check # what the next upgrade changes; `abstra
233
232
  ```
234
233
 
235
234
  Container images are published for the gateway and the AbstractCore server:
236
- `ghcr.io/lpalbou/abstractgateway:0.19.0` and `ghcr.io/lpalbou/abstractcore-server:2.32.0`.
235
+ `ghcr.io/lpalbou/abstractgateway:0.20.1` and `ghcr.io/lpalbou/abstractcore-server:2.34.0`.
237
236
 
238
237
  For artifact and runtime-resource investigation, see
239
238
  [Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
@@ -388,46 +387,54 @@ pip install "abstractframework[gpu]"
388
387
  | Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
389
388
  | GPU | `pip install "abstractframework[gpu]"` | Linux with a CUDA or ROCm GPU; on Windows, use the one-line installer (a plain pip install gets PyPI's CPU-only PyTorch and no llama.cpp) | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
390
389
 
391
- ### Release matrix (abstractframework 0.12.0)
390
+ ### Release matrix (abstractframework 0.13.0)
392
391
 
393
- `abstractframework` pins every Python package with `==`, so one version of the
394
- meta-package always installs the same stack. The browser apps and Rust tools are
395
- distributed through npm and crates.io; the versions below are the ones released
396
- and tested together.
392
+ The Python meta-package pins its component distributions with `==`. Browser apps and
393
+ shared npm libraries are listed separately; only apps are launchable. Rust tools retain
394
+ the dependency versions in their published lockfiles.
397
395
 
398
396
  | Registry | Package | Version |
399
397
  |---|---|---|
400
- | PyPI | `abstractgateway` | 0.19.0 |
401
- | PyPI | `abstractassistant` | 0.17.0 |
402
- | PyPI | `abstractcore` | 2.32.0 |
403
- | PyPI | `AbstractRuntime` | 0.16.0 |
404
- | PyPI | `abstractagent` | 0.5.0 |
405
- | PyPI | `abstractskill` | 0.3.4 |
398
+ | PyPI | `abstractcore` | 2.34.0 |
399
+ | PyPI | `AbstractRuntime` | 0.18.1 |
400
+ | PyPI | `abstractagent` | 0.6.0 |
401
+ | PyPI | `abstractgateway` | 0.20.1 |
402
+ | PyPI | `abstractskill` | 0.3.10 |
406
403
  | PyPI | `AbstractMemory` | 0.4.0 |
407
404
  | PyPI | `abstractsemantics` | 0.0.5 |
408
- | PyPI | `abstractvoice` | 0.19.5 |
405
+ | PyPI | `abstractvoice` | 0.20.0 |
409
406
  | PyPI | `abstractvision` | 0.3.34 |
410
407
  | PyPI | `abstractmusic` | 0.1.17 |
411
408
  | PyPI | `abstract3d` | 0.3.2 |
412
- | npm | `@abstractframework/flow` | 0.13.0 |
413
- | npm | `@abstractframework/code` | 0.14.0 |
414
- | npm | `@abstractframework/observer` | 0.11.0 |
415
- | npm | `@abstractframework/continuum` | 0.8.0 |
416
- | npm | `@abstractframework/entity` | 0.10.0 |
417
- | crates.io | `abstractcode` | 0.13.1 |
418
- | crates.io | `abstractgateway-console` | 0.17.0 |
409
+ | PyPI | `abstractassistant` | 0.18.0 |
410
+ | PyPI | `abstractcamera` | 0.2.1 |
411
+ | PyPI | `abstractavatar` | 0.1.1 |
412
+ | PyPI | `abstractnote` | 0.3.0 |
413
+ | npm app | `@abstractframework/flow` | 0.14.0 |
414
+ | npm app | `@abstractframework/code` | 0.15.0 |
415
+ | npm app | `@abstractframework/observer` | 0.12.0 |
416
+ | npm app | `@abstractframework/continuum` | 0.8.0 |
417
+ | npm app | `@abstractframework/entity` | 0.11.0 |
418
+ | npm app | `@abstractframework/note` | 0.3.0 |
419
+ | npm library | `@abstractframework/app-server` | 0.1.13 |
420
+ | npm library | `@abstractframework/ui-kit` | 0.9.14 |
421
+ | npm library | `@abstractframework/panel-chat` | 0.8.1 |
422
+ | npm library | `@abstractframework/monitor-active-memory` | 0.2.2 |
423
+ | npm library | `@abstractframework/monitor-flow` | 0.1.10 |
424
+ | npm library | `@abstractframework/monitor-gpu` | 0.1.10 |
425
+ | npm library | `@abstractframework/monitor-memory` | 0.1.10 |
426
+ | crates.io | `abstractgateway-console` | 0.18.0 |
419
427
  | crates.io | `abstractcore-console` | 0.8.1 |
428
+ | crates.io | `abstractcode` | 0.14.0 |
420
429
  | crates.io | `abstracttui` | 0.7.1 |
421
- | crates.io | `abstractavatar` | 0.1.0 |
422
- | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.19.0 (`gpu-latest` / `<version>-gpu` experimental) |
423
- | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.32.0 |
430
+ | crates.io | `abstractavatar` | 0.1.1 |
431
+ | crates.io | `abstracttui-graph` | 0.6.0 |
432
+ | crates.io | `abstracttui-mermaid` | 0.6.0 |
424
433
 
425
- `abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
426
- not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
427
- comes with the gateway, which carries its curated skill shelf; install it on its own with
428
- `pip install abstractskill`. AbstractNote (`abstractnote` 0.3.0 on PyPI, `@abstractframework/note` 0.3.0 on
429
- npm) and the Python binding of AbstractAvatar (`pip install "abstractassistant[avatar]"` adds `abstractavatar`
430
- 0.1.0 for the desktop activity avatar) are released with this matrix and install separately.
434
+ Notes, Camera and the Python Avatar binding are included in the Python profile. Browser
435
+ apps and terminal tools install separately through npm and crates.io. Shared npm library
436
+ versions record this release matrix; they are not independent applications. On platforms
437
+ without a compatible Avatar wheel, installing its source distribution requires Rust 1.87+.
431
438
 
432
439
  See [docs/install.md](docs/install.md) for the full install chooser, `uv`/venv guidance,
433
440
  `abstractframework doctor`, and the generated installer manifest contract.
@@ -450,7 +457,6 @@ See [docs/install.md](docs/install.md) for the full install chooser, `uv`/venv g
450
457
  | [docs/faq.md](docs/faq.md) | Common questions, comparisons, limits |
451
458
  | [docs/troubleshooting.md](docs/troubleshooting.md) | Symptoms, checks and fixes for install, sign-in, network and provider problems |
452
459
  | [docs/api.md](docs/api.md) | Meta-package API (pins, helpers, re-exports, `abstractframework doctor`) |
453
- | [docs/workspace-scripts.md](docs/workspace-scripts.md) | Working from source: package tiers, build, status, pull/commit/push scripts |
454
460
  | [CHANGELOG.md](CHANGELOG.md) | Release history of the meta-package and its pins |
455
461
  | [CONTRIBUTING.md](CONTRIBUTING.md) | How to work on this repository and propose changes |
456
462
  | [SECURITY.md](SECURITY.md) | How to report a vulnerability |
@@ -470,7 +476,7 @@ source ./scripts/build.sh # Python (editable, into .venv), npm and Rust build
470
476
  Keep the whole workspace in sync with `./scripts/status.sh` (git overview per tier; `--registry`
471
477
  compares local versions with PyPI, npm and crates.io), `./scripts/pull.sh`, `./scripts/commit.sh`
472
478
  and `./scripts/push.sh` (a dry run until you add `--yes`). See
473
- [docs/workspace-scripts.md](docs/workspace-scripts.md) for every script and option.
479
+ [CONTRIBUTING.md](CONTRIBUTING.md) for every script and option.
474
480
 
475
481
  Then configure providers and models in a console (`abstractcore serve` or
476
482
  `abstractgateway serve`, then open the printed link), or from the terminal:
@@ -13,13 +13,9 @@ AbstractFramework is an ecosystem of composable packages for building AI systems
13
13
 
14
14
  Think of it as an **agentic OS**: durable runs + replay-first observability + multimodal capabilities — write once, run across providers and deployment modes.
15
15
 
16
- **What's new in 0.12.0** ([CHANGELOG](CHANGELOG.md#0120---2026-11-02)): decision models in AbstractCore
17
- (`output="decision"`, `POST /v1/decisions`: calibrated typed answers from Kev, Lev, Laya, OpenJev-style
18
- checkpoints or hosted Jev), a Decision node in AbstractFlow, the Avatar conversation view in the AbstractCode
19
- web client and AbstractEntity, an optional activity avatar in the AbstractAssistant desktop app, AbstractAvatar as a new package (procedural activity avatars
20
- for terminal, native and browser apps), the shared composer and account widget across the browser apps, and
21
- AbstractGateway 0.19.0: a fresh gateway is set up from the browser with an admin password and a six-word
22
- setup code, models run in a supervised model host process on every OS, and voice streams send keep-alive lines.
16
+ **What's new in 0.13.0** ([CHANGELOG](CHANGELOG.md#0130---2026-11-06)): an exact
17
+ matrix of the published Python, npm and Rust components, including Notes, Camera,
18
+ Avatar and AbstractSkill 0.3.10. The light, Apple and GPU profiles share the same versions.
23
19
 
24
20
  > **Prerequisites**: none for the one-line install below (it provisions Python and, optionally, Node.js). For a manual install: Python 3.10–3.13, Node.js 18+ for browser UIs, and an LLM backend (Ollama, LM Studio, vLLM, or a cloud API key).
25
21
 
@@ -188,7 +184,7 @@ abstractgateway update --check # what the next upgrade changes; `abstra
188
184
  ```
189
185
 
190
186
  Container images are published for the gateway and the AbstractCore server:
191
- `ghcr.io/lpalbou/abstractgateway:0.19.0` and `ghcr.io/lpalbou/abstractcore-server:2.32.0`.
187
+ `ghcr.io/lpalbou/abstractgateway:0.20.1` and `ghcr.io/lpalbou/abstractcore-server:2.34.0`.
192
188
 
193
189
  For artifact and runtime-resource investigation, see
194
190
  [Runtime artifacts and retrieval](docs/guide/runtime-artifacts.md).
@@ -343,46 +339,54 @@ pip install "abstractframework[gpu]"
343
339
  | Apple | `pip install "abstractframework[apple]"` | macOS 14+ on Apple Silicon | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
344
340
  | GPU | `pip install "abstractframework[gpu]"` | Linux with a CUDA or ROCm GPU; on Windows, use the one-line installer (a plain pip install gets PyPI's CPU-only PyTorch and no llama.cpp) | 3.10–3.13 (F5-TTS voice cloning needs 3.11+) |
345
341
 
346
- ### Release matrix (abstractframework 0.12.0)
342
+ ### Release matrix (abstractframework 0.13.0)
347
343
 
348
- `abstractframework` pins every Python package with `==`, so one version of the
349
- meta-package always installs the same stack. The browser apps and Rust tools are
350
- distributed through npm and crates.io; the versions below are the ones released
351
- and tested together.
344
+ The Python meta-package pins its component distributions with `==`. Browser apps and
345
+ shared npm libraries are listed separately; only apps are launchable. Rust tools retain
346
+ the dependency versions in their published lockfiles.
352
347
 
353
348
  | Registry | Package | Version |
354
349
  |---|---|---|
355
- | PyPI | `abstractgateway` | 0.19.0 |
356
- | PyPI | `abstractassistant` | 0.17.0 |
357
- | PyPI | `abstractcore` | 2.32.0 |
358
- | PyPI | `AbstractRuntime` | 0.16.0 |
359
- | PyPI | `abstractagent` | 0.5.0 |
360
- | PyPI | `abstractskill` | 0.3.4 |
350
+ | PyPI | `abstractcore` | 2.34.0 |
351
+ | PyPI | `AbstractRuntime` | 0.18.1 |
352
+ | PyPI | `abstractagent` | 0.6.0 |
353
+ | PyPI | `abstractgateway` | 0.20.1 |
354
+ | PyPI | `abstractskill` | 0.3.10 |
361
355
  | PyPI | `AbstractMemory` | 0.4.0 |
362
356
  | PyPI | `abstractsemantics` | 0.0.5 |
363
- | PyPI | `abstractvoice` | 0.19.5 |
357
+ | PyPI | `abstractvoice` | 0.20.0 |
364
358
  | PyPI | `abstractvision` | 0.3.34 |
365
359
  | PyPI | `abstractmusic` | 0.1.17 |
366
360
  | PyPI | `abstract3d` | 0.3.2 |
367
- | npm | `@abstractframework/flow` | 0.13.0 |
368
- | npm | `@abstractframework/code` | 0.14.0 |
369
- | npm | `@abstractframework/observer` | 0.11.0 |
370
- | npm | `@abstractframework/continuum` | 0.8.0 |
371
- | npm | `@abstractframework/entity` | 0.10.0 |
372
- | crates.io | `abstractcode` | 0.13.1 |
373
- | crates.io | `abstractgateway-console` | 0.17.0 |
361
+ | PyPI | `abstractassistant` | 0.18.0 |
362
+ | PyPI | `abstractcamera` | 0.2.1 |
363
+ | PyPI | `abstractavatar` | 0.1.1 |
364
+ | PyPI | `abstractnote` | 0.3.0 |
365
+ | npm app | `@abstractframework/flow` | 0.14.0 |
366
+ | npm app | `@abstractframework/code` | 0.15.0 |
367
+ | npm app | `@abstractframework/observer` | 0.12.0 |
368
+ | npm app | `@abstractframework/continuum` | 0.8.0 |
369
+ | npm app | `@abstractframework/entity` | 0.11.0 |
370
+ | npm app | `@abstractframework/note` | 0.3.0 |
371
+ | npm library | `@abstractframework/app-server` | 0.1.13 |
372
+ | npm library | `@abstractframework/ui-kit` | 0.9.14 |
373
+ | npm library | `@abstractframework/panel-chat` | 0.8.1 |
374
+ | npm library | `@abstractframework/monitor-active-memory` | 0.2.2 |
375
+ | npm library | `@abstractframework/monitor-flow` | 0.1.10 |
376
+ | npm library | `@abstractframework/monitor-gpu` | 0.1.10 |
377
+ | npm library | `@abstractframework/monitor-memory` | 0.1.10 |
378
+ | crates.io | `abstractgateway-console` | 0.18.0 |
374
379
  | crates.io | `abstractcore-console` | 0.8.1 |
380
+ | crates.io | `abstractcode` | 0.14.0 |
375
381
  | crates.io | `abstracttui` | 0.7.1 |
376
- | crates.io | `abstractavatar` | 0.1.0 |
377
- | GHCR | `ghcr.io/lpalbou/abstractgateway` | 0.19.0 (`gpu-latest` / `<version>-gpu` experimental) |
378
- | GHCR | `ghcr.io/lpalbou/abstractcore-server` | 2.32.0 |
382
+ | crates.io | `abstractavatar` | 0.1.1 |
383
+ | crates.io | `abstracttui-graph` | 0.6.0 |
384
+ | crates.io | `abstracttui-mermaid` | 0.6.0 |
379
385
 
380
- `abstract3d` (pinned above) comes with AbstractCore in every profile. The optional add-on that is
381
- not part of any profile installs separately: `pip install abstractcamera` (0.2.1). `abstractskill` (pinned above)
382
- comes with the gateway, which carries its curated skill shelf; install it on its own with
383
- `pip install abstractskill`. AbstractNote (`abstractnote` 0.3.0 on PyPI, `@abstractframework/note` 0.3.0 on
384
- npm) and the Python binding of AbstractAvatar (`pip install "abstractassistant[avatar]"` adds `abstractavatar`
385
- 0.1.0 for the desktop activity avatar) are released with this matrix and install separately.
386
+ Notes, Camera and the Python Avatar binding are included in the Python profile. Browser
387
+ apps and terminal tools install separately through npm and crates.io. Shared npm library
388
+ versions record this release matrix; they are not independent applications. On platforms
389
+ without a compatible Avatar wheel, installing its source distribution requires Rust 1.87+.
386
390
 
387
391
  See [docs/install.md](docs/install.md) for the full install chooser, `uv`/venv guidance,
388
392
  `abstractframework doctor`, and the generated installer manifest contract.
@@ -405,7 +409,6 @@ See [docs/install.md](docs/install.md) for the full install chooser, `uv`/venv g
405
409
  | [docs/faq.md](docs/faq.md) | Common questions, comparisons, limits |
406
410
  | [docs/troubleshooting.md](docs/troubleshooting.md) | Symptoms, checks and fixes for install, sign-in, network and provider problems |
407
411
  | [docs/api.md](docs/api.md) | Meta-package API (pins, helpers, re-exports, `abstractframework doctor`) |
408
- | [docs/workspace-scripts.md](docs/workspace-scripts.md) | Working from source: package tiers, build, status, pull/commit/push scripts |
409
412
  | [CHANGELOG.md](CHANGELOG.md) | Release history of the meta-package and its pins |
410
413
  | [CONTRIBUTING.md](CONTRIBUTING.md) | How to work on this repository and propose changes |
411
414
  | [SECURITY.md](SECURITY.md) | How to report a vulnerability |
@@ -425,7 +428,7 @@ source ./scripts/build.sh # Python (editable, into .venv), npm and Rust build
425
428
  Keep the whole workspace in sync with `./scripts/status.sh` (git overview per tier; `--registry`
426
429
  compares local versions with PyPI, npm and crates.io), `./scripts/pull.sh`, `./scripts/commit.sh`
427
430
  and `./scripts/push.sh` (a dry run until you add `--yes`). See
428
- [docs/workspace-scripts.md](docs/workspace-scripts.md) for every script and option.
431
+ [CONTRIBUTING.md](CONTRIBUTING.md) for every script and option.
429
432
 
430
433
  Then configure providers and models in a console (`abstractcore serve` or
431
434
  `abstractgateway serve`, then open the printed link), or from the terminal:
@@ -10,23 +10,26 @@ Most implementation functionality still lives in component projects.
10
10
 
11
11
  from __future__ import annotations
12
12
 
13
- __version__ = "0.12.0"
13
+ __version__ = "0.13.0"
14
14
  __author__ = "Laurent-Philippe Albou"
15
15
  __license__ = "MIT"
16
16
 
17
17
  RELEASE_VERSIONS: dict[str, str] = {
18
- "abstractcore": "2.32.0",
19
- "abstractruntime": "0.16.0",
20
- "abstractagent": "0.5.0",
21
- "abstractgateway": "0.19.0",
22
- "abstractskill": "0.3.4",
18
+ "abstractcore": "2.34.0",
19
+ "abstractruntime": "0.18.1",
20
+ "abstractagent": "0.6.0",
21
+ "abstractgateway": "0.20.1",
22
+ "abstractskill": "0.3.10",
23
23
  "abstractmemory": "0.4.0",
24
24
  "abstractsemantics": "0.0.5",
25
- "abstractvoice": "0.19.5",
25
+ "abstractvoice": "0.20.0",
26
26
  "abstractvision": "0.3.34",
27
27
  "abstractmusic": "0.1.17",
28
28
  "abstract3d": "0.3.2",
29
- "abstractassistant": "0.17.0",
29
+ "abstractassistant": "0.18.0",
30
+ "abstractcamera": "0.2.1",
31
+ "abstractavatar": "0.1.1",
32
+ "abstractnote": "0.3.0"
30
33
  }
31
34
 
32
35
  PACKAGE_DISTRIBUTIONS: dict[str, str] = {
@@ -42,14 +45,29 @@ PACKAGE_DISTRIBUTIONS: dict[str, str] = {
42
45
  "abstractmusic": "abstractmusic",
43
46
  "abstract3d": "abstract3d",
44
47
  "abstractassistant": "abstractassistant",
48
+ "abstractcamera": "abstractcamera",
49
+ "abstractavatar": "abstractavatar",
50
+ "abstractnote": "abstractnote",
45
51
  }
46
52
 
47
53
  NPM_RELEASE_VERSIONS: dict[str, str] = {
48
- "@abstractframework/flow": "0.13.0",
49
- "@abstractframework/code": "0.14.0",
50
- "@abstractframework/observer": "0.11.0",
54
+ "@abstractframework/flow": "0.14.0",
55
+ "@abstractframework/code": "0.15.0",
56
+ "@abstractframework/observer": "0.12.0",
51
57
  "@abstractframework/continuum": "0.8.0",
52
- "@abstractframework/entity": "0.10.0",
58
+ "@abstractframework/entity": "0.11.0",
59
+ "@abstractframework/note": "0.3.0"
60
+ }
61
+
62
+ # Shared npm libraries are recorded separately from launchable browser apps.
63
+ NPM_LIBRARY_RELEASE_VERSIONS: dict[str, str] = {
64
+ "@abstractframework/app-server": "0.1.13",
65
+ "@abstractframework/ui-kit": "0.9.14",
66
+ "@abstractframework/panel-chat": "0.8.1",
67
+ "@abstractframework/monitor-active-memory": "0.2.2",
68
+ "@abstractframework/monitor-flow": "0.1.10",
69
+ "@abstractframework/monitor-gpu": "0.1.10",
70
+ "@abstractframework/monitor-memory": "0.1.10"
53
71
  }
54
72
 
55
73
  # Terminal tools published on crates.io alongside this release (installed with `cargo install`,
@@ -60,11 +78,13 @@ NPM_RELEASE_VERSIONS: dict[str, str] = {
60
78
  # are the libraries these tools build on (`abstracttui`'s `avatar` feature resolves
61
79
  # `abstractavatar` from crates.io); they are release versions, not installed tools.
62
80
  CRATE_RELEASE_VERSIONS: dict[str, str] = {
63
- "abstractgateway-console": "0.17.0",
81
+ "abstractgateway-console": "0.18.0",
64
82
  "abstractcore-console": "0.8.1",
65
- "abstractcode": "0.13.1",
83
+ "abstractcode": "0.14.0",
66
84
  "abstracttui": "0.7.1",
67
- "abstractavatar": "0.1.0",
85
+ "abstractavatar": "0.1.1",
86
+ "abstracttui-graph": "0.6.0",
87
+ "abstracttui-mermaid": "0.6.0"
68
88
  }
69
89
 
70
90
  # The light profile installs plain `abstractcore` (no extra): AbstractCore's light setting already
@@ -104,6 +124,7 @@ def get_release_profile() -> dict[str, object]:
104
124
  "packages": RELEASE_VERSIONS.copy(),
105
125
  "distributions": PACKAGE_DISTRIBUTIONS.copy(),
106
126
  "npm_packages": NPM_RELEASE_VERSIONS.copy(),
127
+ "npm_libraries": NPM_LIBRARY_RELEASE_VERSIONS.copy(),
107
128
  "crates": CRATE_RELEASE_VERSIONS.copy(),
108
129
  "core_extras": list(CORE_DEFAULT_EXTRAS),
109
130
  "install_profiles": {
@@ -6,7 +6,7 @@ import json
6
6
  from pathlib import Path
7
7
  from typing import Any
8
8
 
9
- from . import NPM_RELEASE_VERSIONS, PACKAGE_DISTRIBUTIONS, RELEASE_VERSIONS, __version__
9
+ from . import NPM_LIBRARY_RELEASE_VERSIONS, NPM_RELEASE_VERSIONS, PACKAGE_DISTRIBUTIONS, RELEASE_VERSIONS, __version__
10
10
 
11
11
  MANIFEST_SCHEMA_VERSION = 2
12
12
  MINIMUM_INSTALLER_VERSION = "0.2.0"
@@ -157,6 +157,10 @@ def build_install_manifest() -> dict[str, Any]:
157
157
  ],
158
158
  "python_packages": _python_packages(),
159
159
  "npm_apps": _npm_apps(),
160
+ "npm_libraries": [
161
+ {"package": name, "version": version, "registry": "npm"}
162
+ for name, version in NPM_LIBRARY_RELEASE_VERSIONS.items()
163
+ ],
160
164
  "bootstrap": _bootstrap(),
161
165
  "post_install": _post_install(),
162
166
  "security": {