@jiggai/recipes 0.4.72 → 0.4.73

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/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
 
@@ -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,
@@ -797,19 +796,6 @@ workflows
797
796
  console.log(JSON.stringify({ ok: true, moved: { from: res.from, to: res.to } }, null, 2));
798
797
  });
799
798
 
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
799
 
814
800
  cmd
815
801
  .command("assign")
@@ -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.4.72",
5
+ "version": "0.4.73",
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.ts"
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.4.72",
3
+ "version": "0.4.73",
4
4
  "description": "ClawRecipes plugin for OpenClaw (markdown recipes -> scaffold agents/teams)",
5
- "main": "index.ts",
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.3"
13
+ "pluginApiRange": ">=2026.5"
14
14
  },
15
15
  "build": {
16
- "openclawVersion": "2026.4.20"
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": [
@@ -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 builtinDir = path.resolve(__dirname, "..", "..", "recipes", "default");
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 }> = [];