@evalops/maestro 0.10.42 → 0.10.43

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.
Files changed (46) hide show
  1. package/dist/cli/commands/operating-plane.d.ts.map +1 -1
  2. package/dist/cli/commands/operating-plane.js +3 -2
  3. package/dist/cli/commands/operating-plane.js.map +1 -1
  4. package/dist/cli/help.js +8 -6
  5. package/dist/cli/help.js.map +1 -1
  6. package/dist/cli.js +201 -96
  7. package/dist/codex/subagent-dispatch-table.d.ts +1 -1
  8. package/dist/codex/subagent-dispatch-table.js +1 -1
  9. package/dist/codex/subagent-dispatch-table.js.map +1 -1
  10. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  11. package/dist/node_modules/@evalops/tui/package.json +1 -1
  12. package/dist/platform/a2a-completion-audit.d.ts +12 -6
  13. package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
  14. package/dist/platform/a2a-completion-audit.js +28 -20
  15. package/dist/platform/a2a-completion-audit.js.map +1 -1
  16. package/dist/platform/a2a-maestro-peer.js +8 -7
  17. package/dist/platform/a2a-maestro-peer.js.map +1 -1
  18. package/dist/platform/a2a-telemetry-inspect.d.ts +2 -2
  19. package/dist/platform/a2a-telemetry-inspect.d.ts.map +1 -1
  20. package/dist/platform/a2a-telemetry-inspect.js +3 -3
  21. package/dist/platform/a2a-telemetry-inspect.js.map +1 -1
  22. package/dist/platform/operating-plane-client.d.ts +2 -2
  23. package/dist/platform/operating-plane-client.d.ts.map +1 -1
  24. package/dist/platform/operating-plane-client.js.map +1 -1
  25. package/dist/platform/operating-plane-summary.d.ts +4 -4
  26. package/dist/platform/operating-plane-summary.d.ts.map +1 -1
  27. package/dist/platform/operating-plane-summary.js +39 -27
  28. package/dist/platform/operating-plane-summary.js.map +1 -1
  29. package/dist/server/session-timeline.d.ts.map +1 -1
  30. package/dist/server/session-timeline.js +112 -2
  31. package/dist/server/session-timeline.js.map +1 -1
  32. package/dist/tools/background/resource-monitor.d.ts.map +1 -1
  33. package/dist/tools/background/resource-monitor.js +8 -6
  34. package/dist/tools/background/resource-monitor.js.map +1 -1
  35. package/dist/tools/parallel-ripgrep.d.ts.map +1 -1
  36. package/dist/tools/parallel-ripgrep.js +2 -2
  37. package/dist/tools/parallel-ripgrep.js.map +1 -1
  38. package/dist/tools/ripgrep-utils.d.ts +1 -0
  39. package/dist/tools/ripgrep-utils.d.ts.map +1 -1
  40. package/dist/tools/ripgrep-utils.js +4 -0
  41. package/dist/tools/ripgrep-utils.js.map +1 -1
  42. package/dist/tools/search.d.ts.map +1 -1
  43. package/dist/tools/search.js +2 -2
  44. package/dist/tools/search.js.map +1 -1
  45. package/dist/version.json +2 -2
  46. package/package.json +2 -2
package/dist/cli.js CHANGED
@@ -36816,7 +36816,7 @@ import { dirname as dirname21 } from "node:path";
36816
36816
  import { Writable } from "node:stream";
36817
36817
  import { pipeline as pipeline2 } from "node:stream/promises";
36818
36818
  import { createGzip } from "node:zlib";
36819
- import { execSync } from "node:child_process";
36819
+ import { spawnSync as spawnSync2 } from "node:child_process";
36820
36820
  import { readFileSync as readFileSync27 } from "node:fs";
36821
36821
  import {
36822
36822
  closeSync as closeSync2,
@@ -36829,7 +36829,7 @@ import {
36829
36829
  unlinkSync as unlinkSync3
36830
36830
  } from "node:fs";
36831
36831
  import { gunzipSync } from "node:zlib";
36832
- import { execSync as execSync2, spawnSync as spawnSync2 } from "node:child_process";
36832
+ import { execSync, spawnSync as spawnSync3 } from "node:child_process";
36833
36833
  import { existsSync as existsSync32, readFileSync as readFileSync29, readdirSync as readdirSync8 } from "node:fs";
36834
36834
  import { existsSync as existsSync33 } from "node:fs";
36835
36835
  import { resolve as resolvePath2 } from "node:path";
@@ -37021,7 +37021,7 @@ import { existsSync as existsSync55, readFileSync as readFileSync45 } from "node
37021
37021
  import { join as join52, resolve as resolve32 } from "node:path";
37022
37022
  import { existsSync as existsSync56, mkdirSync as mkdirSync19, readFileSync as readFileSync46, writeFileSync as writeFileSync17 } from "node:fs";
37023
37023
  import { dirname as dirname31, join as join53, resolve as resolve33 } from "node:path";
37024
- import { spawnSync as spawnSync3 } from "node:child_process";
37024
+ import { spawnSync as spawnSync4 } from "node:child_process";
37025
37025
  import {
37026
37026
  copyFileSync,
37027
37027
  existsSync as existsSync57,
@@ -37035,7 +37035,7 @@ import {
37035
37035
  import os3 from "node:os";
37036
37036
  import { dirname as dirname32, join as join54, resolve as resolve34 } from "node:path";
37037
37037
  import chalk23 from "chalk";
37038
- import { spawn as spawn8, spawnSync as spawnSync4 } from "node:child_process";
37038
+ import { spawn as spawn8, spawnSync as spawnSync5 } from "node:child_process";
37039
37039
  import { isAbsolute as isAbsolute15, normalize as normalize3, resolve as resolve35 } from "node:path";
37040
37040
  import { Spacer as Spacer8, Text as Text9 } from "@evalops/tui";
37041
37041
  import chalk24 from "chalk";
@@ -37077,7 +37077,7 @@ import { join as join58 } from "node:path";
37077
37077
  import { Spacer as Spacer12, Text as Text13 } from "@evalops/tui";
37078
37078
  import chalk28 from "chalk";
37079
37079
  import { Spacer as Spacer13, Text as Text14 } from "@evalops/tui";
37080
- import { spawn as spawn9, spawnSync as spawnSync5 } from "node:child_process";
37080
+ import { spawn as spawn9, spawnSync as spawnSync6 } from "node:child_process";
37081
37081
  import { Spacer as Spacer14, Text as Text15 } from "@evalops/tui";
37082
37082
  import chalk29 from "chalk";
37083
37083
  import chalk30 from "chalk";
@@ -37086,7 +37086,7 @@ import { spawn as spawn10 } from "node:child_process";
37086
37086
  import { readFileSync as readFileSync48 } from "node:fs";
37087
37087
  import { join as join59 } from "node:path";
37088
37088
  import { Spacer as Spacer16, Text as Text17 } from "@evalops/tui";
37089
- import { spawnSync as spawnSync6 } from "node:child_process";
37089
+ import { spawnSync as spawnSync7 } from "node:child_process";
37090
37090
  import { join as join60, relative as relative7, resolve as resolve37, sep as sep6 } from "node:path";
37091
37091
  import { SelectList } from "@evalops/tui";
37092
37092
  import { Container as Container2, Text as Text18 } from "@evalops/tui";
@@ -37101,7 +37101,7 @@ import {
37101
37101
  } from "@evalops/tui";
37102
37102
  import { Spacer as Spacer19 } from "@evalops/tui";
37103
37103
  import chalk34 from "chalk";
37104
- import { spawnSync as spawnSync7 } from "node:child_process";
37104
+ import { spawnSync as spawnSync8 } from "node:child_process";
37105
37105
  import fs32 from "node:fs";
37106
37106
  import os4 from "node:os";
37107
37107
  import path22 from "node:path";
@@ -37223,7 +37223,7 @@ import { existsSync as existsSync69, mkdirSync as mkdirSync27, readFileSync as r
37223
37223
  import { join as join67 } from "node:path";
37224
37224
  import { parse as parseYaml2 } from "yaml";
37225
37225
  import chalk43 from "chalk";
37226
- import { execSync as execSync3 } from "node:child_process";
37226
+ import { execSync as execSync2 } from "node:child_process";
37227
37227
  import {
37228
37228
  existsSync as existsSync70,
37229
37229
  mkdirSync as mkdirSync28,
@@ -37329,7 +37329,7 @@ import AjvModule2, {
37329
37329
  Ajv as AjvClass2
37330
37330
  } from "ajv";
37331
37331
  import chalk58 from "chalk";
37332
- import { spawnSync as spawnSync8 } from "node:child_process";
37332
+ import { spawnSync as spawnSync9 } from "node:child_process";
37333
37333
  import { realpathSync as realpathSync8 } from "node:fs";
37334
37334
  import { isAbsolute as isAbsolute20, relative as relative12, resolve as resolve43, sep as sep8 } from "node:path";
37335
37335
  import { spawn as spawn12 } from "node:child_process";
@@ -37457,7 +37457,7 @@ import ExcelJS from "exceljs";
37457
37457
  import JSZip from "jszip";
37458
37458
  import mammoth from "mammoth";
37459
37459
  import { Type as Type19 } from "@sinclair/typebox";
37460
- import { spawnSync as spawnSync9 } from "node:child_process";
37460
+ import { spawnSync as spawnSync10 } from "node:child_process";
37461
37461
  import {
37462
37462
  chmodSync as chmodSync2,
37463
37463
  createWriteStream as createWriteStream3,
@@ -37473,7 +37473,7 @@ import { join as join79 } from "node:path";
37473
37473
  import { Readable as Readable2 } from "node:stream";
37474
37474
  import { finished as finished2 } from "node:stream/promises";
37475
37475
  import chalk62 from "chalk";
37476
- import { spawnSync as spawnSync10 } from "node:child_process";
37476
+ import { spawnSync as spawnSync11 } from "node:child_process";
37477
37477
  import { existsSync as existsSync90, readFileSync as readFileSync68, statSync as statSync28 } from "node:fs";
37478
37478
  import {
37479
37479
  dirname as dirname50,
@@ -37653,7 +37653,7 @@ import { stat as stat9 } from "node:fs/promises";
37653
37653
  import { Type as Type43 } from "@sinclair/typebox";
37654
37654
  import { existsSync as existsSync98, readFileSync as readFileSync76, writeFileSync as writeFileSync37 } from "node:fs";
37655
37655
  import { resolve as resolve58 } from "node:path";
37656
- import { spawnSync as spawnSync11 } from "node:child_process";
37656
+ import { spawnSync as spawnSync12 } from "node:child_process";
37657
37657
  import { Type as Type44 } from "@sinclair/typebox";
37658
37658
  import {
37659
37659
  ComposerPendingRequestResumeRequestSchema
@@ -37668,7 +37668,7 @@ import { existsSync as existsSync101, mkdirSync as mkdirSync38, readFileSync as
37668
37668
  import { dirname as dirname57, resolve as resolve61 } from "node:path";
37669
37669
  import { randomUUID as randomUUID19 } from "node:crypto";
37670
37670
  import { sql as sql10 } from "drizzle-orm";
37671
- import { execSync as execSync4 } from "node:child_process";
37671
+ import { execSync as execSync3 } from "node:child_process";
37672
37672
  import { readFileSync as readFileSync79 } from "node:fs";
37673
37673
  import { join as join84 } from "node:path";
37674
37674
  import {
@@ -37677,7 +37677,7 @@ import {
37677
37677
  reconstructArtifactsFromMessages as reconstructArtifactStateFromMessages
37678
37678
  } from "@evalops/contracts";
37679
37679
  import { lookup as lookupMimeType2 } from "mime-types";
37680
- import { execSync as execSync5 } from "node:child_process";
37680
+ import { execSync as execSync4 } from "node:child_process";
37681
37681
  import { existsSync as existsSync102 } from "node:fs";
37682
37682
  import { join as join85 } from "node:path";
37683
37683
  import { existsSync as existsSync103 } from "node:fs";
@@ -37719,7 +37719,7 @@ import { mkdirSync as mkdirSync40, writeFileSync as writeFileSync41 } from "node
37719
37719
  import { dirname as dirname60, isAbsolute as isAbsolute28, resolve as resolve70 } from "node:path";
37720
37720
  import { MAESTRO_SCRIPTED_SCENARIO_SCHEMA as MAESTRO_SCRIPTED_SCENARIO_SCHEMA2 } from "@evalops/contracts";
37721
37721
  import chalk68 from "chalk";
37722
- import { spawnSync as spawnSync12 } from "node:child_process";
37722
+ import { spawnSync as spawnSync13 } from "node:child_process";
37723
37723
  import {
37724
37724
  existsSync as existsSync108,
37725
37725
  mkdirSync as mkdirSync41,
@@ -45582,7 +45582,7 @@ var init_subagent_dispatch_table = __esm2(() => {
45582
45582
  laneId: "test-runner",
45583
45583
  skillId: "maestro.subagent.test-runner",
45584
45584
  displayName: "Maestro test runner subagent",
45585
- description: "Delegate test execution, failure triage, and verification evidence capture to a target-owned Maestro child agent.",
45585
+ description: "Delegate test execution, failure triage, and result artifact capture to a target-owned Maestro child agent.",
45586
45586
  tags: ["maestro", "subagent", "test", "ci"],
45587
45587
  typeAliases: ["test", "qa", "ci", "ci-monitor", "test-runner"],
45588
45588
  capabilityAliases: [
@@ -45730,7 +45730,7 @@ function laneSkillPolicy(laneId) {
45730
45730
  requiredContextGrants: [
45731
45731
  "repo:read",
45732
45732
  "pull-request:read",
45733
- "evidence:read"
45733
+ "artifact:read"
45734
45734
  ],
45735
45735
  requiredArtifactKinds: ["review.summary"],
45736
45736
  optionalArtifactKinds: ["risk.finding", "test.plan"],
@@ -45741,7 +45741,7 @@ function laneSkillPolicy(laneId) {
45741
45741
  requiredContextGrants: [
45742
45742
  "repo:read",
45743
45743
  "tool:execute-tests",
45744
- "evidence:write"
45744
+ "artifact:write"
45745
45745
  ],
45746
45746
  requiredArtifactKinds: ["test.report"],
45747
45747
  optionalArtifactKinds: ["failure.triage", "coverage.summary"],
@@ -45749,9 +45749,9 @@ function laneSkillPolicy(laneId) {
45749
45749
  };
45750
45750
  case "repo-explorer":
45751
45751
  return {
45752
- requiredContextGrants: ["repo:read", "evidence:write"],
45752
+ requiredContextGrants: ["repo:read", "context:index:write"],
45753
45753
  requiredArtifactKinds: ["repo.map"],
45754
- optionalArtifactKinds: ["evidence.index"],
45754
+ optionalArtifactKinds: ["context.index"],
45755
45755
  allowedTaskClasses: ["repo.inspect", "context.gathering"]
45756
45756
  };
45757
45757
  case "release-shepherd":
@@ -45760,9 +45760,10 @@ function laneSkillPolicy(laneId) {
45760
45760
  "repo:read",
45761
45761
  "pull-request:write",
45762
45762
  "deploy:read",
45763
- "evidence:write"
45763
+ "artifact:write",
45764
+ "runtime:events:read"
45764
45765
  ],
45765
- requiredArtifactKinds: ["release.evidence"],
45766
+ requiredArtifactKinds: ["release.summary"],
45766
45767
  optionalArtifactKinds: ["ci.summary", "deploy.status"],
45767
45768
  allowedTaskClasses: ["release.follow-through", "deployment.smoke"]
45768
45769
  };
@@ -45770,7 +45771,7 @@ function laneSkillPolicy(laneId) {
45770
45771
  return {
45771
45772
  requiredContextGrants: ["repo:read"],
45772
45773
  requiredArtifactKinds: ["subagent.summary"],
45773
- optionalArtifactKinds: ["evidence.index"],
45774
+ optionalArtifactKinds: ["context.index"],
45774
45775
  allowedTaskClasses: ["agent.delegation"]
45775
45776
  };
45776
45777
  }
@@ -45835,7 +45836,7 @@ function inspectA2ATelemetry(input) {
45835
45836
  return {
45836
45837
  schema: A2A_TELEMETRY_INSPECTION_SCHEMA,
45837
45838
  swarmId: input.swarmId,
45838
- complete: lanes.length > 0 && missingTelemetryLanes === 0 && orderingAnomalyLanes === 0 && lanes.every((lane) => lane.missingEvidence.length === 0) && input.audit?.complete !== false,
45839
+ complete: lanes.length > 0 && missingTelemetryLanes === 0 && orderingAnomalyLanes === 0 && lanes.every((lane) => lane.missingSignals.length === 0) && input.audit?.complete !== false,
45839
45840
  counts: {
45840
45841
  events: events.length,
45841
45842
  lanes: lanes.length,
@@ -45866,7 +45867,7 @@ function inspectLane(laneId, events, auditLane) {
45866
45867
  timing,
45867
45868
  orderingAnomalies: orderingAnomalies(events, timing),
45868
45869
  missingEventTypes: missingEventTypes(events, eventTypes),
45869
- missingEvidence: auditLane?.missingEvidence ?? []
45870
+ missingSignals: auditLane?.missingSignals ?? []
45870
45871
  };
45871
45872
  }
45872
45873
  function mergeLaneEventData(events) {
@@ -45998,7 +45999,7 @@ function parseInspectionTimeMs(value) {
45998
45999
  function unique2(values) {
45999
46000
  return [...new Set(values)];
46000
46001
  }
46001
- var A2A_TELEMETRY_INSPECTION_SCHEMA = "evalops.maestro.a2a-telemetry-inspection.v1";
46002
+ var A2A_TELEMETRY_INSPECTION_SCHEMA = "evalops.maestro.a2a-telemetry-inspection.v2";
46002
46003
  var PEER_SELECTED = "maestro.events.a2a.peer.selected";
46003
46004
  var TASK_DISPATCHED = "maestro.events.a2a.task.dispatched";
46004
46005
  var TASK_COMPLETED = "maestro.events.a2a.task.completed";
@@ -91403,9 +91404,14 @@ var ResourceMonitor = class {
91403
91404
  }
91404
91405
  readUsageFromPs(pid) {
91405
91406
  try {
91406
- const output = execSync(`ps -o rss= -o time= -p ${pid}`, {
91407
- encoding: "utf-8"
91408
- }).trim().split(/\s+/).filter(Boolean);
91407
+ const result2 = spawnSync2("ps", ["-o", "rss=", "-o", "time=", "-p", String(pid)], {
91408
+ encoding: "utf-8",
91409
+ stdio: ["ignore", "pipe", "pipe"]
91410
+ });
91411
+ if (result2.error || result2.status !== 0) {
91412
+ return null;
91413
+ }
91414
+ const output = result2.stdout.trim().split(/\s+/).filter(Boolean);
91409
91415
  if (output.length < 2) {
91410
91416
  return null;
91411
91417
  }
@@ -91809,7 +91815,7 @@ function getDescendantPidsLinux(pid) {
91809
91815
  function getDescendantPidsMacOS(pid) {
91810
91816
  const descendants = [];
91811
91817
  try {
91812
- const result2 = spawnSync2("pgrep", ["-P", String(pid)], {
91818
+ const result2 = spawnSync3("pgrep", ["-P", String(pid)], {
91813
91819
  encoding: "utf-8",
91814
91820
  timeout: 5e3
91815
91821
  });
@@ -91840,7 +91846,7 @@ function getDescendantPids(pid) {
91840
91846
  }
91841
91847
  if (process.platform === "win32") {
91842
91848
  try {
91843
- const result2 = execSync2(`wmic process where parentprocessid=${pid} get processid`, {
91849
+ const result2 = execSync(`wmic process where parentprocessid=${pid} get processid`, {
91844
91850
  encoding: "utf-8",
91845
91851
  timeout: 5e3,
91846
91852
  stdio: ["pipe", "pipe", "pipe"]
@@ -107970,11 +107976,11 @@ var AutoVerifyService = class {
107970
107976
  this.lastTestRun = Date.now();
107971
107977
  const startTime = Date.now();
107972
107978
  try {
107973
- const { execSync: execSync32 } = await import("node:child_process");
107979
+ const { execSync: execSync22 } = await import("node:child_process");
107974
107980
  let output;
107975
107981
  let success;
107976
107982
  try {
107977
- output = execSync32(command, {
107983
+ output = execSync22(command, {
107978
107984
  cwd: this.cwd,
107979
107985
  timeout: timeoutMs,
107980
107986
  encoding: "utf-8",
@@ -113500,7 +113506,7 @@ function appendSpawnFailureDetails(stderr, command, error, signal, timeoutMs) {
113500
113506
  `);
113501
113507
  }
113502
113508
  function commandExists(command, cwd) {
113503
- const result2 = spawnSync3(command, ["--version"], {
113509
+ const result2 = spawnSync4(command, ["--version"], {
113504
113510
  cwd,
113505
113511
  stdio: "pipe",
113506
113512
  encoding: "utf-8"
@@ -113510,7 +113516,7 @@ function commandExists(command, cwd) {
113510
113516
  function runCommand(command, args, cwd, timeoutMs = DEFAULT_TIMEOUT_MS12, env) {
113511
113517
  const started = Date.now();
113512
113518
  try {
113513
- const result2 = spawnSync3(command, args, {
113519
+ const result2 = spawnSync4(command, args, {
113514
113520
  cwd,
113515
113521
  encoding: "utf-8",
113516
113522
  env: env ? { ...process.env, ...env } : process.env,
@@ -114737,7 +114743,7 @@ Reverted changes in:
114737
114743
  }
114738
114744
  notifyFileChanges() {
114739
114745
  try {
114740
- const result2 = spawnSync4("git", ["status", "-sb"], {
114746
+ const result2 = spawnSync5("git", ["status", "-sb"], {
114741
114747
  cwd: process.cwd(),
114742
114748
  encoding: "utf-8"
114743
114749
  });
@@ -114815,7 +114821,7 @@ Use /plan add <goal> :: <task> to track follow-ups.`, "info");
114815
114821
  }
114816
114822
  runGitCommand(args) {
114817
114823
  try {
114818
- const result2 = spawnSync4("git", args, {
114824
+ const result2 = spawnSync5("git", args, {
114819
114825
  cwd: process.cwd(),
114820
114826
  encoding: "utf-8"
114821
114827
  });
@@ -117266,7 +117272,7 @@ ${tail}`);
117266
117272
  }
117267
117273
  runOllama(args) {
117268
117274
  try {
117269
- const result2 = spawnSync5("ollama", args, {
117275
+ const result2 = spawnSync6("ollama", args, {
117270
117276
  cwd: process.cwd(),
117271
117277
  encoding: "utf-8"
117272
117278
  });
@@ -117381,7 +117387,7 @@ ${lines.join(`
117381
117387
  const cmd = args[0];
117382
117388
  if (!cmd)
117383
117389
  return;
117384
- const result2 = spawnSync5(cmd, args.slice(1), {
117390
+ const result2 = spawnSync6(cmd, args.slice(1), {
117385
117391
  cwd: process.cwd(),
117386
117392
  encoding: "utf-8"
117387
117393
  });
@@ -118193,7 +118199,7 @@ function setCacheEntry(cwd, entry2) {
118193
118199
  pruneCache(entry2.cachedAt);
118194
118200
  }
118195
118201
  function runRgFiles(cwd) {
118196
- const result2 = spawnSync6("rg", ["--files"], {
118202
+ const result2 = spawnSync7("rg", ["--files"], {
118197
118203
  cwd,
118198
118204
  encoding: "utf-8",
118199
118205
  stdio: ["ignore", "pipe", "pipe"]
@@ -118225,7 +118231,7 @@ function runFindFiles(cwd) {
118225
118231
  pruneArgs.push("-path", `./${dir}`);
118226
118232
  }
118227
118233
  pruneArgs.push(")", "-prune", "-o", "-type", "f", "-print");
118228
- const result2 = spawnSync6("find", [".", ...pruneArgs], {
118234
+ const result2 = spawnSync7("find", [".", ...pruneArgs], {
118229
118235
  cwd,
118230
118236
  encoding: "utf-8",
118231
118237
  stdio: ["ignore", "pipe", "pipe"]
@@ -118237,7 +118243,7 @@ function runFindFiles(cwd) {
118237
118243
  return [];
118238
118244
  }
118239
118245
  function runGitFiles(cwd) {
118240
- const rootResult = spawnSync6("git", ["rev-parse", "--show-toplevel"], {
118246
+ const rootResult = spawnSync7("git", ["rev-parse", "--show-toplevel"], {
118241
118247
  cwd,
118242
118248
  encoding: "utf-8",
118243
118249
  stdio: ["ignore", "pipe", "pipe"]
@@ -118248,7 +118254,7 @@ function runGitFiles(cwd) {
118248
118254
  const root = rootResult.stdout.trim();
118249
118255
  if (!root)
118250
118256
  return null;
118251
- const listResult = spawnSync6("git", ["ls-files", "--cached", "--others", "--exclude-standard"], {
118257
+ const listResult = spawnSync7("git", ["ls-files", "--cached", "--others", "--exclude-standard"], {
118252
118258
  cwd: root,
118253
118259
  encoding: "utf-8",
118254
118260
  stdio: ["ignore", "pipe", "pipe"]
@@ -119065,7 +119071,7 @@ function openExternalEditor(ui, currentText) {
119065
119071
  if (!editor) {
119066
119072
  return { error: "No editor command found" };
119067
119073
  }
119068
- const result2 = spawnSync7(editor, [...editorArgs, tempFile], {
119074
+ const result2 = spawnSync8(editor, [...editorArgs, tempFile], {
119069
119075
  stdio: "inherit"
119070
119076
  });
119071
119077
  if (result2.error) {
@@ -132491,7 +132497,7 @@ function generateChangeId() {
132491
132497
  function isGitTracked(filePath) {
132492
132498
  try {
132493
132499
  const dir = dirname41(filePath);
132494
- execSync3("git rev-parse --git-dir", {
132500
+ execSync2("git rev-parse --git-dir", {
132495
132501
  cwd: dir,
132496
132502
  stdio: "ignore"
132497
132503
  });
@@ -147567,7 +147573,7 @@ function getHeadlessPtyPythonCommand() {
147567
147573
  return cachedPythonCommand;
147568
147574
  }
147569
147575
  for (const candidate of ["python3", "python"]) {
147570
- const result2 = spawnSync8(candidate, ["-c", "import sys"], {
147576
+ const result2 = spawnSync9(candidate, ["-c", "import sys"], {
147571
147577
  stdio: "ignore"
147572
147578
  });
147573
147579
  if (result2.status === 0) {
@@ -151380,12 +151386,15 @@ function printHelp(version3, options) {
151380
151386
  maestro remote attach <session-id> [--verify] [--print-env]
151381
151387
  maestro remote extend <session-id> --ttl 2h
151382
151388
  maestro remote stop <session-id> [--reason <text>]`)}`;
151383
- const operatingPlaneSection = `${sectionHeading("maestro operating-plane")}${muted(` maestro operating-plane status --thread-id <slack-thread> [--evidence-id <id>] [--auth-subject <subject>]
151384
- maestro operating-plane status --trace-id <id> --json
151385
-
151386
- Fetches the Platform operating-plane ledger and prints a content-free value
151387
- proof report with identity, model/tool/approval/trace/evidence/cost status,
151388
- allowed evidence ids/revisions, blockers, next actions, and withheld reasons.`)}`;
151389
+ const operatingPlaneHelp = [
151390
+ " maestro operating-plane status --thread-id <slack-thread> [--artifact-id <id>] [--auth-subject <subject>]",
151391
+ " maestro operating-plane status --trace-id <id> --json",
151392
+ " Fetches the Platform operating-plane ledger and prints content-free runtime",
151393
+ " status with identity, model/tool/approval/trace/artifact/cost signals,",
151394
+ " allowed artifact ids/revisions, blockers, next actions, and withheld reasons."
151395
+ ].join(`
151396
+ `);
151397
+ const operatingPlaneSection = `${sectionHeading("maestro operating-plane")}${muted(operatingPlaneHelp)}`;
151389
151398
  const runSection = `${sectionHeading("maestro run")}${muted(` maestro run inspect <session-id> [--json]
151390
151399
  maestro run ledger <session-id>
151391
151400
  maestro run replay <session-id>
@@ -158663,7 +158672,7 @@ function throwIfToolInstallAborted(config2, signal) {
158663
158672
  }
158664
158673
  function commandExists2(cmd) {
158665
158674
  try {
158666
- const result2 = spawnSync9(cmd, ["--version"], { stdio: "pipe" });
158675
+ const result2 = spawnSync10(cmd, ["--version"], { stdio: "pipe" });
158667
158676
  return result2.error === void 0 || result2.error === null;
158668
158677
  } catch {
158669
158678
  return false;
@@ -158789,7 +158798,7 @@ async function downloadFile2(url, dest, signal) {
158789
158798
  }
158790
158799
  }
158791
158800
  function runExtractor(command, args, description) {
158792
- const result2 = spawnSync9(command, args, { stdio: "pipe" });
158801
+ const result2 = spawnSync10(command, args, { stdio: "pipe" });
158793
158802
  if (result2.error) {
158794
158803
  throw new Error(`${description} failed: ${result2.error.message}`);
158795
158804
  }
@@ -159223,7 +159232,7 @@ var init_find = __esm2(() => {
159223
159232
  }
159224
159233
  args.push(pattern);
159225
159234
  const command = [fdPath, ...args].join(" ");
159226
- const result2 = spawnSync10(fdPath, args, {
159235
+ const result2 = spawnSync11(fdPath, args, {
159227
159236
  encoding: "utf-8",
159228
159237
  maxBuffer: 10 * 1024 * 1024,
159229
159238
  cwd: searchPath
@@ -160394,6 +160403,9 @@ function toArray(value) {
160394
160403
  }
160395
160404
  return Array.isArray(value) ? value : [value];
160396
160405
  }
160406
+ function normalizeRipgrepPathArgs(paths) {
160407
+ return paths.map((path3) => expandTildePath(path3));
160408
+ }
160397
160409
  function ripgrepAbortError() {
160398
160410
  return new Error("ripgrep search aborted before start");
160399
160411
  }
@@ -160558,6 +160570,7 @@ var ripgrepInstallController = null;
160558
160570
  var ripgrepExecutableWaiters = 0;
160559
160571
  var init_ripgrep_utils = __esm2(() => {
160560
160572
  init_json();
160573
+ init_path_expansion();
160561
160574
  init_tools_manager();
160562
160575
  pathSchema = Type25.Optional(Type25.Union([
160563
160576
  Type25.String({
@@ -160737,7 +160750,7 @@ var init_parallel_ripgrep = __esm2(() => {
160737
160750
  if (context2 !== void 0 && (beforeContext !== void 0 || afterContext !== void 0)) {
160738
160751
  throw new Error("Use either context or before/after context options, not both.");
160739
160752
  }
160740
- const pathArgs = toArray(paths);
160753
+ const pathArgs = normalizeRipgrepPathArgs(toArray(paths));
160741
160754
  const globArgs = toArray(glob);
160742
160755
  const commandCwd = cwd ? resolvePath12(expandUserPath2(cwd)) : process.cwd();
160743
160756
  const before = beforeContext ?? context2 ?? 0;
@@ -161029,7 +161042,7 @@ Examples:
161029
161042
  if (format === "json" && outputMode !== "content") {
161030
161043
  throw new Error("JSON format is not supported with outputMode: 'files' or 'count'. Use format: 'text' or omit the format parameter.");
161031
161044
  }
161032
- const pathArgs = toArray(paths);
161045
+ const pathArgs = normalizeRipgrepPathArgs(toArray(paths));
161033
161046
  const globArgs = toArray(glob);
161034
161047
  const commandCwd = cwd ? resolvePath13(expandUserPath2(cwd)) : process.cwd();
161035
161048
  const args = ["--color=never"];
@@ -185366,7 +185379,7 @@ var init_models = __esm2(() => {
185366
185379
  });
185367
185380
  function runOllama(args) {
185368
185381
  try {
185369
- const result2 = spawnSync11("ollama", args, {
185382
+ const result2 = spawnSync12("ollama", args, {
185370
185383
  cwd: process.cwd(),
185371
185384
  encoding: "utf-8"
185372
185385
  });
@@ -187293,14 +187306,14 @@ async function handleReview(req, res, corsHeaders) {
187293
187306
  return;
187294
187307
  try {
187295
187308
  const cwd = process.cwd();
187296
- const statusResult = execSync4("git status -sb", {
187309
+ const statusResult = execSync3("git status -sb", {
187297
187310
  cwd,
187298
187311
  encoding: "utf-8",
187299
187312
  stdio: ["pipe", "pipe", "pipe"]
187300
187313
  });
187301
187314
  let diffStat = "";
187302
187315
  try {
187303
- diffStat = execSync4("git diff --stat", {
187316
+ diffStat = execSync3("git diff --stat", {
187304
187317
  cwd,
187305
187318
  encoding: "utf-8",
187306
187319
  stdio: ["pipe", "pipe", "pipe"]
@@ -187309,7 +187322,7 @@ async function handleReview(req, res, corsHeaders) {
187309
187322
  }
187310
187323
  let stagedDiff = "";
187311
187324
  try {
187312
- stagedDiff = execSync4("git diff --cached --unified=5", {
187325
+ stagedDiff = execSync3("git diff --cached --unified=5", {
187313
187326
  cwd,
187314
187327
  encoding: "utf-8",
187315
187328
  stdio: ["pipe", "pipe", "pipe"]
@@ -187318,7 +187331,7 @@ async function handleReview(req, res, corsHeaders) {
187318
187331
  }
187319
187332
  let worktreeDiff = "";
187320
187333
  try {
187321
- worktreeDiff = execSync4("git diff --unified=5", {
187334
+ worktreeDiff = execSync3("git diff --unified=5", {
187322
187335
  cwd,
187323
187336
  encoding: "utf-8",
187324
187337
  stdio: ["pipe", "pipe", "pipe"]
@@ -189530,6 +189543,63 @@ function finiteNumber2(value) {
189530
189543
  function booleanValue2(value) {
189531
189544
  return typeof value === "boolean" ? value : void 0;
189532
189545
  }
189546
+ function stringValue8(value) {
189547
+ return typeof value === "string" && value.trim().length > 0 ? value : void 0;
189548
+ }
189549
+ function isPendingRequestKind(value) {
189550
+ return value === "approval" || value === "client_tool" || value === "mcp_elicitation" || value === "user_input" || value === "tool_retry";
189551
+ }
189552
+ function isPendingRequestSource(value) {
189553
+ return value === "local" || value === "platform";
189554
+ }
189555
+ function isPendingRequestPlatformSource(value) {
189556
+ return value === "approvals_service" || value === "tool_execution";
189557
+ }
189558
+ function pendingRequestFromCustomEntry(entry2, sessionId, timestamp3) {
189559
+ if (entry2.type !== "custom" || entry2.customType !== "pending_request") {
189560
+ return;
189561
+ }
189562
+ const data = detailsRecord(entry2.data);
189563
+ const request = detailsRecord(data?.request) ?? data;
189564
+ if (!request) {
189565
+ return;
189566
+ }
189567
+ const id = stringValue8(request.id);
189568
+ const kind = request.kind;
189569
+ const toolCallId2 = stringValue8(request.toolCallId);
189570
+ const toolName = stringValue8(request.toolName);
189571
+ const reason = stringValue8(request.reason);
189572
+ if (!id || !isPendingRequestKind(kind) || !toolCallId2 || !toolName || !reason) {
189573
+ return;
189574
+ }
189575
+ const platformRecord = detailsRecord(request.platform);
189576
+ const platformSource = platformRecord ? isPendingRequestPlatformSource(platformRecord.source) ? platformRecord.source : void 0 : void 0;
189577
+ const platform5 = platformSource ? {
189578
+ source: platformSource,
189579
+ ...stringValue8(platformRecord?.toolExecutionId) ? { toolExecutionId: stringValue8(platformRecord?.toolExecutionId) } : {},
189580
+ ...stringValue8(platformRecord?.approvalRequestId) ? {
189581
+ approvalRequestId: stringValue8(platformRecord?.approvalRequestId)
189582
+ } : {}
189583
+ } : void 0;
189584
+ return {
189585
+ id,
189586
+ kind,
189587
+ status: "pending",
189588
+ visibility: "user",
189589
+ sessionId: stringValue8(request.sessionId) ?? sessionId,
189590
+ toolCallId: toolCallId2,
189591
+ toolName,
189592
+ ...stringValue8(request.displayName) ? { displayName: stringValue8(request.displayName) } : {},
189593
+ ...stringValue8(request.summaryLabel) ? { summaryLabel: stringValue8(request.summaryLabel) } : {},
189594
+ ...stringValue8(request.actionDescription) ? { actionDescription: stringValue8(request.actionDescription) } : {},
189595
+ args: request.args ?? {},
189596
+ reason,
189597
+ createdAt: normalizeTimestamp2(request.createdAt, timestamp3),
189598
+ ...stringValue8(request.expiresAt) ? { expiresAt: normalizeTimestamp2(request.expiresAt, timestamp3) } : {},
189599
+ source: isPendingRequestSource(request.source) ? request.source : "local",
189600
+ ...platform5 ? { platform: platform5 } : {}
189601
+ };
189602
+ }
189533
189603
  function textFromContent(content) {
189534
189604
  if (typeof content === "string")
189535
189605
  return content;
@@ -189838,6 +189908,9 @@ function pendingRequestTitle(request) {
189838
189908
  }
189839
189909
  function addPendingRequestItems(items, sessionId, pendingRequests, generatedAt) {
189840
189910
  for (const request of pendingRequests) {
189911
+ if (items.some((item) => item.type === "wait.pending" && item.pendingRequestId === request.id)) {
189912
+ continue;
189913
+ }
189841
189914
  const summary2 = compactTimelineSummary(request.actionDescription || request.summaryLabel || request.reason);
189842
189915
  const platformOperation = platformOperationForPending(request);
189843
189916
  appendItem(items, {
@@ -189989,6 +190062,11 @@ function addEntryItems(items, sessionId, entries, generatedAt, context2) {
189989
190062
  break;
189990
190063
  }
189991
190064
  case "custom": {
190065
+ const pendingRequest2 = pendingRequestFromCustomEntry(entry2, sessionId, timestamp3);
190066
+ if (pendingRequest2) {
190067
+ addPendingRequestItems(items, sessionId, [pendingRequest2], generatedAt);
190068
+ break;
190069
+ }
189992
190070
  appendItem(items, {
189993
190071
  id: `custom:${entry2.id}`,
189994
190072
  sessionId,
@@ -190013,6 +190091,21 @@ function sortItems(items) {
190013
190091
  return a.id.localeCompare(b.id);
190014
190092
  });
190015
190093
  }
190094
+ function pendingRequestCountForItems(items) {
190095
+ const pendingRequestIds = /* @__PURE__ */ new Set();
190096
+ let pendingWithoutId = 0;
190097
+ for (const item of items) {
190098
+ if (item.type !== "wait.pending") {
190099
+ continue;
190100
+ }
190101
+ if (item.pendingRequestId) {
190102
+ pendingRequestIds.add(item.pendingRequestId);
190103
+ } else {
190104
+ pendingWithoutId += 1;
190105
+ }
190106
+ }
190107
+ return pendingRequestIds.size + pendingWithoutId;
190108
+ }
190016
190109
  function buildComposerRunTimeline(options) {
190017
190110
  const generatedAt = options.generatedAt ?? (/* @__PURE__ */ new Date()).toISOString();
190018
190111
  const items = [];
@@ -190034,13 +190127,14 @@ function buildComposerRunTimeline(options) {
190034
190127
  }
190035
190128
  }
190036
190129
  addPendingRequestItems(items, options.sessionId, pendingRequests, generatedAt);
190130
+ const sortedItems = sortItems(items);
190037
190131
  return {
190038
190132
  sessionId: options.sessionId,
190039
190133
  source: "local",
190040
190134
  generatedAt,
190041
190135
  platformBacked: false,
190042
- pendingRequestCount: pendingRequests.length,
190043
- items: sortItems(items)
190136
+ pendingRequestCount: pendingRequestCountForItems(sortedItems),
190137
+ items: sortedItems
190044
190138
  };
190045
190139
  }
190046
190140
  var init_session_timeline = __esm2(() => {
@@ -190378,12 +190472,12 @@ async function getStatusSnapshot(options = {}) {
190378
190472
  let gitBranch = null;
190379
190473
  let gitStatus = null;
190380
190474
  try {
190381
- gitBranch = execSync5("git rev-parse --abbrev-ref HEAD", {
190475
+ gitBranch = execSync4("git rev-parse --abbrev-ref HEAD", {
190382
190476
  cwd,
190383
190477
  encoding: "utf-8",
190384
190478
  stdio: ["pipe", "pipe", "ignore"]
190385
190479
  }).trim();
190386
- const status = execSync5("git status --porcelain", {
190480
+ const status = execSync4("git status --porcelain", {
190387
190481
  cwd,
190388
190482
  encoding: "utf-8",
190389
190483
  stdio: ["pipe", "pipe", "ignore"]
@@ -195367,7 +195461,7 @@ async function validateToolbox(skillDir, options = {}) {
195367
195461
  }
195368
195462
  runnableEntryCount += 1;
195369
195463
  if (options.describeToolbox) {
195370
- const result2 = spawnSync12(toolboxDescribeSpawnCommand(path3, platform5), {
195464
+ const result2 = spawnSync13(toolboxDescribeSpawnCommand(path3, platform5), {
195371
195465
  env: { ...process.env, MAESTRO_TOOLBOX_ACTION: "describe" },
195372
195466
  encoding: "utf8",
195373
195467
  shell: shouldUseShellForToolboxDescribe(platform5),
@@ -200398,7 +200492,7 @@ function summarizeOperatingPlaneInspection(inspection, options = {}) {
200398
200492
  }
200399
200493
  function formatOperatingPlaneStatusReport(report) {
200400
200494
  const lines = [
200401
- `Agent operating-plane value proof (${report.runCount} ${pluralize("run", report.runCount)})`,
200495
+ `Agent operating-plane status (${report.runCount} ${pluralize("run", report.runCount)})`,
200402
200496
  `Generated: ${report.generatedAt}`
200403
200497
  ];
200404
200498
  if (report.unavailableSources.length > 0) {
@@ -200415,14 +200509,14 @@ function formatOperatingPlaneStatusReport(report) {
200415
200509
  pushLine(lines, " Thread", run2.channelThreadId);
200416
200510
  pushLine(lines, " Trace", run2.traceId);
200417
200511
  pushLine(lines, " Identity", run2.identitySubject);
200418
- if (run2.proofPresent.length > 0) {
200419
- lines.push(` Proof present: ${run2.proofPresent.join(", ")}`);
200512
+ if (run2.signalsPresent.length > 0) {
200513
+ lines.push(` Signals present: ${run2.signalsPresent.join(", ")}`);
200420
200514
  }
200421
- if (run2.proofMissing.length > 0) {
200422
- lines.push(` Missing proof: ${run2.proofMissing.join(", ")}`);
200515
+ if (run2.signalsMissing.length > 0) {
200516
+ lines.push(` Signals missing: ${run2.signalsMissing.join(", ")}`);
200423
200517
  }
200424
- if (run2.evidenceRefs.length > 0) {
200425
- lines.push(` Evidence: ${run2.evidenceRefs.map(formatEvidenceRef).join("; ")}`);
200518
+ if (run2.artifactRefs.length > 0) {
200519
+ lines.push(` Artifacts: ${run2.artifactRefs.map(formatArtifactRef).join("; ")}`);
200426
200520
  }
200427
200521
  for (const nextAction of run2.nextActions) {
200428
200522
  lines.push(` Next action: ${nextAction}`);
@@ -200442,7 +200536,7 @@ function formatOperatingPlaneStatusReport(report) {
200442
200536
  `);
200443
200537
  }
200444
200538
  function summarizeOperatingPlaneRun(run2) {
200445
- const { proofPresent, proofMissing } = summarizeProof(run2);
200539
+ const { signalsPresent, signalsMissing } = summarizeValueSignals(run2);
200446
200540
  return stripUndefined({
200447
200541
  runId: run2.agent_run_id,
200448
200542
  title: oneLine(run2.title) ?? "",
@@ -200452,35 +200546,35 @@ function summarizeOperatingPlaneRun(run2) {
200452
200546
  traceId: oneLine(run2.trace_id),
200453
200547
  identitySubject: operatingPlaneIdentitySubject(run2),
200454
200548
  operatorSummary: oneLine(run2.value_proof?.operator_summary),
200455
- proofPresent,
200456
- proofMissing,
200457
- evidenceRefs: summarizeEvidenceRefs(run2.evidence_refs),
200549
+ signalsPresent,
200550
+ signalsMissing,
200551
+ artifactRefs: summarizeArtifactRefs(run2.evidence_refs),
200458
200552
  nextActions: uniqueStrings4(run2.work_items?.map((item) => oneLine(item.next_action))),
200459
200553
  blockers: uniqueStrings4(run2.work_items?.map((item) => oneLine(item.blocker))),
200460
200554
  withheld: operatingPlaneWithheldReasons(run2),
200461
200555
  usage: summarizeUsage(run2.usage)
200462
200556
  });
200463
200557
  }
200464
- function summarizeProof(run2) {
200465
- const proof = run2.value_proof;
200558
+ function summarizeValueSignals(run2) {
200559
+ const signals = run2.value_proof;
200466
200560
  const fields = [
200467
- { label: "identity", value: proof?.identity_bound },
200468
- { label: "model", value: proof?.model_observed },
200469
- { label: "tool", value: proof?.tool_observed },
200470
- { label: "approval", value: proof?.approval_observed },
200471
- { label: "trace", value: proof?.trace_linked },
200472
- { label: "evidence", value: proof?.evidence_linked },
200473
- { label: "cost", value: proof?.cost_attributed }
200561
+ { label: "identity", value: signals?.identity_bound },
200562
+ { label: "model", value: signals?.model_observed },
200563
+ { label: "tool", value: signals?.tool_observed },
200564
+ { label: "approval", value: signals?.approval_observed },
200565
+ { label: "trace", value: signals?.trace_linked },
200566
+ { label: "artifact", value: signals?.evidence_linked },
200567
+ { label: "cost", value: signals?.cost_attributed }
200474
200568
  ];
200475
- const proofPresent = fields.filter((field) => field.value === true).map((field) => field.label);
200476
- const proofMissing = uniqueStrings4([
200569
+ const signalsPresent = fields.filter((field) => field.value === true).map((field) => field.label);
200570
+ const signalsMissing = uniqueStrings4([
200477
200571
  ...fields.filter((field) => field.value !== true).map((field) => field.label),
200478
- ...proof?.missing_proof ?? [],
200479
- proof ? void 0 : "value_proof unavailable"
200572
+ ...(signals?.missing_proof ?? []).map(operatorFacingSignalLabel),
200573
+ signals ? void 0 : "runtime signal unavailable"
200480
200574
  ]);
200481
- return { proofPresent, proofMissing };
200575
+ return { signalsPresent, signalsMissing };
200482
200576
  }
200483
- function summarizeEvidenceRefs(evidenceRefs) {
200577
+ function summarizeArtifactRefs(evidenceRefs) {
200484
200578
  return (evidenceRefs ?? []).map((evidence2) => stripUndefined({
200485
200579
  id: oneLine(evidence2.id) ?? "",
200486
200580
  source: oneLine(evidence2.source) ?? "",
@@ -200517,7 +200611,7 @@ function operatingPlaneWithheldReasons(run2) {
200517
200611
  ...run2.unavailable_sources ?? []
200518
200612
  ]);
200519
200613
  }
200520
- function formatEvidenceRef(evidence2) {
200614
+ function formatArtifactRef(evidence2) {
200521
200615
  const details = [
200522
200616
  `${evidence2.source}/${evidence2.kind}`,
200523
200617
  evidence2.available ? "available" : "unavailable",
@@ -200526,6 +200620,16 @@ function formatEvidenceRef(evidence2) {
200526
200620
  ];
200527
200621
  return `${evidence2.id} (${uniqueStrings4(details).join(", ")})`;
200528
200622
  }
200623
+ function operatorFacingSignalLabel(value) {
200624
+ const normalized = oneLine(value);
200625
+ if (!normalized) {
200626
+ return;
200627
+ }
200628
+ if (normalized === "value_proof unavailable") {
200629
+ return "runtime signal unavailable";
200630
+ }
200631
+ return normalized.replace(/\bproof\b/giu, "signal").replace(/\bevidence\b/giu, "artifact");
200632
+ }
200529
200633
  function formatUsage(usage4) {
200530
200634
  const parts = [
200531
200635
  typeof usage4.totalTokens === "number" ? `${usage4.totalTokens} total tokens` : void 0,
@@ -200655,7 +200759,7 @@ function queryFromFlags(flags) {
200655
200759
  channelThreadId: flagString(flags, "--channel-thread-id"),
200656
200760
  traceId: flagString(flags, "--trace-id"),
200657
200761
  sessionId: flagString(flags, "--session-id"),
200658
- evidenceId: flagString(flags, "--evidence-id"),
200762
+ evidenceId: flagString(flags, "--artifact-id") ?? flagString(flags, "--evidence-id"),
200659
200763
  gatewayAuthenticatedSubject: flagString(flags, "--gateway-authenticated-subject") ?? flagString(flags, "--auth-subject"),
200660
200764
  audience: flagString(flags, "--audience"),
200661
200765
  includeGates: flagBoolean(flags, "--include-gates"),
@@ -200710,7 +200814,7 @@ function operatingPlaneHelpText() {
200710
200814
 
200711
200815
  Filters:
200712
200816
  --thread-id <id> Slack/channel thread id
200713
- --evidence-id <id> Evidence ref id
200817
+ --artifact-id <id> Runtime artifact ref id
200714
200818
  --auth-subject <subject> Gateway-authenticated subject
200715
200819
  --trace-id <id> Trace id
200716
200820
  --session-id <id> Maestro/session id
@@ -200727,6 +200831,7 @@ var init_operating_plane = __esm2(() => {
200727
200831
  init_operating_plane_client();
200728
200832
  VALUE_FLAGS = /* @__PURE__ */ new Set([
200729
200833
  "--agent-id",
200834
+ "--artifact-id",
200730
200835
  "--audience",
200731
200836
  "--auth-subject",
200732
200837
  "--autonomy-session-id",