basic-memory 0.14.3__py3-none-any.whl → 0.15.0__py3-none-any.whl

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.

Potentially problematic release.


This version of basic-memory might be problematic. Click here for more details.

Files changed (90) hide show
  1. basic_memory/__init__.py +1 -1
  2. basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +49 -0
  3. basic_memory/api/app.py +10 -4
  4. basic_memory/api/routers/knowledge_router.py +25 -8
  5. basic_memory/api/routers/project_router.py +99 -4
  6. basic_memory/api/routers/resource_router.py +3 -3
  7. basic_memory/cli/app.py +9 -28
  8. basic_memory/cli/auth.py +277 -0
  9. basic_memory/cli/commands/cloud/__init__.py +5 -0
  10. basic_memory/cli/commands/cloud/api_client.py +112 -0
  11. basic_memory/cli/commands/cloud/bisync_commands.py +818 -0
  12. basic_memory/cli/commands/cloud/core_commands.py +288 -0
  13. basic_memory/cli/commands/cloud/mount_commands.py +295 -0
  14. basic_memory/cli/commands/cloud/rclone_config.py +288 -0
  15. basic_memory/cli/commands/cloud/rclone_installer.py +198 -0
  16. basic_memory/cli/commands/command_utils.py +60 -0
  17. basic_memory/cli/commands/import_memory_json.py +0 -4
  18. basic_memory/cli/commands/mcp.py +16 -4
  19. basic_memory/cli/commands/project.py +141 -145
  20. basic_memory/cli/commands/status.py +34 -22
  21. basic_memory/cli/commands/sync.py +45 -228
  22. basic_memory/cli/commands/tool.py +87 -16
  23. basic_memory/cli/main.py +1 -0
  24. basic_memory/config.py +96 -20
  25. basic_memory/db.py +104 -3
  26. basic_memory/deps.py +20 -3
  27. basic_memory/file_utils.py +89 -0
  28. basic_memory/ignore_utils.py +295 -0
  29. basic_memory/importers/chatgpt_importer.py +1 -1
  30. basic_memory/importers/utils.py +2 -2
  31. basic_memory/markdown/entity_parser.py +2 -2
  32. basic_memory/markdown/markdown_processor.py +2 -2
  33. basic_memory/markdown/plugins.py +39 -21
  34. basic_memory/markdown/utils.py +1 -1
  35. basic_memory/mcp/async_client.py +22 -10
  36. basic_memory/mcp/project_context.py +141 -0
  37. basic_memory/mcp/prompts/ai_assistant_guide.py +49 -4
  38. basic_memory/mcp/prompts/continue_conversation.py +1 -1
  39. basic_memory/mcp/prompts/recent_activity.py +116 -32
  40. basic_memory/mcp/prompts/search.py +1 -1
  41. basic_memory/mcp/prompts/utils.py +11 -4
  42. basic_memory/mcp/resources/ai_assistant_guide.md +179 -41
  43. basic_memory/mcp/resources/project_info.py +20 -6
  44. basic_memory/mcp/server.py +0 -37
  45. basic_memory/mcp/tools/__init__.py +5 -6
  46. basic_memory/mcp/tools/build_context.py +39 -19
  47. basic_memory/mcp/tools/canvas.py +19 -8
  48. basic_memory/mcp/tools/chatgpt_tools.py +178 -0
  49. basic_memory/mcp/tools/delete_note.py +67 -34
  50. basic_memory/mcp/tools/edit_note.py +55 -39
  51. basic_memory/mcp/tools/headers.py +44 -0
  52. basic_memory/mcp/tools/list_directory.py +18 -8
  53. basic_memory/mcp/tools/move_note.py +119 -41
  54. basic_memory/mcp/tools/project_management.py +77 -229
  55. basic_memory/mcp/tools/read_content.py +28 -12
  56. basic_memory/mcp/tools/read_note.py +97 -57
  57. basic_memory/mcp/tools/recent_activity.py +441 -42
  58. basic_memory/mcp/tools/search.py +82 -70
  59. basic_memory/mcp/tools/sync_status.py +5 -4
  60. basic_memory/mcp/tools/utils.py +19 -0
  61. basic_memory/mcp/tools/view_note.py +31 -6
  62. basic_memory/mcp/tools/write_note.py +65 -14
  63. basic_memory/models/knowledge.py +19 -2
  64. basic_memory/models/project.py +6 -2
  65. basic_memory/repository/entity_repository.py +31 -84
  66. basic_memory/repository/project_repository.py +1 -1
  67. basic_memory/repository/relation_repository.py +13 -0
  68. basic_memory/repository/repository.py +2 -2
  69. basic_memory/repository/search_repository.py +9 -3
  70. basic_memory/schemas/__init__.py +6 -0
  71. basic_memory/schemas/base.py +70 -12
  72. basic_memory/schemas/cloud.py +46 -0
  73. basic_memory/schemas/memory.py +99 -18
  74. basic_memory/schemas/project_info.py +9 -10
  75. basic_memory/schemas/sync_report.py +48 -0
  76. basic_memory/services/context_service.py +35 -11
  77. basic_memory/services/directory_service.py +7 -0
  78. basic_memory/services/entity_service.py +82 -52
  79. basic_memory/services/initialization.py +30 -11
  80. basic_memory/services/project_service.py +23 -33
  81. basic_memory/sync/sync_service.py +148 -24
  82. basic_memory/sync/watch_service.py +128 -44
  83. basic_memory/utils.py +181 -109
  84. {basic_memory-0.14.3.dist-info → basic_memory-0.15.0.dist-info}/METADATA +26 -96
  85. basic_memory-0.15.0.dist-info/RECORD +147 -0
  86. basic_memory/mcp/project_session.py +0 -120
  87. basic_memory-0.14.3.dist-info/RECORD +0 -132
  88. {basic_memory-0.14.3.dist-info → basic_memory-0.15.0.dist-info}/WHEEL +0 -0
  89. {basic_memory-0.14.3.dist-info → basic_memory-0.15.0.dist-info}/entry_points.txt +0 -0
  90. {basic_memory-0.14.3.dist-info → basic_memory-0.15.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basic-memory
3
- Version: 0.14.3
3
+ Version: 0.15.0
4
4
  Summary: Local-first knowledge management combining Zettelkasten with knowledge graphs
5
5
  Project-URL: Homepage, https://github.com/basicmachines-co/basic-memory
6
6
  Project-URL: Repository, https://github.com/basicmachines-co/basic-memory
@@ -9,11 +9,12 @@ Author-email: Basic Machines <hello@basic-machines.co>
9
9
  License: AGPL-3.0-or-later
10
10
  License-File: LICENSE
11
11
  Requires-Python: >=3.12.1
12
+ Requires-Dist: aiofiles>=24.1.0
12
13
  Requires-Dist: aiosqlite>=0.20.0
13
14
  Requires-Dist: alembic>=1.14.1
14
15
  Requires-Dist: dateparser>=1.2.0
15
16
  Requires-Dist: fastapi[standard]>=0.115.8
16
- Requires-Dist: fastmcp==2.10.2
17
+ Requires-Dist: fastmcp>=2.10.2
17
18
  Requires-Dist: greenlet>=3.1.1
18
19
  Requires-Dist: icecream>=2.1.3
19
20
  Requires-Dist: loguru>=0.7.3
@@ -51,11 +52,8 @@ Basic Memory lets you build persistent knowledge through natural conversations w
51
52
  Claude, while keeping everything in simple Markdown files on your computer. It uses the Model Context Protocol (MCP) to
52
53
  enable any compatible LLM to read and write to your local knowledge base.
53
54
 
54
- - Website: https://basicmemory.com
55
- - Company: https://basicmachines.co
55
+ - Website: https://basicmachines.co
56
56
  - Documentation: https://memory.basicmachines.co
57
- - Discord: https://discord.gg/tyvKNccgqN
58
- - YouTube: https://www.youtube.com/@basicmachines-co
59
57
 
60
58
  ## Pick up your conversation right where you left off
61
59
 
@@ -71,10 +69,6 @@ https://github.com/user-attachments/assets/a55d8238-8dd0-454a-be4c-8860dbbd0ddc
71
69
  # Install with uv (recommended)
72
70
  uv tool install basic-memory
73
71
 
74
- # or with Homebrew
75
- brew tap basicmachines-co/basic-memory
76
- brew install basic-memory
77
-
78
72
  # Configure Claude Desktop (edit ~/Library/Application Support/Claude/claude_desktop_config.json)
79
73
  # Add this to your config:
80
74
  {
@@ -106,14 +100,8 @@ Memory for Claude Desktop:
106
100
  npx -y @smithery/cli install @basicmachines-co/basic-memory --client claude
107
101
  ```
108
102
 
109
- This installs and configures Basic Memory without requiring manual edits to the Claude Desktop configuration file. Note: The Smithery installation uses their hosted MCP server, while your data remains stored locally as Markdown files.
110
-
111
- ### Add to Cursor
112
-
113
- Once you have installed Basic Memory revisit this page for the 1-click installer for Cursor:
114
-
115
- [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=basic-memory&config=eyJjb21tYW5kIjoiL1VzZXJzL2RyZXcvLmxvY2FsL2Jpbi91dnggYmFzaWMtbWVtb3J5IG1jcCJ9)
116
-
103
+ This installs and configures Basic Memory without requiring manual edits to the Claude Desktop configuration file. The
104
+ Smithery server hosts the MCP server component, while your data remains stored locally as Markdown files.
117
105
 
118
106
  ### Glama.ai
119
107
 
@@ -204,8 +192,7 @@ The note embeds semantic content and links to other topics via simple Markdown f
204
192
 
205
193
  3. You see this file on your computer in real time in the current project directory (default `~/$HOME/basic-memory`).
206
194
 
207
- - Realtime sync is enabled by default starting with v0.12.0
208
- - Project switching during conversations is supported starting with v0.13.0
195
+ - Realtime sync can be enabled via running `basic-memory sync --watch`
209
196
 
210
197
  4. In a chat with the LLM, you can reference a topic:
211
198
 
@@ -263,7 +250,7 @@ title: <Entity title>
263
250
  type: <The type of Entity> (e.g. note)
264
251
  permalink: <a uri slug>
265
252
 
266
- - <optional metadata> (such as tags)
253
+ - <optional metadata> (such as tags)
267
254
  ```
268
255
 
269
256
  ### Observations
@@ -315,13 +302,6 @@ Examples of relations:
315
302
  ```
316
303
 
317
304
  ## Using with VS Code
318
- For one-click installation, click one of the install buttons below...
319
-
320
- [![Install with UV in VS Code](https://img.shields.io/badge/VS_Code-UV-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=basic-memory&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22basic-memory%22%2C%22mcp%22%5D%7D) [![Install with UV in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-UV-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=basic-memory&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22basic-memory%22%2C%22mcp%22%5D%7D&quality=insiders)
321
-
322
- You can use Basic Memory with VS Code to easily retrieve and store information while coding. Click the installation buttons above for one-click setup, or follow the manual installation instructions below.
323
-
324
- ### Manual Installation
325
305
 
326
306
  Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing `Ctrl + Shift + P` and typing `Preferences: Open User Settings (JSON)`.
327
307
 
@@ -351,6 +331,8 @@ Optionally, you can add it to a file called `.vscode/mcp.json` in your workspace
351
331
  }
352
332
  ```
353
333
 
334
+ You can use Basic Memory with VS Code to easily retrieve and store information while coding.
335
+
354
336
  ## Using with Claude Desktop
355
337
 
356
338
  Basic Memory is built using the MCP (Model Context Protocol) and works with the Claude desktop app (https://claude.ai/):
@@ -374,8 +356,7 @@ for OS X):
374
356
  }
375
357
  ```
376
358
 
377
- If you want to use a specific project (see [Multiple Projects](docs/User%20Guide.md#multiple-projects)), update your
378
- Claude Desktop
359
+ If you want to use a specific project (see [Multiple Projects](#multiple-projects) below), update your Claude Desktop
379
360
  config:
380
361
 
381
362
  ```json
@@ -385,9 +366,9 @@ config:
385
366
  "command": "uvx",
386
367
  "args": [
387
368
  "basic-memory",
369
+ "mcp",
388
370
  "--project",
389
- "your-project-name",
390
- "mcp"
371
+ "your-project-name"
391
372
  ]
392
373
  }
393
374
  }
@@ -396,27 +377,23 @@ config:
396
377
 
397
378
  2. Sync your knowledge:
398
379
 
399
- Basic Memory will sync the files in your project in real time if you make manual edits.
380
+ ```bash
381
+ # One-time sync of local knowledge updates
382
+ basic-memory sync
383
+
384
+ # Run realtime sync process (recommended)
385
+ basic-memory sync --watch
386
+ ```
400
387
 
401
388
  3. In Claude Desktop, the LLM can now use these tools:
402
389
 
403
390
  ```
404
391
  write_note(title, content, folder, tags) - Create or update notes
405
392
  read_note(identifier, page, page_size) - Read notes by title or permalink
406
- edit_note(identifier, operation, content) - Edit notes incrementally (append, prepend, find/replace)
407
- move_note(identifier, destination_path) - Move notes with database consistency
408
- view_note(identifier) - Display notes as formatted artifacts for better readability
409
393
  build_context(url, depth, timeframe) - Navigate knowledge graph via memory:// URLs
410
- search_notes(query, page, page_size) - Search across your knowledge base
394
+ search(query, page, page_size) - Search across your knowledge base
411
395
  recent_activity(type, depth, timeframe) - Find recently updated information
412
396
  canvas(nodes, edges, title, folder) - Generate knowledge visualizations
413
- list_memory_projects() - List all available projects with status
414
- switch_project(project_name) - Switch to different project context
415
- get_current_project() - Show current project and statistics
416
- create_memory_project(name, path, set_default) - Create new projects
417
- delete_project(name) - Delete projects from configuration
418
- set_default_project(name) - Set default project
419
- sync_status() - Check file synchronization status
420
397
  ```
421
398
 
422
399
  5. Example prompts to try:
@@ -427,63 +404,16 @@ sync_status() - Check file synchronization status
427
404
  "Create a canvas visualization of my project components"
428
405
  "Read my notes on the authentication system"
429
406
  "What have I been working on in the past week?"
430
- "Switch to my work-notes project"
431
- "List all my available projects"
432
- "Edit my coffee brewing note to add a new technique"
433
- "Move my old meeting notes to the archive folder"
434
407
  ```
435
408
 
436
409
  ## Futher info
437
410
 
438
411
  See the [Documentation](https://memory.basicmachines.co/) for more info, including:
439
412
 
440
- - [Complete User Guide](https://memory.basicmachines.co/docs/user-guide)
441
- - [CLI tools](https://memory.basicmachines.co/docs/cli-reference)
442
- - [Managing multiple Projects](https://memory.basicmachines.co/docs/cli-reference#project)
443
- - [Importing data from OpenAI/Claude Projects](https://memory.basicmachines.co/docs/cli-reference#import)
444
-
445
- ## Installation Options
446
-
447
- ### Stable Release
448
- ```bash
449
- pip install basic-memory
450
- ```
451
-
452
- ### Beta/Pre-releases
453
- ```bash
454
- pip install basic-memory --pre
455
- ```
456
-
457
- ### Development Builds
458
- Development versions are automatically published on every commit to main with versions like `0.12.4.dev26+468a22f`:
459
- ```bash
460
- pip install basic-memory --pre --force-reinstall
461
- ```
462
-
463
- ### Docker
464
-
465
- Run Basic Memory in a container with volume mounting for your Obsidian vault:
466
-
467
- ```bash
468
- # Clone and start with Docker Compose
469
- git clone https://github.com/basicmachines-co/basic-memory.git
470
- cd basic-memory
471
-
472
- # Edit docker-compose.yml to point to your Obsidian vault
473
- # Then start the container
474
- docker-compose up -d
475
- ```
476
-
477
- Or use Docker directly:
478
- ```bash
479
- docker run -d \
480
- --name basic-memory-server \
481
- -v /path/to/your/obsidian-vault:/data/knowledge:rw \
482
- -v basic-memory-config:/root/.basic-memory:rw \
483
- ghcr.io/basicmachines-co/basic-memory:latest
484
- ```
485
-
486
- See [Docker Setup Guide](docs/Docker.md) for detailed configuration options, multiple project setup, and integration examples.
413
+ - [Complete User Guide](https://docs.basicmemory.com/user-guide/)
414
+ - [CLI tools](https://docs.basicmemory.com/guides/cli-reference/)
415
+ - [Managing multiple Projects](https://docs.basicmemory.com/guides/cli-reference/#project)
416
+ - [Importing data from OpenAI/Claude Projects](https://docs.basicmemory.com/guides/cli-reference/#import)
487
417
 
488
418
  ## License
489
419
 
@@ -502,4 +432,4 @@ and submitting PRs.
502
432
  </picture>
503
433
  </a>
504
434
 
505
- Built with ♥️ by Basic Machines
435
+ Built with ♥️ by Basic Machines
@@ -0,0 +1,147 @@
1
+ basic_memory/__init__.py,sha256=cEAzscDoOiMqVOixSi-NJdHQPAgno_A0kyljc3NP3KY,256
2
+ basic_memory/config.py,sha256=5pMKwN_2c7tj52qnVVBrv6KTvpaGdmfOh_DV-lS22Mk,15328
3
+ basic_memory/db.py,sha256=Gc-d639GPVzUhNkzkfvOYYuEGeIX9YFqhu6kG_5tR1A,11711
4
+ basic_memory/deps.py,sha256=CL8ZERCX20LWlVtF4auf_o4mp0IQA9uFp4SgMeWBW2w,12840
5
+ basic_memory/file_utils.py,sha256=5YUlj4qk9SqKmEDwcBeW08XyLW5y2b7bpUHX5xARLLc,9145
6
+ basic_memory/ignore_utils.py,sha256=dkbc_LXDTmIGg0WqRYV456c51tHMcEiKVh9ambRotSk,7565
7
+ basic_memory/utils.py,sha256=NDlLbOme6_XzvaiorhWP0Q-HCzg038jDvfyCrTOKXTI,12875
8
+ basic_memory/alembic/alembic.ini,sha256=IEZsnF8CbbZnkwBr67LzKKNobHuzTaQNUvM8Psop5xc,3733
9
+ basic_memory/alembic/env.py,sha256=4kHZh-rfzVARy9ndvsuDPTBt6Hk3dZ2BwI030EppBrA,2838
10
+ basic_memory/alembic/migrations.py,sha256=lriHPXDdBLSNXEW3QTpU0SJKuVd1V-8NrVkpN3qfsUQ,718
11
+ basic_memory/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
12
+ basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py,sha256=lTbWlAnd1es7xU99DoJgfaRe1_Kte8TL98riqeKGV80,4363
13
+ basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py,sha256=k6xYTmYPM9Ros-7CA7BwZBKYwoK_gmVdC-2n8FAjdoE,1840
14
+ basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py,sha256=2CCY9ayjzbraYMcinqSsJi9Sc0nu2e-ehkUJus-sz34,4379
15
+ basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py,sha256=YErFkIpZdicvUil4ZtE6uxSpk5BZCTXZ_TfPE-MgSfo,4210
16
+ basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py,sha256=i42eQyO08RWf4exnH1q1PKw_EJFsHAG-T4pdLTMSpiA,1818
17
+ basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py,sha256=RsGymQzfRXV1LSNKiyi0lMilTxW1NgwS9jR67ye2apI,1428
18
+ basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py,sha256=kDavR9Qqx9wSu5P3qd4SZq_waIsDG1UMTg2SmDoktMU,3679
19
+ basic_memory/api/__init__.py,sha256=wCpj-21j1D0KzKl9Ql6unLBVFY0K1uGp_FeSZRKtqpk,72
20
+ basic_memory/api/app.py,sha256=2qNUMFutFJtIU32i167br83bvCLgPkGUQD0xaf3Cx2I,3194
21
+ basic_memory/api/template_loader.py,sha256=exbTeXyJRgyLFmSjNeroxjT7X2DWFm2X5qUVa3drbYM,8607
22
+ basic_memory/api/routers/__init__.py,sha256=REO5CKQ96o5vtGWACcsIxIpWybIUSeKXc83RWbWc8BQ,398
23
+ basic_memory/api/routers/directory_router.py,sha256=rBQHvuwffUOk0iKvcEs2QlWclgvr8ur24f_pH3-sVRQ,2054
24
+ basic_memory/api/routers/importer_router.py,sha256=xFUCorkPWo8AF0ya0UrcLmXNf8CjPZdAqddQIH8PO-o,4513
25
+ basic_memory/api/routers/knowledge_router.py,sha256=A7IYVk4_ab0NbrEs7ZWC2KBApY-VsEO1X5X8UImjG7s,10284
26
+ basic_memory/api/routers/management_router.py,sha256=zbzilNzsYUbFbE2uFXRM33cDn9IbI-73y8C1-b-19O4,2730
27
+ basic_memory/api/routers/memory_router.py,sha256=a9Cnx3XgwSkO-2ABFzI3wM3PoMGxuyfJFFp7NfFZapc,3003
28
+ basic_memory/api/routers/project_router.py,sha256=ijoJmxr_U-PEN1Cj-qBSv0brear2iO3NOO53jUSKQhQ,11534
29
+ basic_memory/api/routers/prompt_router.py,sha256=4wxq6-NREgVJM8N9C0YsN1AAUDD8nkTCOzWyzSqTSFw,9948
30
+ basic_memory/api/routers/resource_router.py,sha256=Uko0RLea8DTXl0hPyGjay_YNyYE5852VrBXhlWs8YGc,8097
31
+ basic_memory/api/routers/search_router.py,sha256=GD62jlCQTiL_VNsdibi-b1f6H40KCWo9SX2Cl7YH4QU,1226
32
+ basic_memory/api/routers/utils.py,sha256=nmD1faJOHcnWQjbCanojUwA9xhinf764U8SUqjNXpXw,5159
33
+ basic_memory/cli/__init__.py,sha256=arcKLAWRDhPD7x5t80MlviZeYzwHZ0GZigyy3NKVoGk,33
34
+ basic_memory/cli/app.py,sha256=dMLoiCDJId2ic32Z7F4EiDPTYjb5j8jEwXwurn755_A,1392
35
+ basic_memory/cli/auth.py,sha256=rYme0r4xo1Y6vpBTQkdQpCDRzE3eih16LaLuagDGOk4,10590
36
+ basic_memory/cli/main.py,sha256=h3oGzJn1wEqY0_nPzb1pDKkBzTPRDgjW4YOOmxHn0hU,476
37
+ basic_memory/cli/commands/__init__.py,sha256=3oojcC-Y-4RPqff9vtwWziT_T4uvBVicL0pSHNilVkU,393
38
+ basic_memory/cli/commands/command_utils.py,sha256=ZPXixTUTDVQtz4H03QU8vNjx7nOoWW2-akopE0hmcww,2001
39
+ basic_memory/cli/commands/db.py,sha256=cEoQltgKudEuJH0Cn-YiPpNaDQzu5-YVwCD0anIIKOA,1480
40
+ basic_memory/cli/commands/import_chatgpt.py,sha256=iVfMo6yrY1EzViSlGL3BnZVkh-k9ht0bbCMJ6dWFCuU,2856
41
+ basic_memory/cli/commands/import_claude_conversations.py,sha256=e8l4OHMr8A9PtKgOO6T9-86Jca6FzCrJAsOzo-EQrlc,2946
42
+ basic_memory/cli/commands/import_claude_projects.py,sha256=YyFXcHWAHJmtR6DNwTtao8nKECoFyo8GripRElqMQ7w,2891
43
+ basic_memory/cli/commands/import_memory_json.py,sha256=3ESHFGdrVQmlh93GYm-AzhKKnDx5cK375ea9EjiKWQw,2867
44
+ basic_memory/cli/commands/mcp.py,sha256=hnutTMhW9KGKwfRdsQaOW-e4tw4HOtnVDkURnjS9eC0,3145
45
+ basic_memory/cli/commands/project.py,sha256=UvzweTfnpOAG-sfoZEy9McGrGaMXUr81H9F3s5CjnOU,13407
46
+ basic_memory/cli/commands/status.py,sha256=Nqv0TTWEEILOihIiyA3mdnBc4dTZ8X570bXczPdWgz8,6144
47
+ basic_memory/cli/commands/sync.py,sha256=OckRY5JWJ2ZCi4-75DuEF-uWMSJX_1FmSRp27AkYtI4,1782
48
+ basic_memory/cli/commands/tool.py,sha256=8bsbYfaYEfAEvLfciQx1fZ0vssgbahMvrbmWzYg9188,11971
49
+ basic_memory/cli/commands/cloud/__init__.py,sha256=lxYVkUnYzg4GWByHmSm77m_a-ArOc_-4qvVvl0oPNp8,255
50
+ basic_memory/cli/commands/cloud/api_client.py,sha256=e14v_YTkkEuyUuZBzaQTSHpNmT017A3ym5dWMEly5JQ,4263
51
+ basic_memory/cli/commands/cloud/bisync_commands.py,sha256=9uTQvDcqUj8mSMOMtpI_6UzVVWFb2oVWlueTc-dX7j0,28626
52
+ basic_memory/cli/commands/cloud/core_commands.py,sha256=OVSVTC9f2_Smp3oNUUCErs3terFZdJIc-GXRvcfK68Q,9694
53
+ basic_memory/cli/commands/cloud/mount_commands.py,sha256=2CZPza3rPiECI5dOLowq3SEzmRQTFdUjopn_W_QQU9Y,10430
54
+ basic_memory/cli/commands/cloud/rclone_config.py,sha256=LpI3_PBKT5qYPG2tV3L9erl4WQQedm97g4x8PC20BP0,8155
55
+ basic_memory/cli/commands/cloud/rclone_installer.py,sha256=x62TjzwDUSwWTy7NVjdwtu9SKO7N5NVls_tfqp2_DDw,7399
56
+ basic_memory/importers/__init__.py,sha256=BTcBW97P3thcsWa5w9tQsvOu8ynHDgw2-8tPgkCZoh8,795
57
+ basic_memory/importers/base.py,sha256=awwe_U-CfzSINKoM6iro7ru4QqLlsfXzdHztDvebnxM,2531
58
+ basic_memory/importers/chatgpt_importer.py,sha256=3BJZUOVSX0cg9G6WdMTDQTscMoG6eWuf6E-c9Qhi0v4,7687
59
+ basic_memory/importers/claude_conversations_importer.py,sha256=p7yehy9Pgc5fef6d0ab9DwCm8CCiyyZkGEqX8U7rHbw,5725
60
+ basic_memory/importers/claude_projects_importer.py,sha256=pFJnX9m7GOv2TrS9f2nM1-mTtheTEBWjxKtwDWdJOGM,5389
61
+ basic_memory/importers/memory_json_importer.py,sha256=vH0EUpnxftmtXOv_exQjJQ7CihETDkegrEjTq4K96vw,4631
62
+ basic_memory/importers/utils.py,sha256=SRcDrjedYH_PeD9Pu1DenlrDcar7L751ZV3qkzJXRQ4,1818
63
+ basic_memory/markdown/__init__.py,sha256=DdzioCWtDnKaq05BHYLgL_78FawEHLpLXnp-kPSVfIc,501
64
+ basic_memory/markdown/entity_parser.py,sha256=1zpvVAtWnCV0uXB4DtmMMNzlxGSE9iulWPUpfJyYWvw,4542
65
+ basic_memory/markdown/markdown_processor.py,sha256=imSVYyyfz0rQe9CyDcZhouB4m6V1haMdq6j3EWdo_wc,4984
66
+ basic_memory/markdown/plugins.py,sha256=3z5U6yX7UuzEJAq5jzT5LmhmJ-tF3CJThwfwDwCE2q8,7452
67
+ basic_memory/markdown/schemas.py,sha256=eyxYCr1hVyWmImcle0asE5It_DD6ARkqaBZYu1KK5n4,1896
68
+ basic_memory/markdown/utils.py,sha256=cm3h3C1eFz-zklXx5xaNRE-EBv8d-S5tixbTa5WqubQ,3416
69
+ basic_memory/mcp/__init__.py,sha256=dsDOhKqjYeIbCULbHIxfcItTbqudEuEg1Np86eq0GEQ,35
70
+ basic_memory/mcp/async_client.py,sha256=sw9zarpTuqvAjqxKDb4Spx5Ve_FMNQ7MNjU_2udOvcY,1438
71
+ basic_memory/mcp/project_context.py,sha256=29ZwMriGcLfE8E0hNyWn9GpnzOsKG7TbP8FSq8UGEDY,4930
72
+ basic_memory/mcp/server.py,sha256=vICzbGc36u59Z5P2RjXhL2OxJxOVKC8gU4OqWeCwsq8,109
73
+ basic_memory/mcp/prompts/__init__.py,sha256=-Bl9Dgj2TD9PULjzggPqXuvPEjWCRy7S9Yg03h2-U7A,615
74
+ basic_memory/mcp/prompts/ai_assistant_guide.py,sha256=NLdtkb9EahAzKLT8kT4CMQezxDgd3fUc2WB6dIixQUg,2558
75
+ basic_memory/mcp/prompts/continue_conversation.py,sha256=fspprjgTQi9krhBejhSai8nPrV0dVk69bf12KNU0i0M,1998
76
+ basic_memory/mcp/prompts/recent_activity.py,sha256=h9hT7CdMNpPIqwptlY8N64trPkpCCeMTX4Wfr8C5WAE,6466
77
+ basic_memory/mcp/prompts/search.py,sha256=DRJ9ziA-rY4y2mTErsf9D2HuhxwgKnKqsf5mLy9DKOM,1692
78
+ basic_memory/mcp/prompts/utils.py,sha256=k7UUwbEgtE75jZftq3DT0PpZL2Un5dwPT8L3Vxl_GIw,5733
79
+ basic_memory/mcp/resources/ai_assistant_guide.md,sha256=v-xAthNQMhpDJaSI9558Ij78BYhvA3OJ4BbudXkIyh4,20532
80
+ basic_memory/mcp/resources/project_info.py,sha256=z4zsYTGKp2W0miBcqsjb_JMdc9DCRty8PhydIWh9eYY,2485
81
+ basic_memory/mcp/tools/__init__.py,sha256=EU905pci4cHHfSmWeTmqcyKmtXGByAnm-HW0MND1IT4,1591
82
+ basic_memory/mcp/tools/build_context.py,sha256=lf07eHd_n-AfuXzP01MWcOa312IxrwTlDjqUNngia2k,5458
83
+ basic_memory/mcp/tools/canvas.py,sha256=CRMhrST3kWFfytIHKB6ilJHtRbYbr1XIyr6_DX_TaG8,4287
84
+ basic_memory/mcp/tools/chatgpt_tools.py,sha256=gZHS2wzIEzfENwuGxGO-91FFKWNq3Re6VaxDPusb59o,6521
85
+ basic_memory/mcp/tools/delete_note.py,sha256=aX0_uLFa1XPsTJzlwl82cF7-0VtPswT4vIyolY49cF8,9112
86
+ basic_memory/mcp/tools/edit_note.py,sha256=y_CssXNXQiluKsm9Ail1q3nhv1voF6oPUTwaqJ_guTE,15138
87
+ basic_memory/mcp/tools/headers.py,sha256=eRMzlh7ckuXHbd0glPDyuf2bmFM1jkVntbOVOCbBDLk,1552
88
+ basic_memory/mcp/tools/list_directory.py,sha256=ycRp3STSP3kW-zHMwZeHipIt69w7J6AoFm0EP2bnips,5561
89
+ basic_memory/mcp/tools/move_note.py,sha256=0tMh1uZgKkmbtH5_rbscYcNoNlfBygihIvnYgDRqKHg,21150
90
+ basic_memory/mcp/tools/project_management.py,sha256=B568dZBagd7U8S6C8_vB7axGVxwISrPRcAeI0bcu6L8,7621
91
+ basic_memory/mcp/tools/read_content.py,sha256=hPtQKeozoE214lEpSpP1vy38DWY2vZAR6ibVGVUpzFQ,9733
92
+ basic_memory/mcp/tools/read_note.py,sha256=QXAJAynMV2Qv5kwqXoH8A8ycXrsUI-s4GfYZP7K94pE,9644
93
+ basic_memory/mcp/tools/recent_activity.py,sha256=aT8k8j_9mFB2xUpiU-cQvlRwvmH57JqDxZI7JTZH2A0,20614
94
+ basic_memory/mcp/tools/search.py,sha256=xcMgYnjFiMJWPI822392SZVo5TihyHnkFJBS9-YUROY,16739
95
+ basic_memory/mcp/tools/sync_status.py,sha256=SwlKZi5U7olQxK9HyZN6Mkop9OlgkgE1dZ57iHZeG_E,10542
96
+ basic_memory/mcp/tools/utils.py,sha256=zfYIutcCDyNOg-qS4WE4n40A7VG58tD6i7WDadPGt7Y,21377
97
+ basic_memory/mcp/tools/view_note.py,sha256=c9KKCDGRSFyVkIubaU5FDVuDHgfX7UzWoXoVN0Mh4wI,3286
98
+ basic_memory/mcp/tools/write_note.py,sha256=6jYdrr2YlY4jq6ksJW1FftQ3DoGjgyLCYAKA1zWf_bk,8505
99
+ basic_memory/models/__init__.py,sha256=j0C4dtFi-FOEaQKR8dQWEG-dJtdQ15NBTiJg4nbIXNU,333
100
+ basic_memory/models/base.py,sha256=4hAXJ8CE1RnjKhb23lPd-QM7G_FXIdTowMJ9bRixspU,225
101
+ basic_memory/models/knowledge.py,sha256=MaGpxluOWjsu7ZRZfp8HyUorpMuqejN5qzeMzf-gU1k,7727
102
+ basic_memory/models/project.py,sha256=yZ6QsX4YeISf_wetCqvJcr9ei5XpyRXPtmkxouRj0lo,2869
103
+ basic_memory/models/search.py,sha256=PhQ8w4taApSvjh1DpPhB4cH9GTt2E2po-DFZzhnoZkY,1300
104
+ basic_memory/repository/__init__.py,sha256=MWK-o8QikqzOpe5SyPbKQ2ioB5BWA0Upz65tgg-E0DU,327
105
+ basic_memory/repository/entity_repository.py,sha256=49t186wpM8NoDSZAbI4bW3P9emdKzfdDw--jpJB_X3U,7964
106
+ basic_memory/repository/observation_repository.py,sha256=qhMvHLSjaoT3Fa_cQOKsT5jYPj66GXSytEBMwLAgygQ,2943
107
+ basic_memory/repository/project_info_repository.py,sha256=8XLVAYKkBWQ6GbKj1iqA9OK0FGPHdTlOs7ZtfeUf9t8,338
108
+ basic_memory/repository/project_repository.py,sha256=Fvo_pCylz8okFiv3FD3nv6PNQknLuC7f3S11fJNQkic,3795
109
+ basic_memory/repository/relation_repository.py,sha256=tpgyg5MTXAkdDgNpLYnHFQsYeiVSyfk3lasniw3DuRc,3718
110
+ basic_memory/repository/repository.py,sha256=jLTYLCh3gpl87NB-MyVaHz2YSCds-OCFspkOAlJZzOw,15269
111
+ basic_memory/repository/search_repository.py,sha256=ijjW2A27ltp6Ro-J13VLIQmoxxT0vn-aMbSokAZkttk,22201
112
+ basic_memory/schemas/__init__.py,sha256=6bZUVwc-Bvd6yKdNigUslYS3jFYgIQ9eqT-eujtEXY4,1785
113
+ basic_memory/schemas/base.py,sha256=t7F7f40EeQEQVJswMdoQJDd2Uh8LUgLHXVFIP6ugx8U,9551
114
+ basic_memory/schemas/cloud.py,sha256=Y8rqZHOM16xsW_kYVqKB3AxG5ig32KWLHHzFulAjwBc,1566
115
+ basic_memory/schemas/delete.py,sha256=UAR2JK99WMj3gP-yoGWlHD3eZEkvlTSRf8QoYIE-Wfw,1180
116
+ basic_memory/schemas/directory.py,sha256=F9_LrJqRqb_kO08GDKJzXLb2nhbYG2PdVUo5eDD_Kf4,881
117
+ basic_memory/schemas/importer.py,sha256=rDPfQjyjKyjOe26pwp1UH4eDqGwMKfeNs1Fjv5PxOc0,693
118
+ basic_memory/schemas/memory.py,sha256=LMAb4HfAAvosy9GrYzBM_lnviWHSS4Lez67zhgT9bf4,8894
119
+ basic_memory/schemas/project_info.py,sha256=gP3n63VRxTFUJ4QMM_cHWziftqR4BdtBixTC5Ap1MsE,6819
120
+ basic_memory/schemas/prompt.py,sha256=SpIVfZprQT8E5uP40j3CpBc2nHKflwOo3iZD7BFPIHE,3648
121
+ basic_memory/schemas/request.py,sha256=Mv5EvrLZlFIiPr8dOjo_4QXvkseYhQI7cd_X2zDsxQM,3760
122
+ basic_memory/schemas/response.py,sha256=XupGYKKr5I2D7Qg9HCSD_c-0A-C1BPA8FNIvHK6Gars,6450
123
+ basic_memory/schemas/search.py,sha256=ywMsDGAQK2sO2TT5lc-da_k67OKW1x1TenXormHHWv4,3657
124
+ basic_memory/schemas/sync_report.py,sha256=JfxSr44Zxhp_R3cOfIc4G0Wj6hl2SPlIUwiYFLFK2sY,1600
125
+ basic_memory/services/__init__.py,sha256=XGt8WX3fX_0K9L37Msy8HF8nlMZYIG3uQ6mUX6_iJtg,259
126
+ basic_memory/services/context_service.py,sha256=73meCXDdDvW7LXlnTvQG_rU-Yp-ogAZoPgyw0WEX2Yw,15742
127
+ basic_memory/services/directory_service.py,sha256=_FGX9yunAfmeKCfGG4wKC5oN9eBj2R12v0fwH3GcNxo,6273
128
+ basic_memory/services/entity_service.py,sha256=BOT6dx5ubfmK5RJN_zblmiZGueTC6OHs3BIxA6HorQI,33855
129
+ basic_memory/services/exceptions.py,sha256=oVjQr50XQqnFq1-MNKBilI2ShtHDxypavyDk1UeyHhw,390
130
+ basic_memory/services/file_service.py,sha256=jCrmnEkTQ4t9HF7L_M6BL7tdDqjjzty9hpTo9AzwhvM,10059
131
+ basic_memory/services/initialization.py,sha256=OtdP1iCQIFvPQKtl7x0yfAkdFXH88Ro71I9dWLq0sPI,7520
132
+ basic_memory/services/link_resolver.py,sha256=1-_VFsvqdT5rVBHe8Jrq63U59XQ0hxGezxY8c24Tiow,4594
133
+ basic_memory/services/project_service.py,sha256=MejFeLHd6xJESrxygq8lGRb8fc1dCf2vOEnVGs6UE_0,29674
134
+ basic_memory/services/search_service.py,sha256=c5Ky0ufz7YPFgHhVzNRQ4OecF_JUrt7nALzpMjobW4M,12782
135
+ basic_memory/services/service.py,sha256=V-d_8gOV07zGIQDpL-Ksqs3ZN9l3qf3HZOK1f_YNTag,336
136
+ basic_memory/services/sync_status_service.py,sha256=CgJdaJ6OFvFjKHIQSVIQX8kEU389Mrz_WS6x8dx2-7c,7504
137
+ basic_memory/sync/__init__.py,sha256=CVHguYH457h2u2xoM8KvOilJC71XJlZ-qUh8lHcjYj4,156
138
+ basic_memory/sync/background_sync.py,sha256=VJr2SukRKLdsbfB-9Re4LehcpK15a-RLXAFB-sAdRRM,726
139
+ basic_memory/sync/sync_service.py,sha256=wsSztBvBZ-AHzbuT_56FOLU1OUqWoCssBzndVO77YJE,31829
140
+ basic_memory/sync/watch_service.py,sha256=vzVdiJh0eLbqYIkLIJp8hwRIj4z52am6Q-_OubC6mbY,19855
141
+ basic_memory/templates/prompts/continue_conversation.hbs,sha256=trrDHSXA5S0JCbInMoUJL04xvCGRB_ku1RHNQHtl6ZI,3076
142
+ basic_memory/templates/prompts/search.hbs,sha256=H1cCIsHKp4VC1GrH2KeUB8pGe5vXFPqb2VPotypmeCA,3098
143
+ basic_memory-0.15.0.dist-info/METADATA,sha256=7Fua7WoCqbd7cSjdg1p_ewMTT1t6Ok3BrFEITk6OxSs,14354
144
+ basic_memory-0.15.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
145
+ basic_memory-0.15.0.dist-info/entry_points.txt,sha256=wvE2mRF6-Pg4weIYcfQ-86NOLZD4WJg7F7TIsRVFLb8,90
146
+ basic_memory-0.15.0.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
147
+ basic_memory-0.15.0.dist-info/RECORD,,
@@ -1,120 +0,0 @@
1
- """Project session management for Basic Memory MCP server.
2
-
3
- Provides simple in-memory project context for MCP tools, allowing users to switch
4
- between projects during a conversation without restarting the server.
5
- """
6
-
7
- from dataclasses import dataclass
8
- from typing import Optional
9
- from loguru import logger
10
-
11
- from basic_memory.config import ProjectConfig, get_project_config, ConfigManager
12
-
13
-
14
- @dataclass
15
- class ProjectSession:
16
- """Simple in-memory project context for MCP session.
17
-
18
- This class manages the current project context that tools use when no explicit
19
- project is specified. It's initialized with the default project from config
20
- and can be changed during the conversation.
21
- """
22
-
23
- current_project: Optional[str] = None
24
- default_project: Optional[str] = None
25
-
26
- def initialize(self, default_project: str) -> "ProjectSession":
27
- """Set the default project from config on startup.
28
-
29
- Args:
30
- default_project: The project name from configuration
31
- """
32
- self.default_project = default_project
33
- self.current_project = default_project
34
- logger.info(f"Initialized project session with default project: {default_project}")
35
- return self
36
-
37
- def get_current_project(self) -> str:
38
- """Get the currently active project name.
39
-
40
- Returns:
41
- The current project name, falling back to default, then 'main'
42
- """
43
- return self.current_project or self.default_project or "main"
44
-
45
- def set_current_project(self, project_name: str) -> None:
46
- """Set the current project context.
47
-
48
- Args:
49
- project_name: The project to switch to
50
- """
51
- previous = self.current_project
52
- self.current_project = project_name
53
- logger.info(f"Switched project context: {previous} -> {project_name}")
54
-
55
- def get_default_project(self) -> str:
56
- """Get the default project name from startup.
57
-
58
- Returns:
59
- The default project name, or 'main' if not set
60
- """
61
- return self.default_project or "main" # pragma: no cover
62
-
63
- def reset_to_default(self) -> None: # pragma: no cover
64
- """Reset current project back to the default project."""
65
- self.current_project = self.default_project # pragma: no cover
66
- logger.info(f"Reset project context to default: {self.default_project}") # pragma: no cover
67
-
68
- def refresh_from_config(self) -> None:
69
- """Refresh session state from current configuration.
70
-
71
- This method reloads the default project from config and reinitializes
72
- the session. This should be called when the default project is changed
73
- via CLI or API to ensure MCP session stays in sync.
74
- """
75
- # Reload config to get latest default project
76
- current_config = ConfigManager().config
77
- new_default = current_config.default_project
78
-
79
- # Reinitialize with new default
80
- self.initialize(new_default)
81
- logger.info(f"Refreshed project session from config, new default: {new_default}")
82
-
83
-
84
- # Global session instance
85
- session = ProjectSession()
86
-
87
-
88
- def get_active_project(project_override: Optional[str] = None) -> ProjectConfig:
89
- """Get the active project name for a tool call.
90
-
91
- This is the main function tools should use to determine which project
92
- to operate on.
93
-
94
- Args:
95
- project_override: Optional explicit project name from tool parameter
96
-
97
- Returns:
98
- The project name to use (override takes precedence over session context)
99
- """
100
- if project_override: # pragma: no cover
101
- project = get_project_config(project_override)
102
- session.set_current_project(project_override)
103
- return project
104
-
105
- current_project = session.get_current_project()
106
- active_project = get_project_config(current_project)
107
- return active_project
108
-
109
-
110
- def add_project_metadata(result: str, project_name: str) -> str:
111
- """Add project context as metadata footer for LLM awareness.
112
-
113
- Args:
114
- result: The tool result string
115
- project_name: The project name that was used
116
-
117
- Returns:
118
- Result with project metadata footer
119
- """
120
- return f"{result}\n\n<!-- Project: {project_name} -->" # pragma: no cover
@@ -1,132 +0,0 @@
1
- basic_memory/__init__.py,sha256=8waxNnFQNDHI9IsCihBom8GtgzjgHwDI4NDWWe_3Jxo,256
2
- basic_memory/config.py,sha256=fGhHf0Eouc_97vOZ10E4poVeD2xWwoRGbZUP_7RWVPI,12480
3
- basic_memory/db.py,sha256=JeBTsLP56PqCOwX8CZAB7-ijpPbg-Aco5QebpFqkBtg,7428
4
- basic_memory/deps.py,sha256=vOKM2cpUm4r84LxonMH7LcgM1bkp-FEUqmgruK6CQR0,12144
5
- basic_memory/file_utils.py,sha256=eaxTKLLEbTIy_Mb_Iv_Dmt4IXAJSrZGVi-Knrpyci3E,6700
6
- basic_memory/utils.py,sha256=PZvF_bV-Te6-gvRHk2ZDi3XTaMh6rwO8NNDYWfDNfqg,10946
7
- basic_memory/alembic/alembic.ini,sha256=IEZsnF8CbbZnkwBr67LzKKNobHuzTaQNUvM8Psop5xc,3733
8
- basic_memory/alembic/env.py,sha256=4kHZh-rfzVARy9ndvsuDPTBt6Hk3dZ2BwI030EppBrA,2838
9
- basic_memory/alembic/migrations.py,sha256=lriHPXDdBLSNXEW3QTpU0SJKuVd1V-8NrVkpN3qfsUQ,718
10
- basic_memory/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
11
- basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py,sha256=lTbWlAnd1es7xU99DoJgfaRe1_Kte8TL98riqeKGV80,4363
12
- basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py,sha256=k6xYTmYPM9Ros-7CA7BwZBKYwoK_gmVdC-2n8FAjdoE,1840
13
- basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py,sha256=2CCY9ayjzbraYMcinqSsJi9Sc0nu2e-ehkUJus-sz34,4379
14
- basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py,sha256=YErFkIpZdicvUil4ZtE6uxSpk5BZCTXZ_TfPE-MgSfo,4210
15
- basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py,sha256=RsGymQzfRXV1LSNKiyi0lMilTxW1NgwS9jR67ye2apI,1428
16
- basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py,sha256=kDavR9Qqx9wSu5P3qd4SZq_waIsDG1UMTg2SmDoktMU,3679
17
- basic_memory/api/__init__.py,sha256=wCpj-21j1D0KzKl9Ql6unLBVFY0K1uGp_FeSZRKtqpk,72
18
- basic_memory/api/app.py,sha256=rWc6wsCUEK9YMPav3_qiiwBASA2s1S_wF1C4ssBm6M8,2897
19
- basic_memory/api/template_loader.py,sha256=exbTeXyJRgyLFmSjNeroxjT7X2DWFm2X5qUVa3drbYM,8607
20
- basic_memory/api/routers/__init__.py,sha256=REO5CKQ96o5vtGWACcsIxIpWybIUSeKXc83RWbWc8BQ,398
21
- basic_memory/api/routers/directory_router.py,sha256=rBQHvuwffUOk0iKvcEs2QlWclgvr8ur24f_pH3-sVRQ,2054
22
- basic_memory/api/routers/importer_router.py,sha256=xFUCorkPWo8AF0ya0UrcLmXNf8CjPZdAqddQIH8PO-o,4513
23
- basic_memory/api/routers/knowledge_router.py,sha256=4dD_tPpcJGWCuoRKEbQXCS3hoXNWe-VbcGC7xV-8VoE,9738
24
- basic_memory/api/routers/management_router.py,sha256=zbzilNzsYUbFbE2uFXRM33cDn9IbI-73y8C1-b-19O4,2730
25
- basic_memory/api/routers/memory_router.py,sha256=a9Cnx3XgwSkO-2ABFzI3wM3PoMGxuyfJFFp7NfFZapc,3003
26
- basic_memory/api/routers/project_router.py,sha256=3qoto8Fm9pWqg6K0ukdd-VmggMENx7kK4JHvJrOhZ_I,8432
27
- basic_memory/api/routers/prompt_router.py,sha256=4wxq6-NREgVJM8N9C0YsN1AAUDD8nkTCOzWyzSqTSFw,9948
28
- basic_memory/api/routers/resource_router.py,sha256=WEJEqEaY_yTKj5-U-rW4kXQKUcJflykgwI6_g_R41ck,8058
29
- basic_memory/api/routers/search_router.py,sha256=GD62jlCQTiL_VNsdibi-b1f6H40KCWo9SX2Cl7YH4QU,1226
30
- basic_memory/api/routers/utils.py,sha256=nmD1faJOHcnWQjbCanojUwA9xhinf764U8SUqjNXpXw,5159
31
- basic_memory/cli/__init__.py,sha256=arcKLAWRDhPD7x5t80MlviZeYzwHZ0GZigyy3NKVoGk,33
32
- basic_memory/cli/app.py,sha256=9xBnA4DXB8RFitiB96Jbs8XNsrz_WfE583QhJk_o8vg,2268
33
- basic_memory/cli/main.py,sha256=ekBbEr_5jjGZaFJiOK4VhZ3wNiu6WjhXVi_syke1xw0,465
34
- basic_memory/cli/commands/__init__.py,sha256=3oojcC-Y-4RPqff9vtwWziT_T4uvBVicL0pSHNilVkU,393
35
- basic_memory/cli/commands/db.py,sha256=cEoQltgKudEuJH0Cn-YiPpNaDQzu5-YVwCD0anIIKOA,1480
36
- basic_memory/cli/commands/import_chatgpt.py,sha256=iVfMo6yrY1EzViSlGL3BnZVkh-k9ht0bbCMJ6dWFCuU,2856
37
- basic_memory/cli/commands/import_claude_conversations.py,sha256=e8l4OHMr8A9PtKgOO6T9-86Jca6FzCrJAsOzo-EQrlc,2946
38
- basic_memory/cli/commands/import_claude_projects.py,sha256=YyFXcHWAHJmtR6DNwTtao8nKECoFyo8GripRElqMQ7w,2891
39
- basic_memory/cli/commands/import_memory_json.py,sha256=fqGT9nILJnIpCtFseaFDox2IodVng48Suev5EQp8Azg,3013
40
- basic_memory/cli/commands/mcp.py,sha256=Phvj0nsY70dDIEt8-KN_vCoakfwWNsRo4IzvzYWXusY,2593
41
- basic_memory/cli/commands/project.py,sha256=JaT_j-zckshHrNls15GSnLHV6_ZTqD7GVG69N44j_C8,13877
42
- basic_memory/cli/commands/status.py,sha256=ttDqI31xTQVPabJKIFi-unTiJKL6SoClJdYqKqLqLXA,5809
43
- basic_memory/cli/commands/sync.py,sha256=cDs-c8TDOFDCf29MB6u_XUzl3EP3Br8MQyZLu0X4shM,8213
44
- basic_memory/cli/commands/tool.py,sha256=my-kALn3khv1W2Avi736NrHsfkpbyP57mDi5LjHwqe0,9540
45
- basic_memory/importers/__init__.py,sha256=BTcBW97P3thcsWa5w9tQsvOu8ynHDgw2-8tPgkCZoh8,795
46
- basic_memory/importers/base.py,sha256=awwe_U-CfzSINKoM6iro7ru4QqLlsfXzdHztDvebnxM,2531
47
- basic_memory/importers/chatgpt_importer.py,sha256=UqhmWNm7YCfyMRCR53zP_xgtx-UzoY_eOR6Cb8gw6m8,7674
48
- basic_memory/importers/claude_conversations_importer.py,sha256=p7yehy9Pgc5fef6d0ab9DwCm8CCiyyZkGEqX8U7rHbw,5725
49
- basic_memory/importers/claude_projects_importer.py,sha256=pFJnX9m7GOv2TrS9f2nM1-mTtheTEBWjxKtwDWdJOGM,5389
50
- basic_memory/importers/memory_json_importer.py,sha256=vH0EUpnxftmtXOv_exQjJQ7CihETDkegrEjTq4K96vw,4631
51
- basic_memory/importers/utils.py,sha256=7n4i_UgSNiOU9i7YlEq-gHOMHjq4gTH69jn0qMz9bIk,1792
52
- basic_memory/markdown/__init__.py,sha256=DdzioCWtDnKaq05BHYLgL_78FawEHLpLXnp-kPSVfIc,501
53
- basic_memory/markdown/entity_parser.py,sha256=Gw0RdzWGRcy63RcLP2J2Dcm9g404x0GXirDaWDYjTWg,4516
54
- basic_memory/markdown/markdown_processor.py,sha256=S5ny69zu2dlqO7tWJoLrpLSzg8emQIDq7Du7olpJUsk,4968
55
- basic_memory/markdown/plugins.py,sha256=gtIzKRjoZsyvBqLpVNnrmzl_cbTZ5ZGn8kcuXxQjRko,6639
56
- basic_memory/markdown/schemas.py,sha256=eyxYCr1hVyWmImcle0asE5It_DD6ARkqaBZYu1KK5n4,1896
57
- basic_memory/markdown/utils.py,sha256=G3V_DQbmDj6idsCy6kT-GhVqiV4JPB5gfWKG5wK_SuQ,3410
58
- basic_memory/mcp/__init__.py,sha256=dsDOhKqjYeIbCULbHIxfcItTbqudEuEg1Np86eq0GEQ,35
59
- basic_memory/mcp/async_client.py,sha256=ZTH0OH8wowoyIZf_UdbqyuSyWljGSAlZMbPRFF0dowM,925
60
- basic_memory/mcp/project_session.py,sha256=TaQD7JPeyQY-64sFJG41AXQNFizHegZ9POVLpD1pCBk,4203
61
- basic_memory/mcp/server.py,sha256=CpEMrifWHqkj6Q--LUtcfKzzsp0-FW8Lf3eHKrlzx2E,1248
62
- basic_memory/mcp/prompts/__init__.py,sha256=-Bl9Dgj2TD9PULjzggPqXuvPEjWCRy7S9Yg03h2-U7A,615
63
- basic_memory/mcp/prompts/ai_assistant_guide.py,sha256=8TI5xObiRVcwv6w9by1xQHlX0whvyE7-LGsiqDMRTFg,821
64
- basic_memory/mcp/prompts/continue_conversation.py,sha256=rsmlC2V7e7G6DAK0K825vFsPKgsRQ702HFzn6lkHaDM,1998
65
- basic_memory/mcp/prompts/recent_activity.py,sha256=0v1c3b2SdDDxXVuF8eOjNooYy04uRYel0pdJ0rnggw4,3311
66
- basic_memory/mcp/prompts/search.py,sha256=nb88MZy9tdW_MmCLUVItiukrLdb3xEHWLv0JVLUlc4o,1692
67
- basic_memory/mcp/prompts/utils.py,sha256=VacrbqwYtySpIlYIrKHo5s6jtoTMscYJqrFRH3zpC6Q,5431
68
- basic_memory/mcp/resources/ai_assistant_guide.md,sha256=qnYWDkYlb-JmKuOoZ5llmRas_t4dWDXB_i8LE277Lgs,14777
69
- basic_memory/mcp/resources/project_info.py,sha256=LcUkTx4iXBfU6Lp4TVch78OqLopbOy4ljyKnfr4VXso,1906
70
- basic_memory/mcp/tools/__init__.py,sha256=hyt3HdUuw7djZForr24Qpw8EnOMQaDCm0_BTs-CaX-Y,1619
71
- basic_memory/mcp/tools/build_context.py,sha256=ckKAt3uPXz5hzT_e68PuZuK8_tquo2OOai4uM_yxl44,4611
72
- basic_memory/mcp/tools/canvas.py,sha256=22F9G9gfPb-l8i1B5ra4Ja_h9zYY83rPY9mDA5C5gkY,3738
73
- basic_memory/mcp/tools/delete_note.py,sha256=tSyRc_VgBmLyVeenClwX1Sk--LKcGahAMzTX2mK2XIs,7346
74
- basic_memory/mcp/tools/edit_note.py,sha256=q4x-f7-j_l-wzm17-AVFT1_WGCo0Cq4lI3seYSe21aY,13570
75
- basic_memory/mcp/tools/list_directory.py,sha256=-FxDsCru5YD02M4qkQDAurEJWyRaC7YI4YR6zg0atR8,5236
76
- basic_memory/mcp/tools/move_note.py,sha256=XvJ9m6rrwsVlb8ScR5ik5OQKcLbNnR52HbyuAhutVYw,17541
77
- basic_memory/mcp/tools/project_management.py,sha256=zaxzbWUSn2iahca4L44EO8hKMWV-rXqDMXcRce6qhg8,12944
78
- basic_memory/mcp/tools/read_content.py,sha256=lqE63axQf9h0OU36Lh5e1xr164nQhywdaMrPnKw_hyQ,9125
79
- basic_memory/mcp/tools/read_note.py,sha256=3_U84CsW2cX8oxWz8Ju3CGeonWFLDvPwVI3Oh5eASO4,8132
80
- basic_memory/mcp/tools/recent_activity.py,sha256=XVjNJAJnmxvzx9_Ls1A-QOd2yTR7pJlSTTuRxSivmN4,4833
81
- basic_memory/mcp/tools/search.py,sha256=hRmwBXRoxEUOtUOi9WG80NfLluHOG5XpSOArMJumt8o,15883
82
- basic_memory/mcp/tools/sync_status.py,sha256=c91zsYbq7IuC5rF-OaZ8JwgtJOBlPcTks1cSvYO4CiI,10517
83
- basic_memory/mcp/tools/utils.py,sha256=qVAEkR4naCLrqIo_7xXFubqGGxypouz-DB4_svTvARY,20892
84
- basic_memory/mcp/tools/view_note.py,sha256=ddNXxyETsdA5SYflIaQVj_Cbd7I7CLVs3atRRDMbGmg,2499
85
- basic_memory/mcp/tools/write_note.py,sha256=dxOW-0nTl_619-NjIdTSM8IsTRtTQUkSyEmVfG6W_IM,6612
86
- basic_memory/models/__init__.py,sha256=j0C4dtFi-FOEaQKR8dQWEG-dJtdQ15NBTiJg4nbIXNU,333
87
- basic_memory/models/base.py,sha256=4hAXJ8CE1RnjKhb23lPd-QM7G_FXIdTowMJ9bRixspU,225
88
- basic_memory/models/knowledge.py,sha256=AFxfKS8fRa43Kq3EjJCAufpte4VNC7fs9YfshDrB4o0,7087
89
- basic_memory/models/project.py,sha256=wQ0zrG0noh1c1kLwpaL6_apKib2EUoIWmuk4KDgScdM,2808
90
- basic_memory/models/search.py,sha256=PhQ8w4taApSvjh1DpPhB4cH9GTt2E2po-DFZzhnoZkY,1300
91
- basic_memory/repository/__init__.py,sha256=MWK-o8QikqzOpe5SyPbKQ2ioB5BWA0Upz65tgg-E0DU,327
92
- basic_memory/repository/entity_repository.py,sha256=4qjR66bI1kvGHXFo3w_owppnCFi_na6sRkoPRAJz-uA,10405
93
- basic_memory/repository/observation_repository.py,sha256=qhMvHLSjaoT3Fa_cQOKsT5jYPj66GXSytEBMwLAgygQ,2943
94
- basic_memory/repository/project_info_repository.py,sha256=8XLVAYKkBWQ6GbKj1iqA9OK0FGPHdTlOs7ZtfeUf9t8,338
95
- basic_memory/repository/project_repository.py,sha256=e-qi9CPBzmCz-fS4AQFDgg4MVZ3Zqec6fxVjnP_fGaI,3783
96
- basic_memory/repository/relation_repository.py,sha256=z7Oo5Zz_J-Bj6RvQDpSWR73ZLk2fxG7e7jrMbeFeJvQ,3179
97
- basic_memory/repository/repository.py,sha256=MJb-cb8QZQbL-Grq_iqv4Kq75aX2yQohLIqh5T4fFxw,15224
98
- basic_memory/repository/search_repository.py,sha256=qXL3PRtx2sV3Do6zeTxsmsROTnkvnatSj4xObGqAvKo,21936
99
- basic_memory/schemas/__init__.py,sha256=mEgIFcdTeb-v4y0gkOh_pA5zyqGbZk-9XbXqlSi6WMs,1674
100
- basic_memory/schemas/base.py,sha256=Fx97DEqzOr7y9zeeseO9qVBYbOft_4OQf9EiVfhOJn4,6738
101
- basic_memory/schemas/delete.py,sha256=UAR2JK99WMj3gP-yoGWlHD3eZEkvlTSRf8QoYIE-Wfw,1180
102
- basic_memory/schemas/directory.py,sha256=F9_LrJqRqb_kO08GDKJzXLb2nhbYG2PdVUo5eDD_Kf4,881
103
- basic_memory/schemas/importer.py,sha256=rDPfQjyjKyjOe26pwp1UH4eDqGwMKfeNs1Fjv5PxOc0,693
104
- basic_memory/schemas/memory.py,sha256=rLSpU6VT_spnLEiVeYp9lI7FH5IvdbZt19VXFuO-vtM,5833
105
- basic_memory/schemas/project_info.py,sha256=fcNjUpe25_5uMmKy142ib3p5qEakzs1WJPLkgol5zyw,7047
106
- basic_memory/schemas/prompt.py,sha256=SpIVfZprQT8E5uP40j3CpBc2nHKflwOo3iZD7BFPIHE,3648
107
- basic_memory/schemas/request.py,sha256=Mv5EvrLZlFIiPr8dOjo_4QXvkseYhQI7cd_X2zDsxQM,3760
108
- basic_memory/schemas/response.py,sha256=XupGYKKr5I2D7Qg9HCSD_c-0A-C1BPA8FNIvHK6Gars,6450
109
- basic_memory/schemas/search.py,sha256=ywMsDGAQK2sO2TT5lc-da_k67OKW1x1TenXormHHWv4,3657
110
- basic_memory/services/__init__.py,sha256=XGt8WX3fX_0K9L37Msy8HF8nlMZYIG3uQ6mUX6_iJtg,259
111
- basic_memory/services/context_service.py,sha256=4ReLAF5qifA9ayOePGsVKusw1TWj8oBzRECjrsFiKPI,14462
112
- basic_memory/services/directory_service.py,sha256=_YOPXseQM4knd7PIFAho9LV_E-FljVE5WVJKQ0uflZs,6017
113
- basic_memory/services/entity_service.py,sha256=b2HnzWqZOG12bVhzb8iOQ1_94T37-3J7-F9w8f5kGvM,32237
114
- basic_memory/services/exceptions.py,sha256=oVjQr50XQqnFq1-MNKBilI2ShtHDxypavyDk1UeyHhw,390
115
- basic_memory/services/file_service.py,sha256=jCrmnEkTQ4t9HF7L_M6BL7tdDqjjzty9hpTo9AzwhvM,10059
116
- basic_memory/services/initialization.py,sha256=Td5Yt5nPSskGMeWZSbVbM1WpO9-Z3w2cJAjAzqZ-EMQ,6715
117
- basic_memory/services/link_resolver.py,sha256=1-_VFsvqdT5rVBHe8Jrq63U59XQ0hxGezxY8c24Tiow,4594
118
- basic_memory/services/project_service.py,sha256=1qsCEMQN5tUxfXxfXQD_NboIRrW3_xac0ztDW60q9kc,30065
119
- basic_memory/services/search_service.py,sha256=c5Ky0ufz7YPFgHhVzNRQ4OecF_JUrt7nALzpMjobW4M,12782
120
- basic_memory/services/service.py,sha256=V-d_8gOV07zGIQDpL-Ksqs3ZN9l3qf3HZOK1f_YNTag,336
121
- basic_memory/services/sync_status_service.py,sha256=CgJdaJ6OFvFjKHIQSVIQX8kEU389Mrz_WS6x8dx2-7c,7504
122
- basic_memory/sync/__init__.py,sha256=CVHguYH457h2u2xoM8KvOilJC71XJlZ-qUh8lHcjYj4,156
123
- basic_memory/sync/background_sync.py,sha256=VJr2SukRKLdsbfB-9Re4LehcpK15a-RLXAFB-sAdRRM,726
124
- basic_memory/sync/sync_service.py,sha256=GSpefl6M_TV2lQElWwnogmlERZFmhgZaIwIxWjvnc8I,26549
125
- basic_memory/sync/watch_service.py,sha256=JAumrHUjV1lF9NtEK32jgg0myWBfLXotNXxONeIV9SM,15316
126
- basic_memory/templates/prompts/continue_conversation.hbs,sha256=trrDHSXA5S0JCbInMoUJL04xvCGRB_ku1RHNQHtl6ZI,3076
127
- basic_memory/templates/prompts/search.hbs,sha256=H1cCIsHKp4VC1GrH2KeUB8pGe5vXFPqb2VPotypmeCA,3098
128
- basic_memory-0.14.3.dist-info/METADATA,sha256=_LzguWWrEH3FfrxDesJjCT7__tnmKqk8J4CSfwt5M6c,17632
129
- basic_memory-0.14.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
130
- basic_memory-0.14.3.dist-info/entry_points.txt,sha256=wvE2mRF6-Pg4weIYcfQ-86NOLZD4WJg7F7TIsRVFLb8,90
131
- basic_memory-0.14.3.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
132
- basic_memory-0.14.3.dist-info/RECORD,,