@llblab/pi-actors 0.16.0 → 0.16.1
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 +6 -0
- package/lib/recipe-discovery.ts +6 -1
- package/lib/runtime.ts +8 -2
- package/package.json +1 -1
- package/skills/actors/SKILL.md +1 -1
- package/skills/swarm/SKILL.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.16.1: Recipe Registry Hotfix
|
|
4
|
+
|
|
5
|
+
- `[Runtime]` Prevented invalid user recipe files from aborting extension startup when tool-schema generation fails, surfacing a warning and skipping the offending tool instead. Impact: one bad recipe in `~/.pi/agent/recipes` no longer takes down the pi-actors extension.
|
|
6
|
+
- `[Recipe Discovery]` Excluded the legacy migration report file from recipe discovery. Impact: `actors-tools-migration-report.json` no longer appears as a broken recipe/tool candidate after migration.
|
|
7
|
+
- `[Package]` Bumped package and packaged skill metadata to `0.16.1` for the hotfix release.
|
|
8
|
+
|
|
3
9
|
## 0.16.0: File-Discovered Recipe Registry Migration
|
|
4
10
|
|
|
5
11
|
- `[Version]` Began the `0.16.0` breaking-change cycle and captured the file-discovered recipe registry migration plan in `BACKLOG.md`. Impact: the next release target is now explicit: replace `actors-tools.json` as live registry with validated recipe files, filename identity, `tool` exposure, override/disable semantics, migration reporting, registry inspection, and usage-informed cleanup.
|
package/lib/recipe-discovery.ts
CHANGED
|
@@ -44,7 +44,12 @@ export interface RecipeDiscoverySource {
|
|
|
44
44
|
function listRecipeFiles(root: string): string[] {
|
|
45
45
|
if (!existsSync(root)) return [];
|
|
46
46
|
return readdirSync(root, { withFileTypes: true })
|
|
47
|
-
.filter(
|
|
47
|
+
.filter(
|
|
48
|
+
(entry) =>
|
|
49
|
+
entry.isFile() &&
|
|
50
|
+
entry.name.endsWith(".json") &&
|
|
51
|
+
entry.name !== "actors-tools-migration-report.json",
|
|
52
|
+
)
|
|
48
53
|
.map((entry) => join(root, entry.name))
|
|
49
54
|
.sort();
|
|
50
55
|
}
|
package/lib/runtime.ts
CHANGED
|
@@ -119,8 +119,14 @@ export function createAutoToolsRuntime(
|
|
|
119
119
|
warnings.push(...discovered.diagnostics);
|
|
120
120
|
tools.clear();
|
|
121
121
|
for (const entry of discovered.active.values()) {
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
try {
|
|
123
|
+
const cfg = RecipeDiscovery.toRegisteredTool(entry);
|
|
124
|
+
if (cfg) tools.set(cfg.name, cfg);
|
|
125
|
+
} catch (error) {
|
|
126
|
+
warnings.push(
|
|
127
|
+
`Recipe ${entry.id} could not be exposed as a tool: ${error instanceof Error ? error.message : String(error)}`,
|
|
128
|
+
);
|
|
129
|
+
}
|
|
124
130
|
}
|
|
125
131
|
deactivateMissingRuntimeTools(new Set(tools.keys()));
|
|
126
132
|
for (const cfg of tools.values()) {
|
package/package.json
CHANGED
package/skills/actors/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: actors
|
|
3
3
|
description: Highest-density practical guide for pi-actors. Read this skill whenever prompt and tools are not enough for spawn, message, inspect, actor runs, tools, recipes, command templates, async lifecycle, mailboxes, artifacts, and local orchestration mechanics.
|
|
4
4
|
metadata:
|
|
5
|
-
version: 0.16.
|
|
5
|
+
version: 0.16.1
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Actors (pi-actors)
|
package/skills/swarm/SKILL.md
CHANGED