peertable 0.3.10 → 0.3.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peertable",
3
- "version": "0.3.10",
3
+ "version": "0.3.11",
4
4
  "description": "A round table of peer agents. No orchestrator at the head. Turn Claude Code sessions into a team of equal, long-lived peers.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/room/client.mjs CHANGED
@@ -11,7 +11,7 @@ import { fileURLToPath } from 'node:url'
11
11
 
12
12
  // client.mjs 側のハードコード版数。package.json の version と一致していることを
13
13
  // diagnostics の version_consistency が見る(2 つの版数源の drift 検出。決定45)
14
- const MCP_VERSION = '0.3.10'
14
+ const MCP_VERSION = '0.3.11'
15
15
  const PKG_ROOT = join(dirname(fileURLToPath(import.meta.url)), '..')
16
16
 
17
17
  const USAGE = `usage:
@@ -16,7 +16,7 @@ if (!session_id || (!model && !reasoning_effort)) {
16
16
  // Aiterm のmanaged session metadataは実行時state root(macOSではTMPDIR)にある。
17
17
  // stdio transportの既定環境は親のTMPDIRを落とすため、同じ公開serverへ明示継承する。
18
18
  const transport = new StdioClientTransport({ command: 'aiterm-mcp', env: process.env })
19
- const client = new Client({ name: 'peertable-seat-configure', version: '0.3.10' })
19
+ const client = new Client({ name: 'peertable-seat-configure', version: '0.3.11' })
20
20
  await client.connect(transport)
21
21
  const result = await client.callTool({
22
22
  name: 'agent_configure',
@@ -8,8 +8,17 @@ if (!session_name || !['claude', 'codex'].includes(vendor) || !model || !reasoni
8
8
  throw new Error('SEAT_AITERM_LAUNCH_ARGS_INVALID')
9
9
  }
10
10
 
11
- const client = new Client({ name: 'peertable-seat-launch', version: '0.3.10' })
11
+ const client = new Client({ name: 'peertable-seat-launch', version: '0.3.11' })
12
12
  await client.connect(new StdioClientTransport({ command: 'aiterm-mcp', env: process.env }))
13
+ const env_vars = [
14
+ 'PEERTABLE_URL', 'PEERTABLE_ROOM', 'PEERTABLE_MEMBER', 'PEERTABLE_CREDENTIAL_FILE',
15
+ 'PEERTABLE_VENDOR', 'PEERTABLE_MODEL', 'PEERTABLE_EFFORT', 'PEERTABLE_ROLE',
16
+ 'PEERTABLE_TMUX_SOCKET',
17
+ ]
18
+ if (process.env.PEERTABLE_PLAN) env_vars.push(
19
+ 'PEERTABLE_PLAN', 'LATTICE_CLI', 'LATTICE_TODO_ACTOR_HOST',
20
+ 'LATTICE_TODO_ACTOR_SESSION', 'LATTICE_TODO_ACTOR_AGENT',
21
+ )
13
22
  const result = await client.callTool({
14
23
  name: `${vendor}_agent`,
15
24
  arguments: {
@@ -17,6 +26,7 @@ const result = await client.callTool({
17
26
  cwd,
18
27
  model,
19
28
  reasoning_effort,
29
+ env_vars,
20
30
  ...(prompt ? { prompt } : {}),
21
31
  },
22
32
  })
@@ -21,6 +21,9 @@
21
21
  # evidence verifier は descriptor.path の working tree 実在を見ず、object DB の blob と digest、
22
22
  # 読み出し時の `rev-list --all` 到達性を見る(mio が実 repo で確認・room [1016])。
23
23
  set -e
24
+ # LatticeのJSONをcommand substitutionで受けるため、親shellの色指定を持ち込まない。
25
+ unset FORCE_COLOR
26
+ export NO_COLOR=1
24
27
 
25
28
  show_usage() {
26
29
  cat <<'USAGE'
@@ -344,7 +347,7 @@ if [ "$already_done" = no ]; then
344
347
  # 無い時だけ PATH を使う(bridge の `--lattice` / teardown の `LATTICE_CLI` と同じ選択規律)。
345
348
  done_output=""
346
349
  done_rc=0
347
- done_output=$("$done_gate_cli" todo done --plan "$plan" --task "$t" --evidence "$tmp" --test-result "$test_result_tmp" 2>&1) || done_rc=$?
350
+ done_output=$("$done_gate_cli" todo done --plan "$plan" --task "$t" --evidence "$tmp" --test-result "$test_result_tmp" --commit-store 2>&1) || done_rc=$?
348
351
  printf '%s\n' "$done_output"
349
352
  [ "$done_rc" -eq 0 ] || exit "$done_rc"
350
353
  rm -f "$tmp" "$test_result_tmp"
@@ -366,31 +369,14 @@ task_status=$(task_field status 2>&1) || {
366
369
  exit 1
367
370
  }
368
371
 
369
- # 完了の定義は「repo 内の変更は push まで」。done を打つ瞬間はそれが成り立っていなければ
370
- # ならない唯一の時点で、かつ全員が必ず通る場所である。publish 経路の機械 gate は tarball
371
- # しか見ないので、docs・証跡・experiments はその外側にある——黙ると誰も見ていない場所へ
372
- # 成果物が取り残される(2026-08-08 実測。卓の全員が立っていた穴で、親の監査が見つけた)。
373
- # 出すだけで止めない: push 既定でない repo も、まとめて push する運用も壊さないため。
374
- # upstream 未設定・git 管理外でも done.sh 自体は死なせない(set -e の下なので必ずガードする)。
372
+ # pushは工程closeの前提ではない。upstreamがある時だけ未push件数を案内する。
375
373
  upstream_ref=$(git rev-parse --abbrev-ref --symbolic-full-name '@{u}' 2>/dev/null || true)
376
- [ -n "$upstream_ref" ] || {
377
- echo "ERROR: 完了処理を続けられない: canonical upstream が無い" >&2
378
- exit 1
379
- }
380
- unpushed=$(git rev-list --count "${upstream_ref}..HEAD" 2>/dev/null || true)
381
- [ -n "$unpushed" ] || {
382
- echo "ERROR: 完了処理を続けられない: canonical landing 状態を読めない" >&2
383
- exit 1
384
- }
385
- if [ "$unpushed" != 0 ]; then
386
- echo "未push ${unpushed}本: この done の成果物はまだ upstream へ着地していない" >&2
387
- echo "ERROR: 完了処理を続けられない: canonical landing 不足" >&2
388
- exit 1
374
+ if [ -n "$upstream_ref" ]; then
375
+ unpushed=$(git rev-list --count "${upstream_ref}..HEAD" 2>/dev/null || true)
376
+ if [ -n "$unpushed" ] && [ "$unpushed" != 0 ]; then
377
+ echo "未push ${unpushed}本: この done の成果物はまだ upstream へ着地していない" >&2
378
+ fi
389
379
  fi
390
- git merge-base --is-ancestor HEAD "$upstream_ref" || {
391
- echo "ERROR: 完了処理を続けられない: HEAD が canonical upstream の祖先でない" >&2
392
- exit 1
393
- }
394
380
 
395
381
  # pull run を使った task は、accept 済みで、かつこの task の receipt が
396
382
  # canonical branch へ着地したことまで確認する。別 task の未着地だけでは