mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-01 12:02:05 +00:00
fix(docker): include apps/shared in dashboard image build
The shared websocket package is a web file: dependency but was excluded by .dockerignore and never copied into the Docker build context. Also fix tsc -b errors: expose buildWsUrl on api and drop the GatewayClient state getter that conflicted with the shared base class.
This commit is contained in:
parent
216ace4bf3
commit
e9b95dfd19
4 changed files with 10 additions and 5 deletions
|
|
@ -66,8 +66,12 @@ runtime/
|
||||||
|
|
||||||
# ---------- Not needed inside the Docker image ----------
|
# ---------- Not needed inside the Docker image ----------
|
||||||
|
|
||||||
# Desktop app source (Tauri/Electron); never installed in the container
|
# Desktop app source (Tauri/Electron); never installed in the container.
|
||||||
|
# apps/shared is the dashboard↔desktop websocket helper and is linked from
|
||||||
|
# web/package.json as a file: workspace dep — keep it in the build context.
|
||||||
apps/
|
apps/
|
||||||
|
!apps/shared/
|
||||||
|
!apps/shared/**
|
||||||
|
|
||||||
# Test suite — not shipped in production images
|
# Test suite — not shipped in production images
|
||||||
tests/
|
tests/
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,9 @@ COPY package.json package-lock.json ./
|
||||||
COPY web/package.json web/
|
COPY web/package.json web/
|
||||||
COPY ui-tui/package.json ui-tui/
|
COPY ui-tui/package.json ui-tui/
|
||||||
COPY ui-tui/packages/hermes-ink/ ui-tui/packages/hermes-ink/
|
COPY ui-tui/packages/hermes-ink/ ui-tui/packages/hermes-ink/
|
||||||
|
# apps/shared/ is copied IN FULL because web/package.json references it as a
|
||||||
|
# `file:` workspace dependency (same pattern as hermes-ink above).
|
||||||
|
COPY apps/shared/ apps/shared/
|
||||||
|
|
||||||
# `npm_config_install_links=false` forces npm to install `file:` deps as
|
# `npm_config_install_links=false` forces npm to install `file:` deps as
|
||||||
# symlinks instead of copies. This is the default since npm 10+, which is
|
# symlinks instead of copies. This is the default since npm 10+, which is
|
||||||
|
|
@ -184,6 +187,7 @@ RUN uv sync --frozen --no-install-project --extra all --extra messaging --extra
|
||||||
# invalidate the (relatively slow) web + ui-tui build layer.
|
# invalidate the (relatively slow) web + ui-tui build layer.
|
||||||
COPY web/ web/
|
COPY web/ web/
|
||||||
COPY ui-tui/ ui-tui/
|
COPY ui-tui/ ui-tui/
|
||||||
|
COPY apps/shared/ apps/shared/
|
||||||
RUN cd web && npm run build && \
|
RUN cd web && npm run build && \
|
||||||
cd ../ui-tui && npm run build
|
cd ../ui-tui && npm run build
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -315,6 +315,7 @@ function appendProfileParam(url: string, profile?: string): string {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const api = {
|
export const api = {
|
||||||
|
buildWsUrl,
|
||||||
getStatus: () => fetchJSON<StatusResponse>("/api/status"),
|
getStatus: () => fetchJSON<StatusResponse>("/api/status"),
|
||||||
/**
|
/**
|
||||||
* Identity probe for the dashboard auth gate (Phase 7).
|
* Identity probe for the dashboard auth gate (Phase 7).
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,6 @@ export class GatewayClient extends JsonRpcGatewayClient {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
get state(): ConnectionState {
|
|
||||||
return this.connectionState;
|
|
||||||
}
|
|
||||||
|
|
||||||
async connect(token?: string): Promise<void> {
|
async connect(token?: string): Promise<void> {
|
||||||
if (this.connectionState === "open" || this.connectionState === "connecting") {
|
if (this.connectionState === "open" || this.connectionState === "connecting") {
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue