@ouro.bot/cli 0.1.0-alpha.732 → 0.1.0-alpha.734

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 (96) hide show
  1. package/README.md +1 -1
  2. package/changelog.json +34 -0
  3. package/deploy/unraid/Dockerfile +27 -0
  4. package/deploy/unraid/README.txt +1368 -0
  5. package/deploy/unraid/audit-container-spec.sh +4 -0
  6. package/deploy/unraid/container-runtime.json +1 -0
  7. package/deploy/unraid/sanctuary-acceptance-adapter.sh +37 -0
  8. package/deploy/unraid/sanctuary-acceptance-contract.json +200 -0
  9. package/deploy/unraid/sanctuary-acceptance-harness.sh +23 -0
  10. package/deploy/unraid/sanctuary-deployment-target.mjs +705 -0
  11. package/deploy/unraid/sanctuary-safe-rename.py +24 -0
  12. package/deploy/unraid/sanctuary-unit16-host-broker.mjs +1777 -0
  13. package/deploy/unraid/sanctuary-unit16-run.sh +502 -0
  14. package/deploy/unraid/sanctuary-unit18-target-audit.sh +27 -0
  15. package/deploy/unraid/sanctuary.ouro/agent.json +24 -0
  16. package/deploy/unraid/sanctuary.ouro/arc/README.md +3 -0
  17. package/deploy/unraid/sanctuary.ouro/bundle-meta.json +5 -0
  18. package/deploy/unraid/sanctuary.ouro/habits/sanctuary-health.md +8 -0
  19. package/deploy/unraid/sanctuary.ouro/provider-readiness.json +18 -0
  20. package/deploy/unraid/sanctuary.ouro/psyche/ASPIRATIONS.md +3 -0
  21. package/deploy/unraid/sanctuary.ouro/psyche/IDENTITY.md +3 -0
  22. package/deploy/unraid/sanctuary.ouro/psyche/LORE.md +3 -0
  23. package/deploy/unraid/sanctuary.ouro/psyche/SOUL.md +5 -0
  24. package/deploy/unraid/sanctuary.ouro/psyche/TACIT.md +7 -0
  25. package/deploy/unraid/sanctuary.ouro/tool-profiles.json +21 -0
  26. package/deploy/unraid/sanctuary.xml +25 -0
  27. package/dist/heart/approval-files.js +113 -0
  28. package/dist/heart/approval-store.js +168 -9
  29. package/dist/heart/auth/auth-flow.js +17 -1
  30. package/dist/heart/autonomy-budget.js +44 -1
  31. package/dist/heart/awaiting/await-scheduler.js +6 -2
  32. package/dist/heart/config.js +8 -0
  33. package/dist/heart/core.js +117 -132
  34. package/dist/heart/daemon/cli-exec.js +74 -2
  35. package/dist/heart/daemon/cli-help.js +6 -1
  36. package/dist/heart/daemon/cli-parse.js +6 -4
  37. package/dist/heart/daemon/container-credential-bootstrap.js +185 -0
  38. package/dist/heart/daemon/container-healthcheck.js +94 -0
  39. package/dist/heart/daemon/container-runtime.js +84 -0
  40. package/dist/heart/daemon/container-spec-auditor-main.js +156 -0
  41. package/dist/heart/daemon/container-spec-auditor.js +156 -0
  42. package/dist/heart/daemon/daemon-bootstrap-startup.js +41 -0
  43. package/dist/heart/daemon/daemon-entry.js +116 -28
  44. package/dist/heart/daemon/daemon-health.js +10 -0
  45. package/dist/heart/daemon/daemon.js +92 -5
  46. package/dist/heart/daemon/doctor.js +56 -7
  47. package/dist/heart/daemon/runtime-logging.js +6 -0
  48. package/dist/heart/daemon/runtime-mode.js +13 -2
  49. package/dist/heart/daemon/sanctuary-acceptance-adapter.js +2365 -0
  50. package/dist/heart/daemon/sanctuary-acceptance-harness.js +1624 -0
  51. package/dist/heart/daemon/sanctuary-acceptance-marker.js +267 -0
  52. package/dist/heart/daemon/sanctuary-acceptance-scenarios.js +985 -0
  53. package/dist/heart/daemon/sanctuary-scheduler-liveness.js +227 -0
  54. package/dist/heart/daemon/sanctuary-scheduler-origin.js +126 -0
  55. package/dist/heart/daemon/sense-manager.js +25 -6
  56. package/dist/heart/daemon/supercronic-supervisor.js +267 -0
  57. package/dist/heart/habits/habit-scheduler.js +7 -3
  58. package/dist/heart/identity.js +13 -3
  59. package/dist/heart/provider-credentials.js +9 -1
  60. package/dist/heart/provider-models.js +8 -0
  61. package/dist/heart/provider-ping.js +5 -2
  62. package/dist/heart/providers/openai-compatible.js +177 -0
  63. package/dist/heart/runtime-credentials.js +217 -8
  64. package/dist/heart/sense-truth.js +2 -0
  65. package/dist/heart/tool-approval.js +1 -0
  66. package/dist/heart/turn-context.js +8 -0
  67. package/dist/mailroom/blob-store.js +97 -19
  68. package/dist/mailroom/cache-sync-cli.js +5 -1
  69. package/dist/mailroom/core.js +23 -8
  70. package/dist/mailroom/hosted-cache-sync.js +179 -44
  71. package/dist/mailroom/search-cache.js +109 -0
  72. package/dist/mind/prompt.js +9 -0
  73. package/dist/nerves/coverage/source-scanner.js +4 -4
  74. package/dist/nerves/index.js +75 -9
  75. package/dist/nerves/runtime.js +12 -0
  76. package/dist/repertoire/tool-arguments.js +39 -0
  77. package/dist/repertoire/tools-unraid.js +353 -0
  78. package/dist/repertoire/tools.js +19 -1
  79. package/dist/repertoire/unraid-client.js +155 -0
  80. package/dist/repertoire/unraid-restart.js +130 -0
  81. package/dist/senses/private-runtime-worker.js +3 -2
  82. package/dist/senses/sanctuary-grounding.js +118 -0
  83. package/dist/senses/sanctuary-health-acceptance-probe-entry.js +12 -0
  84. package/dist/senses/sanctuary-health-acceptance-probe.js +772 -0
  85. package/dist/senses/sanctuary-health-runner.js +146 -0
  86. package/dist/senses/sanctuary-health.js +447 -0
  87. package/dist/senses/sanctuary-interactive-control.js +306 -0
  88. package/dist/senses/sanctuary-runtime.js +206 -0
  89. package/dist/senses/shared-turn.js +11 -3
  90. package/dist/senses/telegram-approval-runtime.js +526 -0
  91. package/dist/senses/telegram-audit-ledger.js +220 -0
  92. package/dist/senses/telegram-client.js +1471 -0
  93. package/dist/senses/telegram-entry.js +80 -0
  94. package/dist/senses/telegram.js +1232 -0
  95. package/npm-shrinkwrap.json +6558 -0
  96. package/package.json +4 -2
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/python3
2
+ """Rename one bound inode between inherited directory descriptors."""
3
+
4
+ import os
5
+ import sys
6
+
7
+
8
+ if len(sys.argv) != 5:
9
+ raise RuntimeError("usage: sanctuary-safe-rename <source-name> <destination-name> <device> <inode>")
10
+
11
+ source_name, destination_name, expected_device, expected_inode = sys.argv[1:]
12
+ for value in (source_name, destination_name):
13
+ if not value or value in (".", "..") or os.path.basename(value) != value or "/" in value or "\x00" in value:
14
+ raise RuntimeError("rename coordinates must be basenames")
15
+
16
+ expected = (int(expected_device), int(expected_inode))
17
+ before = os.stat(source_name, dir_fd=3, follow_symlinks=False)
18
+ if (before.st_dev, before.st_ino) != expected:
19
+ raise RuntimeError("source inode changed before bound rename")
20
+
21
+ os.rename(source_name, destination_name, src_dir_fd=3, dst_dir_fd=4)
22
+ after = os.stat(destination_name, dir_fd=4, follow_symlinks=False)
23
+ if (after.st_dev, after.st_ino) != expected:
24
+ raise RuntimeError("source inode changed during bound rename")