@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.
- package/dist/cli/commands/operating-plane.d.ts.map +1 -1
- package/dist/cli/commands/operating-plane.js +3 -2
- package/dist/cli/commands/operating-plane.js.map +1 -1
- package/dist/cli/help.js +8 -6
- package/dist/cli/help.js.map +1 -1
- package/dist/cli.js +201 -96
- package/dist/codex/subagent-dispatch-table.d.ts +1 -1
- package/dist/codex/subagent-dispatch-table.js +1 -1
- package/dist/codex/subagent-dispatch-table.js.map +1 -1
- package/dist/node_modules/@evalops/contracts/package.json +1 -1
- package/dist/node_modules/@evalops/tui/package.json +1 -1
- package/dist/platform/a2a-completion-audit.d.ts +12 -6
- package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
- package/dist/platform/a2a-completion-audit.js +28 -20
- package/dist/platform/a2a-completion-audit.js.map +1 -1
- package/dist/platform/a2a-maestro-peer.js +8 -7
- package/dist/platform/a2a-maestro-peer.js.map +1 -1
- package/dist/platform/a2a-telemetry-inspect.d.ts +2 -2
- package/dist/platform/a2a-telemetry-inspect.d.ts.map +1 -1
- package/dist/platform/a2a-telemetry-inspect.js +3 -3
- package/dist/platform/a2a-telemetry-inspect.js.map +1 -1
- package/dist/platform/operating-plane-client.d.ts +2 -2
- package/dist/platform/operating-plane-client.d.ts.map +1 -1
- package/dist/platform/operating-plane-client.js.map +1 -1
- package/dist/platform/operating-plane-summary.d.ts +4 -4
- package/dist/platform/operating-plane-summary.d.ts.map +1 -1
- package/dist/platform/operating-plane-summary.js +39 -27
- package/dist/platform/operating-plane-summary.js.map +1 -1
- package/dist/server/session-timeline.d.ts.map +1 -1
- package/dist/server/session-timeline.js +112 -2
- package/dist/server/session-timeline.js.map +1 -1
- package/dist/tools/background/resource-monitor.d.ts.map +1 -1
- package/dist/tools/background/resource-monitor.js +8 -6
- package/dist/tools/background/resource-monitor.js.map +1 -1
- package/dist/tools/parallel-ripgrep.d.ts.map +1 -1
- package/dist/tools/parallel-ripgrep.js +2 -2
- package/dist/tools/parallel-ripgrep.js.map +1 -1
- package/dist/tools/ripgrep-utils.d.ts +1 -0
- package/dist/tools/ripgrep-utils.d.ts.map +1 -1
- package/dist/tools/ripgrep-utils.js +4 -0
- package/dist/tools/ripgrep-utils.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +2 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/version.json +2 -2
- 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 {
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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", "
|
|
45752
|
+
requiredContextGrants: ["repo:read", "context:index:write"],
|
|
45753
45753
|
requiredArtifactKinds: ["repo.map"],
|
|
45754
|
-
optionalArtifactKinds: ["
|
|
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
|
-
"
|
|
45763
|
+
"artifact:write",
|
|
45764
|
+
"runtime:events:read"
|
|
45764
45765
|
],
|
|
45765
|
-
requiredArtifactKinds: ["release.
|
|
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: ["
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
|
91407
|
-
encoding: "utf-8"
|
|
91408
|
-
|
|
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 =
|
|
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 =
|
|
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:
|
|
107979
|
+
const { execSync: execSync22 } = await import("node:child_process");
|
|
107974
107980
|
let output;
|
|
107975
107981
|
let success;
|
|
107976
107982
|
try {
|
|
107977
|
-
output =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
|
151384
|
-
maestro operating-plane status --
|
|
151385
|
-
|
|
151386
|
-
Fetches the Platform operating-plane ledger and prints
|
|
151387
|
-
|
|
151388
|
-
allowed
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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:
|
|
190043
|
-
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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.
|
|
200419
|
-
lines.push(`
|
|
200512
|
+
if (run2.signalsPresent.length > 0) {
|
|
200513
|
+
lines.push(` Signals present: ${run2.signalsPresent.join(", ")}`);
|
|
200420
200514
|
}
|
|
200421
|
-
if (run2.
|
|
200422
|
-
lines.push(`
|
|
200515
|
+
if (run2.signalsMissing.length > 0) {
|
|
200516
|
+
lines.push(` Signals missing: ${run2.signalsMissing.join(", ")}`);
|
|
200423
200517
|
}
|
|
200424
|
-
if (run2.
|
|
200425
|
-
lines.push(`
|
|
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 {
|
|
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
|
-
|
|
200456
|
-
|
|
200457
|
-
|
|
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
|
|
200465
|
-
const
|
|
200558
|
+
function summarizeValueSignals(run2) {
|
|
200559
|
+
const signals = run2.value_proof;
|
|
200466
200560
|
const fields = [
|
|
200467
|
-
{ label: "identity", value:
|
|
200468
|
-
{ label: "model", value:
|
|
200469
|
-
{ label: "tool", value:
|
|
200470
|
-
{ label: "approval", value:
|
|
200471
|
-
{ label: "trace", value:
|
|
200472
|
-
{ label: "
|
|
200473
|
-
{ label: "cost", value:
|
|
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
|
|
200476
|
-
const
|
|
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
|
-
...
|
|
200479
|
-
|
|
200572
|
+
...(signals?.missing_proof ?? []).map(operatorFacingSignalLabel),
|
|
200573
|
+
signals ? void 0 : "runtime signal unavailable"
|
|
200480
200574
|
]);
|
|
200481
|
-
return {
|
|
200575
|
+
return { signalsPresent, signalsMissing };
|
|
200482
200576
|
}
|
|
200483
|
-
function
|
|
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
|
|
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
|
-
--
|
|
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",
|