@ouro.bot/cli 0.1.0-alpha.741 → 0.1.0-alpha.743
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.
- package/changelog.json +42 -0
- package/deploy/unraid/Dockerfile +7 -2
- package/deploy/unraid/README.txt +717 -106
- package/deploy/unraid/migrate-sanctuary-bundle.mjs +21 -0
- package/deploy/unraid/ouro-events/bootstrap-spool.sh +92 -0
- package/deploy/unraid/ouro-events/emit-event.mjs +310 -0
- package/deploy/unraid/ouro-events/emit-usenet-event.sh +54 -0
- package/deploy/unraid/ouro-events/install-usenet-guard.sh +434 -0
- package/deploy/unraid/ouro-events/usenet-health.sh +178 -0
- package/deploy/unraid/sanctuary-acceptance-contract.json +4 -3
- package/deploy/unraid/sanctuary-unit16-host-broker.mjs +5 -1
- package/deploy/unraid/sanctuary.ouro/agent.json +2 -2
- package/deploy/unraid/sanctuary.ouro/bundle-meta.json +2 -2
- package/deploy/unraid/sanctuary.ouro/habits/sanctuary-health.md +1 -1
- package/deploy/unraid/sanctuary.ouro/provider-readiness.json +3 -10
- package/deploy/unraid/sanctuary.ouro/psyche/ASPIRATIONS.md +3 -1
- package/deploy/unraid/sanctuary.ouro/psyche/IDENTITY.md +3 -1
- package/deploy/unraid/sanctuary.ouro/psyche/LORE.md +4 -0
- package/deploy/unraid/sanctuary.ouro/psyche/SOUL.md +6 -2
- package/deploy/unraid/sanctuary.ouro/psyche/TACIT.md +4 -2
- package/deploy/unraid/sanctuary.ouro/state/policy/steward.json +7 -0
- package/deploy/unraid/sanctuary.ouro/tool-profiles.json +19 -17
- package/deploy/unraid/sanctuary.xml +12 -9
- package/dist/arc/cares.js +171 -37
- package/dist/arc/obligations.js +38 -0
- package/dist/heart/awaiting/await-alert.js +4 -2
- package/dist/heart/awaiting/await-expiry.js +39 -4
- package/dist/heart/awaiting/await-parser.js +8 -0
- package/dist/heart/context-loss-gauntlet.js +31 -2
- package/dist/heart/context-loss-sentinel.js +2 -0
- package/dist/heart/core.js +37 -7
- package/dist/heart/cross-chat-delivery.js +1 -0
- package/dist/heart/daemon/container-healthcheck.js +3 -1
- package/dist/heart/daemon/container-runtime.js +13 -0
- package/dist/heart/daemon/container-spec-auditor-main.js +11 -7
- package/dist/heart/daemon/container-spec-auditor.js +38 -11
- package/dist/heart/daemon/daemon-entry.js +19 -5
- package/dist/heart/daemon/daemon.js +154 -22
- package/dist/heart/daemon/sanctuary-acceptance-adapter.js +151 -87
- package/dist/heart/daemon/sanctuary-acceptance-harness.js +26 -29
- package/dist/heart/daemon/sanctuary-acceptance-scenarios.js +42 -51
- package/dist/heart/daemon/sanctuary-bundle-migration.js +398 -0
- package/dist/heart/daemon/sanctuary-scheduler-origin.js +11 -5
- package/dist/heart/daemon/supercronic-supervisor.js +16 -1
- package/dist/heart/external-events/router.js +1025 -43
- package/dist/heart/provider-models.js +10 -3
- package/dist/heart/session-events.js +23 -5
- package/dist/heart/steward-policy.js +302 -0
- package/dist/heart/tool-approval.js +3 -1
- package/dist/heart/turn-context.js +1 -0
- package/dist/mind/context.js +8 -3
- package/dist/mind/pending.js +25 -0
- package/dist/mind/prompt.js +49 -1
- package/dist/repertoire/guardrails.js +2 -1
- package/dist/repertoire/relationship-authorization.js +194 -0
- package/dist/repertoire/tools-awaiting.js +229 -26
- package/dist/repertoire/tools-base.js +15 -0
- package/dist/repertoire/tools-continuity.js +259 -4
- package/dist/repertoire/tools-notes.js +29 -3
- package/dist/repertoire/tools-session.js +219 -4
- package/dist/repertoire/tools-steward-policy.js +88 -0
- package/dist/repertoire/tools-telegram-contacts.js +37 -0
- package/dist/repertoire/tools-unraid.js +113 -6
- package/dist/repertoire/tools.js +104 -9
- package/dist/repertoire/unraid-restart.js +86 -4
- package/dist/senses/private-runtime-worker.js +36 -3
- package/dist/senses/private-runtime.js +310 -63
- package/dist/senses/sanctuary-health-acceptance-probe.js +8 -6
- package/dist/senses/sanctuary-health-runner.js +51 -96
- package/dist/senses/sanctuary-health.js +54 -93
- package/dist/senses/sanctuary-runtime.js +36 -2
- package/dist/senses/sanctuary-sab.js +80 -0
- package/dist/senses/shared-turn.js +64 -9
- package/dist/senses/telegram-admission.js +684 -0
- package/dist/senses/telegram-approval-runtime.js +46 -6
- package/dist/senses/telegram-client.js +236 -72
- package/dist/senses/telegram-effect-adapter.js +787 -0
- package/dist/senses/telegram-entry.js +4 -1
- package/dist/senses/telegram.js +728 -48
- package/npm-shrinkwrap.json +6 -6
- package/package.json +2 -2
package/changelog.json
CHANGED
|
@@ -1,6 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_note": "This changelog is maintained as part of the PR/version-bump workflow. Agent-curated, not auto-generated. Agents read this file directly via read_file to understand what changed between versions.",
|
|
3
3
|
"versions": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.1.0-alpha.743",
|
|
6
|
+
"changes": [
|
|
7
|
+
"Turn Sanctuary system evidence into one deduplicated, agent-owned care loop with durable snoozes, reminders, and resolution.",
|
|
8
|
+
"Add family-safe Telegram admission, relationship-scoped privacy and authority, approval, revocation, and friendly household UX.",
|
|
9
|
+
"Publish Mendelow Cloud Butler as a non-root multi-architecture Unraid Community Apps container with read-only privileged event ingress, provenance, and an SBOM.",
|
|
10
|
+
"Harden exact-image Unraid updates and privileged event ingestion with package-derived deployment staging, transactional guard installation, canonical boot verification, bounded spool recovery, and fail-closed integrity checks.",
|
|
11
|
+
"Keep live Sanctuary upgrades aligned with the packaged Butler contract through an idempotent package-managed persona, tools, habits, and metadata migration with exact non-recursive cleanup, a digest-verified crash-durable rollback journal bound to exact old and target images, and no package-carried action authority.",
|
|
12
|
+
"Recover package-managed upgrades across every old-container rename, start, and autostart kill boundary by accepting only an exact, unambiguous old-image production topology before idempotently completing rollback.",
|
|
13
|
+
"Treat missing credentials, transport failures, HTTP or API rejection, malformed JSON, and schema drift as redacted indeterminate Usenet health evidence for the existing agent-owned incident loop while keeping SAB credentials out of process arguments and repeated classified observations quiet.",
|
|
14
|
+
"Adopt the exact unmarked legacy Usenet cron entry without duplicate guard runs, and preserve credential-censored host scripts, boot hooks, cron state, image labels, and package provenance in a verified transactional backup and restore path.",
|
|
15
|
+
"Keep durable host snapshots credential-free by storing only Butler-owned boot and cron fragments, preserving unrelated live content during transactional restore, and rejecting common header, CLI, URL, private-key, JSON, YAML, and Telegram secret forms in owned assets.",
|
|
16
|
+
"Restrict host restore to four exact canonical Butler boot hooks, fail closed on indeterminate crontab reads, preserve similarly named third-party hooks, and attempt every rollback compensation before surfacing failure.",
|
|
17
|
+
"Keep installer transaction copies on private ephemeral storage, reserve temporary cron files against symlink races, recognize only the two exact Butler cron forms, and remove exact target-local residue on the next run after interruption.",
|
|
18
|
+
"Preserve similarly marked external cron jobs during install, restore, and boot activation while reserving every root-crontab working file inside a private transaction directory.",
|
|
19
|
+
"Keep the cross-platform coverage gate truthful by excluding the BlueBubbles ingress evidence file that contains only TypeScript declarations and no executable production code.",
|
|
20
|
+
"Verify boot-installed guard assets using Unraid's real VFAT ownership and mode semantics while retaining stricter staged-file permissions before installation.",
|
|
21
|
+
"Make the Butler signal-first and family-friendly with agent-owned issue triage, quiet unchanged evidence, canonical owner context, terminal request-bound household returns, owner-managed admission and revocation, learned preferences, full operational visibility, and a warm, wry voice.",
|
|
22
|
+
"Preserve owner, household, and external-event authority across scheduled awaits, terminally archive definitively stale bindings while preserving corrupt state for repair, and keep event snoozes on the existing exact-receipt disposition and router path without fabricating human obligations.",
|
|
23
|
+
"Verify real Sanctuary service, storage, download-queue, spend-guard, and recovery outcomes while keeping first-class Community Apps publication immutable, public, securely installed, and bound to the canonical ouro-butler container.",
|
|
24
|
+
"Bind every post-activation acceptance launch explicitly to the final production topology so staging defaults cannot inspect or drive the wrong container.",
|
|
25
|
+
"Publish the Community Apps listing under the Mendelow Cloud Butler name, label the alpha channel as beta, and place it in the Utilities category.",
|
|
26
|
+
"Align final Sanctuary acceptance with the live four-mount container, live relationship profiles, pending stranger quarantine and admission-card flow, and acceptance-only delivery probe without inventing dropped updates, family sessions, or a production daily digest.",
|
|
27
|
+
"Fail closed when admission acceptance lacks its production Telegram credential dependency, and cover missing identity, unresolved live-profile handlers, absent admission projections, and both quarantine branches at the release gate."
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"version": "0.1.0-alpha.742",
|
|
32
|
+
"changes": [
|
|
33
|
+
"Ship Sanctuary on the cost-effective MiniMax-M3 provider path after live vault readiness proved both outward and inner lanes, with optional Gemini no longer required for readiness.",
|
|
34
|
+
"Keep the packaged Unraid bundle on the same MiniMax-M3 lane the live Sanctuary vault uses.",
|
|
35
|
+
"Update the packaged Unraid readiness/adoption checks to require only the production MiniMax credential and live MiniMax lane checks before cutover.",
|
|
36
|
+
"Accept Supercronic's real shell-mediated cron process tree while preserving authenticated Sanctuary scheduler provenance.",
|
|
37
|
+
"Refresh machine-scoped runtime credentials before the Sanctuary health habit creates typed Unraid tools.",
|
|
38
|
+
"Create the Sanctuary health state directory before taking the first health sweep lease.",
|
|
39
|
+
"Retry cached Sanctuary health Telegram deliveries from the durable outbox after an indeterminate send and pin the Unraid template DNS resolver for Node-based Telegram egress.",
|
|
40
|
+
"Sequence same-provider Flash acceptance probes to avoid provider-side rate-limit flakiness while preserving exact provider/model attempt binding.",
|
|
41
|
+
"Treat settled Telegram turns that are safely waiting for new input as healthy context-loss state instead of relatching the Sentinel as blocked.",
|
|
42
|
+
"Validate the live container process tree for agent, Telegram, and Supercronic health instead of failing on a stale child PID in daemon-health.json.",
|
|
43
|
+
"Accept Supercronic's real shell-mediated cron ancestry when authenticating Sanctuary health scheduler fires."
|
|
44
|
+
]
|
|
45
|
+
},
|
|
4
46
|
{
|
|
5
47
|
"version": "0.1.0-alpha.741",
|
|
6
48
|
"changes": [
|
package/deploy/unraid/Dockerfile
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
FROM node:22-bookworm-slim
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
LABEL org.opencontainers.image.source="https://github.com/ourostack/ouroboros"
|
|
4
|
+
|
|
5
|
+
ARG TARGETARCH
|
|
6
|
+
ARG SUPERCRONIC_AMD64_SHA256=5adff01c5a797663948e656d2b61d10932369ee437eb5cb54fa872b2960f222b
|
|
7
|
+
ARG SUPERCRONIC_ARM64_SHA256=c0576a8eb092e3f79108ed0a2155a25c7766af78456e5a6070e54757ef513bfe
|
|
4
8
|
RUN apt-get update \
|
|
5
9
|
&& apt-get install -y --no-install-recommends ca-certificates curl procps python3 make g++ \
|
|
6
10
|
&& rm -rf /var/lib/apt/lists/* \
|
|
7
|
-
&&
|
|
11
|
+
&& case "$TARGETARCH" in amd64) SUPERCRONIC_SHA256="$SUPERCRONIC_AMD64_SHA256" ;; arm64) SUPERCRONIC_SHA256="$SUPERCRONIC_ARM64_SHA256" ;; *) echo "unsupported architecture: $TARGETARCH" >&2; exit 1 ;; esac \
|
|
12
|
+
&& curl -fsSLo /usr/local/bin/supercronic "https://github.com/aptible/supercronic/releases/download/v0.2.46/supercronic-linux-${TARGETARCH}" \
|
|
8
13
|
&& echo "${SUPERCRONIC_SHA256} /usr/local/bin/supercronic" | sha256sum -c - \
|
|
9
14
|
&& chmod 0755 /usr/local/bin/supercronic \
|
|
10
15
|
&& groupadd --gid 10001 ouro \
|