Initial state: - HTTP proxy utilities (Bearer parsing, hop-by-hop headers, body limits, safe path validation) were duplicated between smart-ide-sso-gateway and smart-ide-global-api. - IA_DEV_ROOT auto-resolution order differed between bash (ensure-ia-dev-project-link.sh) and TypeScript (ia-dev-gateway getIaDevRoot), and could fall back to non-existing paths. Motivation: - Reduce duplication and drift across proxy layers. - Enforce consistent, explicit IA_DEV_ROOT behavior across scripts and services. Resolution: - Add package @4nk/smart-ide-http-utils and reuse it from smart-ide-sso-gateway and smart-ide-global-api. - Align IA_DEV_ROOT resolution to prefer ./services/ia_dev then ./ia_dev; fail fast when missing/misconfigured. Root cause: - Cross-service utilities were implemented ad-hoc in each service. - Historical layout transitions (ia_dev gitlink vs vendored services/ia_dev) left multiple resolvers with different priorities. Impacted features: - HTTP proxy chain (SSO gateway -> global API -> upstream services). - ia-dev-gateway startup/operation when IA_DEV_ROOT is missing or invalid. Code modified: - packages/smart-ide-http-utils/** - services/smart-ide-global-api/src/server.ts - services/smart-ide-sso-gateway/src/server.ts - services/ia-dev-gateway/src/paths.ts - scripts/ensure-ia-dev-project-link.sh Documentation modified: - docs/system-architecture.md - docs/ia_dev-module.md - docs/repo/README.md Configurations modified: - services/smart-ide-global-api/package.json - services/smart-ide-sso-gateway/package.json Files in deploy modified: - None Files in logs impacted: - None (runtime logs only) Databases and other sources modified: - None Off-project modifications: - None Files in .smartIde modified: - None Files in .secrets modified: - None New patch version in VERSION: - 0.0.6 CHANGELOG.md updated: - yes
52 lines
5.0 KiB
Markdown
52 lines
5.0 KiB
Markdown
# Documentation du dépôt (`docs/repo/`)
|
||
|
||
Toute la documentation **opérationnelle** qui vivait auparavant sous des `README.md` à la racine ou dans `cron/`, `systemd/`, `projects/`, `logs/`, `services/*/`, etc. est **centralisée ici**. Les fichiers `README.md` restants à ces emplacements ne font que **renvoyer** vers ces pages pour éviter les doublons.
|
||
|
||
## Convention
|
||
|
||
- **Canonique** : fichiers sous `docs/` (dont `docs/repo/`, `docs/features/`, `docs/API/`).
|
||
- **Arbre de code** : `README.md` courts (souvent une ligne + lien) pour les outils qui ouvrent encore le dossier source.
|
||
- **Règles / agents IDE** : répertoires **`.smartIde/`** (voir [smartide-config-directory.md](./smartide-config-directory.md)).
|
||
- **Miroir doc Enso (docv)** : l’arborescence volumineuse **`services/docv/enso-docs/`** reste **sur le disque** sous ce chemin (copie depuis le dépôt enso) ; l’explication du flux de mise à jour est dans [docv-enso-docs-mirror.md](./docv-enso-docs-mirror.md). Les fichiers **enso-docs** peuvent encore mentionner **`.cursor/`** (doc amont enso).
|
||
|
||
## Index
|
||
|
||
| Document | Contenu |
|
||
|----------|---------|
|
||
| [smartide-config-directory.md](./smartide-config-directory.md) | Rôle de `.smartIde/` (agents, règles, gateway) |
|
||
| [smart-ide-overview.md](./smart-ide-overview.md) | Vision produit, stack IA, monorepo, liens vers l’architecture |
|
||
| [projects-directory.md](./projects-directory.md) | `projects/<id>/conf.json`, clones vs confs, `active-project.json`, cron |
|
||
| [cron-git-pull.md](./cron-git-pull.md) | Pull planifié des clones, `config.env`, systemd user, alternative cron |
|
||
| [systemd-units.md](./systemd-units.md) | Ollama, AnythingLLM, timer `git-pull-project-clones` |
|
||
| [logs-directory.md](./logs-directory.md) | Fichiers journaux locaux, `.gitignore`, origine des logs |
|
||
| [docv-services-directory.md](./docv-services-directory.md) | Répertoire `services/docv/` : contrat d’intégration, chemins données |
|
||
| [docv-enso-docs-mirror.md](./docv-enso-docs-mirror.md) | Miroir `enso-docs/`, commande de resynchronisation |
|
||
| [ia-dev-smart-ide-integration.md](./ia-dev-smart-ide-integration.md) | Module `ia_dev` dans smart_ide, journaux, liens architecture |
|
||
| [ia-dev-repository-overview.md](./ia-dev-repository-overview.md) | Dépôt ia_dev : agents, scripts deploy, usage standalone |
|
||
| [ia-dev-project-conf-schema.md](./ia-dev-project-conf-schema.md) | Schéma `projects/<id>/conf.json`, résolution du projet, règles agents |
|
||
| [ia-dev-deploy-lib.md](./ia-dev-deploy-lib.md) | Bibliothèques partagées `IA_DEV_ROOT/deploy/lib/` |
|
||
| [ia-dev-shared-lib.md](./ia-dev-shared-lib.md) | `IA_DEV_ROOT/lib/project_config.sh` et résolution projet |
|
||
| **Services HTTP (exploitation)** | |
|
||
| [service-repos-devtools.md](./service-repos-devtools.md) | Clone / liste / load Git sous racine contrôlée |
|
||
| [service-anythingllm-devtools.md](./service-anythingllm-devtools.md) | AnythingLLM + repos-devtools + RAG initial (HTTP) |
|
||
| [service-local-office.md](./service-local-office.md) | API Office (docx, …) |
|
||
| [service-smart-ide-orchestrator.md](./service-smart-ide-orchestrator.md) | Routeur d’intentions HTTP |
|
||
| [service-ia-dev-gateway.md](./service-ia-dev-gateway.md) | Gateway ia_dev (agents, runs, SSE) |
|
||
| [service-agent-regex-search.md](./service-agent-regex-search.md) | Recherche regex via ripgrep |
|
||
| [service-claw-harness.md](./service-claw-harness.md) | claw-code, proxy local |
|
||
| [service-langextract.md](./service-langextract.md) | Wrapper LangExtract |
|
||
| **Scripts et extensions** | |
|
||
| [script-anythingllm-pull-sync.md](./script-anythingllm-pull-sync.md) | Hook post-merge → upload AnythingLLM |
|
||
| [script-remote-data-ssh-sync.md](./script-remote-data-ssh-sync.md) | SSH pull deployed data → local mirror → optional AnythingLLM ingest |
|
||
| [service-carbonyl.md](./service-carbonyl.md) | Carbonyl (navigateur terminal), sous-module amont |
|
||
| [service-pageindex.md](./service-pageindex.md) | PageIndex (index sémantique vectorless), sous-module amont |
|
||
| [service-chandra.md](./service-chandra.md) | Chandra OCR, sous-module amont |
|
||
| [service-smart-ide-tools-bridge.md](./service-smart-ide-tools-bridge.md) | Pont HTTP IDE + outils sous-modules |
|
||
| [service-smart-ide-global-api.md](./service-smart-ide-global-api.md) | API HTTP interne : proxy vers micro-services (Bearer partagé avec SSO) |
|
||
| [service-smart-ide-sso-gateway.md](./service-smart-ide-sso-gateway.md) | Passerelle OIDC utilisateur → API globale → micro-services |
|
||
| [../packages/smart-ide-upstreams/README.md](../packages/smart-ide-upstreams/README.md) | Paquet `@4nk/smart-ide-upstreams` : liste des clés et résolution des URL / jetons |
|
||
| [../packages/smart-ide-http-utils/README.md](../packages/smart-ide-http-utils/README.md) | Paquet `@4nk/smart-ide-http-utils` : helpers HTTP partagés (proxy, headers, safe path) |
|
||
| [extension-anythingllm-workspaces.md](./extension-anythingllm-workspaces.md) | Extension AnythingLLM IDE (supprimée ; anythingllm-devtools) |
|
||
|
||
Les **spécifications** détaillées (contrats HTTP, sécurité, orchestration) restent dans [../API/README.md](../API/README.md) et [../features/](../features/).
|