opencode-semantic-memory 0.8.0__tar.gz → 0.8.3__tar.gz
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.
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/0/d/f/d/00dfda658f2fcde6926308004100798ad2247e2f45d1313ebfef973d +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/1/a/a/9/3/1aa93177f63584761c951c731336f631596e12d3b4e0b67c5c164470 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/f/d/9/a/1fd9ade2b751542e96db097082f121ecac23098b3cd95c8a877f0716 +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/2/a/8/c/5/2a8c5a56aa7e75a42e474464b0e75e78380050445086fa2e6626b678 +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/2/e/5/b/6/2e5b6ced06806dcc8a76919087cfc0d76c4240a8acb8d34511ad15d6 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/2/7/f/0/327f0380de23010729d12b6a8a48f24b952353d527064c8bf3cfd875 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/3/8/4/d/c/384dc122488f965cecab29f1722d1db789313763e22373f38c7fbbef → opencode_semantic_memory-0.8.3/.cache/pip/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f → opencode_semantic_memory-0.8.3/.cache/pip/http-v2/3/6/1/b/f/361bf053ab706a1212f013301d35a0c4b0af9cd8cc559d24c73d6a6f +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/3/8/4/d/c/384dc122488f965cecab29f1722d1db789313763e22373f38c7fbbef +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/b/e/0/7/4be07d3ac353e38d2c9e3a257cad36ee2a758fc88b4cd5f0d479a5a9 +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/5/b/5/7/6/5b576ddc69cb2cda42f61333b85f066e4990a5eab5c96e0670cbb445 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/b/d/8/9/5bd894eeb3dfe1c8aaee1daecdfb74bbb314293813a730238621f077 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/f/9/6/5/9/f9659e50df363f8369e6abe4c4008418f9de6a660e264dbba624109f → opencode_semantic_memory-0.8.3/.cache/pip/http-v2/6/c/3/7/f/6c37fbfdf697cce77ac3a3add5b61c639e47de9b9b9d1eb63cf429d5 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/6/e/b/6/c/6eb6c130f2e60d2739ddb376352e395a8d86e4f80b402f5f7854d07d +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/a/5/f/7/7a5f717e7b3fb99ec006f4d173aad55224eb063005c662c586ba0518 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/2/a/8/c/5/2a8c5a56aa7e75a42e474464b0e75e78380050445086fa2e6626b678 → opencode_semantic_memory-0.8.3/.cache/pip/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/d/0/e/1/8d0e104919449355aedb55b5b546bb9fd53f0e1a8ca1b082109464e9 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/8/8/9/3/98893f0b227721063df57aa66878132bb1592344007b1842b6681340 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/8/a/a/c/98aaccf247f7044601019ac72b3323db416a60a3b922e914db3b02bc +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/e/2/9/3/9e293f5a39d8466e2b362aa21216c5e4bc32898b0a39bfff792d145e +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/d/c/b/6/1/dcb61fa48ca00e206822fed148e38d1d4494a0b43064c07dcadec607 → opencode_semantic_memory-0.8.3/.cache/pip/http-v2/9/f/9/3/7/9f937e100a133ace0f86a717e0ada066b9e9d82f4d2982affb4e0344 +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/a/4/6/b/7/a46b74c1407dd55ebf9eeb7eb2c73000028b7639a6ed9edc7981950c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/6/f/4/d/b6f4dcb64ca093b3c3ae363be21ccc40760e60e58f24e7541ab876c7 +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/b/b/a/d/c/bbadc07fc383ff650474f2a8246a59ba64776ab6b35809d02400a398 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/2/e/5/b/6/2e5b6ced06806dcc8a76919087cfc0d76c4240a8acb8d34511ad15d6 → opencode_semantic_memory-0.8.3/.cache/pip/http-v2/c/6/3/0/6/c6306d205b48faecb62eb823053e850df036f38e59b11523829f5c31 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/a/4/6/b/7/a46b74c1407dd55ebf9eeb7eb2c73000028b7639a6ed9edc7981950c → opencode_semantic_memory-0.8.3/.cache/pip/http-v2/d/c/b/6/1/dcb61fa48ca00e206822fed148e38d1d4494a0b43064c07dcadec607 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/a/c/6/1/eac61126daf80149d2a016f12a54eab5e3b5c1dbc77410ff1a97edc4 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/d/2/5/d/ed25d1bb38edf83d84e0a08c7e2111da8cb788eddb019df7a96d3213 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2 +0 -0
- opencode_semantic_memory-0.8.3/.cache/pip/http-v2/f/9/6/5/9/f9659e50df363f8369e6abe4c4008418f9de6a660e264dbba624109f +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/CHANGELOG.md +16 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/PKG-INFO +42 -2
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/README.md +41 -1
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/src/index.ts +27 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/src/memory-client.ts +54 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/pyproject.toml +3 -1
- opencode_semantic_memory-0.8.3/scripts/memory-mcp.sh +65 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/analysis/__init__.py +0 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/analysis/effectiveness.py +666 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/background_worker.py +96 -2
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/http_server.py +143 -9
- opencode_semantic_memory-0.8.3/src/opencode_memory/jobs/__init__.py +64 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/jobs/circuit_breaker.py +237 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/jobs/executor.py +297 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/jobs/handlers.py +465 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/jobs/queue.py +424 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/jobs/scheduler.py +265 -0
- opencode_semantic_memory-0.8.3/src/opencode_memory/jobs/worker.py +237 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/models.py +149 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/proactive_context.py +14 -1
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/server.py +83 -1
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/storage/sqlite.py +1469 -7
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_http_server.py +43 -7
- opencode_semantic_memory-0.8.3/tests/test_jobs.py +768 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_server.py +37 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_storage.py +582 -14
- opencode_semantic_memory-0.8.3/tests/test_worker_integration.py +310 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/uv.lock +1 -1
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/1/a/a/9/3/1aa93177f63584761c951c731336f631596e12d3b4e0b67c5c164470 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/3/6/1/b/f/361bf053ab706a1212f013301d35a0c4b0af9cd8cc559d24c73d6a6f +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/5/b/5/7/6/5b576ddc69cb2cda42f61333b85f066e4990a5eab5c96e0670cbb445 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/6/c/3/7/f/6c37fbfdf697cce77ac3a3add5b61c639e47de9b9b9d1eb63cf429d5 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/9/f/9/3/7/9f937e100a133ace0f86a717e0ada066b9e9d82f4d2982affb4e0344 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/b/b/a/d/c/bbadc07fc383ff650474f2a8246a59ba64776ab6b35809d02400a398 +0 -0
- opencode_semantic_memory-0.8.0/.cache/pip/http-v2/c/6/3/0/6/c6306d205b48faecb62eb823053e850df036f38e59b11523829f5c31 +0 -0
- opencode_semantic_memory-0.8.0/scripts/memory-mcp.sh +0 -37
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/0/d/f/d/00dfda658f2fcde6926308004100798ad2247e2f45d1313ebfef973d.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/2/1/0/5/02105206f60ee8a62c7d923e21bb4bd2d8f3db94c5bb87bd806d5e74 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/2/1/0/5/02105206f60ee8a62c7d923e21bb4bd2d8f3db94c5bb87bd806d5e74.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/4/3/c/5/043c5436ab58fe00f4947e073da46878751ec535f5fb37ee31d056d4 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/4/3/c/5/043c5436ab58fe00f4947e073da46878751ec535f5fb37ee31d056d4.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/6/e/f/6/06ef6c69cac06b70bc0c72267a631e29bc34b67d12daa0467e642f68 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/6/e/f/6/06ef6c69cac06b70bc0c72267a631e29bc34b67d12daa0467e642f68.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/a/6/b/7/0a6b76df38e61ac4e1f757a1132d2c6424dcb9c23751423afee448ac +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/a/6/b/7/0a6b76df38e61ac4e1f757a1132d2c6424dcb9c23751423afee448ac.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/d/0/c/8/0d0c8773df337e6f9e71ac49b74b6022225cab83efe9780dbf45afd6 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/d/0/c/8/0d0c8773df337e6f9e71ac49b74b6022225cab83efe9780dbf45afd6.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/e/0/5/5/0e055813e840b7b873253f9f5c1cd4a7b06e0256c8de713dec25b93d +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/e/0/5/5/0e055813e840b7b873253f9f5c1cd4a7b06e0256c8de713dec25b93d.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/0/b/2/a/10b2a8b62ea67a4cd49d0d353a09c43832fb02ba7b3a804e29c73417 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/0/b/2/a/10b2a8b62ea67a4cd49d0d353a09c43832fb02ba7b3a804e29c73417.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/1/4/a/4/114a432b2bd8b6284c600aa9e3f2bd6b180cacf11a94027a1a3ebafd +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/1/4/a/4/114a432b2bd8b6284c600aa9e3f2bd6b180cacf11a94027a1a3ebafd.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/1/5/8/4/11584f31ec41215071940705e8c92c248476c2eb9f8321e581bc327d +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/1/5/8/4/11584f31ec41215071940705e8c92c248476c2eb9f8321e581bc327d.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/2/1/8/1/121816d8cda4aebb8eef187064632e8ae9502de5f2c95b48f84a7404 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/2/1/8/1/121816d8cda4aebb8eef187064632e8ae9502de5f2c95b48f84a7404.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/5/9/c/5/159c56e4ec3c8e71dacef647c600365ad192876d095dd29b5b5c8ace +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/5/9/c/5/159c56e4ec3c8e71dacef647c600365ad192876d095dd29b5b5c8ace.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/7/1/4/7/1714748212f1de43b155667695179ce5864620d5dacb8cf4aed74142 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/7/1/4/7/1714748212f1de43b155667695179ce5864620d5dacb8cf4aed74142.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/a/a/9/3/1aa93177f63584761c951c731336f631596e12d3b4e0b67c5c164470.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/c/8/1/b/1c81b93817f31aa9418642808feaab487be448dbe0773e4bd01b9229 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/c/8/1/b/1c81b93817f31aa9418642808feaab487be448dbe0773e4bd01b9229.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/c/c/f/2/1ccf222879210db389c3a9cad286511f6d242e8f0f9678f4322d324c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/c/c/f/2/1ccf222879210db389c3a9cad286511f6d242e8f0f9678f4322d324c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/e/d/5/5/1ed556defd2a8ab2cc731547ac075b6d45780b497beca6fbad1e4b42 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/e/d/5/5/1ed556defd2a8ab2cc731547ac075b6d45780b497beca6fbad1e4b42.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/1/f/d/9/a/1fd9ade2b751542e96db097082f121ecac23098b3cd95c8a877f0716.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/4/d/b/9/24db9366753b8559a96fe294a29ebf32f13c5cff54739e41b20a46e8 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/4/d/b/9/24db9366753b8559a96fe294a29ebf32f13c5cff54739e41b20a46e8.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/6/e/b/e/26ebeea7399d8249c69cb68cb12dd2c21339342ab0b9493ab076d6e8 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/6/e/b/e/26ebeea7399d8249c69cb68cb12dd2c21339342ab0b9493ab076d6e8.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/8/9/c/6/289c6f7419360f0297e671f8a8d5f9af72c5243124e001a3663cac72 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/8/9/c/6/289c6f7419360f0297e671f8a8d5f9af72c5243124e001a3663cac72.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/a/8/c/5/2a8c5a56aa7e75a42e474464b0e75e78380050445086fa2e6626b678.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/b/0/a/4/2b0a4fda1a2c912a5a1c5245a8b34b5da87876e311f607befabc98ee +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/b/0/a/4/2b0a4fda1a2c912a5a1c5245a8b34b5da87876e311f607befabc98ee.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/b/4/a/8/2b4a8461b0c542cab777b0b365023942af997bbb25607ac8b3782391 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/b/4/a/8/2b4a8461b0c542cab777b0b365023942af997bbb25607ac8b3782391.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/b/a/1/c/2ba1cd6fadf1cd59b11c7feb8b68f1b786ade023c8f2ebe0f752e45e +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/b/a/1/c/2ba1cd6fadf1cd59b11c7feb8b68f1b786ade023c8f2ebe0f752e45e.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/e/5/b/6/2e5b6ced06806dcc8a76919087cfc0d76c4240a8acb8d34511ad15d6.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/e/b/6/a/2eb6afae3ceaa5367896f67f058455efab497b680ac114e94caa3e10 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/e/b/6/a/2eb6afae3ceaa5367896f67f058455efab497b680ac114e94caa3e10.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/e/e/f/c/2eefc290e650f410245e06439d9986a9e086c5e8b61f232f1e12891f +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/2/e/e/f/c/2eefc290e650f410245e06439d9986a9e086c5e8b61f232f1e12891f.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/2/7/f/0/327f0380de23010729d12b6a8a48f24b952353d527064c8bf3cfd875.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/3/5/e/4/335e4fae780121b49f966edba3e2b1f1f00b06637723db2e7e731f26 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/3/5/e/4/335e4fae780121b49f966edba3e2b1f1f00b06637723db2e7e731f26.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/4/f/3/5/34f35e68224a7918339af3f1e6f6dfcfd5192fd17c6ebb73cd6dd91a +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/4/f/3/5/34f35e68224a7918339af3f1e6f6dfcfd5192fd17c6ebb73cd6dd91a.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/6/1/b/f/361bf053ab706a1212f013301d35a0c4b0af9cd8cc559d24c73d6a6f.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/6/7/8/5/36785bb40858912d7449d47de604d597609db89b1962e5e1e238542b +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/6/7/8/5/36785bb40858912d7449d47de604d597609db89b1962e5e1e238542b.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/6/a/5/d/36a5d6132567ff173f730ddcc6ab65962d399aaa9f302927ca97b3eb +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/6/a/5/d/36a5d6132567ff173f730ddcc6ab65962d399aaa9f302927ca97b3eb.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/8/4/d/c/384dc122488f965cecab29f1722d1db789313763e22373f38c7fbbef.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/9/8/1/3/398134aaeacada9feb8b12654a25e878c4f41490786622fc606a7a1c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/9/8/1/3/398134aaeacada9feb8b12654a25e878c4f41490786622fc606a7a1c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/f/e/c/3/3fec34894257a80934e9246a0a3053a6a96740587f3ddbf5b4fa6f02 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/3/f/e/c/3/3fec34894257a80934e9246a0a3053a6a96740587f3ddbf5b4fa6f02.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/1/e/3/c/41e3c68bb5038e20a3418971e070f9076b9eaa6e2c345d3e7f55e6b3 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/1/e/3/c/41e3c68bb5038e20a3418971e070f9076b9eaa6e2c345d3e7f55e6b3.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/3/6/8/4/436846b847c9c90a13539a872e2084e3f9ca23eb93b4b1cc44b55964 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/3/6/8/4/436846b847c9c90a13539a872e2084e3f9ca23eb93b4b1cc44b55964.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/3/9/4/0/43940c1ffa291a23244e10de06849b33fae6638badc063f4ade3cc1a +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/3/9/4/0/43940c1ffa291a23244e10de06849b33fae6638badc063f4ade3cc1a.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/5/8/c/7/458c7a7721c5d95619ebccea457715f5b1720258d02ce8362016a55c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/5/8/c/7/458c7a7721c5d95619ebccea457715f5b1720258d02ce8362016a55c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/7/7/4/2/47742615f5189ebbf61bb31c8c50f7f39cc38c5173f10ec7146e3989 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/7/7/4/2/47742615f5189ebbf61bb31c8c50f7f39cc38c5173f10ec7146e3989.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/8/3/8/e/4838e51432c6c88a78b5234e817caf0cf3bf1c3fc933f4861329b80f +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/8/3/8/e/4838e51432c6c88a78b5234e817caf0cf3bf1c3fc933f4861329b80f.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/b/e/0/7/4be07d3ac353e38d2c9e3a257cad36ee2a758fc88b4cd5f0d479a5a9.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/c/7/5/1/4c751248c578c4b8d67722e607a019d0909438b8cbe82066c393dfde +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/c/7/5/1/4c751248c578c4b8d67722e607a019d0909438b8cbe82066c393dfde.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/e/7/a/c/4e7ac19406cd6f20bb5f8145cca2f74c5f704ef378b0f4334628b440 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/4/e/7/a/c/4e7ac19406cd6f20bb5f8145cca2f74c5f704ef378b0f4334628b440.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/5/9/a/2/559a28d2d50a6d0988e3c56e5d0d411789da84005e4420f1a26bb23e +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/5/9/a/2/559a28d2d50a6d0988e3c56e5d0d411789da84005e4420f1a26bb23e.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/8/f/2/8/58f285f2173a5d23a2aa46ffc8e8b1bc64b6c3da91902d4ebd85c64d +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/8/f/2/8/58f285f2173a5d23a2aa46ffc8e8b1bc64b6c3da91902d4ebd85c64d.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/b/5/7/6/5b576ddc69cb2cda42f61333b85f066e4990a5eab5c96e0670cbb445.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/b/d/8/9/5bd894eeb3dfe1c8aaee1daecdfb74bbb314293813a730238621f077.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/d/5/7/5/5d575692ffb3194739604e9e1622e2fa8c882afc9517932bd2ce40df +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/5/d/5/7/5/5d575692ffb3194739604e9e1622e2fa8c882afc9517932bd2ce40df.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/6/c/3/7/f/6c37fbfdf697cce77ac3a3add5b61c639e47de9b9b9d1eb63cf429d5.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/6/e/b/6/c/6eb6c130f2e60d2739ddb376352e395a8d86e4f80b402f5f7854d07d.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/6/e/f/c/7/6efc76a8ab292a15bc9bca02c950f72e1ce263d0a701323e9af5a358 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/6/e/f/c/7/6efc76a8ab292a15bc9bca02c950f72e1ce263d0a701323e9af5a358.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/0/b/9/c/70b9c022893d41f3d2b5cd47c3935b21f2c02945201dbf0acd4f302c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/0/b/9/c/70b9c022893d41f3d2b5cd47c3935b21f2c02945201dbf0acd4f302c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/2/f/6/0/72f60d542675f65a9677981499f07ae27fe97e3ac82f8e2224d72113 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/2/f/6/0/72f60d542675f65a9677981499f07ae27fe97e3ac82f8e2224d72113.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/3/3/0/8/73308e5c1402c6bb3b38e3b0f1deabe3b20b6248ed18126597a2a901 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/3/3/0/8/73308e5c1402c6bb3b38e3b0f1deabe3b20b6248ed18126597a2a901.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/6/f/a/7/76fa74418db194f57a03dff1a0900e3bb30fca5fcb07e76f411cd937 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/6/f/a/7/76fa74418db194f57a03dff1a0900e3bb30fca5fcb07e76f411cd937.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/7/4/6/9/77469a77c0c5007f8e0ef36b73b2bdb8cbe7d9c8be102fd7d4efaf35 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/7/4/6/9/77469a77c0c5007f8e0ef36b73b2bdb8cbe7d9c8be102fd7d4efaf35.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/7/a/5/f/7/7a5f717e7b3fb99ec006f4d173aad55224eb063005c662c586ba0518.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/2/6/f/6/826f657d92b77c09dc5003a2b07bdbf9bb82259638dc4579ee230b4d +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/2/6/f/6/826f657d92b77c09dc5003a2b07bdbf9bb82259638dc4579ee230b4d.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/3/a/9/9/83a99ac063795cf6d06df343c06449f8777237c8c3ad06917c4344ef +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/3/a/9/9/83a99ac063795cf6d06df343c06449f8777237c8c3ad06917c4344ef.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/3/d/e/5/83de5cc65dfecf3a6e4c4c0025f0873b77d3c9243e6a038bd0ca39b9 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/3/d/e/5/83de5cc65dfecf3a6e4c4c0025f0873b77d3c9243e6a038bd0ca39b9.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/6/c/3/3/86c33a8b2bab9735c4478352d670d16d3abe4f1a006f7c8e395d413f +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/6/c/3/3/86c33a8b2bab9735c4478352d670d16d3abe4f1a006f7c8e395d413f.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/8/f/0/6/88f06a944c734c3736badbb02d887cddfeb74de4f837c06db79e749c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/8/f/0/6/88f06a944c734c3736badbb02d887cddfeb74de4f837c06db79e749c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/9/6/5/1/896514be855e753c50f0e30b1a0e384a9a68b4db7b2ad62e28f4f6c0 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/9/6/5/1/896514be855e753c50f0e30b1a0e384a9a68b4db7b2ad62e28f4f6c0.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/9/b/7/2/89b72b053e1e45d15f7f77bd17b706e1b4010f0d87afb98ea49c07e1 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/9/b/7/2/89b72b053e1e45d15f7f77bd17b706e1b4010f0d87afb98ea49c07e1.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/a/9/8/c/8a98cf67dec8a2d33fd9e0b916651e7664ecf9dac97e99bcebb334f9 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/a/9/8/c/8a98cf67dec8a2d33fd9e0b916651e7664ecf9dac97e99bcebb334f9.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/d/0/e/1/8d0e104919449355aedb55b5b546bb9fd53f0e1a8ca1b082109464e9.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/f/0/2/c/8f02ceda6b874413150afa5cd29cd5b10e2fcba552cc363083b9d073 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/8/f/0/2/c/8f02ceda6b874413150afa5cd29cd5b10e2fcba552cc363083b9d073.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/2/8/c/7/928c755db48c17282ed7a16aa7cbf0ae7aa370d2e20d939a3292aa75 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/2/8/c/7/928c755db48c17282ed7a16aa7cbf0ae7aa370d2e20d939a3292aa75.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/4/d/0/2/94d022fb6c12e6dc453f3090252f397a80e9c2dbb7341fb45c1b150f +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/4/d/0/2/94d022fb6c12e6dc453f3090252f397a80e9c2dbb7341fb45c1b150f.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/8/8/9/3/98893f0b227721063df57aa66878132bb1592344007b1842b6681340.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/8/a/a/c/98aaccf247f7044601019ac72b3323db416a60a3b922e914db3b02bc.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/9/6/4/b/9964b58defdc05f741bfcb3abd6a4eebcb73af9497c5e6d1c828971c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/9/6/4/b/9964b58defdc05f741bfcb3abd6a4eebcb73af9497c5e6d1c828971c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/a/a/7/5/9aa7515b527eee59a0b02e85169b5a03e55bdc51dd9ff5255db0c90b +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/a/a/7/5/9aa7515b527eee59a0b02e85169b5a03e55bdc51dd9ff5255db0c90b.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/d/0/1/f/9d01f27365759b718ef77536f4a3d30fd989884b0e53418e1275a79d +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/d/0/1/f/9d01f27365759b718ef77536f4a3d30fd989884b0e53418e1275a79d.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/d/5/d/f/9d5dfb0dedf17094821c37079d37c9f4a1256a7dc457c1192cfa1573 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/d/5/d/f/9d5dfb0dedf17094821c37079d37c9f4a1256a7dc457c1192cfa1573.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/d/7/3/1/9d731f2c786de32b646a4a55c324f4853068bfd6c6f1fd7f9a0e296b +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/d/7/3/1/9d731f2c786de32b646a4a55c324f4853068bfd6c6f1fd7f9a0e296b.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/e/2/9/3/9e293f5a39d8466e2b362aa21216c5e4bc32898b0a39bfff792d145e.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/9/f/9/3/7/9f937e100a133ace0f86a717e0ada066b9e9d82f4d2982affb4e0344.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/4/6/b/7/a46b74c1407dd55ebf9eeb7eb2c73000028b7639a6ed9edc7981950c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/6/9/f/7/a69f7807d8670d33b4a34f2be06cdd5812c8d0da9ec20e9dea88a6b5 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/6/9/f/7/a69f7807d8670d33b4a34f2be06cdd5812c8d0da9ec20e9dea88a6b5.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/c/b/4/e/acb4e40f64eef2a73d680e437d7e413b10909b60941ff39f0528cce7 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/c/b/4/e/acb4e40f64eef2a73d680e437d7e413b10909b60941ff39f0528cce7.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/c/f/5/f/acf5f0d5e5d9c652369524c1aa52bc12c871949618d42c9cf23f3425 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/c/f/5/f/acf5f0d5e5d9c652369524c1aa52bc12c871949618d42c9cf23f3425.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/d/0/9/9/ad0993b61e45706eeae6cade19b9ea76c815f37701089250e72421e5 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/d/0/9/9/ad0993b61e45706eeae6cade19b9ea76c815f37701089250e72421e5.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/d/f/d/a/adfdac1a71358ae7b47b92917f8a6af8c5acecccb52b186c45372c03 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/d/f/d/a/adfdac1a71358ae7b47b92917f8a6af8c5acecccb52b186c45372c03.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/e/4/3/7/ae4373cec48f7725665273a898a1c1c6bb89464ae81e2d57d920fc2e +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/e/4/3/7/ae4373cec48f7725665273a898a1c1c6bb89464ae81e2d57d920fc2e.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/f/9/2/4/af924cace590eaa7f5a948286460f4a79ae9e083cd5843c70be7bcdc +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/a/f/9/2/4/af924cace590eaa7f5a948286460f4a79ae9e083cd5843c70be7bcdc.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/0/c/3/0/b0c304a2d0d2dd17cd2e818948220da223f52dfe26c6e170a35508ec +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/0/c/3/0/b0c304a2d0d2dd17cd2e818948220da223f52dfe26c6e170a35508ec.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/2/b/3/5/b2b35b24e6fe74c8ffc02d1a4a1ddbd75ba2a82f3623471ee047b2ed +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/2/b/3/5/b2b35b24e6fe74c8ffc02d1a4a1ddbd75ba2a82f3623471ee047b2ed.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/3/6/c/0/b36c03663a3f9be503a38ab3381e55a1c5e2392e9271c976f5e2b956 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/3/6/c/0/b36c03663a3f9be503a38ab3381e55a1c5e2392e9271c976f5e2b956.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/6/f/4/d/b6f4dcb64ca093b3c3ae363be21ccc40760e60e58f24e7541ab876c7.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/9/3/9/c/b939c4552b20c2f2a36204f6bb1d2e526af7e96070b43b1d2e2e9ae4 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/9/3/9/c/b939c4552b20c2f2a36204f6bb1d2e526af7e96070b43b1d2e2e9ae4.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/b/a/d/c/bbadc07fc383ff650474f2a8246a59ba64776ab6b35809d02400a398.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/c/5/b/a/bc5baf40560ff46e68ca4c99692ddaaf9ca29f999555e36e150ea6f1 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/c/5/b/a/bc5baf40560ff46e68ca4c99692ddaaf9ca29f999555e36e150ea6f1.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/e/d/4/e/bed4e7c2b407105e5c80f6f3c9c9ce06074cd1bc90409700e4489759 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/b/e/d/4/e/bed4e7c2b407105e5c80f6f3c9c9ce06074cd1bc90409700e4489759.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/4/1/9/b/c419b5211317322d2f929c4249b25fb3a2a5deaac5ca898ef2889e82 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/4/1/9/b/c419b5211317322d2f929c4249b25fb3a2a5deaac5ca898ef2889e82.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/5/5/1/6/c5516052911272854847b94d1c7e5dcdda18d04768795c313b9958bc +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/5/5/1/6/c5516052911272854847b94d1c7e5dcdda18d04768795c313b9958bc.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/6/3/0/6/c6306d205b48faecb62eb823053e850df036f38e59b11523829f5c31.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/6/e/e/4/c6ee4aaa63f8847bfbe25565d073b6c57d624c7f7c4708994746c09c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/6/e/e/4/c6ee4aaa63f8847bfbe25565d073b6c57d624c7f7c4708994746c09c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/7/0/c/6/c70c631b8d2fff6b4f7fd6ebc7fad8e500b50f8fa7da0af627bf1f0b +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/7/0/c/6/c70c631b8d2fff6b4f7fd6ebc7fad8e500b50f8fa7da0af627bf1f0b.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/7/7/1/f/c771f1dbbe2a60b07758757a5e715103105323f69596e50cebedebeb +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/7/7/1/f/c771f1dbbe2a60b07758757a5e715103105323f69596e50cebedebeb.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/9/4/a/e/c94ae1695304888e79191be0f465ad0b2a85880ee474d189ee9126ed +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/9/4/a/e/c94ae1695304888e79191be0f465ad0b2a85880ee474d189ee9126ed.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/d/e/c/3/cdec3d0140a615c153130a37691576ea1707e32a1ab5e60ae5a540f4 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/d/e/c/3/cdec3d0140a615c153130a37691576ea1707e32a1ab5e60ae5a540f4.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/e/6/7/6/ce6762d91f1e7c3c4bece64762122d18df14d8f8e7532d5f15dfdb37 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/e/6/7/6/ce6762d91f1e7c3c4bece64762122d18df14d8f8e7532d5f15dfdb37.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/e/8/f/d/ce8fd146fb2bb37feff63c8f224f1a8b178c26a332d13562e417fead +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/e/8/f/d/ce8fd146fb2bb37feff63c8f224f1a8b178c26a332d13562e417fead.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/f/e/5/3/cfe53db609feaba2efb2139916693c3ff859e7f1e6e6e557fbd82ae0 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/c/f/e/5/3/cfe53db609feaba2efb2139916693c3ff859e7f1e6e6e557fbd82ae0.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/0/9/f/6/d09f6ac5e031c49248311012191c6416673b97ee2e299116b629ff88 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/0/9/f/6/d09f6ac5e031c49248311012191c6416673b97ee2e299116b629ff88.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/3/7/f/1/d37f17c4b7b25f8b5df752972b9c2301f59d0c55586cac7f15268689 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/3/7/f/1/d37f17c4b7b25f8b5df752972b9c2301f59d0c55586cac7f15268689.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/5/4/b/b/d54bb21df9a8549867c7c0c30dcdda927be8994b07f4c933db9a04ab +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/5/4/b/b/d54bb21df9a8549867c7c0c30dcdda927be8994b07f4c933db9a04ab.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/5/9/0/b/d590bdf80aa5f6230e0e49a9f10b63aa0c44f77ccd99f25a6ad7841a +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/5/9/0/b/d590bdf80aa5f6230e0e49a9f10b63aa0c44f77ccd99f25a6ad7841a.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/6/b/d/f/d6bdf32d1c16362f083791f397046d0fa2aa6875fb754c605afbef26 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/6/b/d/f/d6bdf32d1c16362f083791f397046d0fa2aa6875fb754c605afbef26.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/8/f/6/6/d8f6658f33493176286485c04b4350d8cca524052cba0aea8d4cb82e +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/8/f/6/6/d8f6658f33493176286485c04b4350d8cca524052cba0aea8d4cb82e.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/a/4/3/1/da431bf4bec8d6d3c8eda94dac7a309e829b61d10ffd31c5d846f4d5 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/a/4/3/1/da431bf4bec8d6d3c8eda94dac7a309e829b61d10ffd31c5d846f4d5.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/c/b/6/1/dcb61fa48ca00e206822fed148e38d1d4494a0b43064c07dcadec607.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/f/1/1/f/df11f101ff0165c7df447aaf1ab175fcd1af98711e498eef0c3d0dfa +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/d/f/1/1/f/df11f101ff0165c7df447aaf1ab175fcd1af98711e498eef0c3d0dfa.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/1/2/c/b/e12cb67639406869a81116005289318bf75720fc4d58ce1eff838d0c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/1/2/c/b/e12cb67639406869a81116005289318bf75720fc4d58ce1eff838d0c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/1/6/2/5/e16255f8dfb39b0298f7cb7edd062dd0d3f7ae4c5014de5fc4e17070 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/1/6/2/5/e16255f8dfb39b0298f7cb7edd062dd0d3f7ae4c5014de5fc4e17070.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/a/c/6/1/eac61126daf80149d2a016f12a54eab5e3b5c1dbc77410ff1a97edc4.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/d/2/5/d/ed25d1bb38edf83d84e0a08c7e2111da8cb788eddb019df7a96d3213.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/d/3/a/c/ed3acad79bebd48e93f9254a4702825f833ffd8119c8d2cbff43abfc +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/e/d/3/a/c/ed3acad79bebd48e93f9254a4702825f833ffd8119c8d2cbff43abfc.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/2/d/a/b/f2dabcdf97e445f98036aadbe7dddc4c9ecb47a8a60783427f548b2c +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/2/d/a/b/f2dabcdf97e445f98036aadbe7dddc4c9ecb47a8a60783427f548b2c.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/3/0/6/9/f3069b463c09d30c7cc1996d8b8a3423c70ff01f7a9e7a62d31aca05 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/3/0/6/9/f3069b463c09d30c7cc1996d8b8a3423c70ff01f7a9e7a62d31aca05.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/9/6/5/9/f9659e50df363f8369e6abe4c4008418f9de6a660e264dbba624109f.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/c/c/6/f/fcc6fbc30e8c9f7e5cfd4f86edead21005705c18238a90d9673eeb47 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/c/c/6/f/fcc6fbc30e8c9f7e5cfd4f86edead21005705c18238a90d9673eeb47.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/d/b/e/3/fdbe380932457c2da0b68a223546fd0f6b84c31a8f4a6b63757becce +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/d/b/e/3/fdbe380932457c2da0b68a223546fd0f6b84c31a8f4a6b63757becce.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/f/6/3/f/ff63f8aee48f79bb6d2cdeff8f7863b5820a3c507a2623f007846bb0 +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/http-v2/f/f/6/3/f/ff63f8aee48f79bb6d2cdeff8f7863b5820a3c507a2623f007846bb0.body +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.cache/pip/selfcheck/fe300af6f7d708c14827daac3afc81fbb8306b73de8dd6e3f1f8ea3b +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.gitignore +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/.gitlab-ci.yml +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/AGENTS.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/ARCHITECTURE.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/BOOTSTRAP.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/backfill.log +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/com.opencode.memory.plist +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/docs/BOOTSTRAP_MEMORIES.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/docs/GITLAB_WORKFLOW_MEMORIES.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/docs/TIPS_FOR_HUMANS.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/flake.lock +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/flake.nix +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/lefthook.yml +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/nix/model.nix +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/nix/module.nix +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/nix/package.nix +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/opencode-mcp-config.json +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/opencode-memory-daemon.service +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/opencode-memory-reload.path +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/opencode-memory-worker.service +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/opencode-memory.service +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/opencode.json +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/.gitignore +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/README.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/package-lock.json +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/package.json +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/src/boot-context-formatter.ts +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/src/context-formatter.ts +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/src/entity-extractor.ts +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/tsconfig.json +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/scripts/backfill_extraction.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/scripts/check-version-sync.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/scripts/reingest_insights.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/scripts/setup.sh +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/scripts/sync-version.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/slack-post-memory-effectiveness.md +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/activity_log.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/backfill_introspection.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/cli.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/config.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/daemon.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/fetcher.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/keywords.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/query.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/storage.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/summarizer.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/tiering.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/bulk_ingest/vectors.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/cache.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/cli.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/config.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/daemon.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/enrichment/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/enrichment/gitlab.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/enrichment/orbit.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/enrichment_worker.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/extraction.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/historical_ingest.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/indexing/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/indexing/code_structure.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/ingestion/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/ingestion/embeddings.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/ingestion/extractors.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/ingestion/opencode_db.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/ingestion/parser.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/ingestion/watcher.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/linking/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/linking/linker.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/llm.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/metrics.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/project.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/query/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/query/hybrid.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/session/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/session/registry.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/spider/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/spider/crawler.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/spider/references.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/storage/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/src/opencode_memory/storage/vectors.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/__init__.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_cache.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_concept_propagation.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_config.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_daemon.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_extraction.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_extractors.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_linking.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_llm.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_opencode_db.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_orbit.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_parser.py +0 -0
- {opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/tests/test_proactive_context.py +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.8.3] - 2026-06-03
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Concurrent subagent MCP connections** - Background tasks that spawned multiple
|
|
15
|
+
subagents at once could fail silently with `MCP error -32000: Connection closed`
|
|
16
|
+
when their `mcp-remote` clients all performed their startup handshake against the
|
|
17
|
+
shared HTTP server simultaneously. Two fixes:
|
|
18
|
+
- `scripts/memory-mcp.sh` now retries `mcp-remote` with exponential backoff
|
|
19
|
+
(up to 5 attempts) so a transient startup-time connection drop recovers instead
|
|
20
|
+
of leaving the subagent without memory access.
|
|
21
|
+
- The HTTP server's rate limiter now exempts loopback addresses (all local
|
|
22
|
+
sessions are trusted) and keys non-local clients by the `X-OpenCode-Session`
|
|
23
|
+
header, so concurrent sessions no longer share a single localhost bucket whose
|
|
24
|
+
limit a startup burst could trip.
|
|
25
|
+
|
|
10
26
|
## [0.8.0] - 2026-06-02
|
|
11
27
|
|
|
12
28
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: opencode-semantic-memory
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.3
|
|
4
4
|
Summary: Persistent semantic memory system for OpenCode sessions
|
|
5
5
|
Author-email: Gregory Havenga <ghavenga@gitlab.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -172,6 +172,41 @@ args = ["--prompt"] # prompt is appended after these args
|
|
|
172
172
|
|
|
173
173
|
**Note:** The proactive context injection feature (automatic memory loading) currently only works with OpenCode via the plugin system. Other LLM providers can still use all memory tools manually.
|
|
174
174
|
|
|
175
|
+
## Updating
|
|
176
|
+
|
|
177
|
+
To update an existing installation, re-run the quick install script. It is idempotent and will pull the latest code, refresh dependencies, and restart the background services:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
curl -fsSL https://gitlab.com/ghavenga/opencode-memory/-/raw/master/scripts/setup.sh | bash
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
The update is **non-destructive** for your data:
|
|
184
|
+
|
|
185
|
+
- Your memory database at `~/.local/share/opencode-memory/memory.db` is not touched
|
|
186
|
+
- Your vector store at `~/.local/share/opencode-memory/vectors/` is not touched
|
|
187
|
+
- Your existing `~/.config/opencode-memory/config.toml` is preserved (the script only writes a default if one does not already exist)
|
|
188
|
+
|
|
189
|
+
The script's `rm -rf` operations are scoped to the install directory (`~/.local/share/opencode-memory-install`) and only trigger when the git checkout or virtual environment is in a broken state. Any uncommitted local changes inside the install directory will be discarded (`git reset --hard` + `git clean -fd`) before the pull.
|
|
190
|
+
|
|
191
|
+
If you want to be extra cautious before a major update, snapshot the data directory first:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Consistent SQLite backup (handles WAL files correctly)
|
|
195
|
+
TS=$(date +%Y%m%d-%H%M%S)
|
|
196
|
+
BACKUP_DIR="$HOME/.local/share/opencode-memory-backups/$TS"
|
|
197
|
+
mkdir -p "$BACKUP_DIR"
|
|
198
|
+
sqlite3 "$HOME/.local/share/opencode-memory/memory.db" ".backup '$BACKUP_DIR/memory.db'"
|
|
199
|
+
cp -R "$HOME/.local/share/opencode-memory/vectors" "$BACKUP_DIR/vectors"
|
|
200
|
+
cp "$HOME/.config/opencode-memory/config.toml" "$BACKUP_DIR/config.toml"
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
After the update, verify the service is healthy:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
curl -s http://127.0.0.1:9824/health
|
|
207
|
+
# {"status":"ok","server":"opencode-memory","daemon":{"running":true}}
|
|
208
|
+
```
|
|
209
|
+
|
|
175
210
|
## Quick Start
|
|
176
211
|
|
|
177
212
|
### 1. Start the Memory Services
|
|
@@ -263,6 +298,10 @@ The setup script automatically builds and configures the plugin if Node.js 20+ i
|
|
|
263
298
|
3. Context is injected into the system prompt before LLM call
|
|
264
299
|
4. AI sees relevant history automatically
|
|
265
300
|
|
|
301
|
+
**Thinking-aware injection:** The plugin also analyzes the assistant's responses to inject context mid-conversation. If the AI is "thinking" about a topic it has prior knowledge of, relevant memories are injected before the next LLM call.
|
|
302
|
+
|
|
303
|
+
**Relevance filtering:** Items with semantic similarity below 0.35 are filtered out to reduce noise. This threshold was tuned based on effectiveness analysis showing low-relevance items had 0% actual usefulness.
|
|
304
|
+
|
|
266
305
|
**Note:** If you're using a different LLM provider (Claude, Duo, Ollama), you'll need to call memory tools explicitly - proactive injection only works with the OpenCode plugin.
|
|
267
306
|
|
|
268
307
|
For more details, see the [plugin documentation](plugin/README.md).
|
|
@@ -412,7 +451,8 @@ Work item queue for tracking todos, MRs to review, and authored MRs. Supports P0
|
|
|
412
451
|
|
|
413
452
|
| Tool | Description |
|
|
414
453
|
|------|-------------|
|
|
415
|
-
| `memory_effectiveness_report(days?)` | Memory usage patterns and suggestions |
|
|
454
|
+
| `memory_effectiveness_report(days?)` | Memory usage patterns, injection effectiveness, and suggestions |
|
|
455
|
+
| `memory_injection_metrics_trend(days?)` | Daily injection metrics over time for tracking improvements |
|
|
416
456
|
| `memory_background_report(days?)` | Background process activity |
|
|
417
457
|
| `memory_tool_metrics(action?, since_hours?)` | MCP tool call timing metrics |
|
|
418
458
|
| `memory_vector_index(action?)` | Manage vector search index |
|
|
@@ -137,6 +137,41 @@ args = ["--prompt"] # prompt is appended after these args
|
|
|
137
137
|
|
|
138
138
|
**Note:** The proactive context injection feature (automatic memory loading) currently only works with OpenCode via the plugin system. Other LLM providers can still use all memory tools manually.
|
|
139
139
|
|
|
140
|
+
## Updating
|
|
141
|
+
|
|
142
|
+
To update an existing installation, re-run the quick install script. It is idempotent and will pull the latest code, refresh dependencies, and restart the background services:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
curl -fsSL https://gitlab.com/ghavenga/opencode-memory/-/raw/master/scripts/setup.sh | bash
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
The update is **non-destructive** for your data:
|
|
149
|
+
|
|
150
|
+
- Your memory database at `~/.local/share/opencode-memory/memory.db` is not touched
|
|
151
|
+
- Your vector store at `~/.local/share/opencode-memory/vectors/` is not touched
|
|
152
|
+
- Your existing `~/.config/opencode-memory/config.toml` is preserved (the script only writes a default if one does not already exist)
|
|
153
|
+
|
|
154
|
+
The script's `rm -rf` operations are scoped to the install directory (`~/.local/share/opencode-memory-install`) and only trigger when the git checkout or virtual environment is in a broken state. Any uncommitted local changes inside the install directory will be discarded (`git reset --hard` + `git clean -fd`) before the pull.
|
|
155
|
+
|
|
156
|
+
If you want to be extra cautious before a major update, snapshot the data directory first:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Consistent SQLite backup (handles WAL files correctly)
|
|
160
|
+
TS=$(date +%Y%m%d-%H%M%S)
|
|
161
|
+
BACKUP_DIR="$HOME/.local/share/opencode-memory-backups/$TS"
|
|
162
|
+
mkdir -p "$BACKUP_DIR"
|
|
163
|
+
sqlite3 "$HOME/.local/share/opencode-memory/memory.db" ".backup '$BACKUP_DIR/memory.db'"
|
|
164
|
+
cp -R "$HOME/.local/share/opencode-memory/vectors" "$BACKUP_DIR/vectors"
|
|
165
|
+
cp "$HOME/.config/opencode-memory/config.toml" "$BACKUP_DIR/config.toml"
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
After the update, verify the service is healthy:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
curl -s http://127.0.0.1:9824/health
|
|
172
|
+
# {"status":"ok","server":"opencode-memory","daemon":{"running":true}}
|
|
173
|
+
```
|
|
174
|
+
|
|
140
175
|
## Quick Start
|
|
141
176
|
|
|
142
177
|
### 1. Start the Memory Services
|
|
@@ -228,6 +263,10 @@ The setup script automatically builds and configures the plugin if Node.js 20+ i
|
|
|
228
263
|
3. Context is injected into the system prompt before LLM call
|
|
229
264
|
4. AI sees relevant history automatically
|
|
230
265
|
|
|
266
|
+
**Thinking-aware injection:** The plugin also analyzes the assistant's responses to inject context mid-conversation. If the AI is "thinking" about a topic it has prior knowledge of, relevant memories are injected before the next LLM call.
|
|
267
|
+
|
|
268
|
+
**Relevance filtering:** Items with semantic similarity below 0.35 are filtered out to reduce noise. This threshold was tuned based on effectiveness analysis showing low-relevance items had 0% actual usefulness.
|
|
269
|
+
|
|
231
270
|
**Note:** If you're using a different LLM provider (Claude, Duo, Ollama), you'll need to call memory tools explicitly - proactive injection only works with the OpenCode plugin.
|
|
232
271
|
|
|
233
272
|
For more details, see the [plugin documentation](plugin/README.md).
|
|
@@ -377,7 +416,8 @@ Work item queue for tracking todos, MRs to review, and authored MRs. Supports P0
|
|
|
377
416
|
|
|
378
417
|
| Tool | Description |
|
|
379
418
|
|------|-------------|
|
|
380
|
-
| `memory_effectiveness_report(days?)` | Memory usage patterns and suggestions |
|
|
419
|
+
| `memory_effectiveness_report(days?)` | Memory usage patterns, injection effectiveness, and suggestions |
|
|
420
|
+
| `memory_injection_metrics_trend(days?)` | Daily injection metrics over time for tracking improvements |
|
|
381
421
|
| `memory_background_report(days?)` | Background process activity |
|
|
382
422
|
| `memory_tool_metrics(action?, since_hours?)` | MCP tool call timing metrics |
|
|
383
423
|
| `memory_vector_index(action?)` | Manage vector search index |
|
|
@@ -225,6 +225,18 @@ export const server: Plugin = async (input, _options) => {
|
|
|
225
225
|
for (const item of context.items) {
|
|
226
226
|
sessionIds.add(item.memory_id);
|
|
227
227
|
}
|
|
228
|
+
|
|
229
|
+
// Log user query injection for effectiveness tracking (fire-and-forget)
|
|
230
|
+
client.logContextEvent({
|
|
231
|
+
sessionId: sessionID,
|
|
232
|
+
eventType: 'user_injection',
|
|
233
|
+
memoryIds: context.items.map((item: { memory_id: number }) => item.memory_id),
|
|
234
|
+
source: 'user_query',
|
|
235
|
+
triggerText: userText.slice(0, 500), // Truncate long queries
|
|
236
|
+
relevanceScore: context.relevance_summary,
|
|
237
|
+
query: context.semantic_query,
|
|
238
|
+
tokens: context.total_tokens,
|
|
239
|
+
}).catch(() => { /* silent */ });
|
|
228
240
|
}
|
|
229
241
|
|
|
230
242
|
// Cache proactive context for system.transform hook
|
|
@@ -484,6 +496,7 @@ export const server: Plugin = async (input, _options) => {
|
|
|
484
496
|
// Inject thinking-based context (from semantic analysis of assistant's last response)
|
|
485
497
|
// This enables proactive injection based on what the assistant is thinking about
|
|
486
498
|
const thinkingContext = sessionThinkingContext.get('_last') ?? sessionThinkingContext.get(sessionID);
|
|
499
|
+
const thinkingTrigger = lastAssistantThinking.get('_last') ?? lastAssistantThinking.get(sessionID);
|
|
487
500
|
if (thinkingContext && thinkingContext.items && thinkingContext.items.length > 0) {
|
|
488
501
|
// Filter out items already injected in this session
|
|
489
502
|
const sessionIds = injectedMemoryIds.get(sessionID) ?? new Set<number>();
|
|
@@ -505,11 +518,25 @@ export const server: Plugin = async (input, _options) => {
|
|
|
505
518
|
for (const item of newItems) {
|
|
506
519
|
updatedSessionIds.add(item.memory_id);
|
|
507
520
|
}
|
|
521
|
+
|
|
522
|
+
// Log the context event for effectiveness tracking (fire-and-forget)
|
|
523
|
+
client.logContextEvent({
|
|
524
|
+
sessionId: sessionID,
|
|
525
|
+
eventType: 'thinking_injection',
|
|
526
|
+
memoryIds: newItems.map(item => item.memory_id),
|
|
527
|
+
source: 'thinking',
|
|
528
|
+
triggerText: thinkingTrigger ?? undefined,
|
|
529
|
+
relevanceScore: thinkingContext.relevance_summary,
|
|
530
|
+
query: thinkingContext.semantic_query,
|
|
531
|
+
tokens: thinkingContext.total_tokens,
|
|
532
|
+
}).catch(() => { /* silent */ });
|
|
508
533
|
}
|
|
509
534
|
|
|
510
535
|
// Clear thinking context after injection (one-shot)
|
|
511
536
|
sessionThinkingContext.delete('_last');
|
|
512
537
|
sessionThinkingContext.delete(sessionID);
|
|
538
|
+
lastAssistantThinking.delete('_last');
|
|
539
|
+
lastAssistantThinking.delete(sessionID);
|
|
513
540
|
}
|
|
514
541
|
},
|
|
515
542
|
};
|
{opencode_semantic_memory-0.8.0 → opencode_semantic_memory-0.8.3}/plugin/src/memory-client.ts
RENAMED
|
@@ -324,6 +324,48 @@ export class MemoryClient {
|
|
|
324
324
|
clearTimeout(timeoutId);
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Log a context event for effectiveness tracking.
|
|
330
|
+
* Supports both user-triggered and thinking-triggered injections.
|
|
331
|
+
*/
|
|
332
|
+
async logContextEvent(params: LogContextEventParams): Promise<void> {
|
|
333
|
+
// Fire and forget - don't block on logging
|
|
334
|
+
const controller = new AbortController();
|
|
335
|
+
const timeoutId = setTimeout(() => controller.abort(), 2000);
|
|
336
|
+
|
|
337
|
+
try {
|
|
338
|
+
const headers: Record<string, string> = {
|
|
339
|
+
'Content-Type': 'application/json',
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
if (this.apiKey) {
|
|
343
|
+
headers['Authorization'] = `Bearer ${this.apiKey}`;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
await fetch(`${this.baseUrl}/context-event`, {
|
|
347
|
+
method: 'POST',
|
|
348
|
+
headers,
|
|
349
|
+
body: JSON.stringify({
|
|
350
|
+
session_id: params.sessionId,
|
|
351
|
+
event_type: params.eventType,
|
|
352
|
+
memory_ids: params.memoryIds,
|
|
353
|
+
source: params.source,
|
|
354
|
+
trigger_text: params.triggerText,
|
|
355
|
+
relevance_score: params.relevanceScore,
|
|
356
|
+
query: params.query,
|
|
357
|
+
turn_number: params.turnNumber,
|
|
358
|
+
tokens: params.tokens,
|
|
359
|
+
}),
|
|
360
|
+
signal: controller.signal,
|
|
361
|
+
});
|
|
362
|
+
// Ignore response - fire and forget
|
|
363
|
+
} catch {
|
|
364
|
+
// Silent failure - logging shouldn't break the plugin
|
|
365
|
+
} finally {
|
|
366
|
+
clearTimeout(timeoutId);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
327
369
|
}
|
|
328
370
|
|
|
329
371
|
export interface WorkspaceInitResponse {
|
|
@@ -351,6 +393,18 @@ export interface LogInjectionParams {
|
|
|
351
393
|
itemsCount?: number;
|
|
352
394
|
}
|
|
353
395
|
|
|
396
|
+
export interface LogContextEventParams {
|
|
397
|
+
sessionId: string;
|
|
398
|
+
eventType: 'injection' | 'thinking_injection' | 'user_injection' | 'boot' | 'recall';
|
|
399
|
+
memoryIds: number[];
|
|
400
|
+
source?: 'user' | 'user_query' | 'thinking' | 'boot' | 'explicit';
|
|
401
|
+
triggerText?: string;
|
|
402
|
+
relevanceScore?: string;
|
|
403
|
+
query?: string;
|
|
404
|
+
turnNumber?: number;
|
|
405
|
+
tokens?: number;
|
|
406
|
+
}
|
|
407
|
+
|
|
354
408
|
export interface BootContextIdsResponse {
|
|
355
409
|
memory_ids: number[];
|
|
356
410
|
}
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "opencode-semantic-memory"
|
|
7
|
-
version = "0.8.
|
|
7
|
+
version = "0.8.3"
|
|
8
8
|
description = "Persistent semantic memory system for OpenCode sessions"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
@@ -52,6 +52,8 @@ opencode-memory = "opencode_memory.cli:main"
|
|
|
52
52
|
opencode-memory-server = "opencode_memory.http_server:main"
|
|
53
53
|
opencode-memory-daemon = "opencode_memory.daemon:main"
|
|
54
54
|
opencode-memory-worker = "opencode_memory.background_worker:main"
|
|
55
|
+
# New job-based worker (Sidekiq-like)
|
|
56
|
+
opencode-memory-job-worker = "opencode_memory.jobs.worker:main"
|
|
55
57
|
# Bulk ingestion commands
|
|
56
58
|
opencode-memory-bulk-ingest = "opencode_memory.bulk_ingest.cli:main"
|
|
57
59
|
opencode-memory-bulk-ingest-daemon = "opencode_memory.bulk_ingest.daemon:main"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Wrapper script for opencode-memory MCP server
|
|
3
|
+
# Connects to the HTTP server via mcp-remote
|
|
4
|
+
#
|
|
5
|
+
# Prerequisites:
|
|
6
|
+
# Linux: systemctl --user enable --now opencode-memory
|
|
7
|
+
# macOS: launchctl load ~/Library/LaunchAgents/com.opencode.memory.plist
|
|
8
|
+
|
|
9
|
+
set -e
|
|
10
|
+
|
|
11
|
+
SERVER_URL="http://localhost:9824"
|
|
12
|
+
|
|
13
|
+
# Quick health check (fail fast if server not running)
|
|
14
|
+
if ! curl -s --max-time 1 "$SERVER_URL/health" >/dev/null 2>&1; then
|
|
15
|
+
OS="$(uname -s)"
|
|
16
|
+
case "$OS" in
|
|
17
|
+
Linux*)
|
|
18
|
+
echo "Memory server not running. Start it with: systemctl --user start opencode-memory" >&2
|
|
19
|
+
;;
|
|
20
|
+
Darwin*)
|
|
21
|
+
echo "Memory server not running. Start it with: launchctl load ~/Library/LaunchAgents/com.opencode.memory.plist" >&2
|
|
22
|
+
;;
|
|
23
|
+
*)
|
|
24
|
+
echo "Memory server not running at $SERVER_URL" >&2
|
|
25
|
+
;;
|
|
26
|
+
esac
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
# Resolve the mcp-remote command (locally installed is faster than npx)
|
|
31
|
+
if [ -x "$HOME/.local/bin/mcp-remote" ]; then
|
|
32
|
+
MCP_REMOTE=("$HOME/.local/bin/mcp-remote")
|
|
33
|
+
elif command -v mcp-remote >/dev/null 2>&1; then
|
|
34
|
+
MCP_REMOTE=(mcp-remote)
|
|
35
|
+
else
|
|
36
|
+
MCP_REMOTE=(npx --yes mcp-remote)
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
# Start mcp-remote with retry/backoff to absorb transient "Connection closed"
|
|
40
|
+
# failures that occur when many subagents start concurrently (thundering herd
|
|
41
|
+
# against the shared HTTP server). A clean long-running proxy never returns 0
|
|
42
|
+
# here, so a fast non-zero exit means a startup-time connection drop worth retrying.
|
|
43
|
+
MAX_ATTEMPTS=5
|
|
44
|
+
attempt=1
|
|
45
|
+
while true; do
|
|
46
|
+
start_ts=$(date +%s)
|
|
47
|
+
# Disable errexit around the proxy call; we handle its exit code explicitly.
|
|
48
|
+
set +e
|
|
49
|
+
"${MCP_REMOTE[@]}" "$SERVER_URL/mcp"
|
|
50
|
+
exit_code=$?
|
|
51
|
+
set -e
|
|
52
|
+
elapsed=$(( $(date +%s) - start_ts ))
|
|
53
|
+
|
|
54
|
+
# Exited cleanly, or ran long enough to be a real session (not a startup
|
|
55
|
+
# collision): propagate the exit code and stop.
|
|
56
|
+
if [ "$exit_code" -eq 0 ] || [ "$elapsed" -ge 10 ] || [ "$attempt" -ge "$MAX_ATTEMPTS" ]; then
|
|
57
|
+
exit "$exit_code"
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
# Transient startup failure: back off (2s, 4s, 6s, 8s) and retry.
|
|
61
|
+
backoff=$(( attempt * 2 ))
|
|
62
|
+
echo "memory-mcp: mcp-remote exited ($exit_code) after ${elapsed}s on attempt ${attempt}; retrying in ${backoff}s" >&2
|
|
63
|
+
sleep "$backoff"
|
|
64
|
+
attempt=$(( attempt + 1 ))
|
|
65
|
+
done
|
|
File without changes
|