@pipod/cli 0.1.8 → 0.1.10

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.
@@ -18,7 +18,7 @@
18
18
  Retired config keys fail closed in `validateConfig` (and in `planAccountLaunch`
19
19
  before resolve — covering nested `pi.hostConfig` lists and the machine layer
20
20
  `~/.pi-pod/config.json`, whose only ever-read keys are the template pin,
21
- `secretResolver`, and `pi.chords`/`pi.sessionNaming`) because silently ignoring a
21
+ `secretResolver`, and `pi.chords`/`pi.sessionNaming`/`pi.podExtensions`) because silently ignoring a
22
22
  custom script path would read the wrong file. Server-resident bundles carrying
23
23
  retired keys (old templates) are stripped with a warning on pull and
24
24
  launch-preview — `push` clears them; `diff` strips silently by design (it is
@@ -33,7 +33,7 @@ One deep boundary, `stripNonBundleKeys` (`toOutgoingBundleConfig` for raw files)
33
33
  drops everything a bundle payload must not contain: the rejected keys
34
34
  (`template` — the local pin, a template id travels instead; `reuse`;
35
35
  `envFile`/`initScript`/`bakeScript`; `pi.hostConfig.skills`/`extensions`) plus
36
- client-only metadata (`$schema`, `secretResolver`, `pi.chords`/`pi.sessionNaming`).
36
+ client-only metadata (`$schema`, `secretResolver`, `pi.chords`/`pi.sessionNaming`/`pi.podExtensions`).
37
37
  Covered paths: project/user/org-dir compilation, the launch bootstrap preview,
38
38
  `templates create/edit --config`, and `settings user|org edit|set` — the settings
39
39
  verbs validate the edited config locally first (types and retired keys fail
@@ -58,6 +58,7 @@ explicit `set reuse true` fails visibly rather than vanishing.
58
58
  server-side; `packages` is enforced on both sides (local sanitize/filter plus
59
59
  the server install gate).
60
60
  - `pi.chords` / `pi.sessionNaming` — client-only UI preferences, stripped before anything travels.
61
+ - `pi.podExtensions` — client-only: whether a pod's attested Pi extensions run on this machine without asking (`"ask"` or `"run"`). Read only from `~/.pi-pod/config.json`, so no server layer can choose to run code on someone's machine.
61
62
  - `secretResolver` / `$schema` — client-only op:// resolution config / schema hint; never travel.
62
63
 
63
64
  ## Retained: CLI surface (complete inventory)
@@ -1,4 +1,4 @@
1
- .TH "PIPOD\-CONFIG" "5" "October 2026" "0.1.8"
1
+ .TH "PIPOD\-CONFIG" "5" "October 2026" "0.1.10"
2
2
  .SH "NAME"
3
3
  \fBpipod-config\fR \- pi pod configuration files
4
4
  .SH SYNOPSIS
@@ -94,6 +94,10 @@ pi\.chords keystrokes for /pod commands while attached:
94
94
  "bindings": { "d": "detach", "a": "archive", "s": "status",
95
95
  "l": "list", "w": "switch" } }
96
96
  pi\.sessionNaming "auto" (default) names a session from its first prompt; "off"
97
+ pi\.podExtensions a pod's Pi extensions run on this machine, as you, to render in
98
+ the terminal: "ask" (default) confirms each new extension
99
+ version; "run" runs them without asking (read only from
100
+ ~/\.pi\-pod/config\.json)
97
101
  $schema ignored
98
102
  .fi
99
103
  .RE
@@ -91,6 +91,10 @@ pi.chords keystrokes for /pod commands while attached:
91
91
  "bindings": { "d": "detach", "a": "archive", "s": "status",
92
92
  "l": "list", "w": "switch" } }
93
93
  pi.sessionNaming "auto" (default) names a session from its first prompt; "off"
94
+ pi.podExtensions a pod's Pi extensions run on this machine, as you, to render in
95
+ the terminal: "ask" (default) confirms each new extension
96
+ version; "run" runs them without asking (read only from
97
+ ~/.pi-pod/config.json)
94
98
  $schema ignored
95
99
  ```
96
100
 
package/man/pipod.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH "PIPOD" "1" "October 2026" "0.1.8"
1
+ .TH "PIPOD" "1" "October 2026" "0.1.10"
2
2
  .SH "NAME"
3
3
  \fBpipod\fR \- run pi coding\-agent sessions in server\-managed pods
4
4
  .SH SYNOPSIS
@@ -501,7 +501,7 @@ precedes the confirmation; nothing is written when the two already match\.
501
501
 
502
502
  What pull keeps from the local files:
503
503
  config\.json client\-only keys: $schema, template, secretResolver,
504
- pi\.chords, pi\.sessionNaming
504
+ pi\.chords, pi\.sessionNaming, pi\.podExtensions
505
505
  settings\.json hooks and mcpServers (and packages when hostConfig\.packages
506
506
  is off)
507
507
  models\.json credential values the push had dropped
package/man/pipod.1.md CHANGED
@@ -493,7 +493,7 @@ precedes the confirmation; nothing is written when the two already match.
493
493
 
494
494
  What pull keeps from the local files:
495
495
  config.json client-only keys: $schema, template, secretResolver,
496
- pi.chords, pi.sessionNaming
496
+ pi.chords, pi.sessionNaming, pi.podExtensions
497
497
  settings.json hooks and mcpServers (and packages when hostConfig.packages
498
498
  is off)
499
499
  models.json credential values the push had dropped
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipod/cli",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Run pi coding-agent sessions in server-managed pods",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0-only",
@@ -20,6 +20,10 @@
20
20
  "w": "switch"
21
21
  }
22
22
  },
23
- "sessionNaming": "auto"
23
+ "sessionNaming": "auto",
24
+
25
+ // A pod's Pi extensions run on this machine, as you, to render in your terminal. "ask"
26
+ // confirms each new extension version; "run" runs them all without asking.
27
+ "podExtensions": "ask"
24
28
  }
25
29
  }