@revfleet/hscli 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/README.md +46 -9
- package/dist/commands/agent/evidence.d.ts +70 -0
- package/dist/commands/agent/evidence.js +421 -0
- package/dist/commands/agent/evidence.js.map +1 -0
- package/dist/commands/agent/index.js +78 -0
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/audit/index.js +4 -0
- package/dist/commands/audit/index.js.map +1 -1
- package/docs/COMMAND_TREE.md +7 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.9.2 - 2026-07-10
|
|
6
|
+
|
|
7
|
+
### Added — one-command Portal Baseline
|
|
8
|
+
|
|
9
|
+
- Added top-level `hscli baseline` as the default first proof: it executes the
|
|
10
|
+
12-signal public-API-first baseline, preserves partial coverage by default,
|
|
11
|
+
and writes both signed `revfleet-evidence.json` and human-readable
|
|
12
|
+
`portal-baseline.md` beside the local audit ledger.
|
|
13
|
+
- Added `agent evidence report <run-directory>` to render an existing baseline
|
|
14
|
+
without rerunning HubSpot requests.
|
|
15
|
+
- Markdown reports are deterministic and rendered only from the aggregate
|
|
16
|
+
evidence contract, so raw CRM records, identities, scopes, and asset names
|
|
17
|
+
cannot leak back into the shareable output.
|
|
18
|
+
|
|
19
|
+
## 0.9.1 - 2026-07-10
|
|
20
|
+
|
|
21
|
+
**RevFleet evidence bridge.** A read-only `portal-baseline` can now produce and
|
|
22
|
+
submit a signed aggregate contract without sending its raw step outputs or
|
|
23
|
+
turning partial coverage into a misleading portal score.
|
|
24
|
+
|
|
25
|
+
### Added — signed aggregate evidence
|
|
26
|
+
|
|
27
|
+
- Added `agent evidence export <run-directory>` for deterministic
|
|
28
|
+
`revfleet.hscli-evidence/v1` JSON. The export contains only allowlisted
|
|
29
|
+
counts, sampled fill rates, coverage state, portal routing metadata, and a
|
|
30
|
+
SHA-256 digest; HubSpot records, user identities, scopes, and asset names are
|
|
31
|
+
excluded.
|
|
32
|
+
- Added `agent evidence submit <run-directory>`. The RevFleet API key is read
|
|
33
|
+
from `REVFLEET_API_KEY` (or an explicitly named environment variable), never
|
|
34
|
+
from argv. Remote submissions require HTTPS; localhost HTTP remains
|
|
35
|
+
available for development.
|
|
36
|
+
- Evidence coverage records every baseline signal as `collected`, `failed`,
|
|
37
|
+
`missing`, or `invalid`. Submission is explicitly evidence-only and does not
|
|
38
|
+
claim to create the complete RevFleet 53-check score.
|
|
39
|
+
|
|
40
|
+
### Security and tests
|
|
41
|
+
|
|
42
|
+
- Added strict file-size, schema, property allowlist, backend-origin, API-key
|
|
43
|
+
environment, and PII-exclusion controls around evidence export/submission.
|
|
44
|
+
- Evidence export now rejects incomplete or unattributable runs, and
|
|
45
|
+
`audit timeline` exposes deterministic request/error totals consumed by the
|
|
46
|
+
evidence contract.
|
|
47
|
+
- Added contract, deterministic-digest, partial-coverage, CLI-command,
|
|
48
|
+
transport, and insecure-destination tests.
|
|
49
|
+
|
|
5
50
|
## 0.9.0 - 2026-07-09
|
|
6
51
|
|
|
7
52
|
**Agent-safe operator release.** hscli now wraps its broad HubSpot command
|
package/README.md
CHANGED
|
@@ -73,19 +73,54 @@ hscli --profile oauth-prod auth whoami
|
|
|
73
73
|
|
|
74
74
|
Run the read-only portal baseline before learning the full command tree. It
|
|
75
75
|
captures portal identity and API reachability, users and teams, deal pipelines,
|
|
76
|
-
data readiness for contacts/companies/deals, and workflow exposure
|
|
76
|
+
data readiness for contacts/companies/deals, and workflow exposure. Missing
|
|
77
|
+
scopes become explicit coverage gaps instead of stopping the run:
|
|
77
78
|
|
|
78
79
|
```bash
|
|
79
|
-
hscli --profile client-readonly
|
|
80
|
-
--output ./evidence/portal-baseline
|
|
81
|
-
--continue-on-error
|
|
80
|
+
hscli --profile client-readonly baseline \
|
|
81
|
+
--output ./evidence/portal-baseline
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
84
|
+
Open `portal-baseline.md` for the human report. Use
|
|
85
|
+
`revfleet-evidence.json` as the signed, aggregate-only machine contract. The
|
|
86
|
+
same directory keeps the deeper audit trail: `manifest.json` records the exact
|
|
87
|
+
steps and completion state, `requests.jsonl` records redacted HubSpot request
|
|
88
|
+
telemetry, `events.jsonl` records runbook progress, and
|
|
89
|
+
`steps/*.stdout.jsonl` preserves every deterministic result locally.
|
|
90
|
+
|
|
91
|
+
The Markdown report is rendered only from the allowlisted aggregate contract,
|
|
92
|
+
not from raw step files. It cannot reintroduce CRM records, user identities,
|
|
93
|
+
team names, workflow names, scopes, or tokens. Use `--fail-fast` only when a
|
|
94
|
+
missing signal should stop the baseline instead of remaining an explicit gap.
|
|
95
|
+
|
|
96
|
+
Regenerate the human report from an existing completed run without calling
|
|
97
|
+
HubSpot again:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
hscli agent evidence report ./evidence/portal-baseline
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Turn that local bundle into a signed, aggregate-only RevFleet evidence
|
|
104
|
+
contract without uploading raw steps, CRM records, user identities, or tokens:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
hscli agent evidence export ./evidence/portal-baseline \
|
|
108
|
+
--output ./evidence/revfleet-evidence.json
|
|
109
|
+
|
|
110
|
+
export REVFLEET_API_KEY="<scan:run key from RevFleet>"
|
|
111
|
+
export REVFLEET_BACKEND_URL="https://your-revfleet-origin.example"
|
|
112
|
+
hscli agent evidence submit ./evidence/portal-baseline
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
`--backend-url <origin>` overrides `REVFLEET_BACKEND_URL`. hscli has no hidden
|
|
116
|
+
hosted default: the destination must be explicit and remote origins must use
|
|
117
|
+
HTTPS.
|
|
118
|
+
|
|
119
|
+
The exported `revfleet.hscli-evidence/v1` document declares coverage for every
|
|
120
|
+
baseline signal and carries a deterministic SHA-256 digest. A missing or failed
|
|
121
|
+
signal remains `missing` or `failed`; it is never converted into a bad portal
|
|
122
|
+
score. RevFleet stores this evidence separately from the complete 53-check
|
|
123
|
+
extension scan.
|
|
89
124
|
|
|
90
125
|
## Operator workflows
|
|
91
126
|
|
|
@@ -93,6 +128,7 @@ Start from intent instead of memorizing the whole command tree:
|
|
|
93
128
|
|
|
94
129
|
```bash
|
|
95
130
|
hscli ui # terminal home: profiles, safety, next action, workflows
|
|
131
|
+
hscli baseline # one-command read-only baseline + Markdown + signed JSON
|
|
96
132
|
hscli /setup # auth, hublet routing, scopes, capabilities
|
|
97
133
|
hscli /migration # portal/schema migration sequence
|
|
98
134
|
hscli /read # source-portal read workflow
|
|
@@ -109,6 +145,7 @@ instead of open-ended portal access:
|
|
|
109
145
|
```bash
|
|
110
146
|
hscli agent list
|
|
111
147
|
hscli agent plan portal-baseline --json
|
|
148
|
+
hscli agent evidence export ./evidence/portal-baseline --output ./evidence/revfleet-evidence.json
|
|
112
149
|
hscli agent plan automation-risk --json
|
|
113
150
|
hscli --profile sandbox agent run automation-risk --output ./evidence/automation-risk
|
|
114
151
|
hscli --profile sandbox agent run automation-risk --output ./evidence/automation-risk --resume
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
type SignalStatus = "collected" | "failed" | "missing" | "invalid";
|
|
2
|
+
interface FillRateSummary {
|
|
3
|
+
sampled: number;
|
|
4
|
+
propertyFillRates: Record<string, number>;
|
|
5
|
+
}
|
|
6
|
+
export interface RevFleetEvidence {
|
|
7
|
+
schema: "revfleet.hscli-evidence/v1";
|
|
8
|
+
source: {
|
|
9
|
+
product: "hscli";
|
|
10
|
+
recipe: "portal-baseline";
|
|
11
|
+
};
|
|
12
|
+
portal: {
|
|
13
|
+
id: string;
|
|
14
|
+
hublet: string | null;
|
|
15
|
+
};
|
|
16
|
+
run: {
|
|
17
|
+
id: string;
|
|
18
|
+
status: "completed" | "completed_with_errors";
|
|
19
|
+
startedAt: string;
|
|
20
|
+
completedAt: string;
|
|
21
|
+
totalSteps: number;
|
|
22
|
+
completedSteps: number;
|
|
23
|
+
failedSteps: number;
|
|
24
|
+
};
|
|
25
|
+
coverage: {
|
|
26
|
+
status: "complete" | "partial";
|
|
27
|
+
total: number;
|
|
28
|
+
collected: number;
|
|
29
|
+
failed: number;
|
|
30
|
+
missing: number;
|
|
31
|
+
invalid: number;
|
|
32
|
+
signals: Array<{
|
|
33
|
+
id: string;
|
|
34
|
+
step: number;
|
|
35
|
+
status: SignalStatus;
|
|
36
|
+
}>;
|
|
37
|
+
};
|
|
38
|
+
modules: {
|
|
39
|
+
settings: Record<string, number>;
|
|
40
|
+
sales: Record<string, number>;
|
|
41
|
+
crmCore: {
|
|
42
|
+
contacts?: FillRateSummary;
|
|
43
|
+
companies?: FillRateSummary;
|
|
44
|
+
deals?: FillRateSummary;
|
|
45
|
+
};
|
|
46
|
+
marketing: Record<string, number>;
|
|
47
|
+
audit: Record<string, number>;
|
|
48
|
+
};
|
|
49
|
+
privacy: {
|
|
50
|
+
aggregateOnly: true;
|
|
51
|
+
containsContactRecords: false;
|
|
52
|
+
containsUserIdentities: false;
|
|
53
|
+
};
|
|
54
|
+
generatedAt: string;
|
|
55
|
+
digest: {
|
|
56
|
+
algorithm: "sha256";
|
|
57
|
+
value: string;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export interface SubmitRevFleetEvidenceOptions {
|
|
61
|
+
backendUrl?: string;
|
|
62
|
+
apiKeyEnv?: string;
|
|
63
|
+
}
|
|
64
|
+
export declare function resolveRevFleetBackendUrl(explicit?: string): string;
|
|
65
|
+
export declare function buildRevFleetEvidence(runDirectory: string): RevFleetEvidence;
|
|
66
|
+
export declare function writeRevFleetEvidence(runDirectory: string, outputFile: string): RevFleetEvidence;
|
|
67
|
+
export declare function renderRevFleetEvidenceMarkdown(evidence: RevFleetEvidence): string;
|
|
68
|
+
export declare function writeRevFleetEvidenceReport(evidence: RevFleetEvidence, outputFile: string): string;
|
|
69
|
+
export declare function submitRevFleetEvidence(runDirectory: string, options: SubmitRevFleetEvidenceOptions): Promise<Record<string, unknown>>;
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
|
|
3
|
+
import { dirname, join, resolve } from "node:path";
|
|
4
|
+
import { CliError } from "../../core/output.js";
|
|
5
|
+
const MAX_EVIDENCE_FILE_BYTES = 25 * 1024 * 1024;
|
|
6
|
+
const MAX_EVIDENCE_COUNT = 10_000_000;
|
|
7
|
+
const PORTAL_BASELINE_PROPERTIES = {
|
|
8
|
+
contacts: new Set(["email", "firstname", "lastname", "company", "hubspot_owner_id", "country"]),
|
|
9
|
+
companies: new Set(["name", "domain", "hubspot_owner_id", "lifecyclestage"]),
|
|
10
|
+
deals: new Set(["dealname", "dealstage", "hubspot_owner_id", "amount", "closedate"]),
|
|
11
|
+
};
|
|
12
|
+
const PORTAL_BASELINE_SIGNALS = [
|
|
13
|
+
"portal_identity",
|
|
14
|
+
"api_capabilities",
|
|
15
|
+
"account_metadata",
|
|
16
|
+
"users_sample",
|
|
17
|
+
"teams_inventory",
|
|
18
|
+
"deal_pipeline_inventory",
|
|
19
|
+
"contacts_fill_rate",
|
|
20
|
+
"companies_fill_rate",
|
|
21
|
+
"deals_fill_rate",
|
|
22
|
+
"workflows_v4_sample",
|
|
23
|
+
"workflows_v3_sample",
|
|
24
|
+
"request_audit",
|
|
25
|
+
];
|
|
26
|
+
export function resolveRevFleetBackendUrl(explicit) {
|
|
27
|
+
const backendUrl = explicit?.trim() || process.env.REVFLEET_BACKEND_URL?.trim();
|
|
28
|
+
if (!backendUrl) {
|
|
29
|
+
throw new CliError("AGENT_EVIDENCE_BACKEND_URL_MISSING", "Pass --backend-url or set REVFLEET_BACKEND_URL to your RevFleet origin.");
|
|
30
|
+
}
|
|
31
|
+
return backendUrl;
|
|
32
|
+
}
|
|
33
|
+
export function buildRevFleetEvidence(runDirectory) {
|
|
34
|
+
const root = resolve(runDirectory);
|
|
35
|
+
const manifest = readJson(join(root, "manifest.json"), "run manifest");
|
|
36
|
+
const checkpoint = readJson(join(root, "checkpoint.json"), "run checkpoint");
|
|
37
|
+
validateRun(manifest, checkpoint);
|
|
38
|
+
const parsedSteps = PORTAL_BASELINE_SIGNALS.map((_signal, index) => (parseStep(root, index, checkpoint)));
|
|
39
|
+
const portalIdentity = firstRecord(parsedSteps[0]);
|
|
40
|
+
const portalId = normalizePortalId(portalIdentity?.portalId);
|
|
41
|
+
if (!portalId) {
|
|
42
|
+
throw new CliError("AGENT_EVIDENCE_PORTAL_ID_MISSING", "RevFleet evidence requires a numeric portal ID from the portal-baseline identity step.");
|
|
43
|
+
}
|
|
44
|
+
const hublet = normalizeHublet(portalIdentity?.hublet);
|
|
45
|
+
const settings = {};
|
|
46
|
+
if (parsedSteps[3].status === "collected")
|
|
47
|
+
settings.usersSampled = recordCount(parsedSteps[3]);
|
|
48
|
+
if (parsedSteps[4].status === "collected")
|
|
49
|
+
settings.teamsSampled = recordCount(parsedSteps[4]);
|
|
50
|
+
const sales = {};
|
|
51
|
+
if (parsedSteps[5].status === "collected") {
|
|
52
|
+
const pipelines = records(parsedSteps[5]);
|
|
53
|
+
sales.dealPipelinesSampled = pipelines.length;
|
|
54
|
+
sales.dealStagesSampled = pipelines.reduce((sum, pipeline) => (sum + (Array.isArray(pipeline.stages) ? pipeline.stages.length : 0)), 0);
|
|
55
|
+
}
|
|
56
|
+
const crmCore = {};
|
|
57
|
+
const crmSteps = [
|
|
58
|
+
["contacts", parsedSteps[6]],
|
|
59
|
+
["companies", parsedSteps[7]],
|
|
60
|
+
["deals", parsedSteps[8]],
|
|
61
|
+
];
|
|
62
|
+
for (const [objectType, step] of crmSteps) {
|
|
63
|
+
if (step.status === "collected")
|
|
64
|
+
crmCore[objectType] = summarizeFillRates(step, PORTAL_BASELINE_PROPERTIES[objectType]);
|
|
65
|
+
}
|
|
66
|
+
const marketing = {};
|
|
67
|
+
if (parsedSteps[9].status === "collected") {
|
|
68
|
+
marketing.workflowsV4Sampled = recordCount(parsedSteps[9]);
|
|
69
|
+
}
|
|
70
|
+
if (parsedSteps[10].status === "collected") {
|
|
71
|
+
const report = firstRecord(parsedSteps[10]);
|
|
72
|
+
marketing.workflowsV3Reported = evidenceCount(report?.total) ?? recordCount(parsedSteps[10]);
|
|
73
|
+
}
|
|
74
|
+
const audit = {};
|
|
75
|
+
if (parsedSteps[11].status === "collected") {
|
|
76
|
+
const report = firstRecord(parsedSteps[11]);
|
|
77
|
+
const summary = asRecord(report?.summary);
|
|
78
|
+
const requests = evidenceCount(summary?.requests) ?? evidenceCount(report?.totalLoaded);
|
|
79
|
+
const errors = evidenceCount(summary?.errors);
|
|
80
|
+
if (requests !== null)
|
|
81
|
+
audit.requestsReported = requests;
|
|
82
|
+
if (errors !== null)
|
|
83
|
+
audit.errorsReported = errors;
|
|
84
|
+
if (requests === null)
|
|
85
|
+
parsedSteps[11].status = "invalid";
|
|
86
|
+
}
|
|
87
|
+
const signalCoverage = PORTAL_BASELINE_SIGNALS.map((id, index) => ({
|
|
88
|
+
id,
|
|
89
|
+
step: index + 1,
|
|
90
|
+
status: parsedSteps[index].status,
|
|
91
|
+
}));
|
|
92
|
+
const statusCounts = countStatuses(signalCoverage);
|
|
93
|
+
const unsigned = {
|
|
94
|
+
schema: "revfleet.hscli-evidence/v1",
|
|
95
|
+
source: { product: "hscli", recipe: "portal-baseline" },
|
|
96
|
+
portal: { id: portalId, hublet },
|
|
97
|
+
run: {
|
|
98
|
+
id: manifest.runId,
|
|
99
|
+
status: manifest.status,
|
|
100
|
+
startedAt: manifest.startedAt,
|
|
101
|
+
completedAt: manifest.completedAt,
|
|
102
|
+
totalSteps: manifest.totalSteps,
|
|
103
|
+
completedSteps: checkpoint.completedSteps.length,
|
|
104
|
+
failedSteps: checkpoint.failedSteps.length,
|
|
105
|
+
},
|
|
106
|
+
coverage: {
|
|
107
|
+
status: statusCounts.collected === PORTAL_BASELINE_SIGNALS.length ? "complete" : "partial",
|
|
108
|
+
total: PORTAL_BASELINE_SIGNALS.length,
|
|
109
|
+
...statusCounts,
|
|
110
|
+
signals: signalCoverage,
|
|
111
|
+
},
|
|
112
|
+
modules: { settings, sales, crmCore, marketing, audit },
|
|
113
|
+
privacy: {
|
|
114
|
+
aggregateOnly: true,
|
|
115
|
+
containsContactRecords: false,
|
|
116
|
+
containsUserIdentities: false,
|
|
117
|
+
},
|
|
118
|
+
generatedAt: manifest.completedAt,
|
|
119
|
+
};
|
|
120
|
+
return {
|
|
121
|
+
...unsigned,
|
|
122
|
+
digest: {
|
|
123
|
+
algorithm: "sha256",
|
|
124
|
+
value: createHash("sha256").update(stableStringify(unsigned)).digest("hex"),
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export function writeRevFleetEvidence(runDirectory, outputFile) {
|
|
129
|
+
const evidence = buildRevFleetEvidence(runDirectory);
|
|
130
|
+
const destination = resolve(outputFile);
|
|
131
|
+
mkdirSync(dirname(destination), { recursive: true, mode: 0o700 });
|
|
132
|
+
writeFileSync(destination, `${JSON.stringify(evidence, null, 2)}\n`, { mode: 0o600 });
|
|
133
|
+
return evidence;
|
|
134
|
+
}
|
|
135
|
+
export function renderRevFleetEvidenceMarkdown(evidence) {
|
|
136
|
+
const coverageLabel = evidence.coverage.status === "complete" ? "Complete" : "Partial";
|
|
137
|
+
const lines = [
|
|
138
|
+
"# HubSpot Portal Baseline",
|
|
139
|
+
"",
|
|
140
|
+
"> Deterministic, read-only evidence generated by hscli. This is not an AI summary or a portal score.",
|
|
141
|
+
"",
|
|
142
|
+
"## Snapshot",
|
|
143
|
+
"",
|
|
144
|
+
`**Portal:** ${evidence.portal.id} (${evidence.portal.hublet}) `,
|
|
145
|
+
`**Run:** ${evidence.run.id} `,
|
|
146
|
+
`**Completed:** ${evidence.run.completedAt} `,
|
|
147
|
+
`**Coverage:** ${coverageLabel} (${evidence.coverage.collected}/${evidence.coverage.total} signals collected)`,
|
|
148
|
+
"",
|
|
149
|
+
"## Data readiness",
|
|
150
|
+
"",
|
|
151
|
+
"| Object | Sampled | Property | Fill rate |",
|
|
152
|
+
"| --- | ---: | --- | ---: |",
|
|
153
|
+
];
|
|
154
|
+
const crmModules = [
|
|
155
|
+
["Contacts", evidence.modules.crmCore.contacts],
|
|
156
|
+
["Companies", evidence.modules.crmCore.companies],
|
|
157
|
+
["Deals", evidence.modules.crmCore.deals],
|
|
158
|
+
];
|
|
159
|
+
for (const [label, summary] of crmModules) {
|
|
160
|
+
if (!summary) {
|
|
161
|
+
lines.push(`| ${label} | — | Not collected | — |`);
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
const properties = Object.entries(summary.propertyFillRates).sort(([left], [right]) => left.localeCompare(right));
|
|
165
|
+
if (properties.length === 0) {
|
|
166
|
+
lines.push(`| ${label} | ${formatEvidenceNumber(summary.sampled)} | Not collected | — |`);
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
for (const [property, fillRate] of properties) {
|
|
170
|
+
lines.push(`| ${label} | ${formatEvidenceNumber(summary.sampled)} | ${property} | ${formatEvidencePercent(fillRate)} |`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
lines.push("", "## Operating surface", "", "| Signal | Aggregate |", "| --- | ---: |", `| Users sampled | ${formatEvidenceNumber(evidence.modules.settings.usersSampled)} |`, `| Teams sampled | ${formatEvidenceNumber(evidence.modules.settings.teamsSampled)} |`, `| Deal pipelines sampled | ${formatEvidenceNumber(evidence.modules.sales.dealPipelinesSampled)} |`, `| Deal stages sampled | ${formatEvidenceNumber(evidence.modules.sales.dealStagesSampled)} |`, `| Workflows v4 sampled | ${formatEvidenceNumber(evidence.modules.marketing.workflowsV4Sampled)} |`, `| Workflows v3 reported | ${formatEvidenceNumber(evidence.modules.marketing.workflowsV3Reported)} |`, `| Requests reported | ${formatEvidenceNumber(evidence.modules.audit.requestsReported)} |`, `| Request errors reported | ${formatEvidenceNumber(evidence.modules.audit.errorsReported)} |`, "", "## Coverage ledger", "", "| Step | Signal | Status |", "| ---: | --- | --- |");
|
|
174
|
+
for (const signal of evidence.coverage.signals) {
|
|
175
|
+
lines.push(`| ${signal.step} | ${signal.id} | ${signal.status} |`);
|
|
176
|
+
}
|
|
177
|
+
lines.push("", "## Evidence and privacy", "", `- Schema: \`${evidence.schema}\``, `- SHA-256: \`${evidence.digest.value}\``, `- Aggregate only: ${evidence.privacy.aggregateOnly ? "yes" : "no"}`, `- Contact records included: ${evidence.privacy.containsContactRecords ? "yes" : "no"}`, `- User identities included: ${evidence.privacy.containsUserIdentities ? "yes" : "no"}`, "", evidence.coverage.status === "complete"
|
|
178
|
+
? "All baseline signals were collected. Review the aggregate values before planning any portal change."
|
|
179
|
+
: "Coverage is partial. Missing or failed signals are unknown, not negative findings; resolve access gaps before drawing conclusions.", "", "To import this signed aggregate evidence into RevFleet, configure an explicit `REVFLEET_BACKEND_URL` and run:", "", "```bash", "hscli agent evidence submit <run-directory>", "```", "");
|
|
180
|
+
return lines.join("\n");
|
|
181
|
+
}
|
|
182
|
+
export function writeRevFleetEvidenceReport(evidence, outputFile) {
|
|
183
|
+
const report = renderRevFleetEvidenceMarkdown(evidence);
|
|
184
|
+
const destination = resolve(outputFile);
|
|
185
|
+
mkdirSync(dirname(destination), { recursive: true, mode: 0o700 });
|
|
186
|
+
writeFileSync(destination, report, { mode: 0o600 });
|
|
187
|
+
return report;
|
|
188
|
+
}
|
|
189
|
+
export async function submitRevFleetEvidence(runDirectory, options) {
|
|
190
|
+
const evidence = buildRevFleetEvidence(runDirectory);
|
|
191
|
+
const apiKeyEnv = options.apiKeyEnv ?? "REVFLEET_API_KEY";
|
|
192
|
+
if (!/^[A-Z][A-Z0-9_]{1,100}$/.test(apiKeyEnv)) {
|
|
193
|
+
throw new CliError("AGENT_EVIDENCE_API_KEY_ENV_INVALID", "--api-key-env must be an uppercase environment variable name.");
|
|
194
|
+
}
|
|
195
|
+
const apiKey = process.env[apiKeyEnv]?.trim();
|
|
196
|
+
if (!apiKey || !/^rvft_[A-Za-z0-9_-]{8,}$/.test(apiKey)) {
|
|
197
|
+
throw new CliError("AGENT_EVIDENCE_API_KEY_MISSING", `Set ${apiKeyEnv} to a RevFleet API key with scan:run scope.`);
|
|
198
|
+
}
|
|
199
|
+
const endpoint = resolveRevFleetEvidenceEndpoint(resolveRevFleetBackendUrl(options.backendUrl));
|
|
200
|
+
const response = await fetch(endpoint, {
|
|
201
|
+
method: "POST",
|
|
202
|
+
headers: {
|
|
203
|
+
authorization: `Bearer ${apiKey}`,
|
|
204
|
+
"content-type": "application/json",
|
|
205
|
+
accept: "application/json",
|
|
206
|
+
"user-agent": "hscli-agent-evidence/v1",
|
|
207
|
+
},
|
|
208
|
+
body: JSON.stringify(evidence),
|
|
209
|
+
signal: AbortSignal.timeout(30_000),
|
|
210
|
+
});
|
|
211
|
+
const responseText = await response.text();
|
|
212
|
+
let result = {};
|
|
213
|
+
if (responseText) {
|
|
214
|
+
try {
|
|
215
|
+
const parsed = JSON.parse(responseText);
|
|
216
|
+
result = asRecord(parsed) ?? { message: responseText.slice(0, 2_000) };
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
result = { message: responseText.slice(0, 2_000) };
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (!response.ok) {
|
|
223
|
+
throw new CliError("AGENT_EVIDENCE_SUBMIT_FAILED", `RevFleet evidence import returned HTTP ${response.status}.`, response.status, result);
|
|
224
|
+
}
|
|
225
|
+
return result;
|
|
226
|
+
}
|
|
227
|
+
function validateRun(manifest, checkpoint) {
|
|
228
|
+
if (manifest.schema !== "hscli.agent-run/v1" || checkpoint.schema !== "hscli.agent-checkpoint/v1") {
|
|
229
|
+
throw new CliError("AGENT_EVIDENCE_SCHEMA_INVALID", "Expected hscli agent-run/checkpoint v1 files.");
|
|
230
|
+
}
|
|
231
|
+
if (manifest.recipe !== "portal-baseline" || checkpoint.recipe !== "portal-baseline") {
|
|
232
|
+
throw new CliError("AGENT_EVIDENCE_RECIPE_UNSUPPORTED", "RevFleet evidence export currently requires a portal-baseline run.");
|
|
233
|
+
}
|
|
234
|
+
if (manifest.totalSteps !== PORTAL_BASELINE_SIGNALS.length) {
|
|
235
|
+
throw new CliError("AGENT_EVIDENCE_STEP_COUNT_MISMATCH", `Portal baseline expected ${PORTAL_BASELINE_SIGNALS.length} steps, received ${manifest.totalSteps}.`);
|
|
236
|
+
}
|
|
237
|
+
if (!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|run-[A-Za-z0-9_-]{1,100})$/i.test(manifest.runId)) {
|
|
238
|
+
throw new CliError("AGENT_EVIDENCE_RUN_ID_INVALID", "Portal-baseline run ID is not a supported UUID or run-* identifier.");
|
|
239
|
+
}
|
|
240
|
+
if (!isIsoDateTime(manifest.startedAt) || !manifest.completedAt || !isIsoDateTime(manifest.completedAt)
|
|
241
|
+
|| !["completed", "completed_with_errors"].includes(manifest.status)) {
|
|
242
|
+
throw new CliError("AGENT_EVIDENCE_RUN_INCOMPLETE", "RevFleet evidence export requires a completed portal-baseline run.");
|
|
243
|
+
}
|
|
244
|
+
validateCheckpointSteps(checkpoint.completedSteps, "completedSteps");
|
|
245
|
+
validateCheckpointSteps(checkpoint.failedSteps, "failedSteps");
|
|
246
|
+
if (checkpoint.failedSteps.some((step) => checkpoint.completedSteps.includes(step))) {
|
|
247
|
+
throw new CliError("AGENT_EVIDENCE_CHECKPOINT_INVALID", "Checkpoint completedSteps and failedSteps must not overlap.");
|
|
248
|
+
}
|
|
249
|
+
if (!isIsoDateTime(checkpoint.updatedAt)) {
|
|
250
|
+
throw new CliError("AGENT_EVIDENCE_CHECKPOINT_INVALID", "Checkpoint updatedAt must be an ISO timestamp.");
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
function resolveRevFleetEvidenceEndpoint(rawUrl) {
|
|
254
|
+
let base;
|
|
255
|
+
try {
|
|
256
|
+
base = new URL(rawUrl);
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
throw new CliError("AGENT_EVIDENCE_BACKEND_URL_INVALID", "--backend-url must be a valid absolute URL.");
|
|
260
|
+
}
|
|
261
|
+
const localHttp = base.protocol === "http:" && ["localhost", "127.0.0.1", "::1"].includes(base.hostname);
|
|
262
|
+
if (base.protocol !== "https:" && !localHttp) {
|
|
263
|
+
throw new CliError("AGENT_EVIDENCE_BACKEND_URL_INVALID", "RevFleet evidence submission requires HTTPS (HTTP is allowed only for localhost).");
|
|
264
|
+
}
|
|
265
|
+
if (base.username || base.password || base.hash || (base.pathname !== "/" && base.pathname !== "")) {
|
|
266
|
+
throw new CliError("AGENT_EVIDENCE_BACKEND_URL_INVALID", "--backend-url must be an origin without credentials, fragment, or path.");
|
|
267
|
+
}
|
|
268
|
+
return new URL("/api/evidence/hscli", base).toString();
|
|
269
|
+
}
|
|
270
|
+
function formatEvidenceNumber(value) {
|
|
271
|
+
if (typeof value !== "number" || !Number.isFinite(value))
|
|
272
|
+
return "Not collected";
|
|
273
|
+
return new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 }).format(value);
|
|
274
|
+
}
|
|
275
|
+
function formatEvidencePercent(value) {
|
|
276
|
+
const percent = Math.round(value * 1_000) / 10;
|
|
277
|
+
return `${Number.isInteger(percent) ? percent.toFixed(0) : percent.toFixed(1)}%`;
|
|
278
|
+
}
|
|
279
|
+
function parseStep(root, index, checkpoint) {
|
|
280
|
+
if (checkpoint.failedSteps.includes(index))
|
|
281
|
+
return { status: "failed", envelopes: [] };
|
|
282
|
+
const file = join(root, "steps", `${String(index + 1).padStart(3, "0")}.stdout.jsonl`);
|
|
283
|
+
if (!checkpoint.completedSteps.includes(index) || !existsSync(file)) {
|
|
284
|
+
return { status: "missing", envelopes: [] };
|
|
285
|
+
}
|
|
286
|
+
try {
|
|
287
|
+
assertReadableSize(file);
|
|
288
|
+
const lines = readFileSync(file, "utf8").split("\n").map((line) => line.trim()).filter(Boolean);
|
|
289
|
+
if (lines.length === 0)
|
|
290
|
+
return { status: "invalid", envelopes: [] };
|
|
291
|
+
const envelopes = lines.map((line) => JSON.parse(line));
|
|
292
|
+
if (envelopes.some((envelope) => envelope.ok !== true || envelope.data === undefined)) {
|
|
293
|
+
return { status: "invalid", envelopes: [] };
|
|
294
|
+
}
|
|
295
|
+
return { status: "collected", envelopes };
|
|
296
|
+
}
|
|
297
|
+
catch {
|
|
298
|
+
return { status: "invalid", envelopes: [] };
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
function summarizeFillRates(step, allowedProperties) {
|
|
302
|
+
const propertyFillRates = {};
|
|
303
|
+
let sampled = 0;
|
|
304
|
+
for (const envelope of step.envelopes) {
|
|
305
|
+
const data = asRecord(envelope.data);
|
|
306
|
+
const meta = asRecord(envelope.meta);
|
|
307
|
+
const property = normalizePropertyName(data?.property);
|
|
308
|
+
const fillRate = finiteRatio(data?.fillRate);
|
|
309
|
+
if (property && allowedProperties.has(property) && fillRate !== null)
|
|
310
|
+
propertyFillRates[property] = fillRate;
|
|
311
|
+
sampled = Math.max(sampled, evidenceCount(meta?.sampled) ?? evidenceCount(data?.sampled) ?? 0);
|
|
312
|
+
}
|
|
313
|
+
return { sampled, propertyFillRates };
|
|
314
|
+
}
|
|
315
|
+
function records(step) {
|
|
316
|
+
const out = [];
|
|
317
|
+
for (const envelope of step.envelopes) {
|
|
318
|
+
if (Array.isArray(envelope.data)) {
|
|
319
|
+
for (const value of envelope.data) {
|
|
320
|
+
const record = asRecord(value);
|
|
321
|
+
if (record)
|
|
322
|
+
out.push(record);
|
|
323
|
+
}
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
326
|
+
const data = asRecord(envelope.data);
|
|
327
|
+
if (!data)
|
|
328
|
+
continue;
|
|
329
|
+
if (Array.isArray(data.results)) {
|
|
330
|
+
for (const value of data.results) {
|
|
331
|
+
const record = asRecord(value);
|
|
332
|
+
if (record)
|
|
333
|
+
out.push(record);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
out.push(data);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
return out;
|
|
341
|
+
}
|
|
342
|
+
function firstRecord(step) {
|
|
343
|
+
return records(step)[0];
|
|
344
|
+
}
|
|
345
|
+
function recordCount(step) {
|
|
346
|
+
return records(step).length;
|
|
347
|
+
}
|
|
348
|
+
function countStatuses(signals) {
|
|
349
|
+
return signals.reduce((counts, signal) => {
|
|
350
|
+
counts[signal.status] += 1;
|
|
351
|
+
return counts;
|
|
352
|
+
}, { collected: 0, failed: 0, missing: 0, invalid: 0 });
|
|
353
|
+
}
|
|
354
|
+
function readJson(file, label) {
|
|
355
|
+
if (!existsSync(file))
|
|
356
|
+
throw new CliError("AGENT_EVIDENCE_FILE_MISSING", `Missing ${label}: ${file}`);
|
|
357
|
+
try {
|
|
358
|
+
assertReadableSize(file);
|
|
359
|
+
return JSON.parse(readFileSync(file, "utf8"));
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
if (error instanceof CliError)
|
|
363
|
+
throw error;
|
|
364
|
+
throw new CliError("AGENT_EVIDENCE_FILE_INVALID", `Invalid ${label}: ${file}`);
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
function assertReadableSize(file) {
|
|
368
|
+
if (statSync(file).size > MAX_EVIDENCE_FILE_BYTES) {
|
|
369
|
+
throw new CliError("AGENT_EVIDENCE_FILE_TOO_LARGE", `Evidence file exceeds ${MAX_EVIDENCE_FILE_BYTES} bytes: ${file}`);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
function normalizePortalId(value) {
|
|
373
|
+
const normalized = typeof value === "number" ? String(value) : typeof value === "string" ? value.trim() : "";
|
|
374
|
+
return /^\d+$/.test(normalized) ? normalized : null;
|
|
375
|
+
}
|
|
376
|
+
function normalizeHublet(value) {
|
|
377
|
+
if (typeof value !== "string")
|
|
378
|
+
return null;
|
|
379
|
+
const normalized = value.trim().toLowerCase();
|
|
380
|
+
return ["us", "na", "na1", "na2", "eu1", "ap1"].includes(normalized)
|
|
381
|
+
? normalized
|
|
382
|
+
: null;
|
|
383
|
+
}
|
|
384
|
+
function normalizePropertyName(value) {
|
|
385
|
+
if (typeof value !== "string")
|
|
386
|
+
return null;
|
|
387
|
+
return /^[A-Za-z0-9_]{1,120}$/.test(value) ? value : null;
|
|
388
|
+
}
|
|
389
|
+
function finiteRatio(value) {
|
|
390
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 1 ? value : null;
|
|
391
|
+
}
|
|
392
|
+
function evidenceCount(value) {
|
|
393
|
+
return typeof value === "number" && Number.isInteger(value) && value >= 0 && value <= MAX_EVIDENCE_COUNT
|
|
394
|
+
? value
|
|
395
|
+
: null;
|
|
396
|
+
}
|
|
397
|
+
function isIsoDateTime(value) {
|
|
398
|
+
return typeof value === "string" && !Number.isNaN(Date.parse(value)) && value.includes("T");
|
|
399
|
+
}
|
|
400
|
+
function validateCheckpointSteps(steps, label) {
|
|
401
|
+
if (!Array.isArray(steps)
|
|
402
|
+
|| new Set(steps).size !== steps.length
|
|
403
|
+
|| steps.some((step) => !Number.isInteger(step) || step < 0 || step >= PORTAL_BASELINE_SIGNALS.length)) {
|
|
404
|
+
throw new CliError("AGENT_EVIDENCE_CHECKPOINT_INVALID", `Checkpoint ${label} must contain unique portal-baseline step indexes.`);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
function asRecord(value) {
|
|
408
|
+
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
409
|
+
? value
|
|
410
|
+
: undefined;
|
|
411
|
+
}
|
|
412
|
+
function stableStringify(value) {
|
|
413
|
+
if (Array.isArray(value))
|
|
414
|
+
return `[${value.map(stableStringify).join(",")}]`;
|
|
415
|
+
if (value !== null && typeof value === "object") {
|
|
416
|
+
const record = value;
|
|
417
|
+
return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${stableStringify(record[key])}`).join(",")}}`;
|
|
418
|
+
}
|
|
419
|
+
return JSON.stringify(value);
|
|
420
|
+
}
|
|
421
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../src/commands/agent/evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { join, resolve } from "node:path";
|
|
1
2
|
import { CliError, printResult } from "../../core/output.js";
|
|
2
3
|
import { registerActionContractCommands } from "./contracts.js";
|
|
4
|
+
import { buildRevFleetEvidence, writeRevFleetEvidenceReport, submitRevFleetEvidence, writeRevFleetEvidence, } from "./evidence.js";
|
|
3
5
|
import { AGENT_PRINCIPLES, recipeIds, resolveRecipe } from "./recipes.js";
|
|
4
6
|
import { runAgentRecipe } from "./runner.js";
|
|
5
7
|
function shellQuoteArg(value) {
|
|
@@ -118,6 +120,31 @@ export function registerAgent(program, getCtx) {
|
|
|
118
120
|
const agent = program
|
|
119
121
|
.command("agent")
|
|
120
122
|
.description("Agent-safe HubSpot operator runbooks: public API first, scheduled, auditable, policy-aware");
|
|
123
|
+
program
|
|
124
|
+
.command("baseline")
|
|
125
|
+
.description("Run the read-only Portal Baseline and write signed aggregate evidence plus a human report")
|
|
126
|
+
.option("--output <dir>", "Evidence directory (default: ~/.revfleet/agent-runs/portal-baseline/<run>)")
|
|
127
|
+
.option("--resume", "Resume from checkpoint in the output directory")
|
|
128
|
+
.option("--fail-fast", "Stop at the first inaccessible signal instead of preserving partial coverage")
|
|
129
|
+
.action(async (opts) => {
|
|
130
|
+
const ctx = getCtx();
|
|
131
|
+
const result = await runAgentRecipe(ctx, "portal-baseline", {
|
|
132
|
+
output: opts.output ? String(opts.output) : undefined,
|
|
133
|
+
resume: Boolean(opts.resume),
|
|
134
|
+
continueOnError: !opts.failFast,
|
|
135
|
+
});
|
|
136
|
+
const evidenceFile = join(result.outputDir, "revfleet-evidence.json");
|
|
137
|
+
const reportFile = join(result.outputDir, "portal-baseline.md");
|
|
138
|
+
const evidence = writeRevFleetEvidence(result.outputDir, evidenceFile);
|
|
139
|
+
writeRevFleetEvidenceReport(evidence, reportFile);
|
|
140
|
+
printResult(ctx, {
|
|
141
|
+
...result,
|
|
142
|
+
coverage: evidence.coverage.status,
|
|
143
|
+
evidenceFile,
|
|
144
|
+
reportFile,
|
|
145
|
+
privacy: evidence.privacy,
|
|
146
|
+
});
|
|
147
|
+
});
|
|
121
148
|
registerActionContractCommands(agent, getCtx);
|
|
122
149
|
agent
|
|
123
150
|
.command("list")
|
|
@@ -162,6 +189,57 @@ export function registerAgent(program, getCtx) {
|
|
|
162
189
|
});
|
|
163
190
|
printResult(ctx, result);
|
|
164
191
|
});
|
|
192
|
+
const evidence = agent
|
|
193
|
+
.command("evidence")
|
|
194
|
+
.description("Export aggregate, PII-free evidence from an hscli agent run");
|
|
195
|
+
evidence
|
|
196
|
+
.command("export")
|
|
197
|
+
.argument("<run-directory>", "Completed portal-baseline evidence directory")
|
|
198
|
+
.option("--output <file>", "Write revfleet.hscli-evidence/v1 JSON to this file")
|
|
199
|
+
.description("Build a deterministic RevFleet evidence contract without uploading raw records or user identities")
|
|
200
|
+
.action((runDirectory, opts) => {
|
|
201
|
+
const ctx = getCtx();
|
|
202
|
+
const outputFile = opts.output ? resolve(String(opts.output)) : null;
|
|
203
|
+
const exported = outputFile
|
|
204
|
+
? writeRevFleetEvidence(String(runDirectory), outputFile)
|
|
205
|
+
: buildRevFleetEvidence(String(runDirectory));
|
|
206
|
+
printResult(ctx, {
|
|
207
|
+
outputFile,
|
|
208
|
+
evidence: exported,
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
evidence
|
|
212
|
+
.command("report")
|
|
213
|
+
.argument("<run-directory>", "Completed portal-baseline evidence directory")
|
|
214
|
+
.option("--output <file>", "Write the Markdown report to this file")
|
|
215
|
+
.description("Render a human-readable report from signed aggregate evidence only")
|
|
216
|
+
.action((runDirectory, opts) => {
|
|
217
|
+
const ctx = getCtx();
|
|
218
|
+
const root = resolve(String(runDirectory));
|
|
219
|
+
const outputFile = opts.output ? resolve(String(opts.output)) : join(root, "portal-baseline.md");
|
|
220
|
+
const evidenceValue = buildRevFleetEvidence(root);
|
|
221
|
+
writeRevFleetEvidenceReport(evidenceValue, outputFile);
|
|
222
|
+
printResult(ctx, {
|
|
223
|
+
outputFile,
|
|
224
|
+
coverage: evidenceValue.coverage.status,
|
|
225
|
+
digest: evidenceValue.digest,
|
|
226
|
+
privacy: evidenceValue.privacy,
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
evidence
|
|
230
|
+
.command("submit")
|
|
231
|
+
.argument("<run-directory>", "Completed portal-baseline evidence directory")
|
|
232
|
+
.option("--backend-url <url>", "RevFleet origin (or set REVFLEET_BACKEND_URL)")
|
|
233
|
+
.option("--api-key-env <name>", "Environment variable holding a scan:run RevFleet API key", "REVFLEET_API_KEY")
|
|
234
|
+
.description("Submit only the signed aggregate evidence contract; raw step files remain local")
|
|
235
|
+
.action(async (runDirectory, opts) => {
|
|
236
|
+
const ctx = getCtx();
|
|
237
|
+
const result = await submitRevFleetEvidence(String(runDirectory), {
|
|
238
|
+
backendUrl: opts.backendUrl ? String(opts.backendUrl) : undefined,
|
|
239
|
+
apiKeyEnv: String(opts.apiKeyEnv),
|
|
240
|
+
});
|
|
241
|
+
printResult(ctx, result);
|
|
242
|
+
});
|
|
165
243
|
const schedule = agent.command("schedule").description("Render schedule artifacts for agent runbooks");
|
|
166
244
|
schedule
|
|
167
245
|
.command("render")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,6 +83,10 @@ export function registerAudit(program, getCtx) {
|
|
|
83
83
|
totalLoaded: all.length,
|
|
84
84
|
afterFilters: events.length,
|
|
85
85
|
showing: Math.min(events.length, limit),
|
|
86
|
+
summary: {
|
|
87
|
+
requests: all.length,
|
|
88
|
+
errors: all.filter((event) => Boolean(event.error) || (event.status !== undefined && event.status >= 400)).length,
|
|
89
|
+
},
|
|
86
90
|
filters: {
|
|
87
91
|
since: opts.since ?? "(none)",
|
|
88
92
|
writesOnly: Boolean(opts.writesOnly),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/audit/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/audit/index.ts"],"names":[],"mappings":"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"}
|
package/docs/COMMAND_TREE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# COMMAND_TREE
|
|
2
2
|
|
|
3
|
-
> Updated: 2026-07-
|
|
3
|
+
> Updated: 2026-07-10 for 0.9.1
|
|
4
4
|
> See also: [COMMAND_COMPATIBILITY.md](COMMAND_COMPATIBILITY.md) · [ARCHITECTURE.md](ARCHITECTURE.md) · [MCP.md](MCP.md)
|
|
5
5
|
|
|
6
6
|
High-level map of every hscli command. For detailed args and examples per command, run `hscli <domain> <cmd> --help`.
|
|
@@ -54,8 +54,13 @@ High-level map of every hscli command. For detailed args and examples per comman
|
|
|
54
54
|
|
|
55
55
|
## Agent
|
|
56
56
|
|
|
57
|
-
- `hscli
|
|
57
|
+
- `hscli baseline [--output <dir>] [--resume] [--fail-fast]` — run the 12-signal read-only Portal Baseline and write `portal-baseline.md`, signed aggregate `revfleet-evidence.json`, and the local audit ledger; partial coverage is the default
|
|
58
|
+
- `hscli agent list` — list deterministic operator recipes (`portal-baseline`, `data-cleanup`, `pipeline-risk`, `automation-risk`)
|
|
58
59
|
- `hscli agent plan <recipe>` — render a public-API-first, audit-friendly runbook without executing HubSpot requests
|
|
60
|
+
- `hscli agent run <recipe> [--output <dir>] [--resume] [--continue-on-error]` — execute a read-only runbook into a resumable local evidence directory
|
|
61
|
+
- `hscli agent evidence export <run-directory> [--output <file>]` — create signed aggregate-only `revfleet.hscli-evidence/v1` JSON; raw steps and identities remain local
|
|
62
|
+
- `hscli agent evidence report <run-directory> [--output <file>]` — render the deterministic Markdown report from aggregate evidence only
|
|
63
|
+
- `hscli agent evidence submit <run-directory> [--backend-url <origin>] [--api-key-env <name>]` — submit signed aggregate evidence to an explicit RevFleet origin (`REVFLEET_BACKEND_URL` is the fallback); does not create a full scan score
|
|
59
64
|
- `hscli agent schedule render <recipe> [--target cron|github-actions|launchd] [--cron "0 8 * * 1"]` — render a schedule artifact; does not install it
|
|
60
65
|
|
|
61
66
|
## Context
|
package/package.json
CHANGED