Merge remote-tracking branch 'origin/main' into fix/durable-runtime-auth-blocker-003
This commit is contained in:
@@ -224,8 +224,9 @@ export async function buildM3IoControlSourceReport(options = {}) {
|
||||
}
|
||||
|
||||
export async function runM3IoControlSourceChecks({ repoRoot: root = repoRoot } = {}) {
|
||||
const [serverSource, m3Source, appSource, htmlSource, artifactPublisherSource] = await Promise.all([
|
||||
const [serverSource, jsonRpcSource, m3Source, appSource, htmlSource, artifactPublisherSource] = await Promise.all([
|
||||
readRepoText(root, "internal/cloud/server.mjs"),
|
||||
readRepoText(root, "internal/cloud/json-rpc.mjs"),
|
||||
readRepoText(root, "internal/cloud/m3-io-control.mjs"),
|
||||
readRepoText(root, "web/hwlab-cloud-web/app.mjs"),
|
||||
readRepoText(root, "web/hwlab-cloud-web/index.html"),
|
||||
@@ -278,6 +279,18 @@ export async function runM3IoControlSourceChecks({ repoRoot: root = repoRoot } =
|
||||
evidenceLevel: labels.source
|
||||
}
|
||||
),
|
||||
checkResult(
|
||||
"cloud-api-json-rpc-method-contract",
|
||||
jsonRpcSource.includes("M3_IO_RPC_METHODS.doWrite") &&
|
||||
jsonRpcSource.includes("M3_IO_RPC_METHODS.diRead") &&
|
||||
jsonRpcSource.includes('handleM3IoRpc("do.write"') &&
|
||||
jsonRpcSource.includes('handleM3IoRpc("di.read"'),
|
||||
"cloud-api JSON-RPC exposes M3 do.write and di.read through the same controlled handler.",
|
||||
{
|
||||
methods: ["m3.io.do.write", "m3.io.di.read"],
|
||||
evidenceLevel: labels.source
|
||||
}
|
||||
),
|
||||
checkResult(
|
||||
"request-schema-contract",
|
||||
requestSchema.status === "pass",
|
||||
@@ -416,7 +429,14 @@ export function validateM3IoSourceResponseContract(m3Source) {
|
||||
/traceId:\s*input\.meta\.traceId/u,
|
||||
/auditId:\s*records\.auditEvent\.auditId/u,
|
||||
/evidenceId:\s*records\.evidenceRecord\.evidenceId/u,
|
||||
/gatewaySessionId:\s*target\.gatewaySessionId/u,
|
||||
/resourceId:\s*target\.resourceId/u,
|
||||
/port:\s*target\.port/u,
|
||||
/value:\s*target\.value/u,
|
||||
/auditState:\s*auditState\(/u,
|
||||
/evidenceState:\s*evidenceState\(/u,
|
||||
/durableStatus:\s*durableStatus\(/u,
|
||||
/blockerClassification:\s*redactedBlockerClassification\(/u,
|
||||
/persistence:\s*persistenceSummary\(/u,
|
||||
/frontendBypass:\s*false/u,
|
||||
/patchPanelOnlyPropagation:\s*true/u,
|
||||
|
||||
Reference in New Issue
Block a user