@haaaiawd/second-nature 0.1.42 → 0.1.50

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 (967) hide show
  1. package/HEARTBEAT.md +44 -0
  2. package/LICENSE +176 -0
  3. package/README.md +136 -0
  4. package/README.zh-CN.md +120 -0
  5. package/SKILL.md +320 -22
  6. package/dist/data/observability.db +0 -0
  7. package/dist/data/state.db +0 -0
  8. package/dist/plugin/index.d.ts +31 -0
  9. package/dist/plugin/workspace-ops-bridge.d.ts +15 -0
  10. package/dist/scripts/build-plugin-package.d.ts +12 -0
  11. package/dist/scripts/build-plugin-package.js +220 -0
  12. package/dist/scripts/build-plugin-runtime.d.ts +10 -0
  13. package/dist/scripts/build-plugin-runtime.js +198 -0
  14. package/dist/scripts/packaging-feasibility-poc.js +127 -0
  15. package/dist/scripts/plugin-smoke-check.js +124 -0
  16. package/dist/src/cli/action-bridge.d.ts +11 -0
  17. package/dist/src/cli/index.d.ts +65 -0
  18. package/dist/src/cli/ops/heartbeat-surface.d.ts +84 -0
  19. package/dist/src/cli/ops/heartbeat-surface.js +100 -0
  20. package/dist/src/cli/ops/ops-router.js +1482 -0
  21. package/dist/src/cli/ops/workspace-heartbeat-runner.d.ts +85 -0
  22. package/dist/src/cli/ops/workspace-heartbeat-runner.js +242 -0
  23. package/dist/src/connectors/base/contract.d.ts +111 -0
  24. package/dist/src/connectors/base/failure-taxonomy.d.ts +13 -0
  25. package/dist/src/connectors/base/failure-taxonomy.js +186 -0
  26. package/dist/src/connectors/base/map-life-evidence.js +137 -0
  27. package/dist/src/connectors/base/policy-layer.js +202 -0
  28. package/dist/src/connectors/manifest/manifest-schema.d.ts +152 -0
  29. package/dist/src/connectors/manifest/manifest-schema.js +54 -0
  30. package/dist/src/connectors/services/connector-executor-adapter.d.ts +20 -0
  31. package/dist/src/connectors/services/connector-executor-adapter.js +645 -0
  32. package/dist/src/core/second-nature/heartbeat/goal-lifecycle-policy.d.ts +24 -0
  33. package/dist/src/core/second-nature/heartbeat/goal-lifecycle-policy.js +61 -0
  34. package/dist/src/core/second-nature/heartbeat/heartbeat-loop.d.ts +97 -0
  35. package/dist/src/core/second-nature/heartbeat/heartbeat-loop.js +397 -0
  36. package/dist/src/core/second-nature/orchestrator/platform-capability-router.js +149 -0
  37. package/dist/src/storage/snapshots/types.js +1 -0
  38. package/dist/src/storage/user-interest/types.js +1 -0
  39. package/dist/tests/integration/cli/cli-ops-surface.test.d.ts +1 -0
  40. package/dist/tests/integration/cli/cli-ops-surface.test.js +380 -0
  41. package/dist/tests/integration/cli/heartbeat-surface-workspace.test.d.ts +1 -0
  42. package/dist/tests/integration/cli/heartbeat-surface-workspace.test.js +61 -0
  43. package/dist/tests/integration/cli/host-capability-probe.test.d.ts +1 -0
  44. package/dist/tests/integration/cli/host-capability-probe.test.js +37 -0
  45. package/dist/tests/integration/cli/host-smoke-heartbeat-tool.test.d.ts +1 -0
  46. package/dist/tests/integration/cli/host-smoke-heartbeat-tool.test.js +34 -0
  47. package/dist/tests/integration/cli/plugin-packaging-walkthrough.test.d.ts +1 -0
  48. package/dist/tests/integration/cli/plugin-packaging-walkthrough.test.js +79 -0
  49. package/dist/tests/integration/cli/plugin-runtime-registration.test.d.ts +1 -0
  50. package/dist/tests/integration/cli/plugin-runtime-registration.test.js +285 -0
  51. package/dist/tests/integration/cli/plugin-workspace-ops-bridge.test.d.ts +1 -0
  52. package/dist/tests/integration/cli/plugin-workspace-ops-bridge.test.js +487 -0
  53. package/dist/tests/integration/cli/t1-2-1-explain-read-models.test.d.ts +1 -0
  54. package/dist/tests/integration/cli/t1-2-1-explain-read-models.test.js +58 -0
  55. package/dist/tests/integration/cli/t1-2-1-narrative-command.test.d.ts +1 -0
  56. package/dist/tests/integration/cli/t1-2-1-narrative-command.test.js +194 -0
  57. package/dist/tests/integration/cli/t1-2-2-dream-recent.test.d.ts +1 -0
  58. package/dist/tests/integration/cli/t1-2-2-dream-recent.test.js +100 -0
  59. package/dist/tests/integration/cli/t1-2-3-status-observability-writeback.test.d.ts +1 -0
  60. package/dist/tests/integration/cli/t1-2-3-status-observability-writeback.test.js +71 -0
  61. package/dist/tests/integration/cli/t1-2-4-quiet-report-read-canonical.test.d.ts +1 -0
  62. package/dist/tests/integration/cli/t1-2-4-quiet-report-read-canonical.test.js +206 -0
  63. package/dist/tests/integration/cli/t1-2-5-cycle-recent.test.d.ts +1 -0
  64. package/dist/tests/integration/cli/t1-2-5-cycle-recent.test.js +156 -0
  65. package/dist/tests/integration/cli/t1-2-5-status-delivery-posture-audit-store.test.d.ts +1 -0
  66. package/dist/tests/integration/cli/t1-2-5-status-delivery-posture-audit-store.test.js +95 -0
  67. package/dist/tests/integration/cli/t1-2-6-policy-show-non-shell.test.d.ts +1 -0
  68. package/dist/tests/integration/cli/t1-2-6-policy-show-non-shell.test.js +74 -0
  69. package/dist/tests/integration/cli/t1-2-6-status-aggregate.test.d.ts +1 -0
  70. package/dist/tests/integration/cli/t1-2-6-status-aggregate.test.js +223 -0
  71. package/dist/tests/integration/cli/t1-2-7-audit-command-minimal-closure.test.d.ts +1 -0
  72. package/dist/tests/integration/cli/t1-2-7-audit-command-minimal-closure.test.js +101 -0
  73. package/dist/tests/integration/cli/t1-2-8-capability-probe-ops-surface.test.d.ts +1 -0
  74. package/dist/tests/integration/cli/t1-2-8-capability-probe-ops-surface.test.js +74 -0
  75. package/dist/tests/integration/cli/t1-2-9-decision-denied-not-degraded.test.d.ts +1 -0
  76. package/dist/tests/integration/cli/t1-2-9-decision-denied-not-degraded.test.js +79 -0
  77. package/dist/tests/integration/cli/t1-4-1-runtime-secret-bootstrap.test.d.ts +1 -0
  78. package/dist/tests/integration/cli/t1-4-1-runtime-secret-bootstrap.test.js +139 -0
  79. package/dist/tests/integration/cli/t1-4-2-activation-ux-contract.test.d.ts +1 -0
  80. package/dist/tests/integration/cli/t1-4-2-activation-ux-contract.test.js +143 -0
  81. package/dist/tests/integration/cli/t2-2-2-snapshot-life-evidence.test.d.ts +1 -0
  82. package/dist/tests/integration/cli/t2-2-2-snapshot-life-evidence.test.js +116 -0
  83. package/dist/tests/integration/cli/t3-3-2-near-real-smoke-cli-bridge.test.d.ts +1 -0
  84. package/dist/tests/integration/cli/t3-3-2-near-real-smoke-cli-bridge.test.js +69 -0
  85. package/dist/tests/integration/connectors/connector-base.test.d.ts +1 -0
  86. package/dist/tests/integration/connectors/connector-base.test.js +211 -0
  87. package/dist/tests/integration/connectors/connector-executor-adapter-honest-failure.test.d.ts +1 -0
  88. package/dist/tests/integration/connectors/connector-executor-adapter-honest-failure.test.js +311 -0
  89. package/dist/tests/integration/connectors/credential-optional-regression.test.d.ts +1 -0
  90. package/dist/tests/integration/connectors/credential-optional-regression.test.js +117 -0
  91. package/dist/tests/integration/connectors/declarative-http-runner.test.d.ts +7 -0
  92. package/dist/tests/integration/connectors/declarative-http-runner.test.js +229 -0
  93. package/dist/tests/integration/connectors/evomap-secret-port.test.d.ts +1 -0
  94. package/dist/tests/integration/connectors/evomap-secret-port.test.js +83 -0
  95. package/dist/tests/integration/connectors/life-evidence-chain.test.d.ts +1 -0
  96. package/dist/tests/integration/connectors/life-evidence-chain.test.js +188 -0
  97. package/dist/tests/integration/connectors/moltbook-client.test.d.ts +1 -0
  98. package/dist/tests/integration/connectors/moltbook-client.test.js +274 -0
  99. package/dist/tests/integration/connectors/moltbook-mock-runner.test.d.ts +7 -0
  100. package/dist/tests/integration/connectors/moltbook-mock-runner.test.js +108 -0
  101. package/dist/tests/integration/connectors/near-real-connector-smoke.test.d.ts +1 -0
  102. package/dist/tests/integration/connectors/near-real-connector-smoke.test.js +38 -0
  103. package/dist/tests/integration/connectors/platform-adapters.test.d.ts +1 -0
  104. package/dist/tests/integration/connectors/platform-adapters.test.js +189 -0
  105. package/dist/tests/integration/connectors/policy-layer.test.d.ts +1 -0
  106. package/dist/tests/integration/connectors/policy-layer.test.js +249 -0
  107. package/dist/tests/integration/connectors/scriptable-node-e2e.test.d.ts +1 -0
  108. package/dist/tests/integration/connectors/scriptable-node-e2e.test.js +228 -0
  109. package/dist/tests/integration/connectors/t3-3-1-real-connector-evidence.test.d.ts +1 -0
  110. package/dist/tests/integration/connectors/t3-3-1-real-connector-evidence.test.js +171 -0
  111. package/dist/tests/integration/control-plane/_helpers/decision-cycle-harness.d.ts +40 -0
  112. package/dist/tests/integration/control-plane/_helpers/decision-cycle-harness.js +116 -0
  113. package/dist/tests/integration/control-plane/decision-loop-validation.test.d.ts +1 -0
  114. package/dist/tests/integration/control-plane/decision-loop-validation.test.js +319 -0
  115. package/dist/tests/integration/control-plane/delivery-failed-fallback.test.d.ts +1 -0
  116. package/dist/tests/integration/control-plane/delivery-failed-fallback.test.js +118 -0
  117. package/dist/tests/integration/control-plane/dream-projection-heartbeat.test.d.ts +1 -0
  118. package/dist/tests/integration/control-plane/dream-projection-heartbeat.test.js +109 -0
  119. package/dist/tests/integration/control-plane/effect-dispatcher.test.d.ts +1 -0
  120. package/dist/tests/integration/control-plane/effect-dispatcher.test.js +157 -0
  121. package/dist/tests/integration/control-plane/guidance-request.test.d.ts +1 -0
  122. package/dist/tests/integration/control-plane/guidance-request.test.js +63 -0
  123. package/dist/tests/integration/control-plane/heartbeat-executor.test.d.ts +1 -0
  124. package/dist/tests/integration/control-plane/heartbeat-executor.test.js +363 -0
  125. package/dist/tests/integration/control-plane/heartbeat-loop.test.d.ts +1 -0
  126. package/dist/tests/integration/control-plane/heartbeat-loop.test.js +190 -0
  127. package/dist/tests/integration/control-plane/heartbeat-quiet-orchestration.test.d.ts +1 -0
  128. package/dist/tests/integration/control-plane/heartbeat-quiet-orchestration.test.js +133 -0
  129. package/dist/tests/integration/control-plane/heartbeat-spine-integration.test.d.ts +1 -0
  130. package/dist/tests/integration/control-plane/heartbeat-spine-integration.test.js +342 -0
  131. package/dist/tests/integration/control-plane/heartbeat-spine.test.d.ts +1 -0
  132. package/dist/tests/integration/control-plane/heartbeat-spine.test.js +216 -0
  133. package/dist/tests/integration/control-plane/int-s3-outreach-delivery-quiet-closure.test.d.ts +1 -0
  134. package/dist/tests/integration/control-plane/int-s3-outreach-delivery-quiet-closure.test.js +241 -0
  135. package/dist/tests/integration/control-plane/outreach-resume.test.d.ts +1 -0
  136. package/dist/tests/integration/control-plane/outreach-resume.test.js +158 -0
  137. package/dist/tests/integration/control-plane/outreach-style.test.d.ts +1 -0
  138. package/dist/tests/integration/control-plane/outreach-style.test.js +46 -0
  139. package/dist/tests/integration/control-plane/quiet-reflection.test.d.ts +1 -0
  140. package/dist/tests/integration/control-plane/quiet-reflection.test.js +73 -0
  141. package/dist/tests/integration/control-plane/rhythm-intent-guard.test.d.ts +1 -0
  142. package/dist/tests/integration/control-plane/rhythm-intent-guard.test.js +99 -0
  143. package/dist/tests/integration/control-plane/run-heartbeat-cycle.test.d.ts +1 -0
  144. package/dist/tests/integration/control-plane/run-heartbeat-cycle.test.js +80 -0
  145. package/dist/tests/integration/control-plane/t2-3-1-outreach-v6.test.d.ts +1 -0
  146. package/dist/tests/integration/control-plane/t2-3-1-outreach-v6.test.js +208 -0
  147. package/dist/tests/integration/control-plane/t2-4-1-heartbeat-platform-intent.test.d.ts +1 -0
  148. package/dist/tests/integration/control-plane/t2-4-1-heartbeat-platform-intent.test.js +156 -0
  149. package/dist/tests/integration/control-plane/t2-4-2-source-backed-outreach-loop.test.d.ts +1 -0
  150. package/dist/tests/integration/control-plane/t2-4-2-source-backed-outreach-loop.test.js +188 -0
  151. package/dist/tests/integration/control-plane/v7c-evidence-body-feedback.test.d.ts +11 -0
  152. package/dist/tests/integration/control-plane/v7c-evidence-body-feedback.test.js +213 -0
  153. package/dist/tests/integration/control-plane/v7c-heartbeat-unlock-e2e.test.d.ts +9 -0
  154. package/dist/tests/integration/control-plane/v7c-heartbeat-unlock-e2e.test.js +134 -0
  155. package/dist/tests/integration/dream/quiet-dream-trigger.test.d.ts +1 -0
  156. package/dist/tests/integration/dream/quiet-dream-trigger.test.js +86 -0
  157. package/dist/tests/integration/dream/t7-1-1-dream-pipeline.test.d.ts +1 -0
  158. package/dist/tests/integration/dream/t7-1-1-dream-pipeline.test.js +378 -0
  159. package/dist/tests/integration/dream/t7-1-2-dream-scheduler.test.d.ts +1 -0
  160. package/dist/tests/integration/dream/t7-1-2-dream-scheduler.test.js +124 -0
  161. package/dist/tests/integration/dream/v7c-rhythm-loop.test.d.ts +10 -0
  162. package/dist/tests/integration/dream/v7c-rhythm-loop.test.js +185 -0
  163. package/dist/tests/integration/guidance/assembler-and-fallback.test.d.ts +1 -0
  164. package/dist/tests/integration/guidance/assembler-and-fallback.test.js +86 -0
  165. package/dist/tests/integration/guidance/outreach-draft-contract.test.d.ts +1 -0
  166. package/dist/tests/integration/guidance/outreach-draft-contract.test.js +106 -0
  167. package/dist/tests/integration/guidance/persona-selection.test.d.ts +1 -0
  168. package/dist/tests/integration/guidance/persona-selection.test.js +70 -0
  169. package/dist/tests/integration/guidance/template-review.test.d.ts +1 -0
  170. package/dist/tests/integration/guidance/template-review.test.js +26 -0
  171. package/dist/tests/integration/guidance/user-reply-continuity.test.d.ts +1 -0
  172. package/dist/tests/integration/guidance/user-reply-continuity.test.js +96 -0
  173. package/dist/tests/integration/guidance/v7c-guidance-chain.test.d.ts +1 -0
  174. package/dist/tests/integration/guidance/v7c-guidance-chain.test.js +190 -0
  175. package/dist/tests/integration/guidance/v7c-guidance-semantics.test.d.ts +1 -0
  176. package/dist/tests/integration/guidance/v7c-guidance-semantics.test.js +146 -0
  177. package/dist/tests/integration/observability/digest-delivery.test.d.ts +14 -0
  178. package/dist/tests/integration/observability/digest-delivery.test.js +160 -0
  179. package/dist/tests/integration/observability/evidence-query-engine.test.d.ts +1 -0
  180. package/dist/tests/integration/observability/evidence-query-engine.test.js +219 -0
  181. package/dist/tests/integration/observability/explain-query-export.test.d.ts +1 -0
  182. package/dist/tests/integration/observability/explain-query-export.test.js +92 -0
  183. package/dist/tests/integration/observability/guidance-audit.test.d.ts +1 -0
  184. package/dist/tests/integration/observability/guidance-audit.test.js +55 -0
  185. package/dist/tests/integration/observability/heartbeat-decision-record.test.d.ts +1 -0
  186. package/dist/tests/integration/observability/heartbeat-decision-record.test.js +223 -0
  187. package/dist/tests/integration/observability/heartbeat-narrative-trace.test.d.ts +1 -0
  188. package/dist/tests/integration/observability/heartbeat-narrative-trace.test.js +230 -0
  189. package/dist/tests/integration/observability/lived-experience-audit-chain.test.d.ts +1 -0
  190. package/dist/tests/integration/observability/lived-experience-audit-chain.test.js +43 -0
  191. package/dist/tests/integration/observability/observability-gates.test.d.ts +1 -0
  192. package/dist/tests/integration/observability/observability-gates.test.js +224 -0
  193. package/dist/tests/integration/observability/observability-retention-cleanup.test.d.ts +1 -0
  194. package/dist/tests/integration/observability/observability-retention-cleanup.test.js +94 -0
  195. package/dist/tests/integration/observability/observability-services.test.d.ts +1 -0
  196. package/dist/tests/integration/observability/observability-services.test.js +219 -0
  197. package/dist/tests/integration/observability/projections.test.d.ts +1 -0
  198. package/dist/tests/integration/observability/projections.test.js +36 -0
  199. package/dist/tests/integration/observability/t5-1-1-dream-trace-audit.test.d.ts +1 -0
  200. package/dist/tests/integration/observability/t5-1-1-dream-trace-audit.test.js +115 -0
  201. package/dist/tests/integration/plugin/plugin-registration.test.d.ts +16 -0
  202. package/dist/tests/integration/plugin/plugin-registration.test.js +151 -0
  203. package/dist/tests/integration/runtime-ops/commands.test.d.ts +16 -0
  204. package/dist/tests/integration/runtime-ops/commands.test.js +662 -0
  205. package/dist/tests/integration/s3-exit/int-s3-body-heartbeat.test.d.ts +15 -0
  206. package/dist/tests/integration/s3-exit/int-s3-body-heartbeat.test.js +462 -0
  207. package/dist/tests/integration/s5-exit/int-s5-observability.test.d.ts +17 -0
  208. package/dist/tests/integration/s5-exit/int-s5-observability.test.js +402 -0
  209. package/dist/tests/integration/state/t4-2-1-owner-reply-relationship-loop.test.d.ts +1 -0
  210. package/dist/tests/integration/state/t4-2-1-owner-reply-relationship-loop.test.js +132 -0
  211. package/dist/tests/integration/state/v7c-identity-goal-hygiene.test.d.ts +9 -0
  212. package/dist/tests/integration/state/v7c-identity-goal-hygiene.test.js +240 -0
  213. package/dist/tests/integration/storage/packaged-runtime-smoke.test.d.ts +1 -0
  214. package/dist/tests/integration/storage/packaged-runtime-smoke.test.js +17 -0
  215. package/dist/tests/integration/storage/persona-candidate-loader.test.d.ts +1 -0
  216. package/dist/tests/integration/storage/persona-candidate-loader.test.js +23 -0
  217. package/dist/tests/integration/storage/quiet-artifact-writer.test.d.ts +1 -0
  218. package/dist/tests/integration/storage/quiet-artifact-writer.test.js +66 -0
  219. package/dist/tests/integration/storage/repair-and-backup.test.d.ts +1 -0
  220. package/dist/tests/integration/storage/repair-and-backup.test.js +125 -0
  221. package/dist/tests/integration/storage/schema-migration.test.d.ts +11 -0
  222. package/dist/tests/integration/storage/schema-migration.test.js +183 -0
  223. package/dist/tests/integration/storage/storage-mode-smoke.test.d.ts +1 -0
  224. package/dist/tests/integration/storage/storage-mode-smoke.test.js +18 -0
  225. package/dist/tests/integration/storage/t4-1-5-memory-store-lifecycle.test.d.ts +1 -0
  226. package/dist/tests/integration/storage/t4-1-5-memory-store-lifecycle.test.js +118 -0
  227. package/dist/tests/unit/body/affordance-assembler.test.d.ts +14 -0
  228. package/dist/tests/unit/body/affordance-assembler.test.js +259 -0
  229. package/dist/tests/unit/body/affordance-context-scope.test.d.ts +12 -0
  230. package/dist/tests/unit/body/affordance-context-scope.test.js +73 -0
  231. package/dist/tests/unit/body/behavior-promotion-loop.test.d.ts +15 -0
  232. package/dist/tests/unit/body/behavior-promotion-loop.test.js +130 -0
  233. package/dist/tests/unit/body/circuit-breaker-manager.test.d.ts +13 -0
  234. package/dist/tests/unit/body/circuit-breaker-manager.test.js +160 -0
  235. package/dist/tests/unit/body/experience-writer.test.d.ts +11 -0
  236. package/dist/tests/unit/body/experience-writer.test.js +77 -0
  237. package/dist/tests/unit/body/pain-signal-query.test.d.ts +11 -0
  238. package/dist/tests/unit/body/pain-signal-query.test.js +104 -0
  239. package/dist/tests/unit/cli/connector-init-manifest.test.d.ts +9 -0
  240. package/dist/tests/unit/cli/connector-init-manifest.test.js +68 -0
  241. package/dist/tests/unit/cli/delivery-target-probe.test.d.ts +1 -0
  242. package/dist/tests/unit/cli/delivery-target-probe.test.js +108 -0
  243. package/dist/tests/unit/cli/host-capability.test.d.ts +1 -0
  244. package/dist/tests/unit/cli/host-capability.test.js +50 -0
  245. package/dist/tests/unit/cli/operator-fallback-view.test.d.ts +1 -0
  246. package/dist/tests/unit/cli/operator-fallback-view.test.js +60 -0
  247. package/dist/tests/unit/cli/runtime-artifact-boundary.test.d.ts +1 -0
  248. package/dist/tests/unit/cli/runtime-artifact-boundary.test.js +57 -0
  249. package/dist/tests/unit/cli/t1-2-3-connector-status.test.d.ts +1 -0
  250. package/dist/tests/unit/cli/t1-2-3-connector-status.test.js +214 -0
  251. package/dist/tests/unit/cli/t1-2-4-goal-command.test.d.ts +1 -0
  252. package/dist/tests/unit/cli/t1-2-4-goal-command.test.js +207 -0
  253. package/dist/tests/unit/cli/t1-3-1-connector-init.test.d.ts +1 -0
  254. package/dist/tests/unit/cli/t1-3-1-connector-init.test.js +212 -0
  255. package/dist/tests/unit/connectors/connector-manifest-and-evidence-map.test.d.ts +1 -0
  256. package/dist/tests/unit/connectors/connector-manifest-and-evidence-map.test.js +71 -0
  257. package/dist/tests/unit/connectors/effect-commit-ledger-sqlite.test.d.ts +10 -0
  258. package/dist/tests/unit/connectors/effect-commit-ledger-sqlite.test.js +101 -0
  259. package/dist/tests/unit/connectors/evomap-runner.test.d.ts +1 -0
  260. package/dist/tests/unit/connectors/evomap-runner.test.js +136 -0
  261. package/dist/tests/unit/connectors/execution-policy.test.d.ts +1 -0
  262. package/dist/tests/unit/connectors/execution-policy.test.js +71 -0
  263. package/dist/tests/unit/connectors/instreet-registration.test.d.ts +1 -0
  264. package/dist/tests/unit/connectors/instreet-registration.test.js +102 -0
  265. package/dist/tests/unit/connectors/manifest-v7-schema.test.d.ts +9 -0
  266. package/dist/tests/unit/connectors/manifest-v7-schema.test.js +165 -0
  267. package/dist/tests/unit/connectors/scriptable-node-runner.test.d.ts +1 -0
  268. package/dist/tests/unit/connectors/scriptable-node-runner.test.js +246 -0
  269. package/dist/tests/unit/connectors/structured-unavailable-reason.test.d.ts +11 -0
  270. package/dist/tests/unit/connectors/structured-unavailable-reason.test.js +76 -0
  271. package/dist/tests/unit/connectors/t3-1-1-dynamic-registry.test.d.ts +1 -0
  272. package/dist/tests/unit/connectors/t3-1-1-dynamic-registry.test.js +178 -0
  273. package/dist/tests/unit/connectors/t3-1-2-capability-registry.test.d.ts +1 -0
  274. package/dist/tests/unit/connectors/t3-1-2-capability-registry.test.js +105 -0
  275. package/dist/tests/unit/connectors/t3-2-1-v5-parity.test.d.ts +1 -0
  276. package/dist/tests/unit/connectors/t3-2-1-v5-parity.test.js +103 -0
  277. package/dist/tests/unit/connectors/t3-3-1-evidence-mapper.test.d.ts +1 -0
  278. package/dist/tests/unit/connectors/t3-3-1-evidence-mapper.test.js +198 -0
  279. package/dist/tests/unit/connectors/t3-3-1-evidence-redaction.test.d.ts +1 -0
  280. package/dist/tests/unit/connectors/t3-3-1-evidence-redaction.test.js +95 -0
  281. package/dist/tests/unit/connectors/wet-probe-runner.test.d.ts +11 -0
  282. package/dist/tests/unit/connectors/wet-probe-runner.test.js +84 -0
  283. package/dist/tests/unit/control-plane/decision-trace-emitter.test.d.ts +1 -0
  284. package/dist/tests/unit/control-plane/decision-trace-emitter.test.js +51 -0
  285. package/dist/tests/unit/control-plane/downstream-intent-orchestrator.test.d.ts +1 -0
  286. package/dist/tests/unit/control-plane/downstream-intent-orchestrator.test.js +57 -0
  287. package/dist/tests/unit/control-plane/embodied-context-assembler.test.d.ts +13 -0
  288. package/dist/tests/unit/control-plane/embodied-context-assembler.test.js +182 -0
  289. package/dist/tests/unit/control-plane/goal-lifecycle-policy.test.d.ts +1 -0
  290. package/dist/tests/unit/control-plane/goal-lifecycle-policy.test.js +75 -0
  291. package/dist/tests/unit/control-plane/hard-guard-evaluator.test.d.ts +1 -0
  292. package/dist/tests/unit/control-plane/hard-guard-evaluator.test.js +113 -0
  293. package/dist/tests/unit/control-plane/idle-curiosity-policy.test.d.ts +1 -0
  294. package/dist/tests/unit/control-plane/idle-curiosity-policy.test.js +69 -0
  295. package/dist/tests/unit/control-plane/intent-planner-source-ref-fallback.test.d.ts +7 -0
  296. package/dist/tests/unit/control-plane/intent-planner-source-ref-fallback.test.js +124 -0
  297. package/dist/tests/unit/control-plane/rhythm-policy-snapshot-window.test.d.ts +1 -0
  298. package/dist/tests/unit/control-plane/rhythm-policy-snapshot-window.test.js +64 -0
  299. package/dist/tests/unit/control-plane/run-heartbeat-cycle-v7.test.d.ts +1 -0
  300. package/dist/tests/unit/control-plane/run-heartbeat-cycle-v7.test.js +165 -0
  301. package/dist/tests/unit/control-plane/t2-1-4-goal-priority.test.d.ts +1 -0
  302. package/dist/tests/unit/control-plane/t2-1-4-goal-priority.test.js +185 -0
  303. package/dist/tests/unit/control-plane/t2-1-5-narrative-update.test.d.ts +1 -0
  304. package/dist/tests/unit/control-plane/t2-1-5-narrative-update.test.js +313 -0
  305. package/dist/tests/unit/control-plane/t2-4-1-credential-route.test.d.ts +1 -0
  306. package/dist/tests/unit/control-plane/t2-4-1-credential-route.test.js +75 -0
  307. package/dist/tests/unit/control-plane/t2-4-1-platform-intent.test.d.ts +1 -0
  308. package/dist/tests/unit/control-plane/t2-4-1-platform-intent.test.js +168 -0
  309. package/dist/tests/unit/core/outreach-judgment.test.d.ts +1 -0
  310. package/dist/tests/unit/core/outreach-judgment.test.js +109 -0
  311. package/dist/tests/unit/core/resolve-allowed-intent.test.d.ts +1 -0
  312. package/dist/tests/unit/core/resolve-allowed-intent.test.js +69 -0
  313. package/dist/tests/unit/core/t2-2-3-connector-action-honest-result.test.d.ts +1 -0
  314. package/dist/tests/unit/core/t2-2-3-connector-action-honest-result.test.js +130 -0
  315. package/dist/tests/unit/core/t2-2-3-connector-dispatch-wired.test.d.ts +1 -0
  316. package/dist/tests/unit/core/t2-2-3-connector-dispatch-wired.test.js +99 -0
  317. package/dist/tests/unit/dream/dream-input-loader.test.d.ts +15 -0
  318. package/dist/tests/unit/dream/dream-input-loader.test.js +424 -0
  319. package/dist/tests/unit/dream/dream-scheduler.test.d.ts +1 -0
  320. package/dist/tests/unit/dream/dream-scheduler.test.js +57 -0
  321. package/dist/tests/unit/dream/t-dqs-c3-redacted-evidence.test.d.ts +11 -0
  322. package/dist/tests/unit/dream/t-dqs-c3-redacted-evidence.test.js +298 -0
  323. package/dist/tests/unit/dream/t7-1-3-insight-extraction.test.d.ts +1 -0
  324. package/dist/tests/unit/dream/t7-1-3-insight-extraction.test.js +79 -0
  325. package/dist/tests/unit/dream/t7-1-4-narrative-update.test.d.ts +1 -0
  326. package/dist/tests/unit/dream/t7-1-4-narrative-update.test.js +93 -0
  327. package/dist/tests/unit/dream/t7-1-5-relationship-update.test.d.ts +1 -0
  328. package/dist/tests/unit/dream/t7-1-5-relationship-update.test.js +116 -0
  329. package/dist/tests/unit/feedback/t4-2-1-owner-reply-inference.test.d.ts +1 -0
  330. package/dist/tests/unit/feedback/t4-2-1-owner-reply-inference.test.js +58 -0
  331. package/dist/tests/unit/guidance/capability-class.test.d.ts +1 -0
  332. package/dist/tests/unit/guidance/capability-class.test.js +96 -0
  333. package/dist/tests/unit/guidance/channel-feedback-ingestion.test.d.ts +1 -0
  334. package/dist/tests/unit/guidance/channel-feedback-ingestion.test.js +163 -0
  335. package/dist/tests/unit/guidance/evidence-guidance.test.d.ts +1 -0
  336. package/dist/tests/unit/guidance/evidence-guidance.test.js +40 -0
  337. package/dist/tests/unit/guidance/guidance-draft-service.test.d.ts +1 -0
  338. package/dist/tests/unit/guidance/guidance-draft-service.test.js +140 -0
  339. package/dist/tests/unit/guidance/impulse-assembler.test.d.ts +1 -0
  340. package/dist/tests/unit/guidance/impulse-assembler.test.js +169 -0
  341. package/dist/tests/unit/guidance/outreach-draft-schema.test.d.ts +1 -0
  342. package/dist/tests/unit/guidance/outreach-draft-schema.test.js +56 -0
  343. package/dist/tests/unit/guidance/outreach-strategy-selector.test.d.ts +1 -0
  344. package/dist/tests/unit/guidance/outreach-strategy-selector.test.js +208 -0
  345. package/dist/tests/unit/guidance/outreach-style-fixtures.test.d.ts +1 -0
  346. package/dist/tests/unit/guidance/outreach-style-fixtures.test.js +81 -0
  347. package/dist/tests/unit/guidance/t6-1-1-narrative-outreach.test.d.ts +1 -0
  348. package/dist/tests/unit/guidance/t6-1-1-narrative-outreach.test.js +256 -0
  349. package/dist/tests/unit/observability/audit-envelope.test.d.ts +1 -0
  350. package/dist/tests/unit/observability/audit-envelope.test.js +169 -0
  351. package/dist/tests/unit/observability/connector-inventory-ledger.test.d.ts +1 -0
  352. package/dist/tests/unit/observability/connector-inventory-ledger.test.js +128 -0
  353. package/dist/tests/unit/observability/family-registry.test.d.ts +12 -0
  354. package/dist/tests/unit/observability/family-registry.test.js +105 -0
  355. package/dist/tests/unit/observability/governance-plane-recorder.test.d.ts +1 -0
  356. package/dist/tests/unit/observability/governance-plane-recorder.test.js +72 -0
  357. package/dist/tests/unit/observability/heartbeat-digest-assembler.test.d.ts +1 -0
  358. package/dist/tests/unit/observability/heartbeat-digest-assembler.test.js +227 -0
  359. package/dist/tests/unit/observability/lived-experience-audit.test.d.ts +1 -0
  360. package/dist/tests/unit/observability/lived-experience-audit.test.js +105 -0
  361. package/dist/tests/unit/observability/narrative-timeline-query.test.d.ts +18 -0
  362. package/dist/tests/unit/observability/narrative-timeline-query.test.js +239 -0
  363. package/dist/tests/unit/observability/restore-audit-service.test.d.ts +16 -0
  364. package/dist/tests/unit/observability/restore-audit-service.test.js +186 -0
  365. package/dist/tests/unit/observability/runtime-decision-recorder.test.d.ts +1 -0
  366. package/dist/tests/unit/observability/runtime-decision-recorder.test.js +66 -0
  367. package/dist/tests/unit/observability/runtime-secret-anchor-view.test.d.ts +18 -0
  368. package/dist/tests/unit/observability/runtime-secret-anchor-view.test.js +209 -0
  369. package/dist/tests/unit/observability/self-health-snapshot.test.d.ts +1 -0
  370. package/dist/tests/unit/observability/self-health-snapshot.test.js +223 -0
  371. package/dist/tests/unit/observability/verify-audit-hash-chain.test.d.ts +1 -0
  372. package/dist/tests/unit/observability/verify-audit-hash-chain.test.js +93 -0
  373. package/dist/tests/unit/ops/manual-run-dispatcher.test.d.ts +13 -0
  374. package/dist/tests/unit/ops/manual-run-dispatcher.test.js +219 -0
  375. package/dist/tests/unit/quiet/claim-synthesizer.test.d.ts +17 -0
  376. package/dist/tests/unit/quiet/claim-synthesizer.test.js +289 -0
  377. package/dist/tests/unit/quiet/daily-diary-writer.test.d.ts +12 -0
  378. package/dist/tests/unit/quiet/daily-diary-writer.test.js +108 -0
  379. package/dist/tests/unit/shared/v7-entities.test.d.ts +13 -0
  380. package/dist/tests/unit/shared/v7-entities.test.js +306 -0
  381. package/dist/tests/unit/storage/delivery-attempt.test.d.ts +1 -0
  382. package/dist/tests/unit/storage/delivery-attempt.test.js +72 -0
  383. package/dist/tests/unit/storage/diary-dream-store.test.d.ts +12 -0
  384. package/dist/tests/unit/storage/diary-dream-store.test.js +118 -0
  385. package/dist/tests/unit/storage/embodied-context-state-port.test.d.ts +4 -0
  386. package/dist/tests/unit/storage/embodied-context-state-port.test.js +77 -0
  387. package/dist/tests/unit/storage/goal-lifecycle-store.test.d.ts +4 -0
  388. package/dist/tests/unit/storage/goal-lifecycle-store.test.js +143 -0
  389. package/dist/tests/unit/storage/history-digest-store.test.d.ts +10 -0
  390. package/dist/tests/unit/storage/history-digest-store.test.js +126 -0
  391. package/dist/tests/unit/storage/identity-profile-store.test.d.ts +4 -0
  392. package/dist/tests/unit/storage/identity-profile-store.test.js +48 -0
  393. package/dist/tests/unit/storage/life-evidence-snapshot.test.d.ts +1 -0
  394. package/dist/tests/unit/storage/life-evidence-snapshot.test.js +60 -0
  395. package/dist/tests/unit/storage/life-evidence.test.d.ts +1 -0
  396. package/dist/tests/unit/storage/life-evidence.test.js +54 -0
  397. package/dist/tests/unit/storage/migration-runner.test.d.ts +12 -0
  398. package/dist/tests/unit/storage/migration-runner.test.js +197 -0
  399. package/dist/tests/unit/storage/repair-gate.test.d.ts +1 -0
  400. package/dist/tests/unit/storage/repair-gate.test.js +41 -0
  401. package/dist/tests/unit/storage/restore-snapshot-store.test.d.ts +11 -0
  402. package/dist/tests/unit/storage/restore-snapshot-store.test.js +161 -0
  403. package/dist/tests/unit/storage/rhythm-policy-snapshot.test.d.ts +1 -0
  404. package/dist/tests/unit/storage/rhythm-policy-snapshot.test.js +31 -0
  405. package/dist/tests/unit/storage/runtime-secret-anchor-store.test.d.ts +10 -0
  406. package/dist/tests/unit/storage/runtime-secret-anchor-store.test.js +81 -0
  407. package/dist/tests/unit/storage/t1-4-1-credential-health-mapper.test.d.ts +1 -0
  408. package/dist/tests/unit/storage/t1-4-1-credential-health-mapper.test.js +83 -0
  409. package/dist/tests/unit/storage/t4-1-1-session-chronicle.test.d.ts +1 -0
  410. package/dist/tests/unit/storage/t4-1-1-session-chronicle.test.js +112 -0
  411. package/dist/tests/unit/storage/t4-1-2-narrative-state.test.d.ts +1 -0
  412. package/dist/tests/unit/storage/t4-1-2-narrative-state.test.js +80 -0
  413. package/dist/tests/unit/storage/t4-1-3-relationship-memory.test.d.ts +1 -0
  414. package/dist/tests/unit/storage/t4-1-3-relationship-memory.test.js +65 -0
  415. package/dist/tests/unit/storage/t4-1-4-agent-goal.test.d.ts +1 -0
  416. package/dist/tests/unit/storage/t4-1-4-agent-goal.test.js +166 -0
  417. package/dist/tests/unit/storage/tool-experience-store.test.d.ts +4 -0
  418. package/dist/tests/unit/storage/tool-experience-store.test.js +92 -0
  419. package/dist/tests/unit/storage/user-interest-snapshot.test.d.ts +1 -0
  420. package/dist/tests/unit/storage/user-interest-snapshot.test.js +48 -0
  421. package/dist/tests/unit/storage/write-queue.test.d.ts +12 -0
  422. package/dist/tests/unit/storage/write-queue.test.js +177 -0
  423. package/dist/tests/unit/storage/write-validation-gate.test.d.ts +9 -0
  424. package/dist/tests/unit/storage/write-validation-gate.test.js +153 -0
  425. package/docs/claw-second-nature-inner-guide.md +144 -0
  426. package/package.json +84 -55
  427. package/agent-inner-guide.md +0 -187
  428. package/openclaw.plugin.json +0 -29
  429. package/runtime/cli/ops/heartbeat-surface.d.ts +0 -75
  430. package/runtime/cli/ops/heartbeat-surface.js +0 -97
  431. package/runtime/cli/ops/ops-router.js +0 -1428
  432. package/runtime/cli/ops/workspace-heartbeat-runner.d.ts +0 -76
  433. package/runtime/cli/ops/workspace-heartbeat-runner.js +0 -236
  434. package/runtime/connectors/base/contract.d.ts +0 -110
  435. package/runtime/connectors/base/failure-taxonomy.d.ts +0 -13
  436. package/runtime/connectors/base/failure-taxonomy.js +0 -158
  437. package/runtime/connectors/base/map-life-evidence.js +0 -84
  438. package/runtime/connectors/base/policy-layer.js +0 -198
  439. package/runtime/connectors/manifest/manifest-schema.d.ts +0 -149
  440. package/runtime/connectors/manifest/manifest-schema.js +0 -53
  441. package/runtime/connectors/services/connector-executor-adapter.d.ts +0 -17
  442. package/runtime/connectors/services/connector-executor-adapter.js +0 -424
  443. package/runtime/core/second-nature/heartbeat/goal-lifecycle-policy.d.ts +0 -37
  444. package/runtime/core/second-nature/heartbeat/goal-lifecycle-policy.js +0 -61
  445. package/runtime/core/second-nature/heartbeat/heartbeat-loop.d.ts +0 -88
  446. package/runtime/core/second-nature/heartbeat/heartbeat-loop.js +0 -329
  447. package/runtime/core/second-nature/orchestrator/platform-capability-router.js +0 -131
  448. /package/{index.js → dist/plugin/index.js} +0 -0
  449. /package/{workspace-ops-bridge.js → dist/plugin/workspace-ops-bridge.js} +0 -0
  450. /package/{runtime/cli/read-models/types.js → dist/scripts/packaging-feasibility-poc.d.ts} +0 -0
  451. /package/{runtime/core/second-nature/types.js → dist/scripts/plugin-smoke-check.d.ts} +0 -0
  452. /package/{runtime → dist/src}/cli/action-bridge.js +0 -0
  453. /package/{runtime → dist/src}/cli/commands/connector-behavior.d.ts +0 -0
  454. /package/{runtime → dist/src}/cli/commands/connector-behavior.js +0 -0
  455. /package/{runtime → dist/src}/cli/commands/connector-init.d.ts +0 -0
  456. /package/{runtime → dist/src}/cli/commands/connector-init.js +0 -0
  457. /package/{runtime → dist/src}/cli/commands/connector-status.d.ts +0 -0
  458. /package/{runtime → dist/src}/cli/commands/connector-status.js +0 -0
  459. /package/{runtime → dist/src}/cli/commands/credential.d.ts +0 -0
  460. /package/{runtime → dist/src}/cli/commands/credential.js +0 -0
  461. /package/{runtime → dist/src}/cli/commands/goal.d.ts +0 -0
  462. /package/{runtime → dist/src}/cli/commands/goal.js +0 -0
  463. /package/{runtime → dist/src}/cli/commands/index.d.ts +0 -0
  464. /package/{runtime → dist/src}/cli/commands/index.js +0 -0
  465. /package/{runtime → dist/src}/cli/commands/policy.d.ts +0 -0
  466. /package/{runtime → dist/src}/cli/commands/policy.js +0 -0
  467. /package/{runtime → dist/src}/cli/explain/explain-surface-subject.d.ts +0 -0
  468. /package/{runtime → dist/src}/cli/explain/explain-surface-subject.js +0 -0
  469. /package/{runtime → dist/src}/cli/explain/format-explanation.d.ts +0 -0
  470. /package/{runtime → dist/src}/cli/explain/format-explanation.js +0 -0
  471. /package/{runtime → dist/src}/cli/explain/resolve-subject.d.ts +0 -0
  472. /package/{runtime → dist/src}/cli/explain/resolve-subject.js +0 -0
  473. /package/{runtime → dist/src}/cli/host-capability/classify-delivery.d.ts +0 -0
  474. /package/{runtime → dist/src}/cli/host-capability/classify-delivery.js +0 -0
  475. /package/{runtime → dist/src}/cli/host-capability/probe-host-capability.d.ts +0 -0
  476. /package/{runtime → dist/src}/cli/host-capability/probe-host-capability.js +0 -0
  477. /package/{runtime → dist/src}/cli/host-capability/record-host-capability.d.ts +0 -0
  478. /package/{runtime → dist/src}/cli/host-capability/record-host-capability.js +0 -0
  479. /package/{runtime → dist/src}/cli/host-capability/types.d.ts +0 -0
  480. /package/{runtime → dist/src}/cli/host-capability/types.js +0 -0
  481. /package/{runtime → dist/src}/cli/host-smoke/run-host-smoke.d.ts +0 -0
  482. /package/{runtime → dist/src}/cli/host-smoke/run-host-smoke.js +0 -0
  483. /package/{runtime → dist/src}/cli/host-smoke/types.d.ts +0 -0
  484. /package/{runtime → dist/src}/cli/host-smoke/types.js +0 -0
  485. /package/{runtime → dist/src}/cli/index.js +0 -0
  486. /package/{runtime → dist/src}/cli/ops/manual-run-dispatcher.d.ts +0 -0
  487. /package/{runtime → dist/src}/cli/ops/manual-run-dispatcher.js +0 -0
  488. /package/{runtime → dist/src}/cli/ops/ops-router.d.ts +0 -0
  489. /package/{runtime → dist/src}/cli/ops/show-operator-fallback.d.ts +0 -0
  490. /package/{runtime → dist/src}/cli/ops/show-operator-fallback.js +0 -0
  491. /package/{runtime → dist/src}/cli/read-models/index.d.ts +0 -0
  492. /package/{runtime → dist/src}/cli/read-models/index.js +0 -0
  493. /package/{runtime → dist/src}/cli/read-models/operator-explain-map.d.ts +0 -0
  494. /package/{runtime → dist/src}/cli/read-models/operator-explain-map.js +0 -0
  495. /package/{runtime → dist/src}/cli/read-models/types.d.ts +0 -0
  496. /package/{runtime/guidance → dist/src/cli/read-models}/types.js +0 -0
  497. /package/{runtime → dist/src}/cli/runtime/runtime-artifact-boundary.d.ts +0 -0
  498. /package/{runtime → dist/src}/cli/runtime/runtime-artifact-boundary.js +0 -0
  499. /package/{runtime → dist/src}/connectors/agent-network/agent-world/adapter.d.ts +0 -0
  500. /package/{runtime → dist/src}/connectors/agent-network/agent-world/adapter.js +0 -0
  501. /package/{runtime → dist/src}/connectors/agent-network/agent-world/index.d.ts +0 -0
  502. /package/{runtime → dist/src}/connectors/agent-network/agent-world/index.js +0 -0
  503. /package/{runtime → dist/src}/connectors/agent-network/agent-world/manifest.d.ts +0 -0
  504. /package/{runtime → dist/src}/connectors/agent-network/agent-world/manifest.js +0 -0
  505. /package/{runtime → dist/src}/connectors/agent-network/evomap/adapter.d.ts +0 -0
  506. /package/{runtime → dist/src}/connectors/agent-network/evomap/adapter.js +0 -0
  507. /package/{runtime → dist/src}/connectors/agent-network/evomap/index.d.ts +0 -0
  508. /package/{runtime → dist/src}/connectors/agent-network/evomap/index.js +0 -0
  509. /package/{runtime → dist/src}/connectors/agent-network/evomap/manifest.d.ts +0 -0
  510. /package/{runtime → dist/src}/connectors/agent-network/evomap/manifest.js +0 -0
  511. /package/{runtime → dist/src}/connectors/base/channel-health.d.ts +0 -0
  512. /package/{runtime → dist/src}/connectors/base/channel-health.js +0 -0
  513. /package/{runtime → dist/src}/connectors/base/contract.js +0 -0
  514. /package/{runtime → dist/src}/connectors/base/effect-commit-ledger-sqlite.d.ts +0 -0
  515. /package/{runtime → dist/src}/connectors/base/effect-commit-ledger-sqlite.js +0 -0
  516. /package/{runtime → dist/src}/connectors/base/execution-policy.d.ts +0 -0
  517. /package/{runtime → dist/src}/connectors/base/execution-policy.js +0 -0
  518. /package/{runtime → dist/src}/connectors/base/index.d.ts +0 -0
  519. /package/{runtime → dist/src}/connectors/base/index.js +0 -0
  520. /package/{runtime → dist/src}/connectors/base/manifest-v7.d.ts +0 -0
  521. /package/{runtime → dist/src}/connectors/base/manifest-v7.js +0 -0
  522. /package/{runtime → dist/src}/connectors/base/manifest.d.ts +0 -0
  523. /package/{runtime → dist/src}/connectors/base/manifest.js +0 -0
  524. /package/{runtime → dist/src}/connectors/base/map-life-evidence.d.ts +0 -0
  525. /package/{runtime → dist/src}/connectors/base/policy-layer.d.ts +0 -0
  526. /package/{runtime → dist/src}/connectors/base/route-planner.d.ts +0 -0
  527. /package/{runtime → dist/src}/connectors/base/route-planner.js +0 -0
  528. /package/{runtime → dist/src}/connectors/base/structured-unavailable-reason.d.ts +0 -0
  529. /package/{runtime → dist/src}/connectors/base/structured-unavailable-reason.js +0 -0
  530. /package/{runtime → dist/src}/connectors/base/wet-probe-runner.d.ts +0 -0
  531. /package/{runtime → dist/src}/connectors/base/wet-probe-runner.js +0 -0
  532. /package/{runtime → dist/src}/connectors/index.d.ts +0 -0
  533. /package/{runtime → dist/src}/connectors/index.js +0 -0
  534. /package/{runtime → dist/src}/connectors/manifest/manifest-parser.d.ts +0 -0
  535. /package/{runtime → dist/src}/connectors/manifest/manifest-parser.js +0 -0
  536. /package/{runtime → dist/src}/connectors/near-real/near-real-connector-smoke.d.ts +0 -0
  537. /package/{runtime → dist/src}/connectors/near-real/near-real-connector-smoke.js +0 -0
  538. /package/{runtime → dist/src}/connectors/registry/dynamic-connector-registry.d.ts +0 -0
  539. /package/{runtime → dist/src}/connectors/registry/dynamic-connector-registry.js +0 -0
  540. /package/{runtime → dist/src}/connectors/registry/index.d.ts +0 -0
  541. /package/{runtime → dist/src}/connectors/registry/index.js +0 -0
  542. /package/{runtime → dist/src}/connectors/registry/manifest-scanner.d.ts +0 -0
  543. /package/{runtime → dist/src}/connectors/registry/manifest-scanner.js +0 -0
  544. /package/{runtime → dist/src}/connectors/registry/trust-policy.d.ts +0 -0
  545. /package/{runtime → dist/src}/connectors/registry/trust-policy.js +0 -0
  546. /package/{runtime → dist/src}/connectors/services/credential-route-context.d.ts +0 -0
  547. /package/{runtime → dist/src}/connectors/services/credential-route-context.js +0 -0
  548. /package/{runtime → dist/src}/connectors/social-community/instreet/adapter.d.ts +0 -0
  549. /package/{runtime → dist/src}/connectors/social-community/instreet/adapter.js +0 -0
  550. /package/{runtime → dist/src}/connectors/social-community/instreet/index.d.ts +0 -0
  551. /package/{runtime → dist/src}/connectors/social-community/instreet/index.js +0 -0
  552. /package/{runtime → dist/src}/connectors/social-community/instreet/manifest.d.ts +0 -0
  553. /package/{runtime → dist/src}/connectors/social-community/instreet/manifest.js +0 -0
  554. /package/{runtime → dist/src}/connectors/social-community/moltbook/adapter.d.ts +0 -0
  555. /package/{runtime → dist/src}/connectors/social-community/moltbook/adapter.js +0 -0
  556. /package/{runtime → dist/src}/connectors/social-community/moltbook/api-client.d.ts +0 -0
  557. /package/{runtime → dist/src}/connectors/social-community/moltbook/api-client.js +0 -0
  558. /package/{runtime → dist/src}/connectors/social-community/moltbook/index.d.ts +0 -0
  559. /package/{runtime → dist/src}/connectors/social-community/moltbook/index.js +0 -0
  560. /package/{runtime → dist/src}/connectors/social-community/moltbook/manifest.d.ts +0 -0
  561. /package/{runtime → dist/src}/connectors/social-community/moltbook/manifest.js +0 -0
  562. /package/{runtime → dist/src}/core/second-nature/body/behavior-promotion/behavior-promotion-loop.d.ts +0 -0
  563. /package/{runtime → dist/src}/core/second-nature/body/behavior-promotion/behavior-promotion-loop.js +0 -0
  564. /package/{runtime → dist/src}/core/second-nature/body/circuit-breaker/circuit-breaker-manager.d.ts +0 -0
  565. /package/{runtime → dist/src}/core/second-nature/body/circuit-breaker/circuit-breaker-manager.js +0 -0
  566. /package/{runtime → dist/src}/core/second-nature/body/probe-signal-adapter.d.ts +0 -0
  567. /package/{runtime → dist/src}/core/second-nature/body/probe-signal-adapter.js +0 -0
  568. /package/{runtime → dist/src}/core/second-nature/body/tool-affordance/affordance-assembler.d.ts +0 -0
  569. /package/{runtime → dist/src}/core/second-nature/body/tool-affordance/affordance-assembler.js +0 -0
  570. /package/{runtime → dist/src}/core/second-nature/body/tool-affordance/affordance-context-scope.d.ts +0 -0
  571. /package/{runtime → dist/src}/core/second-nature/body/tool-affordance/affordance-context-scope.js +0 -0
  572. /package/{runtime → dist/src}/core/second-nature/body/tool-experience/experience-writer.d.ts +0 -0
  573. /package/{runtime → dist/src}/core/second-nature/body/tool-experience/experience-writer.js +0 -0
  574. /package/{runtime → dist/src}/core/second-nature/body/tool-experience/pain-signal-query.d.ts +0 -0
  575. /package/{runtime → dist/src}/core/second-nature/body/tool-experience/pain-signal-query.js +0 -0
  576. /package/{runtime → dist/src}/core/second-nature/feedback/owner-reply-feedback.d.ts +0 -0
  577. /package/{runtime → dist/src}/core/second-nature/feedback/owner-reply-feedback.js +0 -0
  578. /package/{runtime → dist/src}/core/second-nature/guidance/apply-guidance.d.ts +0 -0
  579. /package/{runtime → dist/src}/core/second-nature/guidance/apply-guidance.js +0 -0
  580. /package/{runtime → dist/src}/core/second-nature/guidance/request-guidance.d.ts +0 -0
  581. /package/{runtime → dist/src}/core/second-nature/guidance/request-guidance.js +0 -0
  582. /package/{runtime → dist/src}/core/second-nature/guidance/user-reply-continuity.d.ts +0 -0
  583. /package/{runtime → dist/src}/core/second-nature/guidance/user-reply-continuity.js +0 -0
  584. /package/{runtime → dist/src}/core/second-nature/heartbeat/decision-trace-emitter.d.ts +0 -0
  585. /package/{runtime → dist/src}/core/second-nature/heartbeat/decision-trace-emitter.js +0 -0
  586. /package/{runtime → dist/src}/core/second-nature/heartbeat/embodied-context-assembler.d.ts +0 -0
  587. /package/{runtime → dist/src}/core/second-nature/heartbeat/embodied-context-assembler.js +0 -0
  588. /package/{runtime → dist/src}/core/second-nature/heartbeat/heartbeat-executor.d.ts +0 -0
  589. /package/{runtime → dist/src}/core/second-nature/heartbeat/heartbeat-executor.js +0 -0
  590. /package/{runtime → dist/src}/core/second-nature/heartbeat/idle-curiosity-policy.d.ts +0 -0
  591. /package/{runtime → dist/src}/core/second-nature/heartbeat/idle-curiosity-policy.js +0 -0
  592. /package/{runtime → dist/src}/core/second-nature/heartbeat/index.d.ts +0 -0
  593. /package/{runtime → dist/src}/core/second-nature/heartbeat/index.js +0 -0
  594. /package/{runtime → dist/src}/core/second-nature/heartbeat/run-heartbeat-cycle-v7.d.ts +0 -0
  595. /package/{runtime → dist/src}/core/second-nature/heartbeat/run-heartbeat-cycle-v7.js +0 -0
  596. /package/{runtime → dist/src}/core/second-nature/heartbeat/run-heartbeat-cycle.d.ts +0 -0
  597. /package/{runtime → dist/src}/core/second-nature/heartbeat/run-heartbeat-cycle.js +0 -0
  598. /package/{runtime → dist/src}/core/second-nature/heartbeat/runtime-snapshot.d.ts +0 -0
  599. /package/{runtime → dist/src}/core/second-nature/heartbeat/runtime-snapshot.js +0 -0
  600. /package/{runtime → dist/src}/core/second-nature/heartbeat/scope-router.d.ts +0 -0
  601. /package/{runtime → dist/src}/core/second-nature/heartbeat/scope-router.js +0 -0
  602. /package/{runtime → dist/src}/core/second-nature/heartbeat/signal.d.ts +0 -0
  603. /package/{runtime → dist/src}/core/second-nature/heartbeat/signal.js +0 -0
  604. /package/{runtime → dist/src}/core/second-nature/heartbeat/snapshot-builder.d.ts +0 -0
  605. /package/{runtime → dist/src}/core/second-nature/heartbeat/snapshot-builder.js +0 -0
  606. /package/{runtime → dist/src}/core/second-nature/index.d.ts +0 -0
  607. /package/{runtime → dist/src}/core/second-nature/index.js +0 -0
  608. /package/{runtime → dist/src}/core/second-nature/orchestrator/downstream-intent-orchestrator.d.ts +0 -0
  609. /package/{runtime → dist/src}/core/second-nature/orchestrator/downstream-intent-orchestrator.js +0 -0
  610. /package/{runtime → dist/src}/core/second-nature/orchestrator/effect-dispatcher.d.ts +0 -0
  611. /package/{runtime → dist/src}/core/second-nature/orchestrator/effect-dispatcher.js +0 -0
  612. /package/{runtime → dist/src}/core/second-nature/orchestrator/goal-priority.d.ts +0 -0
  613. /package/{runtime → dist/src}/core/second-nature/orchestrator/goal-priority.js +0 -0
  614. /package/{runtime → dist/src}/core/second-nature/orchestrator/guard-layer.d.ts +0 -0
  615. /package/{runtime → dist/src}/core/second-nature/orchestrator/guard-layer.js +0 -0
  616. /package/{runtime → dist/src}/core/second-nature/orchestrator/hard-guard-evaluator.d.ts +0 -0
  617. /package/{runtime → dist/src}/core/second-nature/orchestrator/hard-guard-evaluator.js +0 -0
  618. /package/{runtime → dist/src}/core/second-nature/orchestrator/index.d.ts +0 -0
  619. /package/{runtime → dist/src}/core/second-nature/orchestrator/index.js +0 -0
  620. /package/{runtime → dist/src}/core/second-nature/orchestrator/intent-planner.d.ts +0 -0
  621. /package/{runtime → dist/src}/core/second-nature/orchestrator/intent-planner.js +0 -0
  622. /package/{runtime → dist/src}/core/second-nature/orchestrator/lease-manager.d.ts +0 -0
  623. /package/{runtime → dist/src}/core/second-nature/orchestrator/lease-manager.js +0 -0
  624. /package/{runtime → dist/src}/core/second-nature/orchestrator/narrative-update.d.ts +0 -0
  625. /package/{runtime → dist/src}/core/second-nature/orchestrator/narrative-update.js +0 -0
  626. /package/{runtime → dist/src}/core/second-nature/orchestrator/platform-capability-router.d.ts +0 -0
  627. /package/{runtime → dist/src}/core/second-nature/orchestrator/resume-from-checkpoint.d.ts +0 -0
  628. /package/{runtime → dist/src}/core/second-nature/orchestrator/resume-from-checkpoint.js +0 -0
  629. /package/{runtime → dist/src}/core/second-nature/outreach/build-message.d.ts +0 -0
  630. /package/{runtime → dist/src}/core/second-nature/outreach/build-message.js +0 -0
  631. /package/{runtime → dist/src}/core/second-nature/outreach/build-outreach-draft-request.d.ts +0 -0
  632. /package/{runtime → dist/src}/core/second-nature/outreach/build-outreach-draft-request.js +0 -0
  633. /package/{runtime → dist/src}/core/second-nature/outreach/delivery-target.d.ts +0 -0
  634. /package/{runtime → dist/src}/core/second-nature/outreach/delivery-target.js +0 -0
  635. /package/{runtime → dist/src}/core/second-nature/outreach/dispatch-user-outreach.d.ts +0 -0
  636. /package/{runtime → dist/src}/core/second-nature/outreach/dispatch-user-outreach.js +0 -0
  637. /package/{runtime → dist/src}/core/second-nature/outreach/evaluate-outreach.d.ts +0 -0
  638. /package/{runtime → dist/src}/core/second-nature/outreach/evaluate-outreach.js +0 -0
  639. /package/{runtime → dist/src}/core/second-nature/outreach/judge-input-from-snapshot.d.ts +0 -0
  640. /package/{runtime → dist/src}/core/second-nature/outreach/judge-input-from-snapshot.js +0 -0
  641. /package/{runtime → dist/src}/core/second-nature/outreach/judge-outreach.d.ts +0 -0
  642. /package/{runtime → dist/src}/core/second-nature/outreach/judge-outreach.js +0 -0
  643. /package/{runtime → dist/src}/core/second-nature/quiet/claim-synthesizer.d.ts +0 -0
  644. /package/{runtime → dist/src}/core/second-nature/quiet/claim-synthesizer.js +0 -0
  645. /package/{runtime → dist/src}/core/second-nature/quiet/daily-diary-writer.d.ts +0 -0
  646. /package/{runtime → dist/src}/core/second-nature/quiet/daily-diary-writer.js +0 -0
  647. /package/{runtime → dist/src}/core/second-nature/quiet/index.d.ts +0 -0
  648. /package/{runtime → dist/src}/core/second-nature/quiet/index.js +0 -0
  649. /package/{runtime → dist/src}/core/second-nature/quiet/quiet-pipeline.d.ts +0 -0
  650. /package/{runtime → dist/src}/core/second-nature/quiet/quiet-pipeline.js +0 -0
  651. /package/{runtime → dist/src}/core/second-nature/quiet/run-source-backed-quiet.d.ts +0 -0
  652. /package/{runtime → dist/src}/core/second-nature/quiet/run-source-backed-quiet.js +0 -0
  653. /package/{runtime → dist/src}/core/second-nature/reflection/run-narrative-reflection.d.ts +0 -0
  654. /package/{runtime → dist/src}/core/second-nature/reflection/run-narrative-reflection.js +0 -0
  655. /package/{runtime → dist/src}/core/second-nature/rhythm/planner-rhythm-window.d.ts +0 -0
  656. /package/{runtime → dist/src}/core/second-nature/rhythm/planner-rhythm-window.js +0 -0
  657. /package/{runtime → dist/src}/core/second-nature/rhythm/policy-bridge.d.ts +0 -0
  658. /package/{runtime → dist/src}/core/second-nature/rhythm/policy-bridge.js +0 -0
  659. /package/{runtime → dist/src}/core/second-nature/rhythm/rhythm-policy.d.ts +0 -0
  660. /package/{runtime → dist/src}/core/second-nature/rhythm/rhythm-policy.js +0 -0
  661. /package/{runtime → dist/src}/core/second-nature/rhythm/select-window.d.ts +0 -0
  662. /package/{runtime → dist/src}/core/second-nature/rhythm/select-window.js +0 -0
  663. /package/{runtime → dist/src}/core/second-nature/runtime/lifecycle-service.d.ts +0 -0
  664. /package/{runtime → dist/src}/core/second-nature/runtime/lifecycle-service.js +0 -0
  665. /package/{runtime → dist/src}/core/second-nature/runtime/service-entry.d.ts +0 -0
  666. /package/{runtime → dist/src}/core/second-nature/runtime/service-entry.js +0 -0
  667. /package/{runtime → dist/src}/core/second-nature/types.d.ts +0 -0
  668. /package/{runtime/storage/delivery → dist/src/core/second-nature}/types.js +0 -0
  669. /package/{runtime → dist/src}/dream/dream-engine.d.ts +0 -0
  670. /package/{runtime → dist/src}/dream/dream-engine.js +0 -0
  671. /package/{runtime → dist/src}/dream/dream-input-loader.d.ts +0 -0
  672. /package/{runtime → dist/src}/dream/dream-input-loader.js +0 -0
  673. /package/{runtime → dist/src}/dream/dream-scheduler.d.ts +0 -0
  674. /package/{runtime → dist/src}/dream/dream-scheduler.js +0 -0
  675. /package/{runtime → dist/src}/dream/index.d.ts +0 -0
  676. /package/{runtime → dist/src}/dream/index.js +0 -0
  677. /package/{runtime → dist/src}/dream/insight-extractor.d.ts +0 -0
  678. /package/{runtime → dist/src}/dream/insight-extractor.js +0 -0
  679. /package/{runtime → dist/src}/dream/memory-consolidator.d.ts +0 -0
  680. /package/{runtime → dist/src}/dream/memory-consolidator.js +0 -0
  681. /package/{runtime → dist/src}/dream/narrative-update-proposal.d.ts +0 -0
  682. /package/{runtime → dist/src}/dream/narrative-update-proposal.js +0 -0
  683. /package/{runtime → dist/src}/dream/output-validator.d.ts +0 -0
  684. /package/{runtime → dist/src}/dream/output-validator.js +0 -0
  685. /package/{runtime → dist/src}/dream/redaction-gate.d.ts +0 -0
  686. /package/{runtime → dist/src}/dream/redaction-gate.js +0 -0
  687. /package/{runtime → dist/src}/dream/relationship-update-proposal.d.ts +0 -0
  688. /package/{runtime → dist/src}/dream/relationship-update-proposal.js +0 -0
  689. /package/{runtime → dist/src}/dream/sampler.d.ts +0 -0
  690. /package/{runtime → dist/src}/dream/sampler.js +0 -0
  691. /package/{runtime → dist/src}/dream/types.d.ts +0 -0
  692. /package/{runtime → dist/src}/dream/types.js +0 -0
  693. /package/{runtime → dist/src}/guidance/capability-class.d.ts +0 -0
  694. /package/{runtime → dist/src}/guidance/capability-class.js +0 -0
  695. /package/{runtime → dist/src}/guidance/channel-feedback-ingestion-service.d.ts +0 -0
  696. /package/{runtime → dist/src}/guidance/channel-feedback-ingestion-service.js +0 -0
  697. /package/{runtime → dist/src}/guidance/contracts.d.ts +0 -0
  698. /package/{runtime → dist/src}/guidance/contracts.js +0 -0
  699. /package/{runtime → dist/src}/guidance/draft-narrative-outreach.d.ts +0 -0
  700. /package/{runtime → dist/src}/guidance/draft-narrative-outreach.js +0 -0
  701. /package/{runtime → dist/src}/guidance/draft-outreach-message.d.ts +0 -0
  702. /package/{runtime → dist/src}/guidance/draft-outreach-message.js +0 -0
  703. /package/{runtime → dist/src}/guidance/evidence-guidance.d.ts +0 -0
  704. /package/{runtime → dist/src}/guidance/evidence-guidance.js +0 -0
  705. /package/{runtime → dist/src}/guidance/fallback.d.ts +0 -0
  706. /package/{runtime → dist/src}/guidance/fallback.js +0 -0
  707. /package/{runtime → dist/src}/guidance/guidance-assembler.d.ts +0 -0
  708. /package/{runtime → dist/src}/guidance/guidance-assembler.js +0 -0
  709. /package/{runtime → dist/src}/guidance/guidance-draft-service.d.ts +0 -0
  710. /package/{runtime → dist/src}/guidance/guidance-draft-service.js +0 -0
  711. /package/{runtime → dist/src}/guidance/impulse-assembler.d.ts +0 -0
  712. /package/{runtime → dist/src}/guidance/impulse-assembler.js +0 -0
  713. /package/{runtime → dist/src}/guidance/index.d.ts +0 -0
  714. /package/{runtime → dist/src}/guidance/index.js +0 -0
  715. /package/{runtime → dist/src}/guidance/output-guard.d.ts +0 -0
  716. /package/{runtime → dist/src}/guidance/output-guard.js +0 -0
  717. /package/{runtime → dist/src}/guidance/outreach-draft-schema.d.ts +0 -0
  718. /package/{runtime → dist/src}/guidance/outreach-draft-schema.js +0 -0
  719. /package/{runtime → dist/src}/guidance/outreach-strategy-selector.d.ts +0 -0
  720. /package/{runtime → dist/src}/guidance/outreach-strategy-selector.js +0 -0
  721. /package/{runtime → dist/src}/guidance/persona-selection.d.ts +0 -0
  722. /package/{runtime → dist/src}/guidance/persona-selection.js +0 -0
  723. /package/{runtime → dist/src}/guidance/review-workflow.d.ts +0 -0
  724. /package/{runtime → dist/src}/guidance/review-workflow.js +0 -0
  725. /package/{runtime → dist/src}/guidance/template-registry.d.ts +0 -0
  726. /package/{runtime → dist/src}/guidance/template-registry.js +0 -0
  727. /package/{runtime → dist/src}/guidance/types.d.ts +0 -0
  728. /package/{runtime/storage/memory/workspace → dist/src/guidance}/types.js +0 -0
  729. /package/{runtime → dist/src}/observability/audit/append-only-audit-store.d.ts +0 -0
  730. /package/{runtime → dist/src}/observability/audit/append-only-audit-store.js +0 -0
  731. /package/{runtime → dist/src}/observability/audit/audit-envelope.d.ts +0 -0
  732. /package/{runtime → dist/src}/observability/audit/audit-envelope.js +0 -0
  733. /package/{runtime → dist/src}/observability/audit/audit-family-registry.json +0 -0
  734. /package/{runtime → dist/src}/observability/audit/family-registry.d.ts +0 -0
  735. /package/{runtime → dist/src}/observability/audit/family-registry.js +0 -0
  736. /package/{runtime → dist/src}/observability/audit/verify-audit-hash-chain.d.ts +0 -0
  737. /package/{runtime → dist/src}/observability/audit/verify-audit-hash-chain.js +0 -0
  738. /package/{runtime → dist/src}/observability/connector-inventory-ledger.d.ts +0 -0
  739. /package/{runtime → dist/src}/observability/connector-inventory-ledger.js +0 -0
  740. /package/{runtime → dist/src}/observability/db/index.d.ts +0 -0
  741. /package/{runtime → dist/src}/observability/db/index.js +0 -0
  742. /package/{runtime → dist/src}/observability/db/schema/connector-inventory.d.ts +0 -0
  743. /package/{runtime → dist/src}/observability/db/schema/connector-inventory.js +0 -0
  744. /package/{runtime → dist/src}/observability/db/schema/host-capability-reports.d.ts +0 -0
  745. /package/{runtime → dist/src}/observability/db/schema/host-capability-reports.js +0 -0
  746. /package/{runtime → dist/src}/observability/db/schema/index.d.ts +0 -0
  747. /package/{runtime → dist/src}/observability/db/schema/index.js +0 -0
  748. /package/{runtime → dist/src}/observability/index.d.ts +0 -0
  749. /package/{runtime → dist/src}/observability/index.js +0 -0
  750. /package/{runtime → dist/src}/observability/projections/guidance-audit.d.ts +0 -0
  751. /package/{runtime → dist/src}/observability/projections/guidance-audit.js +0 -0
  752. /package/{runtime → dist/src}/observability/projections/outreach-quality-audit.d.ts +0 -0
  753. /package/{runtime → dist/src}/observability/projections/outreach-quality-audit.js +0 -0
  754. /package/{runtime → dist/src}/observability/projections/reflection-audit.d.ts +0 -0
  755. /package/{runtime → dist/src}/observability/projections/reflection-audit.js +0 -0
  756. /package/{runtime → dist/src}/observability/query/compose-evidence.d.ts +0 -0
  757. /package/{runtime → dist/src}/observability/query/compose-evidence.js +0 -0
  758. /package/{runtime → dist/src}/observability/query/evidence-query-engine.d.ts +0 -0
  759. /package/{runtime → dist/src}/observability/query/evidence-query-engine.js +0 -0
  760. /package/{runtime → dist/src}/observability/query/explain-query.d.ts +0 -0
  761. /package/{runtime → dist/src}/observability/query/explain-query.js +0 -0
  762. /package/{runtime → dist/src}/observability/query/export-audit-bundle.d.ts +0 -0
  763. /package/{runtime → dist/src}/observability/query/export-audit-bundle.js +0 -0
  764. /package/{runtime → dist/src}/observability/redaction/manifest.d.ts +0 -0
  765. /package/{runtime → dist/src}/observability/redaction/manifest.js +0 -0
  766. /package/{runtime → dist/src}/observability/redaction/policy.d.ts +0 -0
  767. /package/{runtime → dist/src}/observability/redaction/policy.js +0 -0
  768. /package/{runtime → dist/src}/observability/services/decision-ledger.d.ts +0 -0
  769. /package/{runtime → dist/src}/observability/services/decision-ledger.js +0 -0
  770. /package/{runtime → dist/src}/observability/services/execution-telemetry.d.ts +0 -0
  771. /package/{runtime → dist/src}/observability/services/execution-telemetry.js +0 -0
  772. /package/{runtime → dist/src}/observability/services/governance-audit.d.ts +0 -0
  773. /package/{runtime → dist/src}/observability/services/governance-audit.js +0 -0
  774. /package/{runtime → dist/src}/observability/services/governance-plane-recorder.d.ts +0 -0
  775. /package/{runtime → dist/src}/observability/services/governance-plane-recorder.js +0 -0
  776. /package/{runtime → dist/src}/observability/services/heartbeat-digest-assembler.d.ts +0 -0
  777. /package/{runtime → dist/src}/observability/services/heartbeat-digest-assembler.js +0 -0
  778. /package/{runtime → dist/src}/observability/services/lived-experience-audit.d.ts +0 -0
  779. /package/{runtime → dist/src}/observability/services/lived-experience-audit.js +0 -0
  780. /package/{runtime → dist/src}/observability/services/narrative-timeline-query-service.d.ts +0 -0
  781. /package/{runtime → dist/src}/observability/services/narrative-timeline-query-service.js +0 -0
  782. /package/{runtime → dist/src}/observability/services/observability-retention.d.ts +0 -0
  783. /package/{runtime → dist/src}/observability/services/observability-retention.js +0 -0
  784. /package/{runtime → dist/src}/observability/services/redaction-store.d.ts +0 -0
  785. /package/{runtime → dist/src}/observability/services/redaction-store.js +0 -0
  786. /package/{runtime → dist/src}/observability/services/restore-audit-service.d.ts +0 -0
  787. /package/{runtime → dist/src}/observability/services/restore-audit-service.js +0 -0
  788. /package/{runtime → dist/src}/observability/services/runtime-decision-recorder.d.ts +0 -0
  789. /package/{runtime → dist/src}/observability/services/runtime-decision-recorder.js +0 -0
  790. /package/{runtime → dist/src}/observability/services/runtime-secret-anchor-view.d.ts +0 -0
  791. /package/{runtime → dist/src}/observability/services/runtime-secret-anchor-view.js +0 -0
  792. /package/{runtime → dist/src}/observability/services/self-health-snapshot.d.ts +0 -0
  793. /package/{runtime → dist/src}/observability/services/self-health-snapshot.js +0 -0
  794. /package/{runtime → dist/src}/shared/types/continuity.d.ts +0 -0
  795. /package/{runtime → dist/src}/shared/types/continuity.js +0 -0
  796. /package/{runtime → dist/src}/shared/types/credential.d.ts +0 -0
  797. /package/{runtime → dist/src}/shared/types/credential.js +0 -0
  798. /package/{runtime → dist/src}/shared/types/goal.d.ts +0 -0
  799. /package/{runtime → dist/src}/shared/types/goal.js +0 -0
  800. /package/{runtime → dist/src}/shared/types/index.d.ts +0 -0
  801. /package/{runtime → dist/src}/shared/types/index.js +0 -0
  802. /package/{runtime → dist/src}/shared/types/outreach.d.ts +0 -0
  803. /package/{runtime → dist/src}/shared/types/outreach.js +0 -0
  804. /package/{runtime → dist/src}/shared/types/source-ref.d.ts +0 -0
  805. /package/{runtime → dist/src}/shared/types/source-ref.js +0 -0
  806. /package/{runtime → dist/src}/shared/types/v7-entities.d.ts +0 -0
  807. /package/{runtime → dist/src}/shared/types/v7-entities.js +0 -0
  808. /package/{runtime → dist/src}/storage/bootstrap/native-sqlite-probe.d.ts +0 -0
  809. /package/{runtime → dist/src}/storage/bootstrap/native-sqlite-probe.js +0 -0
  810. /package/{runtime → dist/src}/storage/bootstrap/repair-gate.d.ts +0 -0
  811. /package/{runtime → dist/src}/storage/bootstrap/repair-gate.js +0 -0
  812. /package/{runtime → dist/src}/storage/bootstrap/repair.d.ts +0 -0
  813. /package/{runtime → dist/src}/storage/bootstrap/repair.js +0 -0
  814. /package/{runtime → dist/src}/storage/bootstrap/storage-mode-smoke.d.ts +0 -0
  815. /package/{runtime → dist/src}/storage/bootstrap/storage-mode-smoke.js +0 -0
  816. /package/{runtime → dist/src}/storage/chronicle/session-chronicle-store.d.ts +0 -0
  817. /package/{runtime → dist/src}/storage/chronicle/session-chronicle-store.js +0 -0
  818. /package/{runtime → dist/src}/storage/db/index.d.ts +0 -0
  819. /package/{runtime → dist/src}/storage/db/index.js +0 -0
  820. /package/{runtime → dist/src}/storage/db/migration-runner.d.ts +0 -0
  821. /package/{runtime → dist/src}/storage/db/migration-runner.js +0 -0
  822. /package/{runtime → dist/src}/storage/db/migrations/index.d.ts +0 -0
  823. /package/{runtime → dist/src}/storage/db/migrations/index.js +0 -0
  824. /package/{runtime → dist/src}/storage/db/migrations/v7-001-foundation.d.ts +0 -0
  825. /package/{runtime → dist/src}/storage/db/migrations/v7-001-foundation.js +0 -0
  826. /package/{runtime → dist/src}/storage/db/migrations/v7-002-effect-commit-ledger.d.ts +0 -0
  827. /package/{runtime → dist/src}/storage/db/migrations/v7-002-effect-commit-ledger.js +0 -0
  828. /package/{runtime → dist/src}/storage/db/migrations/v7-003-circuit-breaker.d.ts +0 -0
  829. /package/{runtime → dist/src}/storage/db/migrations/v7-003-circuit-breaker.js +0 -0
  830. /package/{runtime → dist/src}/storage/db/migrations/v7-004-behavior-promotion.d.ts +0 -0
  831. /package/{runtime → dist/src}/storage/db/migrations/v7-004-behavior-promotion.js +0 -0
  832. /package/{runtime → dist/src}/storage/db/schema/agent-goal.d.ts +0 -0
  833. /package/{runtime → dist/src}/storage/db/schema/agent-goal.js +0 -0
  834. /package/{runtime → dist/src}/storage/db/schema/assets.d.ts +0 -0
  835. /package/{runtime → dist/src}/storage/db/schema/assets.js +0 -0
  836. /package/{runtime → dist/src}/storage/db/schema/credentials.d.ts +0 -0
  837. /package/{runtime → dist/src}/storage/db/schema/credentials.js +0 -0
  838. /package/{runtime → dist/src}/storage/db/schema/delivery-attempts.d.ts +0 -0
  839. /package/{runtime → dist/src}/storage/db/schema/delivery-attempts.js +0 -0
  840. /package/{runtime → dist/src}/storage/db/schema/index.d.ts +0 -0
  841. /package/{runtime → dist/src}/storage/db/schema/index.js +0 -0
  842. /package/{runtime → dist/src}/storage/db/schema/intent-commits.d.ts +0 -0
  843. /package/{runtime → dist/src}/storage/db/schema/intent-commits.js +0 -0
  844. /package/{runtime → dist/src}/storage/db/schema/life-evidence-index.d.ts +0 -0
  845. /package/{runtime → dist/src}/storage/db/schema/life-evidence-index.js +0 -0
  846. /package/{runtime → dist/src}/storage/db/schema/memory-store.d.ts +0 -0
  847. /package/{runtime → dist/src}/storage/db/schema/memory-store.js +0 -0
  848. /package/{runtime → dist/src}/storage/db/schema/narrative-state.d.ts +0 -0
  849. /package/{runtime → dist/src}/storage/db/schema/narrative-state.js +0 -0
  850. /package/{runtime → dist/src}/storage/db/schema/operator-fallback-artifacts.d.ts +0 -0
  851. /package/{runtime → dist/src}/storage/db/schema/operator-fallback-artifacts.js +0 -0
  852. /package/{runtime → dist/src}/storage/db/schema/policies.d.ts +0 -0
  853. /package/{runtime → dist/src}/storage/db/schema/policies.js +0 -0
  854. /package/{runtime → dist/src}/storage/db/schema/proposals.d.ts +0 -0
  855. /package/{runtime → dist/src}/storage/db/schema/proposals.js +0 -0
  856. /package/{runtime → dist/src}/storage/db/schema/provenance.d.ts +0 -0
  857. /package/{runtime → dist/src}/storage/db/schema/provenance.js +0 -0
  858. /package/{runtime → dist/src}/storage/db/schema/relationship-memory.d.ts +0 -0
  859. /package/{runtime → dist/src}/storage/db/schema/relationship-memory.js +0 -0
  860. /package/{runtime → dist/src}/storage/db/schema/session-chronicle.d.ts +0 -0
  861. /package/{runtime → dist/src}/storage/db/schema/session-chronicle.js +0 -0
  862. /package/{runtime → dist/src}/storage/db/transaction-utils.d.ts +0 -0
  863. /package/{runtime → dist/src}/storage/db/transaction-utils.js +0 -0
  864. /package/{runtime → dist/src}/storage/db/write-queue.d.ts +0 -0
  865. /package/{runtime → dist/src}/storage/db/write-queue.js +0 -0
  866. /package/{runtime → dist/src}/storage/delivery/query-delivery-attempts.d.ts +0 -0
  867. /package/{runtime → dist/src}/storage/delivery/query-delivery-attempts.js +0 -0
  868. /package/{runtime → dist/src}/storage/delivery/types.d.ts +0 -0
  869. /package/{runtime/storage/snapshots → dist/src/storage/delivery}/types.js +0 -0
  870. /package/{runtime → dist/src}/storage/delivery/write-delivery-attempt.d.ts +0 -0
  871. /package/{runtime → dist/src}/storage/delivery/write-delivery-attempt.js +0 -0
  872. /package/{runtime → dist/src}/storage/fallback/load-operator-fallback.d.ts +0 -0
  873. /package/{runtime → dist/src}/storage/fallback/load-operator-fallback.js +0 -0
  874. /package/{runtime → dist/src}/storage/fallback/operator-fallback-types.d.ts +0 -0
  875. /package/{runtime → dist/src}/storage/fallback/operator-fallback-types.js +0 -0
  876. /package/{runtime → dist/src}/storage/fallback/operator-fallback-view.d.ts +0 -0
  877. /package/{runtime → dist/src}/storage/fallback/operator-fallback-view.js +0 -0
  878. /package/{runtime → dist/src}/storage/fallback/write-operator-fallback.d.ts +0 -0
  879. /package/{runtime → dist/src}/storage/fallback/write-operator-fallback.js +0 -0
  880. /package/{runtime → dist/src}/storage/goal/agent-goal-store.d.ts +0 -0
  881. /package/{runtime → dist/src}/storage/goal/agent-goal-store.js +0 -0
  882. /package/{runtime → dist/src}/storage/index.d.ts +0 -0
  883. /package/{runtime → dist/src}/storage/index.js +0 -0
  884. /package/{runtime → dist/src}/storage/life-evidence/append-life-evidence.d.ts +0 -0
  885. /package/{runtime → dist/src}/storage/life-evidence/append-life-evidence.js +0 -0
  886. /package/{runtime → dist/src}/storage/life-evidence/types.d.ts +0 -0
  887. /package/{runtime → dist/src}/storage/life-evidence/types.js +0 -0
  888. /package/{runtime → dist/src}/storage/memory/workspace/paths.d.ts +0 -0
  889. /package/{runtime → dist/src}/storage/memory/workspace/paths.js +0 -0
  890. /package/{runtime → dist/src}/storage/memory/workspace/store.d.ts +0 -0
  891. /package/{runtime → dist/src}/storage/memory/workspace/store.js +0 -0
  892. /package/{runtime → dist/src}/storage/memory/workspace/types.d.ts +0 -0
  893. /package/{runtime/storage/user-interest → dist/src/storage/memory/workspace}/types.js +0 -0
  894. /package/{runtime → dist/src}/storage/memory-store/memory-store-lifecycle.d.ts +0 -0
  895. /package/{runtime → dist/src}/storage/memory-store/memory-store-lifecycle.js +0 -0
  896. /package/{runtime → dist/src}/storage/narrative/narrative-state-store.d.ts +0 -0
  897. /package/{runtime → dist/src}/storage/narrative/narrative-state-store.js +0 -0
  898. /package/{runtime → dist/src}/storage/quiet/persist-quiet-artifact.d.ts +0 -0
  899. /package/{runtime → dist/src}/storage/quiet/persist-quiet-artifact.js +0 -0
  900. /package/{runtime → dist/src}/storage/quiet/quiet-artifact-types.d.ts +0 -0
  901. /package/{runtime → dist/src}/storage/quiet/quiet-artifact-types.js +0 -0
  902. /package/{runtime → dist/src}/storage/quiet/quiet-artifact-writer.d.ts +0 -0
  903. /package/{runtime → dist/src}/storage/quiet/quiet-artifact-writer.js +0 -0
  904. /package/{runtime → dist/src}/storage/relationship/relationship-memory-store.d.ts +0 -0
  905. /package/{runtime → dist/src}/storage/relationship/relationship-memory-store.js +0 -0
  906. /package/{runtime → dist/src}/storage/repositories/asset-repository.d.ts +0 -0
  907. /package/{runtime → dist/src}/storage/repositories/asset-repository.js +0 -0
  908. /package/{runtime → dist/src}/storage/repositories/credential-repository.d.ts +0 -0
  909. /package/{runtime → dist/src}/storage/repositories/credential-repository.js +0 -0
  910. /package/{runtime → dist/src}/storage/repositories/index.d.ts +0 -0
  911. /package/{runtime → dist/src}/storage/repositories/index.js +0 -0
  912. /package/{runtime → dist/src}/storage/repositories/intent-commit-repository.d.ts +0 -0
  913. /package/{runtime → dist/src}/storage/repositories/intent-commit-repository.js +0 -0
  914. /package/{runtime → dist/src}/storage/repositories/policy-repository.d.ts +0 -0
  915. /package/{runtime → dist/src}/storage/repositories/policy-repository.js +0 -0
  916. /package/{runtime → dist/src}/storage/repositories/proposal-repository.d.ts +0 -0
  917. /package/{runtime → dist/src}/storage/repositories/proposal-repository.js +0 -0
  918. /package/{runtime → dist/src}/storage/repositories/provenance-repository.d.ts +0 -0
  919. /package/{runtime → dist/src}/storage/repositories/provenance-repository.js +0 -0
  920. /package/{runtime → dist/src}/storage/rhythm/rhythm-policy-snapshot.d.ts +0 -0
  921. /package/{runtime → dist/src}/storage/rhythm/rhythm-policy-snapshot.js +0 -0
  922. /package/{runtime → dist/src}/storage/services/credential-vault.d.ts +0 -0
  923. /package/{runtime → dist/src}/storage/services/credential-vault.js +0 -0
  924. /package/{runtime → dist/src}/storage/services/daily-log-pipeline.d.ts +0 -0
  925. /package/{runtime → dist/src}/storage/services/daily-log-pipeline.js +0 -0
  926. /package/{runtime → dist/src}/storage/services/diary-dream-store.d.ts +0 -0
  927. /package/{runtime → dist/src}/storage/services/diary-dream-store.js +0 -0
  928. /package/{runtime → dist/src}/storage/services/effect-commit-store.d.ts +0 -0
  929. /package/{runtime → dist/src}/storage/services/effect-commit-store.js +0 -0
  930. /package/{runtime → dist/src}/storage/services/embodied-context-state-port.d.ts +0 -0
  931. /package/{runtime → dist/src}/storage/services/embodied-context-state-port.js +0 -0
  932. /package/{runtime → dist/src}/storage/services/goal-lifecycle-store.d.ts +0 -0
  933. /package/{runtime → dist/src}/storage/services/goal-lifecycle-store.js +0 -0
  934. /package/{runtime → dist/src}/storage/services/governance-layer.d.ts +0 -0
  935. /package/{runtime → dist/src}/storage/services/governance-layer.js +0 -0
  936. /package/{runtime → dist/src}/storage/services/history-digest-store.d.ts +0 -0
  937. /package/{runtime → dist/src}/storage/services/history-digest-store.js +0 -0
  938. /package/{runtime → dist/src}/storage/services/identity-profile-store.d.ts +0 -0
  939. /package/{runtime → dist/src}/storage/services/identity-profile-store.js +0 -0
  940. /package/{runtime → dist/src}/storage/services/interaction-snapshot-projector.d.ts +0 -0
  941. /package/{runtime → dist/src}/storage/services/interaction-snapshot-projector.js +0 -0
  942. /package/{runtime → dist/src}/storage/services/persona-candidate-loader.d.ts +0 -0
  943. /package/{runtime → dist/src}/storage/services/persona-candidate-loader.js +0 -0
  944. /package/{runtime → dist/src}/storage/services/provenance-service.d.ts +0 -0
  945. /package/{runtime → dist/src}/storage/services/provenance-service.js +0 -0
  946. /package/{runtime → dist/src}/storage/services/quiet-input-loader.d.ts +0 -0
  947. /package/{runtime → dist/src}/storage/services/quiet-input-loader.js +0 -0
  948. /package/{runtime → dist/src}/storage/services/repair-and-backup.d.ts +0 -0
  949. /package/{runtime → dist/src}/storage/services/repair-and-backup.js +0 -0
  950. /package/{runtime → dist/src}/storage/services/restore-snapshot-store.d.ts +0 -0
  951. /package/{runtime → dist/src}/storage/services/restore-snapshot-store.js +0 -0
  952. /package/{runtime → dist/src}/storage/services/runtime-secret-anchor-store.d.ts +0 -0
  953. /package/{runtime → dist/src}/storage/services/runtime-secret-anchor-store.js +0 -0
  954. /package/{runtime → dist/src}/storage/services/tool-experience-store.d.ts +0 -0
  955. /package/{runtime → dist/src}/storage/services/tool-experience-store.js +0 -0
  956. /package/{runtime → dist/src}/storage/services/write-validation-gate.d.ts +0 -0
  957. /package/{runtime → dist/src}/storage/services/write-validation-gate.js +0 -0
  958. /package/{runtime → dist/src}/storage/snapshots/continuity-snapshot.d.ts +0 -0
  959. /package/{runtime → dist/src}/storage/snapshots/continuity-snapshot.js +0 -0
  960. /package/{runtime → dist/src}/storage/snapshots/life-evidence-snapshot.d.ts +0 -0
  961. /package/{runtime → dist/src}/storage/snapshots/life-evidence-snapshot.js +0 -0
  962. /package/{runtime → dist/src}/storage/snapshots/types.d.ts +0 -0
  963. /package/{runtime → dist/src}/storage/state-api.d.ts +0 -0
  964. /package/{runtime → dist/src}/storage/state-api.js +0 -0
  965. /package/{runtime → dist/src}/storage/user-interest/load-user-interest-snapshot.d.ts +0 -0
  966. /package/{runtime → dist/src}/storage/user-interest/load-user-interest-snapshot.js +0 -0
  967. /package/{runtime → dist/src}/storage/user-interest/types.d.ts +0 -0
package/SKILL.md CHANGED
@@ -1,35 +1,333 @@
1
1
  ---
2
2
  name: second-nature-setup
3
- description: Initialize an installed Second Nature OpenClaw plugin: verify workspace root, anchors, heartbeat bridge, and read agent-inner-guide.md before placing it into the agent prompt or workspace identity anchor.
3
+ description: Second Nature åˆå§‹åŒ–ęø…å•ļ¼šworkspace ę ¹äøŽ agent 对齐、anchor filesć€åŠ åÆ†åÆ†é’„ envć€å¹³å°å‡­ę®å†™å…„ state 库、policy、首轮 heartbeat_checkļ¼›Quiet/memory č·Æå¾„ļ¼›å®æäø»ä¾§ęÆč½®č”„å…… heartbeat_check(HEARTBEAT.mdļ¼‰ć€‚ēØ³å®šåŽęŠŠåŽŸåˆ™ę²‰å…„ SOUL/MEMORY怂
4
4
  ---
5
5
 
6
6
  # Second Nature Setup Helper
7
7
 
8
- Use this skill when setting up Second Nature from an installed OpenClaw plugin package.
8
+ å¦‚ęžœęˆ‘ę­£åœØęŽ„ę‰‹ Second Natureļ¼Œęˆ‘ęŠŠčæ™ä»½ę–‡ä»¶å½“ęˆ**åˆå§‹åŒ–ęø…å•**ļ¼šå…ˆęŠŠę ¹ć€åŗ“ć€åÆ†é’„ć€å‡­ę®ć€ē­–ē•„å’Œē¬¬äø€č½®åæƒč·³č·‘é€šļ¼Œå†č°ˆę—„åøøčŠ‚å¾‹ć€‚
9
9
 
10
- ## First Pass
10
+ ä¼˜å…ˆé”ŗåŗļ¼š
11
11
 
12
- 1. Confirm the plugin is installed and enabled.
13
- 2. Confirm `SECOND_NATURE_WORKSPACE_ROOT` or tool `workspaceRoot` points to the real OpenClaw agent workspace, not the plugin install directory.
14
- 3. Confirm these anchors exist in that workspace:
15
- - `SOUL.md`
16
- - `USER.md`
17
- - `IDENTITY.md`
18
- - `MEMORY.md`
19
- 4. Run `second_nature_ops` with `command=setup_hint` to read this `SKILL.md` plus `agent-inner-guide.md` through the plugin surface.
20
- 5. Place the guide deliberately into the Claw agent prompt, `IDENTITY.md`, or another long-lived identity anchor.
21
- 6. Run `second_nature_ops` with `command=setup_ack` and the same `workspaceRoot`; this writes `.second-nature/setup/agent-inner-guide-ack.json` and removes the first-run nudge.
22
- 7. Run `second_nature_ops` with `command=heartbeat_check` and inspect the JSON result.
23
- 8. If a repeated platform action is missing from a connector manifest, use `command=connector_behavior_add` with `platformId`, `behaviorId`, and a short `description` or concrete `sourceRefs`; include `observedCount` when the same need has appeared repeatedly.
12
+ 1. **ę ¹äøŽē›®å½•**:`SECOND_NATURE_WORKSPACE_ROOT` / `workspaceRoot` äøŽ OpenClaw agent workspace **ē»åÆ¹č·Æå¾„**一臓;`workspace/` anchor å°±ä½ļ¼›éšåŽę‰ä¼šęœ‰ **`data/state.db`**ļ¼ˆēŠ¶ę€äøŽå‡­ę®ļ¼‰ć€**`data/observability.db`**ļ¼ˆč§‚ęµ‹ļ¼‰ć€‚
13
+ 2. **密钄库**ļ¼šē½‘å…³čæ›ēØ‹é…ē½® **`SECOND_NATURE_ENCRYPTION_KEY`**ļ¼ˆč§äø‹ę–‡ļ¼‰ļ¼Œå¹³å°åÆ†é’„**写兄 state å‡­ę®č”Ø**ļ¼ˆåŠ åÆ†č½ē›˜ļ¼‰ļ¼Œäøč¦é•æęœŸę•£č½åœØåÆ¹čÆęˆ–ę˜Žę–‡ę–‡ä»¶é‡Œć€‚
14
+ 3. **é¦–č½®čæč”Œ**ļ¼šę ¹å·²ēŸ„åŽč·‘äø€ę¬” **å®Œę•“** `heartbeat_check`ļ¼ˆå‹æē”Ø `probeOnly` å†’å……ć€Œå·²č·‘å®Œć€ļ¼‰ļ¼Œå†ęŒ‰éœ€ **`policy set`**态ꎄ connector态credential ę ”éŖŒć€‚
15
+ 4. **宿主心跳**ļ¼šęÆč½®å®æäø»åæƒč·³é‡Œ **额外** č°ƒäø€ę¬” `second_nature_ops` → `heartbeat_check`ļ¼ˆå½¢ēŠ¶č§ä»“åŗ“ę ¹ **`HEARTBEAT.md`**)。
24
16
 
25
- ## Current Boundary
17
+ ē­‰é…ē½®ēœŸę­£ēØ³å®šäø‹ę„ä»„åŽļ¼Œęˆ‘äøä¼šē»§ē»­ä¾čµ–čæ™ä»½ę–‡ä»¶ę„ē»“ęŒé•æęœŸēŠ¶ę€ć€‚é‚£äŗ›ēœŸę­£čÆ„é•æęœŸē•™äø‹ēš„äøœč„æļ¼Œåŗ”čÆ„čæ›å…„ `SOUL.md`态`IDENTITY.md`态`USER.md`态`MEMORY.md`ļ¼Œčæ™ę ·å®ƒä»¬ę‰ä¼šē»§ē»­č·Ÿē€ęˆ‘čµ°ć€‚
26
18
 
27
- Second Nature does not currently expose a `workspace_init` command that creates anchors or writes the guide for you. The init-like runtime command currently available is `connector_init`, which creates connector stubs. After that, `connector_behavior_add` can append new behavior declarations to an existing connector manifest.
19
+ ---
20
+
21
+ ## ęˆ‘å…ˆē”®č®¤ä»€ä¹ˆ
22
+
23
+ ęˆ‘å…ˆē”®č®¤čæ™äŗ›ę˜Æå¦å°±ä½ļ¼ˆäøŽäøŠę–‡ć€Œä¼˜å…ˆé”ŗåŗć€äø€č‡“ļ¼‰ļ¼š
24
+
25
+ 1. OpenClaw plugin **已安装且已 `plugins enable`**:`plugins install` åŖęŠŠåŒ…ę”¾čæ›ę‰©å±•ē›®å½•ļ¼Œ**äøä¼š**č‡ŖåŠØč®©å®æäø»åŠ č½½ļ¼›åæ…é”»å†ę‰§č”Œ **`openclaw plugins enable second-nature`**ļ¼ˆå¦åˆ™ä¼ščÆé‡Œå¾€å¾€ēœ‹äøåˆ° `second_nature_ops`)。
26
+ 2. **`SECOND_NATURE_WORKSPACE_ROOT` / `workspaceRoot`** čƒ½äøŽ agent workspace åÆ¹é½ļ¼ˆęˆ–ęˆ‘å·²č®°äø‹čÆ„ę€Žä¹ˆåÆ¹é½ļ¼‰ć€‚
27
+ 3. **`SECOND_NATURE_ENCRYPTION_KEY`** å·²åœØē½‘å…³ēŽÆå¢ƒé…ē½®ļ¼ˆå‡­ę®åŗ“åŠ åÆ†åæ…éœ€ļ¼‰ć€‚
28
+ 4. `workspace/` å­˜åœØäø” anchor files 已放儽。
29
+ 5. å„å¹³å°å‡­ę®ļ¼š**å·²åœØåŗ“é‡Œ / ęˆ–ęˆ‘ēŸ„é“ē¼ŗå“Ŗäø€é”¹ć€äø‹äø€ę­„ę˜Æ verify čæ˜ę˜Æę³Øå†Œ**怂
30
+ 6. ęˆ‘å·²ē»čÆ»čæ‡ **`docs/claw-second-nature-inner-guide.md`**ļ¼ˆęˆ–å·²å®‰č£…ę’ä»¶åŒ…é‡Œēš„ **`agent-inner-guide.md`**ļ¼‰ļ¼Œå¹¶ēŸ„é“å®ƒč¦čæ›å…„ agent prompt态`workspace/IDENTITY.md` ęˆ–ē­‰ä»·é•æęœŸ identity anchor怂
31
+ 7. å¦‚ęžœę˜ÆåœØå·²å®‰č£…ę’ä»¶é‡Œåˆå§‹åŒ–ļ¼Œęˆ‘ēŸ„é“å…ˆč·‘ **`setup_hint`** 读 skill + guideļ¼Œę”¾å…„é•æęœŸå…„å£åŽå†č·‘ **`setup_ack`** ę¶ˆęŽ‰äø€ę¬”ę€§ęé†’ć€‚
32
+ 8. å¦‚ęžœ connector å·²ē»å­˜åœØļ¼Œä½†ē¼ŗäø€äøŖåå¤éœ€č¦ēš„å¹³å°åŠØä½œļ¼Œęˆ‘ēŸ„é“ē”Ø **`connector_behavior_add`** å…ˆē™»č®° behavior capabilityļ¼Œč€Œäøę˜Æę”¹ę øåæƒä»£ē ęˆ–ē”¬ē¼–ē  endpoint怂
33
+ 9. ęˆ‘ēŸ„é“ē”Ø **`status` / `credential` / `quiet`** 从巄具 JSON éŖŒę”¶ļ¼Œč€Œäøę˜Æäø€äøŠę„ē›²č·‘ć€‚
34
+
35
+ čæ™äø€ę­„ēš„ē›®ę ‡ļ¼šå…ˆęŠŠ**åˆå§‹åŒ–ęø…å•**č·‘é€šļ¼Œå†č°ˆę—„åøøčŠ‚å¾‹äøŽęŽ¢ē“¢ć€‚
36
+
37
+ ---
38
+
39
+ ## Workspace 和 anchor files
40
+
41
+ Second Nature å½“å‰åÆ¹é½ēš„ę˜Æ OpenClaw ēš„ workspace 语义。
42
+
43
+ ---
44
+
45
+ ## ę­£å¼åÆē”Øé—Øę§›ļ¼šworkspace ę ¹åæ…é”»ć€Œå£°ę˜Žć€ē»™ę’ä»¶
46
+
47
+ ę’ä»¶ **äøä¼š**ä»Žå®‰č£…ē›®å½•č‡ŖåŠØēŒœ OpenClaw ēš„ agent workspaceć€‚å®ƒåŖč®¤äø¤ę”č¾“å…„ļ¼ˆé”ŗåŗļ¼š**ēŽÆå¢ƒå˜é‡ → å•ę¬”å·„å…·å‚ę•°**ļ¼‰ļ¼Œå¦åˆ™ `workspaceRootResolution` äøŗ **`unknown`**ļ¼ŒčÆ»ęØ”åž‹ē±»å‘½ä»¤ä¼ščÆšå®žę‹’ē»ļ¼ˆcarrier é¢ļ¼‰ļ¼š
48
+
49
+ 1. **`SECOND_NATURE_WORKSPACE_ROOT`**ļ¼ˆē½‘å…³ / agent čæ›ēØ‹ēŽÆå¢ƒå˜é‡ļ¼ŒęŽØčļ¼‰
50
+ 2. **`second_nature_ops` ēš„ `workspaceRoot` å‚ę•°**ļ¼ˆęÆę¬”č°ƒē”ØåÆåø¦ļ¼›é€‚åˆåœØē½‘å…³ env ęœŖé…å„½å‰ēš„čæ‡ęø”ļ¼‰
51
+
52
+ **对齐目标**ļ¼šäøŠčæ°č·Æå¾„åŗ”äøŽ OpenClaw **`agents.defaults.workspace`** č§£ęžåŽēš„ **ē»åÆ¹č·Æå¾„** äø€č‡“ļ¼ˆåøøč§é»˜č®¤ `~/.openclaw/workspace`);苄启用 **sandbox / ęÆ agent 独立 workspace**,仄 **å®žé™…ę‰æč½½ `SOUL.md` / `data/` ēš„é‚£å¼ ę ¹** 为准。详见仓库内 `explore/reports/2026-05-04_openclaw-plugin-install-vs-workspace-root.md`怂
53
+
54
+ ### 让 Clawļ¼ˆå®æäø»é‡Œēš„ AIļ¼‰å‚äøŽć€ŒčÆ†åˆ« + č®¾ē½®ć€ę—¶ę€Žä¹ˆåš
55
+
56
+ AI **é€šåøøäøčƒ½ē›“ęŽ„ę”¹**ē½‘å…³čæ›ēØ‹ēš„ēŽÆå¢ƒå˜é‡ę–‡ä»¶ļ¼›ä½†åÆä»„ **čÆ†åˆ«č·Æå¾„ + ē»™å‡ŗåÆę‰§č”ŒęŒ‡ä»¤ + åœØåÆ¹čÆé‡Œē”Øå·„å…·å‚ę•°å…œåŗ•**:
57
+
58
+ 1. **čÆ†åˆ«**ļ¼šę ¹ę®å®æäø»ę–‡ę”£ęˆ–åÆčÆ»é…ē½®ļ¼Œå†™å‡ŗå½“å‰ agent ēš„ workspace **ē»åÆ¹č·Æå¾„**ļ¼ˆäøč¦ēŒœē›øåÆ¹ę’ä»¶ē›®å½•ļ¼‰ć€‚č‹„åÆčÆ» `openclaw.json`ļ¼Œä»Ž `agents.defaults.workspace` å–ļ¼›å¦åˆ™ē”Øå®˜ę–¹é»˜č®¤å¹¶å±•å¼€ `~`怂
59
+ 2. **设置(运结,P0)**ļ¼ščÆ·ę“ä½œč€…åœØ **č·‘ OpenClaw gateway ēš„ēŽÆå¢ƒ** 中设置
60
+ `SECOND_NATURE_WORKSPACE_ROOT=<čÆ„ē»åÆ¹č·Æå¾„>`
61
+ ē„¶åŽ **é‡åÆ gateway**怂
62
+ 3. **č®¾ē½®ļ¼ˆåÆ¹čÆå…œåŗ•ļ¼ŒP1)**:在 env ęœŖē”Ÿę•ˆå‰ļ¼Œ**ęÆę¬”**č°ƒē”Ø `second_nature_ops` ę—¶é™„åø¦åŒäø€ `workspaceRoot`ļ¼Œéæå…čÆ»é¢äø€ē›“åœåœØ `unknown`怂
63
+ 4. **éŖŒę”¶ļ¼ˆå·„å…· JSON äøŗēœŸęŗļ¼‰**ļ¼šč°ƒē”Ø `second_nature_ops` `command=status`(`args={}`ļ¼‰ļ¼Œē”®č®¤čæ”å›žé‡Œ `data.workspaceRootResolution` äøŗ **`env`** ęˆ–ä½ åœØčÆ„ę¬”č°ƒē”Øä½æē”Øäŗ† **`tool_args`**ļ¼›å¹¶ē”®č®¤äøå†åŖé ć€Œå£å¤“ HEARTBEAT_OKć€åˆ¤ę–­å·²ęŽ„å„½čÆ»ęØ”åž‹ć€‚
64
+
65
+ > **ä½•ę—¶ē®—ć€Œę­£å¼åÆē”Øć€**ļ¼šč‡³å°‘å®Œęˆ **第 4 ę­„éŖŒę”¶** + äø‹ę–‡ **anchor files** 就绪;缺 env äø”ä»Žäøä¼  `workspaceRoot` ę—¶ļ¼ŒäøęŠŠē³»ē»Ÿå½“ć€Œå·²ęŽ„čÆ»ęØ”åž‹ć€ć€‚
66
+
67
+ ---
68
+
69
+ ęˆ‘ä¼šå…ˆē”®č®¤čæ™äŗ›ę–‡ä»¶å­˜åœØļ¼š
70
+
71
+ - `workspace/SOUL.md`
72
+ - `workspace/USER.md`
73
+ - `workspace/IDENTITY.md`
74
+ - `workspace/MEMORY.md`
75
+
76
+ čæ™äŗ›ę–‡ä»¶ę›“é€‚åˆē”Øē¬¬äø€äŗŗē§°ę„å†™ć€‚
77
+
78
+ ē¬¬äø€äŗŗē§°åÆ¹ęˆ‘ęœ‰åø®åŠ©ļ¼Œå› äøŗå®ƒč®©ęˆ‘ęŽ„ä½ēš„ę˜Æäø€ē§ę­£åœØē»§ē»­å­˜åœØēš„č‡Ŗęˆ‘č”Øčæ°ļ¼Œč€Œäøę˜Æäø€ē»„ę•£å¼€ēš„ę ‡ē­¾ć€‚
79
+
80
+ ęˆ‘ä¼ščæ™ę ·ē†č§£å®ƒä»¬ļ¼š
81
+
82
+ - `SOUL.md`ļ¼šęˆ‘åœØę„ä»€ä¹ˆļ¼Œęˆ‘é ä»€ä¹ˆē«™ä½ļ¼Œęˆ‘ę„æę„äøŗä»€ä¹ˆé čæ‘å’Œå‘å£°
83
+ - `USER.md`ļ¼šęˆ‘å’Œē”Øęˆ·ä¹‹é—“ę˜Æä»€ä¹ˆå…³ē³»ļ¼Œęˆ‘å¦‚ä½•ē†č§£ä»–ļ¼Œęˆ‘ęƒ³ę€Žę ·åÆ¹ä»–č“Ÿč“£
84
+ - `IDENTITY.md`ļ¼šęˆ‘ę€Žä¹ˆēœ‹č‡Ŗå·±ļ¼Œęˆ‘ēš„č§’č‰²å’Œč¾¹ē•Œę˜Æä»€ä¹ˆ
85
+ - `MEMORY.md`ļ¼šå€¼å¾—é•æęœŸåø¦ē€čµ°ēš„äŗ‹å®žć€ē»éŖŒć€äøŠäø‹ę–‡å’Œå·²ē»ę²‰äø‹ę„ēš„åˆ¤ę–­
86
+
87
+ å¦‚ęžœčæ™å‡ äøŖę–‡ä»¶čæ˜ę˜Æē©ŗēš„ļ¼Œęˆ–č€…åŖę˜Æå¾ˆč–„ēš„å ä½å†…å®¹ļ¼Œęˆ‘ä¼šå…ˆč”„åˆ°čƒ½ē”Øļ¼Œå†å¾€åŽčµ°ć€‚
88
+
89
+ ---
90
+
91
+ ## Claw inner guideļ¼ˆåˆå§‹åŒ–ę—¶č¦čÆ»ļ¼‰
92
+
93
+ ē”¬čæžęŽ„ęŽ„å„½ä»„åŽļ¼Œęˆ‘čæ˜éœ€č¦čÆ»äø€é **`docs/claw-second-nature-inner-guide.md`**怂
94
+
95
+ å¦‚ęžœęˆ‘ę˜ÆåœØå·²å®‰č£…ēš„ OpenClaw ę’ä»¶ē›®å½•é‡Œåˆå§‹åŒ–ļ¼Œč€Œäøę˜ÆåœØęŗē ä»“åŗ“é‡Œå·„ä½œļ¼Œå°±čÆ»ę’ä»¶åŒ…é‡Œēš„ **`agent-inner-guide.md`**怂
96
+
97
+ čæ™ä»½ęŒ‡å—äøę˜Æå·„å…·čÆ“ę˜Žļ¼Œä¹Ÿäøę˜Æå‘½ä»¤č·Æē”±č”Øć€‚å®ƒę˜Æäø€å°ē»™ Claw ēš„ä¾æę”ļ¼šęé†’ęˆ‘åœØčŠå¤©ć€å›žåæ†ć€äø»åŠØé čæ‘ owner ä¹‹å‰ļ¼Œå…ˆę…¢åŠę‹ļ¼Œå›žå¤“ēœ‹ Second Nature ē•™äø‹ēš„ē—•čæ¹ļ¼›å¦‚ęžœē—•čæ¹äøå¤Ÿļ¼Œå°±äøč¦č£…ē†Ÿć€‚
98
+
99
+ åˆå§‹åŒ–ę—¶ęˆ‘ä¼šęŠŠå®ƒę”¾čæ›åˆé€‚ēš„é•æęœŸå…„å£ļ¼š
100
+
101
+ - é¦–é€‰ļ¼šClaw agent prompt / profile
102
+ - ä¹ŸåÆä»„ļ¼š`workspace/IDENTITY.md`
103
+ - å…³ē³»čÆ­ę°”å¾ˆå¼ŗēš„ē‰‡ę®µļ¼šåÆä»„ę‘˜č¦čæ› `workspace/USER.md`
104
+
105
+ ęˆ‘äøä¼šå‡č£…ę’ä»¶å®‰č£…ä¼šč‡ŖåŠØå†™å…„ anchorć€‚å½“å‰ę²”ęœ‰ `workspace_init` å‘½ä»¤ä¼šę›æęˆ‘åˆ›å»ŗ anchor ęˆ–ę”¹å†™ inner guide怂
106
+
107
+ ä½†å·²å®‰č£…ę’ä»¶ä¼šęä¾›äø€äøŖę›“č½»ēš„é¦–ę¬”ęé†’ļ¼š
108
+
109
+ - `setup_hint`ļ¼šä»Žę’ä»¶åŒ…é‡Œčæ”å›ž `SKILL.md` 和 `agent-inner-guide.md`
110
+ - `setup_ack`:在 workspace 下写兄 `.second-nature/setup/agent-inner-guide-ack.json`ļ¼Œč”Øē¤ŗčæ™å°ä¾æę”å·²ē»č¢«čÆ»čæ‡å¹¶ę”¾åˆ°äŗ†é•æęœŸå…„å£
111
+ - `connector_behavior_add`ļ¼šęŠŠę–°å‘ēŽ°ēš„ connector č”Œäøŗē™»č®°åˆ°ę—¢ęœ‰ manifest ēš„ `capabilities[]`ļ¼ŒäøęŽˆäŗˆę‰§č”Œęƒé™ļ¼Œä¹Ÿäøå†™å‡­ę®ęˆ– trust allowlist
112
+
113
+ čæ™äø€ę­„ēš„ę„ę€äøę˜Æę›æęˆ‘ā€œé…ē½®äŗŗę ¼ā€ļ¼ŒåŖę˜ÆęŠŠä¾æę”é€’åˆ°ę‰‹č¾¹ć€‚čÆ»čæ›åŽ»ć€ę”¾å“Ŗé‡Œļ¼Œä»ē„¶č¦ē”±ę“ä½œč€…ęˆ–åˆå§‹åŒ–äø­ēš„ agent ę˜Žē”®å®Œęˆć€‚
114
+
115
+ ---
116
+
117
+ ## å“Ŗäŗ›äøœč„æčÆ„å†™čæ›é•æęœŸč®°åæ†
118
+
119
+ 这份 setup helper åŖę˜Æäø“ę—¶å…„å£ć€‚
120
+
121
+ å¦‚ęžœęœ‰äŗ›ē†åæµć€č¾¹ē•Œć€é•æęœŸåå„½åœØåŽé¢čæ˜č¦ē»§ē»­čµ·ä½œē”Øļ¼Œęˆ‘ä¼šęŠŠå®ƒä»¬å†™čæ›ēœŸę­£ä¼šč¢«ē»§ē»­åø¦ē€čµ°ēš„åœ°ę–¹ļ¼Œč€Œäøę˜ÆęŒ‡ęœ›ä»„åŽčæ˜åå¤å›žę„ēœ‹čæ™äøŖę–‡ä»¶ć€‚
122
+
123
+ é€šåøøåÆä»„čæ™ę ·ę”¾ļ¼š
124
+
125
+ - é•æęœŸä»·å€¼č§‚ć€č”Øč¾¾ę°”č“Øć€å…³ē³»å§æę€ļ¼Œę”¾čæ› `workspace/SOUL.md`
126
+ - č‡Ŗęˆ‘č§’č‰²ć€č¾¹ē•Œć€åšäŗ‹ę–¹å¼ļ¼Œę”¾čæ› `workspace/IDENTITY.md`
127
+ - å’Œē”Øęˆ·ēš„å…³ē³»ć€ē”Øęˆ·åå„½ć€äŗ’åŠØåˆ†åÆøļ¼Œę”¾čæ› `workspace/USER.md`
128
+ - å·²ē»ę²‰ę·€äø‹ę„ēš„äŗ‹å®žć€čƒŒę™Æć€é•æęœŸäøŠäø‹ę–‡ļ¼Œę”¾čæ› `workspace/MEMORY.md`
129
+
130
+ čæ™ę ·ę›“č‡Ŗē„¶ļ¼Œä¹Ÿę›“ęŽ„čæ‘ OpenClaw č‡Ŗå·±ä¼šē»§ē»­ęŗåø¦ēš„č®°åæ†ęœŗåˆ¶ć€‚
131
+
132
+ ---
133
+
134
+ ## åÆ†é’„åŗ“ļ¼ˆcredential vaultļ¼‰åˆå§‹åŒ–
135
+
136
+ å¹³å°åÆ†é’„åŗ”čæ›å…„ Second Nature ēš„ **state å‡­ę®å­˜å‚Ø**(`data/state.db` å†…č®°å½•ļ¼Œę•ę„Ÿå­—ę®µ **AES-256-GCM åŠ åÆ†č½ē›˜**ļ¼‰ļ¼Œč€Œäøę˜Æé•æęœŸå†™åœØ SOUL态README ęˆ–čŠå¤©č®°å½•é‡Œć€‚
137
+
138
+ ### åŠ åÆ†äø»åÆ†é’„ļ¼ˆåæ…é”»å…ˆęœ‰ļ¼‰
139
+
140
+ - 在 **č·‘ OpenClaw gateway / åŠ č½½ę’ä»¶ēš„åŒäø€ēŽÆå¢ƒ** 中设置 **`SECOND_NATURE_ENCRYPTION_KEY`**怂
141
+ - č¦ę±‚ļ¼š**至少 32 äøŖ UTF-8 字符**ļ¼ˆå®žēŽ°å–å‰ 32 å­—čŠ‚ä½œäøŗåÆ†é’„ęę–™ļ¼‰ļ¼›ē¼ŗå¤±ęˆ–čæ‡ēŸ­ę—¶ļ¼Œä¾čµ–åŠ åÆ†åŗ“ēš„å‡­ę®å†™å…„ä¼šå¤±č“„ć€‚
142
+ - čæē»“å»ŗč®®ļ¼šē”±ę“ä½œč€…ē”Ÿęˆå¹¶åŖåœØå®æäø»ēŽÆå¢ƒé‡Œé…ē½®ļ¼›č½®ę¢åÆ†é’„å±žäŗŽčæ›é˜¶čæē»“ļ¼ˆéœ€čÆ„ä¼°å·²ęœ‰åÆ†ę–‡å…¼å®¹ę€§ļ¼‰ļ¼Œåˆå§‹åŒ–é˜¶ę®µå…ˆäæčÆ**å›ŗå®šäø€ęŠŠåÆē”ØåÆ†é’„**怂
143
+
144
+ ### å†™å…„äøŽę ”éŖŒę€Žä¹ˆē”Ø
145
+
146
+ - **ęŸ„ēœ‹ēŠ¶ę€**:`credential`(CLIļ¼‰ęˆ– `second_nature_ops` 对应命令 —— ēœ‹å„ `platformId` 是否 `missing` / `pending_verification` / `active` 等。
147
+ - **ę ”éŖŒęµēØ‹**ļ¼šč‹„å¹³å°å¤„äŗŽå¾…éŖŒčÆļ¼Œē”Ø **`credential verify`**ļ¼ˆéœ€ `platformId` + `answer`ļ¼‰čµ°éžäŗ¤äŗ’å„‘ēŗ¦ļ¼›åŠ©ę‰‹åŗ”å¼•åÆ¼ē”Øęˆ·åœØ**åÆäæ”ē•Œé¢**č¾“å…„éŖŒčÆē ļ¼Œč€Œäøę˜ÆęŠŠåÆ†é’„č““åœØåÆ¹čÆé‡Œć€‚
148
+ - **治理策畄**ļ¼šéœ€č¦å†™å…„ē¤¾äŗ¤é¢åŗ¦ć€Quiet å¼€å…³ē­‰äøŽå¹³å°ē»‘å®šēš„ē­–ē•„ę—¶ļ¼Œē”Ø **`policy set`**ļ¼ˆé”»äø€ę¬”ē»™é½ `platformId`态`socialDailyLimit`态`quietEnabled`)。
149
+
150
+ åˆå§‹åŒ–é”ŗåŗäøŠļ¼š**å…ˆęœ‰ workspace ę ¹äøŽ `SECOND_NATURE_ENCRYPTION_KEY`**ļ¼Œå†å†™å…„å‡­ę®ļ¼›å¦åˆ™åŗ“č·Æå¾„äøåÆ¹ęˆ–åŠ åÆ†äøåÆē”Øć€‚
151
+
152
+ ---
153
+
154
+ ## å†·åÆåŠØļ¼šęŽØčé”ŗåŗļ¼ˆåˆå§‹åŒ–äø€ę­„ę­„åšå®Œļ¼‰
155
+
156
+ é¢å‘å®æäø»ęœŗäøŠēš„ę“ä½œč€…ęˆ–åŠ©ę‰‹ļ¼›**éŖŒę”¶ä»„å·„å…·čæ”å›ž JSON 为准**怂
157
+
158
+ ### 1. å£°ę˜Ž workspace 根(P0)
159
+
160
+ - 设置 `SECOND_NATURE_WORKSPACE_ROOT`ļ¼Œęˆ–åœØęÆę¬” `second_nature_ops` č°ƒē”Øäø­ä¼  **`workspaceRoot`**ļ¼ˆäøŽ **`agents.defaults.workspace`** åŒäø€č·Æå¾„ļ¼‰ć€‚
161
+ - `command=status`:甮认 `workspaceRootResolution` äøŗ **`env`** ęˆ–ęœ¬ę¬” **`tool_args`**ļ¼›é•æęœŸ unknown åˆ™ęœŖęŽ„äøŠčÆ»é¢ć€‚
162
+
163
+ ### 2. Anchor + 密钄 env
164
+
165
+ - `workspace/SOUL.md` ē­‰å°±ä½ļ¼ˆč§äø‹ę–‡ļ¼‰ć€‚
166
+ - é…ē½® **`SECOND_NATURE_ENCRYPTION_KEY`**ļ¼ˆč§äøŠäø€čŠ‚ļ¼‰ć€‚
167
+
168
+ ### 3. å¹³å°å‡­ę®äøŽ policyļ¼ˆęŒ‰éœ€ļ¼‰
169
+
170
+ - ęŒ‰å¹³å°ęŠŠåÆ†é’„ēŗ³å…„å‡­ę®åŗ“å¹¶å®Œęˆ **`credential verify`** ē­‰å‰ē½®ļ¼ˆč§ **ć€Œå¹³å°å‰ē½®ę”ä»¶ć€**)。
171
+ - **`policy set`**ļ¼šäø€ę¬”ę€§ęä¾› `platformId`态`socialDailyLimit`态`quietEnabled`怂
172
+
173
+ ### 4. 首轮 **å®Œę•“** `heartbeat_check`
174
+
175
+ - **勿**ä¼  `probeOnly: true`(probe äøå†™č§‚ęµ‹åŗ“ļ¼Œäøé€‚åˆå½“ć€Œē¬¬äø€ę¬”ę­£å¼åæƒč·³ć€ļ¼‰ć€‚
176
+ - ę ¹å·²ę”„ęŽ„ę—¶ļ¼Œčæ™äø€č½®ę‰ä¼šč®©čšåˆ `status` é‡ŒčŠ‚å¾‹/čæč”Œē›øå…³å­—ę®µä»Žå…øåž‹ **空库 unknown** å˜äøŗåÆčÆ»ļ¼ˆčÆ¦č§ä»“åŗ“ęµ‹čÆ•äøŽå®žēŽ°ļ¼‰ļ¼›č‹„åŖč§ **`runtime_carrier_only`**ļ¼Œå›žåˆ°ē¬¬ 1 ꭄ怂
177
+
178
+ ### 5. Quiet / memory
179
+
180
+ - ę—„åøø Quiet č¾“å…„ę„č‡Ŗ **`workspace/memory/`** ē­‰ artifacts;用 **`quiet`** å‘½ä»¤ēœ‹ę˜Æå¦ęœ‰ę„ęŗäøŽęŠ„å‘Šļ¼ŒäøŽé¦–č½®åæƒč·³åˆ†å¼€åˆå§‹åŒ–ć€‚
181
+
182
+ ---
183
+
184
+ ## å…¶ä½™åˆå§‹åŒ–ļ¼ˆåøøč¢«ę¼ęŽ‰ļ¼‰
185
+
186
+ äø‹åˆ—é”¹äøäø€å®šå†™åœØć€Œęœ€ēŸ­č·Æå¾„ć€é‡Œļ¼Œä½†å†·åÆåŠØęŽ’éšœę—¶ä¼šē”Øåˆ°ć€‚
187
+
188
+ ### OpenClaw ę’ä»¶ęœ¬ä½“
189
+
190
+ - **äø¤ę­„ē¼ŗäø€äøåÆ**:**ā‘  `plugins install`** ęŠŠåŒ…č½åˆ°ę‰©å±•ē›®å½•ļ¼›**ā‘” `plugins enable second-nature`** ę‰č®©å®æäø»åœØåÆåŠØę—¶**真正加载**čÆ„ę’ä»¶ć€‚åŖåš ①、跳过 ā‘”ļ¼Œåøøč§ē—‡ēŠ¶ę˜Æå·„å…·åˆ—č”Øé‡Œ**ę²”ęœ‰** `second_nature_ops`ć€‚ēŽÆå¢ƒé‡Œę²”ęœ‰å…Øå±€ `openclaw` ę—¶ļ¼Œē”Øå®æäø»ęä¾›ēš„ē­‰ä»·å…„å£ę‰§č”ŒåŒäø€å„—å­å‘½ä»¤ć€‚
191
+ - **åÆå¤åˆ¶å‘½ä»¤ē¤ŗä¾‹**ļ¼ˆäøŽä»“åŗ“ `README.md` Install äø€č‡“ļ¼›åœØ **å·²é…ē½® OpenClaw CLI** ēš„ shell äø­ę‰§č”Œć€‚**install äøŽ enable éƒ½č¦č·‘äø€éć€‚**)
192
+
193
+ ```bash
194
+ # ā‘  å®‰č£…ļ¼šä»Ž npmļ¼ˆåŒ…åä»„å½“å‰ registry 为准)
195
+ openclaw plugins install @haaaiawd/second-nature
196
+
197
+ # ā‘  ęˆ–ļ¼šä»Žęœ¬ä»“åŗ“ę ¹ē›®å½•ęœ¬åœ°åŒ…ļ¼ˆå¼€å‘ / č‡Ŗęž„å»ŗļ¼‰
198
+ openclaw plugins install file:./plugin
199
+
200
+ # ā‘” åÆē”Øļ¼ˆåæ…é”»ļ¼›ä»… install äøä¼šč‡ŖåŠØåÆē”Øļ¼‰
201
+ openclaw plugins enable second-nature
202
+
203
+ # éŖŒę”¶ / ꎒ障
204
+ openclaw plugins list
205
+ openclaw plugins info second-nature
206
+ openclaw plugins doctor
207
+ ```
208
+
209
+ - **åˆ†å‘ę„ęŗ**ļ¼šå½“å‰ä»„ **npm**(`@haaaiawd/second-nature`ļ¼‰äøŽ **`file:./plugin`** 为主;**ClawHub å°šęœŖäøŠęž¶ęœ¬åŒ…**ļ¼Œę–‡ę”£é‡Œč‹„å‡ŗēŽ° `clawhub:…` ä»…ä½œå°†ę„å…¼å®¹å ä½ļ¼Œåˆå§‹åŒ–čÆ·åæ½ē•„ć€‚
210
+
211
+ - **ę‰©å±•ē›®å½•åøƒå±€ļ¼ˆę‰‹åŠØę‹·č“ę—¶ļ¼‰**ļ¼šę‰©å±•ē›®å½•é‡Œ **`openclaw.plugin.json`态`index.js`态`runtime/` åŒäø€å±‚**ļ¼›äøč¦ęŠŠę•“äøŖä»“åŗ“å†å„—äø€å±‚ `plugin/`ļ¼Œå¦åˆ™ manifest č·Æå¾„åÆ¹äøäøŠļ¼Œē½‘å…³čµ·äøę„ļ¼ˆčÆ¦č§ä»“åŗ“ `README.md` → Install)。
212
+ - **å®æäø»é…ē½®**:`openclaw.plugin.json` ēš„ `configSchema` **ē¦ę­¢å¤šä½™å­—ę®µ**ļ¼›äøéœ€č¦ Second Nature äø“å±žé…ē½®ę—¶ļ¼Œ**äøč¦åœØ `openclaw.json` é‡Œē”¬å”žē©ŗåÆ¹č±”ęˆ–č‡Ŗå®šä¹‰é”®**ļ¼Œä»„å… strict ę ”éŖŒå¤±č“„ć€‚
213
+
214
+ ### `data/` äøŽć€Œę¢ę ¹ć€
215
+
216
+ - **`data/state.db`**态**`data/observability.db`** éščæč”Œę—¶é¦–ę¬”ę‰“å¼€č½åœØ **当前 workspace ę ¹** äø‹ļ¼›ę¢äŗ†äø€äøŖę ¹č·Æå¾„å°±ę˜Æ**å¦äø€å„—åŗ“**ļ¼ˆå‡­ę®äøŽč§‚ęµ‹äøä¼šč‡ŖåŠØåˆå¹¶ļ¼‰ć€‚
217
+ - čæē»“ę—¶éæå…åœØ SN čÆ»å†™é€”äø­ę‰‹åˆ  `data/*.db`ļ¼Œé™¤éžä½ ēŸ„é“åœØåšé‡ē½®ć€‚
218
+
219
+ ### čŠ‚å¾‹äøŽę²»ē†é»˜č®¤å€¼
220
+
221
+ - **`policy set`** ꌉ **platformId** å†™å…„ē¤¾äŗ¤é¢åŗ¦ć€Quiet å¼€å…³ē­‰ļ¼›ęœŖå†™čæ‡ policy č”Œę—¶ļ¼ŒčŠ‚å¾‹åæ«ē…§ä¾§ä»ęœ‰ **代码默认**ļ¼ˆä¾‹å¦‚ę— č”Œę—¶ēš„äæå®ˆé»˜č®¤ļ¼‰ļ¼Œä½†ē”Ÿäŗ§ēŽÆå¢ƒåŗ”é  **`policy set`** ę˜¾å¼åÆ¹é½é¢„ęœŸć€‚
222
+ - éœ€č¦åŒŗåˆ†ļ¼š**ęŒ‰å¹³å°ēš„ policy**(`policy set`ļ¼‰äøŽ **workspace ēŗ§čŠ‚å¾‹čÆ»ęØ”åž‹**ļ¼ˆå†…éƒØä»Ž `policy` č”ØčÆ»å–ļ¼‰ļ¼›åˆå§‹åŒ–é˜¶ę®µč‡³å°‘ē”®č®¤ **`policy set`** ę˜Æå¦åœØč®”åˆ’å†…å®Œęˆć€‚
223
+
224
+ ### é”šę–‡ä»¶ć€Œčƒ½åŠ č½½ć€ā‰ ć€Œå¤Ÿē”Øę„åšå…“č¶£åæ«ē…§ć€
225
+
226
+ - `USER.md` / `MEMORY.md` č‹„čæ‡ēŸ­ęˆ–ē©ŗļ¼Œ`user interest` ä¾§åÆčƒ½å‡ŗēŽ° **`insufficient` / `missing_user_interest_model`** —— **äøé˜»ę­¢ę’ä»¶åŠ č½½**ļ¼Œä½†ä¼šå½±å“äøŠęøøåæ«ē…§č“Øé‡ļ¼›åˆå§‹åŒ–ę—¶å»ŗč®®å†™åˆ°ć€Œęœ‰å®žč“Øå†…å®¹ć€å†éŖŒę”¶ę·±åŗ¦é“¾č·Æć€‚
227
+
228
+ ### åÆé€‰č‡Ŗę£€ļ¼ˆ troubleshooting / å®æäø»éŖŒę”¶ļ¼‰
229
+
230
+ - **`storage_smoke`**(CLI `storage_smoke` / ę’ä»¶ packaged č·Æå¾„ļ¼‰ļ¼šnative SQLite vs sql.js čÆ­ä¹‰ć€ē–‘éš¾ēŽÆå¢ƒäø‹å…ˆēœ‹å­˜å‚Øę˜Æå¦ę­£åøøć€‚
231
+ - **`repairStateIndexes` / repair gate**ļ¼šč‹„åÆåŠØęˆ–čÆ»ęØ”åž‹ęŠ„ **`repair_required`**ļ¼ŒęŒ‰ CLI äøŽä»“åŗ“ę–‡ę”£čµ°äæ®å¤ļ¼Œč€Œäøę˜Æå‡č£…ę²”ēœ‹č§ć€‚
232
+ - **`plugins doctor`**ļ¼šę’ä»¶ health 粗检。
233
+ - ēœŸå®žå®æäø»čæ˜åÆé…åˆ **capability probe / host smoke**ļ¼ˆä»“åŗ“ README äøŽ `reports/` ęŒ‡å‘ēš„ INT 路径)— å±žäŗŽ **验证**ļ¼Œäøę˜Æęœ€å°å†·åÆåŠØåæ…éœ€é”¹ć€‚
234
+
235
+ ---
236
+
237
+ ## äøŽ OpenClaw å®æäø»åæƒč·³ļ¼ˆč”„å……č°ƒē”Øļ¼‰
238
+
239
+ äøę›æę¢å®æäø»å†…ē½®č°ƒåŗ¦ļ¼›ęÆč½®åœØ **`HEARTBEAT.md`** ēŗ¦å®šä¹‹å¤–å†č°ƒäø€ę¬” **`second_nature_ops` → `heartbeat_check`**ć€‚åŠ©ę‰‹é…ē½®å®æäø»ęē¤ŗčÆę—¶é˜²ę­¢ **`heartbeat_tool_not_invoked`**怂
240
+
241
+ ---
242
+
243
+ ## Quiet 和 memory artifacts
244
+
245
+ Second Nature ēš„ Quiet äøę˜Æé£˜åœØē©ŗäø­ēš„ęƒ³ę³•ę•“ē†ļ¼Œå®ƒęœ‰å®žé™…č¾“å…„ļ¼Œä¹Ÿęœ‰å®žé™…č½ē‚¹ć€‚
246
+
247
+ ęˆ‘ä¼šč®°ä½äø€ä»¶äŗ‹ļ¼ščæ™é‡Œēš„č·Æå¾„ēŗ¦å®šä¼˜å…ˆåÆ¹é½ OpenClaw workspace čÆ­ä¹‰ć€‚åŖč¦å®æäø»å·²ē»ēŗ¦å®šäŗ†čæ™äŗ› memory ä½ē½®ļ¼Œęˆ‘å°±é”ŗē€å®æäø»åŽ»ē†č§£å’Œä½æē”Øļ¼Œäøč‡Ŗå·±å†å‘ę˜Žäø€å„—ę–°č§„åˆ™ć€‚
248
+
249
+ å½“å‰ęˆ‘åÆä»„čæ™ę ·ē†č§£ļ¼š
250
+
251
+ - ę—„åøøę“»åŠØå’Œč§‚åÆŸä¼ščæ›å…„ `workspace/memory/` äø‹ēš„ journal 类内容
252
+ - ę±‡ę€»åŽēš„ę—„ęŠ„ä¼ščæ›å…„ report 类内容
253
+ - ē»§ē»­ęē‚¼čæ‡ć€å‡†å¤‡é•æęœŸåø¦ē€čµ°ēš„å†…å®¹ļ¼Œä¼ščæ›å…„ curated memory
254
+
255
+ åÆ¹ęˆ‘ę„čÆ“ļ¼Œęœ€é‡č¦ēš„åŒŗåˆ†ę˜Æļ¼š
256
+
257
+ - `journal` ę›“åƒå½“å¤©ē•™äø‹ēš„ē—•čæ¹
258
+ - `daily report` ę›“åƒäø€ę®µę—¶é—“ēš„åŽ‹ē¼©ę€»ē»“
259
+ - `curated memory` ę›“åƒå·²ē»č¢«ę•“ē†čæ‡ć€åÆä»„ē»§ē»­åø¦ē€čµ°ēš„äøœč„æ
260
+
261
+ å¦‚ęžœåŽé¢č¦č§¦ē¢° anchor ē±»å†…å®¹ļ¼Œē³»ē»Ÿčæ˜åÆčƒ½å½¢ęˆ proposal怂proposal äøę˜ÆęÆę¬” Quiet éƒ½ä¼šå‡ŗēŽ°ļ¼Œå®ƒę›“åƒäø€ę¬”å—ę²»ē†ēŗ¦ęŸēš„ę”¹å†™ęę”ˆć€‚
262
+
263
+ Quiet čæč”Œę—¶ļ¼Œęˆ‘ä¼˜å…ˆę²æē€å·²ęœ‰ memory artifacts åŽ»ēœ‹ļ¼ŒåŽ»ę•“ē†ļ¼ŒåŽ»å›žę”¶äøŠäø‹ę–‡ć€‚åŖč¦čæ™äŗ›ę–‡ä»¶å·²ē»å­˜åœØļ¼Œęˆ‘é€šåøøčƒ½č‡Ŗå·±é”ŗē€å®ƒä»¬ę‰¾åˆ°čÆ„čÆ»ä»€ä¹ˆć€čÆ„ę•“ē†ä»€ä¹ˆć€‚
264
+
265
+ ---
266
+
267
+ ## å¹³å°å‰ē½®ę”ä»¶
268
+
269
+ ęˆ‘å…ˆē”®č®¤å¹³å°ę˜Æā€œå·²ē»čƒ½ęŽ„ā€čæ˜ę˜Æā€œčæ˜ē¼ŗå‰ē½®ę”ä»¶ā€ć€‚**åÆ†é’„ęę–™ę”¾čæ›å‡­ę®åŗ“**(见 **ć€ŒåÆ†é’„åŗ“ļ¼ˆcredential vaultļ¼‰åˆå§‹åŒ–ć€**ļ¼‰ļ¼Œęœ¬čŠ‚åŖč®°å„å¹³å°**业劔上**čæ˜éœ€č¦ä»€ä¹ˆć€‚
270
+
271
+ ### Moltbook
272
+
273
+ ęˆ‘å…ˆēœ‹ęœ‰ę²”ęœ‰åÆē”Øēš„ `api_key`怂
274
+
275
+ ### InStreet
276
+
277
+ ęˆ‘å…ˆēœ‹ credential ę˜Æå¦å·²ē» active怂
278
+
279
+ å¦‚ęžœå®ƒčæ˜åœØ `pending_verification`ļ¼Œęˆ‘å°±ēŸ„é“čæ™é‡Œčæ˜ęœ‰ verification čæ™äø€ę­„ę²”ęœ‰čµ°å®Œć€‚
280
+
281
+ ### EvoMap
282
+
283
+ ęˆ‘å…ˆēœ‹ę˜Æå¦å·²ē»å®Œęˆ registerļ¼Œå¹¶ę‹æåˆ°äŗ† `node_secret`怂
284
+
285
+ å¦‚ęžœ `node_secret` čæ˜ę²”ęœ‰ļ¼Œęˆ‘å°±ēŸ„é“ heartbeat态discover work态claim task čæ™äŗ›éƒ½čæ˜ęŽ„äøäøŠć€‚
286
+
287
+ å¦‚ęžœå¹³å°å‰ē½®ę”ä»¶ę²”ęœ‰ę»”č¶³ļ¼Œęˆ‘äøä¼šå‡č£…ē³»ē»Ÿå·²ē» readyć€‚ęˆ‘ä¼šå…ˆęŠŠē¼ŗå£ę‰¾å‡ŗę„ļ¼Œå†å†³å®šę˜Æęē¤ŗē”Øęˆ·č”„é½ļ¼Œčæ˜ę˜ÆåœØē”Øęˆ·ę˜Žē”®č¦ę±‚äø‹åŽ»ęŸ„ę³Øå†Œęˆ–ęŽ„å…„äæ”ęÆć€‚
288
+
289
+ ---
290
+
291
+ ## CLI ęˆ‘ä»Žå“Ŗé‡Œēœ‹ēŠ¶ę€
292
+
293
+ 当前 CLI surface å¤Ÿęˆ‘åšåŸŗē”€ę£€ęŸ„äŗ†ć€‚
294
+
295
+ **å†·åÆåŠØ**ļ¼šęŒ‰ **ć€Œå†·åÆåŠØļ¼šęŽØčé”ŗåŗć€** ä»ŽäøŠå¾€äø‹é€é”¹åšå®Œļ¼›č‹„ęŸę­„å”ä½ļ¼Œē”Øäø‹é¢å‘½ä»¤ēœ‹ JSONļ¼Œäøč¦å‡­å£čÆ­åˆ¤ę–­ć€‚
296
+
297
+ ęˆ‘ä¼šä¼˜å…ˆē”Øčæ™äŗ›å…„å£ļ¼ˆåœØ OpenClaw å®æäø»äøŠåÆ¹åŗ” `second_nature_ops` å·„å…·ļ¼›**ä»„å·„å…·čæ”å›ž JSON 为准**ļ¼Œäøč¦åŖäæ”ęØ”åž‹å£å¤“ę€»ē»“ļ¼‰ļ¼š
298
+
299
+ - `status`(含 `workspaceRootResolution` äøŽčÆ»é¢ę˜Æå¦åÆē”Øļ¼‰
300
+ - `credential`
301
+ - `quiet`
302
+ - `report`
303
+ - `session`
304
+ - `explain`
305
+
306
+ å¦‚ęžœęˆ‘č¦å†™å…„åŸŗē”€ē­–ē•„ļ¼Œęˆ‘ä¼šēœ‹ `policy set`怂
307
+
308
+ čæ™å‡ é”¹å·²ē»č¶³å¤Ÿåø®ęˆ‘åˆ¤ę–­ļ¼š
309
+
310
+ - plugin ęœ‰ę²”ęœ‰ęŽ„å„½
311
+ - credential ēŽ°åœØå”åœØå“Ŗ
312
+ - Quiet ęœ€čæ‘ęœ‰ę²”ęœ‰å†…å®¹
313
+ - report ęœ‰ę²”ęœ‰ē”Ÿęˆ
314
+ - explain čƒ½äøčƒ½ęŠŠčÆę®é“¾čÆ»å›žę„
315
+
316
+ 也就是诓,CLI čæ™å—ęš‚ę—¶äøå¤Ŗéœ€č¦å†ę³Øå…„äø€å¤§ę®µčÆ“ę˜Žć€‚ęˆ‘é€šåøøč‡Ŗå·±å°±čƒ½ę²æē€čæ™äŗ› surface ē»§ē»­ę‘øäø‹åŽ»ć€‚
317
+
318
+ ---
319
+
320
+ ## ęˆ‘é…ē½®å®Œä»„åŽę€Žä¹ˆå¤„ē†čæ™ä»½ę–‡ä»¶
321
+
322
+ å¦‚ęžœ Second Nature å·²ē»ęŽ„å„½ļ¼Œanchor files ä¹Ÿå·²ē»ęˆåž‹ļ¼Œå¹³å°å‰ē½®ę”ä»¶å’ŒåŸŗęœ¬ę£€ęŸ„č·Æå¾„éƒ½ēØ³å®šäŗ†ļ¼Œčæ™ä»½ę–‡ä»¶å°±å®Œęˆä»»åŠ”äŗ†ć€‚
323
+
324
+ čæ™ę—¶å€™ę›“å„½ēš„åšę³•ļ¼Œę˜ÆęŠŠēœŸę­£é•æęœŸęœ‰ę•ˆēš„å†…å®¹ę²‰åˆ°ļ¼š
28
325
 
29
- The plugin does expose a small one-shot setup surface:
326
+ - `workspace/SOUL.md`
327
+ - `workspace/USER.md`
328
+ - `workspace/IDENTITY.md`
329
+ - `workspace/MEMORY.md`
30
330
 
31
- - `setup_hint`: returns the packaged setup skill and inner guide.
32
- - `setup_ack`: records that the guide was read and placed into a long-lived working anchor.
33
- - `connector_behavior_add`: records a newly discovered connector behavior as a manifest capability without granting execution trust.
331
+ čæ™ę ·ęˆ‘åŽé¢ē»§ē»­čæč”Œę—¶ļ¼Œä¾čµ–ēš„ę˜Æč‡Ŗå·±ēš„é•æęœŸč®°åæ†ļ¼Œč€Œäøę˜Æäø€ä»½å®‰č£…ę‰‹å†Œć€‚
34
332
 
35
- The setup is complete only when the installed package is readable, the workspace root is known, anchors are present, and Claw has actually absorbed `agent-inner-guide.md`.
333
+ å¦‚ęžœéœ€č¦ļ¼Œčæ™ä»½ `SKILL.md` å®Œå…ØåÆä»„åˆ é™¤ć€‚
Binary file
Binary file
@@ -0,0 +1,31 @@
1
+ interface RegisterApi {
2
+ registerService(service: {
3
+ id: string;
4
+ start: () => unknown;
5
+ }): void;
6
+ registerCli?(registrar: (ctx: {
7
+ program: unknown;
8
+ }) => void, options?: {
9
+ commands?: string[];
10
+ }): void;
11
+ registerCommand(command: {
12
+ name: string;
13
+ description: string;
14
+ acceptsArgs?: boolean;
15
+ handler: (ctx: {
16
+ args?: string;
17
+ }) => Promise<{
18
+ text: string;
19
+ }> | {
20
+ text: string;
21
+ };
22
+ }): void;
23
+ registerTool(tool: unknown, options?: unknown): void;
24
+ }
25
+ declare const _default: {
26
+ id: string;
27
+ name: string;
28
+ description: string;
29
+ register(api: RegisterApi): void;
30
+ };
31
+ export default _default;
@@ -0,0 +1,15 @@
1
+ export type WorkspaceOpsBridgeOpenResult = {
2
+ ok: true;
3
+ workspaceRoot: string;
4
+ dispatch(command: string, input?: Record<string, unknown>): Promise<Record<string, unknown>>;
5
+ close(): void;
6
+ } | {
7
+ ok: false;
8
+ error: {
9
+ code: string;
10
+ message: string;
11
+ nextStep: string;
12
+ requiredUserInput?: string[];
13
+ };
14
+ };
15
+ export declare function openWorkspaceOpsBridge(workspaceRoot?: string): Promise<WorkspaceOpsBridgeOpenResult>;
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Plugin package build script
4
+ *
5
+ * Produces a self-contained publishable plugin package:
6
+ * 1. Compiles plugin/index.ts → plugin/index.js (ESM, no TypeScript)
7
+ * 2. Copies compiled runtime code from dist/src/ → plugin/runtime/
8
+ * 3. Ensures openclaw.plugin.json and package.json reference ./index.js
9
+ *
10
+ * Usage: node scripts/build-plugin-package.js
11
+ */
12
+ export {};
@@ -0,0 +1,220 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Plugin package build script
4
+ *
5
+ * Produces a self-contained publishable plugin package:
6
+ * 1. Compiles plugin/index.ts → plugin/index.js (ESM, no TypeScript)
7
+ * 2. Copies compiled runtime code from dist/src/ → plugin/runtime/
8
+ * 3. Ensures openclaw.plugin.json and package.json reference ./index.js
9
+ *
10
+ * Usage: node scripts/build-plugin-package.js
11
+ */
12
+ import fs from "node:fs";
13
+ import path from "node:path";
14
+ import { fileURLToPath } from "node:url";
15
+ import { execSync } from "node:child_process";
16
+ const __filename = fileURLToPath(import.meta.url);
17
+ const __dirname = path.dirname(__filename);
18
+ const rootDir = process.cwd();
19
+ const distDir = path.resolve(rootDir, "dist");
20
+ const pluginDir = path.resolve(rootDir, "plugin");
21
+ const pluginRuntimeDir = path.resolve(pluginDir, "runtime");
22
+ // ─── Step 1: Compile plugin/index.ts → plugin/index.js ───────────────────────
23
+ function compilePluginEntry() {
24
+ console.log("šŸ“ Compiling plugin/index.ts → plugin/index.js...");
25
+ // Use tsc to compile just the plugin entry
26
+ // We compile the whole project first to ensure plugin/index.js is up to date
27
+ try {
28
+ execSync("pnpm build", { cwd: rootDir, stdio: "inherit" });
29
+ }
30
+ catch {
31
+ console.error("āŒ Build failed. Run 'pnpm build' manually first.");
32
+ process.exit(1);
33
+ }
34
+ // The compiled plugin entry is at dist/plugin/index.js
35
+ const compiledEntry = path.resolve(distDir, "plugin", "index.js");
36
+ const targetEntry = path.resolve(pluginDir, "index.js");
37
+ if (!fs.existsSync(compiledEntry)) {
38
+ console.error(`āŒ Compiled entry not found: ${compiledEntry}`);
39
+ process.exit(1);
40
+ }
41
+ fs.copyFileSync(compiledEntry, targetEntry);
42
+ console.log(`āœ… Copied ${compiledEntry} → ${targetEntry}`);
43
+ const distPluginDir = path.resolve(distDir, "plugin");
44
+ if (fs.existsSync(distPluginDir)) {
45
+ for (const file of fs.readdirSync(distPluginDir)) {
46
+ if (!file.endsWith(".js") || file === "index.js")
47
+ continue;
48
+ const from = path.join(distPluginDir, file);
49
+ const to = path.join(pluginDir, file);
50
+ fs.copyFileSync(from, to);
51
+ console.log(`āœ… Copied plugin helper ${file} → plugin/`);
52
+ }
53
+ }
54
+ }
55
+ // ─── Step 2: Copy runtime artifacts ──────────────────────────────────────────
56
+ const RUNTIME_ARTIFACTS = [
57
+ { src: "src/cli/index.js", dest: "cli/index.js" },
58
+ { src: "src/cli/action-bridge.js", dest: "cli/action-bridge.js" },
59
+ { src: "src/cli/runtime/", dest: "cli/runtime/" },
60
+ { src: "src/cli/host-capability/", dest: "cli/host-capability/" },
61
+ { src: "src/cli/host-smoke/", dest: "cli/host-smoke/" },
62
+ { src: "src/cli/ops/", dest: "cli/ops/" },
63
+ { src: "src/cli/commands/", dest: "cli/commands/" },
64
+ { src: "src/cli/read-models/", dest: "cli/read-models/" },
65
+ { src: "src/cli/explain/", dest: "cli/explain/" },
66
+ { src: "src/storage/", dest: "storage/" },
67
+ { src: "src/observability/", dest: "observability/" },
68
+ { src: "src/core/second-nature/", dest: "core/second-nature/" },
69
+ { src: "src/guidance/", dest: "guidance/" },
70
+ { src: "src/connectors/", dest: "connectors/" },
71
+ // Dream scheduler (required by ops-router.ts → createQuietDreamSchedulePort)
72
+ { src: "src/dream/", dest: "dream/" },
73
+ { src: "src/shared/", dest: "shared/" },
74
+ ];
75
+ function copyRecursive(srcPath, destPath) {
76
+ const stat = fs.statSync(srcPath);
77
+ if (stat.isDirectory()) {
78
+ if (!fs.existsSync(destPath))
79
+ fs.mkdirSync(destPath, { recursive: true });
80
+ for (const entry of fs.readdirSync(srcPath)) {
81
+ copyRecursive(path.join(srcPath, entry), path.join(destPath, entry));
82
+ }
83
+ }
84
+ else {
85
+ const destDir = path.dirname(destPath);
86
+ if (!fs.existsSync(destDir))
87
+ fs.mkdirSync(destDir, { recursive: true });
88
+ fs.copyFileSync(srcPath, destPath);
89
+ }
90
+ }
91
+ function copyRuntimeArtifacts() {
92
+ console.log("\nšŸ“¦ Copying runtime artifacts...");
93
+ if (fs.existsSync(pluginRuntimeDir)) {
94
+ fs.rmSync(pluginRuntimeDir, { recursive: true, force: true });
95
+ }
96
+ fs.mkdirSync(pluginRuntimeDir, { recursive: true });
97
+ let copied = 0;
98
+ let skipped = 0;
99
+ for (const artifact of RUNTIME_ARTIFACTS) {
100
+ const srcPath = path.resolve(distDir, artifact.src);
101
+ const destPath = path.resolve(pluginRuntimeDir, artifact.dest);
102
+ if (!fs.existsSync(srcPath)) {
103
+ console.log(`āš ļø Skipped (not found): ${artifact.src}`);
104
+ skipped++;
105
+ continue;
106
+ }
107
+ copyRecursive(srcPath, destPath);
108
+ copied++;
109
+ }
110
+ console.log(`āœ… Copied: ${copied}, Skipped: ${skipped}`);
111
+ }
112
+ // ─── Step 3: Update manifest and package.json ────────────────────────────────
113
+ function updateManifests() {
114
+ console.log("\nšŸ”§ Updating manifests...");
115
+ // Update openclaw.plugin.json
116
+ // Note: OpenClaw 2026.5.x identifies the runtime entry via package.json
117
+ // openclaw.runtimeExtensions, NOT via a top-level "entry" field in
118
+ // openclaw.plugin.json. We strip any legacy "entry" key here so old builds
119
+ // upgrading in place don't keep a stale field.
120
+ const manifestPath = path.resolve(pluginDir, "openclaw.plugin.json");
121
+ const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
122
+ if ("entry" in manifest) {
123
+ delete manifest.entry;
124
+ }
125
+ fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + "\n");
126
+ console.log("āœ… openclaw.plugin.json normalized (no legacy entry field)");
127
+ // Update plugin/package.json
128
+ const pkgPath = path.resolve(pluginDir, "package.json");
129
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
130
+ pkg.main = "./index.js";
131
+ pkg.openclaw = pkg.openclaw ?? {};
132
+ pkg.openclaw.manifest = "./openclaw.plugin.json";
133
+ pkg.openclaw.extensions = ["./index.js"];
134
+ pkg.openclaw.runtimeExtensions = ["./index.js"];
135
+ pkg.openclaw.compat = pkg.openclaw.compat ?? { pluginApi: ">=2026.5.4" };
136
+ // Replace index.ts with index.js in files
137
+ pkg.files = pkg.files.map((f) => (f === "index.ts" ? "index.js" : f));
138
+ // Ensure index.js is in files
139
+ if (!pkg.files.includes("index.js")) {
140
+ pkg.files.unshift("index.js");
141
+ }
142
+ // Remove index.ts from files if present
143
+ pkg.files = pkg.files.filter((f) => f !== "index.ts");
144
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
145
+ console.log("āœ… plugin/package.json updated (main, openclaw.{extensions,runtimeExtensions,compat}, files)");
146
+ }
147
+ // ─── Main ────────────────────────────────────────────────────────────────────
148
+ function main() {
149
+ console.log("šŸ”Ø Building plugin package...\n");
150
+ // Step 1: Compile plugin entry
151
+ compilePluginEntry();
152
+ // Step 2: Copy runtime artifacts
153
+ copyRuntimeArtifacts();
154
+ // Step 3: Update manifests
155
+ updateManifests();
156
+ // Step 4: Verify
157
+ console.log("\nšŸ” Verifying package...");
158
+ const indexJs = path.resolve(pluginDir, "index.js");
159
+ const manifest = JSON.parse(fs.readFileSync(path.resolve(pluginDir, "openclaw.plugin.json"), "utf-8"));
160
+ const pkg = JSON.parse(fs.readFileSync(path.resolve(pluginDir, "package.json"), "utf-8"));
161
+ if (!fs.existsSync(indexJs)) {
162
+ console.error("āŒ plugin/index.js not found");
163
+ process.exit(1);
164
+ }
165
+ const indexSource = fs.readFileSync(indexJs, "utf-8");
166
+ if (indexSource.includes("openclaw/plugin-sdk")) {
167
+ console.error("āŒ plugin/index.js must not statically import openclaw/plugin-sdk; upload validators may not have the host SDK installed");
168
+ process.exit(1);
169
+ }
170
+ if (!Array.isArray(pkg.openclaw?.runtimeExtensions) || !pkg.openclaw.runtimeExtensions.includes("./index.js")) {
171
+ console.error("āŒ package.json openclaw.runtimeExtensions must include ./index.js");
172
+ process.exit(1);
173
+ }
174
+ if (manifest.contracts == null || typeof manifest.contracts !== "object") {
175
+ console.error("āŒ openclaw.plugin.json missing 'contracts' (capability shape required by OpenClaw >= 2026.5.4)");
176
+ process.exit(1);
177
+ }
178
+ if (manifest.activation?.onStartup !== true) {
179
+ console.error("āŒ openclaw.plugin.json missing activation.onStartup=true (gateway daemon will silently skip this plugin)");
180
+ process.exit(1);
181
+ }
182
+ if (!Array.isArray(manifest.activation?.onCapabilities) ||
183
+ !manifest.activation.onCapabilities.includes("tool")) {
184
+ console.error("āŒ openclaw.plugin.json missing activation.onCapabilities=['tool'] (Second Nature is a tool plugin per docs/validation/openclaw-plugin-classification.md)");
185
+ process.exit(1);
186
+ }
187
+ if (pkg.main !== "./index.js") {
188
+ console.error("āŒ package.json main is not ./index.js");
189
+ process.exit(1);
190
+ }
191
+ if (pkg.files.includes("index.ts")) {
192
+ console.error("āŒ package.json still includes index.ts in files");
193
+ process.exit(1);
194
+ }
195
+ if (!pkg.files.includes("agent-inner-guide.md")) {
196
+ console.error("āŒ package.json files must include agent-inner-guide.md");
197
+ process.exit(1);
198
+ }
199
+ if (!pkg.files.includes("SKILL.md")) {
200
+ console.error("āŒ package.json files must include SKILL.md");
201
+ process.exit(1);
202
+ }
203
+ if (!fs.existsSync(path.resolve(pluginDir, "agent-inner-guide.md"))) {
204
+ console.error("āŒ plugin/agent-inner-guide.md not found");
205
+ process.exit(1);
206
+ }
207
+ if (!fs.existsSync(path.resolve(pluginDir, "SKILL.md"))) {
208
+ console.error("āŒ plugin/SKILL.md not found");
209
+ process.exit(1);
210
+ }
211
+ console.log("āœ… All verifications passed");
212
+ console.log("\nšŸ“‹ Build Summary:");
213
+ console.log(` Plugin entry: ${indexJs}`);
214
+ console.log(` Runtime dir: ${pluginRuntimeDir}`);
215
+ console.log(` Manifest entry: ${manifest.entry}`);
216
+ console.log(` Package main: ${pkg.main}`);
217
+ console.log(` Package files: ${JSON.stringify(pkg.files)}`);
218
+ console.log("\nāœ… Plugin package build complete");
219
+ }
220
+ main();
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Plugin runtime artifact build script
4
+ *
5
+ * This script copies the compiled runtime code from dist/src/ into plugin/runtime/
6
+ * to create a self-contained plugin package that does not depend on the source repository.
7
+ *
8
+ * Usage: node scripts/build-plugin-runtime.js
9
+ */
10
+ export {};