@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.
Files changed (2) hide show
  1. package/docker/Dockerfile +22 -19
  2. 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 and tools (stable — external binary downloads)
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
- # code-server (VS Code Server)
108
- RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/usr/local \
109
- && code-server --version
110
-
111
- # Playwright: install Chromium browser binary + OS dependencies (fonts, libX11, etc.)
112
- # Browser binary is architecture-independent and rarely changes, so cache it before npm packages.
113
- # The playwright npm package will be installed later as peer of @ai-support-agent/cli.
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 5: Application packages (changes on every version bump)
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 6: Permissions and runtime setup (lightweight, changes rarely)
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-support-agent/cli",
3
- "version": "0.0.36-beta.0",
3
+ "version": "0.0.37-beta.0",
4
4
  "description": "AI Support Agent CLI client",
5
5
  "main": "dist/index.js",
6
6
  "bin": {