@illusoryai/pi-agents 0.1.4 → 0.1.6

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/agents/planner.md CHANGED
@@ -4,6 +4,7 @@ description: Analysis and implementation plans
4
4
  model: claude-opus-4-6
5
5
  thinking: high
6
6
  tools: read, bash, grep, find, ls
7
+ extensions: []
7
8
  output: plan.md
8
9
  defaultReads: context.md
9
10
  ---
package/agents/scout.md CHANGED
@@ -4,6 +4,7 @@ description: Fast codebase recon
4
4
  model: claude-haiku-4-5
5
5
  thinking: high
6
6
  tools: read, bash, grep, find, ls
7
+ extensions: []
7
8
  output: context.md
8
9
  ---
9
10
 
@@ -4,6 +4,7 @@ description: Executes work with full td lifecycle
4
4
  model: claude-opus-4-6
5
5
  thinking: high
6
6
  tools: read, write, edit, bash, td
7
+ extensions: []
7
8
  defaultReads: context.md, plan.md
8
9
  skill: td-tasks
9
10
  ---
package/install.mjs CHANGED
@@ -14,18 +14,44 @@ const PEERS = ["pi-subagents"];
14
14
  const __dirname = dirname(fileURLToPath(import.meta.url));
15
15
  const globalModules = join(__dirname, "..", "..");
16
16
 
17
- // 1. Install missing peer deps globally
17
+ // 1. Install or update peer deps globally
18
+ function getInstalledVersion(peerPath) {
19
+ try {
20
+ const pkg = JSON.parse(readFileSync(join(peerPath, "package.json"), "utf8"));
21
+ return pkg.version || null;
22
+ } catch {
23
+ return null;
24
+ }
25
+ }
26
+
27
+ function getLatestVersion(peer) {
28
+ try {
29
+ return execSync(`npm view ${peer} version`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], timeout: 10000 }).trim();
30
+ } catch {
31
+ return null;
32
+ }
33
+ }
34
+
18
35
  for (const peer of PEERS) {
19
36
  const peerPath = join(globalModules, peer);
20
- if (!existsSync(peerPath)) {
37
+ const installed = getInstalledVersion(peerPath);
38
+ const latest = getLatestVersion(peer);
39
+
40
+ if (!installed) {
21
41
  console.log(`[pi-agents] Installing peer: ${peer}`);
22
42
  try {
23
43
  execSync(`npm install -g ${peer}`, { stdio: "pipe" });
24
- console.log(`[pi-agents] Installed ${peer}`);
44
+ console.log(`[pi-agents] Installed ${peer}@${latest || "latest"}`);
45
+ } catch {
46
+ console.warn(`[pi-agents] Could not auto-install ${peer}. Run: pi install npm:${peer}`);
47
+ }
48
+ } else if (latest && installed !== latest) {
49
+ console.log(`[pi-agents] Updating peer: ${peer} (${installed} → ${latest})`);
50
+ try {
51
+ execSync(`npm install -g ${peer}@${latest}`, { stdio: "pipe" });
52
+ console.log(`[pi-agents] Updated ${peer} to ${latest}`);
25
53
  } catch {
26
- console.warn(
27
- `[pi-agents] Could not auto-install ${peer}. Run: pi install npm:${peer}`
28
- );
54
+ console.warn(`[pi-agents] Could not auto-update ${peer}. Run: pi install npm:${peer}`);
29
55
  }
30
56
  }
31
57
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@illusoryai/pi-agents",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "keywords": [