@openclawbrain/cli 0.4.4 → 0.4.6
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 +7 -7
- package/dist/src/cli.d.ts +1 -0
- package/dist/src/cli.js +99 -39
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/learning-spine.d.ts +1 -1
- package/dist/src/learning-spine.js +1 -1
- package/dist/src/local-learner.d.ts +490 -0
- package/dist/src/local-learner.js +4982 -0
- package/dist/src/traced-learning-bridge.js +48 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# @openclawbrain/cli
|
|
2
2
|
|
|
3
|
-
`@openclawbrain/cli@0.4.
|
|
3
|
+
`@openclawbrain/cli@0.4.6` is the published operator CLI package for OpenClawBrain.
|
|
4
4
|
|
|
5
5
|
Primary public flow:
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
openclaw plugins install @openclawbrain/openclaw@0.4.0
|
|
9
|
-
npx @openclawbrain/cli@0.4.
|
|
9
|
+
npx @openclawbrain/cli@0.4.6 install --openclaw-home ~/.openclaw
|
|
10
10
|
openclaw gateway restart
|
|
11
|
-
npx @openclawbrain/cli@0.4.
|
|
11
|
+
npx @openclawbrain/cli@0.4.6 status --openclaw-home ~/.openclaw --detailed
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
Patch note for `0.4.4`: the CLI now normalizes `plugins.allow` / `plugins.entries.openclawbrain` correctly on reinstall and reports the canonical `openclawbrain` install identity in status output.
|
|
@@ -20,10 +20,10 @@ This package carries the `openclawbrain` CLI, daemon controls, import/export hel
|
|
|
20
20
|
## Commands
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
npx @openclawbrain/cli@0.4.
|
|
24
|
-
npx @openclawbrain/cli@0.4.
|
|
25
|
-
npx @openclawbrain/cli@0.4.
|
|
26
|
-
npx @openclawbrain/cli@0.4.
|
|
23
|
+
npx @openclawbrain/cli@0.4.6 install --openclaw-home ~/.openclaw
|
|
24
|
+
npx @openclawbrain/cli@0.4.6 status --openclaw-home ~/.openclaw --detailed
|
|
25
|
+
npx @openclawbrain/cli@0.4.6 rollback --activation-root /var/openclawbrain/activation --dry-run
|
|
26
|
+
npx @openclawbrain/cli@0.4.6 daemon status --activation-root /var/openclawbrain/activation
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
If the CLI is already on your `PATH`, `openclawbrain ...` is the same command surface. The docs lead with `npx` because that is the clean-host public-registry lane that already passed on `redogfood`.
|
package/dist/src/cli.d.ts
CHANGED
|
@@ -139,6 +139,7 @@ export interface WatchCommandRuntimeV1 {
|
|
|
139
139
|
teacherLoop: ReturnType<typeof createAsyncTeacherLiveLoop>;
|
|
140
140
|
localSessionTail: ReturnType<typeof createOpenClawLocalSessionTail>;
|
|
141
141
|
embedder: TextEmbedder | null;
|
|
142
|
+
consumeBaselinePersisted: () => boolean;
|
|
142
143
|
}
|
|
143
144
|
export interface CreateWatchCommandRuntimeInputV1 {
|
|
144
145
|
activationRoot: string;
|
package/dist/src/cli.js
CHANGED
|
@@ -9,7 +9,7 @@ import { DEFAULT_OLLAMA_EMBEDDING_MODEL, createOllamaEmbedder } from "@openclawb
|
|
|
9
9
|
import { ensureManagedLearnerServiceForActivationRoot, inspectManagedLearnerService, removeManagedLearnerServiceForActivationRoot, parseDaemonArgs, runDaemonCommand } from "./daemon.js";
|
|
10
10
|
import { exportBrain, importBrain } from "./import-export.js";
|
|
11
11
|
import { buildNormalizedEventExport } from "@openclawbrain/contracts";
|
|
12
|
-
import { buildTeacherSupervisionArtifactsFromNormalizedEventExport, createAlwaysOnLearningRuntimeState, describeAlwaysOnLearningRuntimeState, drainAlwaysOnLearningRuntime, loadOrInitBaseline, reindexCandidatePackBuildResultWithEmbedder, materializeAlwaysOnLearningCandidatePack, persistBaseline } from "
|
|
12
|
+
import { buildTeacherSupervisionArtifactsFromNormalizedEventExport, createAlwaysOnLearningRuntimeState, describeAlwaysOnLearningRuntimeState, drainAlwaysOnLearningRuntime, loadOrInitBaseline, reindexCandidatePackBuildResultWithEmbedder, materializeAlwaysOnLearningCandidatePack, persistBaseline } from "./local-learner.js";
|
|
13
13
|
import { inspectActivationState, loadPackFromActivation, promoteCandidatePack, readLearningSpineLogEntries, stageCandidatePack } from "@openclawbrain/pack-format";
|
|
14
14
|
import { resolveActivationRoot } from "./resolve-activation-root.js";
|
|
15
15
|
import { describeOpenClawHomeInspection, discoverOpenClawHomes, formatOpenClawHomeLayout, formatOpenClawHomeProfileSource, inspectOpenClawHome } from "./openclaw-home-layout.js";
|
|
@@ -20,7 +20,7 @@ import { DEFAULT_WATCH_POLL_INTERVAL_SECONDS, buildNormalizedEventExportFromScan
|
|
|
20
20
|
import { appendLearningUpdateLogs } from "./learning-spine.js";
|
|
21
21
|
import { buildPassiveLearningSessionExportFromOpenClawSessionStore } from "./local-session-passive-learning.js";
|
|
22
22
|
import { summarizePackVectorEmbeddingState } from "./embedding-status.js";
|
|
23
|
-
import {
|
|
23
|
+
import { buildTracedLearningBridgePayloadFromRuntime, buildTracedLearningStatusSurface, persistTracedLearningBridgeState } from "./traced-learning-bridge.js";
|
|
24
24
|
import { discoverOpenClawSessionStores, loadOpenClawSessionIndex, readOpenClawSessionFile } from "./session-store.js";
|
|
25
25
|
import { readOpenClawBrainProviderDefaults, readOpenClawBrainProviderConfig, readOpenClawBrainProviderConfigFromSources, resolveOpenClawBrainProviderDefaultsPath } from "./provider-config.js";
|
|
26
26
|
const OPENCLAWBRAIN_EMBEDDER_BASE_URL_ENV = "OPENCLAWBRAIN_EMBEDDER_BASE_URL";
|
|
@@ -3975,6 +3975,37 @@ function resolveServeTimeLearningRuntimeInput(activationRoot) {
|
|
|
3975
3975
|
fallbackReason
|
|
3976
3976
|
};
|
|
3977
3977
|
}
|
|
3978
|
+
function resolveActivationInspectionPackId(inspection, slot) {
|
|
3979
|
+
return inspection?.[slot]?.packId ?? inspection?.pointers?.[slot]?.packId ?? null;
|
|
3980
|
+
}
|
|
3981
|
+
function resolveWatchTeacherArtifactCount(snapshot) {
|
|
3982
|
+
if (typeof snapshot?.teacher?.artifactCount === "number") {
|
|
3983
|
+
return snapshot.teacher.artifactCount;
|
|
3984
|
+
}
|
|
3985
|
+
if (typeof snapshot?.diagnostics?.emittedArtifactCount === "number") {
|
|
3986
|
+
return snapshot.diagnostics.emittedArtifactCount;
|
|
3987
|
+
}
|
|
3988
|
+
return 0;
|
|
3989
|
+
}
|
|
3990
|
+
function persistWatchTracedLearningBridgeSurface(input) {
|
|
3991
|
+
const lastMaterialization = input.snapshot?.learner?.lastMaterialization ?? null;
|
|
3992
|
+
const materializedPackId = lastMaterialization?.candidate?.summary?.packId ?? null;
|
|
3993
|
+
return persistTracedLearningBridgeState(input.activationRoot, buildTracedLearningBridgePayloadFromRuntime({
|
|
3994
|
+
updatedAt: input.updatedAt,
|
|
3995
|
+
lastMaterialization,
|
|
3996
|
+
teacherArtifactCount: resolveWatchTeacherArtifactCount(input.snapshot),
|
|
3997
|
+
serveTimeLearning: resolveServeTimeLearningRuntimeInput(input.activationRoot),
|
|
3998
|
+
materializedPackId,
|
|
3999
|
+
promoted: materializedPackId !== null &&
|
|
4000
|
+
resolveActivationInspectionPackId(input.inspection, "active") === materializedPackId,
|
|
4001
|
+
baselinePersisted: input.baselinePersisted,
|
|
4002
|
+
source: {
|
|
4003
|
+
command: "watch",
|
|
4004
|
+
scanRoot: input.scanRoot,
|
|
4005
|
+
teacherSnapshotPath: input.teacherSnapshotPath
|
|
4006
|
+
}
|
|
4007
|
+
}));
|
|
4008
|
+
}
|
|
3978
4009
|
function runLearnCommand(parsed) {
|
|
3979
4010
|
const learnStatePath = path.join(parsed.activationRoot, "learn-cli-state.json");
|
|
3980
4011
|
const teacherSnapshotPath = resolveAsyncTeacherLiveLoopSnapshotPath(parsed.activationRoot);
|
|
@@ -4212,9 +4243,6 @@ function runLearnCommand(parsed) {
|
|
|
4212
4243
|
const lastMaterialization = learnerResult.materializations.at(-1) ?? null;
|
|
4213
4244
|
const plan = describeAlwaysOnLearningRuntimeState(learnerResult.state, lastMaterialization);
|
|
4214
4245
|
const learningPath = summarizeLearningPathFromMaterialization(lastMaterialization);
|
|
4215
|
-
const supervisionCount = lastMaterialization?.candidate.summary.learnedRouter.supervisionCount ?? 0;
|
|
4216
|
-
const routerUpdateCount = lastMaterialization?.candidate.summary.learnedRouter.updateCount ?? 0;
|
|
4217
|
-
const routerNoOpReason = lastMaterialization?.candidate.summary.learnedRouter.noOpReason ?? null;
|
|
4218
4246
|
const graphEvolution = lastMaterialization?.candidate.payloads.graph.evolution;
|
|
4219
4247
|
const graphSummary = graphEvolution === undefined
|
|
4220
4248
|
? null
|
|
@@ -4225,18 +4253,28 @@ function runLearnCommand(parsed) {
|
|
|
4225
4253
|
const connectSummary = graphSummary?.connectDiagnostics === null || graphSummary?.connectDiagnostics === undefined
|
|
4226
4254
|
? ""
|
|
4227
4255
|
: ` connect candidates=${graphSummary.connectDiagnostics.candidatePairCount} applied=${graphSummary.connectDiagnostics.appliedPairCount} edges=${graphSummary.connectDiagnostics.createdEdgeCount}.`;
|
|
4228
|
-
const
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4256
|
+
const tracedLearningPreview = buildTracedLearningBridgePayloadFromRuntime({
|
|
4257
|
+
updatedAt: now,
|
|
4258
|
+
lastMaterialization,
|
|
4259
|
+
teacherArtifactCount: teacherArtifacts.length,
|
|
4260
|
+
serveTimeLearning,
|
|
4261
|
+
source: {
|
|
4262
|
+
command: "learn",
|
|
4263
|
+
exportDigest: learningExport.provenance.exportDigest,
|
|
4264
|
+
teacherSnapshotPath
|
|
4265
|
+
}
|
|
4266
|
+
});
|
|
4267
|
+
const supervisionCount = tracedLearningPreview.supervisionCount;
|
|
4268
|
+
const routerUpdateCount = tracedLearningPreview.routerUpdateCount;
|
|
4269
|
+
const routerNoOpReason = tracedLearningPreview.routerNoOpReason;
|
|
4236
4270
|
const learnPathReport = {
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4271
|
+
learnedRoutingPath: lastMaterialization?.candidate.routingBuild?.learnedRoutingPath ??
|
|
4272
|
+
(serveTimeLearning.pgVersion === "v2" ? "policy_gradient_v2" : "policy_gradient_v1"),
|
|
4273
|
+
pgVersionRequested: tracedLearningPreview.pgVersionRequested,
|
|
4274
|
+
pgVersionUsed: tracedLearningPreview.pgVersionUsed,
|
|
4275
|
+
decisionLogCount: tracedLearningPreview.decisionLogCount,
|
|
4276
|
+
fallbackReason: tracedLearningPreview.fallbackReason,
|
|
4277
|
+
updatedBaseline: lastMaterialization?.candidate.routingBuild?.updatedBaseline ?? null
|
|
4240
4278
|
};
|
|
4241
4279
|
let promoted = false;
|
|
4242
4280
|
let materializedPackId = null;
|
|
@@ -4265,6 +4303,20 @@ function runLearnCommand(parsed) {
|
|
|
4265
4303
|
materializedPackId = candidateDescriptor.manifest.packId;
|
|
4266
4304
|
promoted = true;
|
|
4267
4305
|
}
|
|
4306
|
+
const tracedLearningPayload = buildTracedLearningBridgePayloadFromRuntime({
|
|
4307
|
+
updatedAt: now,
|
|
4308
|
+
lastMaterialization,
|
|
4309
|
+
teacherArtifactCount: teacherArtifacts.length,
|
|
4310
|
+
serveTimeLearning,
|
|
4311
|
+
materializedPackId,
|
|
4312
|
+
promoted,
|
|
4313
|
+
baselinePersisted,
|
|
4314
|
+
source: {
|
|
4315
|
+
command: "learn",
|
|
4316
|
+
exportDigest: learningExport.provenance.exportDigest,
|
|
4317
|
+
teacherSnapshotPath
|
|
4318
|
+
}
|
|
4319
|
+
});
|
|
4268
4320
|
persistLearnCliState(learnerResult.state, now);
|
|
4269
4321
|
writeJsonFile(teacherSnapshotPath, {
|
|
4270
4322
|
runtimeOwner: "openclaw",
|
|
@@ -4311,31 +4363,10 @@ function runLearnCommand(parsed) {
|
|
|
4311
4363
|
lastAppliedMaterializationJobId: lastMaterialization?.jobId ?? null
|
|
4312
4364
|
}
|
|
4313
4365
|
});
|
|
4314
|
-
const tracedLearningBridge =
|
|
4315
|
-
updatedAt: now,
|
|
4316
|
-
routeTraceCount: lastMaterialization?.candidate.summary.learnedRouter.routeTraceCount ?? serveTimeLearning.decisionLogCount,
|
|
4317
|
-
supervisionCount,
|
|
4318
|
-
routerUpdateCount,
|
|
4319
|
-
teacherArtifactCount: teacherArtifacts.length,
|
|
4320
|
-
pgVersionRequested: learnPathReport.pgVersionRequested,
|
|
4321
|
-
pgVersionUsed: learnPathReport.pgVersionUsed,
|
|
4322
|
-
decisionLogCount: learnPathReport.decisionLogCount,
|
|
4323
|
-
fallbackReason: learnPathReport.fallbackReason,
|
|
4324
|
-
routerNoOpReason,
|
|
4325
|
-
materializedPackId,
|
|
4326
|
-
promoted,
|
|
4327
|
-
baselinePersisted,
|
|
4328
|
-
source: {
|
|
4329
|
-
command: "learn",
|
|
4330
|
-
exportDigest: learningExport.provenance.exportDigest,
|
|
4331
|
-
teacherSnapshotPath
|
|
4332
|
-
}
|
|
4333
|
-
}, loadBrainStoreTracedLearningBridge());
|
|
4366
|
+
const tracedLearningBridge = persistTracedLearningBridgeState(activationRoot, tracedLearningPayload);
|
|
4334
4367
|
const surfacedSupervisionCount = tracedLearningBridge.supervisionCount;
|
|
4335
4368
|
const surfacedRouterUpdateCount = tracedLearningBridge.routerUpdateCount;
|
|
4336
4369
|
const surfacedRouterNoOpReason = tracedLearningBridge.routerNoOpReason;
|
|
4337
|
-
persistBrainStoreTracedLearningBridge(tracedLearningBridge);
|
|
4338
|
-
writeTracedLearningBridge(activationRoot, tracedLearningBridge);
|
|
4339
4370
|
const summaryMessage = materializedPackId === null
|
|
4340
4371
|
? `Scanned ${totalSessions} sessions, ${totalEvents} new events, no candidate materialized, no promotion.`
|
|
4341
4372
|
: `Scanned ${totalSessions} sessions, ${totalEvents} new events, materialized ${materializedPackId}, promoted.${connectSummary}`;
|
|
@@ -4967,6 +4998,7 @@ export async function createWatchCommandRuntime(input) {
|
|
|
4967
4998
|
const restoredTeacherState = loadWatchTeacherSnapshotState(teacherSnapshotPath);
|
|
4968
4999
|
const log = input.log ?? watchLog;
|
|
4969
5000
|
const startupWarnings = [];
|
|
5001
|
+
let baselinePersisted = false;
|
|
4970
5002
|
mkdirSync(scanRoot, { recursive: true });
|
|
4971
5003
|
mkdirSync(resolveWatchStateRoot(activationRoot), { recursive: true });
|
|
4972
5004
|
log(`Watch starting — activation: ${shortenPath(activationRoot)}`);
|
|
@@ -5020,6 +5052,7 @@ export async function createWatchCommandRuntime(input) {
|
|
|
5020
5052
|
persistUpdatedBaseline: (state) => {
|
|
5021
5053
|
try {
|
|
5022
5054
|
persistBaseline(activationRoot, state);
|
|
5055
|
+
baselinePersisted = true;
|
|
5023
5056
|
}
|
|
5024
5057
|
catch (error) {
|
|
5025
5058
|
log(`Baseline persist failed: ${formatWatchError(error)}`);
|
|
@@ -5139,6 +5172,17 @@ export async function createWatchCommandRuntime(input) {
|
|
|
5139
5172
|
log(replayPromotion.logLine);
|
|
5140
5173
|
bootstrapSnapshot = teacherLoop.snapshot();
|
|
5141
5174
|
}
|
|
5175
|
+
const bootstrapInspection = inspectActivationState(activationRoot, bootstrapObservedAt);
|
|
5176
|
+
persistWatchTracedLearningBridgeSurface({
|
|
5177
|
+
activationRoot,
|
|
5178
|
+
updatedAt: bootstrapObservedAt,
|
|
5179
|
+
snapshot: bootstrapSnapshot,
|
|
5180
|
+
inspection: bootstrapInspection,
|
|
5181
|
+
scanRoot,
|
|
5182
|
+
teacherSnapshotPath,
|
|
5183
|
+
baselinePersisted
|
|
5184
|
+
});
|
|
5185
|
+
baselinePersisted = false;
|
|
5142
5186
|
const bootstrapCursor = localSessionTail.snapshot();
|
|
5143
5187
|
persistWatchTeacherSnapshot(teacherSnapshotPath, {
|
|
5144
5188
|
lastRunAt: bootstrapObservedAt,
|
|
@@ -5188,7 +5232,12 @@ export async function createWatchCommandRuntime(input) {
|
|
|
5188
5232
|
scanner,
|
|
5189
5233
|
teacherLoop,
|
|
5190
5234
|
localSessionTail,
|
|
5191
|
-
embedder: resolvedEmbedder.embedder
|
|
5235
|
+
embedder: resolvedEmbedder.embedder,
|
|
5236
|
+
consumeBaselinePersisted: () => {
|
|
5237
|
+
const persisted = baselinePersisted;
|
|
5238
|
+
baselinePersisted = false;
|
|
5239
|
+
return persisted;
|
|
5240
|
+
}
|
|
5192
5241
|
};
|
|
5193
5242
|
}
|
|
5194
5243
|
export async function runWatchCommandPass(runtime, options = {}) {
|
|
@@ -5267,6 +5316,17 @@ export async function runWatchCommandPass(runtime, options = {}) {
|
|
|
5267
5316
|
}
|
|
5268
5317
|
}
|
|
5269
5318
|
const afterInspection = inspectActivationState(runtime.activationRoot, observedAt);
|
|
5319
|
+
persistWatchTracedLearningBridgeSurface({
|
|
5320
|
+
activationRoot: runtime.activationRoot,
|
|
5321
|
+
updatedAt: observedAt,
|
|
5322
|
+
snapshot,
|
|
5323
|
+
inspection: afterInspection,
|
|
5324
|
+
scanRoot: runtime.scanRoot,
|
|
5325
|
+
teacherSnapshotPath: runtime.teacherSnapshotPath,
|
|
5326
|
+
baselinePersisted: typeof runtime.consumeBaselinePersisted === "function"
|
|
5327
|
+
? runtime.consumeBaselinePersisted()
|
|
5328
|
+
: false
|
|
5329
|
+
});
|
|
5270
5330
|
const lastObservedDelta = buildWatchLastObservedDelta({
|
|
5271
5331
|
observedAt,
|
|
5272
5332
|
localPoll,
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CompileSelectionMode } from "@openclawbrain/compiler";
|
|
2
2
|
import { CONTRACT_IDS, type ArtifactManifestV1, type ActivationPointerRecordV1, type ActivationPointerSlot, type RuntimeTurnBrainAttachmentPolicyV1, type ContextCompactionMode, type ContextContributionEvidenceStateV1, type CurrentProfileBrainStatusAnswerV1, type CurrentProfileActivationStateV1, type CurrentProfilePassiveLearningDeltaSummaryV1, type CurrentProfilePassiveLearningWatchStateV1, type CurrentProfileAttachmentStateV1, type CurrentProfileAttachmentProofStateV1, type CurrentProfileHookInstallStateV1, type CurrentProfileHookLoadabilityV1, type CurrentProfileHookLoadProofV1, type BrainServeHotPathTimingV1, type CurrentProfileStructuralDecisionV1, type FeedbackEventKind, type PackGraphConnectDiagnosticsV1, type PackGraphEvolutionV1, type EventSemanticSurfaceV1, type FeedbackEventV1, type KernelSurfaceValidationResultV1, type LearningBootProfile, type LearningCadence, type LearningScanPolicy, type InteractionEventV1, type NormalizedEventExportV1, type NormalizedEventV1, type PrincipalPriorityClassV1, type PrincipalRoleV1, type RouteMode, type RuntimeCompileResponseV1, type RuntimeCompileStructuralSignalsV1, type RuntimeCompileTargetV1, type RuntimeGraphPlasticityStateV1, type RuntimePlasticitySourceV1, type SparseFeedbackPolicyV1, type TeacherAuthorityV1, type TeacherSupervisionArtifactV1, type WorkspaceInjectionSurfaceV1 } from "@openclawbrain/contracts";
|
|
3
3
|
import { type EventExportLaneV1 } from "@openclawbrain/event-export";
|
|
4
|
-
import { type AdvanceAlwaysOnLearningRuntimeInput, type AlwaysOnLearningCadenceV1, type AlwaysOnLearningMaterializationJobV1, type AlwaysOnLearningRuntimePlanV1, type AlwaysOnLearningRuntimeStateV1, type BaselineStateV1, type PendingPrincipalEventV1, type PrincipalLearningCheckpointV1 } from "
|
|
4
|
+
import { type AdvanceAlwaysOnLearningRuntimeInput, type AlwaysOnLearningCadenceV1, type AlwaysOnLearningMaterializationJobV1, type AlwaysOnLearningRuntimePlanV1, type AlwaysOnLearningRuntimeStateV1, type BaselineStateV1, type PendingPrincipalEventV1, type PrincipalLearningCheckpointV1 } from "./local-learner.js";
|
|
5
5
|
import { type ActivationInspection, type ActivationObservabilityReport, type GraphEvolutionLogV1, type LearningSpineServeRouteBreadcrumbsV1, type ActivationSlotInspection, type InitHandoffState, type LearningSpineServeRouteDecisionLogEntryV1 } from "@openclawbrain/pack-format";
|
|
6
6
|
export { clearOpenClawProfileRuntimeLoadProof, listOpenClawProfileRuntimeLoadProofs, recordOpenClawProfileRuntimeLoadProof, resolveAttachmentRuntimeLoadProofsPath, type OpenClawProfileRuntimeLoadProofRecordV1, type OpenClawProfileRuntimeLoadProofSetV1, type OpenClawProfileRuntimeLoadProofsV1 } from "./attachment-truth.js";
|
|
7
7
|
import { type AsyncTeacherLabelerConfigV1 } from "./teacher-labeler.js";
|
package/dist/src/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import process from "node:process";
|
|
|
5
5
|
import { compileRuntimeFromActivation } from "@openclawbrain/compiler";
|
|
6
6
|
import { CONTRACT_IDS, buildEventSemanticSurface, buildNormalizedEventExport, canonicalJson, checksumJsonPayload, createFeedbackEvent, createInteractionEvent, sortNormalizedEvents, validateKernelSurface, validateNormalizedEventExport } from "@openclawbrain/contracts";
|
|
7
7
|
import { classifyFeedbackSignalContent, describeNormalizedEventExportObservability } from "@openclawbrain/event-export";
|
|
8
|
-
import { DEFAULT_TEACHER_SUPERVISION_STALE_AFTER_MS, advanceAlwaysOnLearningRuntime, buildTeacherSupervisionArtifactsFromNormalizedEventExport, createAlwaysOnLearningRuntimeState, describeAlwaysOnLearningRuntimeState, materializeAlwaysOnLearningCandidatePack, materializeCandidatePackFromNormalizedEventExport } from "
|
|
8
|
+
import { DEFAULT_TEACHER_SUPERVISION_STALE_AFTER_MS, advanceAlwaysOnLearningRuntime, buildTeacherSupervisionArtifactsFromNormalizedEventExport, createAlwaysOnLearningRuntimeState, describeAlwaysOnLearningRuntimeState, materializeAlwaysOnLearningCandidatePack, materializeCandidatePackFromNormalizedEventExport } from "./local-learner.js";
|
|
9
9
|
import { LEARNING_SPINE_LOG_LAYOUT, activatePack, describeActivationObservability, describeActivationTarget, describePackCompileTarget, inspectActivationState, loadPackFromActivation, promoteCandidatePack, readLearningSpineLogEntries, rollbackActivePack, stageCandidatePack } from "@openclawbrain/pack-format";
|
|
10
10
|
import { inspectOpenClawBrainHookStatus, summarizeOpenClawBrainHookLoad } from "./openclaw-hook-truth.js";
|
|
11
11
|
import { appendLearningUpdateLogs, appendServeTimeRouteDecisionLog } from "./learning-spine.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AlwaysOnLearningMaterializationJobV1 } from "
|
|
1
|
+
import { type AlwaysOnLearningMaterializationJobV1 } from "./local-learner.js";
|
|
2
2
|
import { type BrainServeHotPathTimingV1, type NormalizedEventExportV1, type RouteMode, type RuntimeCompileResponseV1 } from "@openclawbrain/contracts";
|
|
3
3
|
import { type LearningSpinePgRouteUpdateLogEntryV1, type LearningSpineServeRouteBreadcrumbsV1, type LearningSpineServeRouteDecisionLogEntryV1, type PackDescriptor } from "@openclawbrain/pack-format";
|
|
4
4
|
type CompileFailureLike = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { rankContextBlocks } from "@openclawbrain/compiler";
|
|
3
|
-
import { describeSparseFeedbackEventDispositions } from "
|
|
3
|
+
import { describeSparseFeedbackEventDispositions } from "./local-learner.js";
|
|
4
4
|
import { CONTRACT_IDS } from "@openclawbrain/contracts";
|
|
5
5
|
import { appendLearningSpineLogEntry, buildLearningSpineLogId, loadActivationPointers, loadPack, loadPackFromActivation, readLearningSpineLogEntries } from "@openclawbrain/pack-format";
|
|
6
6
|
function noteValue(notes, prefix) {
|