human-to-code 0.1.3 → 0.1.4
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.
- package/Readme.md +6 -0
- package/dist/analysis/adapters/general.d.ts.map +1 -0
- package/dist/analysis/adapters/general.js.map +1 -0
- package/dist/analysis/adapters/node.d.ts.map +1 -0
- package/dist/{adapters → analysis/adapters}/node.js +6 -0
- package/dist/analysis/adapters/node.js.map +1 -0
- package/dist/{adapters → analysis/adapters}/python.d.ts +5 -0
- package/dist/analysis/adapters/python.d.ts.map +1 -0
- package/dist/analysis/adapters/python.js.map +1 -0
- package/dist/analysis/adapters/rust.d.ts.map +1 -0
- package/dist/{adapters → analysis/adapters}/rust.js +5 -0
- package/dist/analysis/adapters/rust.js.map +1 -0
- package/dist/analysis/analyzer-types.d.ts.map +1 -0
- package/dist/analysis/analyzer-types.js.map +1 -0
- package/dist/analysis/analyzer-utils.d.ts.map +1 -0
- package/dist/{analyzer-utils.js → analysis/analyzer-utils.js} +5 -0
- package/dist/analysis/analyzer-utils.js.map +1 -0
- package/dist/analysis/analyzer.d.ts.map +1 -0
- package/dist/analysis/analyzer.js.map +1 -0
- package/dist/{support-matrix.d.ts → analysis/support-matrix.d.ts} +6 -0
- package/dist/analysis/support-matrix.d.ts.map +1 -0
- package/dist/analysis/support-matrix.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15 -11
- package/dist/cli.js.map +1 -1
- package/dist/{config.d.ts → config/config.d.ts} +1 -1
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js.map +1 -0
- package/dist/{discovery.d.ts → config/discovery.d.ts} +1 -1
- package/dist/config/discovery.d.ts.map +1 -0
- package/dist/config/discovery.js.map +1 -0
- package/dist/context/compiler-skills.d.ts.map +1 -0
- package/dist/context/compiler-skills.js.map +1 -0
- package/dist/{compiler-tools.d.ts → context/compiler-tools.d.ts} +1 -1
- package/dist/context/compiler-tools.d.ts.map +1 -0
- package/dist/context/compiler-tools.js.map +1 -0
- package/dist/context/context.d.ts.map +1 -0
- package/dist/{context.js → context/context.js} +1 -1
- package/dist/context/context.js.map +1 -0
- package/dist/context/documentation.d.ts.map +1 -0
- package/dist/{documentation.js → context/documentation.js} +2 -2
- package/dist/context/documentation.js.map +1 -0
- package/dist/core/contracts.d.ts.map +1 -0
- package/dist/core/contracts.js.map +1 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js.map +1 -0
- package/dist/index.d.ts +27 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -20
- package/dist/index.js.map +1 -1
- package/dist/{patch.d.ts → pipeline/patch.d.ts} +1 -1
- package/dist/pipeline/patch.d.ts.map +1 -0
- package/dist/{patch.js → pipeline/patch.js} +1 -1
- package/dist/pipeline/patch.js.map +1 -0
- package/dist/{planner.d.ts → pipeline/planner.d.ts} +3 -3
- package/dist/pipeline/planner.d.ts.map +1 -0
- package/dist/{planner.js → pipeline/planner.js} +1 -1
- package/dist/pipeline/planner.js.map +1 -0
- package/dist/{run-store.d.ts → pipeline/run-store.d.ts} +1 -1
- package/dist/pipeline/run-store.d.ts.map +1 -0
- package/dist/{run-store.js → pipeline/run-store.js} +2 -2
- package/dist/pipeline/run-store.js.map +1 -0
- package/dist/pipeline/simple.d.ts.map +1 -0
- package/dist/pipeline/simple.js.map +1 -0
- package/dist/pipeline/snapshot.d.ts.map +1 -0
- package/dist/{snapshot.js → pipeline/snapshot.js} +1 -1
- package/dist/pipeline/snapshot.js.map +1 -0
- package/dist/{validation.d.ts → pipeline/validation.d.ts} +1 -1
- package/dist/pipeline/validation.d.ts.map +1 -0
- package/dist/{validation.js → pipeline/validation.js} +1 -1
- package/dist/pipeline/validation.js.map +1 -0
- package/dist/{workflow.d.ts → pipeline/workflow.d.ts} +7 -5
- package/dist/pipeline/workflow.d.ts.map +1 -0
- package/dist/{workflow.js → pipeline/workflow.js} +20 -13
- package/dist/pipeline/workflow.js.map +1 -0
- package/dist/{certification.d.ts → providers/certification.d.ts} +1 -1
- package/dist/providers/certification.d.ts.map +1 -0
- package/dist/{certification.js → providers/certification.js} +1 -1
- package/dist/providers/certification.js.map +1 -0
- package/dist/{provider.d.ts → providers/provider.d.ts} +2 -2
- package/dist/providers/provider.d.ts.map +1 -0
- package/dist/{provider.js → providers/provider.js} +2 -2
- package/dist/providers/provider.js.map +1 -0
- package/dist/{providers.d.ts → providers/providers.d.ts} +1 -1
- package/dist/providers/providers.d.ts.map +1 -0
- package/dist/{providers.js → providers/providers.js} +3 -3
- package/dist/providers/providers.js.map +1 -0
- package/dist/{schemas.d.ts → providers/schemas.d.ts} +6 -6
- package/dist/providers/schemas.d.ts.map +1 -0
- package/dist/providers/schemas.js.map +1 -0
- package/dist/security/pinned-http.d.ts.map +1 -0
- package/dist/security/pinned-http.js.map +1 -0
- package/dist/{secret-scan.d.ts → security/secret-scan.d.ts} +1 -1
- package/dist/security/secret-scan.d.ts.map +1 -0
- package/dist/{secret-scan.js → security/secret-scan.js} +1 -1
- package/dist/security/secret-scan.js.map +1 -0
- package/docs/ARCHITECTURE.md +150 -0
- package/docs/MODULES.md +91 -0
- package/docs/SCALABILITY.md +144 -0
- package/package.json +2 -1
- package/dist/adapters/general.d.ts.map +0 -1
- package/dist/adapters/general.js.map +0 -1
- package/dist/adapters/node.d.ts.map +0 -1
- package/dist/adapters/node.js.map +0 -1
- package/dist/adapters/python.d.ts.map +0 -1
- package/dist/adapters/python.js.map +0 -1
- package/dist/adapters/rust.d.ts.map +0 -1
- package/dist/adapters/rust.js.map +0 -1
- package/dist/analyzer-types.d.ts.map +0 -1
- package/dist/analyzer-types.js.map +0 -1
- package/dist/analyzer-utils.d.ts.map +0 -1
- package/dist/analyzer-utils.js.map +0 -1
- package/dist/analyzer.d.ts.map +0 -1
- package/dist/analyzer.js.map +0 -1
- package/dist/certification.d.ts.map +0 -1
- package/dist/certification.js.map +0 -1
- package/dist/compiler-skills.d.ts.map +0 -1
- package/dist/compiler-skills.js.map +0 -1
- package/dist/compiler-tools.d.ts.map +0 -1
- package/dist/compiler-tools.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/contracts.d.ts.map +0 -1
- package/dist/contracts.js.map +0 -1
- package/dist/discovery.d.ts.map +0 -1
- package/dist/discovery.js.map +0 -1
- package/dist/documentation.d.ts.map +0 -1
- package/dist/documentation.js.map +0 -1
- package/dist/patch.d.ts.map +0 -1
- package/dist/patch.js.map +0 -1
- package/dist/pinned-http.d.ts.map +0 -1
- package/dist/pinned-http.js.map +0 -1
- package/dist/planner.d.ts.map +0 -1
- package/dist/planner.js.map +0 -1
- package/dist/provider.d.ts.map +0 -1
- package/dist/provider.js.map +0 -1
- package/dist/providers.d.ts.map +0 -1
- package/dist/providers.js.map +0 -1
- package/dist/run-store.d.ts.map +0 -1
- package/dist/run-store.js.map +0 -1
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js.map +0 -1
- package/dist/secret-scan.d.ts.map +0 -1
- package/dist/secret-scan.js.map +0 -1
- package/dist/simple.d.ts.map +0 -1
- package/dist/simple.js.map +0 -1
- package/dist/snapshot.d.ts.map +0 -1
- package/dist/snapshot.js.map +0 -1
- package/dist/support-matrix.d.ts.map +0 -1
- package/dist/support-matrix.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js.map +0 -1
- package/dist/workflow.d.ts.map +0 -1
- package/dist/workflow.js.map +0 -1
- /package/dist/{adapters → analysis/adapters}/general.d.ts +0 -0
- /package/dist/{adapters → analysis/adapters}/general.js +0 -0
- /package/dist/{adapters → analysis/adapters}/node.d.ts +0 -0
- /package/dist/{adapters → analysis/adapters}/python.js +0 -0
- /package/dist/{adapters → analysis/adapters}/rust.d.ts +0 -0
- /package/dist/{analyzer-types.d.ts → analysis/analyzer-types.d.ts} +0 -0
- /package/dist/{analyzer-types.js → analysis/analyzer-types.js} +0 -0
- /package/dist/{analyzer-utils.d.ts → analysis/analyzer-utils.d.ts} +0 -0
- /package/dist/{analyzer.d.ts → analysis/analyzer.d.ts} +0 -0
- /package/dist/{analyzer.js → analysis/analyzer.js} +0 -0
- /package/dist/{support-matrix.js → analysis/support-matrix.js} +0 -0
- /package/dist/{config.js → config/config.js} +0 -0
- /package/dist/{discovery.js → config/discovery.js} +0 -0
- /package/dist/{compiler-skills.d.ts → context/compiler-skills.d.ts} +0 -0
- /package/dist/{compiler-skills.js → context/compiler-skills.js} +0 -0
- /package/dist/{compiler-tools.js → context/compiler-tools.js} +0 -0
- /package/dist/{context.d.ts → context/context.d.ts} +0 -0
- /package/dist/{documentation.d.ts → context/documentation.d.ts} +0 -0
- /package/dist/{contracts.d.ts → core/contracts.d.ts} +0 -0
- /package/dist/{contracts.js → core/contracts.js} +0 -0
- /package/dist/{types.d.ts → core/types.d.ts} +0 -0
- /package/dist/{types.js → core/types.js} +0 -0
- /package/dist/{simple.d.ts → pipeline/simple.d.ts} +0 -0
- /package/dist/{simple.js → pipeline/simple.js} +0 -0
- /package/dist/{snapshot.d.ts → pipeline/snapshot.d.ts} +0 -0
- /package/dist/{schemas.js → providers/schemas.js} +0 -0
- /package/dist/{pinned-http.d.ts → security/pinned-http.d.ts} +0 -0
- /package/dist/{pinned-http.js → security/pinned-http.js} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { constants as fsConstants } from "node:fs";
|
|
3
3
|
import { lstat, open, readdir, realpath } from "node:fs/promises";
|
|
4
4
|
import { relative, resolve, sep } from "node:path";
|
|
5
|
-
import { scanSecrets } from "
|
|
5
|
+
import { scanSecrets } from "../context/context.js";
|
|
6
6
|
const SKIP_DIRECTORIES = new Set(["node_modules", ".venv", "venv", "target", ".git", ".hg", ".svn", ".human-to-code"]);
|
|
7
7
|
export class ProjectSecretScanError extends Error {
|
|
8
8
|
code;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-scan.js","sourceRoot":"","sources":["../../src/security/secret-scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
`human-to-code` turns a reviewed natural-language change request into a
|
|
4
|
+
validated, structured code patch. The design goal is not maximum capability —
|
|
5
|
+
it is that every step is **grounded, bounded, auditable, and fail-closed**.
|
|
6
|
+
This document describes how the code is layered, how a run flows through it,
|
|
7
|
+
and the dependency rules that keep the codebase scalable.
|
|
8
|
+
|
|
9
|
+
For per-file detail see [MODULES.md](MODULES.md); for the rules new code must
|
|
10
|
+
follow see [SCALABILITY.md](SCALABILITY.md); for the trust model see
|
|
11
|
+
[../SECURITY.md](../SECURITY.md).
|
|
12
|
+
|
|
13
|
+
## The pipeline
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
static project analysis (src/analysis)
|
|
17
|
+
↓
|
|
18
|
+
reviewed ChangeContractV1 (src/pipeline/planner.ts, src/core/contracts.ts)
|
|
19
|
+
↓
|
|
20
|
+
repository secret scan (src/security/secret-scan.ts)
|
|
21
|
+
↓
|
|
22
|
+
grounded ContextManifestV1 (src/context)
|
|
23
|
+
↓
|
|
24
|
+
provider-generated PatchSetV1 (src/providers)
|
|
25
|
+
↓
|
|
26
|
+
baseline vs candidate in sandbox (src/pipeline/validation.ts)
|
|
27
|
+
↓
|
|
28
|
+
explicit apply + exact rollback (src/pipeline/patch.ts, workflow.ts)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Every arrow is a checkpoint: each stage validates its input artifact by exact
|
|
32
|
+
schema, records provenance hashes, and stops with a typed status
|
|
33
|
+
(`NEEDS_INPUT`, `UNSUPPORTED`, `INCONCLUSIVE`, `FAILED`, `SECURITY_BLOCKED`)
|
|
34
|
+
rather than guessing. Only `VERIFIED` is success for a generated run.
|
|
35
|
+
|
|
36
|
+
## Layers
|
|
37
|
+
|
|
38
|
+
Source is organized into domain folders that form a strict layering. A module
|
|
39
|
+
may import from its own layer or any layer **above** it in this diagram, never
|
|
40
|
+
below. `core` imports nothing; `cli` may import anything.
|
|
41
|
+
|
|
42
|
+
```mermaid
|
|
43
|
+
graph TD
|
|
44
|
+
core["core<br/>types, versioned contracts, hashing"]
|
|
45
|
+
config["config<br/>strict config schema, .human discovery"]
|
|
46
|
+
analysis["analysis<br/>static analyzer, support matrix, ecosystem adapters"]
|
|
47
|
+
security["security<br/>secret scanning, pinned HTTPS"]
|
|
48
|
+
context["context<br/>context selection, documentation, compiler skills/tools"]
|
|
49
|
+
providers["providers<br/>adapter contract, OpenAI/Ollama, certification, schemas"]
|
|
50
|
+
pipeline["pipeline<br/>planner, snapshot, patch, sandbox validation, run store, workflow"]
|
|
51
|
+
entry["index.ts / cli.ts<br/>public API and CLI shell"]
|
|
52
|
+
|
|
53
|
+
config --> core
|
|
54
|
+
analysis --> core
|
|
55
|
+
security --> core
|
|
56
|
+
context --> core
|
|
57
|
+
context --> analysis
|
|
58
|
+
context --> security
|
|
59
|
+
providers --> core
|
|
60
|
+
providers --> context
|
|
61
|
+
providers --> analysis
|
|
62
|
+
pipeline --> core
|
|
63
|
+
pipeline --> config
|
|
64
|
+
pipeline --> analysis
|
|
65
|
+
pipeline --> security
|
|
66
|
+
pipeline --> context
|
|
67
|
+
pipeline --> providers
|
|
68
|
+
entry --> pipeline
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
| Layer | Contents | Why it is separate |
|
|
72
|
+
| --- | --- | --- |
|
|
73
|
+
| `src/core/` | `types.ts`, `contracts.ts` | The versioned artifact vocabulary (`ChangeContractV1`, `PatchSetV1`, `ValidationPlanV1`, `RunRecordV1`, …), exact validators, canonical JSON, and SHA-256 helpers. Everything else speaks in these types, so they must depend on nothing. |
|
|
74
|
+
| `src/config/` | `config.ts`, `discovery.ts` | Operator policy input. Strict schema-versioned JSON (unknown keys rejected, credentials environment-only) and fail-closed discovery of `.human` sources. |
|
|
75
|
+
| `src/analysis/` | `analyzer.ts`, `analyzer-types.ts`, `analyzer-utils.ts`, `support-matrix.ts`, `adapters/` | Read-only static project intelligence. Adapters recognize ecosystems without executing project code; the support matrix declares — never infers — what is supported. |
|
|
76
|
+
| `src/security/` | `secret-scan.ts`, `pinned-http.ts` | Cross-cutting fail-closed guards: repository-wide credential scanning before any provider access, and a DNS-vetted address-pinned HTTPS client used for any outbound fetch. |
|
|
77
|
+
| `src/context/` | `context.ts`, `documentation.ts`, `compiler-skills.ts`, `compiler-tools.ts` | Everything the model is allowed to see: provenance-bound context selection, allowlisted exact-version documentation, immutable policy skills, and the bounded read-only context tool executor. |
|
|
78
|
+
| `src/providers/` | `provider.ts`, `providers.ts`, `certification.ts`, `schemas.ts` | Everything the model is allowed to do: the provider-neutral adapter contract, the bundled OpenAI/Ollama HTTP adapters, the JSON output schemas providers must satisfy, and the evidence-based certification gate that decides whether a provider/model result may ever become `VERIFIED`. |
|
|
79
|
+
| `src/pipeline/` | `planner.ts`, `snapshot.ts`, `patch.ts`, `validation.ts`, `run-store.ts`, `workflow.ts`, `simple.ts` | Run orchestration: contract drafting, immutable snapshots, patch safety and atomic apply/rollback, strong-sandbox baseline/candidate validation, the private run store, and the guided workflow that ties the stages together. `simple.ts` is the separate lightweight direct-generation path. |
|
|
80
|
+
| root | `index.ts`, `cli.ts` | Entry points only. `index.ts` re-exports the stable embedding API grouped by layer; `cli.ts` maps commands, flags, and exit codes onto that same surface. They stay at the source root so the published `dist/index.js` and `dist/cli.js` paths never move. |
|
|
81
|
+
|
|
82
|
+
Two intentional wrinkles in the layering:
|
|
83
|
+
|
|
84
|
+
- `context/context.ts` exports the `scanSecrets` primitive that `security/`,
|
|
85
|
+
`providers/`, and `pipeline/` reuse at their trust boundaries. The pattern
|
|
86
|
+
library lives once and is imported everywhere a value crosses a boundary.
|
|
87
|
+
- `providers/schemas.ts` lives with providers, not core, because its JSON
|
|
88
|
+
schemas are the provider-facing wire format for `PatchSetV1`, distinct from
|
|
89
|
+
the host-side validators in `core/contracts.ts`.
|
|
90
|
+
|
|
91
|
+
## Key design decisions
|
|
92
|
+
|
|
93
|
+
**Versioned artifacts, exact validation.** Every hand-off between stages is a
|
|
94
|
+
`*V1` JSON artifact validated with exact-object semantics — unknown fields are
|
|
95
|
+
errors. Changing an artifact's meaning requires a new schema version and an
|
|
96
|
+
explicit migration (see `migrate-config`), never silent reinterpretation.
|
|
97
|
+
|
|
98
|
+
**Provenance by hash.** Contracts bind to the SHA-256 of the `.human` source
|
|
99
|
+
and the project-profile fingerprint; patches carry exact base hashes; apply
|
|
100
|
+
and rollback verify hashes before touching a file. Staleness is detected, not
|
|
101
|
+
tolerated.
|
|
102
|
+
|
|
103
|
+
**Determinism where it belongs.** The LLM writes framework-specific patch
|
|
104
|
+
operations; everything around it — discovery, profiling, contract validation,
|
|
105
|
+
context selection, patch safety checks, validation-plan selection, apply — is
|
|
106
|
+
deterministic host code. The model never chooses its own scope, tools,
|
|
107
|
+
commands, credentials, or acceptance criteria.
|
|
108
|
+
|
|
109
|
+
**Fail-closed everywhere.** Ambiguous analysis returns `NEEDS_INPUT` or
|
|
110
|
+
`UNSUPPORTED`; a partial secret scan is a failure; a missing sandbox makes
|
|
111
|
+
validation `INCONCLUSIVE`; an empty certification registry means no run can be
|
|
112
|
+
`VERIFIED`. There are no bypass flags that turn a failed gate into success.
|
|
113
|
+
|
|
114
|
+
**Untrusted text stays data.** Source comments, READMEs, `.human` text,
|
|
115
|
+
diagnostics, dependency source, and fetched documentation are wrapped as
|
|
116
|
+
evidence and cannot change policy, commands, scope, tests, or budgets.
|
|
117
|
+
|
|
118
|
+
**Zero runtime dependencies.** The package ships with no production
|
|
119
|
+
dependencies; HTTP adapters, hashing, and JSON handling use Node built-ins.
|
|
120
|
+
This keeps the supply-chain surface equal to Node itself.
|
|
121
|
+
|
|
122
|
+
## The two generation paths
|
|
123
|
+
|
|
124
|
+
1. **Guided pipeline** (`workflow.ts`, the default `npx human-to-code .`
|
|
125
|
+
flow): full contract → grounding → sandbox validation lifecycle described
|
|
126
|
+
above. This is the production-architecture path.
|
|
127
|
+
2. **Simple path** (`pipeline/simple.ts`): a deliberately small
|
|
128
|
+
receipt-and-confirm generator for whole `.human` files or inline `@human`
|
|
129
|
+
markers against a local Ollama endpoint. It shares no state with the
|
|
130
|
+
guided pipeline and never gains its trust: it cannot produce `VERIFIED`
|
|
131
|
+
runs, apply patches, or use the run store.
|
|
132
|
+
|
|
133
|
+
## Where things live at runtime
|
|
134
|
+
|
|
135
|
+
- **Working tree** — never mutated by `generate` or `validate`; only an
|
|
136
|
+
explicit `apply` of a `VERIFIED` run writes to it, atomically per file.
|
|
137
|
+
- **Private run store** (`run-store.ts`, platform cache or
|
|
138
|
+
`HUMAN_TO_CODE_CACHE/runs`) — run records, patches, reports, rollback
|
|
139
|
+
artifacts. Every write is recursively secret-gated.
|
|
140
|
+
- **Snapshots** (`snapshot.ts`) — immutable baseline/candidate copies used
|
|
141
|
+
for generation and sandbox validation, disposed after use.
|
|
142
|
+
|
|
143
|
+
## Testing shape
|
|
144
|
+
|
|
145
|
+
`test/` mirrors the source modules one-to-one (`analyzer.test.ts`,
|
|
146
|
+
`workflow.test.ts`, …) using `node:test` with injected fetch/DNS/clock/exec
|
|
147
|
+
seams — no real provider, network, or container daemon is required.
|
|
148
|
+
`test/package-smoke.mjs` packs the tarball, installs it into a clean temp
|
|
149
|
+
project, imports the public API, and invokes the installed CLI. See
|
|
150
|
+
[SCALABILITY.md](SCALABILITY.md) for the testing bar new code must meet.
|
package/docs/MODULES.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Module guide
|
|
2
|
+
|
|
3
|
+
A per-file map of `src/`, grouped by layer. Layers and dependency rules are
|
|
4
|
+
explained in [ARCHITECTURE.md](ARCHITECTURE.md). Tests live in `test/` and
|
|
5
|
+
mirror these modules by name.
|
|
6
|
+
|
|
7
|
+
## Entry points (`src/`)
|
|
8
|
+
|
|
9
|
+
| Module | Purpose |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| `index.ts` | Stable public API for embedding the pipeline. Re-exports each layer's surface, grouped and commented by layer. Published as `dist/index.js`. |
|
|
12
|
+
| `cli.ts` | The `human-to-code` binary: guided flow plus `analyze`, `plan`, `context`, `generate`, `validate`, `apply`, `rollback`, `check`, `migrate-config`, `--init`. Owns argument parsing, exit codes (0–6), and human-readable output; all real work is delegated to the layers below. Published as `dist/cli.js`. |
|
|
13
|
+
|
|
14
|
+
## `src/core/` — shared primitives
|
|
15
|
+
|
|
16
|
+
| Module | Purpose |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| `types.ts` | Small shared types used across the pipeline: `Config`, `ProviderConfig`, `ProviderName`, `SourceFile`, `SourceKind`, `DiscoveryResult`, `TargetLanguage`. |
|
|
19
|
+
| `contracts.ts` | The versioned artifact vocabulary: `ChangeContractV1`, `PatchSetV1` (+ `PatchOperation`), `ValidationPlanV1`, `RunRecordV1`, and friends. Exact-key validators (`validateChangeContractV1`, `validatePatchSetV1`, `validateRunRecordV1`, …), canonical JSON (`canonicalJson`, `hashCanonical`), and hashing helpers (`sha256Text`, `sha256Bytes`). Raises `ArtifactValidationError`. No LLM/SDK dependency by design. |
|
|
20
|
+
|
|
21
|
+
## `src/config/` — operator policy input
|
|
22
|
+
|
|
23
|
+
| Module | Purpose |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| `config.ts` | Strict schema-v1 `human-to-code.config.json`: `validateConfig`, `DEFAULT_CONFIG`, `CONFIG_FILENAME`, provider/pricing/privacy/sandbox/budget policy, endpoint trust rules, and explicit alpha-config migration. Unknown keys and credential-like values are rejected; credentials are environment-variable names only. |
|
|
26
|
+
| `discovery.ts` | Fail-closed discovery of `.human` sources and protected secret files (`discover`, `DiscoveryError`, `secretsTrackedError`). Never follows symlinks; never turns a partial scan into an empty success. |
|
|
27
|
+
|
|
28
|
+
## `src/analysis/` — static project intelligence
|
|
29
|
+
|
|
30
|
+
| Module | Purpose |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| `analyzer.ts` | `analyzeProject`: deterministic, read-only multi-workspace profiling. Runs every ecosystem adapter over a bounded file inventory and produces a `ProjectProfileV1` with diagnostics; falls back to the ungrounded `general` workspace only when configured. Re-exports the analysis surface consumed by `index.ts`. |
|
|
33
|
+
| `analyzer-types.ts` | Versioned analyzer output types (`ProjectProfileV1`, `WorkspaceProfileV1`, `EcosystemAdapter`, `AnalyzerContext`, evidence/diagnostic/validation-command types) and `PROJECT_PROFILE_SCHEMA_VERSION`. |
|
|
34
|
+
| `analyzer-utils.ts` | Shared adapter infrastructure: bounded repository scanning, hashing, evidence collection, diagnostics, and `finalizeWorkspace`. |
|
|
35
|
+
| `support-matrix.ts` | The declared capability matrix (`SUPPORT_MATRIX`, `SUPPORT_MATRIX_VERSION`, `supportFor`): every recognized ecosystem/variant/version profile and its tier (`certified`/`preview`/`legacy`/…). Support is declared here, never inferred. |
|
|
36
|
+
| `adapters/node.ts` | Static recognition of React (Vite, Next, CRA, libraries, Nx) and NestJS (standalone, CLI monorepo, Nx) workspaces, with version evidence and candidate validation commands. |
|
|
37
|
+
| `adapters/python.ts` | Static recognition of FastAPI applications: environment manager, router/dependency layout, Pydantic, sync/async signals. |
|
|
38
|
+
| `adapters/rust.ts` | Static recognition of Cargo crates/workspaces: edition, toolchain, features, targets, `unsafe`/FFI, build scripts, proc macros, native dependencies. |
|
|
39
|
+
| `adapters/general.ts` | The ungrounded `general` fallback workspace (`buildGeneralWorkspace`). Not a peer adapter: a deliberate lowest-trust last resort with an empty validation plan, pinned to `INCONCLUSIVE`. |
|
|
40
|
+
|
|
41
|
+
## `src/security/` — fail-closed guards
|
|
42
|
+
|
|
43
|
+
| Module | Purpose |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| `secret-scan.ts` | Repository-wide first-party credential scan run before any provider access (`scanProjectForSecrets`, `ProjectSecretScanError`). Reports path/line/kind, never the matched value; partial scans fail closed. |
|
|
46
|
+
| `pinned-http.ts` | `pinnedHttpFetch`: dependency-free HTTPS transport whose socket is pinned to a DNS-vetted address while TLS keeps the reviewed hostname. Blocks userinfo, private networks, unsafe redirects, and DNS rebinding. Used for provider and documentation traffic. |
|
|
47
|
+
|
|
48
|
+
## `src/context/` — what the model may see
|
|
49
|
+
|
|
50
|
+
| Module | Purpose |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| `context.ts` | Deterministic, secret-aware context selection (`selectContext`, `hashContextManifest`): ranks relevant definitions/tests/config plus dependency evidence into a `ContextManifestV1` where every item records location, range, SHA-256, reason, and redactions. Also home of the `scanSecrets` pattern primitive reused at every trust boundary, and `ContextSecurityError`. |
|
|
53
|
+
| `documentation.ts` | `OfficialDocumentationClient`: allowlisted, exact-version official documentation retrieval (built-in `docs.rs`, operator `officialSources`), with a version-and-content-hash cache, strict offline mode, and safe redirect/DNS revalidation. |
|
|
54
|
+
| `compiler-skills.ts` | `COMPILER_SKILLS` / `skillsForEcosystems`: immutable, non-executable ecosystem policy packs (React, NestJS, FastAPI, Rust, core contract scope) supplied to the compiler agent. Data, not authority. |
|
|
55
|
+
| `compiler-tools.ts` | `CompilerToolExecutor`: the bounded read-only context-request executor advertised only to verified loopback-local providers. At most eight host-validated requests of four kinds; every response is recorded in the final manifest. |
|
|
56
|
+
|
|
57
|
+
## `src/providers/` — what the model may do
|
|
58
|
+
|
|
59
|
+
| Module | Purpose |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| `provider.ts` | The provider-neutral contract: `ProviderAdapter`, `JsonSchemaV1`, budget accounting (pessimistic pre-request reservation, usage reconciliation), normalized `ProviderError`s, bounded retries, and the schema gate `generateValidated`. |
|
|
62
|
+
| `providers.ts` | The bundled dependency-free HTTP adapters: `createOpenAIProvider` (Responses API, strict JSON schema) and `createOllamaProvider` (loopback-local native `format`, or Cloud/custom prompt-constrained). Endpoint-bound credentials, manual redirects, bounded response bodies. |
|
|
63
|
+
| `certification.ts` | The fail-closed WRITE gate (`evaluateProviderCertification`, `providerProfileId`, `CERTIFIED_EVIDENCE`): a run may become `VERIFIED` only with host-owned, re-scored benchmark evidence for the exact provider/model profile and ecosystem. Ships empty in the preview, so `VERIFIED` is unreachable by design. |
|
|
64
|
+
| `schemas.ts` | JSON Schema documents for every persisted v1 artifact, including `PATCH_SET_SCHEMA_V1` — the provider-bound wire schema for structured patch output. |
|
|
65
|
+
|
|
66
|
+
## `src/pipeline/` — run orchestration
|
|
67
|
+
|
|
68
|
+
| Module | Purpose |
|
|
69
|
+
| --- | --- |
|
|
70
|
+
| `planner.ts` | Deterministic creation and loading of reviewed `ChangeContractV1` drafts (`foo.strict.human.json`), bound to source hash and profile fingerprint, with conservative review questions. |
|
|
71
|
+
| `snapshot.ts` | Isolated content-addressed workspace snapshots (`createWorkspaceSnapshot`, `cloneWorkspaceSnapshot`, `disposeWorkspaceSnapshot`) used for generation and baseline/candidate validation. |
|
|
72
|
+
| `patch.ts` | Constrained patch validation and atomic application (`preparePatch`, `applyPatchAtomic`, `PatchSafetyError`, `PatchPolicy`): scope/hash/anchor checks, protected/generated/lockfile refusal, traversal/symlink/binary/collision rejection, per-file atomic writes, rollback artifacts. |
|
|
73
|
+
| `validation.ts` | Strong container-only validation (`validateBaselineAndCandidate`, `strongSandboxAvailable`): Docker/Podman sandbox with no network, read-only root, scrubbed environment, resource limits; unchanged baseline first, then candidate; secret-scanned output. |
|
|
74
|
+
| `run-store.ts` | `RunStore`: durable, private, crash-safe run metadata (contracts, patches, reports, rollback artifacts) with recursive secret gating on every write. |
|
|
75
|
+
| `workflow.ts` | The guided end-to-end orchestrator (`generateRun` and the apply/rollback/repair flows): ties analysis, certification, secret scan, context, provider, snapshot, validation, run store, and patch together with crash-safe budget checkpoints and at most two diagnostic repairs. |
|
|
76
|
+
| `simple.ts` | The lightweight direct path: whole-`.human`-file or inline-`@human`-marker generation against local Ollama, with a receipt-and-confirm step. Shares no trust with the guided pipeline; cannot produce `VERIFIED` or apply patches. |
|
|
77
|
+
|
|
78
|
+
## Test map
|
|
79
|
+
|
|
80
|
+
| Test | Covers |
|
|
81
|
+
| --- | --- |
|
|
82
|
+
| `test/analyzer.test.ts`, `test/general.test.ts` | Static analysis, adapters, and the general fallback. |
|
|
83
|
+
| `test/config.test.ts`, `test/discovery.test.ts` | Config schema/migration and `.human` discovery. |
|
|
84
|
+
| `test/contracts.test.ts` | Artifact validators, canonical JSON, hashing. |
|
|
85
|
+
| `test/context.test.ts`, `test/documentation.test.ts` | Context selection/provenance and documentation retrieval. |
|
|
86
|
+
| `test/secret-scan.test.ts` | Repository credential scanning. |
|
|
87
|
+
| `test/provider.test.ts`, `test/providers.test.ts` | Provider contract, budgets, and HTTP adapters (injected fetch/DNS). |
|
|
88
|
+
| `test/certification.test.ts`, `test/release-gate.test.ts` | Certification evidence gate and release-status honesty. |
|
|
89
|
+
| `test/planner.test.ts`, `test/patch.test.ts`, `test/snapshot.test.ts`, `test/run-store.test.ts`, `test/validation.test.ts`, `test/workflow.test.ts` | The pipeline stage by stage, including apply/rollback and repair limits. |
|
|
90
|
+
| `test/cli.test.ts` | Command surface and exit codes. |
|
|
91
|
+
| `test/package-smoke.mjs` | Packed-tarball install, public import, installed-CLI invocation (`npm run package:check`). |
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Scalability and engineering practices
|
|
2
|
+
|
|
3
|
+
How to grow this codebase without eroding its guarantees. The safety
|
|
4
|
+
invariants in [CONTRIBUTING.md](../CONTRIBUTING.md#non-negotiable-safety-invariants)
|
|
5
|
+
are the hard floor; this document covers the structural practices that keep
|
|
6
|
+
the code readable and extensible as it scales.
|
|
7
|
+
|
|
8
|
+
## Layering rules
|
|
9
|
+
|
|
10
|
+
Source lives in layered domain folders (see
|
|
11
|
+
[ARCHITECTURE.md](ARCHITECTURE.md)). The rules:
|
|
12
|
+
|
|
13
|
+
1. **Imports point upward only.** A module may import from its own folder or
|
|
14
|
+
a layer above it (`core` at the top, `pipeline` at the bottom, entry points
|
|
15
|
+
below everything). If you need a downward import, the type or helper you
|
|
16
|
+
want belongs in a higher layer — move it, don't bend the arrow.
|
|
17
|
+
2. **`core/` stays dependency-free.** Nothing in `core/` imports from any
|
|
18
|
+
other folder or from an SDK. It is the shared vocabulary; keeping it leaf
|
|
19
|
+
is what prevents import cycles as the codebase grows.
|
|
20
|
+
3. **Entry points stay thin.** `cli.ts` parses arguments, maps statuses to
|
|
21
|
+
exit codes, and prints; `index.ts` only re-exports. Behavior belongs in a
|
|
22
|
+
layer, where it is testable without a TTY.
|
|
23
|
+
4. **One module, one responsibility.** New functionality gets a new file in
|
|
24
|
+
the right folder rather than growing an existing file past its purpose.
|
|
25
|
+
If a file needs a paragraph to describe, it is two files.
|
|
26
|
+
5. **Every module starts with a `/** … */` header** stating what it does and,
|
|
27
|
+
where relevant, what it deliberately does not do. The headers are the
|
|
28
|
+
first line of documentation; keep them true when behavior changes.
|
|
29
|
+
|
|
30
|
+
## Extension points
|
|
31
|
+
|
|
32
|
+
The codebase has three designed seams. Extending along them requires no
|
|
33
|
+
changes to the layers above.
|
|
34
|
+
|
|
35
|
+
### Adding an ecosystem (e.g. Django, Spring)
|
|
36
|
+
|
|
37
|
+
1. Implement `EcosystemAdapter` (`analysis/analyzer-types.ts`) in a new
|
|
38
|
+
`analysis/adapters/<name>.ts`. Analysis must stay static: inspect only the
|
|
39
|
+
bounded `AnalyzerContext`; never import project modules, evaluate config,
|
|
40
|
+
or spawn tools. Emit version evidence and candidate validation commands.
|
|
41
|
+
2. Declare the recognized variants/versions in `analysis/support-matrix.ts`,
|
|
42
|
+
starting at `preview` tier. Support is declared, never inferred.
|
|
43
|
+
3. Register the adapter in `DEFAULT_ECOSYSTEM_ADAPTERS`
|
|
44
|
+
(`analysis/analyzer.ts`).
|
|
45
|
+
4. Add a skill pack in `context/compiler-skills.ts` for the ecosystem's
|
|
46
|
+
conventions (policy data only — it grants no authority).
|
|
47
|
+
5. Add positive and adversarial fixtures per the analyzer checklist in
|
|
48
|
+
CONTRIBUTING.md: conflicting lockfiles, ambiguous workspaces, symlinks,
|
|
49
|
+
partial scans, stable ordering and fingerprints.
|
|
50
|
+
|
|
51
|
+
### Adding a provider (e.g. Anthropic)
|
|
52
|
+
|
|
53
|
+
1. Implement `ProviderAdapter` (`providers/provider.ts`) in
|
|
54
|
+
`providers/providers.ts` (or a sibling file) using only Node built-ins and
|
|
55
|
+
`security/pinned-http.ts` for transport. No new runtime dependencies.
|
|
56
|
+
2. Route all output through the existing schema gate (`generateValidated`)
|
|
57
|
+
and budget accounting — pessimistic pre-request reservation, reconciliation
|
|
58
|
+
on provider-reported usage, conservative charge on failure.
|
|
59
|
+
3. Bind credentials to the endpoint via `apiKeyEnv` only; require reviewed
|
|
60
|
+
pricing bounds for remote endpoints; never advertise context tools to a
|
|
61
|
+
non-loopback destination.
|
|
62
|
+
4. Wire the name through `config/config.ts` validation and the CLI factory in
|
|
63
|
+
`cli.ts`. No silent fallback of provider, model, or endpoint — ever.
|
|
64
|
+
5. Test with injected fetch/DNS/clock seams per the provider checklist in
|
|
65
|
+
CONTRIBUTING.md.
|
|
66
|
+
|
|
67
|
+
### Evolving an artifact schema
|
|
68
|
+
|
|
69
|
+
Artifacts (`*V1` in `core/contracts.ts`) are the contracts between stages and
|
|
70
|
+
between releases:
|
|
71
|
+
|
|
72
|
+
- **Additive and compatible?** Extend the V1 type and its exact validator
|
|
73
|
+
together, plus the JSON Schema in `providers/schemas.ts` if the artifact
|
|
74
|
+
crosses the provider boundary.
|
|
75
|
+
- **Meaning changes?** New version (`*V2`), new validator, explicit migration
|
|
76
|
+
(the `migrate-config` command is the pattern). Never silently reinterpret a
|
|
77
|
+
stored artifact — run records outlive releases.
|
|
78
|
+
- Unknown fields always remain errors. Loosening exact-key validation is a
|
|
79
|
+
design discussion, not a patch.
|
|
80
|
+
|
|
81
|
+
## Code conventions
|
|
82
|
+
|
|
83
|
+
- **TypeScript strict, no escape hatches.** `strict` and
|
|
84
|
+
`noUncheckedIndexedAccess` stay on; avoid `any` and non-null assertions —
|
|
85
|
+
validate at the boundary and let types flow.
|
|
86
|
+
- **Zero production dependencies.** HTTP, hashing, JSON, and process handling
|
|
87
|
+
use Node built-ins. Adding a runtime dependency changes the supply-chain
|
|
88
|
+
posture and needs a design discussion first.
|
|
89
|
+
- **Errors are typed and named.** Each layer exports its own error classes
|
|
90
|
+
(`ArtifactValidationError`, `ProviderError`, `PatchSafetyError`, …) so the
|
|
91
|
+
CLI can map failures to exit codes without string matching. Error messages
|
|
92
|
+
never contain secret values.
|
|
93
|
+
- **Determinism by default.** Stable ordering for anything hashed, listed, or
|
|
94
|
+
persisted; inject clock/randomness/network/exec as parameters so tests can
|
|
95
|
+
control them.
|
|
96
|
+
- **Statuses, not booleans.** Multi-outcome operations return the typed run
|
|
97
|
+
statuses (`VERIFIED`/`NEEDS_INPUT`/`UNSUPPORTED`/`INCONCLUSIVE`/`FAILED`/
|
|
98
|
+
`SECURITY_BLOCKED`), and only `VERIFIED` is success.
|
|
99
|
+
|
|
100
|
+
## Testing practices
|
|
101
|
+
|
|
102
|
+
- Every `src/**/x.ts` with behavior has a mirror `test/x.test.ts`; keep the
|
|
103
|
+
mirror when adding or moving modules.
|
|
104
|
+
- Tests are deterministic and offline: injected fetch/DNS/environment/clock
|
|
105
|
+
seams, no real provider, network, or container daemon (the validation tests
|
|
106
|
+
stub the sandbox probe).
|
|
107
|
+
- New behavior ships with its most plausible misuse and failure cases, not
|
|
108
|
+
just the happy path — the per-area checklists in CONTRIBUTING.md are the
|
|
109
|
+
bar.
|
|
110
|
+
- Secret-handling tests use unmistakably synthetic values and assert that raw
|
|
111
|
+
values never appear in errors, reports, or stored artifacts.
|
|
112
|
+
- `npm run typecheck && npm test && npm run build && npm run package:check`
|
|
113
|
+
must pass from a clean install before review; CI runs the same set.
|
|
114
|
+
|
|
115
|
+
## Documentation practices
|
|
116
|
+
|
|
117
|
+
Documentation is layered like the code — update the layer that owns the fact:
|
|
118
|
+
|
|
119
|
+
| Layer | Owns | Update when |
|
|
120
|
+
| --- | --- | --- |
|
|
121
|
+
| Module headers | What one file does | The file's behavior changes |
|
|
122
|
+
| [docs/MODULES.md](MODULES.md) | The per-file map | A module is added, moved, or repurposed |
|
|
123
|
+
| [docs/ARCHITECTURE.md](ARCHITECTURE.md) | Layers, flow, design decisions | A layer, stage, or invariant-relevant design changes |
|
|
124
|
+
| [Readme.md](../Readme.md) | User-facing behavior and guarantees | CLI behavior, config, statuses, or limitations change |
|
|
125
|
+
| [SECURITY.md](../SECURITY.md) | Trust model | Any trust-boundary change |
|
|
126
|
+
| [CONTRIBUTING.md](../CONTRIBUTING.md) | Invariants and checklists | The engineering bar itself changes |
|
|
127
|
+
|
|
128
|
+
A pull request that changes behavior updates the affected documentation in
|
|
129
|
+
the same change — documentation drift is treated as a defect, and honest
|
|
130
|
+
wording is part of review (never describe a fail-closed limitation as a
|
|
131
|
+
feature gap to be papered over).
|
|
132
|
+
|
|
133
|
+
## Growth guardrails
|
|
134
|
+
|
|
135
|
+
- **When a folder accumulates unrelated concerns, split the folder**, not
|
|
136
|
+
just the file — the layer list in ARCHITECTURE.md is expected to grow.
|
|
137
|
+
- **New capability starts fail-closed.** Ship recognition at `preview`,
|
|
138
|
+
refuse ambiguity, and let certification evidence — not confidence — promote
|
|
139
|
+
it. This is what keeps adding surface area from multiplying risk.
|
|
140
|
+
- **No bypass flags.** If a gate is inconvenient, the fix is evidence or
|
|
141
|
+
design, never a flag that converts a non-success status into exit 0.
|
|
142
|
+
- **Entry-point stability.** `src/index.ts` and `src/cli.ts` stay at the
|
|
143
|
+
source root so `dist/index.js` and `dist/cli.js` (package `main`/`bin`)
|
|
144
|
+
never move; reorganize beneath them freely.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "human-to-code",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Safely turn reviewed natural-language change contracts into validated code patches.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"files": [
|
|
20
20
|
"dist",
|
|
21
21
|
"assets",
|
|
22
|
+
"docs",
|
|
22
23
|
"Readme.md",
|
|
23
24
|
"SECURITY.md",
|
|
24
25
|
"LICENSE"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/adapters/general.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAKhF,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,GACf,kBAAkB,CA0CpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/adapters/general.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,iEAAiE;AACjE,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnG,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAwB,EACxB,QAAgB;IAEhB,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CAAC;QACvB,aAAa,EAAE,8BAA8B;QAC7C,EAAE,EAAE,WAAW;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC;QAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE;QACxC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE;QAChD,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1D,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,CAAC,GAAG,CAAC;QAClB,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QAChC,aAAa,EAAE,EAAE;QACjB,qBAAqB,EAAE,EAAE;QACzB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1D,4EAA4E;QAC5E,uEAAuE;QACvE,cAAc,EAAE,EAAE;QAClB,gBAAgB,EAAE;YAChB,gHAAgH;YAChH,+GAA+G;SAChH;QACD,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE,uDAAuD,kBAAkB,0FAA0F;gBAC5K,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,CAAC,GAAG,CAAC;aACb;SACF;QACD,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAGf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AA+pC9B,2EAA2E;AAC3E,qBAAa,oBAAqB,YAAW,gBAAgB;IAG3D,QAAQ,CAAC,SAAS,EAAG,OAAO,CAAU;IAEhC,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAgBvE;AAED,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/adapters/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AA8nB9B,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,QAAQ,CAAC,SAAS,EAAG,SAAS,CAAU;IAElC,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAMvE;AAED,eAAO,MAAM,uBAAuB,yBAAgC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/adapters/python.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../src/adapters/rust.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAGf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAiqB9B,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAU;IAE/B,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAMvE;AAED,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}
|