smart_ide/docs/repo/ia-dev-smart-ide-integration.md
Nicolas Cantu 255acbaf97 fix: harden claw-harness-proxy and complete HTTP utils centralization (0.0.7)
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
2026-04-04 20:48:11 +02:00

26 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` nest 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 densemble 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)