pi-courier 0.1.13 → 0.1.14
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/deploy/docker/Dockerfile +7 -2
- package/deploy/docker/README.md +6 -1
- package/dist/lock.d.ts.map +1 -1
- package/dist/lock.js +3 -4
- package/dist/lock.js.map +1 -1
- package/package.json +1 -1
package/deploy/docker/Dockerfile
CHANGED
|
@@ -20,14 +20,19 @@ ARG HTTP_PROXY=
|
|
|
20
20
|
ENV https_proxy=${HTTPS_PROXY} \
|
|
21
21
|
http_proxy=${HTTP_PROXY}
|
|
22
22
|
|
|
23
|
+
# pi-courier 版本:发新版本后更新此值 —— RUN 层指令文本随之变化,
|
|
24
|
+
# docker 缓存自动失效,不会装到旧版(避免"升级了但镜像还是旧代码"的坑)
|
|
25
|
+
ARG PI_COURIER_VERSION=0.1.14
|
|
26
|
+
|
|
23
27
|
# 仅需要 ca-certificates(npm install 走 https;git 由 runtime 层负责)
|
|
24
28
|
RUN apt-get update \
|
|
25
29
|
&& apt-get install -y --no-install-recommends ca-certificates \
|
|
26
30
|
&& rm -rf /var/lib/apt/lists/*
|
|
27
31
|
|
|
28
|
-
# 安装 pi 与 pi-courier(pi 先装,pi-courier 的 peer
|
|
32
|
+
# 安装 pi 与 pi-courier(pi 先装,pi-courier 的 peer 依赖即满足;
|
|
33
|
+
# 版本由上方 ARG PI_COURIER_VERSION 固定,避免层缓存装到旧版);
|
|
29
34
|
# 安装后清 npm 缓存(此层最终不会进入 runtime 镜像)
|
|
30
|
-
RUN npm install -g @earendil-works/pi-coding-agent pi-courier \
|
|
35
|
+
RUN npm install -g @earendil-works/pi-coding-agent pi-courier@${PI_COURIER_VERSION} \
|
|
31
36
|
&& npm cache clean --force
|
|
32
37
|
|
|
33
38
|
# ============================== runtime ======================================
|
package/deploy/docker/README.md
CHANGED
|
@@ -88,8 +88,13 @@ docker logs pi-courier # 应看到 ✅ Matrix connected + ✅ pi RPC connec
|
|
|
88
88
|
# 方式 A:容器内自更新(npm 全局方式)
|
|
89
89
|
docker exec pi-courier pi-courier update
|
|
90
90
|
|
|
91
|
-
# 方式 B:重建镜像
|
|
91
|
+
# 方式 B:重建镜像(Dockerfile 里 PI_COURIER_VERSION 已更新到新版时)
|
|
92
92
|
git pull && docker compose build && docker compose up -d
|
|
93
|
+
|
|
94
|
+
# 注意:升级 pi-courier 后,确保 Dockerfile 顶部的
|
|
95
|
+
# ARG PI_COURIER_VERSION 已是新版本号 —— 该值变了 npm 层缓存自动失效;
|
|
96
|
+
# 若确认 Dockerfile 没动但想强制装最新版,用:
|
|
97
|
+
# docker compose build --no-cache
|
|
93
98
|
```
|
|
94
99
|
|
|
95
100
|
### 7. 映射宿主机项目目录(可选)
|
package/dist/lock.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAsBA,wBAAgB,WAAW,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAsBA,wBAAgB,WAAW,IAAI,OAAO,CAmCrC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAgBlC"}
|
package/dist/lock.js
CHANGED
|
@@ -26,10 +26,6 @@ export function acquireLock() {
|
|
|
26
26
|
if (fs.existsSync(LOCK_PATH)) {
|
|
27
27
|
const raw = fs.readFileSync(LOCK_PATH, "utf-8").trim().split(":");
|
|
28
28
|
const pid = parseInt(raw[0], 10);
|
|
29
|
-
const owner = raw[1] ?? "";
|
|
30
|
-
if (!Number.isNaN(pid) && pid === process.pid && owner !== instanceId) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
29
|
if (!Number.isNaN(pid) && pid !== process.pid) {
|
|
34
30
|
try {
|
|
35
31
|
process.kill(pid, 0); // throws if process does not exist
|
|
@@ -39,6 +35,9 @@ export function acquireLock() {
|
|
|
39
35
|
// stale lock from a dead process — overwrite below
|
|
40
36
|
}
|
|
41
37
|
}
|
|
38
|
+
// pid === process.pid: PID reuse or our own leftover lock. A process
|
|
39
|
+
// can't be a live competitor to itself, and containers restart with
|
|
40
|
+
// the main process as PID 1 every time — so take over the lock.
|
|
42
41
|
}
|
|
43
42
|
const configDir = path.join(os.homedir(), ".pi");
|
|
44
43
|
if (!fs.existsSync(configDir)) {
|
package/dist/lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;GAQG;AAEH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAEpE,MAAM,CAAC,GAAG,MAAa,CAAC;AACxB,IAAI,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC7B,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AACD,MAAM,UAAU,GAAW,CAAC,CAAC,qBAAqB,CAAC;AAEnD,MAAM,UAAU,WAAW;IACzB,gDAAgD;IAChD,IAAI,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED