@ouro.bot/cli 0.1.0-alpha.829 → 0.1.0-alpha.830
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
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
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.830",
|
|
6
|
+
"changes": [
|
|
7
|
+
"Persist authority vault writes (remove-resident-token, rollback restore-token-cursor) by binding the real bitwarden store writable in the fence, not a throwaway tmpfs copy; reads still use the copy. Fixes the install stranding after transfer-cursor."
|
|
8
|
+
]
|
|
9
|
+
},
|
|
4
10
|
{
|
|
5
11
|
"version": "0.1.0-alpha.829",
|
|
6
12
|
"changes": [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0"?>
|
|
2
2
|
<Container version="2">
|
|
3
3
|
<Name>ouro-butler</Name>
|
|
4
|
-
<Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.
|
|
4
|
+
<Repository>ghcr.io/ourostack/ouroboros-butler:0.1.0-alpha.830</Repository>
|
|
5
5
|
<Registry>https://github.com/ourostack/ouroboros/pkgs/container/ouroboros-butler</Registry>
|
|
6
6
|
<Network>host</Network>
|
|
7
7
|
<Shell>sh</Shell>
|
|
@@ -736,25 +736,38 @@ class SanctuaryAuthorityRootLifecycle {
|
|
|
736
736
|
// resident credential store is owned by the resident uid (10001), so a bare
|
|
737
737
|
// cap-dropped root cannot even read it (EACCES on agent.json → surfaces as
|
|
738
738
|
// "vault owner unavailable"). CAP_DAC_OVERRIDE is restored — the single
|
|
739
|
-
// capability needed to
|
|
740
|
-
//
|
|
741
|
-
//
|
|
742
|
-
//
|
|
743
|
-
//
|
|
744
|
-
//
|
|
739
|
+
// capability needed to reach the resident's files, nothing broader.
|
|
740
|
+
//
|
|
741
|
+
// bitwarden cannot unlock (or sync) a store it cannot write to, so the store
|
|
742
|
+
// dir must be writable inside the fence. The two verbs split by intent:
|
|
743
|
+
// • snapshot / presence are READS: the read-only store is copied into a
|
|
744
|
+
// throwaway tmpfs, so the fence never mutates resident state.
|
|
745
|
+
// • remove / restore are WRITES whose whole purpose is to change the vault
|
|
746
|
+
// (remove-resident-token, rollback restore-token-cursor). They bind the
|
|
747
|
+
// real ${RUNTIME}/bitwarden writable (rw over the read-only .ouro-cli),
|
|
748
|
+
// so the edit — and bitwarden's own sync-on-unlock — persists. Copying to
|
|
749
|
+
// tmpfs here would silently discard the write and fail the step's readback.
|
|
750
|
+
// `operation` is one of the four fixed literals validated by the CLI.
|
|
745
751
|
const cli = "/opt/ouro/dist/heart/daemon/sanctuary-authority-root-lifecycle.js";
|
|
752
|
+
const persists = operation === "remove" || operation === "restore";
|
|
753
|
+
const bitwarden = persists
|
|
754
|
+
? ["--mount", `type=bind,src=${RUNTIME}/bitwarden,dst=/home/ouro/.ouro-cli/bitwarden`]
|
|
755
|
+
: [
|
|
756
|
+
"--mount", `type=bind,src=${RUNTIME}/bitwarden,dst=/home/ouro/.bw-src,readonly`,
|
|
757
|
+
"--tmpfs", "/home/ouro/.ouro-cli/bitwarden:rw,nosuid,nodev,noexec,mode=0700",
|
|
758
|
+
];
|
|
759
|
+
const prepare = persists ? "" : "cp -r /home/ouro/.bw-src/. /home/ouro/.ouro-cli/bitwarden/ && ";
|
|
746
760
|
return JSON.parse(this.#docker([
|
|
747
761
|
"run", "--rm", "-i", "--pull=never", "--network", "host", "--user", "0:0", "--read-only",
|
|
748
762
|
"--cap-drop=ALL", "--cap-add=DAC_OVERRIDE", "--security-opt=no-new-privileges", "--entrypoint", "/bin/sh",
|
|
749
763
|
"--mount", `type=bind,src=${RUNTIME},dst=/home/ouro/.ouro-cli,readonly`,
|
|
750
|
-
|
|
764
|
+
...bitwarden,
|
|
751
765
|
"--mount", `type=bind,src=${BUNDLE},dst=/home/ouro/AgentBundles/sanctuary.ouro,readonly`,
|
|
752
|
-
"--tmpfs", "/home/ouro/.ouro-cli/bitwarden:rw,nosuid,nodev,noexec,mode=0700",
|
|
753
766
|
"--tmpfs", "/home/ouro/.config:rw,nosuid,nodev,noexec,mode=0700",
|
|
754
767
|
"--tmpfs", "/tmp:rw,nosuid,nodev,noexec,mode=0700",
|
|
755
768
|
"--env", `OURO_AUTHORITY_REMOVE_INTERLOCK=${this.#request.epochId}`,
|
|
756
769
|
this.#transaction.targetImageId, "-c",
|
|
757
|
-
|
|
770
|
+
`${prepare}exec /usr/local/bin/node ${cli} vault ${operation}`,
|
|
758
771
|
], input === undefined ? undefined : JSON.stringify(input)));
|
|
759
772
|
}
|
|
760
773
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ouro.bot/cli",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.830",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@ouro.bot/cli",
|
|
9
|
-
"version": "0.1.0-alpha.
|
|
9
|
+
"version": "0.1.0-alpha.830",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.78.0",
|
|
12
12
|
"@azure/identity": "^4.13.0",
|