@ai-support-agent/cli 0.0.36-beta.0 → 0.0.37-beta.0
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/docker/Dockerfile +22 -19
- package/package.json +1 -1
package/docker/Dockerfile
CHANGED
|
@@ -4,7 +4,7 @@ FROM node:24-slim
|
|
|
4
4
|
# Layer 1: OS packages (most stable — rarely changes)
|
|
5
5
|
# =============================================================================
|
|
6
6
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
7
|
-
ca-certificates curl unzip git openssh-client vim \
|
|
7
|
+
ca-certificates curl unzip git openssh-client vim jq \
|
|
8
8
|
default-mysql-client postgresql-client \
|
|
9
9
|
gnupg apt-transport-https \
|
|
10
10
|
# Build tools for native addons (node-pty)
|
|
@@ -45,25 +45,25 @@ RUN pip3 install --no-cache-dir --break-system-packages \
|
|
|
45
45
|
chardet==5.*
|
|
46
46
|
|
|
47
47
|
# =============================================================================
|
|
48
|
-
# Layer 3: System CLIs
|
|
48
|
+
# Layer 3: System CLIs — external binary downloads (stable, rarely changes)
|
|
49
|
+
# Combined into as few RUN steps as possible to minimise layer count while
|
|
50
|
+
# keeping logically distinct tools separable when they do need updating.
|
|
49
51
|
# =============================================================================
|
|
50
52
|
|
|
51
|
-
# AWS CLI v2
|
|
53
|
+
# AWS CLI v2 + Session Manager Plugin
|
|
54
|
+
# Note: AWS uses "ubuntu_64bit" for x86_64/amd64 and "ubuntu_arm64" for arm64
|
|
52
55
|
RUN curl -fSL "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o /tmp/awscliv2.zip \
|
|
53
56
|
&& unzip /tmp/awscliv2.zip -d /tmp \
|
|
54
57
|
&& /tmp/aws/install \
|
|
55
|
-
&& rm -rf /tmp/aws /tmp/awscliv2.zip
|
|
56
|
-
|
|
57
|
-
# AWS Session Manager Plugin
|
|
58
|
-
# Note: AWS uses "ubuntu_64bit" for x86_64/amd64 and "ubuntu_arm64" for arm64
|
|
59
|
-
RUN ARCH=$(dpkg --print-architecture) \
|
|
58
|
+
&& rm -rf /tmp/aws /tmp/awscliv2.zip \
|
|
59
|
+
&& ARCH=$(dpkg --print-architecture) \
|
|
60
60
|
&& if [ "$ARCH" = "amd64" ]; then SSM_ARCH="64bit"; else SSM_ARCH="$ARCH"; fi \
|
|
61
61
|
&& curl -fSL "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_${SSM_ARCH}/session-manager-plugin.deb" \
|
|
62
62
|
-o /tmp/session-manager-plugin.deb \
|
|
63
63
|
&& dpkg -i /tmp/session-manager-plugin.deb \
|
|
64
64
|
&& rm /tmp/session-manager-plugin.deb
|
|
65
65
|
|
|
66
|
-
# MSSQL tools (amd64 only)
|
|
66
|
+
# MSSQL tools (amd64 only — kept separate due to conditional apt-get)
|
|
67
67
|
RUN ARCH=$(dpkg --print-architecture) && \
|
|
68
68
|
if [ "$ARCH" = "amd64" ]; then \
|
|
69
69
|
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft.gpg \
|
|
@@ -90,6 +90,10 @@ RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
|
|
|
90
90
|
&& dpkg -i /tmp/glab.deb \
|
|
91
91
|
&& rm /tmp/glab.deb
|
|
92
92
|
|
|
93
|
+
# code-server (VS Code Server) — kept separate; version tied to code-server releases
|
|
94
|
+
RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/usr/local \
|
|
95
|
+
&& code-server --version
|
|
96
|
+
|
|
93
97
|
# =============================================================================
|
|
94
98
|
# Layer 4: Node.js global tools (stable — version-pinned)
|
|
95
99
|
# =============================================================================
|
|
@@ -104,20 +108,19 @@ RUN npm install -g \
|
|
|
104
108
|
marked@15 turndown@7 \
|
|
105
109
|
&& npm cache clean --force
|
|
106
110
|
|
|
107
|
-
#
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
#
|
|
112
|
-
#
|
|
113
|
-
#
|
|
114
|
-
# Use /opt/playwright-browsers so all users (root, node, arbitrary UID) can access the browser.
|
|
111
|
+
# =============================================================================
|
|
112
|
+
# Layer 5: Playwright browser binary (large, stable — cache before app packages)
|
|
113
|
+
# Browser binary is architecture-independent and rarely changes, so it is
|
|
114
|
+
# installed before AGENT_VERSION so the layer stays cached on version bumps.
|
|
115
|
+
# The playwright npm package is installed later as a peer of @ai-support-agent/cli.
|
|
116
|
+
# Use /opt/playwright-browsers so all users (root, node, arbitrary UID) can access it.
|
|
117
|
+
# =============================================================================
|
|
115
118
|
ENV PLAYWRIGHT_BROWSERS_PATH=/opt/playwright-browsers
|
|
116
119
|
RUN npx playwright install --with-deps chromium \
|
|
117
120
|
&& chmod -R 755 /opt/playwright-browsers
|
|
118
121
|
|
|
119
122
|
# =============================================================================
|
|
120
|
-
# Layer
|
|
123
|
+
# Layer 6: Application packages (changes on every version bump)
|
|
121
124
|
# ARG placed here so layers above remain cached when AGENT_VERSION changes.
|
|
122
125
|
# =============================================================================
|
|
123
126
|
ARG AGENT_VERSION=latest
|
|
@@ -130,7 +133,7 @@ RUN cd /usr/local/lib/node_modules/@ai-support-agent/cli \
|
|
|
130
133
|
&& npm install playwright
|
|
131
134
|
|
|
132
135
|
# =============================================================================
|
|
133
|
-
# Layer
|
|
136
|
+
# Layer 7: Permissions and runtime setup (lightweight, changes rarely)
|
|
134
137
|
# =============================================================================
|
|
135
138
|
|
|
136
139
|
# Fix npm cache/global directory permissions for runtime user (may run as non-root)
|