feat: view this machine in the Desktop panel (#122545)

* feat(gateway): add gateway-host desktop source behind desktop.host lab

Introduce the host as a first-class desktop source so operators can view
the machine OpenClaw runs on, not just cloud-worker environments:

- protocol: desktop.observe / desktop.launch with a discriminated
  DesktopSource union (host | environment) plus an additive auth hint;
  EnvironmentSummary gains a top-level desktop flag
- config: desktop.host { enabled, port?, passwordFile? }, Labs-gated
- rfb-probe: pure RFB version/security-type parser used to detect an
  already-running loopback VNC server and classify its auth
- host-source: attaches to 127.0.0.1:<port>, refuses unauthenticated
  (None) and unsupported (VeNCrypt) servers, and refuses ARD with the
  supported alternative until the macOS milestone
- host-guidance: per-OS enablement text so no path dead-ends
- doctor + status report host desktop availability and auth type only

worker.desktop.observe/launch stay as delegating aliases with identical
behavior. Also drops the now-unused WorkerDesktopTunnels type export.

Live-verified against macOS Screen Sharing: probe reads RFB 003.889,
returns security types [30,33,36,35], classifies ard-account.

* test(gateway): probe RFB handshakes through the socket boundary

The probe's banner and security-offer parsers were exported solely so
unit tests could call them, which the dead-export gate rejects and which
tests internals rather than behavior. Keep them module-local and drive
the probe through a scripted loopback server instead.

The boundary tests also cover what pure-function vectors could not:
handshakes split across packets, legacy RFB 3.3 single-word security,
server-rejected handshakes, early hangups, and connect timeouts.

* feat(ui): let the Desktop panel view this machine, not just cloud workers

The Desktop panel was gated on a cloud-worker session placement, so an
operator running OpenClaw locally had no way to see the machine hosting
their main session even with a VNC server running on it.

Availability now follows the advertised desktop.observe method plus
operator.admin instead of session placement, and the picker lists every
environment whose summary reports a desktop, with the gateway row shown
as "This machine". Sources are passed to the generic desktop.observe /
desktop.launch RPCs; the app launcher stays worker-only. When a host
attach needs a password the gateway did not supply, the panel prompts and
keeps the value in memory for that connection only.

Adds the hostDesktop Labs toggle for desktop.host.enabled.

* fix(scripts): keep the env-var ratchet usable in shallow checkouts

The env-var budget check resolved its base ref, then hard-failed when
`git merge-base` found no shared ancestor. Shallow clones and grafted
agent checkouts resolve origin/main but truncate the history behind it,
so an advisory growth ratchet took down the whole check:changed gate
with "Could not resolve env-var count merge base for: origin/main".

Only the growth comparison needs a baseline, and the script already has
a no-baseline path. Treat git's exit 1 with empty output (no shared
ancestor) as that case and say so on stderr; a genuine failure still
exits 128 and still throws, and the absolute count-vs-budget check runs
either way.

* test(ui): measure the inline-code chip against its line box

The inline-code spacing test compared the chip's height to a prose text
rect, so it silently measured the monospace font's default line spacing.
That is ~17px on macOS and several px shorter on Linux, so the assertion
passed on CI and failed locally at 4.5 against a 3.75 bound -- after the
bound had already been widened once to chase browser font metrics.

Compare the chip to the paragraph's CSS line box instead, which is what
"the chip must not disrupt the line" actually means and is platform
independent. The horizontal gap stays as-is: it is em-derived padding
plus border, and it is the assertion that catches detached punctuation.

Verified both directions on macOS: the file is fully green, and
restoring the pre-fix 0.15em/0.35em padding still fails the gap
assertion at 5.41.

* feat(gateway): view macOS Screen Sharing from the Desktop panel

Modern macOS only offers ARD account authentication for Screen Sharing,
so the host desktop source refused every Mac. The Gateway now performs
the ARD handshake itself against the loopback server and hands the
browser a plain RFB 003.008 no-auth handshake, so the operator's macOS
account password authenticates the desktop without ever reaching the
browser, the observe result, a URL, or a log.

- rfb-preauth: ARD (type 30) Diffie-Hellman with MD5-derived AES-128-ECB
  credentials, and VncAuth (type 2) bit-reversed DES, both under a single
  10s negotiation deadline; Apple's RFB 003.889 maps to 3.8
- observe-bridge: runs pre-auth before splicing and starts the view-only
  filter at clientInit, since the browser handshake is consumed here;
  worker tokens keep the original version start phase
- host-source: attaches ARD, requiring per-observation credentials that
  live only in the one-shot observer token and are dropped after use
- doctor: offers an explicitly confirmed sudo launchctl repair when
  Screen Sharing is off, and prints the System Settings path otherwise

Live-verified against this Mac's Screen Sharing: the DH exchange and
credential framing are accepted and the server returns SecurityResult.
The VncAuth DES vector is confirmed against OpenSSL independently.
This commit is contained in:
Peter Steinberger
2026-08-12 06:58:30 -07:00
committed by GitHub
parent cc99d99f24
commit df707a9670
178 changed files with 3906 additions and 523 deletions
@@ -572,6 +572,8 @@ enum class GatewayMethod(
UsersPrefsSet("users.prefs.set"),
ProjectsAdd("projects.add"),
ProjectsSearchRemote("projects.searchRemote"),
DesktopObserve("desktop.observe"),
DesktopLaunch("desktop.launch"),
}
enum class GatewayEvent(
@@ -1908,6 +1908,7 @@ public struct EnvironmentSummary: Codable, Sendable {
public let sessionhost: Bool?
public let trust: String?
public let capabilities: [String]?
public let desktop: Bool?
public let worker: WorkerEnvironmentMetadata?
public init(
@@ -1919,6 +1920,7 @@ public struct EnvironmentSummary: Codable, Sendable {
sessionhost: Bool? = nil,
trust: String? = nil,
capabilities: [String]? = nil,
desktop: Bool? = nil,
worker: WorkerEnvironmentMetadata? = nil)
{
self.id = id
@@ -1929,6 +1931,7 @@ public struct EnvironmentSummary: Codable, Sendable {
self.sessionhost = sessionhost
self.trust = trust
self.capabilities = capabilities
self.desktop = desktop
self.worker = worker
}
@@ -1941,6 +1944,7 @@ public struct EnvironmentSummary: Codable, Sendable {
case sessionhost = "sessionHost"
case trust
case capabilities
case desktop
case worker
}
}
@@ -1972,6 +1976,7 @@ public struct EnvironmentsCreateResult: Codable, Sendable {
public let sessionhost: Bool?
public let trust: String?
public let capabilities: [String]?
public let desktop: Bool?
public let worker: WorkerEnvironmentMetadata?
public init(
@@ -1983,6 +1988,7 @@ public struct EnvironmentsCreateResult: Codable, Sendable {
sessionhost: Bool? = nil,
trust: String? = nil,
capabilities: [String]? = nil,
desktop: Bool? = nil,
worker: WorkerEnvironmentMetadata? = nil)
{
self.id = id
@@ -1993,6 +1999,7 @@ public struct EnvironmentsCreateResult: Codable, Sendable {
self.sessionhost = sessionhost
self.trust = trust
self.capabilities = capabilities
self.desktop = desktop
self.worker = worker
}
@@ -2005,6 +2012,7 @@ public struct EnvironmentsCreateResult: Codable, Sendable {
case sessionhost = "sessionHost"
case trust
case capabilities
case desktop
case worker
}
}
@@ -2036,6 +2044,7 @@ public struct EnvironmentsDestroyResult: Codable, Sendable {
public let sessionhost: Bool?
public let trust: String?
public let capabilities: [String]?
public let desktop: Bool?
public let worker: WorkerEnvironmentMetadata?
public init(
@@ -2047,6 +2056,7 @@ public struct EnvironmentsDestroyResult: Codable, Sendable {
sessionhost: Bool? = nil,
trust: String? = nil,
capabilities: [String]? = nil,
desktop: Bool? = nil,
worker: WorkerEnvironmentMetadata? = nil)
{
self.id = id
@@ -2057,6 +2067,7 @@ public struct EnvironmentsDestroyResult: Codable, Sendable {
self.sessionhost = sessionhost
self.trust = trust
self.capabilities = capabilities
self.desktop = desktop
self.worker = worker
}
@@ -2069,6 +2080,7 @@ public struct EnvironmentsDestroyResult: Codable, Sendable {
case sessionhost = "sessionHost"
case trust
case capabilities
case desktop
case worker
}
}
@@ -2116,6 +2128,7 @@ public struct EnvironmentsStatusResult: Codable, Sendable {
public let sessionhost: Bool?
public let trust: String?
public let capabilities: [String]?
public let desktop: Bool?
public let worker: WorkerEnvironmentMetadata?
public init(
@@ -2127,6 +2140,7 @@ public struct EnvironmentsStatusResult: Codable, Sendable {
sessionhost: Bool? = nil,
trust: String? = nil,
capabilities: [String]? = nil,
desktop: Bool? = nil,
worker: WorkerEnvironmentMetadata? = nil)
{
self.id = id
@@ -2137,6 +2151,7 @@ public struct EnvironmentsStatusResult: Codable, Sendable {
self.sessionhost = sessionhost
self.trust = trust
self.capabilities = capabilities
self.desktop = desktop
self.worker = worker
}
@@ -2149,6 +2164,7 @@ public struct EnvironmentsStatusResult: Codable, Sendable {
case sessionhost = "sessionHost"
case trust
case capabilities
case desktop
case worker
}
}
@@ -2281,6 +2297,58 @@ public struct ProjectSummary: Codable, Sendable {
}
}
public struct DesktopObserveResult: Codable, Sendable {
public let transport: String
public let wspath: String
public let expiresatms: Int
public let control: Bool
public let vncpassword: String?
public let auth: String?
public init(
transport: String,
wspath: String,
expiresatms: Int,
control: Bool,
vncpassword: String? = nil,
auth: String? = nil)
{
self.transport = transport
self.wspath = wspath
self.expiresatms = expiresatms
self.control = control
self.vncpassword = vncpassword
self.auth = auth
}
private enum CodingKeys: String, CodingKey {
case transport
case wspath = "wsPath"
case expiresatms = "expiresAtMs"
case control
case vncpassword = "vncPassword"
case auth
}
}
public struct DesktopLaunchParams: Codable, Sendable {
public let source: [String: AnyCodable]
public let app: WorkerDesktopAppId
public init(
source: [String: AnyCodable],
app: WorkerDesktopAppId)
{
self.source = source
self.app = app
}
private enum CodingKeys: String, CodingKey {
case source
case app
}
}
public struct SystemInfoParams: Codable, Sendable {}
public struct SystemInfoResult: Codable, Sendable {
+1 -1
View File
@@ -1,5 +1,5 @@
{
"core": 2295,
"core": 2300,
"channel": 3582,
"plugin": 3997
}
+2 -2
View File
@@ -1,4 +1,4 @@
894ae65aebdb803a735b50d7ddd3cfc27793888113afbbb05f417a6442e82db9 config-baseline.json
c2fc50e668ab74128c7d2ada9fd5273e13867afb5642a56a2ba76c174781479d config-baseline.core.json
c6ae555c7162c4ed1472fc5e29f897e0a0029efef2e4d03f2ed19af7a972045d config-baseline.json
c8a10d970dc9f2272207ca399cfff6e11321096c92e5f688fa5be4e5475aa767 config-baseline.core.json
552f5ae69ac13628d754e796bace6e800242d09cacbe762593c17ef3693ba754 config-baseline.channel.json
4bcc2364924c80f38139f0508945b6d28b33b70dd2973f0685a8f221d672ac94 config-baseline.plugin.json
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"74ea0a5fceaa6d9219f2d643174784dff0e56abacb7b456bba9237f6890e825b","entrypoint":"account-core","importSpecifier":"openclaw/plugin-sdk/account-core"}
{"contentHash":"341f8faa2d27ffc682259647b34b123a75f794190de8e31e317662bbf81bba4b","entrypoint":"account-core","importSpecifier":"openclaw/plugin-sdk/account-core"}
@@ -1 +1 @@
{"contentHash":"f23af38bfa07c1a52b003a480b9aff1a6e8ada00c47f7eaf7e474c4aa8d9021b","entrypoint":"account-helpers","importSpecifier":"openclaw/plugin-sdk/account-helpers"}
{"contentHash":"90366ab23e5ff37d52ddcab17f2aae75a5fb4cbd297c60dc71ad2784ce886f6f","entrypoint":"account-helpers","importSpecifier":"openclaw/plugin-sdk/account-helpers"}
@@ -1 +1 @@
{"contentHash":"2f1582d31bcc2a1d9134997e042280185188077210811984c8a39e9a754330fe","entrypoint":"account-resolution","importSpecifier":"openclaw/plugin-sdk/account-resolution"}
{"contentHash":"df2dc27d5a515deba41696812a202d09ae86d06e4c6f09030e747d0e2f3112ec","entrypoint":"account-resolution","importSpecifier":"openclaw/plugin-sdk/account-resolution"}
@@ -1 +1 @@
{"contentHash":"eefc72c42de4ca6c5259786aed66e2a209a616679c652d101e08ce250be6643a","entrypoint":"agent-harness-runtime","importSpecifier":"openclaw/plugin-sdk/agent-harness-runtime"}
{"contentHash":"ada2636485ebedd6593c0223b66d75222498468af082773aad002a69e7253592","entrypoint":"agent-harness-runtime","importSpecifier":"openclaw/plugin-sdk/agent-harness-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"6f8716be0843d82556326c47da8e9610aa9d4c45f7be35771f8f062025b1954b","entrypoint":"agent-harness","importSpecifier":"openclaw/plugin-sdk/agent-harness"}
{"contentHash":"fc00024b4d58f04ce99f258213f597126bcfc8adae9ad389376c23ae8598ae3a","entrypoint":"agent-harness","importSpecifier":"openclaw/plugin-sdk/agent-harness"}
@@ -1 +1 @@
{"contentHash":"195a863039b6a651c716bf7ea6e6453903fb45a2c09806dcdc1b6605375403ac","entrypoint":"agent-media-payload","importSpecifier":"openclaw/plugin-sdk/agent-media-payload"}
{"contentHash":"6897cf178237b50feefa44bfeb73cee9a1715585019671f216213e4f40bf4b82","entrypoint":"agent-media-payload","importSpecifier":"openclaw/plugin-sdk/agent-media-payload"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"4b54a0f38cb2d46ac2446e6ec7003fddbe1cbe19d8b34d28354b91cb70293f02","entrypoint":"agent-runtime","importSpecifier":"openclaw/plugin-sdk/agent-runtime"}
{"contentHash":"1d734d04b3acd39d2584c0ce81931fd0d5d00fab706a280d96e0ee01d21fdd4a","entrypoint":"agent-runtime","importSpecifier":"openclaw/plugin-sdk/agent-runtime"}
@@ -1 +1 @@
{"contentHash":"7ebe50be2549b7166286b64e28ef320f1de5ca8305a76addbd8871b04d51af77","entrypoint":"agent-scope-runtime","importSpecifier":"openclaw/plugin-sdk/agent-scope-runtime"}
{"contentHash":"973e8db95ce90786af9744d715418bf73ce9a3829d68982ff338f78644c3fd3f","entrypoint":"agent-scope-runtime","importSpecifier":"openclaw/plugin-sdk/agent-scope-runtime"}
@@ -1 +1 @@
{"contentHash":"7567ce81ce9192aaf2d546c6570f42d9e08f4a170f46734ea8ca88c2643060c1","entrypoint":"allowlist-config-edit","importSpecifier":"openclaw/plugin-sdk/allowlist-config-edit"}
{"contentHash":"7e9f6692a46924d0063b60a7b1c728bdee74a842c4ed2230a76a104c63b128bd","entrypoint":"allowlist-config-edit","importSpecifier":"openclaw/plugin-sdk/allowlist-config-edit"}
@@ -1 +1 @@
{"contentHash":"91de2702060fb65adc7ff50e78f7209454581fba4dbe285eb1cea20dba45b17a","entrypoint":"approval-auth-runtime","importSpecifier":"openclaw/plugin-sdk/approval-auth-runtime"}
{"contentHash":"bc989599b14494e14bb5a36f5a13596cad1f5e30bdbaff83b99cdfe93d0a3490","entrypoint":"approval-auth-runtime","importSpecifier":"openclaw/plugin-sdk/approval-auth-runtime"}
@@ -1 +1 @@
{"contentHash":"4533e6bcac0133c7809df13dc6bee8374441ff0b9b09c4c6dce7752e14871c42","entrypoint":"approval-client-runtime","importSpecifier":"openclaw/plugin-sdk/approval-client-runtime"}
{"contentHash":"e5e17b876f6a943be32fef5c3b5189ce1b1dc39b8e8853ed9adb73b78ed23b8e","entrypoint":"approval-client-runtime","importSpecifier":"openclaw/plugin-sdk/approval-client-runtime"}
@@ -1 +1 @@
{"contentHash":"14417cf83a13c7597febb9ba14211231876b9b449d89ef964fbc86ab81a73da6","entrypoint":"approval-delivery-runtime","importSpecifier":"openclaw/plugin-sdk/approval-delivery-runtime"}
{"contentHash":"13e5797a127d9900e804963e7b0ab4966e17e96bcd5a6e772aaa3a6a3a6c223d","entrypoint":"approval-delivery-runtime","importSpecifier":"openclaw/plugin-sdk/approval-delivery-runtime"}
@@ -1 +1 @@
{"contentHash":"932de389fe2df73f703c5b77d79c36845e79cb2915d3b66b7756d479c434f24c","entrypoint":"approval-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/approval-gateway-runtime"}
{"contentHash":"cc1ad6dbd5258e2c2b40f345866ab3c19cec6d1a779e9e36f007bb3639ff52d5","entrypoint":"approval-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/approval-gateway-runtime"}
@@ -1 +1 @@
{"contentHash":"86ea00b5f1f272b84c63ae497b5abfadebdfa51d009eb09ace4e8499696fd4ba","entrypoint":"approval-handler-adapter-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-adapter-runtime"}
{"contentHash":"1a765a2b51751cdac6f57ad06be857445bce69cbe0f94da09f0d4e54ab7b665e","entrypoint":"approval-handler-adapter-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-adapter-runtime"}
@@ -1 +1 @@
{"contentHash":"80835d0bb17661d85c9c3315724e37ba3801d69c7f58fc555c15466f35ef651f","entrypoint":"approval-handler-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-runtime"}
{"contentHash":"eaaf9e2c1ea291d0111788ebf04f0ec806b25a77e09a367ff93e7a808102607c","entrypoint":"approval-handler-runtime","importSpecifier":"openclaw/plugin-sdk/approval-handler-runtime"}
@@ -1 +1 @@
{"contentHash":"be74733e90c57f98afd388799824e68532b3d8a5fc46f51abbc0ae6b1a2acfe6","entrypoint":"approval-native-runtime","importSpecifier":"openclaw/plugin-sdk/approval-native-runtime"}
{"contentHash":"7682bb32e47cb9a4feda91f218507358799d09f5886c27efdc4319cd133bb057","entrypoint":"approval-native-runtime","importSpecifier":"openclaw/plugin-sdk/approval-native-runtime"}
@@ -1 +1 @@
{"contentHash":"bc96dace6be0e69bf7bd8ec89efebacbd507be2c9b5a47844183f6bb3374c56f","entrypoint":"approval-runtime","importSpecifier":"openclaw/plugin-sdk/approval-runtime"}
{"contentHash":"45770b7d266ec06025bdd370beaced6261a950e68744a29aa7ac6569076b4b49","entrypoint":"approval-runtime","importSpecifier":"openclaw/plugin-sdk/approval-runtime"}
@@ -1 +1 @@
{"contentHash":"f74ea9a2fb50bf48fa29955825135ac63ad387099150cc784b0f5e9cb93fda3c","entrypoint":"channel-config-helpers","importSpecifier":"openclaw/plugin-sdk/channel-config-helpers"}
{"contentHash":"a8010cc04c53d88f4ce795af44c5cc0609029e2a5409ca70cd83237c27ade00a","entrypoint":"channel-config-helpers","importSpecifier":"openclaw/plugin-sdk/channel-config-helpers"}
@@ -1 +1 @@
{"contentHash":"30b463a4e09c326f52255ad4015c8546c7bca5475d33d784969e2cc4f1feed40","entrypoint":"channel-contract","importSpecifier":"openclaw/plugin-sdk/channel-contract"}
{"contentHash":"44832134039fb5a9b5c3d001ee0daf500a55ef44eedbf31e19756735e7bf8bff","entrypoint":"channel-contract","importSpecifier":"openclaw/plugin-sdk/channel-contract"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"895ac29e8056362777291f51a27d021813de8f3a4acce30e57b1b82843cd27bc","entrypoint":"channel-core","importSpecifier":"openclaw/plugin-sdk/channel-core"}
{"contentHash":"ae7ebc2ff1de2a97232b992dd6cf494bc80f4666fa6f92bf05411c4412d0e089","entrypoint":"channel-core","importSpecifier":"openclaw/plugin-sdk/channel-core"}
@@ -1 +1 @@
{"contentHash":"f25d352d0cdce67f2455b006129d6661d8d254d31774ffc6923e9d4c92eb9250","entrypoint":"channel-dm-policy","importSpecifier":"openclaw/plugin-sdk/channel-dm-policy"}
{"contentHash":"709a490a231838b6b65fdce47fe05fd3aad609398f573d6b45bfcceec5852a66","entrypoint":"channel-dm-policy","importSpecifier":"openclaw/plugin-sdk/channel-dm-policy"}
@@ -1 +1 @@
{"contentHash":"a109615d9c3222bdbf04be69e222e4af4e314820c72b688c909fec6d0487bdc6","entrypoint":"channel-entry-contract","importSpecifier":"openclaw/plugin-sdk/channel-entry-contract"}
{"contentHash":"15e8d88af3ded7a56f56d3eca4f59dbcc14d2d14dd4f5d291919eb204528082d","entrypoint":"channel-entry-contract","importSpecifier":"openclaw/plugin-sdk/channel-entry-contract"}
@@ -1 +1 @@
{"contentHash":"551b4cd1d6940447dd445cc28f07544ad6f5974d65e241a4816f8d03a69b8f82","entrypoint":"channel-feedback","importSpecifier":"openclaw/plugin-sdk/channel-feedback"}
{"contentHash":"e60e497ec83a74c69afdad695939551cc65b13527f0b38bfac88f2bf5fbe6ce2","entrypoint":"channel-feedback","importSpecifier":"openclaw/plugin-sdk/channel-feedback"}
@@ -1 +1 @@
{"contentHash":"e77cdd92e4f38cdd2a700cfc542402be3aae560c6c0c5c309c39286bdbb61abe","entrypoint":"channel-inbound-debounce","importSpecifier":"openclaw/plugin-sdk/channel-inbound-debounce"}
{"contentHash":"6aa8947155130bdf1eeaf2387d4fe855d78702f3bd82cc518d907244e8f7f089","entrypoint":"channel-inbound-debounce","importSpecifier":"openclaw/plugin-sdk/channel-inbound-debounce"}
@@ -1 +1 @@
{"contentHash":"84ecd36a64b3aec85589103ef5e3e332ea0770651c0cc344090c6a3c609b6854","entrypoint":"channel-inbound","importSpecifier":"openclaw/plugin-sdk/channel-inbound"}
{"contentHash":"6add8ecd718fa670825ac3420b85e3acbb17fdf86e21d14f308f2f2657f1e5be","entrypoint":"channel-inbound","importSpecifier":"openclaw/plugin-sdk/channel-inbound"}
@@ -1 +1 @@
{"contentHash":"d98f19fb7df1291cfe33dfe01b99485108dbeff47768eedf3b51a3fd4bce76a0","entrypoint":"channel-ingress-runtime","importSpecifier":"openclaw/plugin-sdk/channel-ingress-runtime"}
{"contentHash":"c0541f2781168816d232c6690ed8896f422ce2b7ce950f117328cc2eeda99d0e","entrypoint":"channel-ingress-runtime","importSpecifier":"openclaw/plugin-sdk/channel-ingress-runtime"}
@@ -1 +1 @@
{"contentHash":"c85d86fb7e98c9606a9ea4f44e99d97cf4e60708288b539c635ba2f6fc7d0f1a","entrypoint":"channel-message","importSpecifier":"openclaw/plugin-sdk/channel-message"}
{"contentHash":"5ae94502f0098ffd3c91160440795c3955bc63558e034688ab890f0edac27e74","entrypoint":"channel-message","importSpecifier":"openclaw/plugin-sdk/channel-message"}
@@ -1 +1 @@
{"contentHash":"abfb0bc418ade50fbceec696dbc19198d10e5596965e264d1202924f0f7d5761","entrypoint":"channel-outbound","importSpecifier":"openclaw/plugin-sdk/channel-outbound"}
{"contentHash":"9b17e70764b958845e9b5ad547b8a58c730acd76c450137b7063de4d84724d91","entrypoint":"channel-outbound","importSpecifier":"openclaw/plugin-sdk/channel-outbound"}
@@ -1 +1 @@
{"contentHash":"982f42cd1ef5594aff26969ac256e5cf2f124f409b7e020fcad5117fc8322055","entrypoint":"channel-pairing","importSpecifier":"openclaw/plugin-sdk/channel-pairing"}
{"contentHash":"83162d60aa40acbfd9752b887848447842690d21e8432abcbe4dfd0b8d346567","entrypoint":"channel-pairing","importSpecifier":"openclaw/plugin-sdk/channel-pairing"}
@@ -1 +1 @@
{"contentHash":"3a9f81af4a5140ef51cc73bf117138dd318dd89cb743e40eba2970792b1d9980","entrypoint":"channel-plugin-common","importSpecifier":"openclaw/plugin-sdk/channel-plugin-common"}
{"contentHash":"628a6a5b9674566c5956e04e505be93079c8324bd2701368c6c47adbe93956cd","entrypoint":"channel-plugin-common","importSpecifier":"openclaw/plugin-sdk/channel-plugin-common"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"2dfa0507e128854c5df2f833e57e56c4cabdf6e32c4d79f26fe21b674b240f69","entrypoint":"channel-policy","importSpecifier":"openclaw/plugin-sdk/channel-policy"}
{"contentHash":"32933d2e3143e7e5db2a0b032187f3eef2353d7f25ad64d079bb572c5ba40aae","entrypoint":"channel-policy","importSpecifier":"openclaw/plugin-sdk/channel-policy"}
@@ -1 +1 @@
{"contentHash":"1262cc14d9cb4c639ead54a2c2e4c1042cb836b73bdd9d3a39a9664ae04241e9","entrypoint":"channel-reply-pipeline","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline"}
{"contentHash":"3b5e25a136fd2cd150a20f35c7c92e4a36f2384e980d8b8f3c5597da0ad76f70","entrypoint":"channel-reply-pipeline","importSpecifier":"openclaw/plugin-sdk/channel-reply-pipeline"}
@@ -1 +1 @@
{"contentHash":"bc8c23c5a5108c1781648509f7b4c6c07ad4e4a064f726d517ece59d8907f19c","entrypoint":"channel-secret-basic-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-basic-runtime"}
{"contentHash":"e2c744c0afe545e4cd57b5aaba6db9133187bde3bf462c063c000773846d5803","entrypoint":"channel-secret-basic-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-basic-runtime"}
@@ -1 +1 @@
{"contentHash":"812007b404b41c995529acbc1fadc9fd5661a6a87676bb5dce2f30e52327becf","entrypoint":"channel-secret-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-runtime"}
{"contentHash":"6d80a38ab05277753106ded06e3299b53e0679c695aaf4178f393cd55a6c5dda","entrypoint":"channel-secret-runtime","importSpecifier":"openclaw/plugin-sdk/channel-secret-runtime"}
@@ -1 +1 @@
{"contentHash":"24e36948ee19def3102474d3e3ba0964515db1ef0e06eafdc66ebc733828bb13","entrypoint":"channel-send-result","importSpecifier":"openclaw/plugin-sdk/channel-send-result"}
{"contentHash":"b4d94ff4e37aa07c2944bce09a7b644cbd3844ee2aa3b1ddf9b378848d27e250","entrypoint":"channel-send-result","importSpecifier":"openclaw/plugin-sdk/channel-send-result"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"e981991086dc04c69b385d4860acffcb332560368283000ed42b1e4db5a43896","entrypoint":"channel-setup","importSpecifier":"openclaw/plugin-sdk/channel-setup"}
{"contentHash":"ca58d4cec17d38db2573603e47743ec9ad1cf64b35b6f7453a36f4e2cc16f02e","entrypoint":"channel-setup","importSpecifier":"openclaw/plugin-sdk/channel-setup"}
@@ -1 +1 @@
{"contentHash":"4fa7e5cf0b6aadbaef2a7ad6dcf0cd732f0284a061e8006e6e1353daec6a4224","entrypoint":"command-auth-native","importSpecifier":"openclaw/plugin-sdk/command-auth-native"}
{"contentHash":"ae33abaed302c429a458f4062e99151e5f9e3c86d345278633555eef00fbb6fd","entrypoint":"command-auth-native","importSpecifier":"openclaw/plugin-sdk/command-auth-native"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"e08dc22849e8bca609d45e73a004b3293e8610d105040b93118ab125978d8516","entrypoint":"command-auth","importSpecifier":"openclaw/plugin-sdk/command-auth"}
{"contentHash":"5872a8883dcac2ecdaed449a23629b0ae975e9c869f18469ec950073fbdd03ee","entrypoint":"command-auth","importSpecifier":"openclaw/plugin-sdk/command-auth"}
@@ -1 +1 @@
{"contentHash":"037ea2f2234b727590643ca08f315041315bce974b0c4c292470abc6f2d3d1fb","entrypoint":"command-detection","importSpecifier":"openclaw/plugin-sdk/command-detection"}
{"contentHash":"c7cbbcf71875c9b6b2769ae477dd62f2b43773f6f26ed947bd6aa5fdcdffd862","entrypoint":"command-detection","importSpecifier":"openclaw/plugin-sdk/command-detection"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"5ad0b6ccf41bee6a0c14d18886815fcfdae46c74f4fe6d4a1b694236f4c8cf9d","entrypoint":"command-status","importSpecifier":"openclaw/plugin-sdk/command-status"}
{"contentHash":"fb366f38f40b284abb21fa043c5a56e56286f658f104647c2143eac03b5a0952","entrypoint":"command-status","importSpecifier":"openclaw/plugin-sdk/command-status"}
@@ -1 +1 @@
{"contentHash":"276229acce4fc27e7eccf3e970b26c05a2f42ba37e82e969c139f997ff681427","entrypoint":"config-contracts","importSpecifier":"openclaw/plugin-sdk/config-contracts"}
{"contentHash":"ec4f7122f12e97f6163cd38d6301d5e07f13aabd20a58e4cc03a9f009d4becbb","entrypoint":"config-contracts","importSpecifier":"openclaw/plugin-sdk/config-contracts"}
@@ -1 +1 @@
{"contentHash":"a7c63538d37122bfe240f75944916a3f01806f7fb7de3ecb976c6fd3f5dcd72e","entrypoint":"config-mutation","importSpecifier":"openclaw/plugin-sdk/config-mutation"}
{"contentHash":"ba38d34dfd1a7a1bf001f151489dcdb8f17a37444843028d5cc2658c59430169","entrypoint":"config-mutation","importSpecifier":"openclaw/plugin-sdk/config-mutation"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"3f128cc41bb2e44b40402774acd3a967501c72ae5d7b2f9d149a262cc0d5a2da","entrypoint":"config-runtime","importSpecifier":"openclaw/plugin-sdk/config-runtime"}
{"contentHash":"0d168836f18045e7e5e80495efaf3b1774691723884898802a214a3e7c1bfd6a","entrypoint":"config-runtime","importSpecifier":"openclaw/plugin-sdk/config-runtime"}
@@ -1 +1 @@
{"contentHash":"b0b4951cd020c358a1d27888c7794a6021c9e714502fa73becafaae100e67003","entrypoint":"conversation-runtime","importSpecifier":"openclaw/plugin-sdk/conversation-runtime"}
{"contentHash":"7a94d6151701bd7f3607f4f0b74118c9429f21527446bbedec90cfc46ca79172","entrypoint":"conversation-runtime","importSpecifier":"openclaw/plugin-sdk/conversation-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"f808b2dea87ef2f60c3d3867aabcade645ce918b4c273d1dcdb452e4b110aa0f","entrypoint":"core","importSpecifier":"openclaw/plugin-sdk/core"}
{"contentHash":"a0a3832ec0e4a2529333b18d4474940e773b9afe01e8cd13c1d79edf75f583f4","entrypoint":"core","importSpecifier":"openclaw/plugin-sdk/core"}
@@ -1 +1 @@
{"contentHash":"85384810d4e097269845c3d9ac8a11938b37acb4f231a09fa6224265ed76d8a4","entrypoint":"diagnostic-runtime","importSpecifier":"openclaw/plugin-sdk/diagnostic-runtime"}
{"contentHash":"547d04b5b0092daca9b22e80e9cf358c87d18cf4e85420049c21f56ae25a6c03","entrypoint":"diagnostic-runtime","importSpecifier":"openclaw/plugin-sdk/diagnostic-runtime"}
@@ -1 +1 @@
{"contentHash":"a8330c979e92d4d9d4f1f050c7ce7e7d0198e8a25b2caf3706b8596cfc600129","entrypoint":"directory-runtime","importSpecifier":"openclaw/plugin-sdk/directory-runtime"}
{"contentHash":"5559c9312d56df1cef6a1bb56e7bad1ae13efaee0bb3f1d9fbb7e563e3172f11","entrypoint":"directory-runtime","importSpecifier":"openclaw/plugin-sdk/directory-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"29d5e02c1f225835cca47a07f807f317d77782e05bdce88b0d4a58d04d85b81b","entrypoint":"discord","importSpecifier":"openclaw/plugin-sdk/discord"}
{"contentHash":"2365d560ccc2c217c971c57918a096b2921727cc1df4357c1af486251c126048","entrypoint":"discord","importSpecifier":"openclaw/plugin-sdk/discord"}
@@ -1 +1 @@
{"contentHash":"db169149223eeb4f3d4dbbcf5d8c4111db6dfbddbaa4e7fb4b27f55d35723faa","entrypoint":"extension-shared","importSpecifier":"openclaw/plugin-sdk/extension-shared"}
{"contentHash":"5f55bbb4c9f30b1694f940472eb8b4deb9707a70c0aabb0017b58da7d8440f56","entrypoint":"extension-shared","importSpecifier":"openclaw/plugin-sdk/extension-shared"}
@@ -1 +1 @@
{"contentHash":"8cf1f6a307496e0c44bc8c413d710bf069681fa506d5af3508f7ba437065c6e2","entrypoint":"gateway-runtime","importSpecifier":"openclaw/plugin-sdk/gateway-runtime"}
{"contentHash":"7c27ccd856e944332b06e5c79ee0275bad1c3e2d1a2174f108d5ead742b32783","entrypoint":"gateway-runtime","importSpecifier":"openclaw/plugin-sdk/gateway-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"804f34575cadcf502248f68a2d0539da6a13bd8a4cfcbac7eedf377eb5e100bc","entrypoint":"health","importSpecifier":"openclaw/plugin-sdk/health"}
{"contentHash":"a94e3c690d1c684c51e901469209fa20b8fca6a7b0c10b3e4deac98d9a7d8be7","entrypoint":"health","importSpecifier":"openclaw/plugin-sdk/health"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"372c9a2f49fd5d431197b7f35c37321a4d4296d7a1cddc2b71c3ee757ebe95a7","entrypoint":"hook-runtime","importSpecifier":"openclaw/plugin-sdk/hook-runtime"}
{"contentHash":"8b94bf5fad2d42b30662181f258d5486f875302cb46fc15fd37727458282a931","entrypoint":"hook-runtime","importSpecifier":"openclaw/plugin-sdk/hook-runtime"}
@@ -1 +1 @@
{"contentHash":"0212bcd1e5e4740ed61cf0773e13ee51d777b64a5fd51c8fa3060398e5f129b2","entrypoint":"inbound-reply-dispatch","importSpecifier":"openclaw/plugin-sdk/inbound-reply-dispatch"}
{"contentHash":"0b9df99990acff17f2a8980c944ec6dbd6e6a1797d82238b0684e61cae7c227b","entrypoint":"inbound-reply-dispatch","importSpecifier":"openclaw/plugin-sdk/inbound-reply-dispatch"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"463ab9088e5cbf0f008716d00676aaf2a4bdf0f13a6621cd42a76aac34f5b7a0","entrypoint":"infra-runtime","importSpecifier":"openclaw/plugin-sdk/infra-runtime"}
{"contentHash":"8fb1a350a9618826569ddd6482e25b670756748db6e6c788dfb4466d9c6d61a8","entrypoint":"infra-runtime","importSpecifier":"openclaw/plugin-sdk/infra-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"b8cc5f216a28c2606a2c8439fb5476a8e229459950e9e406c5ac46174c9eee2e","entrypoint":"logging-core","importSpecifier":"openclaw/plugin-sdk/logging-core"}
{"contentHash":"27b122cd12cb3be2b5c9070fdf86a9dddc462d7cc54a0a7d78f96d01e0863d1b","entrypoint":"logging-core","importSpecifier":"openclaw/plugin-sdk/logging-core"}
@@ -1 +1 @@
{"contentHash":"a1c9573dc582ab69ee317dea444b9eae78da555a44186b66c427fd12e11d7ac9","entrypoint":"media-local-roots","importSpecifier":"openclaw/plugin-sdk/media-local-roots"}
{"contentHash":"cad600d7347448c638bbabb34d8197a6704fbd8971bf73e21074fb3c40e99a71","entrypoint":"media-local-roots","importSpecifier":"openclaw/plugin-sdk/media-local-roots"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"fe35d8eebcbfbdb20fc4a1e3b903e2dc7891dc2f12feb3e6130fec5dcd605376","entrypoint":"media-runtime","importSpecifier":"openclaw/plugin-sdk/media-runtime"}
{"contentHash":"b1c3105c62e6e156581803ef34e4238d6f230955f78890f3deb78f6c99d97f0c","entrypoint":"media-runtime","importSpecifier":"openclaw/plugin-sdk/media-runtime"}
@@ -1 +1 @@
{"contentHash":"7d5fd82c531675b86446df475d1744902b721dbcc345aeabaf7bdfee27a77bc0","entrypoint":"media-understanding-runtime","importSpecifier":"openclaw/plugin-sdk/media-understanding-runtime"}
{"contentHash":"30969ae3c8b79c39336765b983fbecaeb108ee1da09c0f489d096d9f993231bb","entrypoint":"media-understanding-runtime","importSpecifier":"openclaw/plugin-sdk/media-understanding-runtime"}
@@ -1 +1 @@
{"contentHash":"92c946421c6f907442685fd0cfb39b42c5a25fda2a44931d7c0fbbaf12245bd9","entrypoint":"media-understanding","importSpecifier":"openclaw/plugin-sdk/media-understanding"}
{"contentHash":"a92d512914c10662f2a47d27ab7173fd3aefa6442633265e3b172d53b5c28ff1","entrypoint":"media-understanding","importSpecifier":"openclaw/plugin-sdk/media-understanding"}
@@ -1 +1 @@
{"contentHash":"6c15ce9bac50287422269210a848b33a6cca4684b8f7801be93fbe2f04e0d45e","entrypoint":"meeting-runtime","importSpecifier":"openclaw/plugin-sdk/meeting-runtime"}
{"contentHash":"558d33dffe62849474af6ba9706c57b2b26ebf71187ee04f4dcfae039caa0678","entrypoint":"meeting-runtime","importSpecifier":"openclaw/plugin-sdk/meeting-runtime"}
@@ -1 +1 @@
{"contentHash":"c502491a40bd1a579d314e4673c3a3cdba15c6dada8ace82369d1f31b393b9ee","entrypoint":"memory-core-host-engine-foundation","importSpecifier":"openclaw/plugin-sdk/memory-core-host-engine-foundation"}
{"contentHash":"e9a1fee2e3a1f66f5a6cc69648092de5fbf4dea051f3ecdd732519c1d95d3ae5","entrypoint":"memory-core-host-engine-foundation","importSpecifier":"openclaw/plugin-sdk/memory-core-host-engine-foundation"}
@@ -1 +1 @@
{"contentHash":"f771af96c027a82204bb41263fbd702424108bca8eb1670bd85fde4f8c3a0a8c","entrypoint":"memory-host-core","importSpecifier":"openclaw/plugin-sdk/memory-host-core"}
{"contentHash":"44d49b85e4b04590c2a8739ee09a4dbc2093d42a37c2252b6c8953bc6c560587","entrypoint":"memory-host-core","importSpecifier":"openclaw/plugin-sdk/memory-host-core"}
@@ -1 +1 @@
{"contentHash":"ecb40006fc5ea974a3e31d0782c86e50c054e19164f864a564bb6f3f3d00dae9","entrypoint":"model-session-runtime","importSpecifier":"openclaw/plugin-sdk/model-session-runtime"}
{"contentHash":"486acdea7964518d809c83435cd6ce817ff5afc710e72385f2edde3adfa46478","entrypoint":"model-session-runtime","importSpecifier":"openclaw/plugin-sdk/model-session-runtime"}
@@ -1 +1 @@
{"contentHash":"cdc1b761783a3e135f413f08c0f107a7dd45f2f73d9f4b807244590445ff5343","entrypoint":"models-provider-runtime","importSpecifier":"openclaw/plugin-sdk/models-provider-runtime"}
{"contentHash":"ff0868c94c8fa03e3323f5a6e9ceb886c577f2b07bcc3e7c377b378440d46179","entrypoint":"models-provider-runtime","importSpecifier":"openclaw/plugin-sdk/models-provider-runtime"}
@@ -1 +1 @@
{"contentHash":"c3ef6bb24b2e3533b60de73f9196c0cedeb82043586afb5381f0ae97a12ca75f","entrypoint":"native-command-config-runtime","importSpecifier":"openclaw/plugin-sdk/native-command-config-runtime"}
{"contentHash":"437aa32685322f36a938b669db4b1272e12300dbdf9fa5cfb988a382b86a1d10","entrypoint":"native-command-config-runtime","importSpecifier":"openclaw/plugin-sdk/native-command-config-runtime"}
@@ -1 +1 @@
{"contentHash":"1a7c4d246a5d9bb91defd483dc2af094199898cc89be05366fd2c7855aa7cc15","entrypoint":"native-command-registry","importSpecifier":"openclaw/plugin-sdk/native-command-registry"}
{"contentHash":"e1c4ad0de14b7dd5bacd210bd6116890e7b14aa0b26ceebc531a8471e7aaf307","entrypoint":"native-command-registry","importSpecifier":"openclaw/plugin-sdk/native-command-registry"}
@@ -1 +1 @@
{"contentHash":"cbbbef2c74bfbd0dc0836cf89c5010f3c0e2e0def3663b076d57a7a6bc8a13cd","entrypoint":"plugin-command-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-command-runtime"}
{"contentHash":"25ec4d9bc9a8079e69f085cbe886fbeda3400bc951b9aaf0f79ff945c6a97958","entrypoint":"plugin-command-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-command-runtime"}
@@ -1 +1 @@
{"contentHash":"b5a2ad221927505a92ff1e4520e14b916ff2ec2a771e7173d0279b85a93bb5a7","entrypoint":"plugin-config-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-config-runtime"}
{"contentHash":"5dc9002a8df3cf9477ab2fa96fcd0c0eb44a0565dff033491c2bdbe8d1eb662b","entrypoint":"plugin-config-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-config-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"66b685d9302b1e6bb5e348c0b164944e7f92087d480ca36ced0855316f6d9385","entrypoint":"plugin-entry","importSpecifier":"openclaw/plugin-sdk/plugin-entry"}
{"contentHash":"27b07f72e16f1a0d0bbb143d3c19ee80064914971909bc72099051f68ceb7b89","entrypoint":"plugin-entry","importSpecifier":"openclaw/plugin-sdk/plugin-entry"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"2120a39bb107f406046340baa16e316e47341451d21f76d28f666d6b27fc4673","entrypoint":"plugin-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-runtime"}
{"contentHash":"71cb620f8b936e6d83b260f45e9ebb16e55363b6fd7bccd8944632e78b14d70d","entrypoint":"plugin-runtime","importSpecifier":"openclaw/plugin-sdk/plugin-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"d56a974704a97ae438b03ba82aa84314e77bf65a7e7dd9096fd2ab2bc8cbcbec","entrypoint":"provider-auth","importSpecifier":"openclaw/plugin-sdk/provider-auth"}
{"contentHash":"8c89c076b4fa9f2017e136c4a1b5f55863c469039592b00e1e40b777e7621533","entrypoint":"provider-auth","importSpecifier":"openclaw/plugin-sdk/provider-auth"}
@@ -1 +1 @@
{"contentHash":"f127c5c3738201fb8972ab46c145a9001889c211fcde48c395c06818ea627bf8","entrypoint":"provider-catalog-runtime","importSpecifier":"openclaw/plugin-sdk/provider-catalog-runtime"}
{"contentHash":"a5c6beede9403833929c5491019c92d691df2f092c1db13c9caf125da4013aaa","entrypoint":"provider-catalog-runtime","importSpecifier":"openclaw/plugin-sdk/provider-catalog-runtime"}
@@ -1 +1 @@
{"contentHash":"f379950391cc668ede32800d0dab5dc0a37c1589b4d57abb0790913a15e9aadb","entrypoint":"question-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/question-gateway-runtime"}
{"contentHash":"88602945e3b0d15894673e46412535f1e144efb1096f7061f71ed92f2978a2a8","entrypoint":"question-gateway-runtime","importSpecifier":"openclaw/plugin-sdk/question-gateway-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"9023a0d9a45ae97efb7c59cc90c5afd9cf5acd0644722332a99aa6609c14a7b6","entrypoint":"reply-chunking","importSpecifier":"openclaw/plugin-sdk/reply-chunking"}
{"contentHash":"b74f9fb9eca3c2a702c5c55c8efb1ef24ec945200c1a9de4d620a72c7b3f3edf","entrypoint":"reply-chunking","importSpecifier":"openclaw/plugin-sdk/reply-chunking"}
@@ -1 +1 @@
{"contentHash":"a41c05428a9a5430b2d81ed310aa5efcbeddcef7573adfd8af5ec415bfbbba97","entrypoint":"reply-dispatch-runtime","importSpecifier":"openclaw/plugin-sdk/reply-dispatch-runtime"}
{"contentHash":"cc49e239b9fd3e4bf1d3fe0ede441030df46a79dc0f707313f2367453ebbe10c","entrypoint":"reply-dispatch-runtime","importSpecifier":"openclaw/plugin-sdk/reply-dispatch-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"f421205d77076c2f45e9c15c2f5bab37b3a91a9e21c1d8f945f53e1b0e936e00","entrypoint":"reply-payload","importSpecifier":"openclaw/plugin-sdk/reply-payload"}
{"contentHash":"4debec483404d8abe5b9ae46166a159218a150b4e9af1a52d7b5f2feb6feca04","entrypoint":"reply-payload","importSpecifier":"openclaw/plugin-sdk/reply-payload"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"74f042e649fe9ad18cee1eb327622b526636b470e7c230c2e280e11e990c7764","entrypoint":"reply-runtime","importSpecifier":"openclaw/plugin-sdk/reply-runtime"}
{"contentHash":"e0ab7706edb6c7f0c021980ec0068348456db88917c6b113a1010d7a4519fef1","entrypoint":"reply-runtime","importSpecifier":"openclaw/plugin-sdk/reply-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"dba046330db0bc493ddedbedaa42ef6fcf599fccb472c1f8a8722d3431d15382","entrypoint":"routing","importSpecifier":"openclaw/plugin-sdk/routing"}
{"contentHash":"2d388c0e84a58fbdc3dbb1171348b795047fa0db2b003530d7107253a7ff4389","entrypoint":"routing","importSpecifier":"openclaw/plugin-sdk/routing"}
@@ -1 +1 @@
{"contentHash":"efa884588bd728ec21bebf07d2700f1f477f7c4adeb0646190f0b6146d9d167a","entrypoint":"runtime-config-snapshot","importSpecifier":"openclaw/plugin-sdk/runtime-config-snapshot"}
{"contentHash":"66d78144cb06fcec237e851afd5ef2bf38fad8c75d1984c81a21f39f8ea9bc8b","entrypoint":"runtime-config-snapshot","importSpecifier":"openclaw/plugin-sdk/runtime-config-snapshot"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"babd3de9e3fbbc52a328d73ae815f4df4dbc57377aa0a0ec5de08636b87ab542","entrypoint":"runtime-store","importSpecifier":"openclaw/plugin-sdk/runtime-store"}
{"contentHash":"e5c3af4aa1203cb003313ee64507c51380fd90ea50bd332f573851805aa35065","entrypoint":"runtime-store","importSpecifier":"openclaw/plugin-sdk/runtime-store"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"98624c94e8f5dd159bca518241ab8afc63e7799d507d2ec0b611247aa3f655d3","entrypoint":"runtime","importSpecifier":"openclaw/plugin-sdk/runtime"}
{"contentHash":"c85adae45098dae23a281d3070c77253ab999b7b68bd67c4f98e5f739f0b3d2d","entrypoint":"runtime","importSpecifier":"openclaw/plugin-sdk/runtime"}
@@ -1 +1 @@
{"contentHash":"9b07f560a2a642bc9a9f5648d87219cacdddfe6313a472522b98fbc7a3ce482a","entrypoint":"secret-input-runtime","importSpecifier":"openclaw/plugin-sdk/secret-input-runtime"}
{"contentHash":"c1fb9ac5974e66042ee2aa16358cd9fd07585cfa701fb38116a00bfc858f1254","entrypoint":"secret-input-runtime","importSpecifier":"openclaw/plugin-sdk/secret-input-runtime"}
@@ -1 +1 @@
{"contentHash":"cf89c569d04b860dfc9e363c1b12c15072779459aa90e33f11f0d8305ab1336d","entrypoint":"secret-ref-runtime","importSpecifier":"openclaw/plugin-sdk/secret-ref-runtime"}
{"contentHash":"5851ad5d92fa229f8ade29ad40ede21f0ec4b4899e9ed4521642ebcd7b968a7a","entrypoint":"secret-ref-runtime","importSpecifier":"openclaw/plugin-sdk/secret-ref-runtime"}
@@ -1 +1 @@
{"contentHash":"d293aefd15df648be5808cdbe6194cb363cc3410e9e0ae01cf1d2162f8a475c5","entrypoint":"security-runtime","importSpecifier":"openclaw/plugin-sdk/security-runtime"}
{"contentHash":"037e9401d723c1fd180483e8a4096fe33d9d544a6b85bccc4500dfa6d3b41eba","entrypoint":"security-runtime","importSpecifier":"openclaw/plugin-sdk/security-runtime"}
@@ -1 +1 @@
{"contentHash":"e843ae3223098e08b57d4af6efd78cc1693bb5ed3b7f589dee10c223d914b1bb","entrypoint":"session-catalog","importSpecifier":"openclaw/plugin-sdk/session-catalog"}
{"contentHash":"8cca3d20cbf6e5860023858acd6dbd1b727c98401cdab28d0bd52424ef091343","entrypoint":"session-catalog","importSpecifier":"openclaw/plugin-sdk/session-catalog"}
@@ -1 +1 @@
{"contentHash":"e1f5b6c7f7c9fe19fe73ec026c9577a93b3a39d024d6083f16914f601cb766af","entrypoint":"session-store-runtime","importSpecifier":"openclaw/plugin-sdk/session-store-runtime"}
{"contentHash":"3755c6440828d4b9a0ab9edd8740ad7d7ece7da5918c13db0ac2205b617fe51f","entrypoint":"session-store-runtime","importSpecifier":"openclaw/plugin-sdk/session-store-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"bafe3559e5a656effef560996e2a5445c6d7fd8bf94ad4394b422b9396c994ec","entrypoint":"setup-runtime","importSpecifier":"openclaw/plugin-sdk/setup-runtime"}
{"contentHash":"14dbedccb17539e2a86889441af8a3254dc5e43c021f6d771ba60c40941e0c7e","entrypoint":"setup-runtime","importSpecifier":"openclaw/plugin-sdk/setup-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"af54dee897be0a016bc5844842a0449ac0609a02737495f79a7ac250fc594328","entrypoint":"setup","importSpecifier":"openclaw/plugin-sdk/setup"}
{"contentHash":"b3dc2896f2e8735c2407955011c792f4594753ce7ff6cce37048ad4e1054d6c6","entrypoint":"setup","importSpecifier":"openclaw/plugin-sdk/setup"}
@@ -1 +1 @@
{"contentHash":"1ffb1002273fa4523e0bcc5c49183627d32584c32f3cade613a9de28db8ebb45","entrypoint":"skill-commands-runtime","importSpecifier":"openclaw/plugin-sdk/skill-commands-runtime"}
{"contentHash":"59dd16f1b775f05a1381976a3c2162b183a126b98a8d2254cf2f1067454a70f3","entrypoint":"skill-commands-runtime","importSpecifier":"openclaw/plugin-sdk/skill-commands-runtime"}
@@ -1 +1 @@
{"contentHash":"a9f2ab866e225f38f006ff1aa6eb33b5316454f463aa4f6d6f2fd4ecdec41135","entrypoint":"speech-settings","importSpecifier":"openclaw/plugin-sdk/speech-settings"}
{"contentHash":"969e455aaa7bf83626bfbc8fe87b06669d7cc15f2fe960f0c2aca6c73cee51ee","entrypoint":"speech-settings","importSpecifier":"openclaw/plugin-sdk/speech-settings"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"f15daa0e828f7f32901d14f7174b31883799c1bd6c1498d4295a85cbd045eeb6","entrypoint":"ssrf-policy","importSpecifier":"openclaw/plugin-sdk/ssrf-policy"}
{"contentHash":"5a662783d48ca7e7f99cb7ce41294c9417c65ae54de78468181b2fadb86d660a","entrypoint":"ssrf-policy","importSpecifier":"openclaw/plugin-sdk/ssrf-policy"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"9df7566aad3ff6c1d41e693351d47e09f77f30a0b6d43a828afe7439b84fe36f","entrypoint":"ssrf-runtime","importSpecifier":"openclaw/plugin-sdk/ssrf-runtime"}
{"contentHash":"fac54b44bf1db4eb5cf44027dd37a0459835687a7fc8924de8d78133c836a9a2","entrypoint":"ssrf-runtime","importSpecifier":"openclaw/plugin-sdk/ssrf-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"a3217185d285139c7c36f69378fb80bd2a8287beeb0a35b7f1fc87d80da88264","entrypoint":"status-helpers","importSpecifier":"openclaw/plugin-sdk/status-helpers"}
{"contentHash":"1973f6312e0eb369aa69c8ce299f7b663f602fd4b2dd9b1c06092da34e007f3b","entrypoint":"status-helpers","importSpecifier":"openclaw/plugin-sdk/status-helpers"}
@@ -1 +1 @@
{"contentHash":"887bb7b047b997f5eeb948a8fe8f79013580ffc3b62cb6cee10cc017908ee759","entrypoint":"telegram-account","importSpecifier":"openclaw/plugin-sdk/telegram-account"}
{"contentHash":"bf5c0bae97585234806409bf1350ab81635397c74594d9d34eb2b3f5e7c2eb99","entrypoint":"telegram-account","importSpecifier":"openclaw/plugin-sdk/telegram-account"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"41b78aa69035e6b7dc97d62553f964d98065b60604d85d5ce5acd4c4bfc55c8a","entrypoint":"text-runtime","importSpecifier":"openclaw/plugin-sdk/text-runtime"}
{"contentHash":"8c7f1c1933597fc39fc6b5b9e0fd75311cb4142ab3ce40e4fbbfe2b97af0ba51","entrypoint":"text-runtime","importSpecifier":"openclaw/plugin-sdk/text-runtime"}
+1 -1
View File
@@ -1 +1 @@
{"contentHash":"af55168f90db0f1d2d55a38b116a8612710b90874418fc238827619b87a89691","entrypoint":"tool-plugin","importSpecifier":"openclaw/plugin-sdk/tool-plugin"}
{"contentHash":"3bd16cfa9be68c8d517d1a51956f588482e45ef70ea39fb192b2129e9f433ffe","entrypoint":"tool-plugin","importSpecifier":"openclaw/plugin-sdk/tool-plugin"}

Some files were not shown because too many files have changed in this diff Show More