codemem 0.37.1 → 0.38.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +47 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { DEDUP_KEY_BACKFILL_JOB, DEFAULT_COORDINATOR_DB_PATH, DedupKeyBackfillRunner, MUTATING_TOOL_NAMES, MemoryStore, ObserverClient, REF_BACKFILL_JOB, RawEventSweeper, RefBackfillRunner, SCOPE_BACKFILL_JOB, SESSION_CONTEXT_BACKFILL_JOB, SUMMARY_DEDUP_BACKFILL_JOB, ScopeBackfillRunner, SessionContextBackfillRunner, SummaryDedupBackfillRunner, SyncRetentionRunner, VERSION, VectorModelMigrationRunner, aiBackfillStructuredContent, applyBootstrapSnapshot, backfillMemoryDedupKeys, backfillNarrativeFromBody, backfillTagsText, backfillVectors, buildAuthHeaders, buildBaseUrl, buildRawEventEnvelopeFromCodexHook, buildRawEventEnvelopeFromHook, compareMemoryRoleReports, connect, coordinatorCreateGroupAction, coordinatorCreateInviteAction, coordinatorCreateScopeAction, coordinatorDisableDeviceAction, coordinatorEnrollDeviceAction, coordinatorGrantScopeMembershipAction, coordinatorImportInviteAction, coordinatorListBootstrapGrantsAction, coordinatorListDevicesAction, coordinatorListGroupsAction, coordinatorListJoinRequestsAction, coordinatorListScopeMembershipsAction, coordinatorListScopesAction, coordinatorRemoveDeviceAction, coordinatorRenameDeviceAction, coordinatorReviewJoinRequestAction, coordinatorRevokeBootstrapGrantAction, coordinatorRevokeScopeMembershipAction, coordinatorUpdateScopeAction, createBetterSqliteCoordinatorApp, deactivateLowSignalMemories, deactivateLowSignalObservations, dedupNearDuplicateMemories, ensureDeviceIdentity, ensureSchemaBootstrapped, exportMemories, extractApplyPatchPaths, fetchAllSnapshotPages, fingerprintPublicKey, flushRawEvents, formatHostPort, getExtractionBenchmarkProfile, getInjectionEvalScenarioPack, getInjectionEvalScenarioPrompts, getMaintenanceJob, getMemoryRoleReport, getRawEventRelinkPlan, getRawEventRelinkReport, getRawEventStatus, getSemanticIndexDiagnostics, getSessionExtractionEval, getSessionExtractionEvalScenario, getWorkspaceCodememConfigPath, hasPendingDedupKeyBackfill, hasPendingRefBackfill, hasPendingScopeBackfill, hasPendingSessionContextBackfill, hasPendingSummaryDedupBackfill, hasUnsyncedSharedMemoryChanges, importMemories, initDatabase, isEmbeddingDisabled, listMaintenanceJobs, listPerPeerScopeSyncState, listRetentionScopeIds, loadObserverConfig, loadPublicKey, loadSqliteVec, mdnsEnabled, planReplicationOpsAgePrune, pruneReplicationOpsUntilCaughtUp, rawEventsGate, readCodememConfigFile, readCodememConfigFileAtPath, readCoordinatorSyncConfig, readImportPayload, replayBatchExtraction, replayBatchExtractionWithTierRouting, requestJson, resolveCodememConfigPath, resolveDbPath, resolveHookProject, resolveProject, retryRawEventFailures, runSyncDaemon, runSyncPass, scanSecretsRetroactive, schema, setPeerProjectFilter, stripJsonComments, stripPrivateObj, stripTrailingCommas, syncPassPreflight, updatePeerAddresses, vacuumDatabase, writeCodememConfigFile } from "@codemem/core";
|
|
2
|
+
import { DEDUP_KEY_BACKFILL_JOB, DEFAULT_COORDINATOR_DB_PATH, DedupKeyBackfillRunner, MUTATING_TOOL_NAMES, MemoryStore, ObserverClient, REF_BACKFILL_JOB, RawEventSweeper, RefBackfillRunner, SCOPE_BACKFILL_JOB, SESSION_CONTEXT_BACKFILL_JOB, SUMMARY_DEDUP_BACKFILL_JOB, ScopeBackfillRunner, SessionContextBackfillRunner, SummaryDedupBackfillRunner, SyncRetentionRunner, VERSION, VectorModelMigrationRunner, aiBackfillStructuredContent, applyBootstrapSnapshot, backfillMemoryDedupKeys, backfillNarrativeFromBody, backfillTagsText, backfillVectors, buildAuthHeaders, buildBaseUrl, buildRawEventEnvelopeFromCodexHook, buildRawEventEnvelopeFromHook, compareMemoryRoleReports, connect, coordinatorCreateGroupAction, coordinatorCreateInviteAction, coordinatorCreateScopeAction, coordinatorDisableDeviceAction, coordinatorEnrollDeviceAction, coordinatorGrantScopeMembershipAction, coordinatorImportInviteAction, coordinatorListBootstrapGrantsAction, coordinatorListDevicesAction, coordinatorListGroupsAction, coordinatorListJoinRequestsAction, coordinatorListScopeMembershipsAction, coordinatorListScopesAction, coordinatorRemoveDeviceAction, coordinatorRenameDeviceAction, coordinatorReviewJoinRequestAction, coordinatorRevokeBootstrapGrantAction, coordinatorRevokeScopeMembershipAction, coordinatorUpdateScopeAction, createBetterSqliteCoordinatorApp, deactivateLowSignalMemories, deactivateLowSignalObservations, dedupNearDuplicateMemories, ensureDeviceIdentity, ensureSchemaBootstrapped, exportMemories, extractApplyPatchPaths, fetchAllSnapshotPages, fingerprintPublicKey, flushRawEvents, formatHostPort, getExtractionBenchmarkProfile, getInjectionEvalScenarioPack, getInjectionEvalScenarioPrompts, getMaintenanceJob, getMemoryArtifactReport, getMemoryRoleReport, getRawEventRelinkPlan, getRawEventRelinkReport, getRawEventStatus, getSemanticIndexDiagnostics, getSessionExtractionEval, getSessionExtractionEvalScenario, getWorkspaceCodememConfigPath, hasPendingDedupKeyBackfill, hasPendingRefBackfill, hasPendingScopeBackfill, hasPendingSessionContextBackfill, hasPendingSummaryDedupBackfill, hasUnsyncedSharedMemoryChanges, importMemories, initDatabase, isEmbeddingDisabled, listMaintenanceJobs, listPerPeerScopeSyncState, listRetentionScopeIds, loadObserverConfig, loadPublicKey, loadSqliteVec, mdnsEnabled, planReplicationOpsAgePrune, pruneReplicationOpsUntilCaughtUp, rawEventsGate, readCodememConfigFile, readCodememConfigFileAtPath, readCoordinatorSyncConfig, readImportPayload, replayBatchExtraction, replayBatchExtractionWithTierRouting, requestJson, resolveCodememConfigPath, resolveDbPath, resolveHookProject, resolveProject, retryRawEventFailures, runSyncDaemon, runSyncPass, scanSecretsRetroactive, schema, setPeerProjectFilter, stripJsonComments, stripPrivateObj, stripTrailingCommas, syncPassPreflight, updatePeerAddresses, vacuumDatabase, writeCodememConfigFile } from "@codemem/core";
|
|
3
3
|
import { Command, Option } from "commander";
|
|
4
4
|
import omelette from "omelette";
|
|
5
5
|
import { appendFileSync, copyFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, rmdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
@@ -4654,6 +4654,51 @@ function createMemoryRoleCompareCommand() {
|
|
|
4654
4654
|
});
|
|
4655
4655
|
return cmd;
|
|
4656
4656
|
}
|
|
4657
|
+
function createMemoryArtifactReportCommand() {
|
|
4658
|
+
const cmd = new Command("artifact-report").configureHelp(helpStyle).description("Analyze legacy memory artifacts in a DB snapshot without mutating rows").option("--project <project>", "project identifier (defaults to git repo root)").option("--all-projects", "analyze across all projects").option("--inactive", "include inactive memories");
|
|
4659
|
+
addDbOption(cmd);
|
|
4660
|
+
addJsonOption(cmd);
|
|
4661
|
+
cmd.action((opts) => {
|
|
4662
|
+
try {
|
|
4663
|
+
const project = opts.allProjects === true ? null : opts.project?.trim() || process.env.CODEMEM_PROJECT?.trim() || resolveProject(process.cwd(), null);
|
|
4664
|
+
const result = getMemoryArtifactReport(resolveDbOpt(opts), {
|
|
4665
|
+
project,
|
|
4666
|
+
allProjects: opts.allProjects === true,
|
|
4667
|
+
includeInactive: opts.inactive === true
|
|
4668
|
+
});
|
|
4669
|
+
if (opts.json) {
|
|
4670
|
+
console.log(JSON.stringify(result, null, 2));
|
|
4671
|
+
return;
|
|
4672
|
+
}
|
|
4673
|
+
p.intro("codemem memory artifact-report");
|
|
4674
|
+
p.log.info([
|
|
4675
|
+
`Memories: ${result.totals.memories}`,
|
|
4676
|
+
`Active: ${result.totals.active}`,
|
|
4677
|
+
`Sessions: ${result.totals.sessions}`
|
|
4678
|
+
].join("\n"));
|
|
4679
|
+
p.log.info("Counts by artifact:");
|
|
4680
|
+
for (const [artifact, count] of Object.entries(result.counts_by_artifact)) p.log.message(` ${artifact.padEnd(16)} ${String(count)}`);
|
|
4681
|
+
p.log.info("Counts by action:");
|
|
4682
|
+
for (const [action, count] of Object.entries(result.counts_by_action)) p.log.message(` ${action.padEnd(14)} ${String(count)}`);
|
|
4683
|
+
const topReasons = Object.entries(result.counts_by_reason).sort(([, a], [, b]) => b - a).slice(0, 10);
|
|
4684
|
+
if (topReasons.length > 0) {
|
|
4685
|
+
p.log.info("Top reasons:");
|
|
4686
|
+
for (const [reason, count] of topReasons) p.log.message(` ${reason.padEnd(36)} ${String(count)}`);
|
|
4687
|
+
}
|
|
4688
|
+
p.log.info(`High-confidence telemetry: ${result.high_confidence_telemetry.total}`);
|
|
4689
|
+
p.outro("done");
|
|
4690
|
+
} catch (error) {
|
|
4691
|
+
const message = error instanceof Error ? error.message : "Artifact report failed";
|
|
4692
|
+
if (opts.json) emitJsonError("artifact_report_failed", message);
|
|
4693
|
+
else {
|
|
4694
|
+
p.log.error(message);
|
|
4695
|
+
process.exitCode = 1;
|
|
4696
|
+
}
|
|
4697
|
+
return;
|
|
4698
|
+
}
|
|
4699
|
+
});
|
|
4700
|
+
return cmd;
|
|
4701
|
+
}
|
|
4657
4702
|
function createMemoryExtractionReportCommand() {
|
|
4658
4703
|
const cmd = new Command("extraction-report").configureHelp(helpStyle).description("Score extracted memories for a session against a built-in extraction eval rubric").option("--session-id <id>", "session ID to evaluate").option("--batch-id <id>", "raw-event flush batch ID to evaluate").requiredOption("--scenario <id>", "built-in extraction eval scenario ID").option("--inactive", "include inactive memories");
|
|
4659
4704
|
addDbOption(cmd);
|
|
@@ -5036,6 +5081,7 @@ memoryCommand.addCommand(createRememberMemoryCommand());
|
|
|
5036
5081
|
memoryCommand.addCommand(createInjectMemoryCommand());
|
|
5037
5082
|
memoryCommand.addCommand(createMemoryRoleReportCommand());
|
|
5038
5083
|
memoryCommand.addCommand(createMemoryRoleCompareCommand());
|
|
5084
|
+
memoryCommand.addCommand(createMemoryArtifactReportCommand());
|
|
5039
5085
|
memoryCommand.addCommand(createMemoryExtractionReportCommand());
|
|
5040
5086
|
memoryCommand.addCommand(createMemoryExtractionReplayCommand());
|
|
5041
5087
|
memoryCommand.addCommand(createMemoryExtractionBenchmarkCommand());
|