@diegopetrucci/pi-extensions 0.1.33 → 0.1.35
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 -0
- package/README.md +1 -3
- package/extensions/agent-workflow-audit/.pi-fleet-tested-version +1 -0
- package/extensions/agent-workflow-audit/package.json +11 -3
- package/extensions/brrr/.pi-fleet-tested-version +1 -0
- package/extensions/brrr/package.json +10 -3
- package/extensions/confirm-destructive/.pi-fleet-tested-version +1 -0
- package/extensions/confirm-destructive/package.json +9 -3
- package/extensions/context-cap/.pi-fleet-tested-version +1 -0
- package/extensions/context-cap/package.json +9 -3
- package/extensions/context-inspector/.pi-fleet-tested-version +1 -0
- package/extensions/context-inspector/package.json +10 -3
- package/extensions/dirty-repo-guard/.pi-fleet-tested-version +1 -0
- package/extensions/dirty-repo-guard/package.json +9 -3
- package/extensions/gnosis/.pi-fleet-tested-version +1 -0
- package/extensions/gnosis/package.json +11 -3
- package/extensions/inline-bash/.pi-fleet-tested-version +1 -0
- package/extensions/inline-bash/package.json +10 -3
- package/extensions/librarian/.pi-fleet-tested-version +1 -0
- package/extensions/librarian/README.md +1 -1
- package/extensions/librarian/index.ts +2 -2
- package/extensions/librarian/package.json +11 -3
- package/extensions/minimal-footer/.pi-fleet-tested-version +1 -0
- package/extensions/minimal-footer/package.json +9 -3
- package/extensions/notify/.pi-fleet-tested-version +1 -0
- package/extensions/notify/package.json +9 -3
- package/extensions/openai-fast/.pi-fleet-tested-version +1 -0
- package/extensions/openai-fast/package.json +10 -3
- package/extensions/oracle/.pi-fleet-tested-version +1 -0
- package/extensions/oracle/index.ts +8 -16
- package/extensions/oracle/package.json +10 -3
- package/extensions/permission-gate/.pi-fleet-tested-version +1 -0
- package/extensions/permission-gate/package.json +9 -3
- package/extensions/quiet-tools/.pi-fleet-tested-version +1 -0
- package/extensions/quiet-tools/package.json +10 -3
- package/extensions/review/.pi-fleet-tested-version +1 -0
- package/extensions/review/package.json +11 -3
- package/extensions/todo/.pi-fleet-tested-version +1 -0
- package/extensions/todo/package.json +10 -3
- package/extensions/triage-comments/.pi-fleet-tested-version +1 -0
- package/extensions/triage-comments/package.json +11 -3
- package/package.json +12 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
package/README.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
A collection of [pi](https://github.com/earendil-works/pi-mono) agent extensions I made.
|
|
4
4
|
|
|
5
|
-
**License note:** This root collection package is mixed-licensed: most of it is MIT, while [`extensions/review`](./extensions/review) is Apache-2.0 and includes its own [LICENSE](./extensions/review/LICENSE).
|
|
6
|
-
|
|
7
5
|
- [`agent-workflow-audit`](./extensions/agent-workflow-audit): Adds `/agent-workflow-audit`, which runs an isolated repo workflow audit subagent and returns only the final distilled report to the main session.
|
|
8
6
|
- [`brrr`](./extensions/brrr): Sends brrr push notifications when pi finishes an agent turn and is ready for input, with optional macOS idle gating.
|
|
9
7
|
- [`confirm-destructive`](./extensions/confirm-destructive): Confirms before destructive session actions like clear, switch, and fork.
|
|
@@ -12,7 +10,7 @@ A collection of [pi](https://github.com/earendil-works/pi-mono) agent extensions
|
|
|
12
10
|
- [`dirty-repo-guard`](./extensions/dirty-repo-guard): Prompts before new sessions, session switches, or forks when the current git repo has uncommitted changes.
|
|
13
11
|
- [`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.
|
|
14
12
|
- [`inline-bash`](./extensions/inline-bash): Expands `!{command}` snippets in user prompts by running them through bash before the prompt reaches the agent.
|
|
15
|
-
- [`librarian`](./extensions/librarian): Adds a GitHub research scout with a local repo checkout cache enabled by default under the OS user cache directory, toggleable with `/librarian-cache`, with cached repos expiring after
|
|
13
|
+
- [`librarian`](./extensions/librarian): Adds a GitHub research scout with a local repo checkout cache enabled by default under the OS user cache directory, toggleable with `/librarian-cache`, with cached repos expiring after 7 days of non-use.
|
|
16
14
|
- [`minimal-footer`](./extensions/minimal-footer): Replaces pi's built-in footer with a minimal configurable two-line layout: branch/repo on the first line, context/model on the second, optional `DUMB ZONE`, plus OpenAI Codex 5-hour and 7-day usage when available.
|
|
17
15
|
- [`notify`](./extensions/notify): Sends configurable terminal, desktop, bell, and sound notifications when pi finishes and is ready for input.
|
|
18
16
|
- [`openai-fast`](./extensions/openai-fast): Adds `/fast` to enable OpenAI Codex Fast mode for ChatGPT-auth GPT-5.4 and GPT-5.5 by injecting the priority service tier.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-agent-workflow-audit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that runs an isolated repo workflow audit and returns only the final report to the main session.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"agents",
|
|
9
|
+
"workflow",
|
|
10
|
+
"audit",
|
|
11
|
+
"subagent"
|
|
12
|
+
],
|
|
6
13
|
"license": "MIT",
|
|
7
14
|
"repository": {
|
|
8
15
|
"type": "git",
|
|
@@ -11,7 +18,8 @@
|
|
|
11
18
|
},
|
|
12
19
|
"files": [
|
|
13
20
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
21
|
+
"README.md",
|
|
22
|
+
".pi-fleet-tested-version"
|
|
15
23
|
],
|
|
16
24
|
"publishConfig": {
|
|
17
25
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-brrr",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that sends brrr push notifications when pi is ready for input.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"brrr",
|
|
9
|
+
"notification",
|
|
10
|
+
"push"
|
|
11
|
+
],
|
|
6
12
|
"license": "MIT",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -12,7 +18,8 @@
|
|
|
12
18
|
"files": [
|
|
13
19
|
"index.ts",
|
|
14
20
|
"README.md",
|
|
15
|
-
"brrr.example.json"
|
|
21
|
+
"brrr.example.json",
|
|
22
|
+
".pi-fleet-tested-version"
|
|
16
23
|
],
|
|
17
24
|
"publishConfig": {
|
|
18
25
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-confirm-destructive",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A pi extension that confirms destructive session actions.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"session",
|
|
9
|
+
"safety"
|
|
10
|
+
],
|
|
6
11
|
"license": "MIT",
|
|
7
12
|
"repository": {
|
|
8
13
|
"type": "git",
|
|
@@ -11,7 +16,8 @@
|
|
|
11
16
|
},
|
|
12
17
|
"files": [
|
|
13
18
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
19
|
+
"README.md",
|
|
20
|
+
".pi-fleet-tested-version"
|
|
15
21
|
],
|
|
16
22
|
"publishConfig": {
|
|
17
23
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-context-cap",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that caps effective model context windows at 200k tokens for earlier auto-compaction.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"context",
|
|
9
|
+
"compaction"
|
|
10
|
+
],
|
|
6
11
|
"license": "MIT",
|
|
7
12
|
"repository": {
|
|
8
13
|
"type": "git",
|
|
@@ -11,7 +16,8 @@
|
|
|
11
16
|
},
|
|
12
17
|
"files": [
|
|
13
18
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
19
|
+
"README.md",
|
|
20
|
+
".pi-fleet-tested-version"
|
|
15
21
|
],
|
|
16
22
|
"publishConfig": {
|
|
17
23
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-context-inspector",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that opens a local HTML dashboard explaining where the current session context is going.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"context",
|
|
9
|
+
"tokens",
|
|
10
|
+
"html"
|
|
11
|
+
],
|
|
6
12
|
"license": "MIT",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -11,7 +17,8 @@
|
|
|
11
17
|
},
|
|
12
18
|
"files": [
|
|
13
19
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
20
|
+
"README.md",
|
|
21
|
+
".pi-fleet-tested-version"
|
|
15
22
|
],
|
|
16
23
|
"publishConfig": {
|
|
17
24
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-dirty-repo-guard",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that prompts before session changes when the current git repo has uncommitted changes.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"git",
|
|
9
|
+
"safety"
|
|
10
|
+
],
|
|
6
11
|
"license": "MIT",
|
|
7
12
|
"repository": {
|
|
8
13
|
"type": "git",
|
|
@@ -11,7 +16,8 @@
|
|
|
11
16
|
},
|
|
12
17
|
"files": [
|
|
13
18
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
19
|
+
"README.md",
|
|
20
|
+
".pi-fleet-tested-version"
|
|
15
21
|
],
|
|
16
22
|
"publishConfig": {
|
|
17
23
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-gnosis",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that exposes the gnosis repo-local knowledge base CLI as an agent tool.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"gnosis",
|
|
9
|
+
"memory",
|
|
10
|
+
"knowledge-base",
|
|
11
|
+
"tool"
|
|
12
|
+
],
|
|
6
13
|
"license": "MIT",
|
|
7
14
|
"repository": {
|
|
8
15
|
"type": "git",
|
|
@@ -11,7 +18,8 @@
|
|
|
11
18
|
},
|
|
12
19
|
"files": [
|
|
13
20
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
21
|
+
"README.md",
|
|
22
|
+
".pi-fleet-tested-version"
|
|
15
23
|
],
|
|
16
24
|
"publishConfig": {
|
|
17
25
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-inline-bash",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that expands inline bash commands in user prompts.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"bash",
|
|
9
|
+
"input",
|
|
10
|
+
"prompt"
|
|
11
|
+
],
|
|
6
12
|
"license": "MIT",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -11,7 +17,8 @@
|
|
|
11
17
|
},
|
|
12
18
|
"files": [
|
|
13
19
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
20
|
+
"README.md",
|
|
21
|
+
".pi-fleet-tested-version"
|
|
15
22
|
],
|
|
16
23
|
"publishConfig": {
|
|
17
24
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -37,7 +37,7 @@ Then reload pi:
|
|
|
37
37
|
- Uses `gh` for GitHub search/API access
|
|
38
38
|
- Uses cached local checkouts by default
|
|
39
39
|
- Toggle cache behavior for future calls with `/librarian-cache on | off | toggle | status`
|
|
40
|
-
- Cached repos are removed lazily after
|
|
40
|
+
- Cached repos are removed lazily after 7 days without use
|
|
41
41
|
|
|
42
42
|
## Commands
|
|
43
43
|
|
|
@@ -21,7 +21,7 @@ const MAX_TURNS = 10;
|
|
|
21
21
|
const MAX_TOOL_CALLS_TO_KEEP = 80;
|
|
22
22
|
const DEFAULT_BASH_TIMEOUT_SECONDS = 60;
|
|
23
23
|
const MAX_RUN_MS = 10 * 60 * 1000;
|
|
24
|
-
const CACHE_TTL_DAYS =
|
|
24
|
+
const CACHE_TTL_DAYS = 7;
|
|
25
25
|
const CACHE_TTL_MS = CACHE_TTL_DAYS * 24 * 60 * 60 * 1000;
|
|
26
26
|
const CACHE_METADATA_FILE = ".pi-librarian-cache.json";
|
|
27
27
|
const CACHE_MARKER_FILE = ".pi-librarian-cache-used";
|
|
@@ -560,7 +560,7 @@ export default function librarianExtension(pi: ExtensionAPI) {
|
|
|
560
560
|
name: "librarian",
|
|
561
561
|
label: "Librarian",
|
|
562
562
|
description:
|
|
563
|
-
"GitHub research scout for coding and personal-assistant tasks. Use when the answer likely lives in GitHub repos, exact repo/path locations are unknown, or you'd otherwise do exploratory gh search/tree probes plus local rg/read inspection. Librarian uses an optional
|
|
563
|
+
"GitHub research scout for coding and personal-assistant tasks. Use when the answer likely lives in GitHub repos, exact repo/path locations are unknown, or you'd otherwise do exploratory gh search/tree probes plus local rg/read inspection. Librarian uses an optional 7-day local checkout cache by default; toggle it with /librarian-cache.",
|
|
564
564
|
promptSnippet:
|
|
565
565
|
"Research GitHub repositories with evidence-first path and line citations; local checkout cache is enabled by default and user-toggleable with /librarian-cache.",
|
|
566
566
|
promptGuidelines: [
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-librarian",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "A pi GitHub research scout with a toggleable local repo checkout cache under the user's OS cache directory.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"github",
|
|
9
|
+
"research",
|
|
10
|
+
"subagent",
|
|
11
|
+
"cache"
|
|
12
|
+
],
|
|
6
13
|
"license": "MIT",
|
|
7
14
|
"repository": {
|
|
8
15
|
"type": "git",
|
|
@@ -11,7 +18,8 @@
|
|
|
11
18
|
},
|
|
12
19
|
"files": [
|
|
13
20
|
"*.ts",
|
|
14
|
-
"README.md"
|
|
21
|
+
"README.md",
|
|
22
|
+
".pi-fleet-tested-version"
|
|
15
23
|
],
|
|
16
24
|
"publishConfig": {
|
|
17
25
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-minimal-footer",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "A minimal custom footer for pi.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"terminal",
|
|
9
|
+
"footer"
|
|
10
|
+
],
|
|
6
11
|
"license": "MIT",
|
|
7
12
|
"repository": {
|
|
8
13
|
"type": "git",
|
|
@@ -13,7 +18,8 @@
|
|
|
13
18
|
"index.ts",
|
|
14
19
|
"openai-usage.ts",
|
|
15
20
|
"minimal-footer.example.json",
|
|
16
|
-
"README.md"
|
|
21
|
+
"README.md",
|
|
22
|
+
".pi-fleet-tested-version"
|
|
17
23
|
],
|
|
18
24
|
"publishConfig": {
|
|
19
25
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-notify",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "A pi extension that sends a notification when the agent is ready for input.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"notification",
|
|
9
|
+
"terminal"
|
|
10
|
+
],
|
|
6
11
|
"license": "MIT",
|
|
7
12
|
"repository": {
|
|
8
13
|
"type": "git",
|
|
@@ -12,7 +17,8 @@
|
|
|
12
17
|
"files": [
|
|
13
18
|
"index.ts",
|
|
14
19
|
"README.md",
|
|
15
|
-
"notify.example.json"
|
|
20
|
+
"notify.example.json",
|
|
21
|
+
".pi-fleet-tested-version"
|
|
16
22
|
],
|
|
17
23
|
"publishConfig": {
|
|
18
24
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-openai-fast",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A pi extension that enables OpenAI Codex Fast mode for ChatGPT-auth GPT-5.4 and GPT-5.5 by injecting the priority service tier.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"openai",
|
|
9
|
+
"codex",
|
|
10
|
+
"fast"
|
|
11
|
+
],
|
|
6
12
|
"license": "MIT",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -12,7 +18,8 @@
|
|
|
12
18
|
"files": [
|
|
13
19
|
"index.ts",
|
|
14
20
|
"openai-fast.example.json",
|
|
15
|
-
"README.md"
|
|
21
|
+
"README.md",
|
|
22
|
+
".pi-fleet-tested-version"
|
|
16
23
|
],
|
|
17
24
|
"publishConfig": {
|
|
18
25
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -3,7 +3,7 @@ import { existsSync } from "node:fs";
|
|
|
3
3
|
import * as fs from "node:fs/promises";
|
|
4
4
|
import * as path from "node:path";
|
|
5
5
|
import { StringEnum } from "@earendil-works/pi-ai";
|
|
6
|
-
import { getAgentDir, getMarkdownTheme, type ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
6
|
+
import { getAgentDir, getMarkdownTheme, type ExtensionAPI, type ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
7
7
|
import { Container, Markdown, Spacer, Text } from "@earendil-works/pi-tui";
|
|
8
8
|
import { Type } from "typebox";
|
|
9
9
|
|
|
@@ -668,7 +668,7 @@ function appendThinkingLevelClampReason(
|
|
|
668
668
|
}
|
|
669
669
|
|
|
670
670
|
async function findAvailableModel(
|
|
671
|
-
ctx: { model?: PiModel; modelRegistry: { getAvailable(): Promise<PiModel[]> } },
|
|
671
|
+
ctx: { model?: PiModel; modelRegistry: { getAvailable(): PiModel[] | Promise<PiModel[]> } },
|
|
672
672
|
modelRef: string,
|
|
673
673
|
): Promise<PiModel | undefined> {
|
|
674
674
|
const available = await ctx.modelRegistry.getAvailable();
|
|
@@ -696,7 +696,7 @@ async function findAvailableModel(
|
|
|
696
696
|
}
|
|
697
697
|
|
|
698
698
|
async function selectOracleModel(
|
|
699
|
-
ctx: { model?: PiModel; modelRegistry: { getAvailable(): Promise<PiModel[]> } },
|
|
699
|
+
ctx: { model?: PiModel; modelRegistry: { getAvailable(): PiModel[] | Promise<PiModel[]> } },
|
|
700
700
|
thinkingLevelOverride?: ThinkingLevel,
|
|
701
701
|
): Promise<{ ok: true; selection: OracleSelection } | { ok: false; error: string }> {
|
|
702
702
|
const available = await ctx.modelRegistry.getAvailable();
|
|
@@ -752,14 +752,7 @@ async function selectOracleModel(
|
|
|
752
752
|
};
|
|
753
753
|
}
|
|
754
754
|
|
|
755
|
-
function updateOracleUi(ctx:
|
|
756
|
-
args: any,
|
|
757
|
-
ctx: infer T,
|
|
758
|
-
) => any
|
|
759
|
-
? T
|
|
760
|
-
: never,
|
|
761
|
-
activeRuns: Map<string, OracleUiRun>,
|
|
762
|
-
): void {
|
|
755
|
+
function updateOracleUi(ctx: ExtensionContext, activeRuns: Map<string, OracleUiRun>): void {
|
|
763
756
|
if (!ctx.hasUI) return;
|
|
764
757
|
const theme = ctx.ui.theme;
|
|
765
758
|
if (activeRuns.size === 0) {
|
|
@@ -1193,7 +1186,6 @@ export default function oracleExtension(pi: ExtensionAPI) {
|
|
|
1193
1186
|
durationMs: 0,
|
|
1194
1187
|
cwd: params.cwd ?? ctx.cwd,
|
|
1195
1188
|
},
|
|
1196
|
-
isError: true,
|
|
1197
1189
|
};
|
|
1198
1190
|
}
|
|
1199
1191
|
selection = selectionResult.selection;
|
|
@@ -1213,7 +1205,6 @@ export default function oracleExtension(pi: ExtensionAPI) {
|
|
|
1213
1205
|
return {
|
|
1214
1206
|
content: [{ type: "text", text: result.error }],
|
|
1215
1207
|
details: result.details,
|
|
1216
|
-
isError: true,
|
|
1217
1208
|
};
|
|
1218
1209
|
}
|
|
1219
1210
|
|
|
@@ -1244,7 +1235,8 @@ export default function oracleExtension(pi: ExtensionAPI) {
|
|
|
1244
1235
|
const body = result.content[0]?.type === "text" ? result.content[0].text : "(no output)";
|
|
1245
1236
|
if (!details) return new Text(body, 0, 0);
|
|
1246
1237
|
|
|
1247
|
-
const
|
|
1238
|
+
const isError = (details.exitCode ?? 0) !== 0;
|
|
1239
|
+
const icon = isError ? theme.fg("error", "✗") : theme.fg("success", "✓");
|
|
1248
1240
|
const header = `${icon} ${theme.fg("toolTitle", theme.bold("oracle "))}${theme.fg("accent", details.modelRef || "(auto)")}`;
|
|
1249
1241
|
const subheader = [
|
|
1250
1242
|
details.thinkingLevel !== "off" ? details.thinkingLevel : undefined,
|
|
@@ -1260,7 +1252,7 @@ export default function oracleExtension(pi: ExtensionAPI) {
|
|
|
1260
1252
|
if (subheader) text += `\n${theme.fg("dim", subheader)}`;
|
|
1261
1253
|
text += `\n\n${theme.fg("toolOutput", renderCollapsedText(body))}`;
|
|
1262
1254
|
if (usage) text += `\n\n${theme.fg("dim", usage)}`;
|
|
1263
|
-
if (
|
|
1255
|
+
if (isError && details.stderr) text += `\n${theme.fg("error", renderCollapsedText(details.stderr, 4))}`;
|
|
1264
1256
|
text += `\n${theme.fg("muted", "(Ctrl+O to expand)")}`;
|
|
1265
1257
|
return new Text(text, 0, 0);
|
|
1266
1258
|
}
|
|
@@ -1283,7 +1275,7 @@ export default function oracleExtension(pi: ExtensionAPI) {
|
|
|
1283
1275
|
container.addChild(new Spacer(1));
|
|
1284
1276
|
container.addChild(new Text(theme.fg("muted", "stderr"), 0, 0));
|
|
1285
1277
|
container.addChild(
|
|
1286
|
-
new Text(
|
|
1278
|
+
new Text(isError ? theme.fg("error", details.stderr) : theme.fg("dim", details.stderr), 0, 0),
|
|
1287
1279
|
);
|
|
1288
1280
|
}
|
|
1289
1281
|
return container;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-oracle",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "An Amp-style oracle extension for pi that consults the strongest reasoning model on your current provider.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"oracle",
|
|
9
|
+
"reasoning",
|
|
10
|
+
"subagent"
|
|
11
|
+
],
|
|
6
12
|
"license": "MIT",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -11,7 +17,8 @@
|
|
|
11
17
|
},
|
|
12
18
|
"files": [
|
|
13
19
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
20
|
+
"README.md",
|
|
21
|
+
".pi-fleet-tested-version"
|
|
15
22
|
],
|
|
16
23
|
"publishConfig": {
|
|
17
24
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-permission-gate",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A pi extension that prompts before dangerous bash commands.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"security",
|
|
9
|
+
"bash"
|
|
10
|
+
],
|
|
6
11
|
"license": "MIT",
|
|
7
12
|
"repository": {
|
|
8
13
|
"type": "git",
|
|
@@ -11,7 +16,8 @@
|
|
|
11
16
|
},
|
|
12
17
|
"files": [
|
|
13
18
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
19
|
+
"README.md",
|
|
20
|
+
".pi-fleet-tested-version"
|
|
15
21
|
],
|
|
16
22
|
"publishConfig": {
|
|
17
23
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-quiet-tools",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
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
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"tools",
|
|
9
|
+
"terminal",
|
|
10
|
+
"tui"
|
|
11
|
+
],
|
|
6
12
|
"license": "MIT",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -11,7 +17,8 @@
|
|
|
11
17
|
},
|
|
12
18
|
"files": [
|
|
13
19
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
20
|
+
"README.md",
|
|
21
|
+
".pi-fleet-tested-version"
|
|
15
22
|
],
|
|
16
23
|
"publishConfig": {
|
|
17
24
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-review",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A standalone pi extension that adds /review and /end-review commands adapted from mitsuhiko/agent-stuff.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"review",
|
|
9
|
+
"code-review",
|
|
10
|
+
"git",
|
|
11
|
+
"github"
|
|
12
|
+
],
|
|
6
13
|
"license": "Apache-2.0",
|
|
7
14
|
"repository": {
|
|
8
15
|
"type": "git",
|
|
@@ -12,7 +19,8 @@
|
|
|
12
19
|
"files": [
|
|
13
20
|
"index.ts",
|
|
14
21
|
"README.md",
|
|
15
|
-
"LICENSE"
|
|
22
|
+
"LICENSE",
|
|
23
|
+
".pi-fleet-tested-version"
|
|
16
24
|
],
|
|
17
25
|
"publishConfig": {
|
|
18
26
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-todo",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A pi extension that adds a branch-aware todo tool and /todos viewer.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"todo",
|
|
9
|
+
"tool",
|
|
10
|
+
"session"
|
|
11
|
+
],
|
|
6
12
|
"license": "MIT",
|
|
7
13
|
"repository": {
|
|
8
14
|
"type": "git",
|
|
@@ -11,7 +17,8 @@
|
|
|
11
17
|
},
|
|
12
18
|
"files": [
|
|
13
19
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
20
|
+
"README.md",
|
|
21
|
+
".pi-fleet-tested-version"
|
|
15
22
|
],
|
|
16
23
|
"publishConfig": {
|
|
17
24
|
"access": "public"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.76.0
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-triage-comments",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "A pi extension that adds /triage-comments and a read-only triage_comments subagent tool for review-comment triage.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"pi-package",
|
|
7
|
+
"pi",
|
|
8
|
+
"triage",
|
|
9
|
+
"comments",
|
|
10
|
+
"review",
|
|
11
|
+
"subagent"
|
|
12
|
+
],
|
|
6
13
|
"license": "MIT",
|
|
7
14
|
"repository": {
|
|
8
15
|
"type": "git",
|
|
@@ -11,7 +18,8 @@
|
|
|
11
18
|
},
|
|
12
19
|
"files": [
|
|
13
20
|
"index.ts",
|
|
14
|
-
"README.md"
|
|
21
|
+
"README.md",
|
|
22
|
+
".pi-fleet-tested-version"
|
|
15
23
|
],
|
|
16
24
|
"publishConfig": {
|
|
17
25
|
"access": "public"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diegopetrucci/pi-extensions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.35",
|
|
4
4
|
"description": "A collection of pi extensions for context management, workflow audits, review-comment triage, notifications, brrr push alerts, safety guards, GitHub research, repo-local knowledge, todos, tool rendering, and model/provider helpers.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
"extensions",
|
|
18
18
|
"assets",
|
|
19
19
|
"README.md",
|
|
20
|
-
"LICENSE"
|
|
20
|
+
"LICENSE",
|
|
21
|
+
".pi-fleet-tested-version"
|
|
21
22
|
],
|
|
22
23
|
"workspaces": [
|
|
23
24
|
"extensions/*"
|
|
@@ -53,5 +54,14 @@
|
|
|
53
54
|
"./extensions/triage-comments/index.ts"
|
|
54
55
|
],
|
|
55
56
|
"image": "https://raw.githubusercontent.com/diegopetrucci/pi-extensions/main/assets/oracle-preview.svg"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@earendil-works/pi-ai": "^0.76.0",
|
|
60
|
+
"@earendil-works/pi-coding-agent": "^0.76.0",
|
|
61
|
+
"@earendil-works/pi-tui": "^0.76.0",
|
|
62
|
+
"@types/node": "^25.9.1",
|
|
63
|
+
"husky": "^9.1.7",
|
|
64
|
+
"typebox": "^1.1.38",
|
|
65
|
+
"typescript": "^6.0.3"
|
|
56
66
|
}
|
|
57
67
|
}
|