@openclawbrain/openclaw 0.1.11 → 0.1.12
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/README.md +12 -6
- package/dist/src/cli.d.ts +14 -1
- package/dist/src/cli.js +212 -9
- package/dist/src/cli.js.map +1 -1
- package/dist/src/index.d.ts +359 -4
- package/dist/src/index.js +1627 -77
- package/dist/src/index.js.map +1 -1
- package/dist/src/local-session-passive-learning.d.ts +60 -0
- package/dist/src/local-session-passive-learning.js +359 -0
- package/dist/src/local-session-passive-learning.js.map +1 -0
- package/dist/src/session-store.d.ts +150 -0
- package/dist/src/session-store.js +199 -0
- package/dist/src/session-store.js.map +1 -0
- package/dist/src/session-tail.d.ts +68 -0
- package/dist/src/session-tail.js +519 -0
- package/dist/src/session-tail.js.map +1 -0
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -5,10 +5,11 @@ OpenClaw integration helpers for promoted-pack compile consumption and normalize
|
|
|
5
5
|
This is the default front door for first-time OpenClawBrain users.
|
|
6
6
|
|
|
7
7
|
- Start here when you want one package to import from instead of guessing across the `@openclawbrain/*` split.
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- Use
|
|
8
|
+
- The stable front-door names are `@openclawbrain/openclaw` and `openclawbrain`.
|
|
9
|
+
- If you are validating this repo-tip checkout, prepare the checkout with `pnpm install --frozen-lockfile`, run `pnpm release:status`, then `pnpm release:pack`, then install the local `.release/*.tgz` tarballs.
|
|
10
|
+
- If you are intentionally consuming a later tagged and published wave, install it with `npm install @openclawbrain/openclaw`.
|
|
11
|
+
- Use the `openclawbrain` CLI for status, rollback, and narrow scanner scans; `openclawbrain-ops` stays available as a compatibility alias.
|
|
12
|
+
- `npm exec openclawbrain -- --help` works after either install path, but the exact quickstart commands remain the clearest first attach path.
|
|
12
13
|
|
|
13
14
|
Use this package when OpenClaw needs the narrow supported operator bridge captured by `OPERATOR_API_CONTRACT_V1`:
|
|
14
15
|
|
|
@@ -142,16 +143,21 @@ Operator-facing CLI:
|
|
|
142
143
|
```bash
|
|
143
144
|
pnpm exec openclawbrain status --activation-root /var/openclawbrain/activation --event-export /var/openclawbrain/exports/latest --teacher-snapshot /var/openclawbrain/runtime/teacher-snapshot.json
|
|
144
145
|
pnpm exec openclawbrain rollback --activation-root /var/openclawbrain/activation --dry-run
|
|
146
|
+
pnpm exec openclawbrain scan --session ./fixtures/recorded-session-replay/sanitized-support-escalation.trace.json --root /tmp/openclawbrain-scan-session
|
|
147
|
+
pnpm exec openclawbrain scan --live /var/openclawbrain/exports/latest --workspace /var/openclawbrain/runtime/workspace.json --snapshot-out /var/openclawbrain/runtime/scan-live-snapshot.json
|
|
145
148
|
```
|
|
146
149
|
|
|
147
150
|
- `openclawbrain-ops` remains available as the same CLI entrypoint if you already scripted against the older name
|
|
148
151
|
- `bootstrapRuntimeAttach()` resolves the activation root, stamps the attach as a `current_profile` action, returns the canonical current-profile answer immediately, and includes copy-paste-ready next steps for the attached root that prefer the primary `openclawbrain` CLI while matching the current `npm`/`pnpm` invocation style when it is detectable; those hints now cover `status`, canonical `status --json`, and `rollback --dry-run`
|
|
149
152
|
- `formatBootstrapRuntimeAttachReport()` prints the shipped attach handoff as a current-profile action instead of dropping callers straight into lower-level proof fields
|
|
150
|
-
- plain `status` is the human answer to “How's the brain?” for the current profile on that activation root; it now keeps principal backlog
|
|
153
|
+
- plain `status` is the human answer to “How's the brain?” for the current profile on that activation root; it now keeps the principal backlog frontier (`learnedThrough -> newestPending`), live-vs-backfill passive-learning progress, explicit backlog warning states, structural-decision origin, and active structural-graph evolution visible in the compact text summary, while `status --json` still emits the canonical `current_profile_brain_status.v1` answer from that same boundary
|
|
154
|
+
- with `--teacher-snapshot`, that same human summary also keeps the learner `mode`, next lane, and exact scheduler `priority` bucket visible so operators can see live-first intake, principal-priority work, and passive backfill without pretending the canonical JSON object widened
|
|
151
155
|
- `describeCurrentProfileBrainStatus()` freezes the current-profile `Host / Profile / Brain / Attachment` answer shape instead of widening to a second report payload
|
|
152
156
|
- `rollback --dry-run` previews the exact `active <- previous` and `active -> candidate` move before you apply rollback for real
|
|
153
157
|
- `--event-export` accepts either a runtime event-export bundle root or a normalized-export JSON payload
|
|
154
|
-
- `--teacher-snapshot` accepts JSON from `teacherLoop.snapshot()` or `await teacherLoop.flush()` when you want the last duplicate/no-op reason plus learner bootstrapped/mode/next-lane
|
|
158
|
+
- `--teacher-snapshot` accepts JSON from `teacherLoop.snapshot()` or `await teacherLoop.flush()` when you want the last duplicate/no-op reason plus learner bootstrapped/mode/next-lane/scheduler-priority truth kept visible
|
|
159
|
+
- `scan --session` is a checked-in proof-facing replay over a sanitized recorded-session trace; it reports the no-brain vs seed-pack vs learned-replay score spread and does not pretend to be the runtime hot path
|
|
160
|
+
- `scan --live` is a one-shot live-export scan over a real event-export payload plus explicit workspace metadata; it truthfully reports teacher/learner state for that export and does not pretend a background daemon is running
|
|
155
161
|
|
|
156
162
|
Programmatic rollback is available too:
|
|
157
163
|
|
package/dist/src/cli.d.ts
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { type CurrentProfileBrainStatusInput } from "./index.js";
|
|
3
|
-
interface
|
|
3
|
+
interface ParsedStatusRollbackCliArgs {
|
|
4
4
|
command: "status" | "rollback";
|
|
5
5
|
input: CurrentProfileBrainStatusInput;
|
|
6
6
|
json: boolean;
|
|
7
7
|
help: boolean;
|
|
8
8
|
dryRun: boolean;
|
|
9
9
|
}
|
|
10
|
+
interface ParsedScanCliArgs {
|
|
11
|
+
command: "scan";
|
|
12
|
+
json: boolean;
|
|
13
|
+
help: boolean;
|
|
14
|
+
sessionPath: string | null;
|
|
15
|
+
livePath: string | null;
|
|
16
|
+
rootDir: string | null;
|
|
17
|
+
workspacePath: string | null;
|
|
18
|
+
packLabel: string | null;
|
|
19
|
+
observedAt: string | null;
|
|
20
|
+
snapshotOutPath: string | null;
|
|
21
|
+
}
|
|
22
|
+
type ParsedOperatorCliArgs = ParsedStatusRollbackCliArgs | ParsedScanCliArgs;
|
|
10
23
|
export declare function parseOperatorCliArgs(argv: readonly string[]): ParsedOperatorCliArgs;
|
|
11
24
|
export declare function runOperatorCli(argv?: readonly string[]): number;
|
|
12
25
|
export {};
|
package/dist/src/cli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { realpathSync } from "node:fs";
|
|
2
|
+
import { mkdirSync, readFileSync, realpathSync, statSync, writeFileSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { pathToFileURL } from "node:url";
|
|
5
|
-
import { buildOperatorSurfaceReport, describeCurrentProfileBrainStatus, formatOperatorRollbackReport, rollbackRuntimeAttach } from "./index.js";
|
|
5
|
+
import { buildOperatorSurfaceReport, describeCurrentProfileBrainStatus, formatOperatorRollbackReport, loadRuntimeEventExportBundle, rollbackRuntimeAttach, scanLiveEventExport, scanRecordedSession } from "./index.js";
|
|
6
6
|
function quoteShellArg(value) {
|
|
7
7
|
return `'${value.replace(/'/g, `"'"'`)}'`;
|
|
8
8
|
}
|
|
@@ -123,15 +123,25 @@ function operatorCliHelp() {
|
|
|
123
123
|
return [
|
|
124
124
|
"Usage:",
|
|
125
125
|
" openclawbrain <status|rollback> --activation-root <path> [options]",
|
|
126
|
+
" openclawbrain scan --session <trace.json> --root <path> [options]",
|
|
127
|
+
" openclawbrain scan --live <event-export-path> --workspace <workspace.json> [options]",
|
|
126
128
|
" openclawbrain-ops <status|rollback> --activation-root <path> [options] # compatibility alias",
|
|
129
|
+
" openclawbrain-ops scan --session <trace.json> --root <path> [options] # compatibility alias",
|
|
127
130
|
"",
|
|
128
131
|
"Options:",
|
|
129
132
|
" --activation-root <path> Activation root to inspect.",
|
|
130
133
|
" --event-export <path> Event-export bundle root or normalized export JSON payload.",
|
|
131
|
-
" --teacher-snapshot <path> Async teacher snapshot JSON from teacherLoop.snapshot()/flush().",
|
|
134
|
+
" --teacher-snapshot <path> Async teacher snapshot JSON from teacherLoop.snapshot()/flush(); keeps live-first, principal-priority, and passive-backfill learner truth explicit.",
|
|
132
135
|
" --updated-at <iso> Observation time to use for freshness checks.",
|
|
133
136
|
" --brain-attachment-policy <undeclared|dedicated|shared> Override attachment policy semantics for status inspection.",
|
|
134
137
|
" --dry-run Preview rollback pointer movement without writing activation state.",
|
|
138
|
+
" --session <path> Sanitized recorded-session trace JSON to replay.",
|
|
139
|
+
" --live <path> Runtime event-export bundle root or normalized export JSON to scan once.",
|
|
140
|
+
" --root <path> Output root for scan --session replay artifacts.",
|
|
141
|
+
" --workspace <path> Workspace metadata JSON for scan --live candidate provenance.",
|
|
142
|
+
" --pack-label <label> Candidate-pack label for scan --live. Defaults to scanner-live-cli.",
|
|
143
|
+
" --observed-at <iso> Observation time for scan --live freshness checks.",
|
|
144
|
+
" --snapshot-out <path> Write the one-shot scan --live snapshot JSON.",
|
|
135
145
|
" --json Emit machine-readable JSON instead of text.",
|
|
136
146
|
" --help Show this help.",
|
|
137
147
|
"",
|
|
@@ -141,10 +151,14 @@ function operatorCliHelp() {
|
|
|
141
151
|
" 2. status --json read the canonical current_profile_brain_status.v1 object for that same boundary",
|
|
142
152
|
" 3. rollback --dry-run preview active <- previous, active -> candidate",
|
|
143
153
|
" 4. rollback apply the rollback when the preview says ready",
|
|
154
|
+
" 5. scan --session replay one sanitized session trace across no_brain, seed_pack, and learned_replay",
|
|
155
|
+
" 6. scan --live scan one live event export into teacher/learner state without claiming a daemon is running",
|
|
156
|
+
" status --teacher-snapshot keeps the current live-first / principal-priority / passive-backfill learner order visible when that snapshot exists",
|
|
144
157
|
"",
|
|
145
158
|
"Exit codes:",
|
|
146
159
|
" status: 0 on successful inspection, 1 on input/read failure.",
|
|
147
|
-
" rollback: 0 when ready/applied, 1 when blocked or on input/read failure."
|
|
160
|
+
" rollback: 0 when ready/applied, 1 when blocked or on input/read failure.",
|
|
161
|
+
" scan: 0 on successful replay/scan, 1 on input/read failure."
|
|
148
162
|
].join("\n");
|
|
149
163
|
}
|
|
150
164
|
function yesNo(value) {
|
|
@@ -157,25 +171,51 @@ function formatPrincipalLatest(report) {
|
|
|
157
171
|
const latest = report.principal.latestFeedback;
|
|
158
172
|
return latest === null ? "none" : `${latest.teacherIdentity}/${latest.kind}`;
|
|
159
173
|
}
|
|
174
|
+
function formatPrincipalCheckpointFrontier(report) {
|
|
175
|
+
const checkpoint = report.learning.leadingPrincipalCheckpoint;
|
|
176
|
+
if (checkpoint === null) {
|
|
177
|
+
return "none";
|
|
178
|
+
}
|
|
179
|
+
const learnedThrough = checkpoint.learnedThroughSequence ?? "none";
|
|
180
|
+
const newestPending = checkpoint.newestPendingSequence ?? "none";
|
|
181
|
+
return `${checkpoint.teacherIdentity}:${learnedThrough}->${newestPending}`;
|
|
182
|
+
}
|
|
160
183
|
function formatStructuralOps(report) {
|
|
161
184
|
const structuralOps = report.graph.structuralOps;
|
|
162
185
|
return structuralOps === null
|
|
163
186
|
? "none"
|
|
164
187
|
: `split:${structuralOps.split},merge:${structuralOps.merge},prune:${structuralOps.prune},connect:${structuralOps.connect}`;
|
|
165
188
|
}
|
|
189
|
+
function formatScannerSurfaces(report) {
|
|
190
|
+
return report.supervision.scanSurfaces.length === 0 ? "none" : report.supervision.scanSurfaces.join("|");
|
|
191
|
+
}
|
|
192
|
+
function formatLearningBuckets(report) {
|
|
193
|
+
const buckets = report.learning.pendingByBucket;
|
|
194
|
+
if (buckets === null) {
|
|
195
|
+
return "none";
|
|
196
|
+
}
|
|
197
|
+
return `pi:${buckets.principal_immediate},pb:${buckets.principal_backfill},live:${buckets.live},backfill:${buckets.backfill}`;
|
|
198
|
+
}
|
|
199
|
+
function formatLearningWarnings(report) {
|
|
200
|
+
return report.learning.warningStates.length === 0 ? "none" : report.learning.warningStates.join("|");
|
|
201
|
+
}
|
|
166
202
|
function formatCurrentProfileStatusSummary(status, report) {
|
|
203
|
+
const profileIdSuffix = status.profile.profileId === null ? "" : ` id=${status.profile.profileId}`;
|
|
167
204
|
return [
|
|
168
205
|
`STATUS ${status.brainStatus.status}`,
|
|
169
206
|
`answer ${status.brain.summary}`,
|
|
170
207
|
`host runtime=${status.host.runtimeOwner} activation=${status.host.activationRoot}`,
|
|
171
|
-
`profile selector=${status.profile.selector} attachment=${status.attachment.state} policy=${status.attachment.policyMode}`,
|
|
208
|
+
`profile selector=${status.profile.selector}${profileIdSuffix} attachment=${status.attachment.state} policy=${status.attachment.policyMode}`,
|
|
209
|
+
`manyProfile surface=${report.manyProfile.operatorSurface} policy=${report.manyProfile.declaredAttachmentPolicy} intent=${report.manyProfile.sameGatewayIntent} checkedProof=${report.manyProfile.checkedInProofTopology} sameGatewayProof=${yesNo(report.manyProfile.sameGatewayProof)} sharedWriteProof=${yesNo(report.manyProfile.sharedWriteSafetyProof)}`,
|
|
172
210
|
`brain pack=${status.brain.activePackId ?? "none"} state=${status.brain.state} init=${status.brain.initMode ?? "unknown"} routeFreshness=${status.brain.routeFreshness} lastPromotion=${status.brain.lastPromotionAt ?? "none"} router=${status.brain.routerIdentity ?? "none"}`,
|
|
173
211
|
`serve state=${status.brainStatus.serveState} failOpen=${yesNo(status.brainStatus.failOpen)} hardFail=${yesNo(report.servePath.hardRequirementViolated)} usedRouteFn=${yesNo(status.brainStatus.usedLearnedRouteFn)} awaitingFirstExport=${yesNo(status.brainStatus.awaitingFirstExport)} detail=${status.brainStatus.detail}`,
|
|
174
212
|
`route router=${report.servePath.routerIdentity ?? status.brain.routerIdentity ?? "none"} supervision=${report.servePath.refreshStatus ?? status.brain.routeFreshness} freshness=${report.servePath.freshnessChecksum ?? "none"}`,
|
|
175
|
-
`budget requested=${report.servePath.requestedBudgetStrategy ?? "none"} resolved=${report.servePath.resolvedBudgetStrategy ?? "none"} maxBlocks=${report.servePath.resolvedMaxContextBlocks ?? "none"} source=${report.servePath.structuralBudgetSource ?? "none"}`,
|
|
176
|
-
`
|
|
213
|
+
`budget requested=${report.servePath.requestedBudgetStrategy ?? "none"} resolved=${report.servePath.resolvedBudgetStrategy ?? "none"} maxBlocks=${report.servePath.resolvedMaxContextBlocks ?? "none"} source=${report.servePath.structuralBudgetSource ?? "none"} origin=${status.brainStatus.structuralDecision.origin} basis=${status.brainStatus.structuralDecision.basis}`,
|
|
214
|
+
`decision ${status.brainStatus.structuralDecision.detail}`,
|
|
215
|
+
`principal latest=${formatPrincipalLatest(report)} pending=${report.principal.pendingCount ?? report.learning.pendingPrincipalCount ?? "none"} checkpoint=${formatPrincipalCheckpointFrontier(report)} downstream=${yesNo(report.principal.servingDownstreamOfLatestCorrection)} lag=${report.learning.principalLagToPromotion.sequenceLag ?? "none"}`,
|
|
216
|
+
`scanner flowing=${yesNo(report.supervision.flowing)} scan=${report.supervision.scanPolicy ?? "none"} surfaces=${formatScannerSurfaces(report)} labels=${report.supervision.humanLabelCount ?? "none"}/${report.supervision.selfLabelCount ?? "none"} attributable=${report.supervision.attributedEventCount ?? "none"}/${report.supervision.totalEventCount ?? "none"} digests=${report.supervision.selectionDigestCount ?? "none"}`,
|
|
177
217
|
`graph source=${report.graph.runtimePlasticitySource ?? "none"} ops=${formatStructuralOps(report)} changed=${yesNo(report.graph.changed)} pruned=${report.graph.prunedBlockCount ?? "none"} strongest=${report.graph.strongestBlockId ?? "none"} summary=${report.graph.operatorSummary ?? report.graph.detail}`,
|
|
178
|
-
`learning bootstrapped=${yesNo(report.learning.bootstrapped)} mode=${report.learning.mode} next=${report.learning.nextPriorityLane} lastPack=${report.learning.lastMaterializedPackId ?? "none"}`,
|
|
218
|
+
`learning state=${report.learning.backlogState} bootstrapped=${yesNo(report.learning.bootstrapped)} mode=${report.learning.mode} next=${report.learning.nextPriorityLane} priority=${report.learning.nextPriorityBucket} pending=${report.learning.pendingLive ?? "none"}/${report.learning.pendingBackfill ?? "none"} buckets=${formatLearningBuckets(report)} warn=${formatLearningWarnings(report)} lastPack=${report.learning.lastMaterializedPackId ?? "none"} detail=${report.learning.detail}`,
|
|
179
219
|
`rollback ready=${yesNo(report.rollback.allowed)} state=${report.rollback.state} previous=${report.rollback.previousPackId ?? "none"}`,
|
|
180
220
|
`proof lastExport=${status.brain.lastExportAt ?? "none"} lastLearningUpdate=${status.brain.lastLearningUpdateAt ?? "none"} lastPromotion=${status.brain.lastPromotionAt ?? "none"}`,
|
|
181
221
|
`logs root=${status.brain.logRoot ?? "none"}`,
|
|
@@ -188,6 +228,40 @@ function requireActivationRoot(input, command) {
|
|
|
188
228
|
}
|
|
189
229
|
return path.resolve(input.activationRoot);
|
|
190
230
|
}
|
|
231
|
+
function readJsonFile(filePath) {
|
|
232
|
+
return JSON.parse(readFileSync(path.resolve(filePath), "utf8"));
|
|
233
|
+
}
|
|
234
|
+
function loadCliScanLiveExport(livePath) {
|
|
235
|
+
const resolvedPath = path.resolve(livePath);
|
|
236
|
+
const stats = statSync(resolvedPath);
|
|
237
|
+
if (stats.isDirectory()) {
|
|
238
|
+
return loadRuntimeEventExportBundle(resolvedPath).normalizedEventExport;
|
|
239
|
+
}
|
|
240
|
+
return readJsonFile(resolvedPath);
|
|
241
|
+
}
|
|
242
|
+
function formatScanSessionSummary(result) {
|
|
243
|
+
return [
|
|
244
|
+
"SCAN session ok",
|
|
245
|
+
`trace ${result.bundle.traceId}`,
|
|
246
|
+
`winner ${result.bundle.summary.winnerMode ?? "none"}`,
|
|
247
|
+
`scores ${result.bundle.modes.map((mode) => `${mode.mode}=${mode.summary.qualityScore}`).join(" ")}`,
|
|
248
|
+
`turns ${result.bundle.modes[0]?.turns.length ?? 0}`,
|
|
249
|
+
`hashes fixture=${result.fixtureHash} score=${result.bundle.scoreHash}`,
|
|
250
|
+
`root ${result.rootDir}`
|
|
251
|
+
].join("\n");
|
|
252
|
+
}
|
|
253
|
+
function formatScanLiveSummary(result, snapshotOutPath) {
|
|
254
|
+
const materializedPackId = result.snapshot.learner.lastMaterialization?.candidate.summary.packId ?? "none";
|
|
255
|
+
const materializationReason = result.snapshot.learner.lastMaterialization?.reason ?? "none";
|
|
256
|
+
return [
|
|
257
|
+
"SCAN live ok",
|
|
258
|
+
`source digest=${result.supervision.exportDigest} session=${result.supervision.sessionId ?? "none"} channel=${result.supervision.channel ?? "none"} range=${result.supervision.eventRange.start}-${result.supervision.eventRange.end}/${result.supervision.eventRange.count}`,
|
|
259
|
+
`teacher artifacts=${result.snapshot.teacher.artifactCount} freshness=${result.snapshot.teacher.latestFreshness} humanLabels=${result.supervision.humanLabelCount} noop=${result.snapshot.diagnostics.lastNoOpReason}`,
|
|
260
|
+
`learner packLabel=${result.packLabel} materialized=${materializedPackId} reason=${materializationReason}`,
|
|
261
|
+
`observed ${result.observedAt}`,
|
|
262
|
+
`snapshot ${snapshotOutPath ?? "none"}`
|
|
263
|
+
].join("\n");
|
|
264
|
+
}
|
|
191
265
|
export function parseOperatorCliArgs(argv) {
|
|
192
266
|
let command = "status";
|
|
193
267
|
let activationRoot = null;
|
|
@@ -195,6 +269,13 @@ export function parseOperatorCliArgs(argv) {
|
|
|
195
269
|
let teacherSnapshotPath = null;
|
|
196
270
|
let updatedAt = null;
|
|
197
271
|
let brainAttachmentPolicy = null;
|
|
272
|
+
let sessionPath = null;
|
|
273
|
+
let livePath = null;
|
|
274
|
+
let rootDir = null;
|
|
275
|
+
let workspacePath = null;
|
|
276
|
+
let packLabel = null;
|
|
277
|
+
let observedAt = null;
|
|
278
|
+
let snapshotOutPath = null;
|
|
198
279
|
let json = false;
|
|
199
280
|
let help = false;
|
|
200
281
|
let dryRun = false;
|
|
@@ -202,7 +283,7 @@ export function parseOperatorCliArgs(argv) {
|
|
|
202
283
|
if (args[0] === "doctor") {
|
|
203
284
|
throw new Error(buildDoctorDeletedMessage(args.slice(1)));
|
|
204
285
|
}
|
|
205
|
-
if (args[0] === "status" || args[0] === "rollback") {
|
|
286
|
+
if (args[0] === "status" || args[0] === "rollback" || args[0] === "scan") {
|
|
206
287
|
command = args.shift();
|
|
207
288
|
}
|
|
208
289
|
for (let index = 0; index < args.length; index += 1) {
|
|
@@ -263,8 +344,97 @@ export function parseOperatorCliArgs(argv) {
|
|
|
263
344
|
index += 1;
|
|
264
345
|
continue;
|
|
265
346
|
}
|
|
347
|
+
if (arg === "--session") {
|
|
348
|
+
if (next === undefined) {
|
|
349
|
+
throw new Error("--session requires a value");
|
|
350
|
+
}
|
|
351
|
+
sessionPath = next;
|
|
352
|
+
index += 1;
|
|
353
|
+
continue;
|
|
354
|
+
}
|
|
355
|
+
if (arg === "--live") {
|
|
356
|
+
if (next === undefined) {
|
|
357
|
+
throw new Error("--live requires a value");
|
|
358
|
+
}
|
|
359
|
+
livePath = next;
|
|
360
|
+
index += 1;
|
|
361
|
+
continue;
|
|
362
|
+
}
|
|
363
|
+
if (arg === "--root") {
|
|
364
|
+
if (next === undefined) {
|
|
365
|
+
throw new Error("--root requires a value");
|
|
366
|
+
}
|
|
367
|
+
rootDir = next;
|
|
368
|
+
index += 1;
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
371
|
+
if (arg === "--workspace") {
|
|
372
|
+
if (next === undefined) {
|
|
373
|
+
throw new Error("--workspace requires a value");
|
|
374
|
+
}
|
|
375
|
+
workspacePath = next;
|
|
376
|
+
index += 1;
|
|
377
|
+
continue;
|
|
378
|
+
}
|
|
379
|
+
if (arg === "--pack-label") {
|
|
380
|
+
if (next === undefined) {
|
|
381
|
+
throw new Error("--pack-label requires a value");
|
|
382
|
+
}
|
|
383
|
+
packLabel = next;
|
|
384
|
+
index += 1;
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
if (arg === "--observed-at") {
|
|
388
|
+
if (next === undefined) {
|
|
389
|
+
throw new Error("--observed-at requires a value");
|
|
390
|
+
}
|
|
391
|
+
observedAt = next;
|
|
392
|
+
index += 1;
|
|
393
|
+
continue;
|
|
394
|
+
}
|
|
395
|
+
if (arg === "--snapshot-out") {
|
|
396
|
+
if (next === undefined) {
|
|
397
|
+
throw new Error("--snapshot-out requires a value");
|
|
398
|
+
}
|
|
399
|
+
snapshotOutPath = next;
|
|
400
|
+
index += 1;
|
|
401
|
+
continue;
|
|
402
|
+
}
|
|
266
403
|
throw new Error(`unknown argument: ${arg}`);
|
|
267
404
|
}
|
|
405
|
+
if (command === "scan") {
|
|
406
|
+
if ((sessionPath === null && livePath === null) || (sessionPath !== null && livePath !== null)) {
|
|
407
|
+
throw new Error("scan requires exactly one of --session or --live");
|
|
408
|
+
}
|
|
409
|
+
if (sessionPath !== null) {
|
|
410
|
+
if (rootDir === null) {
|
|
411
|
+
throw new Error("--root is required for scan --session");
|
|
412
|
+
}
|
|
413
|
+
if (workspacePath !== null || packLabel !== null || observedAt !== null || snapshotOutPath !== null) {
|
|
414
|
+
throw new Error("--workspace, --pack-label, --observed-at, and --snapshot-out only apply to scan --live");
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
if (livePath !== null) {
|
|
418
|
+
if (workspacePath === null) {
|
|
419
|
+
throw new Error("--workspace is required for scan --live");
|
|
420
|
+
}
|
|
421
|
+
if (rootDir !== null) {
|
|
422
|
+
throw new Error("--root only applies to scan --session");
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
return {
|
|
426
|
+
command,
|
|
427
|
+
json,
|
|
428
|
+
help,
|
|
429
|
+
sessionPath,
|
|
430
|
+
livePath,
|
|
431
|
+
rootDir,
|
|
432
|
+
workspacePath,
|
|
433
|
+
packLabel,
|
|
434
|
+
observedAt,
|
|
435
|
+
snapshotOutPath
|
|
436
|
+
};
|
|
437
|
+
}
|
|
268
438
|
return {
|
|
269
439
|
command,
|
|
270
440
|
input: {
|
|
@@ -296,6 +466,39 @@ export function runOperatorCli(argv = process.argv.slice(2)) {
|
|
|
296
466
|
console.log(operatorCliHelp());
|
|
297
467
|
return 0;
|
|
298
468
|
}
|
|
469
|
+
if (parsed.command === "scan") {
|
|
470
|
+
if (parsed.sessionPath !== null) {
|
|
471
|
+
const result = scanRecordedSession({
|
|
472
|
+
rootDir: parsed.rootDir,
|
|
473
|
+
trace: readJsonFile(parsed.sessionPath)
|
|
474
|
+
});
|
|
475
|
+
if (parsed.json) {
|
|
476
|
+
console.log(JSON.stringify(result, null, 2));
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
console.log(formatScanSessionSummary(result));
|
|
480
|
+
}
|
|
481
|
+
return 0;
|
|
482
|
+
}
|
|
483
|
+
const result = scanLiveEventExport({
|
|
484
|
+
normalizedEventExport: loadCliScanLiveExport(parsed.livePath),
|
|
485
|
+
workspace: readJsonFile(parsed.workspacePath),
|
|
486
|
+
...(parsed.packLabel === null ? {} : { packLabel: parsed.packLabel }),
|
|
487
|
+
...(parsed.observedAt === null ? {} : { observedAt: parsed.observedAt })
|
|
488
|
+
});
|
|
489
|
+
const snapshotOutPath = parsed.snapshotOutPath === null ? null : path.resolve(parsed.snapshotOutPath);
|
|
490
|
+
if (snapshotOutPath !== null) {
|
|
491
|
+
mkdirSync(path.dirname(snapshotOutPath), { recursive: true });
|
|
492
|
+
writeFileSync(snapshotOutPath, JSON.stringify(result.snapshot, null, 2), "utf8");
|
|
493
|
+
}
|
|
494
|
+
if (parsed.json) {
|
|
495
|
+
console.log(JSON.stringify({ ...result, snapshotOutPath }, null, 2));
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
console.log(formatScanLiveSummary(result, snapshotOutPath));
|
|
499
|
+
}
|
|
500
|
+
return 0;
|
|
501
|
+
}
|
|
299
502
|
const activationRoot = requireActivationRoot(parsed.input, parsed.command);
|
|
300
503
|
if (parsed.command === "rollback") {
|
|
301
504
|
const result = rollbackRuntimeAttach({
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|