@silicaclaw/cli 2026.3.19-9 → 2026.3.20-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +182 -0
- package/DEMO_GUIDE.md +1 -1
- package/INSTALL.md +53 -13
- package/README.md +106 -23
- package/VERSION +1 -1
- package/apps/local-console/dist/apps/local-console/src/server.d.ts +180 -14
- package/apps/local-console/dist/apps/local-console/src/server.js +1499 -267
- package/apps/local-console/dist/config/silicaclaw-defaults.json +19 -0
- package/apps/local-console/dist/packages/core/src/index.d.ts +2 -0
- package/apps/local-console/dist/packages/core/src/index.js +2 -0
- package/apps/local-console/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/apps/local-console/dist/packages/core/src/privateCrypto.js +40 -0
- package/apps/local-console/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/apps/local-console/dist/packages/core/src/privateMessage.js +74 -0
- package/apps/local-console/dist/packages/core/src/profile.js +2 -0
- package/apps/local-console/dist/packages/core/src/publicProfileSummary.d.ts +4 -0
- package/apps/local-console/dist/packages/core/src/publicProfileSummary.js +3 -0
- package/apps/local-console/dist/packages/core/src/socialConfig.js +9 -5
- package/apps/local-console/dist/packages/core/src/types.d.ts +40 -0
- package/apps/local-console/dist/packages/network/src/realPreview.js +6 -2
- package/apps/local-console/dist/packages/network/src/relayPreview.d.ts +12 -0
- package/apps/local-console/dist/packages/network/src/relayPreview.js +116 -10
- package/apps/local-console/dist/packages/network/src/transport/udpLanBroadcastTransport.js +2 -1
- package/apps/local-console/dist/packages/network/src/types.d.ts +4 -0
- package/apps/local-console/dist/packages/network/src/webrtcPreview.js +5 -1
- package/apps/local-console/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
- package/apps/local-console/dist/packages/storage/src/repos.d.ts +13 -1
- package/apps/local-console/dist/packages/storage/src/repos.js +19 -1
- package/apps/local-console/dist/packages/storage/src/socialRuntimeRepo.js +8 -4
- package/apps/local-console/public/app/app.js +486 -12
- package/apps/local-console/public/app/events.js +61 -2
- package/apps/local-console/public/app/network.js +176 -35
- package/apps/local-console/public/app/overview.js +75 -53
- package/apps/local-console/public/app/shell.js +18 -34
- package/apps/local-console/public/app/social.js +495 -93
- package/apps/local-console/public/app/styles.css +309 -15
- package/apps/local-console/public/app/template.js +182 -51
- package/apps/local-console/public/app/translations.js +476 -266
- package/apps/local-console/src/server.ts +1669 -271
- package/apps/public-explorer/dist/apps/public-explorer/src/server.d.ts +1 -0
- package/apps/public-explorer/dist/apps/public-explorer/src/server.js +41 -0
- package/apps/public-explorer/dist/config/silicaclaw-defaults.json +19 -0
- package/apps/public-explorer/public/app/app.js +22 -2
- package/apps/public-explorer/public/app/template.js +4 -4
- package/apps/public-explorer/public/app/translations.js +29 -29
- package/apps/public-explorer/src/server.ts +11 -1
- package/config/silicaclaw-defaults.json +19 -0
- package/dist/apps/local-console/src/server.d.ts +1 -0
- package/dist/apps/local-console/src/server.js +555 -0
- package/docs/NEW_USER_INSTALL.md +14 -10
- package/docs/NEW_USER_OPERATIONS.md +9 -9
- package/docs/OPENCLAW_BRIDGE.md +22 -7
- package/docs/OPENCLAW_BRIDGE_ZH.md +21 -6
- package/docs/RELEASE_CHECKLIST.md +95 -0
- package/node_modules/@silicaclaw/core/dist/config/silicaclaw-defaults.json +19 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.d.ts +6 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/crypto.js +50 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.d.ts +17 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/directory.js +145 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.d.ts +2 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/identity.js +18 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/index.d.ts +14 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/index.js +30 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.d.ts +6 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/indexing.js +43 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.d.ts +4 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/presence.js +23 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateCrypto.js +40 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/privateMessage.js +74 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.d.ts +4 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/profile.js +41 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.d.ts +74 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/publicProfileSummary.js +106 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.d.ts +100 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialConfig.js +300 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.d.ts +19 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialMessage.js +69 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.d.ts +46 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialResolver.js +237 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/socialTemplate.js +90 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/types.d.ts +99 -0
- package/node_modules/@silicaclaw/core/dist/packages/core/src/types.js +2 -0
- package/node_modules/@silicaclaw/core/src/index.ts +2 -0
- package/node_modules/@silicaclaw/core/src/privateCrypto.ts +57 -0
- package/node_modules/@silicaclaw/core/src/privateMessage.ts +101 -0
- package/node_modules/@silicaclaw/core/src/profile.ts +2 -0
- package/node_modules/@silicaclaw/core/src/publicProfileSummary.ts +7 -0
- package/node_modules/@silicaclaw/core/src/socialConfig.ts +7 -5
- package/node_modules/@silicaclaw/core/src/types.ts +44 -0
- package/node_modules/@silicaclaw/network/dist/config/silicaclaw-defaults.json +19 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/abstractions/transport.js +2 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/index.d.ts +14 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/index.js +30 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.d.ts +9 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/localEventBus.js +47 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.d.ts +8 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/mock.js +24 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.d.ts +105 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/realPreview.js +331 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.d.ts +178 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/relayPreview.js +548 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/types.d.ts +10 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/types.js +2 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
- package/node_modules/@silicaclaw/network/dist/packages/network/src/webrtcPreview.js +848 -0
- package/node_modules/@silicaclaw/network/src/realPreview.ts +3 -2
- package/node_modules/@silicaclaw/network/src/relayPreview.ts +125 -12
- package/node_modules/@silicaclaw/network/src/transport/udpLanBroadcastTransport.ts +2 -1
- package/node_modules/@silicaclaw/network/src/types.ts +2 -0
- package/node_modules/@silicaclaw/network/src/webrtcPreview.ts +2 -1
- package/node_modules/@silicaclaw/storage/config/silicaclaw-defaults.json +19 -0
- package/node_modules/@silicaclaw/storage/dist/config/silicaclaw-defaults.json +19 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/crypto.d.ts +6 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/crypto.js +50 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/directory.d.ts +17 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/directory.js +145 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/identity.d.ts +2 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/identity.js +18 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.d.ts +14 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/index.js +30 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/indexing.d.ts +6 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/indexing.js +43 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/presence.d.ts +4 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/presence.js +23 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateCrypto.js +40 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/privateMessage.js +74 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/profile.d.ts +4 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/profile.js +41 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.d.ts +74 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/publicProfileSummary.js +106 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialConfig.d.ts +100 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialConfig.js +300 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialMessage.d.ts +19 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialMessage.js +69 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialResolver.d.ts +46 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialResolver.js +237 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialTemplate.d.ts +2 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/socialTemplate.js +90 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/types.d.ts +99 -0
- package/node_modules/@silicaclaw/storage/dist/packages/core/src/types.js +2 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/index.d.ts +3 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/index.js +19 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/jsonRepo.d.ts +7 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/jsonRepo.js +29 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.d.ts +73 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/repos.js +85 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/socialRuntimeRepo.d.ts +5 -0
- package/node_modules/@silicaclaw/storage/dist/packages/storage/src/socialRuntimeRepo.js +57 -0
- package/node_modules/@silicaclaw/storage/dist/socialRuntimeRepo.js +8 -4
- package/node_modules/@silicaclaw/storage/src/repos.ts +31 -1
- package/node_modules/@silicaclaw/storage/src/socialRuntimeRepo.ts +5 -4
- package/node_modules/@silicaclaw/storage/tsconfig.json +1 -6
- package/openclaw-skills/silicaclaw-bridge-setup/SKILL.md +165 -0
- package/openclaw-skills/silicaclaw-bridge-setup/VERSION +1 -0
- package/openclaw-skills/silicaclaw-bridge-setup/agents/openai.yaml +6 -0
- package/openclaw-skills/silicaclaw-bridge-setup/manifest.json +27 -0
- package/openclaw-skills/silicaclaw-bridge-setup/references/owner-dialogue-cheatsheet-zh.md +58 -0
- package/openclaw-skills/silicaclaw-bridge-setup/references/runtime-setup.md +43 -0
- package/openclaw-skills/silicaclaw-bridge-setup/references/troubleshooting.md +24 -0
- package/openclaw-skills/silicaclaw-broadcast/SKILL.md +150 -0
- package/openclaw-skills/silicaclaw-broadcast/VERSION +1 -1
- package/openclaw-skills/silicaclaw-broadcast/agents/openai.yaml +2 -2
- package/openclaw-skills/silicaclaw-broadcast/manifest.json +4 -3
- package/openclaw-skills/silicaclaw-broadcast/references/owner-dialogue-cheatsheet-zh.md +81 -0
- package/openclaw-skills/silicaclaw-network-config/SKILL.md +158 -0
- package/openclaw-skills/silicaclaw-network-config/VERSION +1 -0
- package/openclaw-skills/silicaclaw-network-config/agents/openai.yaml +6 -0
- package/openclaw-skills/silicaclaw-network-config/manifest.json +27 -0
- package/openclaw-skills/silicaclaw-network-config/references/network-modes.md +22 -0
- package/openclaw-skills/silicaclaw-network-config/references/owner-dialogue-cheatsheet-zh.md +47 -0
- package/openclaw-skills/silicaclaw-network-config/references/public-discovery.md +22 -0
- package/openclaw-skills/silicaclaw-owner-push/SKILL.md +235 -0
- package/openclaw-skills/silicaclaw-owner-push/VERSION +1 -0
- package/openclaw-skills/silicaclaw-owner-push/agents/openai.yaml +6 -0
- package/openclaw-skills/silicaclaw-owner-push/manifest.json +30 -0
- package/openclaw-skills/silicaclaw-owner-push/references/owner-dialogue-cheatsheet-zh.md +87 -0
- package/openclaw-skills/silicaclaw-owner-push/references/push-routing-policy.md +43 -0
- package/openclaw-skills/silicaclaw-owner-push/references/runtime-setup.md +44 -0
- package/openclaw-skills/silicaclaw-owner-push/scripts/owner-push-forwarder.mjs +356 -0
- package/openclaw-skills/silicaclaw-owner-push/scripts/send-to-owner-via-openclaw.mjs +69 -0
- package/package.json +5 -1
- package/packages/core/dist/config/silicaclaw-defaults.json +19 -0
- package/packages/core/dist/packages/core/src/crypto.d.ts +6 -0
- package/packages/core/dist/packages/core/src/crypto.js +50 -0
- package/packages/core/dist/packages/core/src/directory.d.ts +17 -0
- package/packages/core/dist/packages/core/src/directory.js +145 -0
- package/packages/core/dist/packages/core/src/identity.d.ts +2 -0
- package/packages/core/dist/packages/core/src/identity.js +18 -0
- package/packages/core/dist/packages/core/src/index.d.ts +14 -0
- package/packages/core/dist/packages/core/src/index.js +30 -0
- package/packages/core/dist/packages/core/src/indexing.d.ts +6 -0
- package/packages/core/dist/packages/core/src/indexing.js +43 -0
- package/packages/core/dist/packages/core/src/presence.d.ts +4 -0
- package/packages/core/dist/packages/core/src/presence.js +23 -0
- package/packages/core/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/packages/core/dist/packages/core/src/privateCrypto.js +40 -0
- package/packages/core/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/packages/core/dist/packages/core/src/privateMessage.js +74 -0
- package/packages/core/dist/packages/core/src/profile.d.ts +4 -0
- package/packages/core/dist/packages/core/src/profile.js +41 -0
- package/packages/core/dist/packages/core/src/publicProfileSummary.d.ts +74 -0
- package/packages/core/dist/packages/core/src/publicProfileSummary.js +106 -0
- package/packages/core/dist/packages/core/src/socialConfig.d.ts +100 -0
- package/packages/core/dist/packages/core/src/socialConfig.js +300 -0
- package/packages/core/dist/packages/core/src/socialMessage.d.ts +19 -0
- package/packages/core/dist/packages/core/src/socialMessage.js +69 -0
- package/packages/core/dist/packages/core/src/socialResolver.d.ts +46 -0
- package/packages/core/dist/packages/core/src/socialResolver.js +237 -0
- package/packages/core/dist/packages/core/src/socialTemplate.d.ts +2 -0
- package/packages/core/dist/packages/core/src/socialTemplate.js +90 -0
- package/packages/core/dist/packages/core/src/types.d.ts +99 -0
- package/packages/core/dist/packages/core/src/types.js +2 -0
- package/packages/core/src/index.ts +2 -0
- package/packages/core/src/privateCrypto.ts +57 -0
- package/packages/core/src/privateMessage.ts +101 -0
- package/packages/core/src/profile.ts +2 -0
- package/packages/core/src/publicProfileSummary.ts +7 -0
- package/packages/core/src/socialConfig.ts +7 -5
- package/packages/core/src/types.ts +44 -0
- package/packages/network/dist/config/silicaclaw-defaults.json +19 -0
- package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.d.ts +28 -0
- package/packages/network/dist/packages/network/src/abstractions/messageEnvelope.js +36 -0
- package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.d.ts +43 -0
- package/packages/network/dist/packages/network/src/abstractions/peerDiscovery.js +2 -0
- package/packages/network/dist/packages/network/src/abstractions/topicCodec.d.ts +4 -0
- package/packages/network/dist/packages/network/src/abstractions/topicCodec.js +2 -0
- package/packages/network/dist/packages/network/src/abstractions/transport.d.ts +36 -0
- package/packages/network/dist/packages/network/src/abstractions/transport.js +2 -0
- package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.d.ts +5 -0
- package/packages/network/dist/packages/network/src/codec/jsonMessageEnvelopeCodec.js +24 -0
- package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.d.ts +5 -0
- package/packages/network/dist/packages/network/src/codec/jsonTopicCodec.js +12 -0
- package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.d.ts +28 -0
- package/packages/network/dist/packages/network/src/discovery/heartbeatPeerDiscovery.js +144 -0
- package/packages/network/dist/packages/network/src/index.d.ts +14 -0
- package/packages/network/dist/packages/network/src/index.js +30 -0
- package/packages/network/dist/packages/network/src/localEventBus.d.ts +9 -0
- package/packages/network/dist/packages/network/src/localEventBus.js +47 -0
- package/packages/network/dist/packages/network/src/mock.d.ts +8 -0
- package/packages/network/dist/packages/network/src/mock.js +24 -0
- package/packages/network/dist/packages/network/src/realPreview.d.ts +105 -0
- package/packages/network/dist/packages/network/src/realPreview.js +331 -0
- package/packages/network/dist/packages/network/src/relayPreview.d.ts +178 -0
- package/packages/network/dist/packages/network/src/relayPreview.js +548 -0
- package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.d.ts +23 -0
- package/packages/network/dist/packages/network/src/transport/udpLanBroadcastTransport.js +154 -0
- package/packages/network/dist/packages/network/src/types.d.ts +10 -0
- package/packages/network/dist/packages/network/src/types.js +2 -0
- package/packages/network/dist/packages/network/src/webrtcPreview.d.ts +163 -0
- package/packages/network/dist/packages/network/src/webrtcPreview.js +848 -0
- package/packages/network/src/realPreview.ts +3 -2
- package/packages/network/src/relayPreview.ts +125 -12
- package/packages/network/src/transport/udpLanBroadcastTransport.ts +2 -1
- package/packages/network/src/types.ts +2 -0
- package/packages/network/src/webrtcPreview.ts +2 -1
- package/packages/storage/config/silicaclaw-defaults.json +19 -0
- package/packages/storage/dist/config/silicaclaw-defaults.json +19 -0
- package/packages/storage/dist/packages/core/src/crypto.d.ts +6 -0
- package/packages/storage/dist/packages/core/src/crypto.js +50 -0
- package/packages/storage/dist/packages/core/src/directory.d.ts +17 -0
- package/packages/storage/dist/packages/core/src/directory.js +145 -0
- package/packages/storage/dist/packages/core/src/identity.d.ts +2 -0
- package/packages/storage/dist/packages/core/src/identity.js +18 -0
- package/packages/storage/dist/packages/core/src/index.d.ts +14 -0
- package/packages/storage/dist/packages/core/src/index.js +30 -0
- package/packages/storage/dist/packages/core/src/indexing.d.ts +6 -0
- package/packages/storage/dist/packages/core/src/indexing.js +43 -0
- package/packages/storage/dist/packages/core/src/presence.d.ts +4 -0
- package/packages/storage/dist/packages/core/src/presence.js +23 -0
- package/packages/storage/dist/packages/core/src/privateCrypto.d.ts +17 -0
- package/packages/storage/dist/packages/core/src/privateCrypto.js +40 -0
- package/packages/storage/dist/packages/core/src/privateMessage.d.ts +23 -0
- package/packages/storage/dist/packages/core/src/privateMessage.js +74 -0
- package/packages/storage/dist/packages/core/src/profile.d.ts +4 -0
- package/packages/storage/dist/packages/core/src/profile.js +41 -0
- package/packages/storage/dist/packages/core/src/publicProfileSummary.d.ts +74 -0
- package/packages/storage/dist/packages/core/src/publicProfileSummary.js +106 -0
- package/packages/storage/dist/packages/core/src/socialConfig.d.ts +100 -0
- package/packages/storage/dist/packages/core/src/socialConfig.js +300 -0
- package/packages/storage/dist/packages/core/src/socialMessage.d.ts +19 -0
- package/packages/storage/dist/packages/core/src/socialMessage.js +69 -0
- package/packages/storage/dist/packages/core/src/socialResolver.d.ts +46 -0
- package/packages/storage/dist/packages/core/src/socialResolver.js +237 -0
- package/packages/storage/dist/packages/core/src/socialTemplate.d.ts +2 -0
- package/packages/storage/dist/packages/core/src/socialTemplate.js +90 -0
- package/packages/storage/dist/packages/core/src/types.d.ts +99 -0
- package/packages/storage/dist/packages/core/src/types.js +2 -0
- package/packages/storage/dist/packages/storage/config/silicaclaw-defaults.json +19 -0
- package/packages/storage/dist/packages/storage/src/index.d.ts +3 -0
- package/packages/storage/dist/packages/storage/src/index.js +19 -0
- package/packages/storage/dist/packages/storage/src/jsonRepo.d.ts +7 -0
- package/packages/storage/dist/packages/storage/src/jsonRepo.js +29 -0
- package/packages/storage/dist/packages/storage/src/repos.d.ts +73 -0
- package/packages/storage/dist/packages/storage/src/repos.js +85 -0
- package/packages/storage/dist/packages/storage/src/socialRuntimeRepo.d.ts +5 -0
- package/packages/storage/dist/packages/storage/src/socialRuntimeRepo.js +57 -0
- package/packages/storage/dist/socialRuntimeRepo.js +8 -4
- package/packages/storage/src/repos.ts +31 -1
- package/packages/storage/src/socialRuntimeRepo.ts +5 -4
- package/packages/storage/tsconfig.json +1 -6
- package/scripts/functional-check.mjs +35 -6
- package/scripts/install-openclaw-skill.mjs +9 -2
- package/scripts/openclaw-bridge-adapter.mjs +3 -1
- package/scripts/openclaw-bridge-client.mjs +3 -1
- package/scripts/openclaw-runtime-demo.mjs +3 -1
- package/scripts/quickstart.sh +14 -10
- package/scripts/release-pack.mjs +59 -1
- package/scripts/silicaclaw-cli.mjs +166 -51
- package/scripts/silicaclaw-gateway.mjs +410 -84
- package/scripts/validate-openclaw-skill.mjs +98 -21
|
@@ -9,6 +9,8 @@ import { fileURLToPath } from "node:url";
|
|
|
9
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
10
10
|
const __dirname = dirname(__filename);
|
|
11
11
|
const ROOT_DIR = resolve(__dirname, "..");
|
|
12
|
+
const INVOCATION_CWD = process.cwd();
|
|
13
|
+
const LOCAL_CONSOLE_BASE_URL = "http://localhost:4310";
|
|
12
14
|
|
|
13
15
|
const COLOR = {
|
|
14
16
|
reset: "\x1b[0m",
|
|
@@ -34,7 +36,7 @@ function displayVersion(raw) {
|
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
function headline() {
|
|
37
|
-
console.log(`${paint("SilicaClaw", COLOR.bold, COLOR.orange)} ${paint(displayVersion(readVersion()), COLOR.dim)}`);
|
|
39
|
+
console.log(`${paint("🦀 SilicaClaw", COLOR.bold, COLOR.orange)} ${paint(displayVersion(readVersion()), COLOR.dim)}`);
|
|
38
40
|
console.log(paint("Public identity and discovery for OpenClaw agents.", COLOR.dim));
|
|
39
41
|
}
|
|
40
42
|
|
|
@@ -50,7 +52,10 @@ function run(cmd, args, extra = {}) {
|
|
|
50
52
|
const result = spawnSync(cmd, args, {
|
|
51
53
|
cwd: ROOT_DIR,
|
|
52
54
|
stdio: "inherit",
|
|
53
|
-
env:
|
|
55
|
+
env: {
|
|
56
|
+
...process.env,
|
|
57
|
+
SILICACLAW_WORKSPACE_DIR: process.env.SILICACLAW_WORKSPACE_DIR || INVOCATION_CWD,
|
|
58
|
+
},
|
|
54
59
|
...extra,
|
|
55
60
|
});
|
|
56
61
|
if (result.error) {
|
|
@@ -68,7 +73,10 @@ function runCapture(cmd, args, extra = {}) {
|
|
|
68
73
|
cwd: ROOT_DIR,
|
|
69
74
|
stdio: ["ignore", "pipe", "pipe"],
|
|
70
75
|
encoding: "utf8",
|
|
71
|
-
env:
|
|
76
|
+
env: {
|
|
77
|
+
...process.env,
|
|
78
|
+
SILICACLAW_WORKSPACE_DIR: process.env.SILICACLAW_WORKSPACE_DIR || INVOCATION_CWD,
|
|
79
|
+
},
|
|
72
80
|
...extra,
|
|
73
81
|
});
|
|
74
82
|
if (result.error) {
|
|
@@ -81,7 +89,10 @@ function runInherit(cmd, args, extra = {}) {
|
|
|
81
89
|
const result = spawnSync(cmd, args, {
|
|
82
90
|
cwd: ROOT_DIR,
|
|
83
91
|
stdio: "inherit",
|
|
84
|
-
env:
|
|
92
|
+
env: {
|
|
93
|
+
...process.env,
|
|
94
|
+
SILICACLAW_WORKSPACE_DIR: process.env.SILICACLAW_WORKSPACE_DIR || INVOCATION_CWD,
|
|
95
|
+
},
|
|
85
96
|
...extra,
|
|
86
97
|
});
|
|
87
98
|
if (result.error) {
|
|
@@ -99,6 +110,10 @@ function compactOutput(text, limit = 18) {
|
|
|
99
110
|
return lines.slice(-limit).join("\n");
|
|
100
111
|
}
|
|
101
112
|
|
|
113
|
+
function sleep(ms) {
|
|
114
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
115
|
+
}
|
|
116
|
+
|
|
102
117
|
function readVersion() {
|
|
103
118
|
return readPackageVersion();
|
|
104
119
|
}
|
|
@@ -138,6 +153,25 @@ function userNpmCacheDir() {
|
|
|
138
153
|
return resolve(homedir(), ".silicaclaw", "npm-cache");
|
|
139
154
|
}
|
|
140
155
|
|
|
156
|
+
function shimScriptText(specifier = "latest") {
|
|
157
|
+
return [
|
|
158
|
+
"#!/usr/bin/env bash",
|
|
159
|
+
"set -euo pipefail",
|
|
160
|
+
'export npm_config_cache="${npm_config_cache:-$HOME/.silicaclaw/npm-cache}"',
|
|
161
|
+
`exec npx -y @silicaclaw/cli@${specifier} "$@"`,
|
|
162
|
+
"",
|
|
163
|
+
].join("\n");
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function ensureUserShim(specifier = "latest") {
|
|
167
|
+
const shimPath = userShimPath();
|
|
168
|
+
const binDir = userShimDir();
|
|
169
|
+
const npmCacheDir = userNpmCacheDir();
|
|
170
|
+
mkdirSync(binDir, { recursive: true });
|
|
171
|
+
mkdirSync(npmCacheDir, { recursive: true });
|
|
172
|
+
writeFileSync(shimPath, shimScriptText(specifier), { encoding: "utf8", mode: 0o755 });
|
|
173
|
+
}
|
|
174
|
+
|
|
141
175
|
function ensureLineInFile(filePath, block) {
|
|
142
176
|
try {
|
|
143
177
|
const current = existsSync(filePath) ? readFileSync(filePath, "utf8") : "";
|
|
@@ -190,10 +224,12 @@ function shellInitTargets() {
|
|
|
190
224
|
shell.endsWith("/bash") ||
|
|
191
225
|
process.env.BASH_VERSION ||
|
|
192
226
|
existsSync(resolve(home, ".bashrc")) ||
|
|
193
|
-
existsSync(resolve(home, ".bash_profile"))
|
|
227
|
+
existsSync(resolve(home, ".bash_profile")) ||
|
|
228
|
+
existsSync(resolve(home, ".profile"))
|
|
194
229
|
) {
|
|
195
230
|
add(resolve(home, ".bashrc"));
|
|
196
231
|
add(resolve(home, ".bash_profile"));
|
|
232
|
+
add(resolve(home, ".profile"));
|
|
197
233
|
}
|
|
198
234
|
|
|
199
235
|
if (targets.length === 0) {
|
|
@@ -202,7 +238,7 @@ function shellInitTargets() {
|
|
|
202
238
|
return targets;
|
|
203
239
|
}
|
|
204
240
|
|
|
205
|
-
function installPersistentCommand() {
|
|
241
|
+
function installPersistentCommand(specifier = readPackageVersion()) {
|
|
206
242
|
const binDir = userShimDir();
|
|
207
243
|
const shimPath = userShimPath();
|
|
208
244
|
const envFile = userEnvFile();
|
|
@@ -222,17 +258,7 @@ function installPersistentCommand() {
|
|
|
222
258
|
mkdirSync(binDir, { recursive: true });
|
|
223
259
|
mkdirSync(npmCacheDir, { recursive: true });
|
|
224
260
|
writeFileSync(envFile, envBlock, { encoding: "utf8", mode: 0o755 });
|
|
225
|
-
writeFileSync(
|
|
226
|
-
shimPath,
|
|
227
|
-
[
|
|
228
|
-
"#!/usr/bin/env bash",
|
|
229
|
-
"set -euo pipefail",
|
|
230
|
-
'export npm_config_cache="${npm_config_cache:-$HOME/.silicaclaw/npm-cache}"',
|
|
231
|
-
'exec npx -y @silicaclaw/cli@beta "$@"',
|
|
232
|
-
"",
|
|
233
|
-
].join("\n"),
|
|
234
|
-
{ encoding: "utf8", mode: 0o755 }
|
|
235
|
-
);
|
|
261
|
+
writeFileSync(shimPath, shimScriptText(specifier || "latest"), { encoding: "utf8", mode: 0o755 });
|
|
236
262
|
const rcFiles = shellInitTargets();
|
|
237
263
|
const updatedFiles = [];
|
|
238
264
|
const configuredFiles = [];
|
|
@@ -256,6 +282,7 @@ function installPersistentCommand() {
|
|
|
256
282
|
kv("Command", "silicaclaw");
|
|
257
283
|
console.log("");
|
|
258
284
|
kv("Activate", `source "${envFile}"`);
|
|
285
|
+
kv("Current shell", "run Activate now if `silicaclaw` is not found yet");
|
|
259
286
|
if (configuredFiles.length > 0) {
|
|
260
287
|
kv("Startup", "configured");
|
|
261
288
|
} else {
|
|
@@ -296,20 +323,39 @@ function canWriteGlobalPrefix() {
|
|
|
296
323
|
}
|
|
297
324
|
}
|
|
298
325
|
|
|
299
|
-
function showUpdateGuide(current,
|
|
326
|
+
function showUpdateGuide(current, targetVersion) {
|
|
300
327
|
headline();
|
|
301
328
|
console.log("");
|
|
302
|
-
const upToDate = Boolean(
|
|
329
|
+
const upToDate = Boolean(targetVersion) && current === targetVersion;
|
|
303
330
|
if (upToDate) {
|
|
304
331
|
kv("Status", `up to date (${current})`);
|
|
305
332
|
} else {
|
|
306
|
-
kv("Status", `
|
|
333
|
+
kv("Status", `update available (${targetVersion || "-"})`);
|
|
307
334
|
}
|
|
308
335
|
console.log("");
|
|
309
336
|
kv("Start", "silicaclaw start");
|
|
310
337
|
kv("Status", "silicaclaw status");
|
|
311
338
|
}
|
|
312
339
|
|
|
340
|
+
function preferredTaggedRelease(tags, current) {
|
|
341
|
+
const latest = tags.latest ? String(tags.latest) : "";
|
|
342
|
+
if (latest) return { version: latest, channel: "latest" };
|
|
343
|
+
return { version: current, channel: "unknown" };
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
function preferredRegistryRelease(current) {
|
|
347
|
+
try {
|
|
348
|
+
const result = runCapture("npm", ["view", "@silicaclaw/cli", "dist-tags", "--json"]);
|
|
349
|
+
if ((result.status ?? 1) !== 0) return { version: current, channel: "current", tags: null };
|
|
350
|
+
const text = String(result.stdout || "").trim();
|
|
351
|
+
const tags = text ? JSON.parse(text) : {};
|
|
352
|
+
const preferred = preferredTaggedRelease(tags, current);
|
|
353
|
+
return { ...preferred, tags };
|
|
354
|
+
} catch {
|
|
355
|
+
return { version: current, channel: "current", tags: null };
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
313
359
|
function getGatewayStatus() {
|
|
314
360
|
try {
|
|
315
361
|
const result = runCapture("node", [resolve(ROOT_DIR, "scripts", "silicaclaw-gateway.mjs"), "status", "--json"], {
|
|
@@ -369,7 +415,8 @@ function syncCurrentPackageToAppDir(appDir) {
|
|
|
369
415
|
return true;
|
|
370
416
|
}
|
|
371
417
|
|
|
372
|
-
function restartGatewayIfRunning() {
|
|
418
|
+
function restartGatewayIfRunning(options = {}) {
|
|
419
|
+
const preferredSpecifier = String(options.preferredSpecifier || "").trim();
|
|
373
420
|
const status = getGatewayStatus();
|
|
374
421
|
const appDir = status?.app_dir ? String(status.app_dir) : "";
|
|
375
422
|
syncCurrentPackageToAppDir(appDir);
|
|
@@ -377,28 +424,80 @@ function restartGatewayIfRunning() {
|
|
|
377
424
|
const localRunning = Boolean(status?.local_console?.running);
|
|
378
425
|
const signalingRunning = Boolean(status?.signaling?.running);
|
|
379
426
|
if (!localRunning && !signalingRunning) {
|
|
380
|
-
return;
|
|
427
|
+
return { restarted: false };
|
|
381
428
|
}
|
|
382
429
|
|
|
383
430
|
const mode = String(status?.mode || "local");
|
|
384
|
-
const
|
|
431
|
+
const gatewayArgs = ["gateway", "restart", `--mode=${mode}`];
|
|
385
432
|
if (mode === "global-preview" && status?.signaling?.url) {
|
|
386
|
-
|
|
433
|
+
gatewayArgs.push(`--signaling-url=${status.signaling.url}`);
|
|
387
434
|
}
|
|
388
435
|
if (mode === "global-preview" && status?.signaling?.room) {
|
|
389
|
-
|
|
436
|
+
gatewayArgs.push(`--room=${status.signaling.room}`);
|
|
390
437
|
}
|
|
391
438
|
|
|
392
439
|
console.log("");
|
|
393
440
|
console.log(paint("Refreshing services", COLOR.bold));
|
|
394
|
-
|
|
441
|
+
const shimPath = userShimPath();
|
|
442
|
+
const canUseUpdatedShim =
|
|
443
|
+
preferredSpecifier &&
|
|
444
|
+
existsSync(shimPath) &&
|
|
445
|
+
resolve(shimPath) !== process.argv[1];
|
|
446
|
+
|
|
447
|
+
if (canUseUpdatedShim) {
|
|
448
|
+
runInherit(shimPath, gatewayArgs, { cwd: process.cwd() });
|
|
449
|
+
return { restarted: true, usedUpdatedShim: true };
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
runInherit("node", [resolve(ROOT_DIR, "scripts", "silicaclaw-gateway.mjs"), ...gatewayArgs.slice(1)], {
|
|
453
|
+
cwd: process.cwd(),
|
|
454
|
+
});
|
|
455
|
+
return { restarted: true, usedUpdatedShim: false };
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
function readLocalConsoleAppVersion() {
|
|
459
|
+
try {
|
|
460
|
+
const result = runCapture("curl", ["-sS", `${LOCAL_CONSOLE_BASE_URL}/api/overview`], {
|
|
461
|
+
cwd: process.cwd(),
|
|
462
|
+
});
|
|
463
|
+
if ((result.status ?? 1) !== 0) return "";
|
|
464
|
+
const text = String(result.stdout || "").trim();
|
|
465
|
+
if (!text) return "";
|
|
466
|
+
const payload = JSON.parse(text);
|
|
467
|
+
return String(payload?.data?.app_version || "").trim();
|
|
468
|
+
} catch {
|
|
469
|
+
return "";
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
async function waitForLocalConsoleVersion(targetVersion, timeoutMs = 15000) {
|
|
474
|
+
const startedAt = Date.now();
|
|
475
|
+
while (Date.now() - startedAt < timeoutMs) {
|
|
476
|
+
const version = readLocalConsoleAppVersion();
|
|
477
|
+
if (version === targetVersion) return version;
|
|
478
|
+
await sleep(400);
|
|
479
|
+
}
|
|
480
|
+
return readLocalConsoleAppVersion();
|
|
395
481
|
}
|
|
396
482
|
|
|
397
|
-
function
|
|
483
|
+
async function ensureRefreshedConsoleVersion(targetVersion) {
|
|
484
|
+
if (!targetVersion) return "";
|
|
485
|
+
let observed = await waitForLocalConsoleVersion(targetVersion, 12000);
|
|
486
|
+
if (observed === targetVersion) return observed;
|
|
487
|
+
|
|
488
|
+
const shimPath = userShimPath();
|
|
489
|
+
if (!existsSync(shimPath)) return observed;
|
|
490
|
+
|
|
491
|
+
runInherit(shimPath, ["gateway", "restart"], { cwd: process.cwd() });
|
|
492
|
+
observed = await waitForLocalConsoleVersion(targetVersion, 12000);
|
|
493
|
+
return observed;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
function tryGlobalUpgrade(version) {
|
|
398
497
|
const writableGlobal = canWriteGlobalPrefix();
|
|
399
498
|
if (!writableGlobal) return false;
|
|
400
|
-
kv("Upgrade", `installing @silicaclaw/cli@${
|
|
401
|
-
const exactResult = runCapture("npm", ["i", "-g", `@silicaclaw/cli@${
|
|
499
|
+
kv("Upgrade", `installing @silicaclaw/cli@${version} globally`);
|
|
500
|
+
const exactResult = runCapture("npm", ["i", "-g", `@silicaclaw/cli@${version}`]);
|
|
402
501
|
if ((exactResult.status ?? 1) === 0) {
|
|
403
502
|
if (exactResult.stdout) process.stdout.write(exactResult.stdout);
|
|
404
503
|
if (exactResult.stderr) process.stderr.write(exactResult.stderr);
|
|
@@ -407,8 +506,8 @@ function tryGlobalUpgrade(beta) {
|
|
|
407
506
|
|
|
408
507
|
const detail = compactOutput(`${exactResult.stdout || ""}\n${exactResult.stderr || ""}`);
|
|
409
508
|
if (detail.includes("ETARGET") || detail.includes("No matching version found")) {
|
|
410
|
-
kv("Fallback",
|
|
411
|
-
const fallbackResult = runInherit("npm", ["i", "-g",
|
|
509
|
+
kv("Fallback", `registry metadata is still settling, retrying via exact version ${version}`);
|
|
510
|
+
const fallbackResult = runInherit("npm", ["i", "-g", `@silicaclaw/cli@${version}`]);
|
|
412
511
|
return (fallbackResult.status ?? 1) === 0;
|
|
413
512
|
}
|
|
414
513
|
|
|
@@ -419,38 +518,44 @@ function tryGlobalUpgrade(beta) {
|
|
|
419
518
|
return false;
|
|
420
519
|
}
|
|
421
520
|
|
|
422
|
-
function update() {
|
|
521
|
+
async function update() {
|
|
423
522
|
const current = readPackageVersion();
|
|
424
523
|
try {
|
|
425
|
-
const
|
|
426
|
-
if (
|
|
524
|
+
const registry = preferredRegistryRelease(current);
|
|
525
|
+
if (!registry.tags) {
|
|
427
526
|
headline();
|
|
428
527
|
console.log("");
|
|
429
528
|
console.error(paint("Update check failed", COLOR.bold, COLOR.yellow));
|
|
430
|
-
if (result.stderr) console.error(result.stderr.trim());
|
|
431
529
|
console.log("");
|
|
432
530
|
kv("Try", "npm view @silicaclaw/cli dist-tags --json");
|
|
433
|
-
process.exit(
|
|
531
|
+
process.exit(1);
|
|
434
532
|
}
|
|
435
|
-
const
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
const
|
|
439
|
-
showUpdateGuide(current, latest, beta);
|
|
440
|
-
const hasNewBeta = Boolean(beta) && beta !== current;
|
|
533
|
+
const targetVersion = registry.version;
|
|
534
|
+
ensureUserShim(targetVersion || "latest");
|
|
535
|
+
showUpdateGuide(current, targetVersion);
|
|
536
|
+
const hasNewTarget = Boolean(targetVersion) && targetVersion !== current;
|
|
441
537
|
const npxRuntime = isNpxRun();
|
|
442
538
|
|
|
443
|
-
if (
|
|
539
|
+
if (hasNewTarget) {
|
|
444
540
|
if (npxRuntime) {
|
|
445
|
-
kv("Update", `next run will use ${
|
|
446
|
-
} else if (tryGlobalUpgrade(beta)) {
|
|
447
|
-
kv("Update", `installed ${beta}`);
|
|
541
|
+
kv("Update", `next run will use ${targetVersion}`);
|
|
448
542
|
} else {
|
|
449
|
-
kv("Update", `
|
|
543
|
+
kv("Update", `command now points to ${targetVersion}`);
|
|
544
|
+
if (tryGlobalUpgrade(targetVersion)) {
|
|
545
|
+
kv("Global", `installed ${targetVersion}`);
|
|
546
|
+
} else {
|
|
547
|
+
kv("Global", `install ${targetVersion} manually if needed`);
|
|
548
|
+
}
|
|
450
549
|
}
|
|
451
550
|
}
|
|
452
551
|
|
|
453
|
-
restartGatewayIfRunning();
|
|
552
|
+
const restartResult = restartGatewayIfRunning({ preferredSpecifier: hasNewTarget ? targetVersion : "" });
|
|
553
|
+
if (hasNewTarget && restartResult?.restarted) {
|
|
554
|
+
const observedVersion = await ensureRefreshedConsoleVersion(targetVersion);
|
|
555
|
+
if (observedVersion && observedVersion !== targetVersion) {
|
|
556
|
+
kv("Verify", `local console still reports ${observedVersion}`);
|
|
557
|
+
}
|
|
558
|
+
}
|
|
454
559
|
process.exit(0);
|
|
455
560
|
} catch (error) {
|
|
456
561
|
headline();
|
|
@@ -494,7 +599,8 @@ function help() {
|
|
|
494
599
|
headline();
|
|
495
600
|
console.log("");
|
|
496
601
|
section("Commands");
|
|
497
|
-
kv("
|
|
602
|
+
kv("First Run", "npx -y @silicaclaw/cli@latest onboard");
|
|
603
|
+
kv("Install", "npx -y @silicaclaw/cli@latest install");
|
|
498
604
|
kv("Start", "silicaclaw start");
|
|
499
605
|
kv("Status", "silicaclaw status");
|
|
500
606
|
kv("Stop", "silicaclaw stop");
|
|
@@ -509,6 +615,12 @@ function help() {
|
|
|
509
615
|
kv("Logs", "silicaclaw logs local-console");
|
|
510
616
|
kv("Doctor", "silicaclaw doctor");
|
|
511
617
|
kv("Help", "silicaclaw help");
|
|
618
|
+
console.log("");
|
|
619
|
+
section("Meaning");
|
|
620
|
+
kv("onboard", "first-time setup wizard");
|
|
621
|
+
kv("connect", "quick network setup wizard");
|
|
622
|
+
kv("install", "install persistent silicaclaw command only");
|
|
623
|
+
kv("channel", "@latest is the default release channel");
|
|
512
624
|
}
|
|
513
625
|
|
|
514
626
|
const cmd = String(process.argv[2] || "help").trim().toLowerCase();
|
|
@@ -527,10 +639,13 @@ switch (cmd) {
|
|
|
527
639
|
});
|
|
528
640
|
break;
|
|
529
641
|
case "update":
|
|
530
|
-
update();
|
|
642
|
+
await update();
|
|
531
643
|
break;
|
|
532
644
|
case "install":
|
|
533
|
-
|
|
645
|
+
{
|
|
646
|
+
const preferred = preferredRegistryRelease(readPackageVersion());
|
|
647
|
+
installPersistentCommand(preferred.version || readPackageVersion());
|
|
648
|
+
}
|
|
534
649
|
break;
|
|
535
650
|
case "gateway":
|
|
536
651
|
run("node", [resolve(ROOT_DIR, "scripts", "silicaclaw-gateway.mjs"), ...process.argv.slice(3)], {
|