@evalops/maestro 0.10.41 → 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 +209 -97
- 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/utils/document-extractor.d.ts.map +1 -1
- package/dist/utils/document-extractor.js +8 -1
- package/dist/utils/document-extractor.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";
|
|
@@ -37456,9 +37456,8 @@ import { extname as extname7, join as join78 } from "node:path";
|
|
|
37456
37456
|
import ExcelJS from "exceljs";
|
|
37457
37457
|
import JSZip from "jszip";
|
|
37458
37458
|
import mammoth from "mammoth";
|
|
37459
|
-
import { PDFParse } from "pdf-parse";
|
|
37460
37459
|
import { Type as Type19 } from "@sinclair/typebox";
|
|
37461
|
-
import { spawnSync as
|
|
37460
|
+
import { spawnSync as spawnSync10 } from "node:child_process";
|
|
37462
37461
|
import {
|
|
37463
37462
|
chmodSync as chmodSync2,
|
|
37464
37463
|
createWriteStream as createWriteStream3,
|
|
@@ -37474,7 +37473,7 @@ import { join as join79 } from "node:path";
|
|
|
37474
37473
|
import { Readable as Readable2 } from "node:stream";
|
|
37475
37474
|
import { finished as finished2 } from "node:stream/promises";
|
|
37476
37475
|
import chalk62 from "chalk";
|
|
37477
|
-
import { spawnSync as
|
|
37476
|
+
import { spawnSync as spawnSync11 } from "node:child_process";
|
|
37478
37477
|
import { existsSync as existsSync90, readFileSync as readFileSync68, statSync as statSync28 } from "node:fs";
|
|
37479
37478
|
import {
|
|
37480
37479
|
dirname as dirname50,
|
|
@@ -37654,7 +37653,7 @@ import { stat as stat9 } from "node:fs/promises";
|
|
|
37654
37653
|
import { Type as Type43 } from "@sinclair/typebox";
|
|
37655
37654
|
import { existsSync as existsSync98, readFileSync as readFileSync76, writeFileSync as writeFileSync37 } from "node:fs";
|
|
37656
37655
|
import { resolve as resolve58 } from "node:path";
|
|
37657
|
-
import { spawnSync as
|
|
37656
|
+
import { spawnSync as spawnSync12 } from "node:child_process";
|
|
37658
37657
|
import { Type as Type44 } from "@sinclair/typebox";
|
|
37659
37658
|
import {
|
|
37660
37659
|
ComposerPendingRequestResumeRequestSchema
|
|
@@ -37669,7 +37668,7 @@ import { existsSync as existsSync101, mkdirSync as mkdirSync38, readFileSync as
|
|
|
37669
37668
|
import { dirname as dirname57, resolve as resolve61 } from "node:path";
|
|
37670
37669
|
import { randomUUID as randomUUID19 } from "node:crypto";
|
|
37671
37670
|
import { sql as sql10 } from "drizzle-orm";
|
|
37672
|
-
import { execSync as
|
|
37671
|
+
import { execSync as execSync3 } from "node:child_process";
|
|
37673
37672
|
import { readFileSync as readFileSync79 } from "node:fs";
|
|
37674
37673
|
import { join as join84 } from "node:path";
|
|
37675
37674
|
import {
|
|
@@ -37678,7 +37677,7 @@ import {
|
|
|
37678
37677
|
reconstructArtifactsFromMessages as reconstructArtifactStateFromMessages
|
|
37679
37678
|
} from "@evalops/contracts";
|
|
37680
37679
|
import { lookup as lookupMimeType2 } from "mime-types";
|
|
37681
|
-
import { execSync as
|
|
37680
|
+
import { execSync as execSync4 } from "node:child_process";
|
|
37682
37681
|
import { existsSync as existsSync102 } from "node:fs";
|
|
37683
37682
|
import { join as join85 } from "node:path";
|
|
37684
37683
|
import { existsSync as existsSync103 } from "node:fs";
|
|
@@ -37720,7 +37719,7 @@ import { mkdirSync as mkdirSync40, writeFileSync as writeFileSync41 } from "node
|
|
|
37720
37719
|
import { dirname as dirname60, isAbsolute as isAbsolute28, resolve as resolve70 } from "node:path";
|
|
37721
37720
|
import { MAESTRO_SCRIPTED_SCENARIO_SCHEMA as MAESTRO_SCRIPTED_SCENARIO_SCHEMA2 } from "@evalops/contracts";
|
|
37722
37721
|
import chalk68 from "chalk";
|
|
37723
|
-
import { spawnSync as
|
|
37722
|
+
import { spawnSync as spawnSync13 } from "node:child_process";
|
|
37724
37723
|
import {
|
|
37725
37724
|
existsSync as existsSync108,
|
|
37726
37725
|
mkdirSync as mkdirSync41,
|
|
@@ -45583,7 +45582,7 @@ var init_subagent_dispatch_table = __esm2(() => {
|
|
|
45583
45582
|
laneId: "test-runner",
|
|
45584
45583
|
skillId: "maestro.subagent.test-runner",
|
|
45585
45584
|
displayName: "Maestro test runner subagent",
|
|
45586
|
-
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.",
|
|
45587
45586
|
tags: ["maestro", "subagent", "test", "ci"],
|
|
45588
45587
|
typeAliases: ["test", "qa", "ci", "ci-monitor", "test-runner"],
|
|
45589
45588
|
capabilityAliases: [
|
|
@@ -45731,7 +45730,7 @@ function laneSkillPolicy(laneId) {
|
|
|
45731
45730
|
requiredContextGrants: [
|
|
45732
45731
|
"repo:read",
|
|
45733
45732
|
"pull-request:read",
|
|
45734
|
-
"
|
|
45733
|
+
"artifact:read"
|
|
45735
45734
|
],
|
|
45736
45735
|
requiredArtifactKinds: ["review.summary"],
|
|
45737
45736
|
optionalArtifactKinds: ["risk.finding", "test.plan"],
|
|
@@ -45742,7 +45741,7 @@ function laneSkillPolicy(laneId) {
|
|
|
45742
45741
|
requiredContextGrants: [
|
|
45743
45742
|
"repo:read",
|
|
45744
45743
|
"tool:execute-tests",
|
|
45745
|
-
"
|
|
45744
|
+
"artifact:write"
|
|
45746
45745
|
],
|
|
45747
45746
|
requiredArtifactKinds: ["test.report"],
|
|
45748
45747
|
optionalArtifactKinds: ["failure.triage", "coverage.summary"],
|
|
@@ -45750,9 +45749,9 @@ function laneSkillPolicy(laneId) {
|
|
|
45750
45749
|
};
|
|
45751
45750
|
case "repo-explorer":
|
|
45752
45751
|
return {
|
|
45753
|
-
requiredContextGrants: ["repo:read", "
|
|
45752
|
+
requiredContextGrants: ["repo:read", "context:index:write"],
|
|
45754
45753
|
requiredArtifactKinds: ["repo.map"],
|
|
45755
|
-
optionalArtifactKinds: ["
|
|
45754
|
+
optionalArtifactKinds: ["context.index"],
|
|
45756
45755
|
allowedTaskClasses: ["repo.inspect", "context.gathering"]
|
|
45757
45756
|
};
|
|
45758
45757
|
case "release-shepherd":
|
|
@@ -45761,9 +45760,10 @@ function laneSkillPolicy(laneId) {
|
|
|
45761
45760
|
"repo:read",
|
|
45762
45761
|
"pull-request:write",
|
|
45763
45762
|
"deploy:read",
|
|
45764
|
-
"
|
|
45763
|
+
"artifact:write",
|
|
45764
|
+
"runtime:events:read"
|
|
45765
45765
|
],
|
|
45766
|
-
requiredArtifactKinds: ["release.
|
|
45766
|
+
requiredArtifactKinds: ["release.summary"],
|
|
45767
45767
|
optionalArtifactKinds: ["ci.summary", "deploy.status"],
|
|
45768
45768
|
allowedTaskClasses: ["release.follow-through", "deployment.smoke"]
|
|
45769
45769
|
};
|
|
@@ -45771,7 +45771,7 @@ function laneSkillPolicy(laneId) {
|
|
|
45771
45771
|
return {
|
|
45772
45772
|
requiredContextGrants: ["repo:read"],
|
|
45773
45773
|
requiredArtifactKinds: ["subagent.summary"],
|
|
45774
|
-
optionalArtifactKinds: ["
|
|
45774
|
+
optionalArtifactKinds: ["context.index"],
|
|
45775
45775
|
allowedTaskClasses: ["agent.delegation"]
|
|
45776
45776
|
};
|
|
45777
45777
|
}
|
|
@@ -45836,7 +45836,7 @@ function inspectA2ATelemetry(input) {
|
|
|
45836
45836
|
return {
|
|
45837
45837
|
schema: A2A_TELEMETRY_INSPECTION_SCHEMA,
|
|
45838
45838
|
swarmId: input.swarmId,
|
|
45839
|
-
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,
|
|
45840
45840
|
counts: {
|
|
45841
45841
|
events: events.length,
|
|
45842
45842
|
lanes: lanes.length,
|
|
@@ -45867,7 +45867,7 @@ function inspectLane(laneId, events, auditLane) {
|
|
|
45867
45867
|
timing,
|
|
45868
45868
|
orderingAnomalies: orderingAnomalies(events, timing),
|
|
45869
45869
|
missingEventTypes: missingEventTypes(events, eventTypes),
|
|
45870
|
-
|
|
45870
|
+
missingSignals: auditLane?.missingSignals ?? []
|
|
45871
45871
|
};
|
|
45872
45872
|
}
|
|
45873
45873
|
function mergeLaneEventData(events) {
|
|
@@ -45999,7 +45999,7 @@ function parseInspectionTimeMs(value) {
|
|
|
45999
45999
|
function unique2(values) {
|
|
46000
46000
|
return [...new Set(values)];
|
|
46001
46001
|
}
|
|
46002
|
-
var A2A_TELEMETRY_INSPECTION_SCHEMA = "evalops.maestro.a2a-telemetry-inspection.
|
|
46002
|
+
var A2A_TELEMETRY_INSPECTION_SCHEMA = "evalops.maestro.a2a-telemetry-inspection.v2";
|
|
46003
46003
|
var PEER_SELECTED = "maestro.events.a2a.peer.selected";
|
|
46004
46004
|
var TASK_DISPATCHED = "maestro.events.a2a.task.dispatched";
|
|
46005
46005
|
var TASK_COMPLETED = "maestro.events.a2a.task.completed";
|
|
@@ -91404,9 +91404,14 @@ var ResourceMonitor = class {
|
|
|
91404
91404
|
}
|
|
91405
91405
|
readUsageFromPs(pid) {
|
|
91406
91406
|
try {
|
|
91407
|
-
const
|
|
91408
|
-
encoding: "utf-8"
|
|
91409
|
-
|
|
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);
|
|
91410
91415
|
if (output.length < 2) {
|
|
91411
91416
|
return null;
|
|
91412
91417
|
}
|
|
@@ -91810,7 +91815,7 @@ function getDescendantPidsLinux(pid) {
|
|
|
91810
91815
|
function getDescendantPidsMacOS(pid) {
|
|
91811
91816
|
const descendants = [];
|
|
91812
91817
|
try {
|
|
91813
|
-
const result2 =
|
|
91818
|
+
const result2 = spawnSync3("pgrep", ["-P", String(pid)], {
|
|
91814
91819
|
encoding: "utf-8",
|
|
91815
91820
|
timeout: 5e3
|
|
91816
91821
|
});
|
|
@@ -91841,7 +91846,7 @@ function getDescendantPids(pid) {
|
|
|
91841
91846
|
}
|
|
91842
91847
|
if (process.platform === "win32") {
|
|
91843
91848
|
try {
|
|
91844
|
-
const result2 =
|
|
91849
|
+
const result2 = execSync(`wmic process where parentprocessid=${pid} get processid`, {
|
|
91845
91850
|
encoding: "utf-8",
|
|
91846
91851
|
timeout: 5e3,
|
|
91847
91852
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -107971,11 +107976,11 @@ var AutoVerifyService = class {
|
|
|
107971
107976
|
this.lastTestRun = Date.now();
|
|
107972
107977
|
const startTime = Date.now();
|
|
107973
107978
|
try {
|
|
107974
|
-
const { execSync:
|
|
107979
|
+
const { execSync: execSync22 } = await import("node:child_process");
|
|
107975
107980
|
let output;
|
|
107976
107981
|
let success;
|
|
107977
107982
|
try {
|
|
107978
|
-
output =
|
|
107983
|
+
output = execSync22(command, {
|
|
107979
107984
|
cwd: this.cwd,
|
|
107980
107985
|
timeout: timeoutMs,
|
|
107981
107986
|
encoding: "utf-8",
|
|
@@ -113501,7 +113506,7 @@ function appendSpawnFailureDetails(stderr, command, error, signal, timeoutMs) {
|
|
|
113501
113506
|
`);
|
|
113502
113507
|
}
|
|
113503
113508
|
function commandExists(command, cwd) {
|
|
113504
|
-
const result2 =
|
|
113509
|
+
const result2 = spawnSync4(command, ["--version"], {
|
|
113505
113510
|
cwd,
|
|
113506
113511
|
stdio: "pipe",
|
|
113507
113512
|
encoding: "utf-8"
|
|
@@ -113511,7 +113516,7 @@ function commandExists(command, cwd) {
|
|
|
113511
113516
|
function runCommand(command, args, cwd, timeoutMs = DEFAULT_TIMEOUT_MS12, env) {
|
|
113512
113517
|
const started = Date.now();
|
|
113513
113518
|
try {
|
|
113514
|
-
const result2 =
|
|
113519
|
+
const result2 = spawnSync4(command, args, {
|
|
113515
113520
|
cwd,
|
|
113516
113521
|
encoding: "utf-8",
|
|
113517
113522
|
env: env ? { ...process.env, ...env } : process.env,
|
|
@@ -114738,7 +114743,7 @@ Reverted changes in:
|
|
|
114738
114743
|
}
|
|
114739
114744
|
notifyFileChanges() {
|
|
114740
114745
|
try {
|
|
114741
|
-
const result2 =
|
|
114746
|
+
const result2 = spawnSync5("git", ["status", "-sb"], {
|
|
114742
114747
|
cwd: process.cwd(),
|
|
114743
114748
|
encoding: "utf-8"
|
|
114744
114749
|
});
|
|
@@ -114816,7 +114821,7 @@ Use /plan add <goal> :: <task> to track follow-ups.`, "info");
|
|
|
114816
114821
|
}
|
|
114817
114822
|
runGitCommand(args) {
|
|
114818
114823
|
try {
|
|
114819
|
-
const result2 =
|
|
114824
|
+
const result2 = spawnSync5("git", args, {
|
|
114820
114825
|
cwd: process.cwd(),
|
|
114821
114826
|
encoding: "utf-8"
|
|
114822
114827
|
});
|
|
@@ -117267,7 +117272,7 @@ ${tail}`);
|
|
|
117267
117272
|
}
|
|
117268
117273
|
runOllama(args) {
|
|
117269
117274
|
try {
|
|
117270
|
-
const result2 =
|
|
117275
|
+
const result2 = spawnSync6("ollama", args, {
|
|
117271
117276
|
cwd: process.cwd(),
|
|
117272
117277
|
encoding: "utf-8"
|
|
117273
117278
|
});
|
|
@@ -117382,7 +117387,7 @@ ${lines.join(`
|
|
|
117382
117387
|
const cmd = args[0];
|
|
117383
117388
|
if (!cmd)
|
|
117384
117389
|
return;
|
|
117385
|
-
const result2 =
|
|
117390
|
+
const result2 = spawnSync6(cmd, args.slice(1), {
|
|
117386
117391
|
cwd: process.cwd(),
|
|
117387
117392
|
encoding: "utf-8"
|
|
117388
117393
|
});
|
|
@@ -118194,7 +118199,7 @@ function setCacheEntry(cwd, entry2) {
|
|
|
118194
118199
|
pruneCache(entry2.cachedAt);
|
|
118195
118200
|
}
|
|
118196
118201
|
function runRgFiles(cwd) {
|
|
118197
|
-
const result2 =
|
|
118202
|
+
const result2 = spawnSync7("rg", ["--files"], {
|
|
118198
118203
|
cwd,
|
|
118199
118204
|
encoding: "utf-8",
|
|
118200
118205
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -118226,7 +118231,7 @@ function runFindFiles(cwd) {
|
|
|
118226
118231
|
pruneArgs.push("-path", `./${dir}`);
|
|
118227
118232
|
}
|
|
118228
118233
|
pruneArgs.push(")", "-prune", "-o", "-type", "f", "-print");
|
|
118229
|
-
const result2 =
|
|
118234
|
+
const result2 = spawnSync7("find", [".", ...pruneArgs], {
|
|
118230
118235
|
cwd,
|
|
118231
118236
|
encoding: "utf-8",
|
|
118232
118237
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -118238,7 +118243,7 @@ function runFindFiles(cwd) {
|
|
|
118238
118243
|
return [];
|
|
118239
118244
|
}
|
|
118240
118245
|
function runGitFiles(cwd) {
|
|
118241
|
-
const rootResult =
|
|
118246
|
+
const rootResult = spawnSync7("git", ["rev-parse", "--show-toplevel"], {
|
|
118242
118247
|
cwd,
|
|
118243
118248
|
encoding: "utf-8",
|
|
118244
118249
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -118249,7 +118254,7 @@ function runGitFiles(cwd) {
|
|
|
118249
118254
|
const root = rootResult.stdout.trim();
|
|
118250
118255
|
if (!root)
|
|
118251
118256
|
return null;
|
|
118252
|
-
const listResult =
|
|
118257
|
+
const listResult = spawnSync7("git", ["ls-files", "--cached", "--others", "--exclude-standard"], {
|
|
118253
118258
|
cwd: root,
|
|
118254
118259
|
encoding: "utf-8",
|
|
118255
118260
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -119066,7 +119071,7 @@ function openExternalEditor(ui, currentText) {
|
|
|
119066
119071
|
if (!editor) {
|
|
119067
119072
|
return { error: "No editor command found" };
|
|
119068
119073
|
}
|
|
119069
|
-
const result2 =
|
|
119074
|
+
const result2 = spawnSync8(editor, [...editorArgs, tempFile], {
|
|
119070
119075
|
stdio: "inherit"
|
|
119071
119076
|
});
|
|
119072
119077
|
if (result2.error) {
|
|
@@ -132492,7 +132497,7 @@ function generateChangeId() {
|
|
|
132492
132497
|
function isGitTracked(filePath) {
|
|
132493
132498
|
try {
|
|
132494
132499
|
const dir = dirname41(filePath);
|
|
132495
|
-
|
|
132500
|
+
execSync2("git rev-parse --git-dir", {
|
|
132496
132501
|
cwd: dir,
|
|
132497
132502
|
stdio: "ignore"
|
|
132498
132503
|
});
|
|
@@ -147568,7 +147573,7 @@ function getHeadlessPtyPythonCommand() {
|
|
|
147568
147573
|
return cachedPythonCommand;
|
|
147569
147574
|
}
|
|
147570
147575
|
for (const candidate of ["python3", "python"]) {
|
|
147571
|
-
const result2 =
|
|
147576
|
+
const result2 = spawnSync9(candidate, ["-c", "import sys"], {
|
|
147572
147577
|
stdio: "ignore"
|
|
147573
147578
|
});
|
|
147574
147579
|
if (result2.status === 0) {
|
|
@@ -151381,12 +151386,15 @@ function printHelp(version3, options) {
|
|
|
151381
151386
|
maestro remote attach <session-id> [--verify] [--print-env]
|
|
151382
151387
|
maestro remote extend <session-id> --ttl 2h
|
|
151383
151388
|
maestro remote stop <session-id> [--reason <text>]`)}`;
|
|
151384
|
-
const
|
|
151385
|
-
maestro operating-plane status --
|
|
151386
|
-
|
|
151387
|
-
Fetches the Platform operating-plane ledger and prints
|
|
151388
|
-
|
|
151389
|
-
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)}`;
|
|
151390
151398
|
const runSection = `${sectionHeading("maestro run")}${muted(` maestro run inspect <session-id> [--json]
|
|
151391
151399
|
maestro run ledger <session-id>
|
|
151392
151400
|
maestro run replay <session-id>
|
|
@@ -158137,6 +158145,12 @@ Tip: double-check whitespace/newlines via /diff ${path3}`;
|
|
|
158137
158145
|
}
|
|
158138
158146
|
});
|
|
158139
158147
|
});
|
|
158148
|
+
async function loadPDFParse() {
|
|
158149
|
+
if (!cachedPDFParse) {
|
|
158150
|
+
({ PDFParse: cachedPDFParse } = await import("pdf-parse"));
|
|
158151
|
+
}
|
|
158152
|
+
return cachedPDFParse;
|
|
158153
|
+
}
|
|
158140
158154
|
function clampText(text2, maxChars) {
|
|
158141
158155
|
if (text2.length <= maxChars)
|
|
158142
158156
|
return { text: text2, truncated: false };
|
|
@@ -158477,6 +158491,7 @@ async function extractDocumentText(input) {
|
|
|
158477
158491
|
if (!extractedText) {
|
|
158478
158492
|
switch (format) {
|
|
158479
158493
|
case "pdf": {
|
|
158494
|
+
const PDFParse = await loadPDFParse();
|
|
158480
158495
|
const parser2 = new PDFParse({ data: buffer });
|
|
158481
158496
|
try {
|
|
158482
158497
|
const result2 = await parser2.getText();
|
|
@@ -158552,6 +158567,7 @@ var MARKITDOWN_TIMEOUT_KILL_GRACE_MS = 500;
|
|
|
158552
158567
|
var MARKITDOWN_TIMEOUT_CLOSE_GRACE_MS = 1e3;
|
|
158553
158568
|
var NODE_TIMER_MAX_MS = 2147483647;
|
|
158554
158569
|
var XLSX_MIME = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
|
158570
|
+
var cachedPDFParse;
|
|
158555
158571
|
var init_document_extractor = __esm2(() => {
|
|
158556
158572
|
MAX_INPUT_BYTES = 50 * 1024 * 1024;
|
|
158557
158573
|
});
|
|
@@ -158656,7 +158672,7 @@ function throwIfToolInstallAborted(config2, signal) {
|
|
|
158656
158672
|
}
|
|
158657
158673
|
function commandExists2(cmd) {
|
|
158658
158674
|
try {
|
|
158659
|
-
const result2 =
|
|
158675
|
+
const result2 = spawnSync10(cmd, ["--version"], { stdio: "pipe" });
|
|
158660
158676
|
return result2.error === void 0 || result2.error === null;
|
|
158661
158677
|
} catch {
|
|
158662
158678
|
return false;
|
|
@@ -158782,7 +158798,7 @@ async function downloadFile2(url, dest, signal) {
|
|
|
158782
158798
|
}
|
|
158783
158799
|
}
|
|
158784
158800
|
function runExtractor(command, args, description) {
|
|
158785
|
-
const result2 =
|
|
158801
|
+
const result2 = spawnSync10(command, args, { stdio: "pipe" });
|
|
158786
158802
|
if (result2.error) {
|
|
158787
158803
|
throw new Error(`${description} failed: ${result2.error.message}`);
|
|
158788
158804
|
}
|
|
@@ -159216,7 +159232,7 @@ var init_find = __esm2(() => {
|
|
|
159216
159232
|
}
|
|
159217
159233
|
args.push(pattern);
|
|
159218
159234
|
const command = [fdPath, ...args].join(" ");
|
|
159219
|
-
const result2 =
|
|
159235
|
+
const result2 = spawnSync11(fdPath, args, {
|
|
159220
159236
|
encoding: "utf-8",
|
|
159221
159237
|
maxBuffer: 10 * 1024 * 1024,
|
|
159222
159238
|
cwd: searchPath
|
|
@@ -160387,6 +160403,9 @@ function toArray(value) {
|
|
|
160387
160403
|
}
|
|
160388
160404
|
return Array.isArray(value) ? value : [value];
|
|
160389
160405
|
}
|
|
160406
|
+
function normalizeRipgrepPathArgs(paths) {
|
|
160407
|
+
return paths.map((path3) => expandTildePath(path3));
|
|
160408
|
+
}
|
|
160390
160409
|
function ripgrepAbortError() {
|
|
160391
160410
|
return new Error("ripgrep search aborted before start");
|
|
160392
160411
|
}
|
|
@@ -160551,6 +160570,7 @@ var ripgrepInstallController = null;
|
|
|
160551
160570
|
var ripgrepExecutableWaiters = 0;
|
|
160552
160571
|
var init_ripgrep_utils = __esm2(() => {
|
|
160553
160572
|
init_json();
|
|
160573
|
+
init_path_expansion();
|
|
160554
160574
|
init_tools_manager();
|
|
160555
160575
|
pathSchema = Type25.Optional(Type25.Union([
|
|
160556
160576
|
Type25.String({
|
|
@@ -160730,7 +160750,7 @@ var init_parallel_ripgrep = __esm2(() => {
|
|
|
160730
160750
|
if (context2 !== void 0 && (beforeContext !== void 0 || afterContext !== void 0)) {
|
|
160731
160751
|
throw new Error("Use either context or before/after context options, not both.");
|
|
160732
160752
|
}
|
|
160733
|
-
const pathArgs = toArray(paths);
|
|
160753
|
+
const pathArgs = normalizeRipgrepPathArgs(toArray(paths));
|
|
160734
160754
|
const globArgs = toArray(glob);
|
|
160735
160755
|
const commandCwd = cwd ? resolvePath12(expandUserPath2(cwd)) : process.cwd();
|
|
160736
160756
|
const before = beforeContext ?? context2 ?? 0;
|
|
@@ -161022,7 +161042,7 @@ Examples:
|
|
|
161022
161042
|
if (format === "json" && outputMode !== "content") {
|
|
161023
161043
|
throw new Error("JSON format is not supported with outputMode: 'files' or 'count'. Use format: 'text' or omit the format parameter.");
|
|
161024
161044
|
}
|
|
161025
|
-
const pathArgs = toArray(paths);
|
|
161045
|
+
const pathArgs = normalizeRipgrepPathArgs(toArray(paths));
|
|
161026
161046
|
const globArgs = toArray(glob);
|
|
161027
161047
|
const commandCwd = cwd ? resolvePath13(expandUserPath2(cwd)) : process.cwd();
|
|
161028
161048
|
const args = ["--color=never"];
|
|
@@ -185359,7 +185379,7 @@ var init_models = __esm2(() => {
|
|
|
185359
185379
|
});
|
|
185360
185380
|
function runOllama(args) {
|
|
185361
185381
|
try {
|
|
185362
|
-
const result2 =
|
|
185382
|
+
const result2 = spawnSync12("ollama", args, {
|
|
185363
185383
|
cwd: process.cwd(),
|
|
185364
185384
|
encoding: "utf-8"
|
|
185365
185385
|
});
|
|
@@ -187286,14 +187306,14 @@ async function handleReview(req, res, corsHeaders) {
|
|
|
187286
187306
|
return;
|
|
187287
187307
|
try {
|
|
187288
187308
|
const cwd = process.cwd();
|
|
187289
|
-
const statusResult =
|
|
187309
|
+
const statusResult = execSync3("git status -sb", {
|
|
187290
187310
|
cwd,
|
|
187291
187311
|
encoding: "utf-8",
|
|
187292
187312
|
stdio: ["pipe", "pipe", "pipe"]
|
|
187293
187313
|
});
|
|
187294
187314
|
let diffStat = "";
|
|
187295
187315
|
try {
|
|
187296
|
-
diffStat =
|
|
187316
|
+
diffStat = execSync3("git diff --stat", {
|
|
187297
187317
|
cwd,
|
|
187298
187318
|
encoding: "utf-8",
|
|
187299
187319
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -187302,7 +187322,7 @@ async function handleReview(req, res, corsHeaders) {
|
|
|
187302
187322
|
}
|
|
187303
187323
|
let stagedDiff = "";
|
|
187304
187324
|
try {
|
|
187305
|
-
stagedDiff =
|
|
187325
|
+
stagedDiff = execSync3("git diff --cached --unified=5", {
|
|
187306
187326
|
cwd,
|
|
187307
187327
|
encoding: "utf-8",
|
|
187308
187328
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -187311,7 +187331,7 @@ async function handleReview(req, res, corsHeaders) {
|
|
|
187311
187331
|
}
|
|
187312
187332
|
let worktreeDiff = "";
|
|
187313
187333
|
try {
|
|
187314
|
-
worktreeDiff =
|
|
187334
|
+
worktreeDiff = execSync3("git diff --unified=5", {
|
|
187315
187335
|
cwd,
|
|
187316
187336
|
encoding: "utf-8",
|
|
187317
187337
|
stdio: ["pipe", "pipe", "pipe"]
|
|
@@ -189523,6 +189543,63 @@ function finiteNumber2(value) {
|
|
|
189523
189543
|
function booleanValue2(value) {
|
|
189524
189544
|
return typeof value === "boolean" ? value : void 0;
|
|
189525
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
|
+
}
|
|
189526
189603
|
function textFromContent(content) {
|
|
189527
189604
|
if (typeof content === "string")
|
|
189528
189605
|
return content;
|
|
@@ -189831,6 +189908,9 @@ function pendingRequestTitle(request) {
|
|
|
189831
189908
|
}
|
|
189832
189909
|
function addPendingRequestItems(items, sessionId, pendingRequests, generatedAt) {
|
|
189833
189910
|
for (const request of pendingRequests) {
|
|
189911
|
+
if (items.some((item) => item.type === "wait.pending" && item.pendingRequestId === request.id)) {
|
|
189912
|
+
continue;
|
|
189913
|
+
}
|
|
189834
189914
|
const summary2 = compactTimelineSummary(request.actionDescription || request.summaryLabel || request.reason);
|
|
189835
189915
|
const platformOperation = platformOperationForPending(request);
|
|
189836
189916
|
appendItem(items, {
|
|
@@ -189982,6 +190062,11 @@ function addEntryItems(items, sessionId, entries, generatedAt, context2) {
|
|
|
189982
190062
|
break;
|
|
189983
190063
|
}
|
|
189984
190064
|
case "custom": {
|
|
190065
|
+
const pendingRequest2 = pendingRequestFromCustomEntry(entry2, sessionId, timestamp3);
|
|
190066
|
+
if (pendingRequest2) {
|
|
190067
|
+
addPendingRequestItems(items, sessionId, [pendingRequest2], generatedAt);
|
|
190068
|
+
break;
|
|
190069
|
+
}
|
|
189985
190070
|
appendItem(items, {
|
|
189986
190071
|
id: `custom:${entry2.id}`,
|
|
189987
190072
|
sessionId,
|
|
@@ -190006,6 +190091,21 @@ function sortItems(items) {
|
|
|
190006
190091
|
return a.id.localeCompare(b.id);
|
|
190007
190092
|
});
|
|
190008
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
|
+
}
|
|
190009
190109
|
function buildComposerRunTimeline(options) {
|
|
190010
190110
|
const generatedAt = options.generatedAt ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
190011
190111
|
const items = [];
|
|
@@ -190027,13 +190127,14 @@ function buildComposerRunTimeline(options) {
|
|
|
190027
190127
|
}
|
|
190028
190128
|
}
|
|
190029
190129
|
addPendingRequestItems(items, options.sessionId, pendingRequests, generatedAt);
|
|
190130
|
+
const sortedItems = sortItems(items);
|
|
190030
190131
|
return {
|
|
190031
190132
|
sessionId: options.sessionId,
|
|
190032
190133
|
source: "local",
|
|
190033
190134
|
generatedAt,
|
|
190034
190135
|
platformBacked: false,
|
|
190035
|
-
pendingRequestCount:
|
|
190036
|
-
items:
|
|
190136
|
+
pendingRequestCount: pendingRequestCountForItems(sortedItems),
|
|
190137
|
+
items: sortedItems
|
|
190037
190138
|
};
|
|
190038
190139
|
}
|
|
190039
190140
|
var init_session_timeline = __esm2(() => {
|
|
@@ -190371,12 +190472,12 @@ async function getStatusSnapshot(options = {}) {
|
|
|
190371
190472
|
let gitBranch = null;
|
|
190372
190473
|
let gitStatus = null;
|
|
190373
190474
|
try {
|
|
190374
|
-
gitBranch =
|
|
190475
|
+
gitBranch = execSync4("git rev-parse --abbrev-ref HEAD", {
|
|
190375
190476
|
cwd,
|
|
190376
190477
|
encoding: "utf-8",
|
|
190377
190478
|
stdio: ["pipe", "pipe", "ignore"]
|
|
190378
190479
|
}).trim();
|
|
190379
|
-
const status =
|
|
190480
|
+
const status = execSync4("git status --porcelain", {
|
|
190380
190481
|
cwd,
|
|
190381
190482
|
encoding: "utf-8",
|
|
190382
190483
|
stdio: ["pipe", "pipe", "ignore"]
|
|
@@ -195360,7 +195461,7 @@ async function validateToolbox(skillDir, options = {}) {
|
|
|
195360
195461
|
}
|
|
195361
195462
|
runnableEntryCount += 1;
|
|
195362
195463
|
if (options.describeToolbox) {
|
|
195363
|
-
const result2 =
|
|
195464
|
+
const result2 = spawnSync13(toolboxDescribeSpawnCommand(path3, platform5), {
|
|
195364
195465
|
env: { ...process.env, MAESTRO_TOOLBOX_ACTION: "describe" },
|
|
195365
195466
|
encoding: "utf8",
|
|
195366
195467
|
shell: shouldUseShellForToolboxDescribe(platform5),
|
|
@@ -200391,7 +200492,7 @@ function summarizeOperatingPlaneInspection(inspection, options = {}) {
|
|
|
200391
200492
|
}
|
|
200392
200493
|
function formatOperatingPlaneStatusReport(report) {
|
|
200393
200494
|
const lines = [
|
|
200394
|
-
`Agent operating-plane
|
|
200495
|
+
`Agent operating-plane status (${report.runCount} ${pluralize("run", report.runCount)})`,
|
|
200395
200496
|
`Generated: ${report.generatedAt}`
|
|
200396
200497
|
];
|
|
200397
200498
|
if (report.unavailableSources.length > 0) {
|
|
@@ -200408,14 +200509,14 @@ function formatOperatingPlaneStatusReport(report) {
|
|
|
200408
200509
|
pushLine(lines, " Thread", run2.channelThreadId);
|
|
200409
200510
|
pushLine(lines, " Trace", run2.traceId);
|
|
200410
200511
|
pushLine(lines, " Identity", run2.identitySubject);
|
|
200411
|
-
if (run2.
|
|
200412
|
-
lines.push(`
|
|
200512
|
+
if (run2.signalsPresent.length > 0) {
|
|
200513
|
+
lines.push(` Signals present: ${run2.signalsPresent.join(", ")}`);
|
|
200413
200514
|
}
|
|
200414
|
-
if (run2.
|
|
200415
|
-
lines.push(`
|
|
200515
|
+
if (run2.signalsMissing.length > 0) {
|
|
200516
|
+
lines.push(` Signals missing: ${run2.signalsMissing.join(", ")}`);
|
|
200416
200517
|
}
|
|
200417
|
-
if (run2.
|
|
200418
|
-
lines.push(`
|
|
200518
|
+
if (run2.artifactRefs.length > 0) {
|
|
200519
|
+
lines.push(` Artifacts: ${run2.artifactRefs.map(formatArtifactRef).join("; ")}`);
|
|
200419
200520
|
}
|
|
200420
200521
|
for (const nextAction of run2.nextActions) {
|
|
200421
200522
|
lines.push(` Next action: ${nextAction}`);
|
|
@@ -200435,7 +200536,7 @@ function formatOperatingPlaneStatusReport(report) {
|
|
|
200435
200536
|
`);
|
|
200436
200537
|
}
|
|
200437
200538
|
function summarizeOperatingPlaneRun(run2) {
|
|
200438
|
-
const {
|
|
200539
|
+
const { signalsPresent, signalsMissing } = summarizeValueSignals(run2);
|
|
200439
200540
|
return stripUndefined({
|
|
200440
200541
|
runId: run2.agent_run_id,
|
|
200441
200542
|
title: oneLine(run2.title) ?? "",
|
|
@@ -200445,35 +200546,35 @@ function summarizeOperatingPlaneRun(run2) {
|
|
|
200445
200546
|
traceId: oneLine(run2.trace_id),
|
|
200446
200547
|
identitySubject: operatingPlaneIdentitySubject(run2),
|
|
200447
200548
|
operatorSummary: oneLine(run2.value_proof?.operator_summary),
|
|
200448
|
-
|
|
200449
|
-
|
|
200450
|
-
|
|
200549
|
+
signalsPresent,
|
|
200550
|
+
signalsMissing,
|
|
200551
|
+
artifactRefs: summarizeArtifactRefs(run2.evidence_refs),
|
|
200451
200552
|
nextActions: uniqueStrings4(run2.work_items?.map((item) => oneLine(item.next_action))),
|
|
200452
200553
|
blockers: uniqueStrings4(run2.work_items?.map((item) => oneLine(item.blocker))),
|
|
200453
200554
|
withheld: operatingPlaneWithheldReasons(run2),
|
|
200454
200555
|
usage: summarizeUsage(run2.usage)
|
|
200455
200556
|
});
|
|
200456
200557
|
}
|
|
200457
|
-
function
|
|
200458
|
-
const
|
|
200558
|
+
function summarizeValueSignals(run2) {
|
|
200559
|
+
const signals = run2.value_proof;
|
|
200459
200560
|
const fields = [
|
|
200460
|
-
{ label: "identity", value:
|
|
200461
|
-
{ label: "model", value:
|
|
200462
|
-
{ label: "tool", value:
|
|
200463
|
-
{ label: "approval", value:
|
|
200464
|
-
{ label: "trace", value:
|
|
200465
|
-
{ label: "
|
|
200466
|
-
{ 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 }
|
|
200467
200568
|
];
|
|
200468
|
-
const
|
|
200469
|
-
const
|
|
200569
|
+
const signalsPresent = fields.filter((field) => field.value === true).map((field) => field.label);
|
|
200570
|
+
const signalsMissing = uniqueStrings4([
|
|
200470
200571
|
...fields.filter((field) => field.value !== true).map((field) => field.label),
|
|
200471
|
-
...
|
|
200472
|
-
|
|
200572
|
+
...(signals?.missing_proof ?? []).map(operatorFacingSignalLabel),
|
|
200573
|
+
signals ? void 0 : "runtime signal unavailable"
|
|
200473
200574
|
]);
|
|
200474
|
-
return {
|
|
200575
|
+
return { signalsPresent, signalsMissing };
|
|
200475
200576
|
}
|
|
200476
|
-
function
|
|
200577
|
+
function summarizeArtifactRefs(evidenceRefs) {
|
|
200477
200578
|
return (evidenceRefs ?? []).map((evidence2) => stripUndefined({
|
|
200478
200579
|
id: oneLine(evidence2.id) ?? "",
|
|
200479
200580
|
source: oneLine(evidence2.source) ?? "",
|
|
@@ -200510,7 +200611,7 @@ function operatingPlaneWithheldReasons(run2) {
|
|
|
200510
200611
|
...run2.unavailable_sources ?? []
|
|
200511
200612
|
]);
|
|
200512
200613
|
}
|
|
200513
|
-
function
|
|
200614
|
+
function formatArtifactRef(evidence2) {
|
|
200514
200615
|
const details = [
|
|
200515
200616
|
`${evidence2.source}/${evidence2.kind}`,
|
|
200516
200617
|
evidence2.available ? "available" : "unavailable",
|
|
@@ -200519,6 +200620,16 @@ function formatEvidenceRef(evidence2) {
|
|
|
200519
200620
|
];
|
|
200520
200621
|
return `${evidence2.id} (${uniqueStrings4(details).join(", ")})`;
|
|
200521
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
|
+
}
|
|
200522
200633
|
function formatUsage(usage4) {
|
|
200523
200634
|
const parts = [
|
|
200524
200635
|
typeof usage4.totalTokens === "number" ? `${usage4.totalTokens} total tokens` : void 0,
|
|
@@ -200648,7 +200759,7 @@ function queryFromFlags(flags) {
|
|
|
200648
200759
|
channelThreadId: flagString(flags, "--channel-thread-id"),
|
|
200649
200760
|
traceId: flagString(flags, "--trace-id"),
|
|
200650
200761
|
sessionId: flagString(flags, "--session-id"),
|
|
200651
|
-
evidenceId: flagString(flags, "--evidence-id"),
|
|
200762
|
+
evidenceId: flagString(flags, "--artifact-id") ?? flagString(flags, "--evidence-id"),
|
|
200652
200763
|
gatewayAuthenticatedSubject: flagString(flags, "--gateway-authenticated-subject") ?? flagString(flags, "--auth-subject"),
|
|
200653
200764
|
audience: flagString(flags, "--audience"),
|
|
200654
200765
|
includeGates: flagBoolean(flags, "--include-gates"),
|
|
@@ -200703,7 +200814,7 @@ function operatingPlaneHelpText() {
|
|
|
200703
200814
|
|
|
200704
200815
|
Filters:
|
|
200705
200816
|
--thread-id <id> Slack/channel thread id
|
|
200706
|
-
--
|
|
200817
|
+
--artifact-id <id> Runtime artifact ref id
|
|
200707
200818
|
--auth-subject <subject> Gateway-authenticated subject
|
|
200708
200819
|
--trace-id <id> Trace id
|
|
200709
200820
|
--session-id <id> Maestro/session id
|
|
@@ -200720,6 +200831,7 @@ var init_operating_plane = __esm2(() => {
|
|
|
200720
200831
|
init_operating_plane_client();
|
|
200721
200832
|
VALUE_FLAGS = /* @__PURE__ */ new Set([
|
|
200722
200833
|
"--agent-id",
|
|
200834
|
+
"--artifact-id",
|
|
200723
200835
|
"--audience",
|
|
200724
200836
|
"--auth-subject",
|
|
200725
200837
|
"--autonomy-session-id",
|