@lanonasis/mem-intel-sdk 1.0.0 → 1.1.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/CHANGELOG.md +16 -0
- package/README.md +50 -21
- package/dist/core/client.d.ts +29 -8
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/index.cjs +251 -13
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +4 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +251 -13
- package/dist/core/index.js.map +1 -1
- package/dist/core/types.d.ts +36 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index-sdk.d.ts +5 -3
- package/dist/index-sdk.d.ts.map +1 -1
- package/dist/index.cjs +251 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +251 -13
- package/dist/index.js.map +1 -1
- package/dist/node/client.d.ts +2 -2
- package/dist/node/client.d.ts.map +1 -1
- package/dist/node/index.cjs +251 -13
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.ts +3 -3
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +251 -13
- package/dist/node/index.js.map +1 -1
- package/dist/react/context/MemoryIntelligenceProvider.d.ts +2 -2
- package/dist/react/context/MemoryIntelligenceProvider.d.ts.map +1 -1
- package/dist/react/hooks/useMemoryIntelligence.d.ts +13 -12
- package/dist/react/hooks/useMemoryIntelligence.d.ts.map +1 -1
- package/dist/react/index.cjs +254 -19
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.d.ts +4 -4
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +254 -19
- package/dist/react/index.js.map +1 -1
- package/dist/server/index.cjs +272 -27
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +272 -27
- package/dist/server/index.js.map +1 -1
- package/dist/server/mcp-server.d.ts +1 -1
- package/dist/server/mcp-server.d.ts.map +1 -1
- package/dist/utils/embeddings.d.ts +1 -1
- package/dist/utils/embeddings.d.ts.map +1 -1
- package/dist/utils/formatting.d.ts +1 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/http-client.d.ts +35 -0
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/index.d.ts +7 -5
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/response-adapter.d.ts +66 -0
- package/dist/utils/response-adapter.d.ts.map +1 -0
- package/dist/vue/composables/useMemoryIntelligence.d.ts +1 -1
- package/dist/vue/composables/useMemoryIntelligence.d.ts.map +1 -1
- package/dist/vue/index.cjs.map +1 -1
- package/dist/vue/index.d.ts +3 -3
- package/dist/vue/index.d.ts.map +1 -1
- package/dist/vue/index.js.map +1 -1
- package/package.json +4 -4
package/dist/react/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/errors.ts","../../src/utils/http-client.ts","../../src/core/client.ts","../../src/react/context/MemoryIntelligenceProvider.tsx","../../src/react/hooks/useMemoryIntelligence.ts","../../src/core/types.ts"],"names":["createContext","React","useContext","useQuery","z"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * SDK-specific error classes\n */\n\nexport class MemoryIntelligenceError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"MemoryIntelligenceError\";\n }\n}\n\nexport class ConfigurationError extends MemoryIntelligenceError {\n constructor(message: string) {\n super(message);\n this.name = \"ConfigurationError\";\n }\n}\n\nexport class MemoryNotFoundError extends MemoryIntelligenceError {\n constructor(memoryId: string) {\n super(`Memory not found: ${memoryId}`);\n this.name = \"MemoryNotFoundError\";\n }\n}\n\nexport class DatabaseError extends MemoryIntelligenceError {\n constructor(message: string, public originalError?: Error) {\n super(message);\n this.name = \"DatabaseError\";\n }\n}\n\nexport class EmbeddingError extends MemoryIntelligenceError {\n constructor(message: string, public originalError?: Error) {\n super(message);\n this.name = \"EmbeddingError\";\n }\n}\n\nexport class ValidationError extends MemoryIntelligenceError {\n constructor(message: string) {\n super(message);\n this.name = \"ValidationError\";\n }\n}\n","/**\n * HTTP client for Lanonasis API\n */\n\nimport { ConfigurationError } from \"../core/errors\";\n\nexport interface HttpClientConfig {\n apiUrl: string;\n apiKey: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\nexport interface ApiResponse<T = any> {\n data?: T;\n error?: {\n message: string;\n code?: string;\n };\n status: number;\n}\n\nexport class HttpClient {\n private apiUrl: string;\n private apiKey: string;\n private timeout: number;\n private headers: Record<string, string>;\n\n constructor(config: HttpClientConfig) {\n if (!config.apiKey) {\n throw new ConfigurationError(\"API key is required\");\n }\n\n if (!config.apiKey.startsWith(\"lano_\")) {\n throw new ConfigurationError(\n \"Invalid API key format. API key should start with 'lano_'\"\n );\n }\n\n this.apiUrl = config.apiUrl.replace(/\\/$/, \"\"); // Remove trailing slash\n this.apiKey = config.apiKey;\n this.timeout = config.timeout || 30000;\n this.headers = {\n \"Content-Type\": \"application/json\",\n \"X-API-Key\": this.apiKey,\n ...config.headers,\n };\n }\n\n private async request<T>(\n method: string,\n endpoint: string,\n data?: any\n ): Promise<ApiResponse<T>> {\n const url = `${this.apiUrl}${endpoint}`;\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeout);\n\n try {\n const options: RequestInit = {\n method,\n headers: this.headers,\n signal: controller.signal,\n };\n\n if (data && (method === \"POST\" || method === \"PUT\" || method === \"PATCH\")) {\n options.body = JSON.stringify(data);\n }\n\n const response = await fetch(url, options);\n clearTimeout(timeoutId);\n\n const responseData = await response.json() as any;\n\n if (!response.ok) {\n return {\n status: response.status,\n error: {\n message: responseData?.message || responseData?.error || \"Request failed\",\n code: responseData?.code,\n },\n };\n }\n\n return {\n status: response.status,\n data: responseData as T,\n };\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n return {\n status: 408,\n error: {\n message: `Request timeout after ${this.timeout}ms`,\n code: \"TIMEOUT\",\n },\n };\n }\n\n return {\n status: 0,\n error: {\n message: error.message,\n code: \"NETWORK_ERROR\",\n },\n };\n }\n\n return {\n status: 0,\n error: {\n message: \"Unknown error occurred\",\n code: \"UNKNOWN_ERROR\",\n },\n };\n }\n }\n\n async get<T>(endpoint: string): Promise<ApiResponse<T>> {\n return this.request<T>(\"GET\", endpoint);\n }\n\n async post<T>(endpoint: string, data?: any): Promise<ApiResponse<T>> {\n return this.request<T>(\"POST\", endpoint, data);\n }\n\n async put<T>(endpoint: string, data?: any): Promise<ApiResponse<T>> {\n return this.request<T>(\"PUT\", endpoint, data);\n }\n\n async patch<T>(endpoint: string, data?: any): Promise<ApiResponse<T>> {\n return this.request<T>(\"PATCH\", endpoint, data);\n }\n\n async delete<T>(endpoint: string): Promise<ApiResponse<T>> {\n return this.request<T>(\"DELETE\", endpoint);\n }\n}\n","/**\n * Core Memory Intelligence Client\n */\n\nimport {\n MemoryIntelligenceConfig,\n AnalyzePatternsParams,\n PatternAnalysis,\n SuggestTagsParams,\n TagSuggestionsResult,\n FindRelatedParams,\n RelatedMemoriesResult,\n DetectDuplicatesParams,\n DuplicatesResult,\n ExtractInsightsParams,\n InsightsResult,\n HealthCheckParams,\n MemoryHealth,\n QueryMemoriesOptions,\n MemoryEntry,\n} from \"./types\";\nimport { ConfigurationError, DatabaseError } from \"./errors\";\nimport { HttpClient } from \"../utils/http-client\";\n\nconst DEFAULT_API_URL = \"https://api.lanonasis.com/api/v1\";\n\nexport class MemoryIntelligenceClient {\n private httpClient: HttpClient;\n private defaultResponseFormat: \"json\" | \"markdown\";\n\n constructor(config: MemoryIntelligenceConfig) {\n // Validate configuration\n if (!config.apiKey) {\n throw new ConfigurationError(\n \"Missing required configuration: apiKey is required (format: lano_xxxxxxxxxx)\"\n );\n }\n\n this.httpClient = new HttpClient({\n apiUrl: config.apiUrl || DEFAULT_API_URL,\n apiKey: config.apiKey,\n timeout: config.timeout,\n headers: config.headers,\n });\n\n this.defaultResponseFormat = config.responseFormat || \"markdown\";\n }\n\n /**\n * Get HTTP client for direct API access\n */\n public getHttpClient(): HttpClient {\n return this.httpClient;\n }\n\n /**\n * Query memories from the API\n */\n public async queryMemories(\n userId: string,\n options: QueryMemoriesOptions = {}\n ): Promise<MemoryEntry[]> {\n const { type, limit = 100, offset = 0 } = options;\n\n const params = new URLSearchParams({\n user_id: userId,\n limit: limit.toString(),\n offset: offset.toString(),\n });\n\n if (type) {\n params.append(\"type\", type);\n }\n\n const response = await this.httpClient.get<{ memories: MemoryEntry[] }>(\n `/intelligence/memories?${params.toString()}`\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to query memories: ${response.error.message}`);\n }\n\n return response.data?.memories || [];\n }\n\n /**\n * Analyze usage patterns and trends in memory collection\n */\n async analyzePatterns(params: AnalyzePatternsParams): Promise<PatternAnalysis> {\n const response = await this.httpClient.post<PatternAnalysis>(\n \"/intelligence/analyze-patterns\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to analyze patterns: ${response.error.message}`);\n }\n\n return response.data!;\n }\n\n /**\n * Get AI-powered tag suggestions for a memory\n */\n async suggestTags(params: SuggestTagsParams): Promise<TagSuggestionsResult> {\n const response = await this.httpClient.post<TagSuggestionsResult>(\n \"/intelligence/suggest-tags\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to suggest tags: ${response.error.message}`);\n }\n\n return response.data!;\n }\n\n /**\n * Find semantically related memories using vector similarity\n */\n async findRelated(params: FindRelatedParams): Promise<RelatedMemoriesResult> {\n const response = await this.httpClient.post<RelatedMemoriesResult>(\n \"/intelligence/find-related\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to find related memories: ${response.error.message}`);\n }\n\n return response.data!;\n }\n\n /**\n * Detect potential duplicate memories\n */\n async detectDuplicates(params: DetectDuplicatesParams): Promise<DuplicatesResult> {\n const response = await this.httpClient.post<DuplicatesResult>(\n \"/intelligence/detect-duplicates\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to detect duplicates: ${response.error.message}`);\n }\n\n return response.data!;\n }\n\n /**\n * Extract insights and patterns from memories\n */\n async extractInsights(params: ExtractInsightsParams): Promise<InsightsResult> {\n const response = await this.httpClient.post<InsightsResult>(\n \"/intelligence/extract-insights\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to extract insights: ${response.error.message}`);\n }\n\n return response.data!;\n }\n\n /**\n * Check the health and organization quality of memories\n */\n async healthCheck(params: HealthCheckParams): Promise<MemoryHealth> {\n const response = await this.httpClient.post<MemoryHealth>(\n \"/intelligence/health-check\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to check health: ${response.error.message}`);\n }\n\n return response.data!;\n }\n}\n","/**\n * React Context Provider for Memory Intelligence\n */\n\nimport React, { createContext, useContext, ReactNode } from \"react\";\nimport { MemoryIntelligenceClient } from \"../../core/client\";\nimport { MemoryIntelligenceConfig } from \"../../core/types\";\n\ninterface MemoryIntelligenceContextValue {\n client: MemoryIntelligenceClient;\n}\n\nconst MemoryIntelligenceContext = createContext<MemoryIntelligenceContextValue | null>(\n null\n);\n\ninterface MemoryIntelligenceProviderProps {\n config: MemoryIntelligenceConfig;\n children: ReactNode;\n}\n\nexport function MemoryIntelligenceProvider({\n config,\n children,\n}: MemoryIntelligenceProviderProps) {\n const [client] = React.useState(() => new MemoryIntelligenceClient(config));\n\n return (\n <MemoryIntelligenceContext.Provider value={{ client }}>\n {children}\n </MemoryIntelligenceContext.Provider>\n );\n}\n\nexport function useMemoryIntelligenceContext() {\n const context = useContext(MemoryIntelligenceContext);\n if (!context) {\n throw new Error(\n \"useMemoryIntelligenceContext must be used within MemoryIntelligenceProvider\"\n );\n }\n return context;\n}\n\nexport { MemoryIntelligenceContext };\n","/**\n * React hooks for Memory Intelligence using React Query\n */\n\nimport { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from \"@tanstack/react-query\";\nimport { useMemoryIntelligenceContext } from \"../context/MemoryIntelligenceProvider\";\nimport {\n PatternAnalysis,\n TagSuggestionsResult,\n RelatedMemoriesResult,\n DuplicatesResult,\n InsightsResult,\n MemoryHealth,\n AnalyzePatternsParams,\n SuggestTagsParams,\n FindRelatedParams,\n DetectDuplicatesParams,\n ExtractInsightsParams,\n HealthCheckParams,\n} from \"../../core/types\";\n\n/**\n * Get the Memory Intelligence client from context\n */\nexport function useMemoryIntelligence() {\n const { client } = useMemoryIntelligenceContext();\n return client;\n}\n\n/**\n * Hook for analyzing memory patterns\n *\n * @example\n * ```tsx\n * const { data, isLoading, error } = usePatternAnalysis({\n * userId: \"user-123\",\n * timeRangeDays: 30,\n * responseFormat: \"json\"\n * });\n * ```\n */\nexport function usePatternAnalysis(\n params: AnalyzePatternsParams,\n options?: Omit<UseQueryOptions<PatternAnalysis>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<PatternAnalysis>({\n queryKey: [\"memory-intelligence\", \"analyze-patterns\", params],\n queryFn: () => client.analyzePatterns(params),\n ...options,\n });\n}\n\n/**\n * Hook for getting tag suggestions\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useTagSuggestions({\n * memoryId: \"mem-123\",\n * userId: \"user-123\",\n * maxSuggestions: 5\n * });\n * ```\n */\nexport function useTagSuggestions(\n params: SuggestTagsParams,\n options?: Omit<UseQueryOptions<TagSuggestionsResult>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<TagSuggestionsResult>({\n queryKey: [\"memory-intelligence\", \"suggest-tags\", params],\n queryFn: () => client.suggestTags(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for getting tag suggestions (if you need manual trigger)\n *\n * @example\n * ```tsx\n * const { mutate, data, isPending } = useTagSuggestionsMutation();\n *\n * // Later...\n * mutate({\n * memoryId: \"mem-123\",\n * userId: \"user-123\"\n * });\n * ```\n */\nexport function useTagSuggestionsMutation(\n options?: UseMutationOptions<TagSuggestionsResult, Error, SuggestTagsParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<TagSuggestionsResult, Error, SuggestTagsParams>({\n mutationFn: (params) => client.suggestTags(params),\n ...options,\n });\n}\n\n/**\n * Hook for finding related memories\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useRelatedMemories({\n * memoryId: \"mem-123\",\n * userId: \"user-123\",\n * limit: 10,\n * similarityThreshold: 0.7\n * });\n * ```\n */\nexport function useRelatedMemories(\n params: FindRelatedParams,\n options?: Omit<UseQueryOptions<RelatedMemoriesResult>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<RelatedMemoriesResult>({\n queryKey: [\"memory-intelligence\", \"find-related\", params],\n queryFn: () => client.findRelated(params),\n ...options,\n });\n}\n\n/**\n * Hook for detecting duplicate memories\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useDuplicateDetection({\n * userId: \"user-123\",\n * similarityThreshold: 0.9,\n * maxPairs: 20\n * });\n * ```\n */\nexport function useDuplicateDetection(\n params: DetectDuplicatesParams,\n options?: Omit<UseQueryOptions<DuplicatesResult>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<DuplicatesResult>({\n queryKey: [\"memory-intelligence\", \"detect-duplicates\", params],\n queryFn: () => client.detectDuplicates(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for duplicate detection (if you need manual trigger)\n */\nexport function useDuplicateDetectionMutation(\n options?: UseMutationOptions<DuplicatesResult, Error, DetectDuplicatesParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<DuplicatesResult, Error, DetectDuplicatesParams>({\n mutationFn: (params) => client.detectDuplicates(params),\n ...options,\n });\n}\n\n/**\n * Hook for extracting insights\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useInsightExtraction({\n * userId: \"user-123\",\n * topic: \"machine learning\",\n * maxMemories: 20\n * });\n * ```\n */\nexport function useInsightExtraction(\n params: ExtractInsightsParams,\n options?: Omit<UseQueryOptions<InsightsResult>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<InsightsResult>({\n queryKey: [\"memory-intelligence\", \"extract-insights\", params],\n queryFn: () => client.extractInsights(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for insight extraction (if you need manual trigger)\n */\nexport function useInsightExtractionMutation(\n options?: UseMutationOptions<InsightsResult, Error, ExtractInsightsParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<InsightsResult, Error, ExtractInsightsParams>({\n mutationFn: (params) => client.extractInsights(params),\n ...options,\n });\n}\n\n/**\n * Hook for checking memory health\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useHealthCheck({\n * userId: \"user-123\",\n * responseFormat: \"json\"\n * });\n * ```\n */\nexport function useHealthCheck(\n params: HealthCheckParams,\n options?: Omit<UseQueryOptions<MemoryHealth>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<MemoryHealth>({\n queryKey: [\"memory-intelligence\", \"health-check\", params],\n queryFn: () => client.healthCheck(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for health check (if you need manual trigger)\n */\nexport function useHealthCheckMutation(\n options?: UseMutationOptions<MemoryHealth, Error, HealthCheckParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<MemoryHealth, Error, HealthCheckParams>({\n mutationFn: (params) => client.healthCheck(params),\n ...options,\n });\n}\n","/**\n * Type definitions for Memory Intelligence SDK\n */\n\nimport { z } from \"zod\";\n\n// Response format enum\nexport const ResponseFormat = {\n JSON: \"json\",\n MARKDOWN: \"markdown\",\n} as const;\n\nexport type ResponseFormatType = (typeof ResponseFormat)[keyof typeof ResponseFormat];\n\n// Memory type enum\nexport const MemoryType = z.enum([\n \"context\",\n \"project\",\n \"knowledge\",\n \"reference\",\n \"personal\",\n \"workflow\",\n]);\n\nexport type MemoryTypeValue = z.infer<typeof MemoryType>;\n\n// Configuration interface\nexport interface MemoryIntelligenceConfig {\n apiUrl?: string; // Lanonasis API URL (default: https://api.lanonasis.com/api/v1)\n apiKey: string; // Lanonasis API key (format: lano_xxxxxxxxxx)\n timeout?: number; // Request timeout in milliseconds (default: 30000)\n responseFormat?: ResponseFormatType;\n headers?: Record<string, string>; // Custom headers\n}\n\n// Tool parameter interfaces\nexport interface AnalyzePatternsParams {\n userId: string;\n timeRangeDays?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface SuggestTagsParams {\n memoryId: string;\n userId: string;\n maxSuggestions?: number;\n includeExistingTags?: boolean;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface FindRelatedParams {\n memoryId: string;\n userId: string;\n limit?: number;\n similarityThreshold?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface DetectDuplicatesParams {\n userId: string;\n similarityThreshold?: number;\n maxPairs?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface ExtractInsightsParams {\n userId: string;\n topic?: string;\n memoryType?: MemoryTypeValue;\n maxMemories?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface HealthCheckParams {\n userId: string;\n responseFormat?: ResponseFormatType;\n}\n\n// Tool result interfaces\nexport interface PatternAnalysis {\n total_memories: number;\n memories_by_type: Record<string, number>;\n memories_by_day_of_week: Record<string, number>;\n peak_creation_hours: number[];\n average_content_length: number;\n most_common_tags: Array<{ tag: string; count: number }>;\n creation_velocity: {\n daily_average: number;\n trend: \"increasing\" | \"stable\" | \"decreasing\";\n };\n insights: string[];\n}\n\nexport interface TagSuggestion {\n tag: string;\n confidence: number;\n reasoning: string;\n}\n\nexport interface TagSuggestionsResult {\n memory_id: string;\n existing_tags: string[];\n suggestions: TagSuggestion[];\n context: {\n memory_type: string;\n related_memories_analyzed: number;\n };\n}\n\nexport interface RelatedMemory {\n id: string;\n title: string;\n type: string;\n similarity_score: number;\n shared_tags: string[];\n content_preview: string;\n}\n\nexport interface RelatedMemoriesResult {\n source_memory: {\n id: string;\n title: string;\n type: string;\n };\n related_memories: RelatedMemory[];\n total_found: number;\n}\n\nexport interface DuplicatePair {\n memory_1: {\n id: string;\n title: string;\n created_at: string;\n };\n memory_2: {\n id: string;\n title: string;\n created_at: string;\n };\n similarity_score: number;\n recommendation: \"keep_newer\" | \"keep_older\" | \"merge\" | \"review_manually\";\n reasoning: string;\n}\n\nexport interface DuplicatesResult {\n total_memories_analyzed: number;\n duplicate_pairs_found: number;\n duplicate_pairs: DuplicatePair[];\n estimated_storage_savings: string;\n}\n\nexport interface Insight {\n category: \"pattern\" | \"learning\" | \"opportunity\" | \"risk\" | \"action_item\";\n title: string;\n description: string;\n confidence: number;\n supporting_memories: string[];\n}\n\nexport interface InsightsResult {\n total_memories_analyzed: number;\n insights: Insight[];\n summary: string;\n topic_filter?: string;\n type_filter?: string;\n}\n\nexport interface MemoryHealth {\n user_id: string;\n health_score: number;\n metrics: {\n total_memories: number;\n memories_with_embeddings: number;\n embedding_coverage_percentage: number;\n memories_with_tags: number;\n tagging_percentage: number;\n average_tags_per_memory: number;\n memories_by_type: Record<string, number>;\n };\n issues: string[];\n recommendations: string[];\n analysis_date: string;\n}\n\n// Memory entry interface (from database)\nexport interface MemoryEntry {\n id: string;\n user_id: string;\n title: string;\n content: string;\n type: MemoryTypeValue;\n tags?: string[];\n metadata?: Record<string, any>;\n embedding?: number[];\n created_at: string;\n updated_at: string;\n}\n\n// Query options for internal use\nexport interface QueryMemoriesOptions {\n type?: string;\n limit?: number;\n offset?: number;\n includeEmbeddings?: boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/core/errors.ts","../../src/utils/response-adapter.ts","../../src/utils/http-client.ts","../../src/core/client.ts","../../src/react/context/MemoryIntelligenceProvider.tsx","../../src/react/hooks/useMemoryIntelligence.ts","../../src/core/types.ts"],"names":["createContext","React","jsx","useContext","useQuery","z"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * SDK-specific error classes\n */\n\nexport class MemoryIntelligenceError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"MemoryIntelligenceError\";\n }\n}\n\nexport class ConfigurationError extends MemoryIntelligenceError {\n constructor(message: string) {\n super(message);\n this.name = \"ConfigurationError\";\n }\n}\n\nexport class MemoryNotFoundError extends MemoryIntelligenceError {\n constructor(memoryId: string) {\n super(`Memory not found: ${memoryId}`);\n this.name = \"MemoryNotFoundError\";\n }\n}\n\nexport class DatabaseError extends MemoryIntelligenceError {\n constructor(message: string, public originalError?: Error) {\n super(message);\n this.name = \"DatabaseError\";\n }\n}\n\nexport class EmbeddingError extends MemoryIntelligenceError {\n constructor(message: string, public originalError?: Error) {\n super(message);\n this.name = \"EmbeddingError\";\n }\n}\n\nexport class ValidationError extends MemoryIntelligenceError {\n constructor(message: string) {\n super(message);\n this.name = \"ValidationError\";\n }\n}\n","/**\n * Response Adapter for Edge Function envelope format\n * Handles the transition between direct API responses and Edge Function wrapped responses\n */\n\nimport { EdgeFunctionResponse } from \"../core/types.js\";\nimport { ApiResponse } from \"./http-client.js\";\n\nexport interface UsageInfo {\n tokens_used: number;\n cost_usd: number;\n cached: boolean;\n}\n\nexport interface TierInfo {\n tier: string;\n usage_remaining: number;\n}\n\nexport interface UnwrappedResponse<T> {\n data?: T;\n error?: {\n message: string;\n code?: string;\n };\n usage?: UsageInfo;\n tier_info?: TierInfo;\n status: number;\n}\n\n/**\n * Adapts Edge Function envelope response to SDK internal format\n * Edge Functions return: { success, data, error, usage, tier_info }\n * SDK expects: { data, error, status }\n */\nexport function adaptEdgeFunctionResponse<T>(\n httpResponse: ApiResponse<EdgeFunctionResponse<T>>\n): UnwrappedResponse<T> {\n // If HTTP request itself failed\n if (httpResponse.error) {\n return {\n status: httpResponse.status,\n error: httpResponse.error,\n };\n }\n\n const envelope = httpResponse.data;\n\n // If no envelope data (shouldn't happen)\n if (!envelope) {\n return {\n status: httpResponse.status,\n error: {\n message: \"Empty response from server\",\n code: \"EMPTY_RESPONSE\",\n },\n };\n }\n\n // If Edge Function returned an error\n if (!envelope.success && envelope.error) {\n return {\n status: httpResponse.status,\n error: envelope.error,\n usage: envelope.usage,\n tier_info: envelope.tier_info,\n };\n }\n\n // Successful response\n return {\n status: httpResponse.status,\n data: envelope.data,\n usage: envelope.usage,\n tier_info: envelope.tier_info,\n };\n}\n\n/**\n * Checks if a response appears to be an Edge Function envelope\n */\nexport function isEdgeFunctionEnvelope(data: unknown): data is EdgeFunctionResponse<unknown> {\n if (typeof data !== \"object\" || data === null) {\n return false;\n }\n\n const obj = data as Record<string, unknown>;\n return \"success\" in obj && typeof obj.success === \"boolean\";\n}\n\n/**\n * Smart adapter that detects response format and adapts accordingly\n * Supports both direct API responses and Edge Function envelopes\n */\nexport function adaptResponse<T>(\n httpResponse: ApiResponse<T | EdgeFunctionResponse<T>>\n): UnwrappedResponse<T> {\n // If HTTP request itself failed\n if (httpResponse.error) {\n return {\n status: httpResponse.status,\n error: httpResponse.error,\n };\n }\n\n const responseData = httpResponse.data;\n\n // Check if it's an Edge Function envelope\n if (isEdgeFunctionEnvelope(responseData)) {\n return adaptEdgeFunctionResponse({\n status: httpResponse.status,\n data: responseData as EdgeFunctionResponse<T>,\n });\n }\n\n // Direct API response (legacy format)\n return {\n status: httpResponse.status,\n data: responseData as T,\n };\n}\n\n/**\n * Cache entry for offline fallback support\n */\nexport interface CacheEntry<T> {\n data: T;\n timestamp: number;\n endpoint: string;\n params?: Record<string, unknown>;\n}\n\n/**\n * Simple in-memory cache for offline fallback\n */\nexport class ResponseCache {\n private cache: Map<string, CacheEntry<unknown>> = new Map();\n private ttl: number;\n\n constructor(ttlMs: number = 300000) { // Default 5 minutes\n this.ttl = ttlMs;\n }\n\n private generateKey(endpoint: string, params?: Record<string, unknown>): string {\n const paramStr = params ? JSON.stringify(params) : \"\";\n return `${endpoint}:${paramStr}`;\n }\n\n set<T>(endpoint: string, data: T, params?: Record<string, unknown>): void {\n const key = this.generateKey(endpoint, params);\n this.cache.set(key, {\n data,\n timestamp: Date.now(),\n endpoint,\n params,\n });\n }\n\n get<T>(endpoint: string, params?: Record<string, unknown>): T | null {\n const key = this.generateKey(endpoint, params);\n const entry = this.cache.get(key);\n\n if (!entry) {\n return null;\n }\n\n // Check if expired\n if (Date.now() - entry.timestamp > this.ttl) {\n this.cache.delete(key);\n return null;\n }\n\n return entry.data as T;\n }\n\n clear(): void {\n this.cache.clear();\n }\n\n /**\n * Clean up expired entries\n */\n cleanup(): void {\n const now = Date.now();\n for (const [key, entry] of this.cache.entries()) {\n if (now - entry.timestamp > this.ttl) {\n this.cache.delete(key);\n }\n }\n }\n}\n","/**\n * HTTP client for Lanonasis API\n * Supports Edge Function envelope format with caching for offline fallback\n */\n\nimport { ConfigurationError } from \"../core/errors.js\";\nimport { EdgeFunctionResponse, ProcessingMode } from \"../core/types.js\";\nimport { adaptResponse, ResponseCache, UsageInfo, TierInfo } from \"./response-adapter.js\";\n\nexport interface HttpClientConfig {\n apiUrl: string;\n apiKey: string;\n timeout?: number;\n headers?: Record<string, string>;\n processingMode?: ProcessingMode;\n enableCache?: boolean;\n cacheTTL?: number;\n}\n\nexport interface ApiResponse<T = any> {\n data?: T;\n error?: {\n message: string;\n code?: string;\n };\n status: number;\n}\n\nexport interface EnhancedApiResponse<T = any> extends ApiResponse<T> {\n usage?: UsageInfo;\n tier_info?: TierInfo;\n fromCache?: boolean;\n}\n\nexport class HttpClient {\n private apiUrl: string;\n private apiKey: string;\n private timeout: number;\n private headers: Record<string, string>;\n private processingMode: ProcessingMode;\n private cache: ResponseCache | null;\n\n constructor(config: HttpClientConfig) {\n if (!config.apiKey) {\n throw new ConfigurationError(\"API key is required\");\n }\n\n if (!config.apiKey.startsWith(\"lano_\")) {\n throw new ConfigurationError(\n \"Invalid API key format. API key should start with 'lano_'\"\n );\n }\n\n this.apiUrl = config.apiUrl.replace(/\\/$/, \"\"); // Remove trailing slash\n this.apiKey = config.apiKey;\n this.timeout = config.timeout || 30000;\n this.processingMode = config.processingMode || \"api\";\n this.headers = {\n \"Content-Type\": \"application/json\",\n \"X-API-Key\": this.apiKey,\n ...config.headers,\n };\n\n // Initialize cache for offline-fallback mode\n if (config.enableCache !== false && this.processingMode === \"offline-fallback\") {\n this.cache = new ResponseCache(config.cacheTTL || 300000);\n } else {\n this.cache = null;\n }\n }\n\n /**\n * Get the current processing mode\n */\n getProcessingMode(): ProcessingMode {\n return this.processingMode;\n }\n\n /**\n * Check if cache is enabled\n */\n isCacheEnabled(): boolean {\n return this.cache !== null;\n }\n\n /**\n * Clear the response cache\n */\n clearCache(): void {\n this.cache?.clear();\n }\n\n private async request<T>(\n method: string,\n endpoint: string,\n data?: any\n ): Promise<ApiResponse<T>> {\n const url = `${this.apiUrl}${endpoint}`;\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeout);\n\n try {\n const options: RequestInit = {\n method,\n headers: this.headers,\n signal: controller.signal,\n };\n\n if (data && (method === \"POST\" || method === \"PUT\" || method === \"PATCH\")) {\n options.body = JSON.stringify(data);\n }\n\n const response = await fetch(url, options);\n clearTimeout(timeoutId);\n\n const responseData = await response.json() as any;\n\n if (!response.ok) {\n return {\n status: response.status,\n error: {\n message: responseData?.message || responseData?.error || \"Request failed\",\n code: responseData?.code,\n },\n };\n }\n\n return {\n status: response.status,\n data: responseData as T,\n };\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n return {\n status: 408,\n error: {\n message: `Request timeout after ${this.timeout}ms`,\n code: \"TIMEOUT\",\n },\n };\n }\n\n return {\n status: 0,\n error: {\n message: error.message,\n code: \"NETWORK_ERROR\",\n },\n };\n }\n\n return {\n status: 0,\n error: {\n message: \"Unknown error occurred\",\n code: \"UNKNOWN_ERROR\",\n },\n };\n }\n }\n\n /**\n * Enhanced request that handles Edge Function envelope format\n * and supports offline-fallback caching\n */\n private async enhancedRequest<T>(\n method: string,\n endpoint: string,\n data?: any\n ): Promise<EnhancedApiResponse<T>> {\n const cacheKey = data ? JSON.stringify(data) : undefined;\n\n // Try API request first\n const rawResponse = await this.request<EdgeFunctionResponse<T> | T>(method, endpoint, data);\n\n // Handle network errors with offline fallback\n if (rawResponse.error?.code === \"NETWORK_ERROR\" || rawResponse.error?.code === \"TIMEOUT\") {\n if (this.processingMode === \"offline-fallback\" && this.cache) {\n const cached = this.cache.get<T>(endpoint, cacheKey ? JSON.parse(cacheKey) : undefined);\n if (cached) {\n return {\n status: 200,\n data: cached,\n fromCache: true,\n };\n }\n }\n // No cache available, return original error\n return {\n status: rawResponse.status,\n error: rawResponse.error,\n fromCache: false,\n };\n }\n\n // Adapt response (handles both direct and envelope formats)\n const adapted = adaptResponse<T>(rawResponse);\n\n // Cache successful responses for offline fallback\n if (!adapted.error && adapted.data && this.cache) {\n this.cache.set(endpoint, adapted.data, cacheKey ? JSON.parse(cacheKey) : undefined);\n }\n\n return {\n status: adapted.status,\n data: adapted.data,\n error: adapted.error,\n usage: adapted.usage,\n tier_info: adapted.tier_info,\n fromCache: false,\n };\n }\n\n async get<T>(endpoint: string): Promise<ApiResponse<T>> {\n return this.request<T>(\"GET\", endpoint);\n }\n\n async post<T>(endpoint: string, data?: any): Promise<ApiResponse<T>> {\n return this.request<T>(\"POST\", endpoint, data);\n }\n\n async put<T>(endpoint: string, data?: any): Promise<ApiResponse<T>> {\n return this.request<T>(\"PUT\", endpoint, data);\n }\n\n async patch<T>(endpoint: string, data?: any): Promise<ApiResponse<T>> {\n return this.request<T>(\"PATCH\", endpoint, data);\n }\n\n async delete<T>(endpoint: string): Promise<ApiResponse<T>> {\n return this.request<T>(\"DELETE\", endpoint);\n }\n\n // Enhanced methods with Edge Function envelope support\n\n async getEnhanced<T>(endpoint: string): Promise<EnhancedApiResponse<T>> {\n return this.enhancedRequest<T>(\"GET\", endpoint);\n }\n\n async postEnhanced<T>(endpoint: string, data?: any): Promise<EnhancedApiResponse<T>> {\n return this.enhancedRequest<T>(\"POST\", endpoint, data);\n }\n\n async putEnhanced<T>(endpoint: string, data?: any): Promise<EnhancedApiResponse<T>> {\n return this.enhancedRequest<T>(\"PUT\", endpoint, data);\n }\n\n async patchEnhanced<T>(endpoint: string, data?: any): Promise<EnhancedApiResponse<T>> {\n return this.enhancedRequest<T>(\"PATCH\", endpoint, data);\n }\n\n async deleteEnhanced<T>(endpoint: string): Promise<EnhancedApiResponse<T>> {\n return this.enhancedRequest<T>(\"DELETE\", endpoint);\n }\n}\n","/**\n * Core Memory Intelligence Client\n * Supports API-first with offline-fallback capability\n */\n\nimport {\n MemoryIntelligenceConfig,\n AnalyzePatternsParams,\n PatternAnalysis,\n SuggestTagsParams,\n TagSuggestionsResult,\n FindRelatedParams,\n RelatedMemoriesResult,\n DetectDuplicatesParams,\n DuplicatesResult,\n ExtractInsightsParams,\n InsightsResult,\n HealthCheckParams,\n MemoryHealth,\n QueryMemoriesOptions,\n MemoryEntry,\n ProcessingMode,\n} from \"./types.js\";\nimport { ConfigurationError, DatabaseError } from \"./errors.js\";\nimport { HttpClient } from \"../utils/http-client.js\";\nimport { UsageInfo, TierInfo } from \"../utils/response-adapter.js\";\n\nconst DEFAULT_API_URL = \"https://api.lanonasis.com/api/v1\";\n\nexport interface IntelligenceResponse<T> {\n data: T;\n usage?: UsageInfo;\n tier_info?: TierInfo;\n fromCache?: boolean;\n}\n\nexport class MemoryIntelligenceClient {\n private httpClient: HttpClient;\n private defaultResponseFormat: \"json\" | \"markdown\";\n private processingMode: ProcessingMode;\n\n constructor(config: MemoryIntelligenceConfig) {\n // Validate configuration\n if (!config.apiKey) {\n throw new ConfigurationError(\n \"Missing required configuration: apiKey is required (format: lano_xxxxxxxxxx)\"\n );\n }\n\n this.processingMode = config.processingMode || \"api\";\n\n this.httpClient = new HttpClient({\n apiUrl: config.apiUrl || DEFAULT_API_URL,\n apiKey: config.apiKey,\n timeout: config.timeout,\n headers: config.headers,\n processingMode: this.processingMode,\n enableCache: config.enableCache,\n cacheTTL: config.cacheTTL,\n });\n\n this.defaultResponseFormat = config.responseFormat || \"markdown\";\n }\n\n /**\n * Get the current processing mode\n */\n getProcessingMode(): ProcessingMode {\n return this.processingMode;\n }\n\n /**\n * Check if cache is enabled (for offline-fallback mode)\n */\n isCacheEnabled(): boolean {\n return this.httpClient.isCacheEnabled();\n }\n\n /**\n * Clear the response cache\n */\n clearCache(): void {\n this.httpClient.clearCache();\n }\n\n /**\n * Get HTTP client for direct API access\n */\n public getHttpClient(): HttpClient {\n return this.httpClient;\n }\n\n /**\n * Query memories from the API\n */\n public async queryMemories(\n userId: string,\n options: QueryMemoriesOptions = {}\n ): Promise<MemoryEntry[]> {\n const { type, limit = 100, offset = 0 } = options;\n\n const params = new URLSearchParams({\n user_id: userId,\n limit: limit.toString(),\n offset: offset.toString(),\n });\n\n if (type) {\n params.append(\"type\", type);\n }\n\n const response = await this.httpClient.get<{ memories: MemoryEntry[] }>(\n `/intelligence/memories?${params.toString()}`\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to query memories: ${response.error.message}`);\n }\n\n return response.data?.memories || [];\n }\n\n /**\n * Analyze usage patterns and trends in memory collection\n */\n async analyzePatterns(params: AnalyzePatternsParams): Promise<IntelligenceResponse<PatternAnalysis>> {\n const response = await this.httpClient.postEnhanced<PatternAnalysis>(\n \"/intelligence/analyze-patterns\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to analyze patterns: ${response.error.message}`);\n }\n\n return {\n data: response.data!,\n usage: response.usage,\n tier_info: response.tier_info,\n fromCache: response.fromCache,\n };\n }\n\n /**\n * Get AI-powered tag suggestions for a memory\n */\n async suggestTags(params: SuggestTagsParams): Promise<IntelligenceResponse<TagSuggestionsResult>> {\n const response = await this.httpClient.postEnhanced<TagSuggestionsResult>(\n \"/intelligence/suggest-tags\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to suggest tags: ${response.error.message}`);\n }\n\n return {\n data: response.data!,\n usage: response.usage,\n tier_info: response.tier_info,\n fromCache: response.fromCache,\n };\n }\n\n /**\n * Find semantically related memories using vector similarity\n */\n async findRelated(params: FindRelatedParams): Promise<IntelligenceResponse<RelatedMemoriesResult>> {\n const response = await this.httpClient.postEnhanced<RelatedMemoriesResult>(\n \"/intelligence/find-related\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to find related memories: ${response.error.message}`);\n }\n\n return {\n data: response.data!,\n usage: response.usage,\n tier_info: response.tier_info,\n fromCache: response.fromCache,\n };\n }\n\n /**\n * Detect potential duplicate memories\n */\n async detectDuplicates(params: DetectDuplicatesParams): Promise<IntelligenceResponse<DuplicatesResult>> {\n const response = await this.httpClient.postEnhanced<DuplicatesResult>(\n \"/intelligence/detect-duplicates\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to detect duplicates: ${response.error.message}`);\n }\n\n return {\n data: response.data!,\n usage: response.usage,\n tier_info: response.tier_info,\n fromCache: response.fromCache,\n };\n }\n\n /**\n * Extract insights and patterns from memories\n */\n async extractInsights(params: ExtractInsightsParams): Promise<IntelligenceResponse<InsightsResult>> {\n const response = await this.httpClient.postEnhanced<InsightsResult>(\n \"/intelligence/extract-insights\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to extract insights: ${response.error.message}`);\n }\n\n return {\n data: response.data!,\n usage: response.usage,\n tier_info: response.tier_info,\n fromCache: response.fromCache,\n };\n }\n\n /**\n * Check the health and organization quality of memories\n */\n async healthCheck(params: HealthCheckParams): Promise<IntelligenceResponse<MemoryHealth>> {\n const response = await this.httpClient.postEnhanced<MemoryHealth>(\n \"/intelligence/health-check\",\n {\n ...params,\n responseFormat: params.responseFormat || this.defaultResponseFormat,\n }\n );\n\n if (response.error) {\n throw new DatabaseError(`Failed to check health: ${response.error.message}`);\n }\n\n return {\n data: response.data!,\n usage: response.usage,\n tier_info: response.tier_info,\n fromCache: response.fromCache,\n };\n }\n}\n","/**\n * React Context Provider for Memory Intelligence\n */\n\nimport React, { createContext, useContext, ReactNode } from \"react\";\nimport { MemoryIntelligenceClient } from \"../../core/client.js\";\nimport { MemoryIntelligenceConfig } from \"../../core/types.js\";\n\ninterface MemoryIntelligenceContextValue {\n client: MemoryIntelligenceClient;\n}\n\nconst MemoryIntelligenceContext =\n createContext<MemoryIntelligenceContextValue | null>(null);\n\ninterface MemoryIntelligenceProviderProps {\n config: MemoryIntelligenceConfig;\n children: ReactNode;\n}\n\nexport function MemoryIntelligenceProvider({\n config,\n children,\n}: MemoryIntelligenceProviderProps) {\n const [client] = React.useState(() => new MemoryIntelligenceClient(config));\n\n return (\n <MemoryIntelligenceContext.Provider value={{ client }}>\n {children}\n </MemoryIntelligenceContext.Provider>\n );\n}\n\nexport function useMemoryIntelligenceContext() {\n const context = useContext(MemoryIntelligenceContext);\n if (!context) {\n throw new Error(\n \"useMemoryIntelligenceContext must be used within MemoryIntelligenceProvider\"\n );\n }\n return context;\n}\n\nexport { MemoryIntelligenceContext };\n","/**\n * React hooks for Memory Intelligence using React Query\n */\n\nimport { useQuery, useMutation, UseQueryOptions, UseMutationOptions } from \"@tanstack/react-query\";\nimport { useMemoryIntelligenceContext } from \"../context/MemoryIntelligenceProvider.js\";\nimport {\n PatternAnalysis,\n TagSuggestionsResult,\n RelatedMemoriesResult,\n DuplicatesResult,\n InsightsResult,\n MemoryHealth,\n AnalyzePatternsParams,\n SuggestTagsParams,\n FindRelatedParams,\n DetectDuplicatesParams,\n ExtractInsightsParams,\n HealthCheckParams,\n} from \"../../core/types.js\";\nimport type { IntelligenceResponse } from \"../../core/client.js\";\n\n/**\n * Get the Memory Intelligence client from context\n */\nexport function useMemoryIntelligence() {\n const { client } = useMemoryIntelligenceContext();\n return client;\n}\n\n/**\n * Hook for analyzing memory patterns\n *\n * @example\n * ```tsx\n * const { data, isLoading, error } = usePatternAnalysis({\n * userId: \"user-123\",\n * timeRangeDays: 30,\n * responseFormat: \"json\"\n * });\n * ```\n */\nexport function usePatternAnalysis(\n params: AnalyzePatternsParams,\n options?: Omit<UseQueryOptions<IntelligenceResponse<PatternAnalysis>>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<IntelligenceResponse<PatternAnalysis>>({\n queryKey: [\"memory-intelligence\", \"analyze-patterns\", params],\n queryFn: () => client.analyzePatterns(params),\n ...options,\n });\n}\n\n/**\n * Hook for getting tag suggestions\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useTagSuggestions({\n * memoryId: \"mem-123\",\n * userId: \"user-123\",\n * maxSuggestions: 5\n * });\n * ```\n */\nexport function useTagSuggestions(\n params: SuggestTagsParams,\n options?: Omit<UseQueryOptions<IntelligenceResponse<TagSuggestionsResult>>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<IntelligenceResponse<TagSuggestionsResult>>({\n queryKey: [\"memory-intelligence\", \"suggest-tags\", params],\n queryFn: () => client.suggestTags(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for getting tag suggestions (if you need manual trigger)\n *\n * @example\n * ```tsx\n * const { mutate, data, isPending } = useTagSuggestionsMutation();\n *\n * // Later...\n * mutate({\n * memoryId: \"mem-123\",\n * userId: \"user-123\"\n * });\n * ```\n */\nexport function useTagSuggestionsMutation(\n options?: UseMutationOptions<IntelligenceResponse<TagSuggestionsResult>, Error, SuggestTagsParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<IntelligenceResponse<TagSuggestionsResult>, Error, SuggestTagsParams>({\n mutationFn: (params) => client.suggestTags(params),\n ...options,\n });\n}\n\n/**\n * Hook for finding related memories\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useRelatedMemories({\n * memoryId: \"mem-123\",\n * userId: \"user-123\",\n * limit: 10,\n * similarityThreshold: 0.7\n * });\n * ```\n */\nexport function useRelatedMemories(\n params: FindRelatedParams,\n options?: Omit<UseQueryOptions<IntelligenceResponse<RelatedMemoriesResult>>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<IntelligenceResponse<RelatedMemoriesResult>>({\n queryKey: [\"memory-intelligence\", \"find-related\", params],\n queryFn: () => client.findRelated(params),\n ...options,\n });\n}\n\n/**\n * Hook for detecting duplicate memories\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useDuplicateDetection({\n * userId: \"user-123\",\n * similarityThreshold: 0.9,\n * maxPairs: 20\n * });\n * ```\n */\nexport function useDuplicateDetection(\n params: DetectDuplicatesParams,\n options?: Omit<UseQueryOptions<IntelligenceResponse<DuplicatesResult>>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<IntelligenceResponse<DuplicatesResult>>({\n queryKey: [\"memory-intelligence\", \"detect-duplicates\", params],\n queryFn: () => client.detectDuplicates(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for duplicate detection (if you need manual trigger)\n */\nexport function useDuplicateDetectionMutation(\n options?: UseMutationOptions<IntelligenceResponse<DuplicatesResult>, Error, DetectDuplicatesParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<IntelligenceResponse<DuplicatesResult>, Error, DetectDuplicatesParams>({\n mutationFn: (params) => client.detectDuplicates(params),\n ...options,\n });\n}\n\n/**\n * Hook for extracting insights\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useInsightExtraction({\n * userId: \"user-123\",\n * topic: \"machine learning\",\n * maxMemories: 20\n * });\n * ```\n */\nexport function useInsightExtraction(\n params: ExtractInsightsParams,\n options?: Omit<UseQueryOptions<IntelligenceResponse<InsightsResult>>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<IntelligenceResponse<InsightsResult>>({\n queryKey: [\"memory-intelligence\", \"extract-insights\", params],\n queryFn: () => client.extractInsights(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for insight extraction (if you need manual trigger)\n */\nexport function useInsightExtractionMutation(\n options?: UseMutationOptions<IntelligenceResponse<InsightsResult>, Error, ExtractInsightsParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<IntelligenceResponse<InsightsResult>, Error, ExtractInsightsParams>({\n mutationFn: (params) => client.extractInsights(params),\n ...options,\n });\n}\n\n/**\n * Hook for checking memory health\n *\n * @example\n * ```tsx\n * const { data, isLoading } = useHealthCheck({\n * userId: \"user-123\",\n * responseFormat: \"json\"\n * });\n * ```\n */\nexport function useHealthCheck(\n params: HealthCheckParams,\n options?: Omit<UseQueryOptions<IntelligenceResponse<MemoryHealth>>, \"queryKey\" | \"queryFn\">\n) {\n const client = useMemoryIntelligence();\n\n return useQuery<IntelligenceResponse<MemoryHealth>>({\n queryKey: [\"memory-intelligence\", \"health-check\", params],\n queryFn: () => client.healthCheck(params),\n ...options,\n });\n}\n\n/**\n * Mutation hook for health check (if you need manual trigger)\n */\nexport function useHealthCheckMutation(\n options?: UseMutationOptions<IntelligenceResponse<MemoryHealth>, Error, HealthCheckParams>\n) {\n const client = useMemoryIntelligence();\n\n return useMutation<IntelligenceResponse<MemoryHealth>, Error, HealthCheckParams>({\n mutationFn: (params) => client.healthCheck(params),\n ...options,\n });\n}\n","/**\n * Type definitions for Memory Intelligence SDK\n */\n\nimport { z } from \"zod\";\n\n// Response format enum\nexport const ResponseFormat = {\n JSON: \"json\",\n MARKDOWN: \"markdown\",\n} as const;\n\nexport type ResponseFormatType = (typeof ResponseFormat)[keyof typeof ResponseFormat];\n\n// Memory type enum\nexport const MemoryType = z.enum([\n \"context\",\n \"project\",\n \"knowledge\",\n \"reference\",\n \"personal\",\n \"workflow\",\n]);\n\nexport type MemoryTypeValue = z.infer<typeof MemoryType>;\n\n// Processing mode for SDK operations\nexport type ProcessingMode = 'api' | 'offline-fallback';\n\n// Configuration interface\nexport interface MemoryIntelligenceConfig {\n apiUrl?: string; // Lanonasis API URL (default: https://api.lanonasis.com/api/v1)\n apiKey: string; // Lanonasis API key (format: lano_xxxxxxxxxx)\n timeout?: number; // Request timeout in milliseconds (default: 30000)\n responseFormat?: ResponseFormatType;\n headers?: Record<string, string>; // Custom headers\n\n /**\n * Processing mode for intelligence operations\n * - 'api': Always use Lanonasis API endpoints (default)\n * - 'offline-fallback': Use API, fall back to cached/local data if unreachable\n * @default 'api'\n */\n processingMode?: ProcessingMode;\n\n /**\n * Enable caching of API responses for offline fallback\n * Only used when processingMode is 'offline-fallback'\n * @default true\n */\n enableCache?: boolean;\n\n /**\n * Cache TTL in milliseconds (default: 5 minutes)\n * @default 300000\n */\n cacheTTL?: number;\n}\n\n// API response wrapper from Edge Functions\nexport interface EdgeFunctionResponse<T> {\n success: boolean;\n data?: T;\n error?: {\n message: string;\n code?: string;\n };\n usage?: {\n tokens_used: number;\n cost_usd: number;\n cached: boolean;\n };\n tier_info?: {\n tier: string;\n usage_remaining: number;\n };\n}\n\n// Tool parameter interfaces\nexport interface AnalyzePatternsParams {\n userId: string;\n timeRangeDays?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface SuggestTagsParams {\n memoryId: string;\n userId: string;\n maxSuggestions?: number;\n includeExistingTags?: boolean;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface FindRelatedParams {\n memoryId: string;\n userId: string;\n limit?: number;\n similarityThreshold?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface DetectDuplicatesParams {\n userId: string;\n similarityThreshold?: number;\n maxPairs?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface ExtractInsightsParams {\n userId: string;\n topic?: string;\n memoryType?: MemoryTypeValue;\n maxMemories?: number;\n responseFormat?: ResponseFormatType;\n}\n\nexport interface HealthCheckParams {\n userId: string;\n responseFormat?: ResponseFormatType;\n}\n\n// Tool result interfaces\nexport interface PatternAnalysis {\n total_memories: number;\n memories_by_type: Record<string, number>;\n memories_by_day_of_week: Record<string, number>;\n peak_creation_hours: number[];\n average_content_length: number;\n most_common_tags: Array<{ tag: string; count: number }>;\n creation_velocity: {\n daily_average: number;\n trend: \"increasing\" | \"stable\" | \"decreasing\";\n };\n insights: string[];\n}\n\nexport interface TagSuggestion {\n tag: string;\n confidence: number;\n reasoning: string;\n}\n\nexport interface TagSuggestionsResult {\n memory_id: string;\n existing_tags: string[];\n suggestions: TagSuggestion[];\n context: {\n memory_type: string;\n related_memories_analyzed: number;\n };\n}\n\nexport interface RelatedMemory {\n id: string;\n title: string;\n type: string;\n similarity_score: number;\n shared_tags: string[];\n content_preview: string;\n}\n\nexport interface RelatedMemoriesResult {\n source_memory: {\n id: string;\n title: string;\n type: string;\n };\n related_memories: RelatedMemory[];\n total_found: number;\n}\n\nexport interface DuplicatePair {\n memory_1: {\n id: string;\n title: string;\n created_at: string;\n };\n memory_2: {\n id: string;\n title: string;\n created_at: string;\n };\n similarity_score: number;\n recommendation: \"keep_newer\" | \"keep_older\" | \"merge\" | \"review_manually\";\n reasoning: string;\n}\n\nexport interface DuplicatesResult {\n total_memories_analyzed: number;\n duplicate_pairs_found: number;\n duplicate_pairs: DuplicatePair[];\n estimated_storage_savings: string;\n}\n\nexport interface Insight {\n category: \"pattern\" | \"learning\" | \"opportunity\" | \"risk\" | \"action_item\";\n title: string;\n description: string;\n confidence: number;\n supporting_memories: string[];\n}\n\nexport interface InsightsResult {\n total_memories_analyzed: number;\n insights: Insight[];\n summary: string;\n topic_filter?: string;\n type_filter?: string;\n}\n\nexport interface MemoryHealth {\n user_id: string;\n health_score: number;\n metrics: {\n total_memories: number;\n memories_with_embeddings: number;\n embedding_coverage_percentage: number;\n memories_with_tags: number;\n tagging_percentage: number;\n average_tags_per_memory: number;\n memories_by_type: Record<string, number>;\n };\n issues: string[];\n recommendations: string[];\n analysis_date: string;\n}\n\n// Memory entry interface (from database)\nexport interface MemoryEntry {\n id: string;\n user_id: string;\n title: string;\n content: string;\n type: MemoryTypeValue;\n tags?: string[];\n metadata?: Record<string, any>;\n embedding?: number[];\n created_at: string;\n updated_at: string;\n}\n\n// Query options for internal use\nexport interface QueryMemoriesOptions {\n type?: string;\n limit?: number;\n offset?: number;\n includeEmbeddings?: boolean;\n}\n"]}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* React entry point
|
|
3
3
|
*/
|
|
4
|
-
export { MemoryIntelligenceProvider, useMemoryIntelligenceContext } from "./context/MemoryIntelligenceProvider";
|
|
5
|
-
export { useMemoryIntelligence, usePatternAnalysis, useTagSuggestions, useRelatedMemories, useDuplicateDetection, useInsightExtraction, useHealthCheck, } from "./hooks/useMemoryIntelligence";
|
|
6
|
-
export * from "../core/types";
|
|
7
|
-
export * from "../core/errors";
|
|
4
|
+
export { MemoryIntelligenceProvider, useMemoryIntelligenceContext } from "./context/MemoryIntelligenceProvider.js";
|
|
5
|
+
export { useMemoryIntelligence, usePatternAnalysis, useTagSuggestions, useRelatedMemories, useDuplicateDetection, useInsightExtraction, useHealthCheck, } from "./hooks/useMemoryIntelligence.js";
|
|
6
|
+
export * from "../core/types.js";
|
|
7
|
+
export * from "../core/errors.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AACnH,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,GACf,MAAM,kCAAkC,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
package/dist/react/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { createContext, useContext } from 'react';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
3
|
import { useQuery } from '@tanstack/react-query';
|
|
3
4
|
import { z } from 'zod';
|
|
4
5
|
|
|
@@ -44,12 +45,120 @@ var ValidationError = class extends MemoryIntelligenceError {
|
|
|
44
45
|
}
|
|
45
46
|
};
|
|
46
47
|
|
|
48
|
+
// src/utils/response-adapter.ts
|
|
49
|
+
function adaptEdgeFunctionResponse(httpResponse) {
|
|
50
|
+
if (httpResponse.error) {
|
|
51
|
+
return {
|
|
52
|
+
status: httpResponse.status,
|
|
53
|
+
error: httpResponse.error
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
const envelope = httpResponse.data;
|
|
57
|
+
if (!envelope) {
|
|
58
|
+
return {
|
|
59
|
+
status: httpResponse.status,
|
|
60
|
+
error: {
|
|
61
|
+
message: "Empty response from server",
|
|
62
|
+
code: "EMPTY_RESPONSE"
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (!envelope.success && envelope.error) {
|
|
67
|
+
return {
|
|
68
|
+
status: httpResponse.status,
|
|
69
|
+
error: envelope.error,
|
|
70
|
+
usage: envelope.usage,
|
|
71
|
+
tier_info: envelope.tier_info
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
status: httpResponse.status,
|
|
76
|
+
data: envelope.data,
|
|
77
|
+
usage: envelope.usage,
|
|
78
|
+
tier_info: envelope.tier_info
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function isEdgeFunctionEnvelope(data) {
|
|
82
|
+
if (typeof data !== "object" || data === null) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
const obj = data;
|
|
86
|
+
return "success" in obj && typeof obj.success === "boolean";
|
|
87
|
+
}
|
|
88
|
+
function adaptResponse(httpResponse) {
|
|
89
|
+
if (httpResponse.error) {
|
|
90
|
+
return {
|
|
91
|
+
status: httpResponse.status,
|
|
92
|
+
error: httpResponse.error
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
const responseData = httpResponse.data;
|
|
96
|
+
if (isEdgeFunctionEnvelope(responseData)) {
|
|
97
|
+
return adaptEdgeFunctionResponse({
|
|
98
|
+
status: httpResponse.status,
|
|
99
|
+
data: responseData
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
status: httpResponse.status,
|
|
104
|
+
data: responseData
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
var ResponseCache = class {
|
|
108
|
+
cache = /* @__PURE__ */ new Map();
|
|
109
|
+
ttl;
|
|
110
|
+
constructor(ttlMs = 3e5) {
|
|
111
|
+
this.ttl = ttlMs;
|
|
112
|
+
}
|
|
113
|
+
generateKey(endpoint, params) {
|
|
114
|
+
const paramStr = params ? JSON.stringify(params) : "";
|
|
115
|
+
return `${endpoint}:${paramStr}`;
|
|
116
|
+
}
|
|
117
|
+
set(endpoint, data, params) {
|
|
118
|
+
const key = this.generateKey(endpoint, params);
|
|
119
|
+
this.cache.set(key, {
|
|
120
|
+
data,
|
|
121
|
+
timestamp: Date.now(),
|
|
122
|
+
endpoint,
|
|
123
|
+
params
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
get(endpoint, params) {
|
|
127
|
+
const key = this.generateKey(endpoint, params);
|
|
128
|
+
const entry = this.cache.get(key);
|
|
129
|
+
if (!entry) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
if (Date.now() - entry.timestamp > this.ttl) {
|
|
133
|
+
this.cache.delete(key);
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
return entry.data;
|
|
137
|
+
}
|
|
138
|
+
clear() {
|
|
139
|
+
this.cache.clear();
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Clean up expired entries
|
|
143
|
+
*/
|
|
144
|
+
cleanup() {
|
|
145
|
+
const now = Date.now();
|
|
146
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
147
|
+
if (now - entry.timestamp > this.ttl) {
|
|
148
|
+
this.cache.delete(key);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
|
|
47
154
|
// src/utils/http-client.ts
|
|
48
155
|
var HttpClient = class {
|
|
49
156
|
apiUrl;
|
|
50
157
|
apiKey;
|
|
51
158
|
timeout;
|
|
52
159
|
headers;
|
|
160
|
+
processingMode;
|
|
161
|
+
cache;
|
|
53
162
|
constructor(config) {
|
|
54
163
|
if (!config.apiKey) {
|
|
55
164
|
throw new ConfigurationError("API key is required");
|
|
@@ -62,11 +171,35 @@ var HttpClient = class {
|
|
|
62
171
|
this.apiUrl = config.apiUrl.replace(/\/$/, "");
|
|
63
172
|
this.apiKey = config.apiKey;
|
|
64
173
|
this.timeout = config.timeout || 3e4;
|
|
174
|
+
this.processingMode = config.processingMode || "api";
|
|
65
175
|
this.headers = {
|
|
66
176
|
"Content-Type": "application/json",
|
|
67
177
|
"X-API-Key": this.apiKey,
|
|
68
178
|
...config.headers
|
|
69
179
|
};
|
|
180
|
+
if (config.enableCache !== false && this.processingMode === "offline-fallback") {
|
|
181
|
+
this.cache = new ResponseCache(config.cacheTTL || 3e5);
|
|
182
|
+
} else {
|
|
183
|
+
this.cache = null;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get the current processing mode
|
|
188
|
+
*/
|
|
189
|
+
getProcessingMode() {
|
|
190
|
+
return this.processingMode;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check if cache is enabled
|
|
194
|
+
*/
|
|
195
|
+
isCacheEnabled() {
|
|
196
|
+
return this.cache !== null;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Clear the response cache
|
|
200
|
+
*/
|
|
201
|
+
clearCache() {
|
|
202
|
+
this.cache?.clear();
|
|
70
203
|
}
|
|
71
204
|
async request(method, endpoint, data) {
|
|
72
205
|
const url = `${this.apiUrl}${endpoint}`;
|
|
@@ -126,6 +259,43 @@ var HttpClient = class {
|
|
|
126
259
|
};
|
|
127
260
|
}
|
|
128
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Enhanced request that handles Edge Function envelope format
|
|
264
|
+
* and supports offline-fallback caching
|
|
265
|
+
*/
|
|
266
|
+
async enhancedRequest(method, endpoint, data) {
|
|
267
|
+
const cacheKey = data ? JSON.stringify(data) : void 0;
|
|
268
|
+
const rawResponse = await this.request(method, endpoint, data);
|
|
269
|
+
if (rawResponse.error?.code === "NETWORK_ERROR" || rawResponse.error?.code === "TIMEOUT") {
|
|
270
|
+
if (this.processingMode === "offline-fallback" && this.cache) {
|
|
271
|
+
const cached = this.cache.get(endpoint, cacheKey ? JSON.parse(cacheKey) : void 0);
|
|
272
|
+
if (cached) {
|
|
273
|
+
return {
|
|
274
|
+
status: 200,
|
|
275
|
+
data: cached,
|
|
276
|
+
fromCache: true
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return {
|
|
281
|
+
status: rawResponse.status,
|
|
282
|
+
error: rawResponse.error,
|
|
283
|
+
fromCache: false
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
const adapted = adaptResponse(rawResponse);
|
|
287
|
+
if (!adapted.error && adapted.data && this.cache) {
|
|
288
|
+
this.cache.set(endpoint, adapted.data, cacheKey ? JSON.parse(cacheKey) : void 0);
|
|
289
|
+
}
|
|
290
|
+
return {
|
|
291
|
+
status: adapted.status,
|
|
292
|
+
data: adapted.data,
|
|
293
|
+
error: adapted.error,
|
|
294
|
+
usage: adapted.usage,
|
|
295
|
+
tier_info: adapted.tier_info,
|
|
296
|
+
fromCache: false
|
|
297
|
+
};
|
|
298
|
+
}
|
|
129
299
|
async get(endpoint) {
|
|
130
300
|
return this.request("GET", endpoint);
|
|
131
301
|
}
|
|
@@ -141,6 +311,22 @@ var HttpClient = class {
|
|
|
141
311
|
async delete(endpoint) {
|
|
142
312
|
return this.request("DELETE", endpoint);
|
|
143
313
|
}
|
|
314
|
+
// Enhanced methods with Edge Function envelope support
|
|
315
|
+
async getEnhanced(endpoint) {
|
|
316
|
+
return this.enhancedRequest("GET", endpoint);
|
|
317
|
+
}
|
|
318
|
+
async postEnhanced(endpoint, data) {
|
|
319
|
+
return this.enhancedRequest("POST", endpoint, data);
|
|
320
|
+
}
|
|
321
|
+
async putEnhanced(endpoint, data) {
|
|
322
|
+
return this.enhancedRequest("PUT", endpoint, data);
|
|
323
|
+
}
|
|
324
|
+
async patchEnhanced(endpoint, data) {
|
|
325
|
+
return this.enhancedRequest("PATCH", endpoint, data);
|
|
326
|
+
}
|
|
327
|
+
async deleteEnhanced(endpoint) {
|
|
328
|
+
return this.enhancedRequest("DELETE", endpoint);
|
|
329
|
+
}
|
|
144
330
|
};
|
|
145
331
|
|
|
146
332
|
// src/core/client.ts
|
|
@@ -148,20 +334,43 @@ var DEFAULT_API_URL = "https://api.lanonasis.com/api/v1";
|
|
|
148
334
|
var MemoryIntelligenceClient = class {
|
|
149
335
|
httpClient;
|
|
150
336
|
defaultResponseFormat;
|
|
337
|
+
processingMode;
|
|
151
338
|
constructor(config) {
|
|
152
339
|
if (!config.apiKey) {
|
|
153
340
|
throw new ConfigurationError(
|
|
154
341
|
"Missing required configuration: apiKey is required (format: lano_xxxxxxxxxx)"
|
|
155
342
|
);
|
|
156
343
|
}
|
|
344
|
+
this.processingMode = config.processingMode || "api";
|
|
157
345
|
this.httpClient = new HttpClient({
|
|
158
346
|
apiUrl: config.apiUrl || DEFAULT_API_URL,
|
|
159
347
|
apiKey: config.apiKey,
|
|
160
348
|
timeout: config.timeout,
|
|
161
|
-
headers: config.headers
|
|
349
|
+
headers: config.headers,
|
|
350
|
+
processingMode: this.processingMode,
|
|
351
|
+
enableCache: config.enableCache,
|
|
352
|
+
cacheTTL: config.cacheTTL
|
|
162
353
|
});
|
|
163
354
|
this.defaultResponseFormat = config.responseFormat || "markdown";
|
|
164
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Get the current processing mode
|
|
358
|
+
*/
|
|
359
|
+
getProcessingMode() {
|
|
360
|
+
return this.processingMode;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Check if cache is enabled (for offline-fallback mode)
|
|
364
|
+
*/
|
|
365
|
+
isCacheEnabled() {
|
|
366
|
+
return this.httpClient.isCacheEnabled();
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Clear the response cache
|
|
370
|
+
*/
|
|
371
|
+
clearCache() {
|
|
372
|
+
this.httpClient.clearCache();
|
|
373
|
+
}
|
|
165
374
|
/**
|
|
166
375
|
* Get HTTP client for direct API access
|
|
167
376
|
*/
|
|
@@ -193,7 +402,7 @@ var MemoryIntelligenceClient = class {
|
|
|
193
402
|
* Analyze usage patterns and trends in memory collection
|
|
194
403
|
*/
|
|
195
404
|
async analyzePatterns(params) {
|
|
196
|
-
const response = await this.httpClient.
|
|
405
|
+
const response = await this.httpClient.postEnhanced(
|
|
197
406
|
"/intelligence/analyze-patterns",
|
|
198
407
|
{
|
|
199
408
|
...params,
|
|
@@ -203,13 +412,18 @@ var MemoryIntelligenceClient = class {
|
|
|
203
412
|
if (response.error) {
|
|
204
413
|
throw new DatabaseError(`Failed to analyze patterns: ${response.error.message}`);
|
|
205
414
|
}
|
|
206
|
-
return
|
|
415
|
+
return {
|
|
416
|
+
data: response.data,
|
|
417
|
+
usage: response.usage,
|
|
418
|
+
tier_info: response.tier_info,
|
|
419
|
+
fromCache: response.fromCache
|
|
420
|
+
};
|
|
207
421
|
}
|
|
208
422
|
/**
|
|
209
423
|
* Get AI-powered tag suggestions for a memory
|
|
210
424
|
*/
|
|
211
425
|
async suggestTags(params) {
|
|
212
|
-
const response = await this.httpClient.
|
|
426
|
+
const response = await this.httpClient.postEnhanced(
|
|
213
427
|
"/intelligence/suggest-tags",
|
|
214
428
|
{
|
|
215
429
|
...params,
|
|
@@ -219,13 +433,18 @@ var MemoryIntelligenceClient = class {
|
|
|
219
433
|
if (response.error) {
|
|
220
434
|
throw new DatabaseError(`Failed to suggest tags: ${response.error.message}`);
|
|
221
435
|
}
|
|
222
|
-
return
|
|
436
|
+
return {
|
|
437
|
+
data: response.data,
|
|
438
|
+
usage: response.usage,
|
|
439
|
+
tier_info: response.tier_info,
|
|
440
|
+
fromCache: response.fromCache
|
|
441
|
+
};
|
|
223
442
|
}
|
|
224
443
|
/**
|
|
225
444
|
* Find semantically related memories using vector similarity
|
|
226
445
|
*/
|
|
227
446
|
async findRelated(params) {
|
|
228
|
-
const response = await this.httpClient.
|
|
447
|
+
const response = await this.httpClient.postEnhanced(
|
|
229
448
|
"/intelligence/find-related",
|
|
230
449
|
{
|
|
231
450
|
...params,
|
|
@@ -235,13 +454,18 @@ var MemoryIntelligenceClient = class {
|
|
|
235
454
|
if (response.error) {
|
|
236
455
|
throw new DatabaseError(`Failed to find related memories: ${response.error.message}`);
|
|
237
456
|
}
|
|
238
|
-
return
|
|
457
|
+
return {
|
|
458
|
+
data: response.data,
|
|
459
|
+
usage: response.usage,
|
|
460
|
+
tier_info: response.tier_info,
|
|
461
|
+
fromCache: response.fromCache
|
|
462
|
+
};
|
|
239
463
|
}
|
|
240
464
|
/**
|
|
241
465
|
* Detect potential duplicate memories
|
|
242
466
|
*/
|
|
243
467
|
async detectDuplicates(params) {
|
|
244
|
-
const response = await this.httpClient.
|
|
468
|
+
const response = await this.httpClient.postEnhanced(
|
|
245
469
|
"/intelligence/detect-duplicates",
|
|
246
470
|
{
|
|
247
471
|
...params,
|
|
@@ -251,13 +475,18 @@ var MemoryIntelligenceClient = class {
|
|
|
251
475
|
if (response.error) {
|
|
252
476
|
throw new DatabaseError(`Failed to detect duplicates: ${response.error.message}`);
|
|
253
477
|
}
|
|
254
|
-
return
|
|
478
|
+
return {
|
|
479
|
+
data: response.data,
|
|
480
|
+
usage: response.usage,
|
|
481
|
+
tier_info: response.tier_info,
|
|
482
|
+
fromCache: response.fromCache
|
|
483
|
+
};
|
|
255
484
|
}
|
|
256
485
|
/**
|
|
257
486
|
* Extract insights and patterns from memories
|
|
258
487
|
*/
|
|
259
488
|
async extractInsights(params) {
|
|
260
|
-
const response = await this.httpClient.
|
|
489
|
+
const response = await this.httpClient.postEnhanced(
|
|
261
490
|
"/intelligence/extract-insights",
|
|
262
491
|
{
|
|
263
492
|
...params,
|
|
@@ -267,13 +496,18 @@ var MemoryIntelligenceClient = class {
|
|
|
267
496
|
if (response.error) {
|
|
268
497
|
throw new DatabaseError(`Failed to extract insights: ${response.error.message}`);
|
|
269
498
|
}
|
|
270
|
-
return
|
|
499
|
+
return {
|
|
500
|
+
data: response.data,
|
|
501
|
+
usage: response.usage,
|
|
502
|
+
tier_info: response.tier_info,
|
|
503
|
+
fromCache: response.fromCache
|
|
504
|
+
};
|
|
271
505
|
}
|
|
272
506
|
/**
|
|
273
507
|
* Check the health and organization quality of memories
|
|
274
508
|
*/
|
|
275
509
|
async healthCheck(params) {
|
|
276
|
-
const response = await this.httpClient.
|
|
510
|
+
const response = await this.httpClient.postEnhanced(
|
|
277
511
|
"/intelligence/health-check",
|
|
278
512
|
{
|
|
279
513
|
...params,
|
|
@@ -283,20 +517,21 @@ var MemoryIntelligenceClient = class {
|
|
|
283
517
|
if (response.error) {
|
|
284
518
|
throw new DatabaseError(`Failed to check health: ${response.error.message}`);
|
|
285
519
|
}
|
|
286
|
-
return
|
|
520
|
+
return {
|
|
521
|
+
data: response.data,
|
|
522
|
+
usage: response.usage,
|
|
523
|
+
tier_info: response.tier_info,
|
|
524
|
+
fromCache: response.fromCache
|
|
525
|
+
};
|
|
287
526
|
}
|
|
288
527
|
};
|
|
289
|
-
|
|
290
|
-
// src/react/context/MemoryIntelligenceProvider.tsx
|
|
291
|
-
var MemoryIntelligenceContext = createContext(
|
|
292
|
-
null
|
|
293
|
-
);
|
|
528
|
+
var MemoryIntelligenceContext = createContext(null);
|
|
294
529
|
function MemoryIntelligenceProvider({
|
|
295
530
|
config,
|
|
296
531
|
children
|
|
297
532
|
}) {
|
|
298
533
|
const [client] = React.useState(() => new MemoryIntelligenceClient(config));
|
|
299
|
-
return /* @__PURE__ */
|
|
534
|
+
return /* @__PURE__ */ jsx(MemoryIntelligenceContext.Provider, { value: { client }, children });
|
|
300
535
|
}
|
|
301
536
|
function useMemoryIntelligenceContext() {
|
|
302
537
|
const context = useContext(MemoryIntelligenceContext);
|