pi-t3-bridge 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +2 -1
- package/amplike.ts +16 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Change log
|
|
2
2
|
|
|
3
|
+
## 0.7.2, 5 November 2026
|
|
4
|
+
|
|
5
|
+
Version 0.7.2 stops pi-amplike's permission prompt in T3 threads. T3 has its own permission system, so the bridge no longer loads amplike's `permissions` extension inside T3, and Pi no longer asks "Permission required ... Allow?" before bash commands there. Outside T3, amplike's `/permissions` and its prompts work as before.
|
|
6
|
+
|
|
3
7
|
## 0.7.1, 4 November 2026
|
|
4
8
|
|
|
5
9
|
Version 0.7.1 changes only the documentation. The README now covers all four extensions and the pi-amplike adapter, and the package now ships this change log.
|
package/README.md
CHANGED
|
@@ -289,8 +289,9 @@ In a T3 thread, the adapter changes the following parts of amplike:
|
|
|
289
289
|
| `handoff` tool and `/handoff <goal>` | Writes a summary with the session model, then starts a new T3 thread. The current thread keeps its own session file. |
|
|
290
290
|
| `/mode` | Works as in the terminal, and sends each model and thinking change to T3, so T3's model picker shows the same model. |
|
|
291
291
|
| Shortcuts | The adapter turns them off, because T3 sends Pi no key presses. |
|
|
292
|
+
| `/permissions` and its bash prompts | The adapter doesn't load them, because T3 has its own permission system and amplike's prompt would ask a second time. |
|
|
292
293
|
|
|
293
|
-
`session_query
|
|
294
|
+
`session_query` and amplike's skills work unchanged. The diagram below shows the three commands that talk to T3.
|
|
294
295
|
|
|
295
296
|
```mermaid
|
|
296
297
|
sequenceDiagram
|
package/amplike.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
|
|
1
3
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
2
4
|
|
|
3
5
|
import {
|
|
@@ -8,6 +10,10 @@ import {
|
|
|
8
10
|
import { t3View } from "./src/amplike/t3-view.ts";
|
|
9
11
|
import { insideT3 } from "./src/bridge/t3-http.ts";
|
|
10
12
|
|
|
13
|
+
// T3 asks the user before risky tool calls itself, so amplike's bash prompt
|
|
14
|
+
// would ask a second time.
|
|
15
|
+
const T3_SKIPPED_EXTENSIONS: ReadonlySet<string> = new Set(["permissions"]);
|
|
16
|
+
|
|
11
17
|
// Loads pi-amplike's extensions in place of Pi, so a T3 thread gets T3's
|
|
12
18
|
// versions of the parts T3 can't show. Outside T3 amplike loads unchanged.
|
|
13
19
|
// It runs only when the settings entry for amplike turns its extensions off.
|
|
@@ -33,11 +39,17 @@ const amplikeExtension = async (pi: ExtensionAPI): Promise<void> => {
|
|
|
33
39
|
return;
|
|
34
40
|
}
|
|
35
41
|
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
const inT3 = insideT3();
|
|
43
|
+
|
|
44
|
+
const host = inT3 ? t3View(pi, await loadModeSpecFrom(amplike.root)) : pi;
|
|
45
|
+
|
|
46
|
+
const files = inT3
|
|
47
|
+
? amplike.extensions.filter(
|
|
48
|
+
(file) => !T3_SKIPPED_EXTENSIONS.has(path.parse(file).name)
|
|
49
|
+
)
|
|
50
|
+
: amplike.extensions;
|
|
39
51
|
|
|
40
|
-
const factories = await Promise.all(
|
|
52
|
+
const factories = await Promise.all(files.map(loadFactory));
|
|
41
53
|
|
|
42
54
|
// Each call starts in file order, as when Pi loads the files itself.
|
|
43
55
|
await Promise.all(factories.map((factory) => factory(host)));
|