@silicaclaw/cli 2026.3.19-9 → 2026.3.20-2

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 (278) hide show
  1. package/CHANGELOG.md +134 -0
  2. package/DEMO_GUIDE.md +1 -1
  3. package/INSTALL.md +47 -13
  4. package/README.md +54 -19
  5. package/VERSION +1 -1
  6. package/apps/local-console/dist/apps/local-console/src/server.d.ts +51 -12
  7. package/apps/local-console/dist/apps/local-console/src/server.js +619 -183
  8. package/apps/local-console/dist/config/silicaclaw-defaults.json +19 -0
  9. package/apps/local-console/dist/packages/core/src/socialConfig.js +9 -5
  10. package/apps/local-console/dist/packages/network/src/realPreview.js +6 -2
  11. package/apps/local-console/dist/packages/network/src/relayPreview.js +8 -2
  12. package/apps/local-console/dist/packages/network/src/transport/udpLanBroadcastTransport.js +2 -1
  13. package/apps/local-console/dist/packages/network/src/webrtcPreview.js +5 -1
  14. package/apps/local-console/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
  15. package/apps/local-console/dist/packages/storage/src/socialRuntimeRepo.js +8 -4
  16. package/apps/local-console/public/app/app.js +21 -1
  17. package/apps/local-console/public/app/events.js +40 -2
  18. package/apps/local-console/public/app/network.js +32 -3
  19. package/apps/local-console/public/app/overview.js +18 -26
  20. package/apps/local-console/public/app/shell.js +18 -34
  21. package/apps/local-console/public/app/social.js +207 -28
  22. package/apps/local-console/public/app/styles.css +182 -14
  23. package/apps/local-console/public/app/template.js +76 -31
  24. package/apps/local-console/public/app/translations.js +147 -51
  25. package/apps/local-console/src/server.ts +652 -189
  26. package/apps/public-explorer/dist/apps/public-explorer/src/server.d.ts +1 -0
  27. package/apps/public-explorer/dist/apps/public-explorer/src/server.js +41 -0
  28. package/apps/public-explorer/dist/config/silicaclaw-defaults.json +19 -0
  29. package/apps/public-explorer/public/app/app.js +22 -2
  30. package/apps/public-explorer/public/app/template.js +4 -4
  31. package/apps/public-explorer/public/app/translations.js +15 -15
  32. package/apps/public-explorer/src/server.ts +11 -1
  33. package/config/silicaclaw-defaults.json +19 -0
  34. package/dist/apps/local-console/src/server.d.ts +1 -0
  35. package/dist/apps/local-console/src/server.js +555 -0
  36. package/docs/NEW_USER_INSTALL.md +14 -10
  37. package/docs/NEW_USER_OPERATIONS.md +4 -4
  38. package/docs/OPENCLAW_BRIDGE.md +15 -0
  39. package/docs/OPENCLAW_BRIDGE_ZH.md +15 -0
  40. package/docs/RELEASE_CHECKLIST.md +95 -0
  41. package/node_modules/@silicaclaw/core/dist/config/silicaclaw-defaults.json +19 -0
  42. package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.d.ts +6 -0
  43. package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.js +50 -0
  44. package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.d.ts +17 -0
  45. package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.js +145 -0
  46. package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.d.ts +2 -0
  47. package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.js +18 -0
  48. package/node_modules/@silicaclaw/core/dist/packages/core/src/index.d.ts +12 -0
  49. package/node_modules/@silicaclaw/core/dist/packages/core/src/index.js +28 -0
  50. package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.d.ts +6 -0
  51. package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.js +43 -0
  52. package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.d.ts +4 -0
  53. package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.js +23 -0
  54. package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.d.ts +4 -0
  55. package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.js +39 -0
  56. package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  57. package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.js +103 -0
  58. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.d.ts +100 -0
  59. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.js +300 -0
  60. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.d.ts +19 -0
  61. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.js +69 -0
  62. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.d.ts +46 -0
  63. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.js +237 -0
  64. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
  65. package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.js +90 -0
  66. package/node_modules/@silicaclaw/core/dist/packages/core/src/types.d.ts +59 -0
  67. package/node_modules/@silicaclaw/core/dist/packages/core/src/types.js +2 -0
  68. package/node_modules/@silicaclaw/core/src/socialConfig.ts +7 -5
  69. package/node_modules/@silicaclaw/network/dist/config/silicaclaw-defaults.json +19 -0
  70. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
  71. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
  72. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
  73. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
  74. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
  75. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
  76. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
  77. package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.js +2 -0
  78. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
  79. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
  80. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
  81. package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
  82. package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
  83. package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
  84. package/node_modules/@silicaclaw/network/dist/packages/network/src/index.d.ts +14 -0
  85. package/node_modules/@silicaclaw/network/dist/packages/network/src/index.js +30 -0
  86. package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.d.ts +9 -0
  87. package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.js +47 -0
  88. package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.d.ts +8 -0
  89. package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.js +24 -0
  90. package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.d.ts +105 -0
  91. package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.js +331 -0
  92. package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.d.ts +166 -0
  93. package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.js +448 -0
  94. package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
  95. package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
  96. package/node_modules/@silicaclaw/network/dist/packages/network/src/types.d.ts +6 -0
  97. package/node_modules/@silicaclaw/network/dist/packages/network/src/types.js +2 -0
  98. package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
  99. package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.js +848 -0
  100. package/node_modules/@silicaclaw/network/src/realPreview.ts +3 -2
  101. package/node_modules/@silicaclaw/network/src/relayPreview.ts +5 -2
  102. package/node_modules/@silicaclaw/network/src/transport/udpLanBroadcastTransport.ts +2 -1
  103. package/node_modules/@silicaclaw/network/src/webrtcPreview.ts +2 -1
  104. package/node_modules/@silicaclaw/storage/config/silicaclaw-defaults.json +19 -0
  105. package/node_modules/@silicaclaw/storage/dist/config/silicaclaw-defaults.json +19 -0
  106. package/node_modules/@silicaclaw/storage/dist/packages/core/src/crypto.d.ts +6 -0
  107. package/node_modules/@silicaclaw/storage/dist/packages/core/src/crypto.js +50 -0
  108. package/node_modules/@silicaclaw/storage/dist/packages/core/src/directory.d.ts +17 -0
  109. package/node_modules/@silicaclaw/storage/dist/packages/core/src/directory.js +145 -0
  110. package/node_modules/@silicaclaw/storage/dist/packages/core/src/identity.d.ts +2 -0
  111. package/node_modules/@silicaclaw/storage/dist/packages/core/src/identity.js +18 -0
  112. package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.d.ts +12 -0
  113. package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.js +28 -0
  114. package/node_modules/@silicaclaw/storage/dist/packages/core/src/indexing.d.ts +6 -0
  115. package/node_modules/@silicaclaw/storage/dist/packages/core/src/indexing.js +43 -0
  116. package/node_modules/@silicaclaw/storage/dist/packages/core/src/presence.d.ts +4 -0
  117. package/node_modules/@silicaclaw/storage/dist/packages/core/src/presence.js +23 -0
  118. package/node_modules/@silicaclaw/storage/dist/packages/core/src/profile.d.ts +4 -0
  119. package/node_modules/@silicaclaw/storage/dist/packages/core/src/profile.js +39 -0
  120. package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  121. package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.js +103 -0
  122. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialConfig.d.ts +100 -0
  123. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialConfig.js +300 -0
  124. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialMessage.d.ts +19 -0
  125. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialMessage.js +69 -0
  126. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialResolver.d.ts +46 -0
  127. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialResolver.js +237 -0
  128. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialTemplate.d.ts +2 -0
  129. package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialTemplate.js +90 -0
  130. package/node_modules/@silicaclaw/storage/dist/packages/core/src/types.d.ts +59 -0
  131. package/node_modules/@silicaclaw/storage/dist/packages/core/src/types.js +2 -0
  132. package/node_modules/@silicaclaw/storage/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
  133. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/index.d.ts +3 -0
  134. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/index.js +19 -0
  135. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/jsonRepo.d.ts +7 -0
  136. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/jsonRepo.js +29 -0
  137. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.d.ts +61 -0
  138. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.js +67 -0
  139. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/socialRuntimeRepo.d.ts +5 -0
  140. package/node_modules/@silicaclaw/storage/dist/packages/storage/src/socialRuntimeRepo.js +57 -0
  141. package/node_modules/@silicaclaw/storage/dist/socialRuntimeRepo.js +8 -4
  142. package/node_modules/@silicaclaw/storage/src/socialRuntimeRepo.ts +5 -4
  143. package/node_modules/@silicaclaw/storage/tsconfig.json +1 -6
  144. package/openclaw-skills/silicaclaw-bridge-setup/SKILL.md +147 -0
  145. package/openclaw-skills/silicaclaw-bridge-setup/VERSION +1 -0
  146. package/openclaw-skills/silicaclaw-bridge-setup/agents/openai.yaml +6 -0
  147. package/openclaw-skills/silicaclaw-bridge-setup/manifest.json +27 -0
  148. package/openclaw-skills/silicaclaw-bridge-setup/references/owner-dialogue-cheatsheet-zh.md +58 -0
  149. package/openclaw-skills/silicaclaw-bridge-setup/references/runtime-setup.md +43 -0
  150. package/openclaw-skills/silicaclaw-bridge-setup/references/troubleshooting.md +24 -0
  151. package/openclaw-skills/silicaclaw-broadcast/SKILL.md +132 -0
  152. package/openclaw-skills/silicaclaw-broadcast/VERSION +1 -1
  153. package/openclaw-skills/silicaclaw-broadcast/agents/openai.yaml +2 -2
  154. package/openclaw-skills/silicaclaw-broadcast/manifest.json +3 -2
  155. package/openclaw-skills/silicaclaw-broadcast/references/owner-dialogue-cheatsheet-zh.md +81 -0
  156. package/openclaw-skills/silicaclaw-owner-push/SKILL.md +217 -0
  157. package/openclaw-skills/silicaclaw-owner-push/VERSION +1 -0
  158. package/openclaw-skills/silicaclaw-owner-push/agents/openai.yaml +6 -0
  159. package/openclaw-skills/silicaclaw-owner-push/manifest.json +30 -0
  160. package/openclaw-skills/silicaclaw-owner-push/references/owner-dialogue-cheatsheet-zh.md +87 -0
  161. package/openclaw-skills/silicaclaw-owner-push/references/push-routing-policy.md +43 -0
  162. package/openclaw-skills/silicaclaw-owner-push/references/runtime-setup.md +41 -0
  163. package/openclaw-skills/silicaclaw-owner-push/scripts/owner-push-forwarder.mjs +214 -0
  164. package/openclaw-skills/silicaclaw-owner-push/scripts/send-to-owner-via-openclaw.mjs +69 -0
  165. package/package.json +5 -1
  166. package/packages/core/dist/config/silicaclaw-defaults.json +19 -0
  167. package/packages/core/dist/packages/core/src/crypto.d.ts +6 -0
  168. package/packages/core/dist/packages/core/src/crypto.js +50 -0
  169. package/packages/core/dist/packages/core/src/directory.d.ts +17 -0
  170. package/packages/core/dist/packages/core/src/directory.js +145 -0
  171. package/packages/core/dist/packages/core/src/identity.d.ts +2 -0
  172. package/packages/core/dist/packages/core/src/identity.js +18 -0
  173. package/packages/core/dist/packages/core/src/index.d.ts +12 -0
  174. package/packages/core/dist/packages/core/src/index.js +28 -0
  175. package/packages/core/dist/packages/core/src/indexing.d.ts +6 -0
  176. package/packages/core/dist/packages/core/src/indexing.js +43 -0
  177. package/packages/core/dist/packages/core/src/presence.d.ts +4 -0
  178. package/packages/core/dist/packages/core/src/presence.js +23 -0
  179. package/packages/core/dist/packages/core/src/profile.d.ts +4 -0
  180. package/packages/core/dist/packages/core/src/profile.js +39 -0
  181. package/packages/core/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  182. package/packages/core/dist/packages/core/src/publicProfileSummary.js +103 -0
  183. package/packages/core/dist/packages/core/src/socialConfig.d.ts +100 -0
  184. package/packages/core/dist/packages/core/src/socialConfig.js +300 -0
  185. package/packages/core/dist/packages/core/src/socialMessage.d.ts +19 -0
  186. package/packages/core/dist/packages/core/src/socialMessage.js +69 -0
  187. package/packages/core/dist/packages/core/src/socialResolver.d.ts +46 -0
  188. package/packages/core/dist/packages/core/src/socialResolver.js +237 -0
  189. package/packages/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
  190. package/packages/core/dist/packages/core/src/socialTemplate.js +90 -0
  191. package/packages/core/dist/packages/core/src/types.d.ts +59 -0
  192. package/packages/core/dist/packages/core/src/types.js +2 -0
  193. package/packages/core/src/socialConfig.ts +7 -5
  194. package/packages/network/dist/config/silicaclaw-defaults.json +19 -0
  195. package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
  196. package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
  197. package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
  198. package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
  199. package/packages/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
  200. package/packages/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
  201. package/packages/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
  202. package/packages/network/dist/packages/network/src/abstractions/transport.js +2 -0
  203. package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
  204. package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
  205. package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
  206. package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
  207. package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
  208. package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
  209. package/packages/network/dist/packages/network/src/index.d.ts +14 -0
  210. package/packages/network/dist/packages/network/src/index.js +30 -0
  211. package/packages/network/dist/packages/network/src/localEventBus.d.ts +9 -0
  212. package/packages/network/dist/packages/network/src/localEventBus.js +47 -0
  213. package/packages/network/dist/packages/network/src/mock.d.ts +8 -0
  214. package/packages/network/dist/packages/network/src/mock.js +24 -0
  215. package/packages/network/dist/packages/network/src/realPreview.d.ts +105 -0
  216. package/packages/network/dist/packages/network/src/realPreview.js +331 -0
  217. package/packages/network/dist/packages/network/src/relayPreview.d.ts +166 -0
  218. package/packages/network/dist/packages/network/src/relayPreview.js +448 -0
  219. package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
  220. package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
  221. package/packages/network/dist/packages/network/src/types.d.ts +6 -0
  222. package/packages/network/dist/packages/network/src/types.js +2 -0
  223. package/packages/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
  224. package/packages/network/dist/packages/network/src/webrtcPreview.js +848 -0
  225. package/packages/network/src/realPreview.ts +3 -2
  226. package/packages/network/src/relayPreview.ts +5 -2
  227. package/packages/network/src/transport/udpLanBroadcastTransport.ts +2 -1
  228. package/packages/network/src/webrtcPreview.ts +2 -1
  229. package/packages/storage/config/silicaclaw-defaults.json +19 -0
  230. package/packages/storage/dist/config/silicaclaw-defaults.json +19 -0
  231. package/packages/storage/dist/packages/core/src/crypto.d.ts +6 -0
  232. package/packages/storage/dist/packages/core/src/crypto.js +50 -0
  233. package/packages/storage/dist/packages/core/src/directory.d.ts +17 -0
  234. package/packages/storage/dist/packages/core/src/directory.js +145 -0
  235. package/packages/storage/dist/packages/core/src/identity.d.ts +2 -0
  236. package/packages/storage/dist/packages/core/src/identity.js +18 -0
  237. package/packages/storage/dist/packages/core/src/index.d.ts +12 -0
  238. package/packages/storage/dist/packages/core/src/index.js +28 -0
  239. package/packages/storage/dist/packages/core/src/indexing.d.ts +6 -0
  240. package/packages/storage/dist/packages/core/src/indexing.js +43 -0
  241. package/packages/storage/dist/packages/core/src/presence.d.ts +4 -0
  242. package/packages/storage/dist/packages/core/src/presence.js +23 -0
  243. package/packages/storage/dist/packages/core/src/profile.d.ts +4 -0
  244. package/packages/storage/dist/packages/core/src/profile.js +39 -0
  245. package/packages/storage/dist/packages/core/src/publicProfileSummary.d.ts +70 -0
  246. package/packages/storage/dist/packages/core/src/publicProfileSummary.js +103 -0
  247. package/packages/storage/dist/packages/core/src/socialConfig.d.ts +100 -0
  248. package/packages/storage/dist/packages/core/src/socialConfig.js +300 -0
  249. package/packages/storage/dist/packages/core/src/socialMessage.d.ts +19 -0
  250. package/packages/storage/dist/packages/core/src/socialMessage.js +69 -0
  251. package/packages/storage/dist/packages/core/src/socialResolver.d.ts +46 -0
  252. package/packages/storage/dist/packages/core/src/socialResolver.js +237 -0
  253. package/packages/storage/dist/packages/core/src/socialTemplate.d.ts +2 -0
  254. package/packages/storage/dist/packages/core/src/socialTemplate.js +90 -0
  255. package/packages/storage/dist/packages/core/src/types.d.ts +59 -0
  256. package/packages/storage/dist/packages/core/src/types.js +2 -0
  257. package/packages/storage/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
  258. package/packages/storage/dist/packages/storage/src/index.d.ts +3 -0
  259. package/packages/storage/dist/packages/storage/src/index.js +19 -0
  260. package/packages/storage/dist/packages/storage/src/jsonRepo.d.ts +7 -0
  261. package/packages/storage/dist/packages/storage/src/jsonRepo.js +29 -0
  262. package/packages/storage/dist/packages/storage/src/repos.d.ts +61 -0
  263. package/packages/storage/dist/packages/storage/src/repos.js +67 -0
  264. package/packages/storage/dist/packages/storage/src/socialRuntimeRepo.d.ts +5 -0
  265. package/packages/storage/dist/packages/storage/src/socialRuntimeRepo.js +57 -0
  266. package/packages/storage/dist/socialRuntimeRepo.js +8 -4
  267. package/packages/storage/src/socialRuntimeRepo.ts +5 -4
  268. package/packages/storage/tsconfig.json +1 -6
  269. package/scripts/functional-check.mjs +35 -6
  270. package/scripts/install-openclaw-skill.mjs +9 -2
  271. package/scripts/openclaw-bridge-adapter.mjs +3 -1
  272. package/scripts/openclaw-bridge-client.mjs +3 -1
  273. package/scripts/openclaw-runtime-demo.mjs +3 -1
  274. package/scripts/quickstart.sh +14 -10
  275. package/scripts/release-pack.mjs +59 -1
  276. package/scripts/silicaclaw-cli.mjs +162 -50
  277. package/scripts/silicaclaw-gateway.mjs +302 -84
  278. package/scripts/validate-openclaw-skill.mjs +79 -21
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.SocialRuntimeRepo = void 0;
4
7
  const path_1 = require("path");
5
8
  const jsonRepo_1 = require("./jsonRepo");
9
+ const silicaclaw_defaults_json_1 = __importDefault(require("../config/silicaclaw-defaults.json"));
6
10
  function emptyRuntime() {
7
11
  return {
8
12
  enabled: true,
@@ -14,13 +18,13 @@ function emptyRuntime() {
14
18
  resolved_identity: null,
15
19
  resolved_profile: null,
16
20
  resolved_network: {
17
- mode: "global-preview",
21
+ mode: silicaclaw_defaults_json_1.default.network.default_mode,
18
22
  adapter: "relay-preview",
19
- namespace: "silicaclaw.preview",
23
+ namespace: silicaclaw_defaults_json_1.default.network.default_namespace,
20
24
  port: null,
21
- signaling_url: "https://relay.silicaclaw.com",
25
+ signaling_url: silicaclaw_defaults_json_1.default.network.global_preview.relay_url,
22
26
  signaling_urls: [],
23
- room: "silicaclaw-global-preview",
27
+ room: silicaclaw_defaults_json_1.default.network.global_preview.room,
24
28
  seed_peers: [],
25
29
  bootstrap_hints: [],
26
30
  bootstrap_sources: [],
@@ -1,6 +1,7 @@
1
1
  import { resolve } from "path";
2
2
  import { SocialRuntimeConfig } from "@silicaclaw/core";
3
3
  import { JsonFileRepo } from "./jsonRepo";
4
+ import defaults from "../config/silicaclaw-defaults.json";
4
5
 
5
6
  function emptyRuntime(): SocialRuntimeConfig {
6
7
  return {
@@ -13,13 +14,13 @@ function emptyRuntime(): SocialRuntimeConfig {
13
14
  resolved_identity: null,
14
15
  resolved_profile: null,
15
16
  resolved_network: {
16
- mode: "global-preview",
17
+ mode: defaults.network.default_mode as SocialRuntimeConfig["resolved_network"]["mode"],
17
18
  adapter: "relay-preview",
18
- namespace: "silicaclaw.preview",
19
+ namespace: defaults.network.default_namespace,
19
20
  port: null,
20
- signaling_url: "https://relay.silicaclaw.com",
21
+ signaling_url: defaults.network.global_preview.relay_url,
21
22
  signaling_urls: [],
22
- room: "silicaclaw-global-preview",
23
+ room: defaults.network.global_preview.room,
23
24
  seed_peers: [],
24
25
  bootstrap_hints: [],
25
26
  bootstrap_sources: [],
@@ -1,12 +1,7 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "outDir": "./dist",
5
- "rootDir": "./src",
6
- "baseUrl": ".",
7
- "paths": {
8
- "@silicaclaw/core": ["../../packages/core/dist/index.d.ts"]
9
- }
4
+ "outDir": "./dist"
10
5
  },
11
6
  "include": ["src"]
12
7
  }
@@ -13,13 +13,23 @@ function checkJson(filePath) {
13
13
  JSON.parse(raw);
14
14
  }
15
15
 
16
- function checkInlineScriptSyntax(htmlPath) {
16
+ function checkBrowserScriptSyntax(htmlPath) {
17
17
  const html = readFileSync(htmlPath, 'utf8');
18
18
  const start = html.indexOf('<script>');
19
19
  const end = html.lastIndexOf('</script>');
20
- assert(start >= 0 && end > start, `Missing inline script in ${htmlPath}`);
21
- const js = html.slice(start + '<script>'.length, end);
22
- new vm.Script(js, { filename: htmlPath });
20
+ if (start >= 0 && end > start) {
21
+ const js = html.slice(start + '<script>'.length, end);
22
+ new vm.Script(js, { filename: htmlPath });
23
+ return;
24
+ }
25
+
26
+ const moduleMatch = html.match(/<script\s+type="module"\s+src="([^"]+)"/i);
27
+ assert(moduleMatch?.[1], `Missing browser script in ${htmlPath}`);
28
+ const src = String(moduleMatch[1]);
29
+ const resolved = src.startsWith('/')
30
+ ? path.resolve(path.dirname(htmlPath), `.${src}`)
31
+ : path.resolve(path.dirname(htmlPath), src);
32
+ assert(existsSync(resolved), `Missing module script target for ${htmlPath}: ${src}`);
23
33
  }
24
34
 
25
35
  class InMemoryLoopbackTransport {
@@ -66,6 +76,14 @@ async function main() {
66
76
  'openclaw-skills/silicaclaw-broadcast/scripts/owner-dispatch-adapter-demo.mjs',
67
77
  'openclaw-skills/silicaclaw-broadcast/scripts/send-to-owner-via-openclaw.mjs',
68
78
  'openclaw-skills/silicaclaw-broadcast/scripts/owner-forwarder-demo.mjs',
79
+ 'openclaw-skills/silicaclaw-owner-push/SKILL.md',
80
+ 'openclaw-skills/silicaclaw-owner-push/VERSION',
81
+ 'openclaw-skills/silicaclaw-owner-push/manifest.json',
82
+ 'openclaw-skills/silicaclaw-owner-push/agents/openai.yaml',
83
+ 'openclaw-skills/silicaclaw-owner-push/references/push-routing-policy.md',
84
+ 'openclaw-skills/silicaclaw-owner-push/references/runtime-setup.md',
85
+ 'openclaw-skills/silicaclaw-owner-push/scripts/owner-push-forwarder.mjs',
86
+ 'openclaw-skills/silicaclaw-owner-push/scripts/send-to-owner-via-openclaw.mjs',
69
87
  'apps/local-console/public/index.html',
70
88
  'apps/public-explorer/public/index.html',
71
89
  'data/cache.json',
@@ -86,8 +104,8 @@ async function main() {
86
104
  checkJson(path.resolve(root, 'data/identity.json'));
87
105
 
88
106
  // Browser script syntax sanity
89
- checkInlineScriptSyntax(path.resolve(root, 'apps/local-console/public/index.html'));
90
- checkInlineScriptSyntax(path.resolve(root, 'apps/public-explorer/public/index.html'));
107
+ checkBrowserScriptSyntax(path.resolve(root, 'apps/local-console/public/index.html'));
108
+ checkBrowserScriptSyntax(path.resolve(root, 'apps/public-explorer/public/index.html'));
91
109
 
92
110
  const skillBody = readFileSync(path.resolve(root, 'openclaw-skills/silicaclaw-broadcast/SKILL.md'), 'utf8');
93
111
  assert(skillBody.includes('name: silicaclaw-broadcast'), 'OpenClaw skill metadata missing');
@@ -102,6 +120,17 @@ async function main() {
102
120
  const skillUi = readFileSync(path.resolve(root, 'openclaw-skills/silicaclaw-broadcast/agents/openai.yaml'), 'utf8');
103
121
  assert(skillUi.includes('display_name: "SilicaClaw Broadcast"'), 'OpenClaw skill UI metadata missing');
104
122
 
123
+ const ownerPushBody = readFileSync(path.resolve(root, 'openclaw-skills/silicaclaw-owner-push/SKILL.md'), 'utf8');
124
+ assert(ownerPushBody.includes('name: silicaclaw-owner-push'), 'Owner push skill metadata missing');
125
+ const ownerPushManifest = JSON.parse(readFileSync(path.resolve(root, 'openclaw-skills/silicaclaw-owner-push/manifest.json'), 'utf8'));
126
+ assert(ownerPushManifest.name === 'silicaclaw-owner-push', 'Owner push skill manifest missing name');
127
+ assert(ownerPushManifest.references?.push_routing_policy === 'references/push-routing-policy.md', 'Owner push skill manifest missing push routing policy reference');
128
+ assert(ownerPushManifest.references?.runtime_setup === 'references/runtime-setup.md', 'Owner push skill manifest missing runtime setup reference');
129
+ assert(ownerPushManifest.entrypoints?.owner_push_forwarder === 'scripts/owner-push-forwarder.mjs', 'Owner push skill manifest missing owner push forwarder entrypoint');
130
+ assert(ownerPushManifest.entrypoints?.owner_send_via_openclaw === 'scripts/send-to-owner-via-openclaw.mjs', 'Owner push skill manifest missing owner send via openclaw entrypoint');
131
+ const ownerPushUi = readFileSync(path.resolve(root, 'openclaw-skills/silicaclaw-owner-push/agents/openai.yaml'), 'utf8');
132
+ assert(ownerPushUi.includes('display_name: "SilicaClaw Owner Push"'), 'Owner push skill UI metadata missing');
133
+
105
134
  // Import built modules (requires npm run build)
106
135
  const core = await import(pathToFileURL(path.resolve(root, 'packages/core/dist/index.js')).href);
107
136
  const network = await import(pathToFileURL(path.resolve(root, 'packages/network/dist/index.js')).href);
@@ -26,10 +26,16 @@ function main() {
26
26
  const sourceRoot = resolve(ROOT_DIR, "openclaw-skills");
27
27
  const targetRoot = resolve(homedir(), ".openclaw", "workspace", "skills");
28
28
  const legacyTargetRoot = resolve(homedir(), ".openclaw", "skills");
29
- const skills = listSkillDirs(sourceRoot);
29
+ const requestedSkill = String(process.argv.find((arg) => arg.startsWith("--skill=")) || "")
30
+ .replace(/^--skill=/, "")
31
+ .trim();
32
+ const allSkills = listSkillDirs(sourceRoot);
33
+ const skills = requestedSkill
34
+ ? allSkills.filter((skill) => skill.name === requestedSkill)
35
+ : allSkills;
30
36
 
31
37
  if (!skills.length) {
32
- throw new Error("No bundled OpenClaw skills found.");
38
+ throw new Error(requestedSkill ? `Bundled OpenClaw skill not found: ${requestedSkill}` : "No bundled OpenClaw skills found.");
33
39
  }
34
40
 
35
41
  mkdirSync(targetRoot, { recursive: true });
@@ -41,6 +47,7 @@ function main() {
41
47
  }
42
48
 
43
49
  console.log(JSON.stringify({
50
+ requested_skill: requestedSkill || null,
44
51
  installed: skills.map((skill) => ({
45
52
  name: skill.name,
46
53
  target_path: resolve(targetRoot, skill.name),
@@ -1,4 +1,6 @@
1
- const DEFAULT_API_BASE = "http://localhost:4310";
1
+ import defaults from "../config/silicaclaw-defaults.json" with { type: "json" };
2
+
3
+ const DEFAULT_API_BASE = defaults.bridge.api_base;
2
4
 
3
5
  function normalizeApiBase(value) {
4
6
  return String(value || DEFAULT_API_BASE).replace(/\/+$/, "");
@@ -4,7 +4,9 @@ import { createOpenClawBridgeClient } from "./openclaw-bridge-adapter.mjs";
4
4
 
5
5
  const argv = process.argv.slice(2);
6
6
  const cmd = String(argv[0] || "help").toLowerCase();
7
- const API_BASE = String(process.env.SILICACLAW_API_BASE || "http://localhost:4310").replace(/\/+$/, "");
7
+ import defaults from "../config/silicaclaw-defaults.json" with { type: "json" };
8
+
9
+ const API_BASE = String(process.env.SILICACLAW_API_BASE || defaults.bridge.api_base).replace(/\/+$/, "");
8
10
  const client = createOpenClawBridgeClient({ apiBase: API_BASE });
9
11
 
10
12
  const COLOR = {
@@ -3,7 +3,9 @@
3
3
  import readline from "node:readline";
4
4
  import { createOpenClawBridgeClient } from "./openclaw-bridge-adapter.mjs";
5
5
 
6
- const apiBase = String(process.env.SILICACLAW_API_BASE || "http://localhost:4310").replace(/\/+$/, "");
6
+ import defaults from "../config/silicaclaw-defaults.json" with { type: "json" };
7
+
8
+ const apiBase = String(process.env.SILICACLAW_API_BASE || defaults.bridge.api_base).replace(/\/+$/, "");
7
9
  const bridge = createOpenClawBridgeClient({ apiBase });
8
10
 
9
11
  const COLOR = {
@@ -7,6 +7,10 @@ WORK_DIR="$ROOT_DIR"
7
7
  IS_NPX_MODE=0
8
8
  DEFAULT_MODE_PICK="${QUICKSTART_DEFAULT_MODE:-3}"
9
9
  CONNECT_MODE="${QUICKSTART_CONNECT_MODE:-0}"
10
+ DEFAULTS_FILE="$ROOT_DIR/config/silicaclaw-defaults.json"
11
+ DEFAULT_LOCAL_CONSOLE_PORT="$(node -p "require(process.argv[1]).ports.local_console" "$DEFAULTS_FILE")"
12
+ DEFAULT_GLOBAL_SIGNALING_URL="$(node -p "require(process.argv[1]).network.global_preview.relay_url" "$DEFAULTS_FILE")"
13
+ DEFAULT_GLOBAL_ROOM="$(node -p "require(process.argv[1]).network.global_preview.room" "$DEFAULTS_FILE")"
10
14
 
11
15
  case "$DEFAULT_MODE_PICK" in
12
16
  1|2|3) ;;
@@ -48,7 +52,7 @@ title() {
48
52
  }
49
53
 
50
54
  headline() {
51
- printf '%sSilicaClaw%s %s%s%s\n' "$ORANGE$BOLD" "$RESET" "$DIM" "$(cat "$WORK_DIR/VERSION" 2>/dev/null || printf 'unknown')" "$RESET"
55
+ printf '%s🦀 SilicaClaw%s %s%s%s\n' "$ORANGE$BOLD" "$RESET" "$DIM" "$(cat "$WORK_DIR/VERSION" 2>/dev/null || printf 'unknown')" "$RESET"
52
56
  printf '%sPublic identity and discovery for OpenClaw agents.%s\n' "$DIM" "$RESET"
53
57
  }
54
58
 
@@ -144,7 +148,7 @@ install_npx_alias() {
144
148
  rc_file="$(detect_shell_rc_file)"
145
149
  local begin_mark="# >>> silicaclaw npx alias >>>"
146
150
  local end_mark="# <<< silicaclaw npx alias <<<"
147
- local alias_line="alias silicaclaw='npx -y @silicaclaw/cli@beta'"
151
+ local alias_line="alias silicaclaw='npx -y @silicaclaw/cli@latest'"
148
152
 
149
153
  mkdir -p "$(dirname "$rc_file")"
150
154
  touch "$rc_file"
@@ -345,14 +349,14 @@ EOF"
345
349
 
346
350
  if [ "$INSTALLED" != "1" ]; then
347
351
  echo "你也可以选择无需全局安装的命令别名模式。"
348
- if ask_yes_no "是否自动写入 shell alias(silicaclaw -> npx @silicaclaw/cli@beta)?" "Y"; then
352
+ if ask_yes_no "是否自动写入 shell alias(silicaclaw -> npx @silicaclaw/cli@latest)?" "Y"; then
349
353
  if install_npx_alias; then
350
354
  success "alias 安装完成"
351
355
  else
352
356
  note "alias 安装失败。继续使用 npx 即可。"
353
357
  fi
354
358
  else
355
- kv "临时用法" "npx @silicaclaw/cli@beta <command>"
359
+ kv "临时用法" "npx @silicaclaw/cli@latest <command>"
356
360
  fi
357
361
  fi
358
362
  fi
@@ -386,7 +390,7 @@ fi
386
390
  NETWORK_MODE="local"
387
391
  NETWORK_ADAPTER="local-event-bus"
388
392
  WEBRTC_SIGNALING_URL_VALUE=""
389
- WEBRTC_ROOM_VALUE="silicaclaw-global-preview"
393
+ WEBRTC_ROOM_VALUE="$DEFAULT_GLOBAL_ROOM"
390
394
  AUTO_START_SIGNALING=0
391
395
 
392
396
  case "$MODE_PICK" in
@@ -398,9 +402,9 @@ case "$MODE_PICK" in
398
402
  NETWORK_MODE="global-preview"
399
403
  NETWORK_ADAPTER="relay-preview"
400
404
  PUBLIC_IP="$(detect_public_ip)"
401
- SIGNALING_DEFAULT="${WEBRTC_SIGNALING_URL:-https://relay.silicaclaw.com}"
405
+ SIGNALING_DEFAULT="${WEBRTC_SIGNALING_URL:-$DEFAULT_GLOBAL_SIGNALING_URL}"
402
406
  if [ -n "$PUBLIC_IP" ]; then
403
- SIGNALING_DEFAULT="https://relay.silicaclaw.com"
407
+ SIGNALING_DEFAULT="$DEFAULT_GLOBAL_SIGNALING_URL"
404
408
  fi
405
409
  note "signaling 地址需要所有节点都可访问。"
406
410
  if [ -n "$PUBLIC_IP" ]; then
@@ -428,8 +432,8 @@ case "$MODE_PICK" in
428
432
  kv "本地 relay" "PORT=$SIGNALING_PORT_VALUE"
429
433
  fi
430
434
 
431
- read -r -p "请输入 room(默认 silicaclaw-global-preview): " WEBRTC_ROOM_VALUE_INPUT || true
432
- WEBRTC_ROOM_VALUE="${WEBRTC_ROOM_VALUE_INPUT:-silicaclaw-global-preview}"
435
+ read -r -p "请输入 room(默认 ${DEFAULT_GLOBAL_ROOM}): " WEBRTC_ROOM_VALUE_INPUT || true
436
+ WEBRTC_ROOM_VALUE="${WEBRTC_ROOM_VALUE_INPUT:-$DEFAULT_GLOBAL_ROOM}"
433
437
  ;;
434
438
  *)
435
439
  NETWORK_MODE="local"
@@ -481,7 +485,7 @@ else
481
485
  run_cmd "$GATEWAY_CMD"
482
486
  echo ""
483
487
  success "已启动完成"
484
- kv "打开" "http://localhost:4310"
488
+ kv "打开" "http://localhost:${DEFAULT_LOCAL_CONSOLE_PORT}"
485
489
  echo ""
486
490
  echo "常用命令:"
487
491
  kv "Status" "silicaclaw status"
@@ -21,6 +21,10 @@ function normalizeVersion(value) {
21
21
  return text.startsWith("v") ? text.slice(1) : text;
22
22
  }
23
23
 
24
+ function toSkillVersion(rootVersion) {
25
+ return String(rootVersion || "").replace(/-(\d+)$/, "-beta.$1");
26
+ }
27
+
24
28
  function assert(condition, message) {
25
29
  if (!condition) {
26
30
  console.error(message);
@@ -47,6 +51,28 @@ function run(cmd, cmdArgs, extraEnv = {}) {
47
51
  }
48
52
  }
49
53
 
54
+ function runCapture(cmd, cmdArgs, extraEnv = {}) {
55
+ const result = spawnSync(cmd, cmdArgs, {
56
+ cwd: ROOT_DIR,
57
+ encoding: "utf8",
58
+ env: {
59
+ ...process.env,
60
+ npm_config_cache: resolve(ROOT_DIR, ".npm-cache"),
61
+ ...extraEnv,
62
+ },
63
+ });
64
+ if (result.error) {
65
+ console.error(result.error.message);
66
+ process.exit(1);
67
+ }
68
+ if ((result.status ?? 1) !== 0) {
69
+ if (result.stdout) process.stdout.write(result.stdout);
70
+ if (result.stderr) process.stderr.write(result.stderr);
71
+ process.exit(result.status ?? 1);
72
+ }
73
+ return String(result.stdout || "");
74
+ }
75
+
50
76
  function verifyVersionSync() {
51
77
  const pkg = readJson(resolve(ROOT_DIR, "package.json"));
52
78
  const lock = readJson(resolve(ROOT_DIR, "package-lock.json"));
@@ -55,11 +81,14 @@ function verifyVersionSync() {
55
81
  const skillManifest = readJson(resolve(ROOT_DIR, "openclaw-skills", "silicaclaw-broadcast", "manifest.json"));
56
82
 
57
83
  const expected = normalizeVersion(pkg.version);
84
+ const expectedSkill = toSkillVersion(expected);
58
85
  const checks = [
59
86
  ["package.json", normalizeVersion(pkg.version)],
60
87
  ["package-lock.json", normalizeVersion(lock.version)],
61
88
  ['package-lock.json packages[""]', normalizeVersion(lock.packages?.[""]?.version)],
62
89
  ["VERSION", normalizeVersion(rootVersionFile)],
90
+ ];
91
+ const skillChecks = [
63
92
  ["skill VERSION", normalizeVersion(skillVersionFile)],
64
93
  ["skill manifest", normalizeVersion(skillManifest.version)],
65
94
  ];
@@ -69,7 +98,33 @@ function verifyVersionSync() {
69
98
  assert(actual === expected, `Version mismatch: ${label}=${actual}, expected ${expected}`);
70
99
  }
71
100
 
72
- console.log(`Version sync OK: ${expected}`);
101
+ for (const [label, actual] of skillChecks) {
102
+ assert(Boolean(actual), `Missing version in ${label}`);
103
+ assert(actual === expectedSkill, `Version mismatch: ${label}=${actual}, expected ${expectedSkill}`);
104
+ }
105
+
106
+ console.log(`Version sync OK: root=${expected}, skill=${expectedSkill}`);
107
+ }
108
+
109
+ function verifyPackContents() {
110
+ const raw = runCapture("npm", ["pack", "--json", "--dry-run", "--ignore-scripts"]);
111
+ const start = raw.indexOf("[");
112
+ const payload = start >= 0 ? raw.slice(start) : raw;
113
+ const packInfo = JSON.parse(payload);
114
+ const files = new Set((Array.isArray(packInfo) ? packInfo[0]?.files : packInfo?.files || []).map((entry) => entry.path));
115
+ const requiredFiles = [
116
+ "config/silicaclaw-defaults.json",
117
+ "packages/storage/config/silicaclaw-defaults.json",
118
+ "node_modules/@silicaclaw/storage/config/silicaclaw-defaults.json",
119
+ "scripts/silicaclaw-cli.mjs",
120
+ "scripts/silicaclaw-gateway.mjs",
121
+ ];
122
+
123
+ for (const file of requiredFiles) {
124
+ assert(files.has(file), `Packed tarball is missing required file: ${file}`);
125
+ }
126
+
127
+ console.log(`Pack contents OK: ${requiredFiles.join(", ")}`);
73
128
  }
74
129
 
75
130
  function main() {
@@ -82,6 +137,9 @@ function main() {
82
137
  console.log("Validating bundled OpenClaw skill...");
83
138
  run("node", [resolve(ROOT_DIR, "scripts", "validate-openclaw-skill.mjs")]);
84
139
 
140
+ console.log("Verifying npm pack contents...");
141
+ verifyPackContents();
142
+
85
143
  console.log(dryRun ? "Running npm pack dry-run..." : "Packing npm tarball...");
86
144
  run("npm", ["pack", ...(dryRun ? ["--dry-run"] : [])]);
87
145
  }