@diegopetrucci/pi-extensions 0.1.74 → 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 +50 -12
- package/extensions/fast/index.ts +513 -317
- 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,12 +44,35 @@ 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
|
|
|
@@ -91,11 +114,26 @@ Anthropic Fast mode supports both API-key and Claude Code OAuth access when the
|
|
|
91
114
|
|
|
92
115
|
```text
|
|
93
116
|
/fast
|
|
117
|
+
/ultrafast
|
|
118
|
+
/fast ultrafast
|
|
94
119
|
```
|
|
95
120
|
|
|
96
|
-
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.
|
|
97
135
|
|
|
98
|
-
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.
|
|
99
137
|
|
|
100
138
|
## Config
|
|
101
139
|
|
|
@@ -123,7 +161,7 @@ Here `<pi-config-dir>` is Pi's runtime config directory name (`CONFIG_DIR_NAME`;
|
|
|
123
161
|
- `enabled`: default Fast-mode state when there is no session override.
|
|
124
162
|
- `showStatus`: show a compact `fast` status when Fast mode is active for the selected model.
|
|
125
163
|
|
|
126
|
-
The unified extension
|
|
164
|
+
The unified extension reads only `fast.json`. It does not read `openai-fast.json` or `claude-fast.json`.
|
|
127
165
|
|
|
128
166
|
## Install
|
|
129
167
|
|
|
@@ -153,7 +191,7 @@ Then reload pi:
|
|
|
153
191
|
|
|
154
192
|
## Legacy provider-specific packages
|
|
155
193
|
|
|
156
|
-
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.
|
|
157
195
|
|
|
158
196
|
## Notes
|
|
159
197
|
|
|
@@ -163,6 +201,6 @@ The collection package loads this unified extension instead of `openai-fast` and
|
|
|
163
201
|
- Codex Fast availability depends on plan, client, workspace settings, and rollout. Local eligibility is not live-provider certification.
|
|
164
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.
|
|
165
203
|
- OpenAI Codex Fast mode intentionally does not affect API-key models.
|
|
166
|
-
-
|
|
204
|
+
- Deprecated `openai-fast` and `claude-fast` packages no longer implement Fast mode. New provider/auth behavior belongs only to this unified extension.
|
|
167
205
|
- Existing `speed` and `service_tier` fields are never overwritten.
|
|
168
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.
|