opencode-semantic-memory 0.5.1__tar.gz → 0.6.0__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.6.0/.cache/pip/http-v2/0/0/d/f/d/00dfda658f2fcde6926308004100798ad2247e2f45d1313ebfef973d +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/1/a/a/9/3/1aa93177f63584761c951c731336f631596e12d3b4e0b67c5c164470 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/0/0/d/f/d/00dfda658f2fcde6926308004100798ad2247e2f45d1313ebfef973d → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/1/f/d/9/a/1fd9ade2b751542e96db097082f121ecac23098b3cd95c8a877f0716 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/3/8/4/d/c/384dc122488f965cecab29f1722d1db789313763e22373f38c7fbbef → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/2/a/8/c/5/2a8c5a56aa7e75a42e474464b0e75e78380050445086fa2e6626b678 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/e/5/b/6/2e5b6ced06806dcc8a76919087cfc0d76c4240a8acb8d34511ad15d6 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/2/e/5/b/6/2e5b6ced06806dcc8a76919087cfc0d76c4240a8acb8d34511ad15d6.body +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/3/2/7/f/0/327f0380de23010729d12b6a8a48f24b952353d527064c8bf3cfd875 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/3/6/1/b/f/361bf053ab706a1212f013301d35a0c4b0af9cd8cc559d24c73d6a6f +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/3/8/4/d/c/384dc122488f965cecab29f1722d1db789313763e22373f38c7fbbef +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/b/6/f/4/d/b6f4dcb64ca093b3c3ae363be21ccc40760e60e58f24e7541ab876c7 → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/4/b/e/0/7/4be07d3ac353e38d2c9e3a257cad36ee2a758fc88b4cd5f0d479a5a9 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/2/a/8/c/5/2a8c5a56aa7e75a42e474464b0e75e78380050445086fa2e6626b678 → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/5/b/5/7/6/5b576ddc69cb2cda42f61333b85f066e4990a5eab5c96e0670cbb445 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/4/b/e/0/7/4be07d3ac353e38d2c9e3a257cad36ee2a758fc88b4cd5f0d479a5a9 → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/5/b/d/8/9/5bd894eeb3dfe1c8aaee1daecdfb74bbb314293813a730238621f077 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/6/c/3/7/f/6c37fbfdf697cce77ac3a3add5b61c639e47de9b9b9d1eb63cf429d5 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/6/e/b/6/c/6eb6c130f2e60d2739ddb376352e395a8d86e4f80b402f5f7854d07d +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/7/3/3/0/8/73308e5c1402c6bb3b38e3b0f1deabe3b20b6248ed18126597a2a901 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/7/3/3/0/8/73308e5c1402c6bb3b38e3b0f1deabe3b20b6248ed18126597a2a901.body +108 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/7/a/5/f/7/7a5f717e7b3fb99ec006f4d173aad55224eb063005c662c586ba0518 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/1/a/a/9/3/1aa93177f63584761c951c731336f631596e12d3b4e0b67c5c164470 → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/d/0/e/1/8d0e104919449355aedb55b5b546bb9fd53f0e1a8ca1b082109464e9 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/8/8/9/3/98893f0b227721063df57aa66878132bb1592344007b1842b6681340 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/8/a/a/c/98aaccf247f7044601019ac72b3323db416a60a3b922e914db3b02bc +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/e/2/9/3/9e293f5a39d8466e2b362aa21216c5e4bc32898b0a39bfff792d145e +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/f/9/3/7/9f937e100a133ace0f86a717e0ada066b9e9d82f4d2982affb4e0344 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa → opencode_semantic_memory-0.6.0/.cache/pip/http-v2/a/4/6/b/7/a46b74c1407dd55ebf9eeb7eb2c73000028b7639a6ed9edc7981950c +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/a/e/4/3/7/ae4373cec48f7725665273a898a1c1c6bb89464ae81e2d57d920fc2e +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/a/e/4/3/7/ae4373cec48f7725665273a898a1c1c6bb89464ae81e2d57d920fc2e.body +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/b/6/f/4/d/b6f4dcb64ca093b3c3ae363be21ccc40760e60e58f24e7541ab876c7 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/b/a/d/c/bbadc07fc383ff650474f2a8246a59ba64776ab6b35809d02400a398 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/c/6/3/0/6/c6306d205b48faecb62eb823053e850df036f38e59b11523829f5c31 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/c/b/6/1/dcb61fa48ca00e206822fed148e38d1d4494a0b43064c07dcadec607 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/e/a/c/6/1/eac61126daf80149d2a016f12a54eab5e3b5c1dbc77410ff1a97edc4 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/e/d/2/5/d/ed25d1bb38edf83d84e0a08c7e2111da8cb788eddb019df7a96d3213 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2 +0 -0
- opencode_semantic_memory-0.6.0/.cache/pip/http-v2/f/9/6/5/9/f9659e50df363f8369e6abe4c4008418f9de6a660e264dbba624109f +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/PKG-INFO +11 -26
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/README.md +10 -25
- opencode_semantic_memory-0.6.0/plugin/src/boot-context-formatter.ts +147 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/src/index.ts +80 -41
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/src/memory-client.ts +162 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/pyproject.toml +1 -1
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/scripts/setup.sh +48 -46
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/http_server.py +94 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/proactive_context.py +2 -2
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/server.py +66 -7
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/storage/sqlite.py +316 -12
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/1/f/d/9/a/1fd9ade2b751542e96db097082f121ecac23098b3cd95c8a877f0716 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/2/e/5/b/6/2e5b6ced06806dcc8a76919087cfc0d76c4240a8acb8d34511ad15d6.body +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/3/2/7/f/0/327f0380de23010729d12b6a8a48f24b952353d527064c8bf3cfd875 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/3/6/1/b/f/361bf053ab706a1212f013301d35a0c4b0af9cd8cc559d24c73d6a6f +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/5/b/5/7/6/5b576ddc69cb2cda42f61333b85f066e4990a5eab5c96e0670cbb445 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/5/b/d/8/9/5bd894eeb3dfe1c8aaee1daecdfb74bbb314293813a730238621f077 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/6/c/3/7/f/6c37fbfdf697cce77ac3a3add5b61c639e47de9b9b9d1eb63cf429d5 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/6/e/b/6/c/6eb6c130f2e60d2739ddb376352e395a8d86e4f80b402f5f7854d07d +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/7/a/5/f/7/7a5f717e7b3fb99ec006f4d173aad55224eb063005c662c586ba0518 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/a/4/6/b/7/a46b74c1407dd55ebf9eeb7eb2c73000028b7639a6ed9edc7981950c +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/c/6/3/0/6/c6306d205b48faecb62eb823053e850df036f38e59b11523829f5c31 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/e/a/c/6/1/eac61126daf80149d2a016f12a54eab5e3b5c1dbc77410ff1a97edc4 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2 +0 -0
- opencode_semantic_memory-0.5.1/.cache/pip/http-v2/f/9/6/5/9/f9659e50df363f8369e6abe4c4008418f9de6a660e264dbba624109f +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/0/d/f/d/00dfda658f2fcde6926308004100798ad2247e2f45d1313ebfef973d.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/2/1/0/5/02105206f60ee8a62c7d923e21bb4bd2d8f3db94c5bb87bd806d5e74 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/2/1/0/5/02105206f60ee8a62c7d923e21bb4bd2d8f3db94c5bb87bd806d5e74.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/4/3/c/5/043c5436ab58fe00f4947e073da46878751ec535f5fb37ee31d056d4 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/4/3/c/5/043c5436ab58fe00f4947e073da46878751ec535f5fb37ee31d056d4.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/a/6/b/7/0a6b76df38e61ac4e1f757a1132d2c6424dcb9c23751423afee448ac +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/a/6/b/7/0a6b76df38e61ac4e1f757a1132d2c6424dcb9c23751423afee448ac.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/e/0/5/5/0e055813e840b7b873253f9f5c1cd4a7b06e0256c8de713dec25b93d +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/e/0/5/5/0e055813e840b7b873253f9f5c1cd4a7b06e0256c8de713dec25b93d.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/0/e/d/3/3/0ed336d749e009fe1267c844e36c442e5b3dc645d5eb9865c545b81a.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/0/b/2/a/10b2a8b62ea67a4cd49d0d353a09c43832fb02ba7b3a804e29c73417 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/0/b/2/a/10b2a8b62ea67a4cd49d0d353a09c43832fb02ba7b3a804e29c73417.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/1/4/a/4/114a432b2bd8b6284c600aa9e3f2bd6b180cacf11a94027a1a3ebafd +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/1/4/a/4/114a432b2bd8b6284c600aa9e3f2bd6b180cacf11a94027a1a3ebafd.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/1/5/8/4/11584f31ec41215071940705e8c92c248476c2eb9f8321e581bc327d +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/1/5/8/4/11584f31ec41215071940705e8c92c248476c2eb9f8321e581bc327d.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/2/1/8/1/121816d8cda4aebb8eef187064632e8ae9502de5f2c95b48f84a7404 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/2/1/8/1/121816d8cda4aebb8eef187064632e8ae9502de5f2c95b48f84a7404.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/5/9/c/5/159c56e4ec3c8e71dacef647c600365ad192876d095dd29b5b5c8ace +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/5/9/c/5/159c56e4ec3c8e71dacef647c600365ad192876d095dd29b5b5c8ace.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/7/1/4/7/1714748212f1de43b155667695179ce5864620d5dacb8cf4aed74142 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/7/1/4/7/1714748212f1de43b155667695179ce5864620d5dacb8cf4aed74142.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/a/a/9/3/1aa93177f63584761c951c731336f631596e12d3b4e0b67c5c164470.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/c/8/1/b/1c81b93817f31aa9418642808feaab487be448dbe0773e4bd01b9229 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/c/8/1/b/1c81b93817f31aa9418642808feaab487be448dbe0773e4bd01b9229.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/c/c/f/2/1ccf222879210db389c3a9cad286511f6d242e8f0f9678f4322d324c +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/c/c/f/2/1ccf222879210db389c3a9cad286511f6d242e8f0f9678f4322d324c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/1/f/d/9/a/1fd9ade2b751542e96db097082f121ecac23098b3cd95c8a877f0716.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/8/3/9/a/2839a1e60014c8f0cdf9453a6036b2fef7bf06342761e3d37258b029.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/8/9/c/6/289c6f7419360f0297e671f8a8d5f9af72c5243124e001a3663cac72 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/8/9/c/6/289c6f7419360f0297e671f8a8d5f9af72c5243124e001a3663cac72.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/a/8/c/5/2a8c5a56aa7e75a42e474464b0e75e78380050445086fa2e6626b678.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/b/0/a/4/2b0a4fda1a2c912a5a1c5245a8b34b5da87876e311f607befabc98ee +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/b/0/a/4/2b0a4fda1a2c912a5a1c5245a8b34b5da87876e311f607befabc98ee.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/b/4/a/8/2b4a8461b0c542cab777b0b365023942af997bbb25607ac8b3782391 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/2/b/4/a/8/2b4a8461b0c542cab777b0b365023942af997bbb25607ac8b3782391.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/2/7/f/0/327f0380de23010729d12b6a8a48f24b952353d527064c8bf3cfd875.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/3/5/e/4/335e4fae780121b49f966edba3e2b1f1f00b06637723db2e7e731f26 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/3/5/e/4/335e4fae780121b49f966edba3e2b1f1f00b06637723db2e7e731f26.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/4/f/3/5/34f35e68224a7918339af3f1e6f6dfcfd5192fd17c6ebb73cd6dd91a +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/4/f/3/5/34f35e68224a7918339af3f1e6f6dfcfd5192fd17c6ebb73cd6dd91a.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/6/1/b/f/361bf053ab706a1212f013301d35a0c4b0af9cd8cc559d24c73d6a6f.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/6/7/8/5/36785bb40858912d7449d47de604d597609db89b1962e5e1e238542b +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/6/7/8/5/36785bb40858912d7449d47de604d597609db89b1962e5e1e238542b.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/6/a/5/d/36a5d6132567ff173f730ddcc6ab65962d399aaa9f302927ca97b3eb +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/6/a/5/d/36a5d6132567ff173f730ddcc6ab65962d399aaa9f302927ca97b3eb.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/8/4/d/c/384dc122488f965cecab29f1722d1db789313763e22373f38c7fbbef.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/9/8/1/3/398134aaeacada9feb8b12654a25e878c4f41490786622fc606a7a1c +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/9/8/1/3/398134aaeacada9feb8b12654a25e878c4f41490786622fc606a7a1c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/f/e/c/3/3fec34894257a80934e9246a0a3053a6a96740587f3ddbf5b4fa6f02 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/3/f/e/c/3/3fec34894257a80934e9246a0a3053a6a96740587f3ddbf5b4fa6f02.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/1/e/3/c/41e3c68bb5038e20a3418971e070f9076b9eaa6e2c345d3e7f55e6b3 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/1/e/3/c/41e3c68bb5038e20a3418971e070f9076b9eaa6e2c345d3e7f55e6b3.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/3/6/8/4/436846b847c9c90a13539a872e2084e3f9ca23eb93b4b1cc44b55964 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/3/6/8/4/436846b847c9c90a13539a872e2084e3f9ca23eb93b4b1cc44b55964.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/3/9/4/0/43940c1ffa291a23244e10de06849b33fae6638badc063f4ade3cc1a +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/3/9/4/0/43940c1ffa291a23244e10de06849b33fae6638badc063f4ade3cc1a.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/4/e/5/b/44e5b11a6caa92636d8ccfe658d420ba4ed8f67f7f4e835b214255aa.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/5/8/c/7/458c7a7721c5d95619ebccea457715f5b1720258d02ce8362016a55c +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/5/8/c/7/458c7a7721c5d95619ebccea457715f5b1720258d02ce8362016a55c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/7/7/4/2/47742615f5189ebbf61bb31c8c50f7f39cc38c5173f10ec7146e3989 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/7/7/4/2/47742615f5189ebbf61bb31c8c50f7f39cc38c5173f10ec7146e3989.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/8/3/8/e/4838e51432c6c88a78b5234e817caf0cf3bf1c3fc933f4861329b80f +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/8/3/8/e/4838e51432c6c88a78b5234e817caf0cf3bf1c3fc933f4861329b80f.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/b/e/0/7/4be07d3ac353e38d2c9e3a257cad36ee2a758fc88b4cd5f0d479a5a9.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/c/7/5/1/4c751248c578c4b8d67722e607a019d0909438b8cbe82066c393dfde +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/c/7/5/1/4c751248c578c4b8d67722e607a019d0909438b8cbe82066c393dfde.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/e/7/a/c/4e7ac19406cd6f20bb5f8145cca2f74c5f704ef378b0f4334628b440 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/4/e/7/a/c/4e7ac19406cd6f20bb5f8145cca2f74c5f704ef378b0f4334628b440.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/5/9/a/2/559a28d2d50a6d0988e3c56e5d0d411789da84005e4420f1a26bb23e +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/5/9/a/2/559a28d2d50a6d0988e3c56e5d0d411789da84005e4420f1a26bb23e.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/b/5/7/6/5b576ddc69cb2cda42f61333b85f066e4990a5eab5c96e0670cbb445.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/b/d/8/9/5bd894eeb3dfe1c8aaee1daecdfb74bbb314293813a730238621f077.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/d/5/7/5/5d575692ffb3194739604e9e1622e2fa8c882afc9517932bd2ce40df +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/5/d/5/7/5/5d575692ffb3194739604e9e1622e2fa8c882afc9517932bd2ce40df.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/6/2/e/2/c/62e2caaadb9fd2d0a88b65a7d2043b2c343936491ef44dc753aa91e0.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/6/c/3/7/f/6c37fbfdf697cce77ac3a3add5b61c639e47de9b9b9d1eb63cf429d5.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/6/e/b/6/c/6eb6c130f2e60d2739ddb376352e395a8d86e4f80b402f5f7854d07d.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/6/e/f/c/7/6efc76a8ab292a15bc9bca02c950f72e1ce263d0a701323e9af5a358 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/6/e/f/c/7/6efc76a8ab292a15bc9bca02c950f72e1ce263d0a701323e9af5a358.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/0/b/9/c/70b9c022893d41f3d2b5cd47c3935b21f2c02945201dbf0acd4f302c +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/0/b/9/c/70b9c022893d41f3d2b5cd47c3935b21f2c02945201dbf0acd4f302c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/2/f/6/0/72f60d542675f65a9677981499f07ae27fe97e3ac82f8e2224d72113 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/2/f/6/0/72f60d542675f65a9677981499f07ae27fe97e3ac82f8e2224d72113.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/6/f/a/7/76fa74418db194f57a03dff1a0900e3bb30fca5fcb07e76f411cd937 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/6/f/a/7/76fa74418db194f57a03dff1a0900e3bb30fca5fcb07e76f411cd937.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/7/4/6/9/77469a77c0c5007f8e0ef36b73b2bdb8cbe7d9c8be102fd7d4efaf35 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/7/4/6/9/77469a77c0c5007f8e0ef36b73b2bdb8cbe7d9c8be102fd7d4efaf35.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/7/a/5/f/7/7a5f717e7b3fb99ec006f4d173aad55224eb063005c662c586ba0518.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/2/6/f/6/826f657d92b77c09dc5003a2b07bdbf9bb82259638dc4579ee230b4d +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/2/6/f/6/826f657d92b77c09dc5003a2b07bdbf9bb82259638dc4579ee230b4d.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/3/d/e/5/83de5cc65dfecf3a6e4c4c0025f0873b77d3c9243e6a038bd0ca39b9 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/3/d/e/5/83de5cc65dfecf3a6e4c4c0025f0873b77d3c9243e6a038bd0ca39b9.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/6/c/3/3/86c33a8b2bab9735c4478352d670d16d3abe4f1a006f7c8e395d413f +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/6/c/3/3/86c33a8b2bab9735c4478352d670d16d3abe4f1a006f7c8e395d413f.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/8/f/0/6/88f06a944c734c3736badbb02d887cddfeb74de4f837c06db79e749c +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/8/f/0/6/88f06a944c734c3736badbb02d887cddfeb74de4f837c06db79e749c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/9/6/5/1/896514be855e753c50f0e30b1a0e384a9a68b4db7b2ad62e28f4f6c0 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/9/6/5/1/896514be855e753c50f0e30b1a0e384a9a68b4db7b2ad62e28f4f6c0.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/a/9/8/c/8a98cf67dec8a2d33fd9e0b916651e7664ecf9dac97e99bcebb334f9 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/a/9/8/c/8a98cf67dec8a2d33fd9e0b916651e7664ecf9dac97e99bcebb334f9.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/b/2/4/2/8b24226e2da88df4abeee0d8ca6bce79b19ca2bcd5f94b543939c66c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/c/5/4/2/8c54213ac80b2536d9dbc88d24229468300e07d0d4883935e180e4d8.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/d/0/e/1/8d0e104919449355aedb55b5b546bb9fd53f0e1a8ca1b082109464e9.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/f/0/2/c/8f02ceda6b874413150afa5cd29cd5b10e2fcba552cc363083b9d073 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/8/f/0/2/c/8f02ceda6b874413150afa5cd29cd5b10e2fcba552cc363083b9d073.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/2/8/c/7/928c755db48c17282ed7a16aa7cbf0ae7aa370d2e20d939a3292aa75 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/2/8/c/7/928c755db48c17282ed7a16aa7cbf0ae7aa370d2e20d939a3292aa75.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/4/d/0/2/94d022fb6c12e6dc453f3090252f397a80e9c2dbb7341fb45c1b150f +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/4/d/0/2/94d022fb6c12e6dc453f3090252f397a80e9c2dbb7341fb45c1b150f.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/8/8/9/3/98893f0b227721063df57aa66878132bb1592344007b1842b6681340.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/8/a/a/c/98aaccf247f7044601019ac72b3323db416a60a3b922e914db3b02bc.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/9/6/4/b/9964b58defdc05f741bfcb3abd6a4eebcb73af9497c5e6d1c828971c +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/9/6/4/b/9964b58defdc05f741bfcb3abd6a4eebcb73af9497c5e6d1c828971c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/a/a/7/5/9aa7515b527eee59a0b02e85169b5a03e55bdc51dd9ff5255db0c90b +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/a/a/7/5/9aa7515b527eee59a0b02e85169b5a03e55bdc51dd9ff5255db0c90b.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/d/0/1/f/9d01f27365759b718ef77536f4a3d30fd989884b0e53418e1275a79d +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/d/0/1/f/9d01f27365759b718ef77536f4a3d30fd989884b0e53418e1275a79d.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/d/5/d/f/9d5dfb0dedf17094821c37079d37c9f4a1256a7dc457c1192cfa1573 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/d/5/d/f/9d5dfb0dedf17094821c37079d37c9f4a1256a7dc457c1192cfa1573.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/e/2/9/3/9e293f5a39d8466e2b362aa21216c5e4bc32898b0a39bfff792d145e.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/e/d/3/7/9ed377a761861346a483546ee4ebbe92a83f2d3a40e917849c2eb140.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/9/f/9/3/7/9f937e100a133ace0f86a717e0ada066b9e9d82f4d2982affb4e0344.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/1/9/5/3/a19537d3cf37c122db841d6fe4cd322bc10d1a558bb00d146b85cb9a.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/4/6/b/7/a46b74c1407dd55ebf9eeb7eb2c73000028b7639a6ed9edc7981950c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/6/9/f/7/a69f7807d8670d33b4a34f2be06cdd5812c8d0da9ec20e9dea88a6b5 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/6/9/f/7/a69f7807d8670d33b4a34f2be06cdd5812c8d0da9ec20e9dea88a6b5.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/c/b/4/e/acb4e40f64eef2a73d680e437d7e413b10909b60941ff39f0528cce7 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/c/b/4/e/acb4e40f64eef2a73d680e437d7e413b10909b60941ff39f0528cce7.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/d/f/d/a/adfdac1a71358ae7b47b92917f8a6af8c5acecccb52b186c45372c03 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/d/f/d/a/adfdac1a71358ae7b47b92917f8a6af8c5acecccb52b186c45372c03.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/f/9/2/4/af924cace590eaa7f5a948286460f4a79ae9e083cd5843c70be7bcdc +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/a/f/9/2/4/af924cace590eaa7f5a948286460f4a79ae9e083cd5843c70be7bcdc.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/0/c/3/0/b0c304a2d0d2dd17cd2e818948220da223f52dfe26c6e170a35508ec +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/0/c/3/0/b0c304a2d0d2dd17cd2e818948220da223f52dfe26c6e170a35508ec.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/2/b/3/5/b2b35b24e6fe74c8ffc02d1a4a1ddbd75ba2a82f3623471ee047b2ed +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/2/b/3/5/b2b35b24e6fe74c8ffc02d1a4a1ddbd75ba2a82f3623471ee047b2ed.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/3/6/c/0/b36c03663a3f9be503a38ab3381e55a1c5e2392e9271c976f5e2b956 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/3/6/c/0/b36c03663a3f9be503a38ab3381e55a1c5e2392e9271c976f5e2b956.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/6/f/4/d/b6f4dcb64ca093b3c3ae363be21ccc40760e60e58f24e7541ab876c7.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/9/3/9/c/b939c4552b20c2f2a36204f6bb1d2e526af7e96070b43b1d2e2e9ae4 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/9/3/9/c/b939c4552b20c2f2a36204f6bb1d2e526af7e96070b43b1d2e2e9ae4.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/b/a/d/c/bbadc07fc383ff650474f2a8246a59ba64776ab6b35809d02400a398.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/c/5/b/a/bc5baf40560ff46e68ca4c99692ddaaf9ca29f999555e36e150ea6f1 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/c/5/b/a/bc5baf40560ff46e68ca4c99692ddaaf9ca29f999555e36e150ea6f1.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/e/d/4/e/bed4e7c2b407105e5c80f6f3c9c9ce06074cd1bc90409700e4489759 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/b/e/d/4/e/bed4e7c2b407105e5c80f6f3c9c9ce06074cd1bc90409700e4489759.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/4/1/9/b/c419b5211317322d2f929c4249b25fb3a2a5deaac5ca898ef2889e82 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/4/1/9/b/c419b5211317322d2f929c4249b25fb3a2a5deaac5ca898ef2889e82.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/5/5/1/6/c5516052911272854847b94d1c7e5dcdda18d04768795c313b9958bc +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/5/5/1/6/c5516052911272854847b94d1c7e5dcdda18d04768795c313b9958bc.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/6/3/0/6/c6306d205b48faecb62eb823053e850df036f38e59b11523829f5c31.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/6/e/e/4/c6ee4aaa63f8847bfbe25565d073b6c57d624c7f7c4708994746c09c +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/6/e/e/4/c6ee4aaa63f8847bfbe25565d073b6c57d624c7f7c4708994746c09c.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/7/0/c/6/c70c631b8d2fff6b4f7fd6ebc7fad8e500b50f8fa7da0af627bf1f0b +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/7/0/c/6/c70c631b8d2fff6b4f7fd6ebc7fad8e500b50f8fa7da0af627bf1f0b.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/7/7/1/f/c771f1dbbe2a60b07758757a5e715103105323f69596e50cebedebeb +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/7/7/1/f/c771f1dbbe2a60b07758757a5e715103105323f69596e50cebedebeb.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/9/4/a/e/c94ae1695304888e79191be0f465ad0b2a85880ee474d189ee9126ed +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/9/4/a/e/c94ae1695304888e79191be0f465ad0b2a85880ee474d189ee9126ed.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/d/2/3/6/cd2366d413a2e8e87377cfadece7d8173562ece48b2be25218d5714a.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/d/e/c/3/cdec3d0140a615c153130a37691576ea1707e32a1ab5e60ae5a540f4 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/d/e/c/3/cdec3d0140a615c153130a37691576ea1707e32a1ab5e60ae5a540f4.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/e/6/7/6/ce6762d91f1e7c3c4bece64762122d18df14d8f8e7532d5f15dfdb37 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/e/6/7/6/ce6762d91f1e7c3c4bece64762122d18df14d8f8e7532d5f15dfdb37.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/e/8/f/d/ce8fd146fb2bb37feff63c8f224f1a8b178c26a332d13562e417fead +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/e/8/f/d/ce8fd146fb2bb37feff63c8f224f1a8b178c26a332d13562e417fead.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/f/e/5/3/cfe53db609feaba2efb2139916693c3ff859e7f1e6e6e557fbd82ae0 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/c/f/e/5/3/cfe53db609feaba2efb2139916693c3ff859e7f1e6e6e557fbd82ae0.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/3/7/f/1/d37f17c4b7b25f8b5df752972b9c2301f59d0c55586cac7f15268689 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/3/7/f/1/d37f17c4b7b25f8b5df752972b9c2301f59d0c55586cac7f15268689.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/5/4/b/b/d54bb21df9a8549867c7c0c30dcdda927be8994b07f4c933db9a04ab +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/5/4/b/b/d54bb21df9a8549867c7c0c30dcdda927be8994b07f4c933db9a04ab.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/5/9/0/b/d590bdf80aa5f6230e0e49a9f10b63aa0c44f77ccd99f25a6ad7841a +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/5/9/0/b/d590bdf80aa5f6230e0e49a9f10b63aa0c44f77ccd99f25a6ad7841a.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/6/b/d/f/d6bdf32d1c16362f083791f397046d0fa2aa6875fb754c605afbef26 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/6/b/d/f/d6bdf32d1c16362f083791f397046d0fa2aa6875fb754c605afbef26.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/8/f/6/6/d8f6658f33493176286485c04b4350d8cca524052cba0aea8d4cb82e +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/8/f/6/6/d8f6658f33493176286485c04b4350d8cca524052cba0aea8d4cb82e.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/a/4/3/1/da431bf4bec8d6d3c8eda94dac7a309e829b61d10ffd31c5d846f4d5 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/a/4/3/1/da431bf4bec8d6d3c8eda94dac7a309e829b61d10ffd31c5d846f4d5.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/c/b/6/1/dcb61fa48ca00e206822fed148e38d1d4494a0b43064c07dcadec607.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/f/1/1/f/df11f101ff0165c7df447aaf1ab175fcd1af98711e498eef0c3d0dfa +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/d/f/1/1/f/df11f101ff0165c7df447aaf1ab175fcd1af98711e498eef0c3d0dfa.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/e/1/6/2/5/e16255f8dfb39b0298f7cb7edd062dd0d3f7ae4c5014de5fc4e17070 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/e/1/6/2/5/e16255f8dfb39b0298f7cb7edd062dd0d3f7ae4c5014de5fc4e17070.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/e/a/c/6/1/eac61126daf80149d2a016f12a54eab5e3b5c1dbc77410ff1a97edc4.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/e/d/2/5/d/ed25d1bb38edf83d84e0a08c7e2111da8cb788eddb019df7a96d3213.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/e/d/3/a/c/ed3acad79bebd48e93f9254a4702825f833ffd8119c8d2cbff43abfc +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/e/d/3/a/c/ed3acad79bebd48e93f9254a4702825f833ffd8119c8d2cbff43abfc.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/3/6/d/5/f36d58c71164036f2cff3c9d0bb0c2b4d1d94bd0814c26b9cbe036b2.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/9/6/5/9/f9659e50df363f8369e6abe4c4008418f9de6a660e264dbba624109f.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/9/9/b/3/f99b3487d2b9c55edcd311aeafa35cbf852ab2cc5c3f5d1a1a08e2b5.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/c/c/6/f/fcc6fbc30e8c9f7e5cfd4f86edead21005705c18238a90d9673eeb47 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/c/c/6/f/fcc6fbc30e8c9f7e5cfd4f86edead21005705c18238a90d9673eeb47.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/d/b/e/3/fdbe380932457c2da0b68a223546fd0f6b84c31a8f4a6b63757becce +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/d/b/e/3/fdbe380932457c2da0b68a223546fd0f6b84c31a8f4a6b63757becce.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/f/6/3/f/ff63f8aee48f79bb6d2cdeff8f7863b5820a3c507a2623f007846bb0 +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/http-v2/f/f/6/3/f/ff63f8aee48f79bb6d2cdeff8f7863b5820a3c507a2623f007846bb0.body +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.cache/pip/selfcheck/fe300af6f7d708c14827daac3afc81fbb8306b73de8dd6e3f1f8ea3b +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.gitignore +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/.gitlab-ci.yml +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/AGENTS.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/ARCHITECTURE.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/BOOTSTRAP.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/CHANGELOG.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/backfill.log +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/com.opencode.memory.plist +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/docs/BOOTSTRAP_MEMORIES.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/docs/GITLAB_WORKFLOW_MEMORIES.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/docs/TIPS_FOR_HUMANS.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/flake.lock +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/flake.nix +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/lefthook.yml +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/nix/model.nix +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/nix/module.nix +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/nix/package.nix +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/opencode-mcp-config.json +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/opencode-memory-daemon.service +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/opencode-memory-reload.path +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/opencode-memory-worker.service +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/opencode-memory.service +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/opencode.json +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/.gitignore +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/README.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/package-lock.json +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/package.json +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/src/context-formatter.ts +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/src/entity-extractor.ts +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/plugin/tsconfig.json +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/scripts/backfill_extraction.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/scripts/memory-mcp.sh +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/scripts/reingest_insights.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/slack-post-memory-effectiveness.md +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/activity_log.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/backfill_introspection.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/background_worker.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/cache.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/cli.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/config.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/daemon.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/enrichment/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/enrichment/gitlab.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/enrichment/orbit.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/enrichment_worker.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/extraction.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/historical_ingest.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/indexing/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/indexing/code_structure.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/ingestion/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/ingestion/embeddings.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/ingestion/extractors.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/ingestion/opencode_db.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/ingestion/parser.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/ingestion/watcher.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/linking/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/linking/linker.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/llm.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/metrics.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/models.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/project.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/query/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/query/hybrid.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/session/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/session/registry.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/spider/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/spider/crawler.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/spider/references.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/storage/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/src/opencode_memory/storage/vectors.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/__init__.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_cache.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_config.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_daemon.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_extractors.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_http_server.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_linking.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_llm.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_opencode_db.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_orbit.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_parser.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_proactive_context.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_server.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/tests/test_storage.py +0 -0
- {opencode_semantic_memory-0.5.1 → opencode_semantic_memory-0.6.0}/uv.lock +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
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: zipp
|
|
3
|
+
Version: 4.1.0
|
|
4
|
+
Summary: Backport of pathlib-compatible object wrapper for zip files
|
|
5
|
+
Author-email: "Jason R. Coombs" <jaraco@jaraco.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Source, https://github.com/jaraco/zipp
|
|
8
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/x-rst
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Provides-Extra: test
|
|
16
|
+
Requires-Dist: pytest!=8.1.*,>=6; extra == "test"
|
|
17
|
+
Requires-Dist: jaraco.itertools; extra == "test"
|
|
18
|
+
Requires-Dist: jaraco.functools; extra == "test"
|
|
19
|
+
Requires-Dist: more_itertools; extra == "test"
|
|
20
|
+
Requires-Dist: big-O; extra == "test"
|
|
21
|
+
Requires-Dist: pytest-ignore-flaky; extra == "test"
|
|
22
|
+
Requires-Dist: jaraco.test; extra == "test"
|
|
23
|
+
Provides-Extra: doc
|
|
24
|
+
Requires-Dist: sphinx>=3.5; extra == "doc"
|
|
25
|
+
Requires-Dist: jaraco.packaging>=9.3; extra == "doc"
|
|
26
|
+
Requires-Dist: rst.linker>=1.9; extra == "doc"
|
|
27
|
+
Requires-Dist: furo; extra == "doc"
|
|
28
|
+
Requires-Dist: sphinx-lint; extra == "doc"
|
|
29
|
+
Requires-Dist: jaraco.tidelift>=1.4; extra == "doc"
|
|
30
|
+
Provides-Extra: check
|
|
31
|
+
Requires-Dist: pytest-checkdocs>=2.14; extra == "check"
|
|
32
|
+
Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == "check"
|
|
33
|
+
Provides-Extra: cover
|
|
34
|
+
Requires-Dist: pytest-cov; extra == "cover"
|
|
35
|
+
Provides-Extra: enabler
|
|
36
|
+
Requires-Dist: pytest-enabler>=3.4; extra == "enabler"
|
|
37
|
+
Provides-Extra: type
|
|
38
|
+
Requires-Dist: pytest-mypy>=1.0.1; platform_python_implementation != "PyPy" and extra == "type"
|
|
39
|
+
Dynamic: license-file
|
|
40
|
+
|
|
41
|
+
.. image:: https://img.shields.io/pypi/v/zipp.svg
|
|
42
|
+
:target: https://pypi.org/project/zipp
|
|
43
|
+
|
|
44
|
+
.. image:: https://img.shields.io/pypi/pyversions/zipp.svg
|
|
45
|
+
|
|
46
|
+
.. image:: https://github.com/jaraco/zipp/actions/workflows/main.yml/badge.svg
|
|
47
|
+
:target: https://github.com/jaraco/zipp/actions?query=workflow%3A%22tests%22
|
|
48
|
+
:alt: tests
|
|
49
|
+
|
|
50
|
+
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
|
|
51
|
+
:target: https://github.com/astral-sh/ruff
|
|
52
|
+
:alt: Ruff
|
|
53
|
+
|
|
54
|
+
.. image:: https://readthedocs.org/projects/zipp/badge/?version=latest
|
|
55
|
+
.. :target: https://zipp.readthedocs.io/en/latest/?badge=latest
|
|
56
|
+
|
|
57
|
+
.. image:: https://img.shields.io/badge/skeleton-2026-informational
|
|
58
|
+
:target: https://blog.jaraco.com/skeleton
|
|
59
|
+
|
|
60
|
+
.. image:: https://tidelift.com/badges/package/pypi/zipp
|
|
61
|
+
:target: https://tidelift.com/subscription/pkg/pypi-zipp?utm_source=pypi-zipp&utm_medium=readme
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
A pathlib-compatible Zipfile object wrapper. Official backport of the standard library
|
|
65
|
+
`Path object <https://docs.python.org/3.8/library/zipfile.html#path-objects>`_.
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
Compatibility
|
|
69
|
+
=============
|
|
70
|
+
|
|
71
|
+
New features are introduced in this third-party library and later merged
|
|
72
|
+
into CPython. The following table indicates which versions of this library
|
|
73
|
+
were contributed to different versions in the standard library:
|
|
74
|
+
|
|
75
|
+
.. list-table::
|
|
76
|
+
:header-rows: 1
|
|
77
|
+
|
|
78
|
+
* - zipp
|
|
79
|
+
- stdlib
|
|
80
|
+
* - 3.21
|
|
81
|
+
- 3.15
|
|
82
|
+
* - 3.18
|
|
83
|
+
- 3.13
|
|
84
|
+
* - 3.16
|
|
85
|
+
- 3.12
|
|
86
|
+
* - 3.5
|
|
87
|
+
- 3.11
|
|
88
|
+
* - 3.2
|
|
89
|
+
- 3.10
|
|
90
|
+
* - 3.3 ??
|
|
91
|
+
- 3.9
|
|
92
|
+
* - 1.0
|
|
93
|
+
- 3.8
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
Usage
|
|
97
|
+
=====
|
|
98
|
+
|
|
99
|
+
Use ``zipp.Path`` in place of ``zipfile.Path`` on any Python.
|
|
100
|
+
|
|
101
|
+
For Enterprise
|
|
102
|
+
==============
|
|
103
|
+
|
|
104
|
+
Available as part of the Tidelift Subscription.
|
|
105
|
+
|
|
106
|
+
This project and the maintainers of thousands of other packages are working with Tidelift to deliver one enterprise subscription that covers all of the open source you use.
|
|
107
|
+
|
|
108
|
+
`Learn more <https://tidelift.com/subscription/pkg/pypi-zipp?utm_source=pypi-zipp&utm_medium=referral&utm_campaign=github>`_.
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: opencode-semantic-memory
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Persistent semantic memory system for OpenCode sessions
|
|
5
5
|
Author-email: Gregory Havenga <ghavenga@gitlab.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -267,35 +267,20 @@ The setup script automatically builds and configures the plugin if Node.js 20+ i
|
|
|
267
267
|
|
|
268
268
|
For more details, see the [plugin documentation](plugin/README.md).
|
|
269
269
|
|
|
270
|
-
### 4.
|
|
270
|
+
### 4. Boot Context (Automatic)
|
|
271
271
|
|
|
272
|
-
|
|
272
|
+
When using the proactive context plugin (step 3), boot context is **automatically injected** at session start. This includes:
|
|
273
|
+
- Active parallel sessions (collision warning)
|
|
274
|
+
- Standing instructions (boot gates)
|
|
275
|
+
- Unresolved blockers
|
|
276
|
+
- Due reminders
|
|
277
|
+
- Memory usage instructions
|
|
273
278
|
|
|
274
|
-
|
|
275
|
-
# Agent Instructions
|
|
279
|
+
**No manual configuration needed** - the plugin handles everything.
|
|
276
280
|
|
|
277
|
-
|
|
281
|
+
**Legacy AGENTS.md:** If you have an existing `~/.config/opencode/AGENTS.md` with `memory_get_boot_context()` instructions, you can remove it - boot context is now auto-injected. The setup script will offer to clean this up.
|
|
278
282
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
The memory system provides persistent context across sessions.
|
|
282
|
-
|
|
283
|
-
### Proactive Usage
|
|
284
|
-
|
|
285
|
-
Call `memory_remember` when:
|
|
286
|
-
- You make a decision about approach
|
|
287
|
-
- You hit a blocker
|
|
288
|
-
- You learn how to do something
|
|
289
|
-
- You discover an interesting fact
|
|
290
|
-
|
|
291
|
-
Call `memory_recall(query)` before:
|
|
292
|
-
- Using an unfamiliar API
|
|
293
|
-
- Making assumptions about how something works
|
|
294
|
-
|
|
295
|
-
Call `memory_get_context(entity_ref)` before working on any MR/issue/epic.
|
|
296
|
-
|
|
297
|
-
Categories: decision, blocker, procedure, fact, event, directive
|
|
298
|
-
```
|
|
283
|
+
**Without the plugin:** If you're not using the proactive context plugin (e.g., using Claude CLI or Ollama), you'll need to call `memory_get_boot_context()` manually at session start
|
|
299
284
|
|
|
300
285
|
## Configuration
|
|
301
286
|
|
|
@@ -232,35 +232,20 @@ The setup script automatically builds and configures the plugin if Node.js 20+ i
|
|
|
232
232
|
|
|
233
233
|
For more details, see the [plugin documentation](plugin/README.md).
|
|
234
234
|
|
|
235
|
-
### 4.
|
|
235
|
+
### 4. Boot Context (Automatic)
|
|
236
236
|
|
|
237
|
-
|
|
237
|
+
When using the proactive context plugin (step 3), boot context is **automatically injected** at session start. This includes:
|
|
238
|
+
- Active parallel sessions (collision warning)
|
|
239
|
+
- Standing instructions (boot gates)
|
|
240
|
+
- Unresolved blockers
|
|
241
|
+
- Due reminders
|
|
242
|
+
- Memory usage instructions
|
|
238
243
|
|
|
239
|
-
|
|
240
|
-
# Agent Instructions
|
|
244
|
+
**No manual configuration needed** - the plugin handles everything.
|
|
241
245
|
|
|
242
|
-
|
|
246
|
+
**Legacy AGENTS.md:** If you have an existing `~/.config/opencode/AGENTS.md` with `memory_get_boot_context()` instructions, you can remove it - boot context is now auto-injected. The setup script will offer to clean this up.
|
|
243
247
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
The memory system provides persistent context across sessions.
|
|
247
|
-
|
|
248
|
-
### Proactive Usage
|
|
249
|
-
|
|
250
|
-
Call `memory_remember` when:
|
|
251
|
-
- You make a decision about approach
|
|
252
|
-
- You hit a blocker
|
|
253
|
-
- You learn how to do something
|
|
254
|
-
- You discover an interesting fact
|
|
255
|
-
|
|
256
|
-
Call `memory_recall(query)` before:
|
|
257
|
-
- Using an unfamiliar API
|
|
258
|
-
- Making assumptions about how something works
|
|
259
|
-
|
|
260
|
-
Call `memory_get_context(entity_ref)` before working on any MR/issue/epic.
|
|
261
|
-
|
|
262
|
-
Categories: decision, blocker, procedure, fact, event, directive
|
|
263
|
-
```
|
|
248
|
+
**Without the plugin:** If you're not using the proactive context plugin (e.g., using Claude CLI or Ollama), you'll need to call `memory_get_boot_context()` manually at session start
|
|
264
249
|
|
|
265
250
|
## Configuration
|
|
266
251
|
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format boot context for injection into the system prompt.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { BootContextResponse } from './memory-client.js';
|
|
6
|
+
|
|
7
|
+
export interface FormattedBootContext {
|
|
8
|
+
text: string;
|
|
9
|
+
hasContent: boolean;
|
|
10
|
+
memoryIds: number[];
|
|
11
|
+
tokenEstimate: number;
|
|
12
|
+
sizeWarning?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Format boot context response into markdown for system prompt injection.
|
|
17
|
+
*/
|
|
18
|
+
export function formatBootContextForSystem(
|
|
19
|
+
boot: BootContextResponse,
|
|
20
|
+
sessionId: string
|
|
21
|
+
): FormattedBootContext {
|
|
22
|
+
const sections: string[] = [];
|
|
23
|
+
const memoryIds = boot._memory_ids_shown ?? [];
|
|
24
|
+
|
|
25
|
+
sections.push('## Boot Context (Auto-Injected)\n');
|
|
26
|
+
sections.push('This context was automatically loaded from memory at session start.\n');
|
|
27
|
+
|
|
28
|
+
// Identity section
|
|
29
|
+
if (boot.identity) {
|
|
30
|
+
const { primary_project, git_branch } = boot.identity;
|
|
31
|
+
if (primary_project) {
|
|
32
|
+
sections.push(`**Project:** ${primary_project}`);
|
|
33
|
+
}
|
|
34
|
+
if (git_branch) {
|
|
35
|
+
sections.push(`**Branch:** ${git_branch}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Active parallel sessions (collision warning)
|
|
40
|
+
if (boot.active_sessions && boot.active_sessions.length > 0) {
|
|
41
|
+
sections.push('\n### Active Parallel Sessions');
|
|
42
|
+
sections.push('⚠️ Other sessions are active. Check claimed items to avoid conflicts.\n');
|
|
43
|
+
for (const session of boot.active_sessions) {
|
|
44
|
+
const claimed = session.claimed_items?.join(', ') || 'none';
|
|
45
|
+
sections.push(`- **${session.id}**: ${session.working_on || 'unknown'} (claims: ${claimed})`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Boot gates (critical standing instructions)
|
|
50
|
+
if (boot.boot_gates && boot.boot_gates.length > 0) {
|
|
51
|
+
sections.push('\n### ⛔ STANDING INSTRUCTIONS (MUST FOLLOW)\n');
|
|
52
|
+
sections.push(`**CRITICAL:** Before responding to EVERY user message, scan these ${boot.boot_gates.length} triggers. If the user's message matches a trigger (e.g., mentions "screenshot", asks to "create MR", etc.), you MUST follow that instruction.\n`);
|
|
53
|
+
for (const gate of boot.boot_gates) {
|
|
54
|
+
sections.push(`⛔ ${gate.content}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Unresolved blockers
|
|
59
|
+
if (boot.unresolved_blockers && boot.unresolved_blockers.length > 0) {
|
|
60
|
+
sections.push('\n### Unresolved Blockers');
|
|
61
|
+
sections.push('These issues are blocking progress:\n');
|
|
62
|
+
for (const blocker of boot.unresolved_blockers.slice(0, 5)) {
|
|
63
|
+
const content = blocker.content.length > 150
|
|
64
|
+
? blocker.content.substring(0, 150) + '...'
|
|
65
|
+
: blocker.content;
|
|
66
|
+
sections.push(`- ${content} (${blocker.age})`);
|
|
67
|
+
}
|
|
68
|
+
if (boot.unresolved_blockers.length > 5) {
|
|
69
|
+
sections.push(`- ... and ${boot.unresolved_blockers.length - 5} more`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Due reminders
|
|
74
|
+
if (boot.due_reminders && boot.due_reminders.length > 0) {
|
|
75
|
+
sections.push('\n### Due Reminders\n');
|
|
76
|
+
for (const reminder of boot.due_reminders) {
|
|
77
|
+
sections.push(`- **${reminder.what || 'Reminder'}**: ${reminder.content.substring(0, 200)}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Recent sessions (potential continuations)
|
|
82
|
+
if (boot.recent_sessions && boot.recent_sessions.length > 0) {
|
|
83
|
+
sections.push('\n### Recent Sessions');
|
|
84
|
+
sections.push('(May be continuations of current work)\n');
|
|
85
|
+
for (const session of boot.recent_sessions.slice(0, 3)) {
|
|
86
|
+
sections.push(`- ${session.title}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Key procedures
|
|
91
|
+
if (boot.key_procedures && boot.key_procedures.length > 0) {
|
|
92
|
+
sections.push('\n### Key Procedures\n');
|
|
93
|
+
for (const proc of boot.key_procedures) {
|
|
94
|
+
sections.push(`- **${proc.what}** (${proc.age})`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Stale procedures needing review
|
|
99
|
+
if (boot.stale_procedures && boot.stale_procedures.length > 0) {
|
|
100
|
+
sections.push('\n### Procedures Needing Review');
|
|
101
|
+
sections.push('These may be outdated:\n');
|
|
102
|
+
for (const proc of boot.stale_procedures.slice(0, 3)) {
|
|
103
|
+
sections.push(`- ${proc.what} (last reviewed: ${proc.last_reviewed})`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Size warning
|
|
108
|
+
if (boot._size_warning) {
|
|
109
|
+
sections.push(`\n⚠️ **${boot._size_warning}**`);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Memory usage instructions
|
|
113
|
+
sections.push('\n### Memory Usage');
|
|
114
|
+
sections.push(`
|
|
115
|
+
**Throughout this session:**
|
|
116
|
+
- Before working on an MR/issue/epic, call \`memory_get_context(entity_ref)\` to get history
|
|
117
|
+
- Use \`memory_claim_item(item_ref)\` before making changes to prevent conflicts
|
|
118
|
+
- Store important decisions, blockers, and procedures with \`memory_remember()\`
|
|
119
|
+
- Release claimed items when done with \`memory_release_item()\`
|
|
120
|
+
- Use \`memory_recall(query)\` to search for relevant context
|
|
121
|
+
|
|
122
|
+
**Categories for memory_remember:**
|
|
123
|
+
- \`decision\` - Architectural/design choices
|
|
124
|
+
- \`blocker\` - Obstacles preventing progress
|
|
125
|
+
- \`procedure\` - How-to knowledge, workflows
|
|
126
|
+
- \`fact\` - Project-specific information
|
|
127
|
+
- \`plan\` - Sequence of steps with end state
|
|
128
|
+
- \`idea\` - Future possibilities, deferred considerations
|
|
129
|
+
`);
|
|
130
|
+
|
|
131
|
+
// Session tracking footer
|
|
132
|
+
sections.push('### Session Tracking');
|
|
133
|
+
sections.push(`Session ID: \`${sessionId}\``);
|
|
134
|
+
sections.push('When this session ends, include the session ID in any summary for continuation tracking.');
|
|
135
|
+
|
|
136
|
+
const text = sections.join('\n');
|
|
137
|
+
|
|
138
|
+
return {
|
|
139
|
+
text,
|
|
140
|
+
hasContent: (boot.boot_gates?.length ?? 0) > 0 ||
|
|
141
|
+
(boot.unresolved_blockers?.length ?? 0) > 0 ||
|
|
142
|
+
(boot.due_reminders?.length ?? 0) > 0,
|
|
143
|
+
memoryIds,
|
|
144
|
+
tokenEstimate: boot._token_estimate ?? Math.floor(text.length / 4),
|
|
145
|
+
sizeWarning: boot._size_warning,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
import type { Plugin, PluginModule, Hooks } from '@opencode-ai/plugin';
|
|
17
17
|
import type { Part } from '@opencode-ai/sdk';
|
|
18
18
|
import { extractEntities, getAllEntityRefs } from './entity-extractor.js';
|
|
19
|
-
import { MemoryClient, type ProactiveContextResponse, type
|
|
19
|
+
import { MemoryClient, type ProactiveContextResponse, type BootContextResponse } from './memory-client.js';
|
|
20
20
|
import { formatContextForInjection } from './context-formatter.js';
|
|
21
|
+
import { formatBootContextForSystem, type FormattedBootContext } from './boot-context-formatter.js';
|
|
21
22
|
import { appendFileSync } from 'node:fs';
|
|
22
23
|
|
|
23
24
|
const DEBUG_LOG = '/tmp/opencode-memory-plugin.log';
|
|
@@ -30,6 +31,12 @@ function debugLog(msg: string) {
|
|
|
30
31
|
// Cache context per session to share between hooks
|
|
31
32
|
const sessionContextCache = new Map<string, ProactiveContextResponse | null>();
|
|
32
33
|
|
|
34
|
+
// Cache boot context for first message injection
|
|
35
|
+
const bootContextCache = new Map<string, FormattedBootContext | null>();
|
|
36
|
+
|
|
37
|
+
// Track which sessions have received boot context (first message detection)
|
|
38
|
+
const sessionBootInjected = new Set<string>();
|
|
39
|
+
|
|
33
40
|
// Track memory IDs already injected per session to avoid redundant injection
|
|
34
41
|
const injectedMemoryIds = new Map<string, Set<number>>();
|
|
35
42
|
|
|
@@ -129,6 +136,41 @@ export const server: Plugin = async (input, _options) => {
|
|
|
129
136
|
'chat.message': async ({ sessionID }, output) => {
|
|
130
137
|
debugLog(`[chat.message] sessionID=${sessionID} parts=${output.parts.length}`);
|
|
131
138
|
try {
|
|
139
|
+
// Check if this is the first message for this session
|
|
140
|
+
const isFirstMessage = !sessionBootInjected.has(sessionID);
|
|
141
|
+
|
|
142
|
+
let bootContextText: string | null = null;
|
|
143
|
+
|
|
144
|
+
if (isFirstMessage) {
|
|
145
|
+
debugLog(`[chat.message] first message for session ${sessionID}, fetching boot context`);
|
|
146
|
+
sessionBootInjected.add(sessionID);
|
|
147
|
+
|
|
148
|
+
// Fetch boot context for injection
|
|
149
|
+
const bootContext = await client.getBootContext(defaultProject, sessionDirectory);
|
|
150
|
+
|
|
151
|
+
if (bootContext) {
|
|
152
|
+
// Format boot context
|
|
153
|
+
const formatted = formatBootContextForSystem(bootContext, sessionID);
|
|
154
|
+
bootContextText = formatted.text;
|
|
155
|
+
|
|
156
|
+
// Initialize injected IDs with boot context IDs to prevent re-injection
|
|
157
|
+
const bootIds = new Set(formatted.memoryIds);
|
|
158
|
+
injectedMemoryIds.set(sessionID, bootIds);
|
|
159
|
+
|
|
160
|
+
debugLog(`[chat.message] boot context fetched: ${formatted.memoryIds.length} memory IDs, ${formatted.tokenEstimate} tokens`);
|
|
161
|
+
|
|
162
|
+
// Register session with memory server (fire-and-forget)
|
|
163
|
+
client.registerSession({
|
|
164
|
+
sessionId: sessionID,
|
|
165
|
+
project: bootContext.identity?.primary_project,
|
|
166
|
+
gitBranch: bootContext.identity?.git_branch,
|
|
167
|
+
bootContextIds: formatted.memoryIds,
|
|
168
|
+
}).catch(() => { /* silent */ });
|
|
169
|
+
} else {
|
|
170
|
+
debugLog(`[chat.message] no boot context available`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
132
174
|
// Extract text from user's message parts
|
|
133
175
|
const userText = extractTextFromParts(output.parts);
|
|
134
176
|
debugLog(`[chat.message] userText="${userText.substring(0, 100)}..."`);
|
|
@@ -142,11 +184,11 @@ export const server: Plugin = async (input, _options) => {
|
|
|
142
184
|
const entities = extractEntities(userText);
|
|
143
185
|
const allEntityRefs = getAllEntityRefs(entities);
|
|
144
186
|
|
|
145
|
-
// Get previously injected IDs for this session
|
|
187
|
+
// Get previously injected IDs for this session (includes boot context IDs)
|
|
146
188
|
const previouslyInjected = injectedMemoryIds.get(sessionID);
|
|
147
189
|
const excludeIds = previouslyInjected ? Array.from(previouslyInjected) : undefined;
|
|
148
190
|
|
|
149
|
-
// Fetch context from memory service, excluding already-injected
|
|
191
|
+
// Fetch proactive context from memory service, excluding boot context + already-injected
|
|
150
192
|
const context = await client.getProactiveContext(
|
|
151
193
|
userText,
|
|
152
194
|
allEntityRefs.length > 0 ? allEntityRefs : undefined,
|
|
@@ -156,9 +198,7 @@ export const server: Plugin = async (input, _options) => {
|
|
|
156
198
|
sessionDirectory // Pass session directory for git-based project detection
|
|
157
199
|
);
|
|
158
200
|
|
|
159
|
-
|
|
160
|
-
sessionContextCache.set(sessionID, context);
|
|
161
|
-
debugLog(`[chat.message] cached context: ${context?.items?.length ?? 0} items`);
|
|
201
|
+
debugLog(`[chat.message] proactive context: ${context?.items?.length ?? 0} items`);
|
|
162
202
|
|
|
163
203
|
// Track which memory IDs we're about to inject
|
|
164
204
|
if (context && context.items.length > 0) {
|
|
@@ -170,10 +210,26 @@ export const server: Plugin = async (input, _options) => {
|
|
|
170
210
|
sessionIds.add(item.memory_id);
|
|
171
211
|
}
|
|
172
212
|
}
|
|
213
|
+
|
|
214
|
+
// Cache boot context and proactive context for system.transform hook
|
|
215
|
+
if (bootContextText) {
|
|
216
|
+
bootContextCache.set(sessionID, { text: bootContextText, hasContent: true, memoryIds: [], tokenEstimate: 0 } as FormattedBootContext);
|
|
217
|
+
debugLog(`[chat.message] boot context cached for system.transform`);
|
|
218
|
+
} else {
|
|
219
|
+
// Clear boot context cache for subsequent messages
|
|
220
|
+
bootContextCache.delete(sessionID);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if (context && context.items.length > 0) {
|
|
224
|
+
sessionContextCache.set(sessionID, context);
|
|
225
|
+
debugLog(`[chat.message] proactive context cached for system.transform`);
|
|
226
|
+
} else {
|
|
227
|
+
sessionContextCache.set(sessionID, null);
|
|
228
|
+
}
|
|
173
229
|
|
|
174
|
-
} catch {
|
|
230
|
+
} catch (err) {
|
|
175
231
|
// Silent failure - graceful degradation
|
|
176
|
-
|
|
232
|
+
debugLog(`[chat.message] error: ${err}`);
|
|
177
233
|
}
|
|
178
234
|
},
|
|
179
235
|
|
|
@@ -181,47 +237,30 @@ export const server: Plugin = async (input, _options) => {
|
|
|
181
237
|
* Hook: experimental.chat.system.transform
|
|
182
238
|
*
|
|
183
239
|
* Called before messages are sent to the LLM.
|
|
184
|
-
*
|
|
240
|
+
* Injects boot context + proactive context into system prompt.
|
|
241
|
+
* Note: This hook may be called multiple times per message - we inject on every call.
|
|
185
242
|
*/
|
|
186
243
|
'experimental.chat.system.transform': async ({ sessionID }, output) => {
|
|
187
|
-
debugLog(`[system.transform] sessionID=${sessionID}`);
|
|
244
|
+
debugLog(`[system.transform] sessionID=${sessionID} output.system.length=${output.system?.length ?? 'undefined'}`);
|
|
188
245
|
if (!sessionID) {
|
|
189
|
-
debugLog(`[system.transform] no sessionID, skipping`);
|
|
190
246
|
return;
|
|
191
247
|
}
|
|
192
248
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (!context || context.items.length === 0) {
|
|
200
|
-
return;
|
|
249
|
+
// Inject boot context (on first turn, inject on every hook call)
|
|
250
|
+
const bootContext = bootContextCache.get(sessionID);
|
|
251
|
+
if (bootContext && bootContext.hasContent) {
|
|
252
|
+
output.system.push(bootContext.text);
|
|
253
|
+
debugLog(`[system.transform] injected boot context, output.system.length now=${output.system.length}`);
|
|
201
254
|
}
|
|
202
255
|
|
|
203
|
-
//
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
output.system.push(contextSection);
|
|
212
|
-
|
|
213
|
-
// Log the injection for effectiveness tracking (fire and forget)
|
|
214
|
-
client.logInjection({
|
|
215
|
-
sessionId: sessionID,
|
|
216
|
-
turnNumber,
|
|
217
|
-
memoryIds: context.items.map(item => item.memory_id),
|
|
218
|
-
relevanceSummary: context.relevance_summary,
|
|
219
|
-
queryPreview: context.semantic_query,
|
|
220
|
-
totalTokens: context.total_tokens,
|
|
221
|
-
itemsCount: context.items_count,
|
|
222
|
-
}).catch(() => { /* silent */ });
|
|
223
|
-
|
|
224
|
-
debugLog(`[system.transform] logged injection: turn=${turnNumber} items=${context.items_count}`);
|
|
256
|
+
// Inject proactive context
|
|
257
|
+
const context = sessionContextCache.get(sessionID);
|
|
258
|
+
if (context && context.items && context.items.length > 0) {
|
|
259
|
+
const contextSection = formatContextForSystem(context);
|
|
260
|
+
if (contextSection) {
|
|
261
|
+
output.system.push(contextSection);
|
|
262
|
+
debugLog(`[system.transform] injected proactive context, output.system.length now=${output.system.length}`);
|
|
263
|
+
}
|
|
225
264
|
}
|
|
226
265
|
},
|
|
227
266
|
};
|