@haaaiawd/second-nature 0.2.7 → 0.2.8
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/index.js +9 -0
- package/openclaw.plugin.json +2 -2
- package/package.json +1 -1
- package/runtime/cli/ops/heartbeat-surface.js +1 -0
package/index.js
CHANGED
|
@@ -108,6 +108,8 @@ const WORKSPACE_BRIDGE_COMMANDS = new Set([
|
|
|
108
108
|
"connector_test",
|
|
109
109
|
"connector_behavior_add",
|
|
110
110
|
"cycle:recent",
|
|
111
|
+
// v8 ops surface (T-ROS.C.1): causal loop health must be reachable from Claw.
|
|
112
|
+
"loop_status",
|
|
111
113
|
// v7 ops surface (T-ROS.C.1 / T-ROS.C.2 / T-ROS.C.3 / T-V7C.C.5): self_health, tool_affordance,
|
|
112
114
|
// heartbeat_digest, snapshot:capture, narrative:diff, timeline, restore, runtime_secret_bootstrap,
|
|
113
115
|
// connector:run, guidance_payload
|
|
@@ -877,6 +879,11 @@ function createHostSafeRouter(spine) {
|
|
|
877
879
|
description: "Show recent cycle summary (workspace runtime required)",
|
|
878
880
|
execute: async () => createUnavailableActionError("HOST_SAFE_CYCLE_RECENT_UNAVAILABLE", "Cycle recent read requires workspace observability database; host-safe plugin does not load persisted audit events.", [], "run_workspace_second_nature_cli_or_full_runtime_package"),
|
|
879
881
|
},
|
|
882
|
+
{
|
|
883
|
+
name: "loop_status",
|
|
884
|
+
description: "Show v8 causal loop health (workspace runtime required)",
|
|
885
|
+
execute: async () => createUnavailableActionError("HOST_SAFE_LOOP_STATUS_UNAVAILABLE", "loop_status requires workspace state database; provide workspaceRoot so the full workspace bridge can read persisted v8 loop state.", ["workspaceRoot"], "reinvoke_with_workspaceRoot_or_set_SECOND_NATURE_WORKSPACE_ROOT"),
|
|
886
|
+
},
|
|
880
887
|
];
|
|
881
888
|
return {
|
|
882
889
|
commands,
|
|
@@ -1088,6 +1095,8 @@ function parseCommandInput(rawArgs) {
|
|
|
1088
1095
|
command,
|
|
1089
1096
|
input: rest[0] ? { limit: Number(rest[0]) } : undefined,
|
|
1090
1097
|
};
|
|
1098
|
+
case "loop_status":
|
|
1099
|
+
return { ok: true, command, input: undefined };
|
|
1091
1100
|
// v7 ops surface (T-ROS.C.2)
|
|
1092
1101
|
case "self_health":
|
|
1093
1102
|
return { ok: true, command, input: undefined };
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "second-nature",
|
|
3
3
|
"name": "Second Nature",
|
|
4
|
-
"version": "0.2.
|
|
5
|
-
"description": "OpenClaw native plugin with synchronous surface registration and bundled runtime spine. Set SECOND_NATURE_WORKSPACE_ROOT or tool workspaceRoot to the same path as the agent workspace. Agent inner guide is packaged as agent-inner-guide.md.
|
|
4
|
+
"version": "0.2.8",
|
|
5
|
+
"description": "OpenClaw native plugin with synchronous surface registration and bundled runtime spine. Set SECOND_NATURE_WORKSPACE_ROOT or tool workspaceRoot to the same path as the agent workspace. Agent inner guide is packaged as agent-inner-guide.md. Ops surface: loop_status, self_health, tool_affordance, heartbeat_digest, snapshot:capture, narrative:diff, timeline, restore, runtime_secret_bootstrap, connector:run, guidance_payload.",
|
|
6
6
|
"activation": {
|
|
7
7
|
"onStartup": true,
|
|
8
8
|
"onCapabilities": [
|
package/package.json
CHANGED
|
@@ -112,6 +112,7 @@ export async function heartbeatCheck(input) {
|
|
|
112
112
|
else {
|
|
113
113
|
const spine = v8Result;
|
|
114
114
|
surfaceResult.v8Spine = spine;
|
|
115
|
+
surfaceResult.livedExperienceLoopClaimed = Boolean(spine.cycleId && (spine.closureRef || spine.noActionReason));
|
|
115
116
|
surfaceResult.reasons = [
|
|
116
117
|
...surfaceResult.reasons,
|
|
117
118
|
`v8_spine_cycle:${spine.cycleId}`,
|