@diegopetrucci/pi-extensions 0.1.63 → 0.1.65
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/.pi-fleet-tested-version +1 -1
- package/README.md +6 -5
- package/extensions/agent-workflow-audit/.pi-fleet-tested-version +1 -1
- package/extensions/agent-workflow-audit/package.json +1 -1
- package/extensions/annotate-git-diff/.pi-fleet-tested-version +1 -1
- package/extensions/annotate-git-diff/package.json +1 -1
- package/extensions/annotate-last-message/.pi-fleet-tested-version +1 -1
- package/extensions/annotate-last-message/package.json +1 -1
- package/extensions/brrr/.pi-fleet-tested-version +1 -1
- package/extensions/brrr/package.json +1 -1
- package/extensions/claude-fast/.pi-fleet-tested-version +1 -1
- package/extensions/claude-fast/README.md +1 -1
- package/extensions/claude-fast/index.ts +2 -2
- package/extensions/claude-fast/package.json +1 -1
- package/extensions/code-reviewer/.pi-fleet-tested-version +1 -1
- package/extensions/code-reviewer/package.json +1 -1
- package/extensions/confirm-destructive/.pi-fleet-tested-version +1 -1
- package/extensions/confirm-destructive/package.json +1 -1
- package/extensions/context-cap/.pi-fleet-tested-version +1 -1
- package/extensions/context-cap/package.json +1 -1
- package/extensions/context-inspector/.pi-fleet-tested-version +1 -1
- package/extensions/context-inspector/package.json +1 -1
- package/extensions/contrarian/.pi-fleet-tested-version +1 -1
- package/extensions/contrarian/index.ts +33 -16
- package/extensions/contrarian/package.json +1 -1
- package/extensions/dirty-repo-guard/.pi-fleet-tested-version +1 -1
- package/extensions/dirty-repo-guard/package.json +1 -1
- package/extensions/dynamic-context-pruning/.pi-fleet-tested-version +1 -1
- package/extensions/dynamic-context-pruning/package.json +1 -1
- package/extensions/fast/.pi-fleet-tested-version +1 -1
- package/extensions/fast/README.md +2 -2
- package/extensions/fast/index.ts +2 -3
- package/extensions/fast/package.json +1 -1
- package/extensions/git-footer/.pi-fleet-tested-version +1 -1
- package/extensions/git-footer/package.json +1 -1
- package/extensions/gnosis/.pi-fleet-tested-version +1 -1
- package/extensions/gnosis/package.json +1 -1
- package/extensions/illustrations-to-explain-things/.pi-fleet-tested-version +1 -1
- package/extensions/illustrations-to-explain-things/package.json +1 -1
- package/extensions/inline-bash/.pi-fleet-tested-version +1 -1
- package/extensions/inline-bash/package.json +1 -1
- package/extensions/librarian/.pi-fleet-tested-version +1 -1
- package/extensions/librarian/package.json +1 -1
- package/extensions/minimal-footer/.pi-fleet-tested-version +1 -1
- package/extensions/minimal-footer/package.json +1 -1
- package/extensions/notify/.pi-fleet-tested-version +1 -1
- package/extensions/notify/README.md +40 -1
- package/extensions/notify/index.ts +57 -10
- package/extensions/notify/notify.example.json +2 -1
- package/extensions/notify/package.json +1 -1
- package/extensions/openai-fast/.pi-fleet-tested-version +1 -1
- package/extensions/openai-fast/README.md +2 -2
- package/extensions/openai-fast/index.ts +2 -3
- package/extensions/openai-fast/package.json +2 -2
- package/extensions/oracle/.pi-fleet-tested-version +1 -1
- package/extensions/oracle/index.ts +33 -16
- package/extensions/oracle/package.json +1 -1
- package/extensions/permission-gate/.pi-fleet-tested-version +1 -1
- package/extensions/permission-gate/package.json +1 -1
- package/extensions/quiet-tools/.pi-fleet-tested-version +1 -1
- package/extensions/quiet-tools/package.json +1 -1
- package/extensions/review/.pi-fleet-tested-version +1 -1
- package/extensions/review/package.json +1 -1
- package/extensions/todo/.pi-fleet-tested-version +1 -1
- package/extensions/todo/package.json +1 -1
- package/extensions/triage-comments/.pi-fleet-tested-version +1 -1
- package/extensions/triage-comments/package.json +1 -1
- package/package.json +4 -4
package/.pi-fleet-tested-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@diegopetrucci/pi-extensions)
|
|
4
4
|
|
|
5
|
-
A collection of [pi](https://pi.dev) agent extensions I made. (
|
|
5
|
+
A collection of [pi](https://pi.dev) agent extensions I made. (Btw, [I am also building my own harness on top of pi](https://github.com/diegopetrucci/the-last-harness). Have a look if that sounds interesting!)
|
|
6
6
|
|
|
7
7
|
### Subagents
|
|
8
8
|
|
|
@@ -13,9 +13,7 @@ A collection of [pi](https://pi.dev) agent extensions I made. (btw, [I am also b
|
|
|
13
13
|
|
|
14
14
|
### Providers
|
|
15
15
|
|
|
16
|
-
- [`claude-fast`](./extensions/claude-fast): Standalone-only provider-specific alternative that adds `/claude-fast` for supported Anthropic Claude Opus models.
|
|
17
16
|
- [`fast`](./extensions/fast): Adds one `/fast` toggle that enables the provider-specific Fast mode for the currently selected supported OpenAI Codex or Anthropic Claude model.
|
|
18
|
-
- [`openai-fast`](./extensions/openai-fast): Standalone-only provider-specific alternative that adds `/fast` for ChatGPT-auth GPT-5.4, GPT-5.5, and GPT-5.6 Codex variants.
|
|
19
17
|
|
|
20
18
|
### UI
|
|
21
19
|
|
|
@@ -49,10 +47,13 @@ A collection of [pi](https://pi.dev) agent extensions I made. (btw, [I am also b
|
|
|
49
47
|
- [`gnosis`](./extensions/gnosis): Exposes the `gn` repo-local knowledge base CLI as an agent tool for searching and recording durable project decisions, constraints, and intent.
|
|
50
48
|
- [`illustrations-to-explain-things`](./extensions/illustrations-to-explain-things): Adds a skill for generating clean, absurd Xiaohei-style article illustrations, shot lists, image edits, and visual metaphors.
|
|
51
49
|
- [`inline-bash`](./extensions/inline-bash): Expands `!{command}` snippets in user prompts by running them through bash before the prompt reaches the agent.
|
|
52
|
-
- [`notify`](./extensions/notify): Sends configurable terminal, desktop, bell, and sound notifications when pi finishes and is ready for input.
|
|
50
|
+
- [`notify`](./extensions/notify): Sends configurable terminal, desktop, bell, and sound notifications when pi finishes and is ready for input, including tmux-aware terminal notifications.
|
|
53
51
|
- [`todo`](./extensions/todo): Adds a branch-aware `todo` tool for the agent and a `/todos` viewer for users..
|
|
54
52
|
|
|
55
|
-
|
|
53
|
+
### Deprecated
|
|
54
|
+
|
|
55
|
+
- [`claude-fast`](./extensions/claude-fast): Standalone-only provider-specific alternative that adds `/claude-fast` for supported Anthropic Claude Opus models. [Deprecated, please use [`fast`](https://github.com/diegopetrucci/pi-extensions/blob/main/extensions/fast) instead.]
|
|
56
|
+
- [`openai-fast`](./extensions/openai-fast): Standalone-only provider-specific alternative that adds `/fast` for ChatGPT-auth GPT-5.5 and GPT-5.6 Codex variants. [Deprecated, please use [`fast`](https://github.com/diegopetrucci/pi-extensions/blob/main/extensions/fast) instead.]
|
|
56
57
|
|
|
57
58
|
## Install
|
|
58
59
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-annotate-git-diff",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "A standalone pi extension that adds /annotate-git-diff, a native Glimpse UI for annotating git diffs and sending feedback to the editor.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-annotate-last-message",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "A standalone pi extension that adds /annotate-last-message, a native Glimpse UI for annotating the latest assistant reply.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -24,7 +24,7 @@ Fast mode is only injected when all of these are true:
|
|
|
24
24
|
|
|
25
25
|
- The current provider is `anthropic`.
|
|
26
26
|
- The current API is `anthropic-messages`.
|
|
27
|
-
- The current model is `claude-opus-4-
|
|
27
|
+
- The current model is `claude-opus-4-8` or `claude-opus-5`.
|
|
28
28
|
- The request payload does not already include `speed`.
|
|
29
29
|
|
|
30
30
|
Claude Fast mode is available for API-key access and Claude Code subscription/OAuth access when the account has access to Anthropic's Fast mode research preview. For Claude Code subscription users, Anthropic documents this as extra usage credits, not included subscription usage.
|
|
@@ -13,7 +13,7 @@ const API_ID = "anthropic-messages";
|
|
|
13
13
|
const FAST_SPEED = "fast";
|
|
14
14
|
const FAST_BETA = "fast-mode-2026-02-01";
|
|
15
15
|
const CLAUDE_CODE_OAUTH_BETAS = ["claude-code-20250219", "oauth-2025-04-20"];
|
|
16
|
-
const SUPPORTED_MODELS = new Set(["claude-opus-4-
|
|
16
|
+
const SUPPORTED_MODELS = new Set(["claude-opus-4-8", "claude-opus-5"]);
|
|
17
17
|
|
|
18
18
|
const DEFAULT_CONFIG: ClaudeFastConfig = {
|
|
19
19
|
enabled: false,
|
|
@@ -153,7 +153,7 @@ function getEligibility(ctx: ExtensionContext): Eligibility {
|
|
|
153
153
|
return {
|
|
154
154
|
eligible: false,
|
|
155
155
|
modelKey: key,
|
|
156
|
-
reason: "Fast mode is only enabled for Claude Opus 4.
|
|
156
|
+
reason: "Fast mode is only enabled for Claude Opus 4.8 and Claude Opus 5",
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
159
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -150,7 +150,6 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
150
150
|
"claude-opus-4-7",
|
|
151
151
|
"claude-opus-4-6",
|
|
152
152
|
"claude-opus-4-5",
|
|
153
|
-
"claude-opus-4-1",
|
|
154
153
|
"claude-sonnet-5",
|
|
155
154
|
"claude-sonnet-4-6",
|
|
156
155
|
"claude-sonnet-4-5",
|
|
@@ -175,6 +174,25 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
175
174
|
"gpt-5.4-mini",
|
|
176
175
|
"gpt-5-mini",
|
|
177
176
|
],
|
|
177
|
+
baseten: [
|
|
178
|
+
"moonshotai/Kimi-K3",
|
|
179
|
+
"moonshotai/Kimi-K2.7-Code",
|
|
180
|
+
"deepseek-ai/DeepSeek-V4-Pro-0813",
|
|
181
|
+
"deepseek-ai/DeepSeek-V4-Pro",
|
|
182
|
+
"zai-org/GLM-5.2",
|
|
183
|
+
"zai-org/GLM-5.1",
|
|
184
|
+
"zai-org/GLM-5",
|
|
185
|
+
"moonshotai/Kimi-K2.6",
|
|
186
|
+
"moonshotai/Kimi-K2.5",
|
|
187
|
+
"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B",
|
|
188
|
+
"nvidia/Nemotron-120B-A12B",
|
|
189
|
+
"openai/gpt-oss-120b",
|
|
190
|
+
"deepseek-ai/DeepSeek-V4-Flash-0731",
|
|
191
|
+
"thinkingmachines/inkling",
|
|
192
|
+
"thinkingmachines/inkling-small",
|
|
193
|
+
"zai-org/GLM-5.2-Fast",
|
|
194
|
+
"zai-org/GLM-4.7",
|
|
195
|
+
],
|
|
178
196
|
cerebras: ["gpt-oss-120b", "zai-glm-4.7", "gemma-4-31b"],
|
|
179
197
|
"cloudflare-ai-gateway": [
|
|
180
198
|
"claude-fable-5",
|
|
@@ -227,25 +245,21 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
227
245
|
"gpt-5.2",
|
|
228
246
|
"gemini-3.1-pro-preview",
|
|
229
247
|
"gemini-3.5-flash",
|
|
230
|
-
"gemini-3-flash-preview",
|
|
231
248
|
"claude-sonnet-5",
|
|
232
249
|
"claude-sonnet-4.6",
|
|
233
250
|
"claude-sonnet-4.5",
|
|
234
|
-
"gemini-2.5-pro",
|
|
235
251
|
"gpt-5-mini",
|
|
236
252
|
"kimi-k2.7-code",
|
|
237
253
|
],
|
|
238
254
|
google: [
|
|
239
255
|
"gemini-3.1-pro-preview-customtools",
|
|
240
256
|
"gemini-3.1-pro-preview",
|
|
241
|
-
"gemini-3-pro-preview",
|
|
242
257
|
"gemini-3.5-flash",
|
|
243
258
|
"gemini-2.5-pro",
|
|
244
259
|
"gemini-2.5-flash",
|
|
245
260
|
"gemini-3.1-flash-lite-preview",
|
|
246
261
|
"gemini-3.1-flash-lite",
|
|
247
262
|
"gemini-2.5-flash-lite",
|
|
248
|
-
"gemini-2.0-flash",
|
|
249
263
|
],
|
|
250
264
|
"google-vertex": [
|
|
251
265
|
"gemini-3.1-pro-preview-customtools",
|
|
@@ -259,8 +273,6 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
259
273
|
],
|
|
260
274
|
groq: [
|
|
261
275
|
"openai/gpt-oss-120b",
|
|
262
|
-
"qwen/qwen3-32b",
|
|
263
|
-
"meta-llama/llama-4-scout-17b-16e-instruct",
|
|
264
276
|
"llama-3.3-70b-versatile",
|
|
265
277
|
"openai/gpt-oss-20b",
|
|
266
278
|
],
|
|
@@ -402,7 +414,7 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
402
414
|
"z-ai/glm-5.1",
|
|
403
415
|
],
|
|
404
416
|
"qwen-token-plan": [
|
|
405
|
-
"qwen3.8-max
|
|
417
|
+
"qwen3.8-max",
|
|
406
418
|
"qwen3.7-max",
|
|
407
419
|
"qwen3.7-plus",
|
|
408
420
|
"qwen3.6-plus",
|
|
@@ -412,7 +424,7 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
412
424
|
"minimax-m2.5",
|
|
413
425
|
],
|
|
414
426
|
"qwen-token-plan-cn": [
|
|
415
|
-
"qwen3.8-max
|
|
427
|
+
"qwen3.8-max",
|
|
416
428
|
"qwen3.7-max",
|
|
417
429
|
"qwen3.7-plus",
|
|
418
430
|
"qwen3.6-plus",
|
|
@@ -421,6 +433,15 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
421
433
|
"kimi-k2.7-code",
|
|
422
434
|
"minimax-m2.5",
|
|
423
435
|
],
|
|
436
|
+
"qwen-token-plan-individual": [
|
|
437
|
+
"qwen3.8-max",
|
|
438
|
+
"qwen3.7-max",
|
|
439
|
+
"qwen3.7-plus",
|
|
440
|
+
"qwen3.6-flash",
|
|
441
|
+
"deepseek-v4-pro",
|
|
442
|
+
"glm-5.2",
|
|
443
|
+
"deepseek-v4-flash-0731",
|
|
444
|
+
],
|
|
424
445
|
together: [
|
|
425
446
|
"deepseek-ai/DeepSeek-V4-Pro",
|
|
426
447
|
"zai-org/GLM-5.2",
|
|
@@ -442,7 +463,6 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
442
463
|
"anthropic/claude-opus-4.7",
|
|
443
464
|
"anthropic/claude-opus-4.6",
|
|
444
465
|
"anthropic/claude-opus-4.5",
|
|
445
|
-
"anthropic/claude-opus-4.1",
|
|
446
466
|
"anthropic/claude-sonnet-5",
|
|
447
467
|
"anthropic/claude-sonnet-4.6",
|
|
448
468
|
"openai/gpt-5.6-sol",
|
|
@@ -477,6 +497,7 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
477
497
|
"zai/glm-5.1",
|
|
478
498
|
],
|
|
479
499
|
xai: [
|
|
500
|
+
"grok-4.6",
|
|
480
501
|
"grok-4.5",
|
|
481
502
|
"grok-4.3",
|
|
482
503
|
"grok-build-0.1",
|
|
@@ -496,21 +517,17 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
496
517
|
"nvidia/nemotron-3-nano-30b-a3b",
|
|
497
518
|
],
|
|
498
519
|
zai: [
|
|
520
|
+
"glm-5.3",
|
|
499
521
|
"glm-5.2",
|
|
500
|
-
"glm-5.1",
|
|
501
522
|
"glm-5-turbo",
|
|
502
|
-
"glm-5v-turbo",
|
|
503
523
|
"glm-4.7",
|
|
504
|
-
"glm-4.5-air",
|
|
505
524
|
],
|
|
506
525
|
"zai-coding-cn": [
|
|
526
|
+
"glm-5.3",
|
|
507
527
|
"glm-5.2",
|
|
508
|
-
"glm-5.1",
|
|
509
528
|
"glm-5-turbo",
|
|
510
|
-
"glm-5v-turbo",
|
|
511
529
|
"glm-5",
|
|
512
530
|
"glm-4.7",
|
|
513
|
-
"glm-4.5-air",
|
|
514
531
|
],
|
|
515
532
|
moonshotai: ["kimi-k2.7-code", "kimi-k2.7-code-highspeed", "kimi-k2.6", "kimi-k2-thinking-turbo", "kimi-k2-thinking", "kimi-k2.5"],
|
|
516
533
|
"moonshotai-cn": ["kimi-k2.7-code", "kimi-k2.7-code-highspeed", "kimi-k2.6", "kimi-k2-thinking-turbo", "kimi-k2-thinking", "kimi-k2.5"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -30,7 +30,7 @@ OpenAI Fast mode requires all of the following:
|
|
|
30
30
|
|
|
31
31
|
- Provider `openai-codex`.
|
|
32
32
|
- API `openai-codex-responses`.
|
|
33
|
-
- Model `gpt-5.
|
|
33
|
+
- Model `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, or `gpt-5.6-luna`.
|
|
34
34
|
- ChatGPT OAuth/subscription auth, not API-key auth.
|
|
35
35
|
- No existing `service_tier` field in the request payload.
|
|
36
36
|
|
|
@@ -38,7 +38,7 @@ Anthropic Fast mode requires all of the following:
|
|
|
38
38
|
|
|
39
39
|
- Provider `anthropic`.
|
|
40
40
|
- API `anthropic-messages`.
|
|
41
|
-
- Model `claude-opus-4-
|
|
41
|
+
- Model `claude-opus-4-8` or `claude-opus-5`.
|
|
42
42
|
- No existing `speed` field in the request payload.
|
|
43
43
|
|
|
44
44
|
Anthropic Fast mode supports both API-key and Claude Code OAuth access when the account has access to the research preview.
|
package/extensions/fast/index.ts
CHANGED
|
@@ -15,13 +15,12 @@ const ANTHROPIC_FAST_BETA = "fast-mode-2026-02-01";
|
|
|
15
15
|
const CLAUDE_CODE_OAUTH_BETAS = ["claude-code-20250219", "oauth-2025-04-20"];
|
|
16
16
|
const FINE_GRAINED_TOOL_STREAMING_BETA = "fine-grained-tool-streaming-2025-05-14";
|
|
17
17
|
const INTERLEAVED_THINKING_BETA = "interleaved-thinking-2025-05-14";
|
|
18
|
-
const ANTHROPIC_SUPPORTED_MODELS = new Set(["claude-opus-4-
|
|
18
|
+
const ANTHROPIC_SUPPORTED_MODELS = new Set(["claude-opus-4-8", "claude-opus-5"]);
|
|
19
19
|
|
|
20
20
|
const OPENAI_PROVIDER_ID = "openai-codex";
|
|
21
21
|
const OPENAI_API_ID = "openai-codex-responses";
|
|
22
22
|
const OPENAI_FAST_SERVICE_TIER = "priority";
|
|
23
23
|
const OPENAI_SUPPORTED_MODELS = new Set([
|
|
24
|
-
"gpt-5.4",
|
|
25
24
|
"gpt-5.5",
|
|
26
25
|
"gpt-5.6-sol",
|
|
27
26
|
"gpt-5.6-terra",
|
|
@@ -159,7 +158,7 @@ function getEligibility(ctx: ExtensionContext): Eligibility {
|
|
|
159
158
|
return {
|
|
160
159
|
eligible: false,
|
|
161
160
|
modelKey: key,
|
|
162
|
-
reason: "Fast mode is only enabled for Claude Opus 4.
|
|
161
|
+
reason: "Fast mode is only enabled for Claude Opus 4.8 and Claude Opus 5",
|
|
163
162
|
};
|
|
164
163
|
}
|
|
165
164
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-illustrations-to-explain-things",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "A pi skill for generating clean, absurd Xiaohei-style article illustrations, shot lists, and visual metaphors.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -11,6 +11,9 @@ This started from the original `notify.ts` example in [`earendil-works/pi`](http
|
|
|
11
11
|
- OSC 777: Ghostty, iTerm2, WezTerm, rxvt-unicode
|
|
12
12
|
- OSC 99: Kitty
|
|
13
13
|
|
|
14
|
+
Both are wrapped in tmux's DCS passthrough automatically when `$TMUX` is set;
|
|
15
|
+
see [Running inside tmux](#running-inside-tmux).
|
|
16
|
+
|
|
14
17
|
### Desktop notifications
|
|
15
18
|
|
|
16
19
|
- macOS Notification Center via `osascript`
|
|
@@ -86,7 +89,8 @@ Example:
|
|
|
86
89
|
"sound": false
|
|
87
90
|
},
|
|
88
91
|
"terminal": {
|
|
89
|
-
"backend": "auto"
|
|
92
|
+
"backend": "auto",
|
|
93
|
+
"tmuxPassthrough": "auto"
|
|
90
94
|
},
|
|
91
95
|
"desktop": {
|
|
92
96
|
"backend": "auto"
|
|
@@ -102,6 +106,39 @@ Example:
|
|
|
102
106
|
}
|
|
103
107
|
```
|
|
104
108
|
|
|
109
|
+
### Running inside tmux
|
|
110
|
+
|
|
111
|
+
Under tmux, terminal notifications need one line in your `tmux.conf`:
|
|
112
|
+
|
|
113
|
+
```tmux
|
|
114
|
+
set -g allow-passthrough all
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Without it, notifications never reach your terminal. tmux is the terminal
|
|
118
|
+
emulator for the pane, so the escape sequence is delivered to tmux rather than
|
|
119
|
+
to the terminal that can act on it. tmux has no OSC 777 or OSC 99 handler
|
|
120
|
+
(checked in 3.7b, whose OSC dispatch covers 4/7/8/9;4/10/11/12/52/104/133) and
|
|
121
|
+
does not forward OSC codes it does not recognise, so the notification is parsed
|
|
122
|
+
and silently dropped. Desktop, bell, and sound channels are unaffected.
|
|
123
|
+
|
|
124
|
+
This extension therefore wraps terminal notifications in tmux's DCS passthrough
|
|
125
|
+
(`ESC P tmux ; … ESC \`), which asks tmux to forward the payload to the outer
|
|
126
|
+
terminal verbatim — but tmux only honours that when `allow-passthrough` is on.
|
|
127
|
+
|
|
128
|
+
Use `all` rather than `on`: under `on`, tmux only honours passthrough from panes
|
|
129
|
+
that are currently *visible*, which discards exactly the notification you want —
|
|
130
|
+
the one fired while you are looking at another window. The trade-off is that
|
|
131
|
+
`all` lets a program in any pane write bytes straight to the attached terminal;
|
|
132
|
+
notification sequences render nothing, but a malformed passthrough from a
|
|
133
|
+
background pane can garble the display, since those bytes bypass tmux's screen
|
|
134
|
+
model.
|
|
135
|
+
|
|
136
|
+
Set `terminal.tmuxPassthrough` to `never` to opt out of wrapping (for example if
|
|
137
|
+
your multiplexer forwards these codes itself), or `always` to force it when
|
|
138
|
+
`$TMUX` is not visible in the environment. Wrapping is safe to leave on `auto`:
|
|
139
|
+
with passthrough disabled in tmux, a wrapped sequence is dropped exactly like a
|
|
140
|
+
bare one, so nothing regresses.
|
|
141
|
+
|
|
105
142
|
### Enable sound
|
|
106
143
|
|
|
107
144
|
Minimal example:
|
|
@@ -127,6 +164,7 @@ You can also customize the sound backend and options if needed.
|
|
|
127
164
|
- `channels.bell`: enable terminal bell
|
|
128
165
|
- `channels.sound`: enable sound playback
|
|
129
166
|
- `terminal.backend`: `auto`, `osc777`, `osc99`, `none`
|
|
167
|
+
- `terminal.tmuxPassthrough`: `auto` (wrap when `$TMUX` is set), `always`, `never`
|
|
130
168
|
- `desktop.backend`: `auto`, `macos`, `linux`, `windows-toast`, `none`
|
|
131
169
|
- `sound.backend`: `auto`, `macos`, `linux`, `windows-beep`, `command`, `none`
|
|
132
170
|
- `sound.name`: macOS system sound name, like `Glass` or `Hero`
|
|
@@ -138,6 +176,7 @@ You can also customize the sound backend and options if needed.
|
|
|
138
176
|
## Notes
|
|
139
177
|
|
|
140
178
|
- Hooks the `agent_settled` event so automatic retries, compaction retries, and queued follow-ups do not trigger intermediate notifications.
|
|
179
|
+
- Terminal notifications are wrapped for tmux when `$TMUX` is set, which also requires `set -g allow-passthrough all` in `tmux.conf`.
|
|
141
180
|
- Default message is `Pi` / `Ready for input`.
|
|
142
181
|
- Terminal, desktop, bell, and sound channels can be enabled independently.
|
|
143
182
|
- To opt into sound playback, set `channels.sound` to `true`.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Sends notifications when Pi agent is done and waiting for input.
|
|
5
5
|
* Supports multiple channels:
|
|
6
|
-
* - terminal notifications: OSC 777 and OSC 99
|
|
6
|
+
* - terminal notifications: OSC 777 and OSC 99, wrapped for tmux when needed
|
|
7
7
|
* - desktop notifications: macOS Notification Center, Linux notify-send, Windows toast
|
|
8
8
|
* - terminal bell
|
|
9
9
|
* - sound playback
|
|
@@ -20,6 +20,7 @@ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
|
20
20
|
import { CONFIG_DIR_NAME, getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
21
21
|
|
|
22
22
|
type TerminalBackend = "auto" | "osc777" | "osc99" | "none";
|
|
23
|
+
type TmuxPassthrough = "auto" | "always" | "never";
|
|
23
24
|
type DesktopBackend = "auto" | "macos" | "linux" | "windows-toast" | "none";
|
|
24
25
|
type SoundBackend = "auto" | "macos" | "linux" | "windows-beep" | "command" | "none";
|
|
25
26
|
|
|
@@ -41,6 +42,7 @@ interface NotifyConfig {
|
|
|
41
42
|
};
|
|
42
43
|
terminal: {
|
|
43
44
|
backend: TerminalBackend;
|
|
45
|
+
tmuxPassthrough: TmuxPassthrough;
|
|
44
46
|
};
|
|
45
47
|
desktop: {
|
|
46
48
|
backend: DesktopBackend;
|
|
@@ -68,6 +70,7 @@ const DEFAULT_CONFIG: NotifyConfig = {
|
|
|
68
70
|
},
|
|
69
71
|
terminal: {
|
|
70
72
|
backend: "auto",
|
|
73
|
+
tmuxPassthrough: "auto",
|
|
71
74
|
},
|
|
72
75
|
desktop: {
|
|
73
76
|
backend: "auto",
|
|
@@ -145,13 +148,47 @@ function windowsToastScript(title: string, body: string): string {
|
|
|
145
148
|
].join("; ");
|
|
146
149
|
}
|
|
147
150
|
|
|
148
|
-
|
|
149
|
-
|
|
151
|
+
/**
|
|
152
|
+
* Inside tmux, terminal notifications are written to tmux, not to the terminal
|
|
153
|
+
* that can act on them: tmux is the pane's emulator and parses the sequence
|
|
154
|
+
* itself. tmux has no OSC 777 or OSC 99 handler (checked in 3.7b, whose OSC
|
|
155
|
+
* dispatch covers 4/7/8/9;4/10/11/12/52/104/133) and does not forward OSC codes
|
|
156
|
+
* it does not recognise, so both backends are silently dropped.
|
|
157
|
+
*
|
|
158
|
+
* tmux's DCS passthrough asks it to write a payload to the outer terminal
|
|
159
|
+
* verbatim. Every ESC inside the payload must be doubled.
|
|
160
|
+
*
|
|
161
|
+
* Users must also allow passthrough in tmux.conf:
|
|
162
|
+
*
|
|
163
|
+
* set -g allow-passthrough all
|
|
164
|
+
*
|
|
165
|
+
* `all` rather than `on`, because `on` only honours passthrough from panes that
|
|
166
|
+
* are currently visible - which drops exactly the notification that matters,
|
|
167
|
+
* the one fired while the user is looking at a different window. When
|
|
168
|
+
* passthrough is disabled entirely, the wrapped sequence is dropped just like
|
|
169
|
+
* the bare one, so wrapping is never a regression.
|
|
170
|
+
*/
|
|
171
|
+
function wrapForTmux(sequence: string): string {
|
|
172
|
+
return `\x1bPtmux;${sequence.replaceAll("\x1b", "\x1b\x1b")}\x1b\\`;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
function shouldWrapForTmux(config: NotifyConfig): boolean {
|
|
176
|
+
if (config.terminal.tmuxPassthrough === "never") return false;
|
|
177
|
+
if (config.terminal.tmuxPassthrough === "always") return true;
|
|
178
|
+
return Boolean(process.env.TMUX);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function writeTerminalSequence(sequence: string, wrap: boolean): void {
|
|
182
|
+
process.stdout.write(wrap ? wrapForTmux(sequence) : sequence);
|
|
150
183
|
}
|
|
151
184
|
|
|
152
|
-
function
|
|
153
|
-
|
|
154
|
-
|
|
185
|
+
function notifyOSC777(title: string, body: string, wrap: boolean): void {
|
|
186
|
+
writeTerminalSequence(`\x1b]777;notify;${title};${body}\x07`, wrap);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
function notifyOSC99(title: string, body: string, wrap: boolean): void {
|
|
190
|
+
writeTerminalSequence(`\x1b]99;i=1:d=0;${title}\x1b\\`, wrap);
|
|
191
|
+
writeTerminalSequence(`\x1b]99;i=1:p=body;${body}\x1b\\`, wrap);
|
|
155
192
|
}
|
|
156
193
|
|
|
157
194
|
function ringBell(): void {
|
|
@@ -195,13 +232,18 @@ function detectSoundBackend(config: NotifyConfig): Exclude<SoundBackend, "auto">
|
|
|
195
232
|
return "none";
|
|
196
233
|
}
|
|
197
234
|
|
|
198
|
-
function sendTerminalNotification(
|
|
235
|
+
function sendTerminalNotification(
|
|
236
|
+
title: string,
|
|
237
|
+
body: string,
|
|
238
|
+
backend: Exclude<TerminalBackend, "auto">,
|
|
239
|
+
wrap: boolean,
|
|
240
|
+
): void {
|
|
199
241
|
if (backend === "osc99") {
|
|
200
|
-
notifyOSC99(title, body);
|
|
242
|
+
notifyOSC99(title, body, wrap);
|
|
201
243
|
return;
|
|
202
244
|
}
|
|
203
245
|
if (backend === "osc777") {
|
|
204
|
-
notifyOSC777(title, body);
|
|
246
|
+
notifyOSC777(title, body, wrap);
|
|
205
247
|
}
|
|
206
248
|
}
|
|
207
249
|
|
|
@@ -263,7 +305,12 @@ export default function notifyExtension(pi: ExtensionAPI) {
|
|
|
263
305
|
const tasks: Array<Promise<unknown>> = [];
|
|
264
306
|
|
|
265
307
|
if (config.channels.terminal) {
|
|
266
|
-
sendTerminalNotification(
|
|
308
|
+
sendTerminalNotification(
|
|
309
|
+
config.title,
|
|
310
|
+
config.body,
|
|
311
|
+
detectTerminalBackend(config),
|
|
312
|
+
shouldWrapForTmux(config),
|
|
313
|
+
);
|
|
267
314
|
}
|
|
268
315
|
|
|
269
316
|
if (config.channels.desktop) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# openai-fast
|
|
2
2
|
|
|
3
|
-
A pi extension that enables OpenAI Codex Fast mode for ChatGPT-auth GPT-5.
|
|
3
|
+
A pi extension that enables OpenAI Codex Fast mode for ChatGPT-auth GPT-5.5 and GPT-5.6 Codex variants (`gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`).
|
|
4
4
|
|
|
5
5
|
This package is standalone-only and is not auto-loaded by the `@diegopetrucci/pi-extensions` collection package. The collection uses the unified [`fast`](../fast) extension instead.
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ Fast mode is only injected when all of these are true:
|
|
|
20
20
|
|
|
21
21
|
- The current provider is `openai-codex`.
|
|
22
22
|
- The current API is `openai-codex-responses`.
|
|
23
|
-
- The current model is `gpt-5.
|
|
23
|
+
- The current model is `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, or `gpt-5.6-luna`.
|
|
24
24
|
- The provider is using ChatGPT OAuth/subscription auth, not API-key auth.
|
|
25
25
|
- The request payload does not already include `service_tier`.
|
|
26
26
|
|
|
@@ -12,13 +12,12 @@ const PROVIDER_ID = "openai-codex";
|
|
|
12
12
|
const API_ID = "openai-codex-responses";
|
|
13
13
|
const FAST_SERVICE_TIER = "priority";
|
|
14
14
|
const SUPPORTED_MODELS = new Set([
|
|
15
|
-
"gpt-5.4",
|
|
16
15
|
"gpt-5.5",
|
|
17
16
|
"gpt-5.6-sol",
|
|
18
17
|
"gpt-5.6-terra",
|
|
19
18
|
"gpt-5.6-luna",
|
|
20
19
|
]);
|
|
21
|
-
const SUPPORTED_MODELS_LABEL = "gpt-5.
|
|
20
|
+
const SUPPORTED_MODELS_LABEL = "gpt-5.5, gpt-5.6-sol, gpt-5.6-terra, or gpt-5.6-luna";
|
|
22
21
|
|
|
23
22
|
const DEFAULT_CONFIG: OpenAIFastConfig = {
|
|
24
23
|
enabled: false,
|
|
@@ -257,7 +256,7 @@ export default function openAIFastExtension(pi: ExtensionAPI) {
|
|
|
257
256
|
});
|
|
258
257
|
|
|
259
258
|
pi.registerCommand("fast", {
|
|
260
|
-
description: "Toggle OpenAI Codex Fast mode for ChatGPT-auth GPT-5.
|
|
259
|
+
description: "Toggle OpenAI Codex Fast mode for ChatGPT-auth GPT-5.5 and GPT-5.6 Codex variants",
|
|
261
260
|
getArgumentCompletions: () => null,
|
|
262
261
|
handler: async (args, ctx) => {
|
|
263
262
|
const state = getState(ctx);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-openai-fast",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "A pi extension that enables OpenAI Codex Fast mode for ChatGPT-auth GPT-5.
|
|
3
|
+
"version": "0.1.16",
|
|
4
|
+
"description": "A pi extension that enables OpenAI Codex Fast mode for ChatGPT-auth GPT-5.5 and GPT-5.6 Codex variants by injecting the priority service tier.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
7
7
|
"pi",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -133,7 +133,6 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
133
133
|
"claude-opus-4-7",
|
|
134
134
|
"claude-opus-4-6",
|
|
135
135
|
"claude-opus-4-5",
|
|
136
|
-
"claude-opus-4-1",
|
|
137
136
|
"claude-sonnet-5",
|
|
138
137
|
"claude-sonnet-4-6",
|
|
139
138
|
"claude-sonnet-4-5",
|
|
@@ -158,6 +157,25 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
158
157
|
"gpt-5.4-mini",
|
|
159
158
|
"gpt-5-mini",
|
|
160
159
|
],
|
|
160
|
+
baseten: [
|
|
161
|
+
"moonshotai/Kimi-K3",
|
|
162
|
+
"moonshotai/Kimi-K2.7-Code",
|
|
163
|
+
"deepseek-ai/DeepSeek-V4-Pro-0813",
|
|
164
|
+
"deepseek-ai/DeepSeek-V4-Pro",
|
|
165
|
+
"zai-org/GLM-5.2",
|
|
166
|
+
"zai-org/GLM-5.1",
|
|
167
|
+
"zai-org/GLM-5",
|
|
168
|
+
"moonshotai/Kimi-K2.6",
|
|
169
|
+
"moonshotai/Kimi-K2.5",
|
|
170
|
+
"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B",
|
|
171
|
+
"nvidia/Nemotron-120B-A12B",
|
|
172
|
+
"openai/gpt-oss-120b",
|
|
173
|
+
"deepseek-ai/DeepSeek-V4-Flash-0731",
|
|
174
|
+
"thinkingmachines/inkling",
|
|
175
|
+
"thinkingmachines/inkling-small",
|
|
176
|
+
"zai-org/GLM-5.2-Fast",
|
|
177
|
+
"zai-org/GLM-4.7",
|
|
178
|
+
],
|
|
161
179
|
cerebras: ["gpt-oss-120b", "zai-glm-4.7", "gemma-4-31b"],
|
|
162
180
|
"cloudflare-ai-gateway": [
|
|
163
181
|
"claude-fable-5",
|
|
@@ -210,25 +228,21 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
210
228
|
"gpt-5.2",
|
|
211
229
|
"gemini-3.1-pro-preview",
|
|
212
230
|
"gemini-3.5-flash",
|
|
213
|
-
"gemini-3-flash-preview",
|
|
214
231
|
"claude-sonnet-5",
|
|
215
232
|
"claude-sonnet-4.6",
|
|
216
233
|
"claude-sonnet-4.5",
|
|
217
|
-
"gemini-2.5-pro",
|
|
218
234
|
"gpt-5-mini",
|
|
219
235
|
"kimi-k2.7-code",
|
|
220
236
|
],
|
|
221
237
|
google: [
|
|
222
238
|
"gemini-3.1-pro-preview-customtools",
|
|
223
239
|
"gemini-3.1-pro-preview",
|
|
224
|
-
"gemini-3-pro-preview",
|
|
225
240
|
"gemini-3.5-flash",
|
|
226
241
|
"gemini-2.5-pro",
|
|
227
242
|
"gemini-2.5-flash",
|
|
228
243
|
"gemini-3.1-flash-lite-preview",
|
|
229
244
|
"gemini-3.1-flash-lite",
|
|
230
245
|
"gemini-2.5-flash-lite",
|
|
231
|
-
"gemini-2.0-flash",
|
|
232
246
|
],
|
|
233
247
|
"google-vertex": [
|
|
234
248
|
"gemini-3.1-pro-preview-customtools",
|
|
@@ -242,8 +256,6 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
242
256
|
],
|
|
243
257
|
groq: [
|
|
244
258
|
"openai/gpt-oss-120b",
|
|
245
|
-
"qwen/qwen3-32b",
|
|
246
|
-
"meta-llama/llama-4-scout-17b-16e-instruct",
|
|
247
259
|
"llama-3.3-70b-versatile",
|
|
248
260
|
"openai/gpt-oss-20b",
|
|
249
261
|
],
|
|
@@ -385,7 +397,7 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
385
397
|
"z-ai/glm-5.1",
|
|
386
398
|
],
|
|
387
399
|
"qwen-token-plan": [
|
|
388
|
-
"qwen3.8-max
|
|
400
|
+
"qwen3.8-max",
|
|
389
401
|
"qwen3.7-max",
|
|
390
402
|
"qwen3.7-plus",
|
|
391
403
|
"qwen3.6-plus",
|
|
@@ -395,7 +407,7 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
395
407
|
"minimax-m2.5",
|
|
396
408
|
],
|
|
397
409
|
"qwen-token-plan-cn": [
|
|
398
|
-
"qwen3.8-max
|
|
410
|
+
"qwen3.8-max",
|
|
399
411
|
"qwen3.7-max",
|
|
400
412
|
"qwen3.7-plus",
|
|
401
413
|
"qwen3.6-plus",
|
|
@@ -404,6 +416,15 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
404
416
|
"kimi-k2.7-code",
|
|
405
417
|
"minimax-m2.5",
|
|
406
418
|
],
|
|
419
|
+
"qwen-token-plan-individual": [
|
|
420
|
+
"qwen3.8-max",
|
|
421
|
+
"qwen3.7-max",
|
|
422
|
+
"qwen3.7-plus",
|
|
423
|
+
"qwen3.6-flash",
|
|
424
|
+
"deepseek-v4-pro",
|
|
425
|
+
"glm-5.2",
|
|
426
|
+
"deepseek-v4-flash-0731",
|
|
427
|
+
],
|
|
407
428
|
together: [
|
|
408
429
|
"deepseek-ai/DeepSeek-V4-Pro",
|
|
409
430
|
"zai-org/GLM-5.2",
|
|
@@ -425,7 +446,6 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
425
446
|
"anthropic/claude-opus-4.7",
|
|
426
447
|
"anthropic/claude-opus-4.6",
|
|
427
448
|
"anthropic/claude-opus-4.5",
|
|
428
|
-
"anthropic/claude-opus-4.1",
|
|
429
449
|
"anthropic/claude-sonnet-5",
|
|
430
450
|
"anthropic/claude-sonnet-4.6",
|
|
431
451
|
"openai/gpt-5.6-sol",
|
|
@@ -460,6 +480,7 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
460
480
|
"zai/glm-5.1",
|
|
461
481
|
],
|
|
462
482
|
xai: [
|
|
483
|
+
"grok-4.6",
|
|
463
484
|
"grok-4.5",
|
|
464
485
|
"grok-4.3",
|
|
465
486
|
"grok-build-0.1",
|
|
@@ -479,21 +500,17 @@ const PROVIDER_MODEL_PREFERENCES: Record<string, string[]> = {
|
|
|
479
500
|
"nvidia/nemotron-3-nano-30b-a3b",
|
|
480
501
|
],
|
|
481
502
|
zai: [
|
|
503
|
+
"glm-5.3",
|
|
482
504
|
"glm-5.2",
|
|
483
|
-
"glm-5.1",
|
|
484
505
|
"glm-5-turbo",
|
|
485
|
-
"glm-5v-turbo",
|
|
486
506
|
"glm-4.7",
|
|
487
|
-
"glm-4.5-air",
|
|
488
507
|
],
|
|
489
508
|
"zai-coding-cn": [
|
|
509
|
+
"glm-5.3",
|
|
490
510
|
"glm-5.2",
|
|
491
|
-
"glm-5.1",
|
|
492
511
|
"glm-5-turbo",
|
|
493
|
-
"glm-5v-turbo",
|
|
494
512
|
"glm-5",
|
|
495
513
|
"glm-4.7",
|
|
496
|
-
"glm-4.5-air",
|
|
497
514
|
],
|
|
498
515
|
moonshotai: ["kimi-k2.7-code", "kimi-k2.7-code-highspeed", "kimi-k2.6", "kimi-k2-thinking-turbo", "kimi-k2-thinking", "kimi-k2.5"],
|
|
499
516
|
"moonshotai-cn": ["kimi-k2.7-code", "kimi-k2.7-code-highspeed", "kimi-k2.6", "kimi-k2-thinking-turbo", "kimi-k2-thinking", "kimi-k2.5"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-quiet-tools",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "A pi extension that visually compacts collapsed built-in tool rows in the TUI without changing tool results sent to the model.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.84.2
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-extensions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.65",
|
|
4
4
|
"description": "A collection of pi extensions and skills for annotation UIs, context management, workflow audits, contrarian review, review-comment triage, notifications, brrr push alerts, safety guards, GitHub research, repo-local knowledge, todos, tool rendering, model/provider helpers, and Xiaohei-style article illustrations.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
]
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@earendil-works/pi-ai": "^0.
|
|
75
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
76
|
-
"@earendil-works/pi-tui": "^0.
|
|
74
|
+
"@earendil-works/pi-ai": "^0.84.2",
|
|
75
|
+
"@earendil-works/pi-coding-agent": "^0.84.2",
|
|
76
|
+
"@earendil-works/pi-tui": "^0.84.2",
|
|
77
77
|
"@types/node": "^25.9.1",
|
|
78
78
|
"husky": "^9.1.7",
|
|
79
79
|
"typebox": "^1.3.6",
|