@farmslot/agent-runtime 0.11.0 → 0.12.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
@@ -4,6 +4,10 @@
4
4
 
5
5
  - Active-development baseline; add user-facing changes here before release or package publication.
6
6
 
7
+ ## 0.12.0 - 2026-09-18
8
+
9
+ - `mark` records step names in SIGNAL.json (`step` and every `checklistTiming` event label) through the protocol's `checklistStepName`, the same name the gateway schema, Command Center and `mm-harness status --watch` show; its private rule kept the instruction tail.
10
+
7
11
  ## 0.11.0 - 2026-09-18
8
12
 
9
13
  - `discoverTaskDirs(tasksRoot)` and `latestTaskDir(tasksRoot)` find the task directories `task init` (or a dispatch) wrote under a checkout's tasks root: the most recently signalled task wins, a checklist-only task is the fallback. For readers that want the task in progress in a checkout (`mm-harness status --watch` is the first consumer, in its next release) instead of each walking `temp/tasks` with its own layout assumptions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farmslot/agent-runtime",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -83,6 +83,13 @@ function enumerateChecklistCheckboxes(markdown) {
83
83
  }
84
84
  const WORKER_TERMINAL_CONTRACT_INPUT = path.join('inputs', 'worker-terminal-contract.json');
85
85
 
86
+ // checklistStepName — mirror of the protocol rule for the name a step is shown
87
+ // under: the bold lead, numbering kept, instructions dropped. `mark` records it
88
+ // in SIGNAL.json so events and every step view name a row the same way.
89
+ function checklistStepName(rawLabel) {
90
+ return rawLabel.replace(/^\*\*(.+?)\*\*.*$/, '$1').trim();
91
+ }
92
+
86
93
  function signalFileForChecklist(checklistBasename) {
87
94
  if (
88
95
  checklistBasename === TASK_PROGRESS_MARKDOWN ||
@@ -268,6 +275,7 @@ function resolveChecklistPaths(taskDir) {
268
275
 
269
276
  module.exports = {
270
277
  CHECKLIST_SKIP_SECTIONS,
278
+ checklistStepName,
271
279
  enumerateChecklistCheckboxes,
272
280
  CHECKLIST_TARGET_MANIFEST,
273
281
  TASK_PROGRESS_MARKDOWN,
@@ -8,6 +8,7 @@ const {
8
8
  resolveWorkerTerminalContract,
9
9
  } = require('./worker-terminal-contract.cjs');
10
10
  const {
11
+ checklistStepName,
11
12
  enumerateChecklistCheckboxes,
12
13
  parseTaskDirMarkArgs,
13
14
  terminalContractInputForChecklist,
@@ -419,14 +420,6 @@ function readJson(file) {
419
420
  }
420
421
  }
421
422
 
422
- function stripLabel(raw) {
423
- return raw
424
- .replace(/^\*\*(.*?)\*\*\s*[—-]?\s*/, '$1 ')
425
- .replace(/`([^`]+)`/g, '$1')
426
- .replace(/\s+/g, ' ')
427
- .trim();
428
- }
429
-
430
423
  // Step enumeration is shared with the gateway parsers (generateTaskSchema in
431
424
  // tasks/writer.ts and parseCheckboxStates in methods/task.ts) via the
432
425
  // checklist-target enumerator: same skip sections, <details> handling, and
@@ -437,7 +430,7 @@ function parseChecklist(markdown) {
437
430
  const lines = markdown.split(/\n/);
438
431
  const items = enumerateChecklistCheckboxes(markdown).map((item) => ({
439
432
  ...item,
440
- label: stripLabel(item.rawLabel),
433
+ label: checklistStepName(item.rawLabel),
441
434
  }));
442
435
  return { lines, items };
443
436
  }