@poprobertdaniel/openclaw-memory 0.1.1 → 0.1.3

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.
Files changed (49) hide show
  1. package/README.md +22 -10
  2. package/dist/{chunk-RFLG2CCR.js → chunk-7DNVIKQ3.js} +100 -10
  3. package/dist/chunk-7DNVIKQ3.js.map +1 -0
  4. package/dist/{chunk-JSQBXYDM.js → chunk-BTR4T5L3.js} +157 -26
  5. package/dist/chunk-BTR4T5L3.js.map +1 -0
  6. package/dist/{chunk-VXULEX3A.cjs → chunk-CSGZH2SG.cjs} +9 -9
  7. package/dist/chunk-CSGZH2SG.cjs.map +1 -0
  8. package/dist/{chunk-JNWCMHOB.js → chunk-ITGUJZUL.js} +2 -2
  9. package/dist/{chunk-JNWCMHOB.js.map → chunk-ITGUJZUL.js.map} +1 -1
  10. package/dist/{chunk-NHFPLDZK.js → chunk-J2C5USXH.js} +3 -3
  11. package/dist/{chunk-CRPEAZ44.cjs → chunk-JYQB2DOK.cjs} +161 -30
  12. package/dist/chunk-JYQB2DOK.cjs.map +1 -0
  13. package/dist/{chunk-ZY2C2CJQ.cjs → chunk-LA5OP5VI.cjs} +2 -2
  14. package/dist/chunk-LA5OP5VI.cjs.map +1 -0
  15. package/dist/{chunk-NMUPGLJW.cjs → chunk-NYZMAY73.cjs} +110 -20
  16. package/dist/chunk-NYZMAY73.cjs.map +1 -0
  17. package/dist/cli/index.cjs +25 -25
  18. package/dist/cli/index.cjs.map +1 -1
  19. package/dist/cli/index.js +7 -7
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/index.cjs +5 -5
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +64 -2
  24. package/dist/index.d.ts +64 -2
  25. package/dist/index.js +4 -4
  26. package/dist/memory-service-B2BAEKR2.cjs +9 -0
  27. package/dist/memory-service-B2BAEKR2.cjs.map +1 -0
  28. package/dist/memory-service-ZTLGPIUH.js +9 -0
  29. package/dist/{server-BTbRv-yX.d.ts → server-CtNlCow7.d.cts} +62 -0
  30. package/dist/{server-BTbRv-yX.d.cts → server-CtNlCow7.d.ts} +62 -0
  31. package/dist/server.cjs +4 -4
  32. package/dist/server.cjs.map +1 -1
  33. package/dist/server.d.cts +1 -1
  34. package/dist/server.d.ts +1 -1
  35. package/dist/server.js +3 -3
  36. package/package.json +2 -2
  37. package/templates/.env.example +1 -1
  38. package/templates/openclaw-memory.config.ts +2 -2
  39. package/dist/chunk-CRPEAZ44.cjs.map +0 -1
  40. package/dist/chunk-JSQBXYDM.js.map +0 -1
  41. package/dist/chunk-NMUPGLJW.cjs.map +0 -1
  42. package/dist/chunk-RFLG2CCR.js.map +0 -1
  43. package/dist/chunk-VXULEX3A.cjs.map +0 -1
  44. package/dist/chunk-ZY2C2CJQ.cjs.map +0 -1
  45. package/dist/memory-service-6WDMF6KX.cjs +0 -9
  46. package/dist/memory-service-6WDMF6KX.cjs.map +0 -1
  47. package/dist/memory-service-GKEG6J2D.js +0 -9
  48. /package/dist/{chunk-NHFPLDZK.js.map → chunk-J2C5USXH.js.map} +0 -0
  49. /package/dist/{memory-service-GKEG6J2D.js.map → memory-service-ZTLGPIUH.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/robertpop/work/personal/openclaw-memory/dist/index.cjs","../src/core/types.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;AC4PO,IAAM,kBAAA,EAAoD;AAAA,EAC/D,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,KAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,UAAA,EAAY,KAAA;AAAA,IACZ,UAAA,EAAY;AAAA,EACd,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,IAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,UAAA,EAAY,IAAA;AAAA,IACZ,UAAA,EAAY;AAAA,EACd,CAAA;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,IAAA;AAAA,IACR,GAAA,EAAK,IAAA;AAAA,IACL,UAAA,EAAY,IAAA;AAAA,IACZ,UAAA,EAAY;AAAA,EACd;AACF,CAAA;AD1PA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACF,kXAAC","file":"/Users/robertpop/work/personal/openclaw-memory/dist/index.cjs","sourcesContent":[null,"// ── Core Types ──────────────────────────────────────────────────────────\n\nexport type MemoryScope = \"user\" | \"agent\" | \"global\" | \"project\" | \"session\";\nexport type MemorySource = \"explicit\" | \"derived\" | \"observation\" | \"conversation_summary\" | \"entity_extraction\" | \"daily_digest\" | \"migration\";\nexport type EntityType = \"Person\" | \"Project\" | \"Organization\" | \"Decision\" | \"Preference\" | \"Event\" | \"Tool\" | \"Location\" | \"Concept\";\nexport type RelationshipType =\n | \"WORKS_ON\"\n | \"DECIDED\"\n | \"PREFERS\"\n | \"KNOWS\"\n | \"USES\"\n | \"LOCATED_AT\"\n | \"BELONGS_TO\"\n | \"MENTIONED_IN\"\n | \"RELATED_TO\"\n | \"CREATED_BY\"\n | \"DEPENDS_ON\";\n\nexport type Tier = \"lite\" | \"standard\" | \"full\";\n\n// ── Data Models ─────────────────────────────────────────────────────────\n\nexport interface ExtractedEntity {\n name: string;\n type: EntityType;\n properties: Record<string, string>;\n}\n\nexport interface ExtractedRelationship {\n from_entity: string;\n to_entity: string;\n relationship: RelationshipType;\n properties: Record<string, string>;\n}\n\nexport interface ExtractionResult {\n entities: ExtractedEntity[];\n relationships: ExtractedRelationship[];\n}\n\nexport interface Memory {\n id: string;\n agent_id: string;\n scope: MemoryScope;\n subject_id: string | null;\n content: string;\n tags: string[];\n entities: ExtractedEntity[];\n source: MemorySource;\n created_by: string | null;\n created_at: string;\n updated_at: string;\n expires_at: string | null;\n embedding_hash: string | null;\n}\n\n// ── API Request/Response Types (snake_case for HTTP API) ────────────────\n\nexport interface CreateMemoryRequest {\n agent_id: string;\n scope: MemoryScope;\n subject_id?: string | null;\n content: string;\n tags?: string[];\n source?: MemorySource;\n created_by?: string | null;\n extract_entities?: boolean;\n expires_at?: string | null;\n}\n\nexport interface UpdateMemoryRequest {\n content?: string;\n tags?: string[];\n scope?: MemoryScope;\n subject_id?: string | null;\n expires_at?: string | null;\n extract_entities?: boolean;\n}\n\nexport interface SearchRequest {\n agent_id: string;\n query: string;\n scopes?: MemoryScope[];\n subject_id?: string | null;\n limit?: number;\n include_graph?: boolean;\n cross_agent?: boolean;\n strategy?: \"auto\" | \"semantic\" | \"fulltext\" | \"graph\" | \"all\";\n}\n\nexport interface ScoredMemory {\n memory: Memory;\n score: number;\n source_layer: \"sqlite\" | \"qdrant\" | \"age\";\n graph_context?: {\n related_entities: Array<{\n type: EntityType;\n name: string;\n relationship: string;\n }>;\n };\n}\n\nexport interface SearchResponse {\n results: ScoredMemory[];\n strategy_used: string;\n layer_stats: {\n sqlite: { count: number; ms: number };\n qdrant: { count: number; ms: number };\n age: { count: number; ms: number };\n };\n}\n\nexport interface SyncStatus {\n sqlite: \"ok\";\n qdrant: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n age: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n}\n\nexport interface CreateMemoryResponse {\n id: string;\n agent_id: string;\n scope: MemoryScope;\n content: string;\n tags?: string[];\n entities: ExtractedEntity[];\n created_at: string;\n updated_at?: string;\n sync_status: SyncStatus;\n}\n\nexport interface ConversationLogEntry {\n agent_id: string;\n session_id: string;\n user_id: string;\n channel: string;\n role: string;\n content: string;\n timestamp: string;\n}\n\nexport interface SummarizeRequest {\n agent_id: string;\n session_id: string;\n user_id: string;\n channel: string;\n messages: Array<{\n role: \"user\" | \"assistant\" | \"system\";\n content: string;\n timestamp: string;\n }>;\n reason?: string;\n}\n\nexport interface SummarizeResponse {\n memory_id: string;\n summary: string;\n entities_extracted: ExtractedEntity[];\n relationships_created: number;\n}\n\nexport interface HealthResponse {\n sqlite: \"ok\" | \"error\" | \"disabled\";\n qdrant: \"ok\" | \"error\" | \"disabled\";\n age: \"ok\" | \"error\" | \"disabled\";\n tier: Tier;\n uptime: number;\n details?: Record<string, string>;\n}\n\nexport interface SyncQueueItem {\n id: number;\n memory_id: string;\n layer: \"qdrant\" | \"age\";\n operation: \"upsert\" | \"delete\";\n attempts: number;\n last_error: string | null;\n created_at: string;\n}\n\nexport interface ListMemoriesQuery {\n agent_id?: string;\n scope?: MemoryScope;\n subject_id?: string;\n source?: MemorySource;\n tags?: string;\n limit?: number;\n offset?: number;\n order?: \"asc\" | \"desc\";\n}\n\nexport interface MigrateMarkdownRequest {\n markdown_paths: string[];\n agent_id: string;\n dry_run?: boolean;\n}\n\n// ── Programmatic API Types (camelCase) ──────────────────────────────────\n\nexport interface StoreParams {\n agentId: string;\n scope: MemoryScope;\n subjectId?: string | null;\n content: string;\n tags?: string[];\n source?: MemorySource;\n createdBy?: string | null;\n extractEntities?: boolean;\n expiresAt?: string | null;\n}\n\nexport interface StoreResult {\n id: string;\n agentId: string;\n scope: MemoryScope;\n content: string;\n entities: ExtractedEntity[];\n createdAt: string;\n syncStatus: {\n sqlite: \"ok\";\n qdrant: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n age: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n };\n}\n\nexport interface SearchParams {\n agentId: string;\n query: string;\n scopes?: MemoryScope[];\n subjectId?: string | null;\n limit?: number;\n includeGraph?: boolean;\n crossAgent?: boolean;\n strategy?: \"auto\" | \"semantic\" | \"fulltext\" | \"graph\" | \"all\";\n}\n\nexport interface UpdateParams {\n content?: string;\n tags?: string[];\n scope?: MemoryScope;\n subjectId?: string | null;\n expiresAt?: string | null;\n extractEntities?: boolean;\n}\n\nexport interface ListParams {\n agentId?: string;\n scope?: MemoryScope;\n subjectId?: string;\n source?: MemorySource;\n tags?: string;\n limit?: number;\n offset?: number;\n order?: \"asc\" | \"desc\";\n}\n\n// ── Tier Capabilities ───────────────────────────────────────────────────\n\nexport interface TierCapabilities {\n sqlite: true;\n qdrant: boolean;\n age: boolean;\n embeddings: boolean;\n extraction: boolean;\n}\n\nexport const TIER_CAPABILITIES: Record<Tier, TierCapabilities> = {\n lite: {\n sqlite: true,\n qdrant: false,\n age: false,\n embeddings: false,\n extraction: false,\n },\n standard: {\n sqlite: true,\n qdrant: true,\n age: false,\n embeddings: true,\n extraction: true,\n },\n full: {\n sqlite: true,\n qdrant: true,\n age: true,\n embeddings: true,\n extraction: true,\n },\n};\n"]}
1
+ {"version":3,"sources":["/private/tmp/openclaw-memory-publish/dist/index.cjs","../src/core/types.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;AC4PO,IAAM,kBAAA,EAAoD;AAAA,EAC/D,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,KAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,UAAA,EAAY,KAAA;AAAA,IACZ,UAAA,EAAY;AAAA,EACd,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,IAAA;AAAA,IACR,GAAA,EAAK,KAAA;AAAA,IACL,UAAA,EAAY,IAAA;AAAA,IACZ,UAAA,EAAY;AAAA,EACd,CAAA;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,IAAA;AAAA,IACR,MAAA,EAAQ,IAAA;AAAA,IACR,GAAA,EAAK,IAAA;AAAA,IACL,UAAA,EAAY,IAAA;AAAA,IACZ,UAAA,EAAY;AAAA,EACd;AACF,CAAA;AD1PA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACF,kXAAC","file":"/private/tmp/openclaw-memory-publish/dist/index.cjs","sourcesContent":[null,"// ── Core Types ──────────────────────────────────────────────────────────\n\nexport type MemoryScope = \"user\" | \"agent\" | \"global\" | \"project\" | \"session\";\nexport type MemorySource = \"explicit\" | \"derived\" | \"observation\" | \"conversation_summary\" | \"entity_extraction\" | \"daily_digest\" | \"migration\";\nexport type EntityType = \"Person\" | \"Project\" | \"Organization\" | \"Decision\" | \"Preference\" | \"Event\" | \"Tool\" | \"Location\" | \"Concept\";\nexport type RelationshipType =\n | \"WORKS_ON\"\n | \"DECIDED\"\n | \"PREFERS\"\n | \"KNOWS\"\n | \"USES\"\n | \"LOCATED_AT\"\n | \"BELONGS_TO\"\n | \"MENTIONED_IN\"\n | \"RELATED_TO\"\n | \"CREATED_BY\"\n | \"DEPENDS_ON\";\n\nexport type Tier = \"lite\" | \"standard\" | \"full\";\n\n// ── Data Models ─────────────────────────────────────────────────────────\n\nexport interface ExtractedEntity {\n name: string;\n type: EntityType;\n properties: Record<string, string>;\n}\n\nexport interface ExtractedRelationship {\n from_entity: string;\n to_entity: string;\n relationship: RelationshipType;\n properties: Record<string, string>;\n}\n\nexport interface ExtractionResult {\n entities: ExtractedEntity[];\n relationships: ExtractedRelationship[];\n}\n\nexport interface Memory {\n id: string;\n agent_id: string;\n scope: MemoryScope;\n subject_id: string | null;\n content: string;\n tags: string[];\n entities: ExtractedEntity[];\n source: MemorySource;\n created_by: string | null;\n created_at: string;\n updated_at: string;\n expires_at: string | null;\n embedding_hash: string | null;\n}\n\n// ── API Request/Response Types (snake_case for HTTP API) ────────────────\n\nexport interface CreateMemoryRequest {\n agent_id: string;\n scope: MemoryScope;\n subject_id?: string | null;\n content: string;\n tags?: string[];\n source?: MemorySource;\n created_by?: string | null;\n extract_entities?: boolean;\n expires_at?: string | null;\n}\n\nexport interface UpdateMemoryRequest {\n content?: string;\n tags?: string[];\n scope?: MemoryScope;\n subject_id?: string | null;\n expires_at?: string | null;\n extract_entities?: boolean;\n}\n\nexport interface SearchRequest {\n agent_id: string;\n query: string;\n scopes?: MemoryScope[];\n subject_id?: string | null;\n limit?: number;\n include_graph?: boolean;\n cross_agent?: boolean;\n strategy?: \"auto\" | \"semantic\" | \"fulltext\" | \"graph\" | \"all\";\n}\n\nexport interface ScoredMemory {\n memory: Memory;\n score: number;\n source_layer: \"sqlite\" | \"qdrant\" | \"age\";\n graph_context?: {\n related_entities: Array<{\n type: EntityType;\n name: string;\n relationship: string;\n }>;\n };\n}\n\nexport interface SearchResponse {\n results: ScoredMemory[];\n strategy_used: string;\n layer_stats: {\n sqlite: { count: number; ms: number };\n qdrant: { count: number; ms: number };\n age: { count: number; ms: number };\n };\n}\n\nexport interface SyncStatus {\n sqlite: \"ok\";\n qdrant: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n age: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n}\n\nexport interface CreateMemoryResponse {\n id: string;\n agent_id: string;\n scope: MemoryScope;\n content: string;\n tags?: string[];\n entities: ExtractedEntity[];\n created_at: string;\n updated_at?: string;\n sync_status: SyncStatus;\n}\n\nexport interface ConversationLogEntry {\n agent_id: string;\n session_id: string;\n user_id: string;\n channel: string;\n role: string;\n content: string;\n timestamp: string;\n}\n\nexport interface SummarizeRequest {\n agent_id: string;\n session_id: string;\n user_id: string;\n channel: string;\n messages: Array<{\n role: \"user\" | \"assistant\" | \"system\";\n content: string;\n timestamp: string;\n }>;\n reason?: string;\n}\n\nexport interface SummarizeResponse {\n memory_id: string;\n summary: string;\n entities_extracted: ExtractedEntity[];\n relationships_created: number;\n}\n\nexport interface HealthResponse {\n sqlite: \"ok\" | \"error\" | \"disabled\";\n qdrant: \"ok\" | \"error\" | \"disabled\";\n age: \"ok\" | \"error\" | \"disabled\";\n tier: Tier;\n uptime: number;\n details?: Record<string, string>;\n}\n\nexport interface SyncQueueItem {\n id: number;\n memory_id: string;\n layer: \"qdrant\" | \"age\";\n operation: \"upsert\" | \"delete\";\n attempts: number;\n last_error: string | null;\n created_at: string;\n}\n\nexport interface ListMemoriesQuery {\n agent_id?: string;\n scope?: MemoryScope;\n subject_id?: string;\n source?: MemorySource;\n tags?: string;\n limit?: number;\n offset?: number;\n order?: \"asc\" | \"desc\";\n}\n\nexport interface MigrateMarkdownRequest {\n markdown_paths: string[];\n agent_id: string;\n dry_run?: boolean;\n}\n\n// ── Programmatic API Types (camelCase) ──────────────────────────────────\n\nexport interface StoreParams {\n agentId: string;\n scope: MemoryScope;\n subjectId?: string | null;\n content: string;\n tags?: string[];\n source?: MemorySource;\n createdBy?: string | null;\n extractEntities?: boolean;\n expiresAt?: string | null;\n}\n\nexport interface StoreResult {\n id: string;\n agentId: string;\n scope: MemoryScope;\n content: string;\n entities: ExtractedEntity[];\n createdAt: string;\n syncStatus: {\n sqlite: \"ok\";\n qdrant: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n age: \"ok\" | \"queued\" | \"failed\" | \"disabled\";\n };\n}\n\nexport interface SearchParams {\n agentId: string;\n query: string;\n scopes?: MemoryScope[];\n subjectId?: string | null;\n limit?: number;\n includeGraph?: boolean;\n crossAgent?: boolean;\n strategy?: \"auto\" | \"semantic\" | \"fulltext\" | \"graph\" | \"all\";\n}\n\nexport interface UpdateParams {\n content?: string;\n tags?: string[];\n scope?: MemoryScope;\n subjectId?: string | null;\n expiresAt?: string | null;\n extractEntities?: boolean;\n}\n\nexport interface ListParams {\n agentId?: string;\n scope?: MemoryScope;\n subjectId?: string;\n source?: MemorySource;\n tags?: string;\n limit?: number;\n offset?: number;\n order?: \"asc\" | \"desc\";\n}\n\n// ── Tier Capabilities ───────────────────────────────────────────────────\n\nexport interface TierCapabilities {\n sqlite: true;\n qdrant: boolean;\n age: boolean;\n embeddings: boolean;\n extraction: boolean;\n}\n\nexport const TIER_CAPABILITIES: Record<Tier, TierCapabilities> = {\n lite: {\n sqlite: true,\n qdrant: false,\n age: false,\n embeddings: false,\n extraction: false,\n },\n standard: {\n sqlite: true,\n qdrant: true,\n age: false,\n embeddings: true,\n extraction: true,\n },\n full: {\n sqlite: true,\n qdrant: true,\n age: true,\n embeddings: true,\n extraction: true,\n },\n};\n"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ResolvedConfig, C as Config, S as StoreParams, a as StoreResult, M as Memory, U as UpdateParams, L as ListParams, b as SearchParams, c as SearchResponse, d as ConversationLogEntry, e as SummarizeResponse, H as HealthResponse, T as Tier, f as StorageOrchestrator, g as CreateMemoryResponse, E as ExtractionResult, h as SyncQueueItem } from './server-BTbRv-yX.cjs';
2
- export { i as CreateMemoryRequest, j as EntityType, k as ExtractedEntity, l as ExtractedRelationship, m as ListMemoriesQuery, n as MemoryScope, o as MemorySource, p as MigrateMarkdownRequest, q as RelationshipType, r as ScoredMemory, s as SearchRequest, t as SummarizeRequest, u as SyncStatus, v as TIER_CAPABILITIES, w as TierCapabilities, x as UpdateMemoryRequest, y as createServer } from './server-BTbRv-yX.cjs';
1
+ import { R as ResolvedConfig, C as Config, S as StoreParams, a as StoreResult, M as Memory, U as UpdateParams, L as ListParams, b as SearchParams, c as SearchResponse, d as ConversationLogEntry, e as SummarizeResponse, H as HealthResponse, T as Tier, f as StorageOrchestrator, g as CreateMemoryResponse, E as ExtractionResult, h as SyncQueueItem } from './server-CtNlCow7.cjs';
2
+ export { i as CreateMemoryRequest, j as EntityType, k as ExtractedEntity, l as ExtractedRelationship, m as ListMemoriesQuery, n as MemoryScope, o as MemorySource, p as MigrateMarkdownRequest, q as RelationshipType, r as ScoredMemory, s as SearchRequest, t as SummarizeRequest, u as SyncStatus, v as TIER_CAPABILITIES, w as TierCapabilities, x as UpdateMemoryRequest, y as createServer } from './server-CtNlCow7.cjs';
3
3
  import { Elysia } from 'elysia';
4
4
 
5
5
  declare function loadConfig(configPath?: string): Promise<ResolvedConfig>;
@@ -649,6 +649,18 @@ declare function createApp(orchestrator: StorageOrchestrator, config: ResolvedCo
649
649
  };
650
650
  };
651
651
  };
652
+ } & {
653
+ health: {
654
+ get: {
655
+ body: unknown;
656
+ params: {};
657
+ query: unknown;
658
+ headers: unknown;
659
+ response: {
660
+ 200: HealthResponse;
661
+ };
662
+ };
663
+ };
652
664
  } & {
653
665
  api: {
654
666
  sync: {
@@ -672,6 +684,56 @@ declare function createApp(orchestrator: StorageOrchestrator, config: ResolvedCo
672
684
  };
673
685
  };
674
686
  };
687
+ } & {
688
+ api: {
689
+ admin: {
690
+ resync: {
691
+ post: {
692
+ body: unknown;
693
+ params: {};
694
+ query: {
695
+ layer?: "qdrant" | "age" | "both" | undefined;
696
+ batch?: string | undefined;
697
+ };
698
+ headers: unknown;
699
+ response: {
700
+ 200: {
701
+ error: string;
702
+ details: string;
703
+ layer?: undefined;
704
+ layers?: undefined;
705
+ batch?: undefined;
706
+ memory_count?: undefined;
707
+ queued_items?: undefined;
708
+ sync_results?: undefined;
709
+ } | {
710
+ layer: "qdrant" | "age" | "both";
711
+ layers: ("qdrant" | "age")[];
712
+ batch: number;
713
+ memory_count: number;
714
+ queued_items: number;
715
+ sync_results: {
716
+ processed: number;
717
+ succeeded: number;
718
+ failed: number;
719
+ };
720
+ error?: undefined;
721
+ details?: undefined;
722
+ };
723
+ 422: {
724
+ type: "validation";
725
+ on: string;
726
+ summary?: string;
727
+ message?: string;
728
+ found?: unknown;
729
+ property?: string;
730
+ expected?: string;
731
+ };
732
+ };
733
+ };
734
+ };
735
+ };
736
+ };
675
737
  } & {
676
738
  api: {
677
739
  sync: {
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as ResolvedConfig, C as Config, S as StoreParams, a as StoreResult, M as Memory, U as UpdateParams, L as ListParams, b as SearchParams, c as SearchResponse, d as ConversationLogEntry, e as SummarizeResponse, H as HealthResponse, T as Tier, f as StorageOrchestrator, g as CreateMemoryResponse, E as ExtractionResult, h as SyncQueueItem } from './server-BTbRv-yX.js';
2
- export { i as CreateMemoryRequest, j as EntityType, k as ExtractedEntity, l as ExtractedRelationship, m as ListMemoriesQuery, n as MemoryScope, o as MemorySource, p as MigrateMarkdownRequest, q as RelationshipType, r as ScoredMemory, s as SearchRequest, t as SummarizeRequest, u as SyncStatus, v as TIER_CAPABILITIES, w as TierCapabilities, x as UpdateMemoryRequest, y as createServer } from './server-BTbRv-yX.js';
1
+ import { R as ResolvedConfig, C as Config, S as StoreParams, a as StoreResult, M as Memory, U as UpdateParams, L as ListParams, b as SearchParams, c as SearchResponse, d as ConversationLogEntry, e as SummarizeResponse, H as HealthResponse, T as Tier, f as StorageOrchestrator, g as CreateMemoryResponse, E as ExtractionResult, h as SyncQueueItem } from './server-CtNlCow7.js';
2
+ export { i as CreateMemoryRequest, j as EntityType, k as ExtractedEntity, l as ExtractedRelationship, m as ListMemoriesQuery, n as MemoryScope, o as MemorySource, p as MigrateMarkdownRequest, q as RelationshipType, r as ScoredMemory, s as SearchRequest, t as SummarizeRequest, u as SyncStatus, v as TIER_CAPABILITIES, w as TierCapabilities, x as UpdateMemoryRequest, y as createServer } from './server-CtNlCow7.js';
3
3
  import { Elysia } from 'elysia';
4
4
 
5
5
  declare function loadConfig(configPath?: string): Promise<ResolvedConfig>;
@@ -649,6 +649,18 @@ declare function createApp(orchestrator: StorageOrchestrator, config: ResolvedCo
649
649
  };
650
650
  };
651
651
  };
652
+ } & {
653
+ health: {
654
+ get: {
655
+ body: unknown;
656
+ params: {};
657
+ query: unknown;
658
+ headers: unknown;
659
+ response: {
660
+ 200: HealthResponse;
661
+ };
662
+ };
663
+ };
652
664
  } & {
653
665
  api: {
654
666
  sync: {
@@ -672,6 +684,56 @@ declare function createApp(orchestrator: StorageOrchestrator, config: ResolvedCo
672
684
  };
673
685
  };
674
686
  };
687
+ } & {
688
+ api: {
689
+ admin: {
690
+ resync: {
691
+ post: {
692
+ body: unknown;
693
+ params: {};
694
+ query: {
695
+ layer?: "qdrant" | "age" | "both" | undefined;
696
+ batch?: string | undefined;
697
+ };
698
+ headers: unknown;
699
+ response: {
700
+ 200: {
701
+ error: string;
702
+ details: string;
703
+ layer?: undefined;
704
+ layers?: undefined;
705
+ batch?: undefined;
706
+ memory_count?: undefined;
707
+ queued_items?: undefined;
708
+ sync_results?: undefined;
709
+ } | {
710
+ layer: "qdrant" | "age" | "both";
711
+ layers: ("qdrant" | "age")[];
712
+ batch: number;
713
+ memory_count: number;
714
+ queued_items: number;
715
+ sync_results: {
716
+ processed: number;
717
+ succeeded: number;
718
+ failed: number;
719
+ };
720
+ error?: undefined;
721
+ details?: undefined;
722
+ };
723
+ 422: {
724
+ type: "validation";
725
+ on: string;
726
+ summary?: string;
727
+ message?: string;
728
+ found?: unknown;
729
+ property?: string;
730
+ expected?: string;
731
+ };
732
+ };
733
+ };
734
+ };
735
+ };
736
+ };
675
737
  } & {
676
738
  api: {
677
739
  sync: {
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createApp,
3
3
  createServer
4
- } from "./chunk-RFLG2CCR.js";
4
+ } from "./chunk-7DNVIKQ3.js";
5
5
  import {
6
6
  MemoryService
7
- } from "./chunk-NHFPLDZK.js";
8
- import "./chunk-JSQBXYDM.js";
7
+ } from "./chunk-J2C5USXH.js";
8
+ import "./chunk-BTR4T5L3.js";
9
9
  import {
10
10
  configSummary,
11
11
  defineConfig,
12
12
  loadConfig
13
- } from "./chunk-JNWCMHOB.js";
13
+ } from "./chunk-ITGUJZUL.js";
14
14
 
15
15
  // src/core/types.ts
16
16
  var TIER_CAPABILITIES = {
@@ -0,0 +1,9 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkCSGZH2SGcjs = require('./chunk-CSGZH2SG.cjs');
4
+ require('./chunk-JYQB2DOK.cjs');
5
+ require('./chunk-LA5OP5VI.cjs');
6
+
7
+
8
+ exports.MemoryService = _chunkCSGZH2SGcjs.MemoryService;
9
+ //# sourceMappingURL=memory-service-B2BAEKR2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/private/tmp/openclaw-memory-publish/dist/memory-service-B2BAEKR2.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,wDAAC","file":"/private/tmp/openclaw-memory-publish/dist/memory-service-B2BAEKR2.cjs"}
@@ -0,0 +1,9 @@
1
+ import {
2
+ MemoryService
3
+ } from "./chunk-J2C5USXH.js";
4
+ import "./chunk-BTR4T5L3.js";
5
+ import "./chunk-ITGUJZUL.js";
6
+ export {
7
+ MemoryService
8
+ };
9
+ //# sourceMappingURL=memory-service-ZTLGPIUH.js.map
@@ -1055,6 +1055,18 @@ declare function createServer(configPath?: string): Promise<{
1055
1055
  };
1056
1056
  };
1057
1057
  };
1058
+ } & {
1059
+ health: {
1060
+ get: {
1061
+ body: unknown;
1062
+ params: {};
1063
+ query: unknown;
1064
+ headers: unknown;
1065
+ response: {
1066
+ 200: HealthResponse;
1067
+ };
1068
+ };
1069
+ };
1058
1070
  } & {
1059
1071
  api: {
1060
1072
  sync: {
@@ -1078,6 +1090,56 @@ declare function createServer(configPath?: string): Promise<{
1078
1090
  };
1079
1091
  };
1080
1092
  };
1093
+ } & {
1094
+ api: {
1095
+ admin: {
1096
+ resync: {
1097
+ post: {
1098
+ body: unknown;
1099
+ params: {};
1100
+ query: {
1101
+ layer?: "qdrant" | "age" | "both" | undefined;
1102
+ batch?: string | undefined;
1103
+ };
1104
+ headers: unknown;
1105
+ response: {
1106
+ 200: {
1107
+ error: string;
1108
+ details: string;
1109
+ layer?: undefined;
1110
+ layers?: undefined;
1111
+ batch?: undefined;
1112
+ memory_count?: undefined;
1113
+ queued_items?: undefined;
1114
+ sync_results?: undefined;
1115
+ } | {
1116
+ layer: "qdrant" | "age" | "both";
1117
+ layers: ("qdrant" | "age")[];
1118
+ batch: number;
1119
+ memory_count: number;
1120
+ queued_items: number;
1121
+ sync_results: {
1122
+ processed: number;
1123
+ succeeded: number;
1124
+ failed: number;
1125
+ };
1126
+ error?: undefined;
1127
+ details?: undefined;
1128
+ };
1129
+ 422: {
1130
+ type: "validation";
1131
+ on: string;
1132
+ summary?: string;
1133
+ message?: string;
1134
+ found?: unknown;
1135
+ property?: string;
1136
+ expected?: string;
1137
+ };
1138
+ };
1139
+ };
1140
+ };
1141
+ };
1142
+ };
1081
1143
  } & {
1082
1144
  api: {
1083
1145
  sync: {
@@ -1055,6 +1055,18 @@ declare function createServer(configPath?: string): Promise<{
1055
1055
  };
1056
1056
  };
1057
1057
  };
1058
+ } & {
1059
+ health: {
1060
+ get: {
1061
+ body: unknown;
1062
+ params: {};
1063
+ query: unknown;
1064
+ headers: unknown;
1065
+ response: {
1066
+ 200: HealthResponse;
1067
+ };
1068
+ };
1069
+ };
1058
1070
  } & {
1059
1071
  api: {
1060
1072
  sync: {
@@ -1078,6 +1090,56 @@ declare function createServer(configPath?: string): Promise<{
1078
1090
  };
1079
1091
  };
1080
1092
  };
1093
+ } & {
1094
+ api: {
1095
+ admin: {
1096
+ resync: {
1097
+ post: {
1098
+ body: unknown;
1099
+ params: {};
1100
+ query: {
1101
+ layer?: "qdrant" | "age" | "both" | undefined;
1102
+ batch?: string | undefined;
1103
+ };
1104
+ headers: unknown;
1105
+ response: {
1106
+ 200: {
1107
+ error: string;
1108
+ details: string;
1109
+ layer?: undefined;
1110
+ layers?: undefined;
1111
+ batch?: undefined;
1112
+ memory_count?: undefined;
1113
+ queued_items?: undefined;
1114
+ sync_results?: undefined;
1115
+ } | {
1116
+ layer: "qdrant" | "age" | "both";
1117
+ layers: ("qdrant" | "age")[];
1118
+ batch: number;
1119
+ memory_count: number;
1120
+ queued_items: number;
1121
+ sync_results: {
1122
+ processed: number;
1123
+ succeeded: number;
1124
+ failed: number;
1125
+ };
1126
+ error?: undefined;
1127
+ details?: undefined;
1128
+ };
1129
+ 422: {
1130
+ type: "validation";
1131
+ on: string;
1132
+ summary?: string;
1133
+ message?: string;
1134
+ found?: unknown;
1135
+ property?: string;
1136
+ expected?: string;
1137
+ };
1138
+ };
1139
+ };
1140
+ };
1141
+ };
1142
+ };
1081
1143
  } & {
1082
1144
  api: {
1083
1145
  sync: {
package/dist/server.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNMUPGLJWcjs = require('./chunk-NMUPGLJW.cjs');
4
- require('./chunk-CRPEAZ44.cjs');
5
- require('./chunk-ZY2C2CJQ.cjs');
3
+ var _chunkNYZMAY73cjs = require('./chunk-NYZMAY73.cjs');
4
+ require('./chunk-JYQB2DOK.cjs');
5
+ require('./chunk-LA5OP5VI.cjs');
6
6
 
7
7
 
8
- exports.createServer = _chunkNMUPGLJWcjs.createServer;
8
+ exports.createServer = _chunkNYZMAY73cjs.createServer;
9
9
  //# sourceMappingURL=server.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/robertpop/work/personal/openclaw-memory/dist/server.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,sDAAC","file":"/Users/robertpop/work/personal/openclaw-memory/dist/server.cjs"}
1
+ {"version":3,"sources":["/private/tmp/openclaw-memory-publish/dist/server.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,sDAAC","file":"/private/tmp/openclaw-memory-publish/dist/server.cjs"}
package/dist/server.d.cts CHANGED
@@ -1,2 +1,2 @@
1
1
  import 'elysia';
2
- export { y as createServer } from './server-BTbRv-yX.cjs';
2
+ export { y as createServer } from './server-CtNlCow7.cjs';
package/dist/server.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import 'elysia';
2
- export { y as createServer } from './server-BTbRv-yX.js';
2
+ export { y as createServer } from './server-CtNlCow7.js';
package/dist/server.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createServer
3
- } from "./chunk-RFLG2CCR.js";
4
- import "./chunk-JSQBXYDM.js";
5
- import "./chunk-JNWCMHOB.js";
3
+ } from "./chunk-7DNVIKQ3.js";
4
+ import "./chunk-BTR4T5L3.js";
5
+ import "./chunk-ITGUJZUL.js";
6
6
  export {
7
7
  createServer
8
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "@poprobertdaniel/openclaw-memory",
3
- "version": "0.1.1",
2
+ "name": "@poprobertdaniel/openclaw-memory",
3
+ "version": "0.1.3",
4
4
  "description": "Triple-layer memory system for AI agents — SQLite + Qdrant + Postgres/AGE",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -28,7 +28,7 @@ MEMORY_AUTH_TOKEN=change-me-to-a-secure-token
28
28
  # EMBEDDING_MODEL=openai/text-embedding-3-small
29
29
 
30
30
  # Entity extraction LLM
31
- # EXTRACTION_MODEL=gpt-4o-mini
31
+ # EXTRACTION_MODEL=gpt-5-nano
32
32
  # EXTRACTION_BASE_URL=https://api.openai.com/v1
33
33
 
34
34
  # ── Full tier ────────────────────────────────────────────────────────────
@@ -1,4 +1,4 @@
1
- import { defineConfig } from 'openclaw-memory';
1
+ import { defineConfig } from '@poprobertdaniel/openclaw-memory';
2
2
 
3
3
  export default defineConfig({
4
4
  // Tier: 'lite' (SQLite only), 'standard' (+Qdrant), 'full' (+Qdrant+AGE)
@@ -32,7 +32,7 @@ export default defineConfig({
32
32
  // },
33
33
  // extraction: {
34
34
  // apiKey: process.env.OPENAI_API_KEY || '',
35
- // model: 'gpt-4o-mini',
35
+ // model: 'gpt-5-nano',
36
36
  // enabled: true,
37
37
  // },
38
38