- Add services/claw-harness-api/upstream → chinanpc/claude-code-rust (shallow) - Document claw submodule and MIT Rust harness in service-claw-harness + feature doc - agent-regex-search: map design principles to rg implementation vs indexed search - SSO gateway: no user/project account storage; product DBs own identity context
2.0 KiB
agent-regex-search-api (services/agent-regex-search-api/)
API HTTP locale sur 127.0.0.1 pour la recherche regex sur fichiers via ripgrep (rg). Elle matérialise côté smart_ide les principes de conception décrits pour les agents dans Recherche regex rapide : indexer le texte pour les outils des agents (outil regex dédié aux agents, plafonds de latence, périmètre de fichiers borné). Le moteur indexé du billet (trigrammes, sparse n-grams, fichiers mmap, etc.) n’est pas recodé ici : l’implémentation actuelle s’appuie sur rg, comme la majorité des chaînes d’agents ; une couche d’index open source (famille Zoekt / codesearch) reste une évolution possible pour les très gros arbres.
Prérequis
rg dans le PATH (ex. sudo apt install ripgrep sur Debian/Ubuntu).
Variables
| Variable | Obligatoire | Description |
|---|---|---|
REGEX_SEARCH_TOKEN |
oui | Authorization: Bearer <token> (sauf GET /health). |
REGEX_SEARCH_ROOT |
non | Répertoire de base absolu (défaut typique /home/ncantu/code — à adapter). |
REGEX_SEARCH_HOST |
non | Bind (défaut 127.0.0.1). |
REGEX_SEARCH_PORT |
non | Port (défaut 37143). |
Endpoints
GET /healthPOST /search— JSON :pattern,subpathoptionnel (relatif àREGEX_SEARCH_ROOT, pas de..),maxMatches,timeoutMs
Code sortie ripgrep 1 = aucun match → encore 200 avec matches vide si pas d’erreur.
Risques
ReDoS : regex pathologiques jusqu’à timeoutMs. REGEX_SEARCH_ROOT : aligner avec la politique de lecture disque.
Run
cd services/agent-regex-search-api
npm install
npm run build
export REGEX_SEARCH_TOKEN='…'
npm start
Spécification
API/agent-regex-search-api.md, features/agent-regex-search-api.md.