Skip to content

Commit 3668e10

Browse files
committed
fix(hermes): admit the Google Chat asset into the portable context
The Hermes portable build context walks every directory the Dockerfile copies and rejects a file that its reviewed manifest does not name, so the five files this branch adds under the Google Chat channel failed installer-integration on the first one it reached. Its Dockerfile parser also rejects a COPY that continues onto a second line, which the new plugin-asset COPY did. Join that instruction, name its source in the local COPY allowlist, and add the five files to the reviewed manifest. The parser and the reviewed manifest are the same two lists the gate compares, so both had to move together. installer-integration clones the pushed revision rather than the working tree, so this was verified by running the parser against the working tree and by the unit suite under src/lib/onboard/experimental, which builds its fixture from the manifest.
1 parent f0495c4 commit 3668e10

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

agents/hermes/Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,7 @@ FROM scratch AS hermes-agent-payload
8080
COPY agents/hermes/plugin/ /opt/nemoclaw-hermes-plugin/
8181
# Channel-owned Google Chat runtime asset, loaded by the plugin beside its own
8282
# __init__.py.
83-
COPY src/lib/messaging/channels/googlechat/runtime/hermes-adapter.py \
84-
/opt/nemoclaw-hermes-plugin/googlechat_adapter.py
83+
COPY src/lib/messaging/channels/googlechat/runtime/hermes-adapter.py /opt/nemoclaw-hermes-plugin/googlechat_adapter.py
8584
COPY agents/hermes/generate-config.ts /opt/nemoclaw-hermes-config/generate-config.ts
8685
COPY agents/hermes/config/ /opt/nemoclaw-hermes-config/config/
8786
COPY agents/hermes/image-build-probes.py /opt/nemoclaw-hermes-config/image-build-probes.py

src/lib/onboard/experimental/hermes-portable-build-context-files.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,10 @@ export const HERMES_PORTABLE_BUILD_CONTEXT_FILES = [
204204
{ path: "src/lib/messaging/channels/googlechat/hooks/tunnel-runtime.test.ts", mode: "100644" },
205205
{ path: "src/lib/messaging/channels/googlechat/hooks/tunnel-runtime.ts", mode: "100644" },
206206
{ path: "src/lib/messaging/channels/googlechat/manifest.ts", mode: "100644" },
207+
{ path: "src/lib/messaging/channels/googlechat/policy.test.ts", mode: "100644" },
208+
{ path: "src/lib/messaging/channels/googlechat/policy/hermes.yaml", mode: "100644" },
207209
{ path: "src/lib/messaging/channels/googlechat/policy/openclaw.yaml", mode: "100644" },
210+
{ path: "src/lib/messaging/channels/googlechat/provider-profile/hermes.yaml", mode: "100644" },
208211
{ path: "src/lib/messaging/channels/googlechat/provider-profile/openclaw.yaml", mode: "100644" },
209212
{ path: "src/lib/messaging/channels/googlechat/rendered-config-parser.ts", mode: "100644" },
210213
{ path: "src/lib/messaging/channels/googlechat/runtime-contract.test.ts", mode: "100644" },
@@ -224,6 +227,8 @@ export const HERMES_PORTABLE_BUILD_CONTEXT_FILES = [
224227
path: "src/lib/messaging/channels/googlechat/runtime/googlechat-trusted-proxy-fetch.ts",
225228
mode: "100644",
226229
},
230+
{ path: "src/lib/messaging/channels/googlechat/runtime/hermes-adapter.py", mode: "100644" },
231+
{ path: "src/lib/messaging/channels/googlechat/runtime/hermes-adapter.test.ts", mode: "100644" },
227232
{ path: "src/lib/messaging/channels/googlechat/template-resolver.test.ts", mode: "100644" },
228233
{ path: "src/lib/messaging/channels/googlechat/template-resolver.ts", mode: "100644" },
229234
{ path: "src/lib/messaging/channels/googlechat/tunnel/lifecycle.test.ts", mode: "100644" },

src/lib/onboard/experimental/hermes-portable-build-context.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ const LOCAL_COPY_SOURCES = [
8383
"src/lib/actions/sandbox/openshell-child-visible-credentials.v0.0.101.json",
8484
"src/lib/hermes-managed-route.ts",
8585
"src/lib/messaging/",
86+
"src/lib/messaging/channels/googlechat/runtime/hermes-adapter.py",
8687
"src/lib/tool-disclosure.ts",
8788
"tools/mcp-tool-discovery-runtime/reviewed-runtime-bundle/managed-startup-image-runtime.bundle",
8889
"tools/mcp-tool-discovery-runtime/reviewed-runtime-bundle/mcp-tool-discovery/BUNDLED_PACKAGES.json",

0 commit comments

Comments
 (0)