Initial state: - claw-harness-proxy accepted absolute-form / scheme-relative request targets, allowing proxying to arbitrary hosts. - claw-harness-proxy forwarded client Authorization headers upstream. - @4nk/smart-ide-http-utils did not provide helpers for Node http.request-based proxies. - docs/repo/ia-dev-smart-ide-integration.md still documented the old IA_DEV_ROOT default resolution order. Motivation: - Ensure safe proxy behavior for every HTTP relay in the monorepo. - Keep the IA_DEV_ROOT contract consistent across code and docs. Resolution: - Extend @4nk/smart-ide-http-utils with copyOutgoingHeadersForProxy() for http.request. - Harden claw-harness-proxy: reject absolute URLs and '//' targets, validate safe proxy paths, avoid forwarding Authorization, and avoid leaking internal error details. - Align ia-dev-smart-ide-integration doc default order to ./services/ia_dev then ./ia_dev. Root cause: - Proxy implementation treated req.url as a URL to be resolved and allowed absolute inputs. - Cross-proxy utilities were only implemented for fetch-based proxies. Impacted features: - claw-harness-proxy HTTP forwarding. - shared HTTP utility package. - IA_DEV_ROOT documentation. Code modified: - packages/smart-ide-http-utils/src/* + dist/* - services/claw-harness-api/proxy/src/server.ts Documentation modified: - docs/repo/ia-dev-smart-ide-integration.md - CHANGELOG.md Configurations modified: - services/claw-harness-api/proxy/package.json Files in deploy modified: - None Files in logs impacted: - None 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.7 CHANGELOG.md updated: - yes
26 lines
1.7 KiB
Markdown
26 lines
1.7 KiB
Markdown
# ia_dev — module smart_ide (`services/ia_dev/`)
|
||
|
||
Le répertoire **`services/ia_dev/`** dans le monorepo **smart_ide** est le **module agents / déploiement / ticketing** (équivalent historique du dépôt [4nk/ia_dev](https://git.4nkweb.com/4nk/ia_dev.git)). Il est **versionné dans ce dépôt**.
|
||
|
||
La racine du checkout `ia_dev` est traitée comme **`IA_DEV_ROOT`** par les scripts et services. Par défaut, les services tentent `./services/ia_dev` puis `./ia_dev` si `IA_DEV_ROOT` n’est pas défini.
|
||
|
||
## Rôle
|
||
|
||
- Scripts **`IA_DEV_ROOT/deploy/`**, **`IA_DEV_ROOT/git-issues/`**, outillage **`IA_DEV_ROOT/tools/`**, définitions **`IA_DEV_ROOT/.smartIde/`**.
|
||
- Résolution des projets via **`projects/<id>/conf.json`** à la racine **smart_ide** et liens sous `IA_DEV_ROOT/projects/` (voir [projects-directory.md](./projects-directory.md), [ia_dev-module.md](../ia_dev-module.md)).
|
||
|
||
## Journaux smart_ide
|
||
|
||
Les exécutions shell concernées écrivent dans **`logs/ia_dev.log`** à la racine **smart_ide** lorsque la détection du monorepo réussit. Détail : [logs-directory.md](./logs-directory.md), implémentation `services/ia_dev/lib/smart_ide_logs.sh`.
|
||
|
||
## Variables (référence)
|
||
|
||
Chemins réels et secrets : hors dépôt. Intégration orchestrateur / gateway : `services/ia_dev/.env.example`.
|
||
|
||
## Liens
|
||
|
||
- Vue d’ensemble du dépôt ia_dev (agents, deploy) : [ia-dev-repository-overview.md](./ia-dev-repository-overview.md)
|
||
- Schéma `conf.json` : [ia-dev-project-conf-schema.md](./ia-dev-project-conf-schema.md)
|
||
- Architecture : [system-architecture.md](../system-architecture.md)
|
||
- Gateway HTTP : [features/ia-dev-service.md](../features/ia-dev-service.md), [API/ia-dev-gateway.md](../API/ia-dev-gateway.md)
|