@nmzpy/pi-ember-stack 0.1.3 → 0.1.4
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/ATTRIBUTION.md +3 -2
- package/README.md +8 -7
- package/package.json +1 -1
- package/plugins/index.ts +17 -9
- package/plugins/pi-compact-tools/index.ts +55 -964
- package/plugins/pi-custom-agents/index.ts +932 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/LICENSE +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/README.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/agent-format.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/agents/architect.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/agents/coder.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/agents/general-purpose.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/agents/reviewer.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/agents/scout.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/agents/worker.md +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/agents.ts +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/index.ts +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/model.ts +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/package.json +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/render.ts +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/runner.ts +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/service.ts +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/thread-viewer.ts +0 -0
- /package/plugins/{subagent → pi-custom-agents/subagent}/extensions/threads.ts +0 -0
package/ATTRIBUTION.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# Attribution
|
|
2
2
|
|
|
3
|
-
`plugins/subagent/extensions/` and the upstream bundled agent
|
|
3
|
+
`plugins/pi-custom-agents/subagent/extensions/` and the upstream bundled agent
|
|
4
|
+
files were vendored
|
|
4
5
|
from `@bacnh85/pi-subagent` version `0.5.0`.
|
|
5
6
|
|
|
6
7
|
The upstream package declares the MIT license. The vendored subtree retains
|
|
7
|
-
that license in `plugins/subagent/LICENSE`, along with the original README, agent
|
|
8
|
+
that license in `plugins/pi-custom-agents/subagent/LICENSE`, along with the original README, agent
|
|
8
9
|
format documentation, bundled roles, package version, and attribution.
|
|
9
10
|
Upstream project: <https://github.com/bacnh85/pi-extensions>.
|
|
10
11
|
|
package/README.md
CHANGED
|
@@ -23,15 +23,15 @@ plugins under `plugins/`. Ember projects enable them in `.pi/ember-stack.json`:
|
|
|
23
23
|
|
|
24
24
|
```json
|
|
25
25
|
{
|
|
26
|
-
"plugins": ["pi-compact-tools", "
|
|
26
|
+
"plugins": ["pi-compact-tools", "pi-custom-agents", "devin-auth"]
|
|
27
27
|
}
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Remove a plugin ID to disable it, or use `/stack-plugins` to toggle one from
|
|
31
31
|
the TUI. Restart pi after changing the list. The available plugins are:
|
|
32
32
|
|
|
33
|
-
- `pi-compact-tools`:
|
|
34
|
-
- `
|
|
33
|
+
- `pi-compact-tools`: collapsed native edit rendering and questionnaire UI.
|
|
34
|
+
- `pi-custom-agents`: primary modes, plans, subagent tool, and bundled agent definitions.
|
|
35
35
|
- `devin-auth`: Devin provider, OAuth, catalog refresh, and streaming.
|
|
36
36
|
|
|
37
37
|
## Project setup
|
|
@@ -39,7 +39,7 @@ the TUI. Restart pi after changing the list. The available plugins are:
|
|
|
39
39
|
The Ember repository contains a project-local `.pi/settings.json` entry for:
|
|
40
40
|
|
|
41
41
|
```json
|
|
42
|
-
"npm:@nmzpy/pi-ember-stack@0.1.
|
|
42
|
+
"npm:@nmzpy/pi-ember-stack@0.1.4"
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
On a new clone, start pi from the project directory. Pi will ask for a
|
|
@@ -68,9 +68,10 @@ of this repository.
|
|
|
68
68
|
|
|
69
69
|
## Development
|
|
70
70
|
|
|
71
|
-
The package entrypoint is `plugins/index.ts`. Compact tools
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
The package entrypoint is `plugins/index.ts`. Compact tools are under
|
|
72
|
+
`plugins/pi-compact-tools/`, while primary modes, plans, subagents, and bundled
|
|
73
|
+
agents are under `plugins/pi-custom-agents/`. Devin auth is under
|
|
74
|
+
`plugins/devin-auth/`.
|
|
74
75
|
|
|
75
76
|
Run the package typecheck with:
|
|
76
77
|
|
package/package.json
CHANGED
package/plugins/index.ts
CHANGED
|
@@ -4,13 +4,18 @@ import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
|
4
4
|
|
|
5
5
|
import devinAuthPlugin from "./devin-auth/extensions/index.ts";
|
|
6
6
|
import piCompactToolsPlugin from "./pi-compact-tools/index.ts";
|
|
7
|
-
import
|
|
7
|
+
import piCustomAgentsPlugin, {
|
|
8
|
+
type PiCustomAgentsOptions,
|
|
9
|
+
} from "./pi-custom-agents/index.ts";
|
|
8
10
|
|
|
9
|
-
type PluginId = "pi-compact-tools" | "
|
|
11
|
+
type PluginId = "pi-compact-tools" | "pi-custom-agents" | "devin-auth";
|
|
10
12
|
type StackPlugin = {
|
|
11
13
|
id: PluginId;
|
|
12
14
|
description: string;
|
|
13
|
-
extension: (
|
|
15
|
+
extension: (
|
|
16
|
+
pi: ExtensionAPI,
|
|
17
|
+
options?: PiCustomAgentsOptions,
|
|
18
|
+
) => void | Promise<void>;
|
|
14
19
|
};
|
|
15
20
|
|
|
16
21
|
type StackPluginConfig = {
|
|
@@ -20,20 +25,20 @@ type StackPluginConfig = {
|
|
|
20
25
|
const CONFIG_RELATIVE_PATH = path.join(".pi", "ember-stack.json");
|
|
21
26
|
const DEFAULT_PLUGIN_IDS: readonly PluginId[] = [
|
|
22
27
|
"pi-compact-tools",
|
|
23
|
-
"
|
|
28
|
+
"pi-custom-agents",
|
|
24
29
|
"devin-auth",
|
|
25
30
|
];
|
|
26
31
|
|
|
27
32
|
const PLUGINS: readonly StackPlugin[] = [
|
|
28
33
|
{
|
|
29
34
|
id: "pi-compact-tools",
|
|
30
|
-
description: "
|
|
35
|
+
description: "Collapsed native edit rendering and questionnaire UI",
|
|
31
36
|
extension: piCompactToolsPlugin,
|
|
32
37
|
},
|
|
33
38
|
{
|
|
34
|
-
id: "
|
|
35
|
-
description: "
|
|
36
|
-
extension:
|
|
39
|
+
id: "pi-custom-agents",
|
|
40
|
+
description: "Primary modes, plans, subagents, and bundled agent definitions",
|
|
41
|
+
extension: piCustomAgentsPlugin,
|
|
37
42
|
},
|
|
38
43
|
{
|
|
39
44
|
id: "devin-auth",
|
|
@@ -130,9 +135,12 @@ function registerPluginCommand(
|
|
|
130
135
|
export default async function piEmberStackPlugin(pi: ExtensionAPI): Promise<void> {
|
|
131
136
|
const cwd = process.cwd();
|
|
132
137
|
const enabledPlugins = readEnabledPlugins(cwd);
|
|
138
|
+
const pluginOptions: PiCustomAgentsOptions = {
|
|
139
|
+
compactToolsEnabled: enabledPlugins.has("pi-compact-tools"),
|
|
140
|
+
};
|
|
133
141
|
for (const plugin of PLUGINS) {
|
|
134
142
|
if (!enabledPlugins.has(plugin.id)) continue;
|
|
135
|
-
await plugin.extension(pi);
|
|
143
|
+
await plugin.extension(pi, pluginOptions);
|
|
136
144
|
}
|
|
137
145
|
registerPluginCommand(pi, cwd, enabledPlugins);
|
|
138
146
|
}
|