@remnic/core 9.11.0 → 9.13.0

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.d.ts CHANGED
@@ -87,6 +87,7 @@ export { EnrichmentAuditEntry, EnrichmentCandidate, EnrichmentCostTier, Enrichme
87
87
  export { clearBulkImportSources, getBulkImportSource, listBulkImportSources, registerBulkImportSource } from './bulk-import/index.js';
88
88
  export { a as ProcessBatchContext, P as ProcessBatchFn, b as ProcessBatchResult, f as formatBatchTranscript, r as resolveBulkImportContext, c as runBulkImportPipeline, v as validateBatchSize } from './pipeline-Cn-kvYeV.js';
89
89
  export { B as BulkImportCliCommandOptions, p as parseStrictCliDate, r as runBulkImportCliCommand } from './cli-5tNLVTvJ.js';
90
+ import { BetterSqlite3Database } from './runtime/better-sqlite.js';
90
91
  export { DEFAULT_IMPORT_BATCH_SIZE, ImportProgress, ImportedMemory, ImporterAdapter, ImporterParseOptions, ImporterTransformOptions, ImporterWriteResult, ImporterWriteTarget, RunImportOptions, RunImporterResult, defaultWriteMemoriesToOrchestrator, importedMemoryToTurn, runImporter, validateImportBatchSize, validateImportRateLimit } from './importers/index.js';
91
92
  export { FallbackLlmClient, FallbackLlmOptions, FallbackLlmResponse, FallbackLlmRuntimeContext } from './fallback-llm.js';
92
93
  export { ComputeMemoryWorthInput, MemoryWorthResult, computeMemoryWorth } from './memory-worth.js';
@@ -121,7 +122,6 @@ import './namespaces/search.js';
121
122
  import './consolidation-operator.js';
122
123
  import './memory-projection-store.js';
123
124
  import './maintenance/memory-governance.js';
124
- import './runtime/better-sqlite.js';
125
125
  import 'better-sqlite3';
126
126
  import './compounding/engine.js';
127
127
  import './shared-context/manager.js';
@@ -4230,8 +4230,8 @@ declare const RelayMissionEventSchema: z.ZodObject<{
4230
4230
  }[] | undefined;
4231
4231
  }>;
4232
4232
  }, "strict", z.ZodTypeAny, {
4233
- recordedAt: string;
4234
4233
  schemaVersion: "1";
4234
+ recordedAt: string;
4235
4235
  payload: {
4236
4236
  kind: "mission_started";
4237
4237
  title: string;
@@ -4409,8 +4409,8 @@ declare const RelayMissionEventSchema: z.ZodObject<{
4409
4409
  authenticatedPrincipal?: string | undefined;
4410
4410
  idempotencyKey?: string | undefined;
4411
4411
  }, {
4412
- recordedAt: string;
4413
4412
  schemaVersion: "1";
4413
+ recordedAt: string;
4414
4414
  payload: {
4415
4415
  kind: "mission_started";
4416
4416
  title: string;
@@ -6818,6 +6818,262 @@ interface WearablesCliIo {
6818
6818
  */
6819
6819
  declare function runWearablesCliCommand(service: WearablesService, args: string[], io: WearablesCliIo): Promise<number>;
6820
6820
 
6821
+ /**
6822
+ * Screen-activity subsystem — shared types (issue #1899).
6823
+ *
6824
+ * A third ingestion modality alongside wearables (conversations) and live
6825
+ * connectors (documents). Screen text has no speakers and is high-volume, so it
6826
+ * gets its own store and day-digest rather than being forced into the wearable
6827
+ * conversation shape. Capture daemons live in the à-la-carte `@remnic/capture-screen`
6828
+ * package; this core subsystem is host-agnostic and consumes snapshots over a
6829
+ * loopback HTTP client.
6830
+ *
6831
+ * All timestamps are UTC ISO-8601; day bucketing is half-open [start, end).
6832
+ */
6833
+ /** One captured on-screen text snapshot (a single window at a single instant). */
6834
+ interface ActivitySnapshot {
6835
+ /** Store row id (assigned on insert; absent before persistence). */
6836
+ id?: number;
6837
+ /** Capture-machine label (disambiguates multi-machine stores). */
6838
+ machine: string;
6839
+ /** UTC ISO-8601 capture instant. */
6840
+ capturedAtUtc: string;
6841
+ /** Frontmost application name. */
6842
+ app: string;
6843
+ /** Frontmost window title. */
6844
+ windowTitle: string;
6845
+ /** Browser tab URL, when the frontmost window is a known browser. */
6846
+ browserUrl?: string;
6847
+ /** Extracted visible text (accessibility tree or OCR). */
6848
+ text: string;
6849
+ /** Where the text came from. */
6850
+ textSource: "ax" | "ocr";
6851
+ /** SHA-256 of the normalized snapshot content (idempotency key). */
6852
+ contentHash: string;
6853
+ /** 64-bit SimHash (hex) for near-duplicate detection, when computed. */
6854
+ simhash?: string;
6855
+ }
6856
+ /** Frontmatter persisted on a rendered day digest. */
6857
+ interface ActivityDayMeta {
6858
+ kind: "activity-digest";
6859
+ /** Local day, YYYY-MM-DD. */
6860
+ date: string;
6861
+ /** Machines that contributed snapshots, sorted. */
6862
+ machines: string[];
6863
+ snapshotCount: number;
6864
+ /** SHA-256 of the rendered body (rebuild-idempotency). */
6865
+ contentHash: string;
6866
+ formatVersion: number;
6867
+ }
6868
+ /** A parsed day digest (frontmatter + rendered body). */
6869
+ interface ActivityDayDigest {
6870
+ meta: ActivityDayMeta;
6871
+ body: string;
6872
+ }
6873
+ /** Result of a capture-daemon auth/health probe. */
6874
+ interface ActivitySourceCheck {
6875
+ ok: boolean;
6876
+ detail?: string;
6877
+ }
6878
+ /** One page of snapshots pulled from a capture daemon. */
6879
+ interface ActivitySnapshotPage {
6880
+ snapshots: ActivitySnapshot[];
6881
+ nextCursor: string | null;
6882
+ }
6883
+ /**
6884
+ * Client contract for a screen-capture daemon (one per capture machine).
6885
+ * Implemented by a later slice (the HTTP source client); defined here so the
6886
+ * store and pipeline can be built and tested against a fixture double first.
6887
+ */
6888
+ interface ActivitySourceClient {
6889
+ /** Stable capture-machine label. */
6890
+ machineLabel: string;
6891
+ /** Probe connectivity/auth without mutating anything. */
6892
+ verify(signal?: AbortSignal): Promise<ActivitySourceCheck>;
6893
+ /** Fetch one page of snapshots for a single local day. */
6894
+ fetchSnapshots(opts: {
6895
+ date: string;
6896
+ timezone: string;
6897
+ cursor?: string | null;
6898
+ signal?: AbortSignal;
6899
+ }): Promise<ActivitySnapshotPage>;
6900
+ }
6901
+
6902
+ /**
6903
+ * Screen-activity SQLite store (issue #1899).
6904
+ *
6905
+ * Durable, capture-machine-agnostic store for on-screen text snapshots plus a
6906
+ * per-machine sync cursor. Mirrors the LCM store conventions
6907
+ * (packages/remnic-core/src/lcm/schema.ts): WAL, a `<name>_meta` schema-version
6908
+ * row, `CREATE TABLE IF NOT EXISTS`, and an FTS5 virtual table created
6909
+ * separately. better-sqlite3 is synchronous.
6910
+ *
6911
+ * Snapshots dedup on `(machine, content_hash)` so a re-sync is idempotent, and
6912
+ * day queries use half-open [start, end) UTC bounds (AGENTS.md §23).
6913
+ */
6914
+
6915
+ declare function activityDatabasePath(memoryDir: string): string;
6916
+ declare function ensureActivityStateDir(memoryDir: string): Promise<void>;
6917
+ declare function openActivityDatabase(memoryDir: string): BetterSqlite3Database;
6918
+ /** Apply the activity schema on an already-open handle (test/in-memory use). */
6919
+ declare function applyActivitySchema(db: BetterSqlite3Database): void;
6920
+ declare class ActivityStore {
6921
+ private readonly db;
6922
+ constructor(db: BetterSqlite3Database);
6923
+ static open(memoryDir: string): ActivityStore;
6924
+ /**
6925
+ * Insert a snapshot, idempotent on (machine, captured_at_utc, content_hash):
6926
+ * the same screen content recurring at a *different* time is kept; only an
6927
+ * exact re-ingestion of the same capture dedups. Returns `inserted: false`
6928
+ * for a duplicate. The FTS row is written only on a real insert (atomically),
6929
+ * so it never drifts from the base table.
6930
+ */
6931
+ insertSnapshot(snapshot: ActivitySnapshot): {
6932
+ inserted: boolean;
6933
+ id: number;
6934
+ };
6935
+ /** Snapshots whose capture instant is in the half-open [start, end) window. */
6936
+ listSnapshotsForDay(machine: string | null, startUtcInclusive: string, endUtcExclusive: string): ActivitySnapshot[];
6937
+ getCursor(machine: string): string | null;
6938
+ setCursor(machine: string, cursor: string | null, updatedAtUtc?: string): void;
6939
+ /** Full-text search over snapshot text/app/window/url; newest first. */
6940
+ searchSnapshots(query: string, limit: number): ActivitySnapshot[];
6941
+ /** Retention: drop snapshots captured strictly before `cutoffUtc`. */
6942
+ pruneOlderThan(cutoffUtc: string): number;
6943
+ close(): void;
6944
+ }
6945
+
6946
+ /**
6947
+ * Deterministic screen-activity day-digest renderer (issue #1899).
6948
+ *
6949
+ * Renders a day's snapshots into markdown with YAML frontmatter, placed at
6950
+ * `<memoryDir>/activity/<date>.md` — outside the memory scan roots but inside
6951
+ * the QMD collection root (searchable, never auto-recalled). No LLM: the body
6952
+ * is a pure, byte-identical function of its inputs so an unchanged day skips
6953
+ * rewrite by contentHash. Day bucketing is DST-aware and half-open
6954
+ * [start, end) (AGENTS.md §23); sort keys are total with stable tiebreakers
6955
+ * (§12).
6956
+ */
6957
+
6958
+ declare const ACTIVITY_DIGEST_FORMAT_VERSION = 1;
6959
+ declare const ACTIVITY_DIR_NAME = "activity";
6960
+ declare function isValidActivityDate(date: string): boolean;
6961
+ declare function activityDigestPath(memoryDir: string, date: string): string;
6962
+ /** Half-open [start, end) UTC ISO bounds of a local day. */
6963
+ declare function activityDayWindow(date: string, timezone: string): {
6964
+ startUtc: string;
6965
+ endUtc: string;
6966
+ };
6967
+ declare function composeActivityDigestBody(date: string, timezone: string, snapshots: ActivitySnapshot[]): string;
6968
+ declare function hashActivityBody(body: string): string;
6969
+ declare function composeActivityDigestMeta(date: string, machines: string[], snapshots: ActivitySnapshot[], body: string): ActivityDayMeta;
6970
+ declare function serializeActivityDigest(meta: ActivityDayMeta, body: string): string;
6971
+ declare function parseActivityDigest(raw: string): ActivityDayDigest | null;
6972
+
6973
+ /**
6974
+ * Meeting-intelligence subsystem — shared types (issue #1900).
6975
+ *
6976
+ * Retrospective meeting detection over already-ingested day signals: audio
6977
+ * conversation windows (from wearable day transcripts, any source) plus
6978
+ * meeting-app foreground spans (derived from screen activity in a later slice).
6979
+ * This slice is pure detection — no store, no fusion, no surfaces. All
6980
+ * timestamps are UTC ISO-8601; windows are half-open [startUtc, endUtc).
6981
+ */
6982
+ /** A contiguous meeting-app foreground span (derived from activity in a later slice). */
6983
+ interface MeetingAppSpan {
6984
+ /** Meeting app label (e.g. "Zoom", "Google Meet"). */
6985
+ app: string;
6986
+ startUtc: string;
6987
+ endUtc: string;
6988
+ }
6989
+ /** An audio conversation window from a wearable/connector day transcript. */
6990
+ interface MeetingAudioWindow {
6991
+ /** Wearable source id the conversation came from (desktop, limitless, granola, …). */
6992
+ source: string;
6993
+ startUtc: string;
6994
+ endUtc: string;
6995
+ /** Distinct non-wearer speakers in the conversation (drives the audio-only rule). */
6996
+ distinctNonWearerSpeakers: number;
6997
+ /**
6998
+ * True when the source is a cloud meeting provider that supplies explicit
6999
+ * meeting boundaries (Granola/Fireflies): such a window is a meeting on its
7000
+ * own, without a matching app span.
7001
+ */
7002
+ providerMeeting?: boolean;
7003
+ /** Provider-supplied meeting title, when available. */
7004
+ title?: string;
7005
+ }
7006
+ /** How a meeting was detected. */
7007
+ type MeetingDetectionSource = "app+audio" | "audio" | "provider";
7008
+ /** One detected meeting for a day (non-overlapping after merge). */
7009
+ interface DetectedMeeting {
7010
+ /** Stable id `mtg-<date>-<hash>`, hashed from date + the exact START instant
7011
+ * (app + end deliberately excluded) so a resync that grows the meeting never
7012
+ * renumbers it, while non-overlapping meetings keep distinct ids. */
7013
+ id: string;
7014
+ /** Local day YYYY-MM-DD. */
7015
+ date: string;
7016
+ startUtc: string;
7017
+ endUtc: string;
7018
+ /** Meeting app, when app context contributed to detection. */
7019
+ app?: string;
7020
+ detectionSource: MeetingDetectionSource;
7021
+ /** Contributing wearable source ids, sorted, de-duplicated. */
7022
+ sources: string[];
7023
+ /** Title, when a provider supplied one. */
7024
+ title?: string;
7025
+ }
7026
+ /** Per-day detection input (assembled by a later wiring slice). */
7027
+ interface MeetingsDetectionInput {
7028
+ date: string;
7029
+ appSpans: MeetingAppSpan[];
7030
+ audioWindows: MeetingAudioWindow[];
7031
+ }
7032
+ /** Detection-relevant configuration (full parseConfig wiring lands in a later slice). */
7033
+ interface MeetingsDetectionConfig {
7034
+ /** Meeting-app match patterns (used when deriving app spans from activity). */
7035
+ appPatterns: string[];
7036
+ /** Min app-span ∩ audio-window overlap to pair them (minutes). */
7037
+ minOverlapMinutes: number;
7038
+ /** Audio-only fallback: min conversation length (minutes). */
7039
+ audioOnlyMinMinutes: number;
7040
+ /** Merge candidates within this gap of each other (minutes). */
7041
+ mergeGapMinutes: number;
7042
+ }
7043
+
7044
+ /**
7045
+ * Retrospective meeting detection (issue #1900, Phase 4 slice 1).
7046
+ *
7047
+ * Pure functions over a day's already-ingested signals. A meeting candidate is
7048
+ * either (a) an audio conversation overlapping a meeting-app foreground span
7049
+ * (`app+audio`), (b) a provider meeting with its own boundaries (`provider`),
7050
+ * or (c) a long enough multi-speaker conversation with no app span
7051
+ * (`audio`, the phone-call/in-person fallback). App spans with no overlapping
7052
+ * audio are NOT meetings (you were watching a recording). Candidates are then
7053
+ * merged so a day's meetings never overlap, and each gets a re-run-stable id.
7054
+ */
7055
+
7056
+ /** Shipped meeting-app patterns (used by the later activity-span derivation). */
7057
+ declare const DEFAULT_MEETING_APP_PATTERNS: readonly string[];
7058
+ declare const DEFAULT_MEETINGS_DETECTION_CONFIG: MeetingsDetectionConfig;
7059
+ /** Re-run-stable id: same date + exact START instant ⇒ same id. Anchored on the
7060
+ * start ONLY (end + app both excluded from the hash) so a resync that extends
7061
+ * the meeting's end (a late source / rejoin) or reassigns its app never
7062
+ * renumbers an existing record — the start is the stable identity. Full start
7063
+ * precision (NOT minute-rounded) keeps ids unique even for short provider
7064
+ * meetings that share a start minute: post-merge meetings are non-overlapping,
7065
+ * so their start instants are always distinct.
7066
+ *
7067
+ * A resync that moves a meeting's START earlier (a late source beginning before
7068
+ * the first-ingested one) does change the id — a stateless pure detector cannot
7069
+ * know the prior id. Preserving ids across a shifted start is cross-run identity
7070
+ * work that needs prior-emission state, so it belongs to the fusion/store slice
7071
+ * (#1900), which matches a re-detected meeting to its stored record by overlap
7072
+ * and keeps the original id. This function stays pure and deterministic. */
7073
+ declare function meetingId(date: string, startUtc: string): string;
7074
+ /** Detect the day's non-overlapping meetings from its audio + app-span signals. */
7075
+ declare function detectMeetings(input: MeetingsDetectionInput, config?: MeetingsDetectionConfig): DetectedMeeting[];
7076
+
6821
7077
  type LocalSessionRole = "user" | "assistant" | "tool" | "system" | "other";
6822
7078
  interface LocalSessionTurn {
6823
7079
  role: LocalSessionRole;
@@ -7134,4 +7390,4 @@ declare function forkCapsule(opts: ForkCapsuleOptions): Promise<ForkCapsuleResul
7134
7390
  */
7135
7391
  declare function readForkLineage(targetRoot: string, forkId: string): Promise<ForkLineage | null>;
7136
7392
 
7137
- export { type ArchitectureHintsResult, type AuditEntry, type BinaryAssetRecord, type BinaryAssetStatus, type BinaryLifecycleConfig, type BinaryLifecycleManifest, type BinaryStorageBackend, type BinaryStorageBackendConfig, ClaudeCodeMemoryExtensionPublisher, type CleanupResult, CodexMemoryExtensionPublisher, type CodingNamespaceOverlay, type CodingScopeDescription, type CollectLocalSessionSummariesOptions, type CompiledCorrectionRule, type CompiledRedactionRule, type ConflictEntry, type ContradictionOptions, type ContradictionPair, type ContradictionResult$1 as CurateContradictionResult, type DuplicateResult as CurateDuplicateResult, type CurateOptions, type CurateResult, type CuratedStatement, DEFAULT_GRACE_PERIOD_DAYS, DEFAULT_MAX_BINARY_SIZE_BYTES, DEFAULT_PROXIMITY_GAP_MS, DEFAULT_REDACTION_RULES, DEFAULT_SCAN_PATTERNS, DEFAULT_SOURCE_TRUST, DEFAULT_TAXONOMY, DEFAULT_WINDOW_TOLERANCE_MS, type DedupOptions, type DedupResult, DiscoveredExtension, type DocFile, type DriveChange, type DriveChangesPage, type DriveFileMetadata, type DuplicatePair, EngramAccessService, type FileChange, FilesystemBackend, type ForkCapsuleOptions, type ForkCapsuleResult, type ForkLineage, type FuseClusterResult, FusedDisagreement, FusedSegment, FusedSpeaker, FusionConversationInput, FusionDayResult, FusionOptions, GOOGLE_DRIVE_CONNECTOR_ID, GOOGLE_DRIVE_CURSOR_KIND, DEFAULT_POLL_INTERVAL_MS as GOOGLE_DRIVE_DEFAULT_POLL_INTERVAL_MS, type GenerateOptions, type GenerateResult, type GitContext, type GitInvoker, type GoogleDriveClient, type GoogleDriveClientFactory, type GoogleDriveConnectorConfig, type GoogleDriveSyncResult, HermesMemoryExtensionPublisher, type IngestionPlan, KNOWN_WEARABLE_SOURCE_IDS, type LanguageInfo, LiveConnector, LiveConnectorRegistry, LiveConnectorRegistryError, type LocalSessionAdapterInput, type LocalSessionAdapterOptions, type LocalSessionParseWarning, type LocalSessionParsedFile, type LocalSessionRole, type LocalSessionSourceAdapter, type LocalSessionSummaryCliOptions, type LocalSessionSummaryReport, type LocalSessionTurn, MemoryCategory, type MemoryEntry, type MemoryExtensionPublisher, type MergeResult, NOTION_CONNECTOR_ID, NOTION_CURSOR_KIND, NOTION_DEFAULT_POLL_INTERVAL_MS, NoneBackend, type NotionConnectorConfig, type OnboardOptions, type OnboardResult, PUBLISHERS, type PackReviewContextStructuralInput, type PipelineResult, PluginConfig, type ProjectShape, type ProvenanceEntry, type PublishContext, type PublishResult, type PublisherCapabilities, REDACTION_PLACEHOLDER, RELAY_DEMO_MISSION_ID, RELAY_DEMO_NAMESPACE, RELAY_MISSION_DEFAULT_EVENT_LIMIT, RELAY_MISSION_MAX_EVENTS, RELAY_MISSION_MAX_EVENT_LIMIT, RELAY_MISSION_MAX_FILE_BYTES, RELAY_MISSION_MAX_LINE_BYTES, RELAY_MISSION_SCHEMA_VERSION, REMNIC_CITATION_FORMAT, REMNIC_MCP_TOOL_INVENTORY, REMNIC_RECALL_DECISION_RULES, REMNIC_SEMANTIC_OVERVIEW, type RedactionConfig, type RedactionReport, type RedactionRuleConfig, type RelayAgentOutputSnapshot, type RelayAgentSnapshot, type RelayConflictSnapshot, type RelayCorrectionSnapshot, type RelayDecisionSnapshot, type RelayEvidenceRef, RelayEvidenceRefSchema, type RelayMissionAppendAccessInput, type RelayMissionAppendAccessOutput, type RelayMissionAppendResult, type RelayMissionEvent, type RelayMissionEventInput, RelayMissionEventInputSchema, RelayMissionEventSchema, type RelayMissionPayload, RelayMissionPayloadSchema, type RelayMissionReadAccessInput, type RelayMissionReadAccessOutput, type RelayMissionReadOptions, RelayMissionReadOptionsSchema, type RelayMissionSnapshot, type RelayMissionStatus, RelayMissionStore, RelayMissionStoreError, type RelayMissionStoreErrorCode, type RelayMissionStoreOptions, type RelayPropagationSnapshot, type RelayRecallSnapshot, type RelayTestSnapshot, ResolverDecision, type ReviewAction, type ReviewCandidate, type ReviewContext, type ReviewItem, type ReviewListResult, type ReviewOptions, type ReviewResult, type SessionSummaryDraft, type SessionSummaryExcerpt, type Space, type SpaceKind, type SpaceManifest, type SpacePromoteResult, type SpacePullResult, type SpacePushResult, type SpaceShareResult, type SpaceSwitchResult, SpeakerRegistry, type StatementProvenance, StorageManager, type StructuralContextDegradation, type StructuralContextErrorCode, type StructuralContextProvider, type StructuralProviderStatus, type StructuralSpawnFn, type StructuralSymbol, type SubprocessProviderOptions, type SymbolsForDiffErr, type SymbolsForDiffOk, type SymbolsForDiffResult, SyncIncrementalResult, type SyncOptions, type SyncResult, type SyncState, TRANSCRIPT_FORMAT_VERSION, Taxonomy, TokenEntry, type TrainingExportAdapter, type TrainingExportOptions, type TrainingExportRecord, type TranscriptSegmentMatch, type TreeNode, WEARABLES_DIR_NAME, WearableCleanupSettings, type WearableConnectorFactory, type WearableConnectorFactoryOptions, type WearableConnectorRegistration, WearableConversation, WearableCorrectionRule, WearableDayTranscript, WearableDayTranscriptMeta, WearableFusionConfig, WearableSourceConnector, WearableSourceSettings, type WearableSourceSyncState, type WearableSyncStateFile, type WearablesCliIo, WearablesConfig, WearablesInputError, WearablesService, appendRelayMissionEvent, applyCorrections, applyOffTheRecord, bodyIsEscaped, branchNamespaceName, buildProcedureMarkdownBody, buildProcedureRecallSection, cleanConversation, clearStructuralContextProvidersForTest, clearTrainingExportAdapters, clearWearableConnectors, clusterConversations, collapseImmediateRepeats, collectLocalSessionSummaries, compareRelayEvents, compileCorrectionRule, compileCorrectionRules, compileRedactionPatterns, compileRedactionRules, composeDayTranscriptBody, composeDayTranscriptMeta, convertMemoriesToRecords, correctionsFilePath, createBackend, createGoogleDriveConnector, createNotionConnector, createRelayMissionFixture, createSpace, createSubprocessStructuralProvider, curate, decodeTranscriptBody, defaultGoogleDriveClientFactory, defaultWearableCleanupSettings, defaultWearableFusionConfig, defaultWearableSourceSettings, defaultWearablesConfig, deleteSpace, describeCodingScope, describeErrorForOperator, describeStructuralProviderStatus, emptyManifest, emptySyncState, ensureBuiltInWearableConnectors, escapeSegmentText, findContradictions, findDuplicates, forkCapsule, fuseCluster, fuseDay, fusionInputsFromConversations, generateContextTree, generateResolverDocument, getActiveSpace, getAuditLog, getLocalSessionSourceAdapter, getManifestPath, getSpacesDir, getStructuralContextProvider, getTaxonomyDir, getTaxonomyFilePath, getTrainingExportAdapter, getWearableConnector, hashTranscriptBody, hostIdForConnector, isLowQualitySegment, isReviewPrompt, isValidTranscriptDate, listLocalSessionSourceAdapters, listReviewItems, listSpaces, listTrainingExportAdapters, listWearableConnectors, loadCorrectionsFile, loadManifest, loadSyncState, loadTaxonomy, manifestDir, manifestPath, matchesPatterns, mergeSpaces, normalizeOriginUrl, onboard, packReviewContext, packReviewContextStructural, parseDayTranscript, parseFlexibleIsoTimestamp, parseIsoOffsetTimestamp, parseIsoUtcTimestamp, parseProcedureStepsFromBody, parseTouchedFiles, parseTranscriptSegmentLine, parseWearablesConfig, performReview, probeStructuralProviderForDoctor, projectNamespaceName, promoteSpace, publisherFor, publisherForConnector, pullFromSpace, pushToSpace, rankReviewCandidates, readForkLineage, readManifest, readRelayMission, reconstructFusionInputs, redactSessionSummaryText, redactText, reduceRelayMission, registerLocalSessionSourceAdapter, registerPublisher, registerStructuralContextProvider, registerTrainingExportAdapter, registerWearableConnector, relayMissionAppendOperation, relayMissionReadOperation, relayMissionReceiptDigest, renderExtensionsBlock, renderExtensionsFooter, renderStructuralProviderStatusLine, resolveCategory, resolveCodingNamespaceOverlay, resolveGitContext, runBinaryLifecyclePipeline, runLocalSessionSummaryCliCommand, runWearablesCliCommand, saveCorrectionsFile, saveManifest, saveSyncState, saveTaxonomy, scanForBinaries, serializeDayTranscript, shareSpace, stableHash, stripFillerTokens, structuralProviderActive, switchSpace, syncChanges, syncStateFilePath, toStructuralContextDegradation, unescapeSegmentText, unescapeSpeakerLabel, updateSourceSyncState, validateGoogleDriveConfig, validateNotionConfig, validateSlug, validateTaxonomy, watchForChanges, writeManifest };
7393
+ export { ACTIVITY_DIGEST_FORMAT_VERSION, ACTIVITY_DIR_NAME, type ActivityDayDigest, type ActivityDayMeta, type ActivitySnapshot, type ActivitySnapshotPage, type ActivitySourceCheck, type ActivitySourceClient, ActivityStore, type ArchitectureHintsResult, type AuditEntry, type BinaryAssetRecord, type BinaryAssetStatus, type BinaryLifecycleConfig, type BinaryLifecycleManifest, type BinaryStorageBackend, type BinaryStorageBackendConfig, ClaudeCodeMemoryExtensionPublisher, type CleanupResult, CodexMemoryExtensionPublisher, type CodingNamespaceOverlay, type CodingScopeDescription, type CollectLocalSessionSummariesOptions, type CompiledCorrectionRule, type CompiledRedactionRule, type ConflictEntry, type ContradictionOptions, type ContradictionPair, type ContradictionResult$1 as CurateContradictionResult, type DuplicateResult as CurateDuplicateResult, type CurateOptions, type CurateResult, type CuratedStatement, DEFAULT_GRACE_PERIOD_DAYS, DEFAULT_MAX_BINARY_SIZE_BYTES, DEFAULT_MEETINGS_DETECTION_CONFIG, DEFAULT_MEETING_APP_PATTERNS, DEFAULT_PROXIMITY_GAP_MS, DEFAULT_REDACTION_RULES, DEFAULT_SCAN_PATTERNS, DEFAULT_SOURCE_TRUST, DEFAULT_TAXONOMY, DEFAULT_WINDOW_TOLERANCE_MS, type DedupOptions, type DedupResult, type DetectedMeeting, DiscoveredExtension, type DocFile, type DriveChange, type DriveChangesPage, type DriveFileMetadata, type DuplicatePair, EngramAccessService, type FileChange, FilesystemBackend, type ForkCapsuleOptions, type ForkCapsuleResult, type ForkLineage, type FuseClusterResult, FusedDisagreement, FusedSegment, FusedSpeaker, FusionConversationInput, FusionDayResult, FusionOptions, GOOGLE_DRIVE_CONNECTOR_ID, GOOGLE_DRIVE_CURSOR_KIND, DEFAULT_POLL_INTERVAL_MS as GOOGLE_DRIVE_DEFAULT_POLL_INTERVAL_MS, type GenerateOptions, type GenerateResult, type GitContext, type GitInvoker, type GoogleDriveClient, type GoogleDriveClientFactory, type GoogleDriveConnectorConfig, type GoogleDriveSyncResult, HermesMemoryExtensionPublisher, type IngestionPlan, KNOWN_WEARABLE_SOURCE_IDS, type LanguageInfo, LiveConnector, LiveConnectorRegistry, LiveConnectorRegistryError, type LocalSessionAdapterInput, type LocalSessionAdapterOptions, type LocalSessionParseWarning, type LocalSessionParsedFile, type LocalSessionRole, type LocalSessionSourceAdapter, type LocalSessionSummaryCliOptions, type LocalSessionSummaryReport, type LocalSessionTurn, type MeetingAppSpan, type MeetingAudioWindow, type MeetingDetectionSource, type MeetingsDetectionConfig, type MeetingsDetectionInput, MemoryCategory, type MemoryEntry, type MemoryExtensionPublisher, type MergeResult, NOTION_CONNECTOR_ID, NOTION_CURSOR_KIND, NOTION_DEFAULT_POLL_INTERVAL_MS, NoneBackend, type NotionConnectorConfig, type OnboardOptions, type OnboardResult, PUBLISHERS, type PackReviewContextStructuralInput, type PipelineResult, PluginConfig, type ProjectShape, type ProvenanceEntry, type PublishContext, type PublishResult, type PublisherCapabilities, REDACTION_PLACEHOLDER, RELAY_DEMO_MISSION_ID, RELAY_DEMO_NAMESPACE, RELAY_MISSION_DEFAULT_EVENT_LIMIT, RELAY_MISSION_MAX_EVENTS, RELAY_MISSION_MAX_EVENT_LIMIT, RELAY_MISSION_MAX_FILE_BYTES, RELAY_MISSION_MAX_LINE_BYTES, RELAY_MISSION_SCHEMA_VERSION, REMNIC_CITATION_FORMAT, REMNIC_MCP_TOOL_INVENTORY, REMNIC_RECALL_DECISION_RULES, REMNIC_SEMANTIC_OVERVIEW, type RedactionConfig, type RedactionReport, type RedactionRuleConfig, type RelayAgentOutputSnapshot, type RelayAgentSnapshot, type RelayConflictSnapshot, type RelayCorrectionSnapshot, type RelayDecisionSnapshot, type RelayEvidenceRef, RelayEvidenceRefSchema, type RelayMissionAppendAccessInput, type RelayMissionAppendAccessOutput, type RelayMissionAppendResult, type RelayMissionEvent, type RelayMissionEventInput, RelayMissionEventInputSchema, RelayMissionEventSchema, type RelayMissionPayload, RelayMissionPayloadSchema, type RelayMissionReadAccessInput, type RelayMissionReadAccessOutput, type RelayMissionReadOptions, RelayMissionReadOptionsSchema, type RelayMissionSnapshot, type RelayMissionStatus, RelayMissionStore, RelayMissionStoreError, type RelayMissionStoreErrorCode, type RelayMissionStoreOptions, type RelayPropagationSnapshot, type RelayRecallSnapshot, type RelayTestSnapshot, ResolverDecision, type ReviewAction, type ReviewCandidate, type ReviewContext, type ReviewItem, type ReviewListResult, type ReviewOptions, type ReviewResult, type SessionSummaryDraft, type SessionSummaryExcerpt, type Space, type SpaceKind, type SpaceManifest, type SpacePromoteResult, type SpacePullResult, type SpacePushResult, type SpaceShareResult, type SpaceSwitchResult, SpeakerRegistry, type StatementProvenance, StorageManager, type StructuralContextDegradation, type StructuralContextErrorCode, type StructuralContextProvider, type StructuralProviderStatus, type StructuralSpawnFn, type StructuralSymbol, type SubprocessProviderOptions, type SymbolsForDiffErr, type SymbolsForDiffOk, type SymbolsForDiffResult, SyncIncrementalResult, type SyncOptions, type SyncResult, type SyncState, TRANSCRIPT_FORMAT_VERSION, Taxonomy, TokenEntry, type TrainingExportAdapter, type TrainingExportOptions, type TrainingExportRecord, type TranscriptSegmentMatch, type TreeNode, WEARABLES_DIR_NAME, WearableCleanupSettings, type WearableConnectorFactory, type WearableConnectorFactoryOptions, type WearableConnectorRegistration, WearableConversation, WearableCorrectionRule, WearableDayTranscript, WearableDayTranscriptMeta, WearableFusionConfig, WearableSourceConnector, WearableSourceSettings, type WearableSourceSyncState, type WearableSyncStateFile, type WearablesCliIo, WearablesConfig, WearablesInputError, WearablesService, activityDatabasePath, activityDayWindow, activityDigestPath, appendRelayMissionEvent, applyActivitySchema, applyCorrections, applyOffTheRecord, bodyIsEscaped, branchNamespaceName, buildProcedureMarkdownBody, buildProcedureRecallSection, cleanConversation, clearStructuralContextProvidersForTest, clearTrainingExportAdapters, clearWearableConnectors, clusterConversations, collapseImmediateRepeats, collectLocalSessionSummaries, compareRelayEvents, compileCorrectionRule, compileCorrectionRules, compileRedactionPatterns, compileRedactionRules, composeActivityDigestBody, composeActivityDigestMeta, composeDayTranscriptBody, composeDayTranscriptMeta, convertMemoriesToRecords, correctionsFilePath, createBackend, createGoogleDriveConnector, createNotionConnector, createRelayMissionFixture, createSpace, createSubprocessStructuralProvider, curate, decodeTranscriptBody, defaultGoogleDriveClientFactory, defaultWearableCleanupSettings, defaultWearableFusionConfig, defaultWearableSourceSettings, defaultWearablesConfig, deleteSpace, describeCodingScope, describeErrorForOperator, describeStructuralProviderStatus, detectMeetings, emptyManifest, emptySyncState, ensureActivityStateDir, ensureBuiltInWearableConnectors, escapeSegmentText, findContradictions, findDuplicates, forkCapsule, fuseCluster, fuseDay, fusionInputsFromConversations, generateContextTree, generateResolverDocument, getActiveSpace, getAuditLog, getLocalSessionSourceAdapter, getManifestPath, getSpacesDir, getStructuralContextProvider, getTaxonomyDir, getTaxonomyFilePath, getTrainingExportAdapter, getWearableConnector, hashActivityBody, hashTranscriptBody, hostIdForConnector, isLowQualitySegment, isReviewPrompt, isValidActivityDate, isValidTranscriptDate, listLocalSessionSourceAdapters, listReviewItems, listSpaces, listTrainingExportAdapters, listWearableConnectors, loadCorrectionsFile, loadManifest, loadSyncState, loadTaxonomy, manifestDir, manifestPath, matchesPatterns, meetingId, mergeSpaces, normalizeOriginUrl, onboard, openActivityDatabase, packReviewContext, packReviewContextStructural, parseActivityDigest, parseDayTranscript, parseFlexibleIsoTimestamp, parseIsoOffsetTimestamp, parseIsoUtcTimestamp, parseProcedureStepsFromBody, parseTouchedFiles, parseTranscriptSegmentLine, parseWearablesConfig, performReview, probeStructuralProviderForDoctor, projectNamespaceName, promoteSpace, publisherFor, publisherForConnector, pullFromSpace, pushToSpace, rankReviewCandidates, readForkLineage, readManifest, readRelayMission, reconstructFusionInputs, redactSessionSummaryText, redactText, reduceRelayMission, registerLocalSessionSourceAdapter, registerPublisher, registerStructuralContextProvider, registerTrainingExportAdapter, registerWearableConnector, relayMissionAppendOperation, relayMissionReadOperation, relayMissionReceiptDigest, renderExtensionsBlock, renderExtensionsFooter, renderStructuralProviderStatusLine, resolveCategory, resolveCodingNamespaceOverlay, resolveGitContext, runBinaryLifecyclePipeline, runLocalSessionSummaryCliCommand, runWearablesCliCommand, saveCorrectionsFile, saveManifest, saveSyncState, saveTaxonomy, scanForBinaries, serializeActivityDigest, serializeDayTranscript, shareSpace, stableHash, stripFillerTokens, structuralProviderActive, switchSpace, syncChanges, syncStateFilePath, toStructuralContextDegradation, unescapeSegmentText, unescapeSpeakerLabel, updateSourceSyncState, validateGoogleDriveConfig, validateNotionConfig, validateSlug, validateTaxonomy, watchForChanges, writeManifest };
package/dist/index.js CHANGED
@@ -1,8 +1,13 @@
1
1
  import {
2
+ ACTIVITY_DIGEST_FORMAT_VERSION,
3
+ ACTIVITY_DIR_NAME,
4
+ ActivityStore,
2
5
  ClaudeCodeMemoryExtensionPublisher,
3
6
  CodexMemoryExtensionPublisher,
4
7
  DEFAULT_GRACE_PERIOD_DAYS,
5
8
  DEFAULT_MAX_BINARY_SIZE_BYTES,
9
+ DEFAULT_MEETINGS_DETECTION_CONFIG,
10
+ DEFAULT_MEETING_APP_PATTERNS,
6
11
  DEFAULT_REDACTION_RULES,
7
12
  DEFAULT_SCAN_PATTERNS,
8
13
  DEFAULT_TAXONOMY,
@@ -18,11 +23,17 @@ import {
18
23
  REMNIC_RECALL_DECISION_RULES,
19
24
  REMNIC_SEMANTIC_OVERVIEW,
20
25
  WearablesService,
26
+ activityDatabasePath,
27
+ activityDayWindow,
28
+ activityDigestPath,
29
+ applyActivitySchema,
21
30
  buildProcedureRecallSection,
22
31
  clearStructuralContextProvidersForTest,
23
32
  clearWearableConnectors,
24
33
  collectLocalSessionSummaries,
25
34
  compileRedactionRules,
35
+ composeActivityDigestBody,
36
+ composeActivityDigestMeta,
26
37
  createBackend,
27
38
  createRelayMissionFixture,
28
39
  createSpace,
@@ -32,7 +43,9 @@ import {
32
43
  defaultWorkspaceDir,
33
44
  deleteSpace,
34
45
  describeStructuralProviderStatus,
46
+ detectMeetings,
35
47
  emptyManifest,
48
+ ensureActivityStateDir,
36
49
  ensureBuiltInWearableConnectors,
37
50
  findContradictions,
38
51
  findDuplicates,
@@ -48,8 +61,10 @@ import {
48
61
  getTaxonomyDir,
49
62
  getTaxonomyFilePath,
50
63
  getWearableConnector,
64
+ hashActivityBody,
51
65
  hostIdForConnector,
52
66
  isReviewPrompt,
67
+ isValidActivityDate,
53
68
  listLocalSessionSourceAdapters,
54
69
  listReviewItems,
55
70
  listSpaces,
@@ -60,10 +75,13 @@ import {
60
75
  manifestDir,
61
76
  manifestPath,
62
77
  matchesPatterns,
78
+ meetingId,
63
79
  mergeSpaces,
64
80
  onboard,
81
+ openActivityDatabase,
65
82
  packReviewContext,
66
83
  packReviewContextStructural,
84
+ parseActivityDigest,
67
85
  parseTouchedFiles,
68
86
  performReview,
69
87
  probeStructuralProviderForDoctor,
@@ -87,6 +105,7 @@ import {
87
105
  saveManifest,
88
106
  saveTaxonomy,
89
107
  scanForBinaries,
108
+ serializeActivityDigest,
90
109
  shareSpace,
91
110
  structuralProviderActive,
92
111
  switchSpace,
@@ -96,7 +115,7 @@ import {
96
115
  validateTaxonomy,
97
116
  watchForChanges,
98
117
  writeManifest
99
- } from "./chunk-7PY55HMI.js";
118
+ } from "./chunk-5RZHHANR.js";
100
119
  import {
101
120
  WEARABLE_SOURCE_PREFIX,
102
121
  buildExtractionTurns,
@@ -1038,7 +1057,10 @@ export {
1038
1057
  ACTION_CONFIDENCE_RISK_CATEGORIES,
1039
1058
  ACTION_CONFIDENCE_RULE_KINDS,
1040
1059
  ACTIVE_STATUSES,
1060
+ ACTIVITY_DIGEST_FORMAT_VERSION,
1061
+ ACTIVITY_DIR_NAME,
1041
1062
  AccessAuditAdapter,
1063
+ ActivityStore,
1042
1064
  BRIEFING_FORMAT_ALLOWED,
1043
1065
  BootstrapEngine,
1044
1066
  CITATION_UNKNOWN,
@@ -1056,6 +1078,8 @@ export {
1056
1078
  DEFAULT_GRACE_PERIOD_DAYS,
1057
1079
  DEFAULT_IMPORT_BATCH_SIZE,
1058
1080
  DEFAULT_MAX_BINARY_SIZE_BYTES,
1081
+ DEFAULT_MEETINGS_DETECTION_CONFIG,
1082
+ DEFAULT_MEETING_APP_PATTERNS,
1059
1083
  DEFAULT_PPR_DAMPING,
1060
1084
  DEFAULT_PPR_ITERATIONS,
1061
1085
  DEFAULT_PPR_TOLERANCE,
@@ -1162,9 +1186,13 @@ export {
1162
1186
  WearablesInputError,
1163
1187
  WearablesService,
1164
1188
  WebSearchProvider,
1189
+ activityDatabasePath,
1190
+ activityDayWindow,
1191
+ activityDigestPath,
1165
1192
  appendAuditEntry,
1166
1193
  appendInteractionLog,
1167
1194
  appendRelayMissionEvent,
1195
+ applyActivitySchema,
1168
1196
  applyCorrections,
1169
1197
  applyLcmSchema,
1170
1198
  applyMemoryWorthFilter,
@@ -1238,6 +1266,8 @@ export {
1238
1266
  compileOfflineSyncExcludeGlobs,
1239
1267
  compileRedactionPatterns,
1240
1268
  compileRedactionRules,
1269
+ composeActivityDigestBody,
1270
+ composeActivityDigestMeta,
1241
1271
  composeDayTranscriptBody,
1242
1272
  composeDayTranscriptMeta,
1243
1273
  composeFusionDayMeta,
@@ -1278,6 +1308,7 @@ export {
1278
1308
  describeErrorForOperator,
1279
1309
  describeMemoriesDir,
1280
1310
  describeStructuralProviderStatus,
1311
+ detectMeetings,
1281
1312
  detectRecallAnomalies,
1282
1313
  diffVersions,
1283
1314
  discoverMemoryExtensions,
@@ -1288,6 +1319,7 @@ export {
1288
1319
  emptyManifest,
1289
1320
  emptySpeakerRegistry,
1290
1321
  emptySyncState,
1322
+ ensureActivityStateDir,
1291
1323
  ensureBuiltInWearableConnectors,
1292
1324
  ensureLcmStateDir,
1293
1325
  ensureSentinel,
@@ -1339,6 +1371,7 @@ export {
1339
1371
  hasBroadGraphIntent,
1340
1372
  hasCitation,
1341
1373
  hasEnabledLiveConnector,
1374
+ hashActivityBody,
1342
1375
  hashFusionBody,
1343
1376
  hashTranscriptBody,
1344
1377
  hostIdForConnector,
@@ -1370,6 +1403,7 @@ export {
1370
1403
  isUserBoundaryScope,
1371
1404
  isUserContextScope,
1372
1405
  isUserModelDimension,
1406
+ isValidActivityDate,
1373
1407
  isValidCachedVerdict,
1374
1408
  isValidConnectorId,
1375
1409
  isValidNamespaceValue,
@@ -1406,6 +1440,7 @@ export {
1406
1440
  manifestPath,
1407
1441
  matchesPatterns,
1408
1442
  materializeForNamespace,
1443
+ meetingId,
1409
1444
  memoryStatusForMode,
1410
1445
  memoryStoreRequestSchema,
1411
1446
  memoryWorthOutcomeEligibleCategories,
@@ -1429,9 +1464,11 @@ export {
1429
1464
  observeRequestSchema,
1430
1465
  offlineSyncStateFromSnapshot,
1431
1466
  onboard,
1467
+ openActivityDatabase,
1432
1468
  openLcmDatabase,
1433
1469
  packReviewContext,
1434
1470
  packReviewContextStructural,
1471
+ parseActivityDigest,
1435
1472
  parseAllCitations,
1436
1473
  parseAnthropicMessageParts,
1437
1474
  parseBriefingFocus,
@@ -1560,6 +1597,7 @@ export {
1560
1597
  saveTokenStore,
1561
1598
  scanForBinaries,
1562
1599
  sealedWriteToLegacyArgs,
1600
+ serializeActivityDigest,
1563
1601
  serializeDayTranscript,
1564
1602
  serializeEntityFile,
1565
1603
  serializeFusionDay,
@@ -41,7 +41,7 @@ import {
41
41
  throwIfRecallAborted,
42
42
  tokenizeRecallQuery,
43
43
  utcDateKeysForLocalDay
44
- } from "./chunk-7PY55HMI.js";
44
+ } from "./chunk-5RZHHANR.js";
45
45
  import "./chunk-5SB7SC2G.js";
46
46
  import "./chunk-3332THSR.js";
47
47
  import "./chunk-I74SUMNI.js";