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.
@@ -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 ======================================
@@ -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. 映射宿主机项目目录(可选)
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAsBA,wBAAgB,WAAW,IAAI,OAAO,CAoCrC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAgBlC"}
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":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-courier",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Run pi coding agent from Matrix. Slash commands, skills and prompts fully work from messengers via the RPC protocol.",
5
5
  "type": "module",
6
6
  "main": "dist/standalone.js",