@jiggai/recipes 0.4.72 → 0.5.0
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/README.md +0 -1
- package/dist/index.js +15592 -0
- package/docs/COMMANDS.md +0 -6
- package/docs/TEAM_WORKFLOW.md +0 -5
- package/index.ts +5 -20
- package/openclaw.plugin.json +2 -2
- package/package.json +16 -9
- package/src/lib/recipes.ts +2 -1
package/docs/COMMANDS.md
CHANGED
|
@@ -221,12 +221,6 @@ openclaw recipes handoff --team-id development-team --ticket 0007 --tester test
|
|
|
221
221
|
openclaw recipes complete --team-id development-team --ticket 0007
|
|
222
222
|
```
|
|
223
223
|
|
|
224
|
-
### Clean up stale assignment stubs for done work
|
|
225
|
-
|
|
226
|
-
```bash
|
|
227
|
-
openclaw recipes cleanup-closed-assignments --team-id development-team
|
|
228
|
-
openclaw recipes cleanup-closed-assignments --team-id development-team --ticket 0050 0064
|
|
229
|
-
```
|
|
230
224
|
|
|
231
225
|
---
|
|
232
226
|
|
package/docs/TEAM_WORKFLOW.md
CHANGED
|
@@ -157,11 +157,6 @@ openclaw recipes move-ticket --team-id development-team --ticket 0007 --to done
|
|
|
157
157
|
openclaw recipes assign --team-id development-team --ticket 0007 --owner devops
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
-
### Clean up stale assignment stubs for closed work
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
openclaw recipes cleanup-closed-assignments --team-id development-team
|
|
164
|
-
```
|
|
165
160
|
|
|
166
161
|
---
|
|
167
162
|
|
package/index.ts
CHANGED
|
@@ -27,7 +27,6 @@ import {
|
|
|
27
27
|
} from "./src/handlers/install";
|
|
28
28
|
import {
|
|
29
29
|
handleAssign,
|
|
30
|
-
handleCleanupClosedAssignments,
|
|
31
30
|
handleDispatch,
|
|
32
31
|
handleHandoff,
|
|
33
32
|
handleMoveTicket,
|
|
@@ -245,9 +244,10 @@ const recipesPlugin = {
|
|
|
245
244
|
api.on("message_received" as never, approvalReplyHandler as never, { priority: 50 } as unknown as { priority: number });
|
|
246
245
|
|
|
247
246
|
|
|
248
|
-
//
|
|
249
|
-
//
|
|
250
|
-
|
|
247
|
+
// Ensure multi-agent config has an explicit agents.list with main at top.
|
|
248
|
+
// Deferred to gateway_start because api.runtime.config.current() is not
|
|
249
|
+
// available during register() in OpenClaw 2026.5.x.
|
|
250
|
+
api.on("gateway_start", async () => {
|
|
251
251
|
try {
|
|
252
252
|
const cfgObj = await loadOpenClawConfig(api);
|
|
253
253
|
const before = JSON.stringify(cfgObj.agents?.list ?? null);
|
|
@@ -259,11 +259,9 @@ const recipesPlugin = {
|
|
|
259
259
|
console.error("[recipes] ensured agents.list includes main as first/default");
|
|
260
260
|
}
|
|
261
261
|
} catch (e) {
|
|
262
|
-
// Keep install/scaffold warning-free; this is non-critical and can fail on locked-down configs.
|
|
263
|
-
// (If needed, diagnose via debug logs instead of emitting warnings.)
|
|
264
262
|
console.error(`[recipes] note: failed to ensure main agent in agents.list: ${(e as Error).message}`);
|
|
265
263
|
}
|
|
266
|
-
})
|
|
264
|
+
});
|
|
267
265
|
|
|
268
266
|
api.registerCli(
|
|
269
267
|
({ program }) => {
|
|
@@ -797,19 +795,6 @@ workflows
|
|
|
797
795
|
console.log(JSON.stringify({ ok: true, moved: { from: res.from, to: res.to } }, null, 2));
|
|
798
796
|
});
|
|
799
797
|
|
|
800
|
-
cmd
|
|
801
|
-
.command("cleanup-closed-assignments")
|
|
802
|
-
.description("Archive assignment stubs for tickets already in work/done (prevents done work resurfacing)")
|
|
803
|
-
.requiredOption("--team-id <teamId>", "Team id")
|
|
804
|
-
.option("--ticket <ticketNums...>", "Optional ticket numbers to target (e.g. 0050 0064)")
|
|
805
|
-
.action(async (options: { teamId?: string; ticket?: string[] }) => {
|
|
806
|
-
if (!options.teamId) throw new Error("--team-id is required");
|
|
807
|
-
const res = await handleCleanupClosedAssignments(api, {
|
|
808
|
-
teamId: options.teamId,
|
|
809
|
-
ticketNums: options.ticket,
|
|
810
|
-
});
|
|
811
|
-
console.log(JSON.stringify(res, null, 2));
|
|
812
|
-
});
|
|
813
798
|
|
|
814
799
|
cmd
|
|
815
800
|
.command("assign")
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "recipes",
|
|
3
3
|
"name": "Recipes",
|
|
4
4
|
"description": "Markdown recipes that scaffold agents and teams (workspace-local).",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.5.0",
|
|
6
6
|
"configSchema": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"help": "Controls whether recipe-defined cron jobs are installed during scaffold. off=never, prompt=ask, on=auto-install."
|
|
73
73
|
}
|
|
74
74
|
},
|
|
75
|
-
"main": "index.
|
|
75
|
+
"main": "dist/index.js"
|
|
76
76
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jiggai/recipes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "ClawRecipes plugin for OpenClaw (markdown recipes -> scaffold agents/teams)",
|
|
5
|
-
"main": "index.
|
|
5
|
+
"main": "dist/index.js",
|
|
6
6
|
"type": "commonjs",
|
|
7
7
|
"openclaw": {
|
|
8
8
|
"extensions": [
|
|
@@ -10,16 +10,20 @@
|
|
|
10
10
|
],
|
|
11
11
|
"compat": {
|
|
12
12
|
"pluginApi": ">=1.0.0",
|
|
13
|
-
"pluginApiRange": ">=2026.
|
|
13
|
+
"pluginApiRange": ">=2026.5"
|
|
14
14
|
},
|
|
15
15
|
"build": {
|
|
16
|
-
"openclawVersion": "2026.
|
|
17
|
-
}
|
|
16
|
+
"openclawVersion": "2026.5.7"
|
|
17
|
+
},
|
|
18
|
+
"runtimeExtensions": [
|
|
19
|
+
"./dist/index.js"
|
|
20
|
+
]
|
|
18
21
|
},
|
|
19
22
|
"publishConfig": {
|
|
20
23
|
"access": "public"
|
|
21
24
|
},
|
|
22
25
|
"files": [
|
|
26
|
+
"dist/",
|
|
23
27
|
"index.ts",
|
|
24
28
|
"src/",
|
|
25
29
|
"openclaw.plugin.json",
|
|
@@ -44,9 +48,11 @@
|
|
|
44
48
|
"jscpd": "jscpd src/ index.ts --min-lines 8 --min-tokens 50",
|
|
45
49
|
"prepare": "husky || true",
|
|
46
50
|
"check:plugin-version": "node scripts/check-openclaw-plugin-version.mjs",
|
|
47
|
-
"prepack": "npm run -s sync:plugin-version && npm run -s check:plugin-version",
|
|
48
|
-
"prepublishOnly": "npm run -s sync:plugin-version && npm run -s check:plugin-version",
|
|
49
|
-
"sync:plugin-version": "node scripts/sync-openclaw-plugin-version.mjs"
|
|
51
|
+
"prepack": "npm run -s build:plugin && npm run -s sync:plugin-version && npm run -s check:plugin-version",
|
|
52
|
+
"prepublishOnly": "npm run -s build:plugin && npm run -s sync:plugin-version && npm run -s check:plugin-version",
|
|
53
|
+
"sync:plugin-version": "node scripts/sync-openclaw-plugin-version.mjs",
|
|
54
|
+
"build:plugin": "esbuild index.ts --bundle --platform=node --format=cjs --target=node20 --outfile=dist/index.js --external:openclaw/plugin-sdk",
|
|
55
|
+
"verify:runtime-package": "node scripts/verify-runtime-package.mjs"
|
|
50
56
|
},
|
|
51
57
|
"keywords": [
|
|
52
58
|
"openclaw",
|
|
@@ -69,7 +75,8 @@
|
|
|
69
75
|
"jscpd": "^4.0.5",
|
|
70
76
|
"lint-staged": "^16.2.7",
|
|
71
77
|
"typescript-eslint": "^8.18.0",
|
|
72
|
-
"vitest": "^3.2.4"
|
|
78
|
+
"vitest": "^3.2.4",
|
|
79
|
+
"esbuild": "^0.27.3"
|
|
73
80
|
},
|
|
74
81
|
"lint-staged": {
|
|
75
82
|
"*.ts": [
|
package/src/lib/recipes.ts
CHANGED
|
@@ -18,7 +18,8 @@ export function workspacePath(api: OpenClawPluginApi, ...parts: string[]) {
|
|
|
18
18
|
* @returns Array of { source, path }
|
|
19
19
|
*/
|
|
20
20
|
export async function listRecipeFiles(api: OpenClawPluginApi, cfg: Required<RecipesConfig>) {
|
|
21
|
-
const
|
|
21
|
+
const pluginRoot = api.rootDir ?? path.resolve(__dirname, "..", "..");
|
|
22
|
+
const builtinDir = path.resolve(pluginRoot, "recipes", "default");
|
|
22
23
|
const workspaceDir = workspacePath(api, cfg.workspaceRecipesDir);
|
|
23
24
|
|
|
24
25
|
const out: Array<{ source: "builtin" | "workspace"; path: string }> = [];
|