@diegopetrucci/pi-extensions 0.1.73 → 0.1.76
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/LICENSE +2 -0
- package/README.md +9 -4
- package/extensions/agent-workflow-audit/index.ts +1398 -1009
- package/extensions/agent-workflow-audit/package.json +1 -1
- package/extensions/annotate-git-diff/README.md +3 -1
- package/extensions/annotate-git-diff/clipboard.ts +109 -100
- package/extensions/annotate-git-diff/git.ts +853 -767
- package/extensions/annotate-git-diff/glimpseui.d.ts +87 -78
- package/extensions/annotate-git-diff/index.ts +712 -671
- package/extensions/annotate-git-diff/package.json +1 -1
- package/extensions/annotate-git-diff/prompt.ts +45 -45
- package/extensions/annotate-git-diff/quiet-glimpse.ts +161 -155
- package/extensions/annotate-git-diff/review-server.ts +337 -311
- package/extensions/annotate-git-diff/types.ts +132 -132
- package/extensions/annotate-git-diff/ui.ts +27 -27
- package/extensions/annotate-git-diff/watch.ts +74 -74
- package/extensions/annotate-git-diff/web/app.js +1947 -1884
- package/extensions/annotate-git-diff/web/index.html +5 -6
- package/extensions/annotate-last-message/README.md +1 -1
- package/extensions/annotate-last-message/glimpseui.d.ts +87 -78
- package/extensions/annotate-last-message/index.ts +210 -206
- package/extensions/annotate-last-message/package.json +1 -1
- package/extensions/annotate-last-message/prompt.ts +87 -66
- package/extensions/annotate-last-message/quiet-glimpse.ts +161 -155
- package/extensions/annotate-last-message/session.ts +94 -89
- package/extensions/annotate-last-message/theme.ts +199 -193
- package/extensions/annotate-last-message/types.ts +23 -23
- package/extensions/annotate-last-message/ui.ts +27 -25
- package/extensions/annotate-last-message/web/app.js +4 -7
- package/extensions/annotate-last-message/web/md-renderer.js +1 -1
- package/extensions/brrr/README.md +1 -1
- package/extensions/brrr/index.ts +213 -191
- package/extensions/brrr/package.json +1 -1
- package/extensions/claude-fast/README.md +5 -79
- package/extensions/claude-fast/index.ts +31 -289
- package/extensions/claude-fast/package.json +2 -3
- package/extensions/code-reviewer/README.md +1 -1
- package/extensions/code-reviewer/index.ts +1598 -1350
- package/extensions/code-reviewer/package.json +1 -1
- package/extensions/confirm-destructive/README.md +1 -1
- package/extensions/confirm-destructive/index.ts +55 -51
- package/extensions/confirm-destructive/package.json +1 -1
- package/extensions/context-cap/index.ts +312 -304
- package/extensions/context-cap/package.json +1 -1
- package/extensions/context-inspector/index.ts +1211 -1064
- package/extensions/context-inspector/package.json +1 -1
- package/extensions/contrarian/index.ts +1854 -1735
- package/extensions/contrarian/package.json +1 -1
- package/extensions/dirty-repo-guard/index.ts +41 -41
- package/extensions/dynamic-context-pruning/README.md +6 -38
- package/extensions/dynamic-context-pruning/index.ts +2124 -1980
- package/extensions/dynamic-context-pruning/package.json +1 -1
- package/extensions/fast/README.md +71 -21
- package/extensions/fast/index.ts +513 -313
- package/extensions/fast/package.json +1 -1
- package/extensions/git-footer/README.md +1 -1
- package/extensions/git-footer/index.ts +458 -411
- package/extensions/git-footer/package.json +2 -3
- package/extensions/gnosis/index.ts +180 -130
- package/extensions/gnosis/package.json +1 -1
- package/extensions/inline-bash/index.ts +88 -88
- package/extensions/inline-bash/package.json +1 -1
- package/extensions/librarian/index.ts +1669 -1419
- package/extensions/librarian/package.json +1 -1
- package/extensions/minimal-footer/index.ts +994 -1012
- package/extensions/minimal-footer/openai-usage.ts +195 -190
- package/extensions/notify/index.ts +222 -230
- package/extensions/notify/package.json +1 -1
- package/extensions/openai-fast/README.md +5 -73
- package/extensions/openai-fast/index.ts +32 -272
- package/extensions/openai-fast/package.json +2 -3
- package/extensions/oracle/index.ts +1731 -1625
- package/extensions/oracle/package.json +1 -1
- package/extensions/permission-gate/index.ts +658 -608
- package/extensions/permission-gate/package.json +1 -1
- package/extensions/permission-gate/powershell-safety.ts +840 -793
- package/extensions/project-mcp-json/.pi-fleet-tested-version +1 -0
- package/extensions/project-mcp-json/README.md +199 -0
- package/extensions/project-mcp-json/config.ts +564 -0
- package/extensions/project-mcp-json/index.ts +119 -0
- package/extensions/project-mcp-json/package.json +38 -0
- package/extensions/quiet-tools/index.ts +282 -264
- package/extensions/review/README.md +2 -2
- package/extensions/review/index.ts +1745 -1872
- package/extensions/review/package.json +1 -1
- package/extensions/todo/index.ts +284 -265
- package/extensions/triage-comments/README.md +2 -2
- package/extensions/triage-comments/index.ts +2294 -1882
- package/extensions/triage-comments/package.json +1 -1
- package/package.json +6 -3
- package/assets/social-preview.png +0 -0
- package/extensions/claude-fast/claude-fast.example.json +0 -4
- package/extensions/openai-fast/openai-fast.example.json +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# fast
|
|
2
2
|
|
|
3
|
-
A pi extension that provides
|
|
3
|
+
A pi extension that provides `/fast` and `/ultrafast` toggles for supported direct OpenAI API, OpenAI Codex, and Anthropic Claude models. It selects the provider-specific Fast-mode request shape from the currently selected model.
|
|
4
4
|
|
|
5
5
|
For eligible direct OpenAI API models it injects:
|
|
6
6
|
|
|
@@ -44,27 +44,62 @@ Direct OpenAI API Fast mode requires all of the following:
|
|
|
44
44
|
|
|
45
45
|
The direct OpenAI route stays on OpenAI's direct API contract for both API-key
|
|
46
46
|
auth and Pi's `openai` ChatGPT OAuth. Acceptance of `service_tier: "fast"` by
|
|
47
|
-
Pi's `openai` ChatGPT OAuth sign-in endpoint has not been live-verified
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
Pi's `openai` ChatGPT OAuth sign-in endpoint has not been live-verified.
|
|
48
|
+
This direct route is never forwarded to legacy `openai-codex` or its
|
|
49
|
+
subscription-usage endpoint. The documented request shape is support evidence,
|
|
50
|
+
not live certification; this change was validated only with mocked eligibility
|
|
51
|
+
and request payloads, not live or paid provider calls.
|
|
52
|
+
|
|
53
|
+
### Ultrafast support (initial, fail-closed)
|
|
54
|
+
|
|
55
|
+
Ultrafast is intentionally narrower than ordinary Fast mode. It requires all of
|
|
56
|
+
the following on every activation and provider request:
|
|
57
|
+
|
|
58
|
+
- Provider `openai`.
|
|
59
|
+
- API `openai-responses`.
|
|
60
|
+
- Model `gpt-6-astra`.
|
|
61
|
+
- Direct API-key auth, not Codex OAuth or direct OpenAI OAuth.
|
|
62
|
+
- Base URL exactly `https://api.openai.com/v1` (a single trailing slash is also accepted).
|
|
63
|
+
|
|
64
|
+
It does not support Chat Completions, preview models, regional or proxy endpoints,
|
|
65
|
+
or Anthropic Ultrafast. Eligible payloads receive the requested
|
|
66
|
+
`service_tier: "ultrafast"` only when they do not already contain a
|
|
67
|
+
`service_tier` field. Existing values and mismatched/malformed payloads are left
|
|
68
|
+
untouched. The extension reports a requested tier; it does not claim that OpenAI
|
|
69
|
+
accepted or applied it, and it never silently falls back to ordinary Fast.
|
|
70
|
+
|
|
71
|
+
OpenAI documents this request shape in the [Ultrafast API guide](https://developers.openai.com/api/docs/guides/ultrafast-mode)
|
|
72
|
+
and lists the account/model pricing in its [API pricing](https://developers.openai.com/api/docs/pricing).
|
|
73
|
+
Actual Ultrafast API pricing is **6x Standard**, while Pi's current cost display
|
|
74
|
+
omits that premium. Treat the activation warning as a deliberate paid-usage
|
|
75
|
+
warning.
|
|
53
76
|
|
|
54
77
|
OpenAI Codex Fast mode requires all of the following:
|
|
55
78
|
|
|
56
79
|
- Provider `openai-codex`.
|
|
57
80
|
- API `openai-codex-responses`.
|
|
58
|
-
- Model `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`,
|
|
81
|
+
- Model `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6.1-sol`, `gpt-6-sol`, or `gpt-6-luna`.
|
|
59
82
|
- ChatGPT OAuth/subscription auth, not API-key auth.
|
|
60
83
|
- No existing `service_tier` field in the request payload.
|
|
61
84
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
85
|
+
Codex evidence, 2026-10-03: the [maintainer's PR #103 review](https://github.com/diegopetrucci/pi-extensions/pull/103)
|
|
86
|
+
reports that the Codex model list advertises Fast as `priority` for `gpt-6-astra`,
|
|
87
|
+
`gpt-6.1-sol`, `gpt-6-sol`, and `gpt-6-luna`. The official Codex CLI
|
|
88
|
+
[sends Fast as `priority`](https://github.com/openai/codex/blob/b741e480e203f037ca726bc2a76d99a8e8668e66/codex-rs/protocol/src/config_types.rs#L539-L553).
|
|
89
|
+
The maintainer's live check through Pi 1.0.0 on that date returned HTTP 200 and
|
|
90
|
+
completed normally for `gpt-6-astra` and `gpt-6.1-sol`; `gpt-6-sol` and
|
|
91
|
+
`gpt-6-luna` are enabled based on the model list only. In that check,
|
|
92
|
+
`response.completed` always reported `service_tier: "default"`, with or without
|
|
93
|
+
`priority`, so the response cannot confirm Fast was applied.
|
|
94
|
+
|
|
95
|
+
Pi trusts the requested tier and applies a 2× multiplier to its displayed cost
|
|
96
|
+
estimate for `priority`; this does not measure included subscription allowance
|
|
97
|
+
consumption or confirm Fast was applied. [OpenAI's Codex speed documentation](https://developers.openai.com/codex/speed),
|
|
98
|
+
checked on 2026-10-03, lists `gpt-6-sol` and `gpt-6-luna` among supported Fast
|
|
99
|
+
models where available. It specifies 2.5× the Standard rate for included
|
|
100
|
+
subscription limits and 2× for purchased credits and Enterprise pay-as-you-go
|
|
101
|
+
billing. Treating Pi's 2× estimate as a subscription-limit multiplier would
|
|
102
|
+
understate the documented allowance consumption.
|
|
68
103
|
|
|
69
104
|
Anthropic Fast mode requires all of the following:
|
|
70
105
|
|
|
@@ -79,11 +114,26 @@ Anthropic Fast mode supports both API-key and Claude Code OAuth access when the
|
|
|
79
114
|
|
|
80
115
|
```text
|
|
81
116
|
/fast
|
|
117
|
+
/ultrafast
|
|
118
|
+
/fast ultrafast
|
|
82
119
|
```
|
|
83
120
|
|
|
84
|
-
Run `/fast` to toggle Fast mode for the current session/runtime. The
|
|
121
|
+
Run `/fast` to toggle ordinary Fast mode for the current session/runtime. The
|
|
122
|
+
enabled state follows model changes: switching between eligible OpenAI and
|
|
123
|
+
Anthropic models automatically changes the request format without resetting the
|
|
124
|
+
toggle. The footer shows `fast` only while the selected model is eligible and
|
|
125
|
+
Fast mode is enabled.
|
|
126
|
+
|
|
127
|
+
`/ultrafast` and `/fast ultrafast` are equivalent toggles for the session-only
|
|
128
|
+
Ultrafast override. Ultrafast defaults off, is never enabled by global or project
|
|
129
|
+
configuration, and can be undone with either command. Running ordinary `/fast`
|
|
130
|
+
while Ultrafast is selected turns Ultrafast off rather than silently switching to
|
|
131
|
+
another paid tier. Switching to an unsupported model or endpoint disables
|
|
132
|
+
Ultrafast and does not re-enable it when `gpt-6-astra` is selected again. The
|
|
133
|
+
footer uses `ultrafast` while an eligible request is selected; status text says
|
|
134
|
+
that the tier is requested, not remotely applied.
|
|
85
135
|
|
|
86
|
-
The extension defaults to off so installing the full collection does not accidentally spend Fast-mode credits.
|
|
136
|
+
The extension defaults to off so installing the full collection does not accidentally spend Fast-mode credits. Ultrafast verification is mocked-only: tests use local eligibility checks, fake payloads, and a fake fetch through Pi's `openai-responses` `streamSimple`; they make no live or paid provider requests.
|
|
87
137
|
|
|
88
138
|
## Config
|
|
89
139
|
|
|
@@ -111,7 +161,7 @@ Here `<pi-config-dir>` is Pi's runtime config directory name (`CONFIG_DIR_NAME`;
|
|
|
111
161
|
- `enabled`: default Fast-mode state when there is no session override.
|
|
112
162
|
- `showStatus`: show a compact `fast` status when Fast mode is active for the selected model.
|
|
113
163
|
|
|
114
|
-
The unified extension
|
|
164
|
+
The unified extension reads only `fast.json`. It does not read `openai-fast.json` or `claude-fast.json`.
|
|
115
165
|
|
|
116
166
|
## Install
|
|
117
167
|
|
|
@@ -141,16 +191,16 @@ Then reload pi:
|
|
|
141
191
|
|
|
142
192
|
## Legacy provider-specific packages
|
|
143
193
|
|
|
144
|
-
The collection package loads this unified extension
|
|
194
|
+
The collection package loads this unified extension only (`extensions/fast/index.ts`). `openai-fast` and `claude-fast` remain published as deprecated standalone leftovers. On session start they warn, clear their leftover footer status, and remove `fast-mode-2026-02-01` from the current model header. They do not read config, register commands, or inject Fast fields into requests.
|
|
145
195
|
|
|
146
196
|
## Notes
|
|
147
197
|
|
|
148
198
|
- Anthropic Fast mode has separate rate limits, costs more than standard speed, and does not share prompt-cache prefixes with standard-speed requests.
|
|
149
199
|
- Direct OpenAI Fast mode is limited to the confirmed GPT-6 API models above; Fast pricing, availability, and rate limits remain provider- and account-dependent.
|
|
150
200
|
- Authoritative support evidence: [OpenAI Fast mode](https://developers.openai.com/api/docs/guides/fast-mode) explicitly uses `gpt-6.1-sol` with `service_tier: "fast"` and documents `priority` as an equivalent alias for supported API models; the [GPT-6.1 Sol model page](https://developers.openai.com/api/docs/models/gpt-6.1-sol) documents the model itself.
|
|
151
|
-
-
|
|
201
|
+
- Codex Fast availability depends on plan, client, workspace settings, and rollout. Local eligibility is not live-provider certification.
|
|
152
202
|
- Pi's provider catalog remains the source of reported model pricing, including any tiered pricing; this extension does not apply guessed discounts or rewrite cost metadata.
|
|
153
|
-
- OpenAI Codex Fast mode intentionally does not affect API-key models
|
|
154
|
-
-
|
|
203
|
+
- OpenAI Codex Fast mode intentionally does not affect API-key models.
|
|
204
|
+
- Deprecated `openai-fast` and `claude-fast` packages no longer implement Fast mode. New provider/auth behavior belongs only to this unified extension.
|
|
155
205
|
- Existing `speed` and `service_tier` fields are never overwritten.
|
|
156
206
|
- Pi's model catalog may not include a Fast-mode premium. Cost accounting depends on the provider reporting the effective tier in its streamed response, and this extension does not patch usage totals.
|