@deeeed/metamask-harness 0.53.0 → 0.54.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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.54.0 - 2026-09-17
6
+
7
+ ### Changed
8
+
9
+ - Farmslot protocol 0.28.0 and agent-runtime 0.10.0: an execution template no longer declares a run mode, so `task init` stops defaulting `--run-mode`. The flag stays accepted for a control plane that has one to pass; omit it for a skill or manual run and nothing invents a mode. Help, README, and site examples use the plain template ids the catalog now offers (`fix-bug/mobile`, `review-pr/static-perps.mobile`). Pins recipe-harness 0.16.3 and expo-recipe 0.9.2, the builds that also carry protocol 0.28.0, so a packed install keeps one protocol copy.
10
+
5
11
  ## 0.53.0 - 2026-09-17
6
12
 
7
13
  ### Added
package/README.md CHANGED
@@ -129,7 +129,7 @@ mm-harness execution-template list --package-templates <catalog> --json
129
129
 
130
130
  # Write the task directory the agent works from.
131
131
  mm-harness task init temp/tasks/fix/TAT-1 \
132
- --flow fix-bug --run-mode autonomous --template fix-bug/autonomous.mobile \
132
+ --flow fix-bug --template fix-bug/mobile \
133
133
  --package-templates <catalog> --title "Wrong total on the receipt" --ticket TAT-1
134
134
 
135
135
  # Bring the checkout to a proven-ready state before the first step.
@@ -158,7 +158,7 @@ const PUBLIC_COMMAND_CONTRACTS = {
158
158
  })
159
159
  },
160
160
  task: {
161
- usage: "mm-harness task init <task-dir> --flow f --run-mode m --template id --title t [options]",
161
+ usage: "mm-harness task init <task-dir> --flow f --template id --title t [options]",
162
162
  options: options(HELP, JSON, {
163
163
  "--flow": value(),
164
164
  "--run-mode": value(["autonomous", "interactive", "validation"]),
@@ -11,7 +11,6 @@ function hasOption(argv, name) {
11
11
  function metamaskDefaults(argv) {
12
12
  const defaults = [];
13
13
  if (!hasOption(argv, "--surface")) defaults.push("--surface", "skill");
14
- if (!hasOption(argv, "--run-mode")) defaults.push("--run-mode", "autonomous");
15
14
  if (!hasOption(argv, "--mark-command")) {
16
15
  defaults.push("--mark-command", `${harnessExecutable()} checklist mark`);
17
16
  }
@@ -275,7 +275,7 @@ Example:
275
275
  {
276
276
  name: "task",
277
277
  summary: "Create the task directory an agent works from, out of a shared execution template.",
278
- example: 'mm-harness task init temp/tasks/fix/TAT-1 --flow fix-bug --run-mode autonomous --template fix-bug/autonomous.mobile --title "Wrong total"',
278
+ example: 'mm-harness task init temp/tasks/fix/TAT-1 --flow fix-bug --template fix-bug/mobile --title "Wrong total"',
279
279
  helpText: `mm-harness task init <task-dir> [options]
280
280
 
281
281
  Write the task directory from a selected execution template: TASK.md, the
@@ -283,8 +283,8 @@ Example:
283
283
  mm-harness checklist mark, and inputs/ (handoff.json, worker-terminal-contract.json).
284
284
  checklist-target.json is NOT written \u2014 absent means CHECKLIST.md + SIGNAL.json.
285
285
 
286
- Applied when you do not pass them: --surface skill, --run-mode autonomous,
287
- --mark-command for this executable, and --platform from the detected checkout.
286
+ Applied when you do not pass them: --surface skill, --mark-command for this
287
+ executable, and --platform from the detected checkout.
288
288
 
289
289
  Task:
290
290
  --title <t> Task title (required)
@@ -294,7 +294,9 @@ Task:
294
294
 
295
295
  Selection (same catalog as execution-template):
296
296
  --flow <flow> Exact flow (required)
297
- --run-mode <mode> autonomous|interactive|validation (default autonomous; set by a control plane)
297
+ --run-mode <mode> autonomous|interactive|validation (optional;
298
+ set by the Farmslot control plane, omit for
299
+ skill/manual runs)
298
300
  --platform <platform> Exact platform
299
301
  --template <id> Exact template id (required)
300
302
  --domain <domain> Exact domain
@@ -316,8 +318,8 @@ Identity and rendering:
316
318
  --json Machine-readable output
317
319
 
318
320
  Example:
319
- mm-harness task init temp/tasks/fix/TAT-1 --flow fix-bug --run-mode autonomous \\
320
- --template fix-bug/autonomous.mobile --package-templates <path> \\
321
+ mm-harness task init temp/tasks/fix/TAT-1 --flow fix-bug \\
322
+ --template fix-bug/mobile --package-templates <path> \\
321
323
  --title "Wrong total on the receipt" --ticket TAT-1 --json`
322
324
  },
323
325
  {
@@ -344,14 +346,16 @@ Common source/filter options:
344
346
  --project-name <name> Source label for project templates
345
347
  --flow <flow> Exact flow
346
348
  --platform <platform> Exact platform
347
- --run-mode <mode> autonomous|interactive|validation
349
+ --run-mode <mode> autonomous|interactive|validation (optional;
350
+ set by the Farmslot control plane, omit for
351
+ skill/manual runs)
348
352
  --domain <domain> Exact domain
349
353
  --id <id> Exact template id
350
354
  --json Machine-readable output
351
355
 
352
356
  Materialize:
353
357
  mm-harness execution-template materialize <output> --flow fix-bug \\
354
- --platform mobile --run-mode autonomous --id fix-bug/autonomous.mobile \\
358
+ --platform mobile --id fix-bug/mobile \\
355
359
  --package-templates <path> --provenance <path> --json`
356
360
  },
357
361
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deeeed/metamask-harness",
3
- "version": "0.53.0",
3
+ "version": "0.54.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "mm-harness": "bin/mm-harness"
@@ -20,11 +20,11 @@
20
20
  "check:syntax": "find . -name '*.mjs' -print0 | xargs -0 -n1 node --check"
21
21
  },
22
22
  "dependencies": {
23
- "@farmslot/agent-runtime": "0.9.0",
24
- "@farmslot/expo-recipe": "0.9.1",
23
+ "@farmslot/agent-runtime": "0.10.0",
24
+ "@farmslot/expo-recipe": "0.9.2",
25
25
  "@farmslot/handoff": "^0.3.1",
26
- "@farmslot/protocol": "0.26.0",
27
- "@farmslot/recipe-harness": "0.16.2",
26
+ "@farmslot/protocol": "0.28.0",
27
+ "@farmslot/recipe-harness": "0.16.3",
28
28
  "agent-device": "0.19.3",
29
29
  "commander": "^12.0.0",
30
30
  "es-module-lexer": "2.3.1",
@@ -448,7 +448,7 @@ async function checkBehavior(browserEndpoint, port, pages) {
448
448
  return checked;
449
449
  })()
450
450
  `);
451
- if (!previews.includes('review-pr/static-perps') || !previews.includes('qa/pr.extension')) {
451
+ if (!previews.includes('review-pr/static-perps.mobile') || !previews.includes('qa/pr.extension')) {
452
452
  throw new Error('Static review and QA previews must both be available');
453
453
  }
454
454
  const progress = await page.evaluate(String.raw`