Files
pi/package.json
EislM0203andClaude Opus 4.7 4f387a278b add S3-backed config + memory sync extension
New extensions/sync/ that bidirectionally syncs ~/.pi/agent/ configs +
memories with an S3 bucket so fresh OpenShell sandboxes (or new laptops)
boot with existing pi state.

- Allowlist: settings.json, k8s.json, websearch.json, custom-providers.json,
  hosts.json, local-models.json, memory/**. Excludes auth.json
  (provider API keys; injected per-sandbox).
- Per-file last-write-wins by real mtime carried in x-amz-meta-pi-mtime;
  1s clock-jitter tolerance.
- Per-machine ~/.pi/agent/.sync-manifest.json records what was last seen
  on S3 so auto-prune can't wipe a concurrent laptop's data.
- Manual /sync command opens a TUI panel; subcommands /sync pull, push,
  prune, status work without the panel.
- session_start auto-pulls (5s soft timeout, non-blocking).
- session_shutdown auto-prunes then auto-pushes (10s hard timeout).
- Config via PI_AWS_* env vars only (chicken/egg: nothing to bootstrap).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 22:01:58 +02:00

44 lines
967 B
JSON

{
"name": "pi-customizations",
"version": "0.1.0",
"description": "Personal pi coding agent customizations: subagent + custom-providers extensions, agents, prompt templates",
"private": true,
"keywords": [
"pi-package"
],
"pi": {
"extensions": [
"./extensions"
],
"prompts": [
"./prompts"
]
},
"engines": {
"node": ">=18"
},
"scripts": {
"test": "vitest --run",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@aws-sdk/client-s3": "3.1057.0",
"@mozilla/readability": "^0.5.0",
"linkedom": "^0.18.0",
"turndown": "^7.2.0",
"turndown-plugin-gfm": "^1.0.2"
},
"peerDependencies": {
"@earendil-works/pi-agent-core": "*",
"@earendil-works/pi-ai": "*",
"@earendil-works/pi-coding-agent": "*",
"@earendil-works/pi-tui": "*",
"typebox": "*"
},
"devDependencies": {
"@types/turndown": "^5.0.6",
"typescript": "^6.0.3",
"vitest": "^3.2.4"
}
}