@inetafrica/open-claudia 3.5.72 → 3.5.73
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/CHANGELOG.md +8 -0
- package/Dockerfile +49 -21
- package/package.json +1 -1
- package/test-provider-language.js +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.5.73
|
|
4
|
+
|
|
5
|
+
3.5.72 with a smaller bot image, from Sumeet's bot resource plan of 31 Oct. No code changes.
|
|
6
|
+
|
|
7
|
+
- **One copy of the app in the image** (`Dockerfile`): files are copied in already owned by the bot user instead of being re-written by recursive chmod/chown, which stored /app three times.
|
|
8
|
+
- **No leftover download caches**: each npm install clears its cache in the same step.
|
|
9
|
+
- **One Claude install** that the bot user can run (npm into /usr/local), checked at build time; agent-browser keeps only its linux-x64 binary.
|
|
10
|
+
|
|
3
11
|
## 3.5.72
|
|
4
12
|
|
|
5
13
|
3.5.71 plus the memory fixes tested on Sumeet's Mac from 22 to 28 Oct, released to every bot on his card of 31 Oct ("Release to all bots now, without the Maia rename"). The Maia rename stays on the Mac.
|
package/Dockerfile
CHANGED
|
@@ -1,15 +1,30 @@
|
|
|
1
1
|
# Release image. The slow system layer (apt + chromium, ~250 packages) lives
|
|
2
2
|
# in Dockerfile.base, published as the `:base` tag — rebuilt only when that
|
|
3
3
|
# file changes. This build is minutes: fresh agent CLIs + app source.
|
|
4
|
+
#
|
|
5
|
+
# Size rules (each RUN's leftovers are baked into the image forever):
|
|
6
|
+
# - every npm install cleans its download cache in the SAME RUN;
|
|
7
|
+
# - /app is written once, already owned by claudia (COPY --chown, npm ci as
|
|
8
|
+
# claudia) — no recursive chmod/chown, which would store a second and
|
|
9
|
+
# third copy of every file in /app as new layers.
|
|
4
10
|
ARG BASE_IMAGE=git.coders.africa:5050/kazee/agent-space/open-claudia:base
|
|
5
11
|
FROM ${BASE_IMAGE}
|
|
6
12
|
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
# Claude Code CLI, one install: the npm global in /usr/local, which is on PATH
|
|
14
|
+
# and readable for the runtime user (1001, HOME=/data). This is the copy pods
|
|
15
|
+
# were already running (/usr/local/bin/claude -> /usr/local/lib/node_modules/
|
|
16
|
+
# @anthropic-ai/claude-code/bin/claude.exe). The old `claude.ai/install.sh | sh`
|
|
17
|
+
# step ran as root and installs into /root/.local, which user 1001 can neither
|
|
18
|
+
# see on PATH nor read — whenever it succeeded, `claude` would be missing in the
|
|
19
|
+
# pod. The postinstall hardlinks the native binary over the bin/claude.exe stub;
|
|
20
|
+
# the size check fails the build if only the stub is left.
|
|
21
|
+
RUN npm install -g @anthropic-ai/claude-code \
|
|
22
|
+
&& test "$(stat -c %s "$(readlink -f /usr/local/bin/claude)")" -gt 1000000 \
|
|
23
|
+
&& npm cache clean --force && rm -rf /root/.npm /tmp/*
|
|
10
24
|
|
|
11
25
|
# Install OpenAI Codex CLI for the codex backend (unpinned: each image build bakes the then-latest CLI)
|
|
12
|
-
RUN npm install -g @openai/codex
|
|
26
|
+
RUN npm install -g @openai/codex \
|
|
27
|
+
&& npm cache clean --force && rm -rf /root/.npm /tmp/*
|
|
13
28
|
|
|
14
29
|
# Browser automation for the agent: vercel-labs agent-browser (Rust CLI, token-efficient,
|
|
15
30
|
# replaces Playwright MCP). Installed at build time as root so the non-root runtime user
|
|
@@ -17,31 +32,44 @@ RUN npm install -g @openai/codex
|
|
|
17
32
|
# lives outside the /data VOLUME (build-time writes to /data are discarded at runtime).
|
|
18
33
|
# Pinned: the live Browser view (core/browser-view.js) reads its session files and its
|
|
19
34
|
# screen-stream protocol, which 0.38.x has (built-in stream per session, .stream port files).
|
|
20
|
-
|
|
35
|
+
# The package ships a prebuilt binary for every platform (~15-18 MB each); its postinstall
|
|
36
|
+
# points /usr/local/bin/agent-browser at the one for this machine (glibc Linux), so the
|
|
37
|
+
# other six are deleted here.
|
|
38
|
+
RUN npm install -g agent-browser@0.38.2 \
|
|
39
|
+
&& cd "$(npm root -g)/agent-browser/bin" \
|
|
40
|
+
&& keep="agent-browser-linux-$(node -p process.arch)" \
|
|
41
|
+
&& test -x "$keep" \
|
|
42
|
+
&& find . -maxdepth 1 -type f -name 'agent-browser-*' ! -name "$keep" -delete \
|
|
43
|
+
&& case "$(readlink -f /usr/local/bin/agent-browser)" in \
|
|
44
|
+
"$(pwd -P)/$keep"|"$(pwd -P)/agent-browser.js") ;; \
|
|
45
|
+
*) echo "agent-browser on PATH points somewhere unexpected" >&2; exit 1 ;; \
|
|
46
|
+
esac \
|
|
47
|
+
&& npm cache clean --force && rm -rf /root/.npm /tmp/*
|
|
21
48
|
ENV AGENT_BROWSER_EXECUTABLE_PATH=/usr/bin/chromium
|
|
22
49
|
|
|
23
|
-
# Create app directory
|
|
50
|
+
# Create app directory, owned by the runtime user so it can overlay new source
|
|
51
|
+
# into /app for in-place /upgrade (core/handlers.js inPlaceTarballUpgrade).
|
|
24
52
|
WORKDIR /app
|
|
53
|
+
RUN chown claudia:claudia /app
|
|
25
54
|
|
|
26
|
-
# Copy package files and install
|
|
27
|
-
|
|
28
|
-
RUN npm
|
|
55
|
+
# Copy package files and install as claudia, so node_modules is claudia's
|
|
56
|
+
# without a chown pass. The npm cache goes to a scratch dir removed in the same
|
|
57
|
+
# RUN (nothing lands in /root/.npm or /data/.npm).
|
|
58
|
+
COPY --chown=claudia:claudia package*.json ./
|
|
59
|
+
USER claudia
|
|
60
|
+
RUN npm ci --omit=dev --no-audit --no-fund --cache /tmp/oc-npm-cache \
|
|
61
|
+
&& rm -rf /tmp/oc-npm-cache
|
|
29
62
|
|
|
30
|
-
# Copy app source
|
|
31
|
-
COPY . .
|
|
32
|
-
|
|
33
|
-
# Ensure app files are readable regardless of host file perms
|
|
34
|
-
RUN chmod -R a+rX /app
|
|
63
|
+
# Copy app source (already claudia's: in-place /upgrade overlays it)
|
|
64
|
+
COPY --chown=claudia:claudia . .
|
|
65
|
+
USER root
|
|
35
66
|
|
|
36
67
|
# Expose the open-claudia CLI on PATH so spawned agents can send files, manage tasks, etc.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
# Let the runtime user overlay new source into /app for in-place /upgrade.
|
|
40
|
-
RUN chown -R claudia:claudia /app
|
|
41
|
-
|
|
42
|
-
# Entrypoint auto-configures from env vars on first run
|
|
68
|
+
# Only the two scripts that must be executable are chmod'ed (git tracks both as 755;
|
|
69
|
+
# this keeps it true for checkouts that lost the bit) — not a recursive pass over /app.
|
|
43
70
|
COPY docker-entrypoint.sh /usr/local/bin/
|
|
44
|
-
RUN chmod
|
|
71
|
+
RUN chmod 755 /app/bin/cli.js /usr/local/bin/docker-entrypoint.sh \
|
|
72
|
+
&& ln -s /app/bin/cli.js /usr/local/bin/open-claudia
|
|
45
73
|
|
|
46
74
|
# Set up data directory ownership
|
|
47
75
|
RUN mkdir -p /data/Workspace /data/.open-claudia /data/.claude && \
|
package/package.json
CHANGED
|
@@ -664,10 +664,11 @@ assert.match(pkg.description, /provider-agnostic coding-agent harness/i);
|
|
|
664
664
|
// reset file up and the bot saved the old max/xhigh back. Same approved
|
|
665
665
|
// rollout (Sumeet, 20 Oct: "set high on all the bots"), now working.
|
|
666
666
|
// Sumeet, 31 Oct 08:02 EAT card 6ae574c5: "Release to all bots now, without
|
|
667
|
-
// the Maia rename". 3.5.
|
|
667
|
+
// the Maia rename". 3.5.73 = 3.5.72 + a smaller image (Sumeet 31 Oct 15:06, bot resource plan: "proceed ... roll out the others").
|
|
668
|
+
// 3.5.72 = 3.5.71 + the Mac memory fixes of 22-28 Oct:
|
|
668
669
|
// topic lessons ride with their pack, .env recall pins, prompt fixes, past
|
|
669
670
|
// chats reach recall, settled decisions, /engine x|mem0, nightly retry.
|
|
670
|
-
assert.strictEqual(pkg.version, "3.5.
|
|
671
|
+
assert.strictEqual(pkg.version, "3.5.73", "release version must remain unchanged without explicit approval");
|
|
671
672
|
for (const keyword of ["claude", "codex", "coding-agent", "provider-agnostic"]) {
|
|
672
673
|
assert.ok(pkg.keywords.includes(keyword), `package keyword missing: ${keyword}`);
|
|
673
674
|
}
|