pi-plus 0.1.19 → 0.1.20
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/CHANGELOG.md +2 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/pipi.js +36 -37
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
### Added
|
|
6
6
|
|
|
7
7
|
- The `/init` command (shared core, `packages/plus/src/extensions/init/`): analyzes the codebase and creates `PI.md` at the cwd root, or suggests improvements when it already exists; `PI.md` is auto-loaded into every session.
|
|
8
|
+
- `pipi profile add <name> -p <provider>` with no token/model/url/thinking/--set now invokes that provider's interactive login after saving the profile: the OAuth login page opens in the browser (or the API-key setup prompts run in the terminal) and the credential is persisted into the profile's isolated agent dir (`~/.pi/pi-hub/profiles/<name>/auth.json`), so the profile is ready to launch. A cancelled or failed login keeps the profile and suggests `pipi profile update <name> -t <key>`. The CLI injects the flow via hub's `dispatchHubCommand` `login` hook; the flow itself lives in the shared core (`packages/plus/src/auth/login.ts`).
|
|
9
|
+
- The interactive TUI's `/login` is disabled: it shows a status line pointing at `pipi profile add <name> -p <provider>` instead of starting the login flow, and it no longer appears in autocomplete or `/help` (via the `interactive-mode` and `slash-commands` redirect wrappers in the shared core).
|
|
8
10
|
|
|
9
11
|
### Changed
|
|
10
12
|
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ The context-detection/compaction/reasoning overrides and the nine non-TUI extens
|
|
|
15
15
|
(subagent, tasks, memory, plan, ask-user, hooks, context-guard, /cd, /init) live in
|
|
16
16
|
[`../plus`](../plus) and are shared with the SDK. This package adds the CLI-only pieces:
|
|
17
17
|
|
|
18
|
-
1. **Hub profiles** (`src/coding-agent/main.ts` wrapper, backed by `@earendil-works/pi-hub` = [`../hub`](../hub)) — named pi profiles (provider/models/thinking/token/base URL) stored in `~/.pi/profiles.json`, materialized into isolated agent dirs under `~/.pi/pi-hub/profiles/<name>/`. Adds `pipi profile …`, `pipi use` / `pipi unuse`, and the `pipi --as <name>` flag. The wrapper resolves the profile, sets `PI_CODING_AGENT_DIR` in-process (read lazily by `getAgentDir()`), and delegates to the original `main`.
|
|
18
|
+
1. **Hub profiles** (`src/coding-agent/main.ts` wrapper, backed by `@earendil-works/pi-hub` = [`../hub`](../hub)) — named pi profiles (provider/models/thinking/token/base URL) stored in `~/.pi/profiles.json`, materialized into isolated agent dirs under `~/.pi/pi-hub/profiles/<name>/`. Adds `pipi profile …`, `pipi use` / `pipi unuse`, and the `pipi --as <name>` flag. The wrapper resolves the profile, sets `PI_CODING_AGENT_DIR` in-process (read lazily by `getAgentDir()`), and delegates to the original `main`. `pipi profile add <name> -p <provider>` with no credential invokes the provider's interactive login (OAuth page / API-key setup) against the profile dir via hub's injected `login` hook, using `loginProvider` from [`../plus`](../plus)`/src/auth/login.ts`; the TUI `/login` is disabled by core redirect wrappers in favour of this flow.
|
|
19
19
|
2. **Shell completion** (`src/completion/`) — `pipi completion <bash|zsh>` prints a completion script covering the whole CLI: hub subcommands (with dynamic profile/model names from `~/.pi/profiles.json`) plus pi's native commands and flags.
|
|
20
20
|
3. **Usage print** (`src/coding-agent/cli/args.ts` wrapper) — `pipi --help` gains a "Profile commands (pi-plus)" section.
|
|
21
21
|
4. **Welcome banner** (`src/coding-agent/ui/banner.ts`) — pipi's TUI startup header is a CC-style banner with a block-character π+ mark: condensed logo by default, boxed variant with Extensions/Skills feeds, compact/plain degradation on narrow terminals, `resumed <id> · <title>` on resume/fork.
|