mirror of
https://github.com/razzant/ouroboros.git
synced 2026-10-03 04:07:04 +00:00
fix(v7.4.7): integrate Windows repository-capture test repair (#1245)
This commit is contained in:
commit
edb44d72d2
11 changed files with 48 additions and 36 deletions
18
README.md
18
README.md
|
|
@ -12,7 +12,7 @@
|
|||
[](https://ouroboros-agent.ai/install/#linux)
|
||||
[][download-windows-x64]
|
||||
[](https://github.com/razzant/OuroborosHub)
|
||||
[](VERSION)
|
||||
[](VERSION)
|
||||
|
||||
Ouroboros is an open-source, general-purpose AI agent whose identity, durable memory, and history continue across tasks and restarts. It works on external projects, coordinates a live swarm of specialist agents, and can rewrite the implementation it runs on, including its code, architecture, prompts, tools, and dependencies. Reflection can also change how it understands itself without severing that continuity.
|
||||
|
||||
|
|
@ -66,13 +66,13 @@ The desktop packages already contain an optional CLI installer. On macOS, after
|
|||
|
||||
</details>
|
||||
|
||||
[download-macos-arm64]: https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6.dmg
|
||||
[download-windows-x64]: https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-windows-x64.zip
|
||||
[download-linux-deb-amd64]: https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros_7.4.6_amd64.deb
|
||||
[download-linux-rpm-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros-7.4.6-1.x86_64.rpm
|
||||
[download-linux-rpm-red80-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros-7.4.6-1.red80.x86_64.rpm
|
||||
[download-linux-appimage-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-linux-x86_64.AppImage
|
||||
[download-linux-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-linux-x86_64.tar.gz
|
||||
[download-macos-arm64]: https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7.dmg
|
||||
[download-windows-x64]: https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-windows-x64.zip
|
||||
[download-linux-deb-amd64]: https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros_7.4.7_amd64.deb
|
||||
[download-linux-rpm-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros-7.4.7-1.x86_64.rpm
|
||||
[download-linux-rpm-red80-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros-7.4.7-1.red80.x86_64.rpm
|
||||
[download-linux-appimage-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-linux-x86_64.AppImage
|
||||
[download-linux-x86_64]: https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-linux-x86_64.tar.gz
|
||||
|
||||
Ouroboros bundles [Claudexor](https://github.com/razzant/claudexor) as its local execution layer for delegated coding and hosted-agent review. Ouroboros owns the task, memory, review, and final integration, while Claudexor runs the selected connected coding harness and returns durable execution evidence. [Explore Claudexor](https://claudexor.ai/).
|
||||
|
||||
|
|
@ -452,11 +452,11 @@ and the reason.
|
|||
|
||||
| Version | Date | Description |
|
||||
|---------|------|-------------|
|
||||
| 7.4.7 | 2026-09-24 | **test: repair Windows repository-evidence fixtures.** Keep POSIX private-mode checks where supported and clear the read-only attribute before deliberately removing a fixture Git object; byte-retention and unavailable-source checks remain active on Windows. |
|
||||
| 7.4.6 | 2026-09-24 | **fix: retain answers through local acceptance failures without looping.** Byte-safe evidence capture separates private raw bytes from masked projections, source-bound retries preserve real reviewer custody, unfinished no-tool rounds share the budget check, and cards state the local failure without inventing reviewer rework. |
|
||||
| 7.4.5 | 2026-09-23 | **fix: aggregate release diagnostics before review.** Explicit worktree/index diagnostics collect independent carrier and history findings without synchronization, tests, provider calls or review freshness. Prepared admission shares index checks; unavailable sources retain their cause through commit guidance, and committed-release consumers remain covered. |
|
||||
| 7.4.4 | 2026-09-21 | **fix: restore annotated tags in Android packaging and stabilize release checks.** CI retains independent failures, browser tests use portable focus and distinct subagent routes, and release metadata stays synchronized. |
|
||||
| 7.4.2 | 2026-09-21 | **fix: fetch annotated release tags before packaging and keep cross-platform release gates honest.** |
|
||||
| 7.4.1 | 2026-09-21 | **fix: collect independent CI and diagnostic release-build failures without weakening publication gates.** Failed test steps continue to their independent checks, valid tags retain release metadata for diagnostic desktop builds, and publication remains fail-closed on required results. |
|
||||
| 7.4.0 | 2026-09-20 | **feat: add an honest desktop attention cue for live notifications.** The optional launcher bridge can raise the existing desktop window and request one platform system sound, returning explicit native/unsupported/window_only/unavailable facts; it does not claim Notification Center delivery, run after close, or add a tray/background process. Browser banners and in-app toasts remain the fallback, with capability text visible in Settings. Focused native, launcher and notification tests cover the seam. |
|
||||
| 7.3.0 | 2026-09-19 | **feat: notifications can pull you back to a question or a finished task while a client is running (#1122).** Settings → Appearance gains a notification block next to the theme: a master switch, the two required categories (a question or decision is waiting for you, a task finished or stopped), a model-chosen category for messages Ouroboros sends while it works, a separate off-by-default toggle for ordinary replies in Main, sound, an off-by-default show-the-text choice and a test notification. The choices are stored per client exactly like the appearance choice, never reach the server, and do not make the settings draft dirty. Delivery is page-level: a system banner where this client exposes one and permission is granted, otherwise the in-app surface plus one short tone, with the status line saying which surface you actually have; either way a click opens the source. The new `web/modules/notifications.js` keeps classification and the delivery gate pure over one live frame plus the stored preferences, and takes ONE subscription per client on the shared socket — not inside a chat instance, which dies with its room, so a Project the owner never opened still reaches him; `web/modules/chat.js` is untouched. Only live frames reach it, so a reload cannot re-notify without any stored notification state. A finished managed root is recognised on the shape it actually arrives in (a live `task_done` log frame) as well as the authored summary, and a conversation turn's own ending stays the ordinary-reply category instead of claiming a task finished; all of them collapse to one key per task. A child task never notifies the owner: it escalates to its parent, and lineage is read from the delegation facts frames carry because the terminal frame has none. Importance needs no new host field and no second model call: the existing proactive-message discriminator is the signal. Policy and its disclosed limits have one canonical home in `docs/DESIGN.md` §9 — including that each open window is its own client, that an event during a dropped socket never rings, and that no OS permission, Do Not Disturb or platform limit is bypassed. |
|
||||
| 7.2.0 | 2026-09-19 | **feat: Light, Dark and System appearance, review that reads the repository instead of a packed snapshot, and one fast local test battery.** The web UI gains a client-local Appearance choice — Light, Dark or System — applied before first paint in the app and the onboarding wizard and carried through in-page charts, diagrams and host-rendered widget charts, while framed skill widgets keep their own colours (#1107). With no saved choice the UI follows the system scheme, so an existing install on a light OS opens in Light until Dark is chosen; to remember the choice the desktop shell now keeps website data, including cookies, and a desktop app that only took in-app updates remembers it once the 7.2.0 installer has been installed. Project questions are one row in Main and become a card only while the task waits (#1106). Scope review retrieves what it needs from the repository rather than receiving one packed snapshot (#1043); plan review keeps paid feedback (#1051), acceptance review keeps its rework controls, final review text and explicit author completion (#1042, #1069, #1089), and system review mail no longer reopens accepted results (#1088). `python scripts/run_tests.py` is the one documented local battery: it runs the node lane first, then every default-lane test in one parallel run (#1101). First-run setup recovers subscription sign-in and model discovery (#1099), and Finish stays usable after a refused Main-reviewer recovery (#1100); delegated requests are stored by reference and keep pending recovery (#1067); terminal outcomes, usage accounting, cancellation provenance, task relay authorship and process environments are preserved end to end (#1054, #1064, #1083, #1098). Also: the managed Claudexor runtime moves to 3.12.4, an experimental Android host with optional release artifacts (#873), bounded Cowork Bench meter reads that preserve interrupted work (#1044), chat composer, Activity row and project-link fixes (#1063, #1095), clearer Presence delivery (#1053), subagent scheduling refusals (#1092), settings and helper-history reporting (#1090), and scope-review context logging from a community contribution (#752). |
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
7.4.6
|
||||
7.4.7
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Ouroboros v7.4.6 — Architecture & Reference
|
||||
# Ouroboros v7.4.7 — Architecture & Reference
|
||||
|
||||
This is the present-tense operational map of Ouroboros (BIBLE P6), in three layers: structure (what exists and where), operation (files, env keys, state paths, endpoints, flows), and rationale; it is NOT a changelog, and version history lives in README.md, git tags, and the commit log. Every important WHY stays in this book at least briefly, while mechanism detail lives in the module docstring the map points to by name, and rationale must be self-contained — future maintainers should not need old commits to understand why a guard, review gate, or lifecycle exists. The chapters below are the book: each owns one section of the map, and a change replaces the description of the node it touched.
|
||||
|
||||
|
|
|
|||
|
|
@ -46,24 +46,24 @@
|
|||
<article>
|
||||
<p class="download-platform">macOS 12+ · Apple silicon only</p>
|
||||
<h2>macOS</h2>
|
||||
<a data-release-download="macos-arm64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6.dmg">Download for macOS (.dmg)</a>
|
||||
<a data-release-download="macos-arm64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7.dmg">Download for macOS (.dmg)</a>
|
||||
<p>Open the DMG, drag <code>Ouroboros.app</code> to Applications, then launch it from Applications.</p>
|
||||
</article>
|
||||
<article>
|
||||
<p class="download-platform">Windows x64</p>
|
||||
<h2>Windows</h2>
|
||||
<a data-release-download="windows-x64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-windows-x64.zip">Download for Windows (.zip)</a>
|
||||
<a data-release-download="windows-x64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-windows-x64.zip">Download for Windows (.zip)</a>
|
||||
<p>Extract the ZIP, open the <code>Ouroboros</code> folder, and run <code>Ouroboros.exe</code>.</p>
|
||||
</article>
|
||||
<article id="linux">
|
||||
<p class="download-platform">Linux x86_64</p>
|
||||
<h2>Linux</h2>
|
||||
<div class="download-actions">
|
||||
<a data-release-download="linux-deb-amd64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros_7.4.6_amd64.deb">Debian / Ubuntu / Astra (.deb)</a>
|
||||
<a data-release-download="linux-rpm-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros-7.4.6-1.x86_64.rpm">Fedora / RHEL (.rpm)</a>
|
||||
<a data-release-download="linux-rpm-red80-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros-7.4.6-1.red80.x86_64.rpm">RED OS 8 (.rpm)</a>
|
||||
<a data-release-download="linux-appimage-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-linux-x86_64.AppImage">Portable AppImage</a>
|
||||
<a data-release-download="linux-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-linux-x86_64.tar.gz">tar.gz archive</a>
|
||||
<a data-release-download="linux-deb-amd64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros_7.4.7_amd64.deb">Debian / Ubuntu / Astra (.deb)</a>
|
||||
<a data-release-download="linux-rpm-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros-7.4.7-1.x86_64.rpm">Fedora / RHEL (.rpm)</a>
|
||||
<a data-release-download="linux-rpm-red80-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros-7.4.7-1.red80.x86_64.rpm">RED OS 8 (.rpm)</a>
|
||||
<a data-release-download="linux-appimage-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-linux-x86_64.AppImage">Portable AppImage</a>
|
||||
<a data-release-download="linux-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-linux-x86_64.tar.gz">tar.gz archive</a>
|
||||
</div>
|
||||
<p>Prefer the package for your distribution. Use the AppImage or archive on other distributions; Git must already be installed.</p>
|
||||
</article>
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
<section class="install-primary" aria-labelledby="macos-quick-start">
|
||||
<h2 id="macos-quick-start">macOS quick start</h2>
|
||||
<ol class="install-steps">
|
||||
<li>Click <a data-release-download="macos-arm64" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6.dmg">Download for macOS (.dmg)</a>.</li>
|
||||
<li>Click <a data-release-download="macos-arm64" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7.dmg">Download for macOS (.dmg)</a>.</li>
|
||||
<li>Open the DMG and drag <code>Ouroboros.app</code> onto the <strong>Applications</strong> shortcut.</li>
|
||||
<li>Open Ouroboros from Applications. If Gatekeeper asks, right-click the app and choose <strong>Open</strong>.</li>
|
||||
</ol>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||
|
||||
[project]
|
||||
name = "ouroboros"
|
||||
version = "7.4.6"
|
||||
version = "7.4.7"
|
||||
description = "Self-creating AI agent with constitution, background consciousness, and persistent identity"
|
||||
readme = "README.md"
|
||||
license = {text = "MIT"}
|
||||
|
|
|
|||
|
|
@ -46,24 +46,24 @@
|
|||
<article>
|
||||
<p class="download-platform">macOS 12+ · Apple silicon only</p>
|
||||
<h2>macOS</h2>
|
||||
<a data-release-download="macos-arm64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6.dmg">Download for macOS (.dmg)</a>
|
||||
<a data-release-download="macos-arm64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7.dmg">Download for macOS (.dmg)</a>
|
||||
<p>Open the DMG, drag <code>Ouroboros.app</code> to Applications, then launch it from Applications.</p>
|
||||
</article>
|
||||
<article>
|
||||
<p class="download-platform">Windows x64</p>
|
||||
<h2>Windows</h2>
|
||||
<a data-release-download="windows-x64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-windows-x64.zip">Download for Windows (.zip)</a>
|
||||
<a data-release-download="windows-x64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-windows-x64.zip">Download for Windows (.zip)</a>
|
||||
<p>Extract the ZIP, open the <code>Ouroboros</code> folder, and run <code>Ouroboros.exe</code>.</p>
|
||||
</article>
|
||||
<article id="linux">
|
||||
<p class="download-platform">Linux x86_64</p>
|
||||
<h2>Linux</h2>
|
||||
<div class="download-actions">
|
||||
<a data-release-download="linux-deb-amd64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros_7.4.6_amd64.deb">Debian / Ubuntu / Astra (.deb)</a>
|
||||
<a data-release-download="linux-rpm-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros-7.4.6-1.x86_64.rpm">Fedora / RHEL (.rpm)</a>
|
||||
<a data-release-download="linux-rpm-red80-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/ouroboros-7.4.6-1.red80.x86_64.rpm">RED OS 8 (.rpm)</a>
|
||||
<a data-release-download="linux-appimage-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-linux-x86_64.AppImage">Portable AppImage</a>
|
||||
<a data-release-download="linux-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6-linux-x86_64.tar.gz">tar.gz archive</a>
|
||||
<a data-release-download="linux-deb-amd64" class="btn btn-primary" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros_7.4.7_amd64.deb">Debian / Ubuntu / Astra (.deb)</a>
|
||||
<a data-release-download="linux-rpm-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros-7.4.7-1.x86_64.rpm">Fedora / RHEL (.rpm)</a>
|
||||
<a data-release-download="linux-rpm-red80-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/ouroboros-7.4.7-1.red80.x86_64.rpm">RED OS 8 (.rpm)</a>
|
||||
<a data-release-download="linux-appimage-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-linux-x86_64.AppImage">Portable AppImage</a>
|
||||
<a data-release-download="linux-x86_64" class="btn btn-quiet" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7-linux-x86_64.tar.gz">tar.gz archive</a>
|
||||
</div>
|
||||
<p>Prefer the package for your distribution. Use the AppImage or archive on other distributions; Git must already be installed.</p>
|
||||
</article>
|
||||
|
|
@ -74,7 +74,7 @@
|
|||
<section class="install-primary" aria-labelledby="macos-quick-start">
|
||||
<h2 id="macos-quick-start">macOS quick start</h2>
|
||||
<ol class="install-steps">
|
||||
<li>Click <a data-release-download="macos-arm64" href="https://github.com/razzant/ouroboros/releases/download/v7.4.6/Ouroboros-7.4.6.dmg">Download for macOS (.dmg)</a>.</li>
|
||||
<li>Click <a data-release-download="macos-arm64" href="https://github.com/razzant/ouroboros/releases/download/v7.4.7/Ouroboros-7.4.7.dmg">Download for macOS (.dmg)</a>.</li>
|
||||
<li>Open the DMG and drag <code>Ouroboros.app</code> onto the <strong>Applications</strong> shortcut.</li>
|
||||
<li>Open Ouroboros from Applications. If Gatekeeper asks, right-click the app and choose <strong>Open</strong>.</li>
|
||||
</ol>
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ Every credential literal here is synthetic and assembled at runtime.
|
|||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import stat
|
||||
import subprocess as sp
|
||||
from types import SimpleNamespace as NS
|
||||
|
||||
|
|
@ -146,6 +147,7 @@ def test_a_bounded_capture_keeps_the_bytes_it_could_not_hold_in_memory(tmp_path)
|
|||
"""Bounded MEMORY is not permission to shorten the truth: the section past
|
||||
the ceiling stays on the private spool, the cut is disclosed with the real
|
||||
total, and the retention streams the WHOLE source."""
|
||||
from ouroboros.observability import posix_private_modes_supported
|
||||
from ouroboros.repo_diff_capture import (
|
||||
capture_repo_diff, read_private_capture, retain_private_capture,
|
||||
)
|
||||
|
|
@ -163,14 +165,19 @@ def test_a_bounded_capture_keeps_the_bytes_it_could_not_hold_in_memory(tmp_path)
|
|||
assert len(capture.section("tracked")) <= 4096
|
||||
assert capture.raw_size >= truncation[0]["total_bytes"]
|
||||
spooled = dict(capture.spool)["tracked"]
|
||||
assert os.path.exists(spooled) and (os.stat(spooled).st_mode & 0o077) == 0
|
||||
assert os.path.isfile(spooled)
|
||||
# Windows stat modes do not describe ACL privacy; retain the POSIX check
|
||||
# where it is meaningful without skipping byte retention on Windows.
|
||||
if posix_private_modes_supported():
|
||||
assert (os.stat(spooled).st_mode & 0o077) == 0
|
||||
|
||||
private = retain_private_capture(tmp_path, capture)
|
||||
assert private["access"] == "host_private" and private["raw_bytes"] == capture.raw_size
|
||||
assert not os.path.exists(spooled) # released once retained
|
||||
raw = read_private_capture(tmp_path, private)
|
||||
assert len(raw) == capture.raw_size and raw.count(b"v39999 = 39999") == 1
|
||||
assert (os.stat(private["blob_ref"]["path"]).st_mode & 0o077) == 0
|
||||
if posix_private_modes_supported():
|
||||
assert (os.stat(private["blob_ref"]["path"]).st_mode & 0o077) == 0
|
||||
|
||||
|
||||
def test_a_retention_that_cannot_happen_is_disclosed_never_implied(tmp_path, monkeypatch):
|
||||
|
|
@ -446,7 +453,12 @@ def test_git_failure_is_never_guessed_to_be_unborn(tmp_path, monkeypatch, failur
|
|||
(repo / ".git" / branch).write_text("not an object id\n")
|
||||
elif failure == "missing_object":
|
||||
head = sp.check_output(["git", "rev-parse", "HEAD"], cwd=repo).decode().strip()
|
||||
(repo / ".git" / "objects" / head[:2] / head[2:]).unlink()
|
||||
obj = repo / ".git" / "objects" / head[:2] / head[2:]
|
||||
# Git's loose objects are read-only; Windows requires clearing that
|
||||
# attribute before this fixture can deliberately remove its own object.
|
||||
obj.chmod(obj.stat().st_mode | stat.S_IWRITE)
|
||||
obj.unlink()
|
||||
assert not obj.exists()
|
||||
elif failure == "detached_missing":
|
||||
(repo / ".git" / "HEAD").write_text("f" * 40 + "\n")
|
||||
else:
|
||||
|
|
|
|||
2
uv.lock
generated
2
uv.lock
generated
|
|
@ -1535,7 +1535,7 @@ wheels = [
|
|||
|
||||
[[package]]
|
||||
name = "ouroboros"
|
||||
version = "7.4.6"
|
||||
version = "7.4.7"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "croniter" },
|
||||
|
|
|
|||
|
|
@ -1501,7 +1501,7 @@ export const MAX_QUIZ_OPTIONS = 6;
|
|||
// REFUSES a longer comment (it is delivered verbatim, never truncated), so
|
||||
// the card must not offer to send one.
|
||||
export const MAX_DECISION_COMMENT = 2000;
|
||||
export const GATEWAY_CONTRACT_VERSION = '7.4.6';
|
||||
export const GATEWAY_CONTRACT_VERSION = '7.4.7';
|
||||
|
||||
/**
|
||||
* @typedef {Object} ChatHistoryPosition
|
||||
|
|
|
|||
4
web/package-lock.json
generated
4
web/package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "ouroboros-web",
|
||||
"version": "7.4.6",
|
||||
"version": "7.4.7",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ouroboros-web",
|
||||
"version": "7.4.6",
|
||||
"version": "7.4.7",
|
||||
"devDependencies": {
|
||||
"eslint": "10.10.0",
|
||||
"globals": "17.12.0"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ouroboros-web",
|
||||
"version": "7.4.6",
|
||||
"version": "7.4.7",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"description": "Ouroboros browser UI package boundary",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue