@gate-forge/pack-http 0.1.0
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/LICENSE +202 -0
- package/README.md +224 -0
- package/dist/client-calls.d.ts +212 -0
- package/dist/client-calls.d.ts.map +1 -0
- package/dist/client-calls.js +1069 -0
- package/dist/client-calls.js.map +1 -0
- package/dist/detector.d.ts +33 -0
- package/dist/detector.d.ts.map +1 -0
- package/dist/detector.js +399 -0
- package/dist/detector.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-calls.js","sourceRoot":"","sources":["../src/client-calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { DiscoveryOutcome } from '@gate-forge/plugin-protocol';
|
|
2
|
+
import { type ClientScanConfig } from './client-calls.js';
|
|
3
|
+
/** Detector contract: `discover(paths)` is sync (pure over file bytes). */
|
|
4
|
+
export interface HttpDetector {
|
|
5
|
+
discover(paths: readonly string[]): DiscoveryOutcome;
|
|
6
|
+
}
|
|
7
|
+
/** Options for {@link createHttpDetector}. */
|
|
8
|
+
export interface HttpDetectorOptions {
|
|
9
|
+
/** Repo root for repo-relative `source` paths (default: `process.cwd()`). */
|
|
10
|
+
root?: string;
|
|
11
|
+
/** Client-scan configuration (declarates resolvable APIs, ADR 0004 D6). */
|
|
12
|
+
clientScan?: ClientScanConfig;
|
|
13
|
+
/**
|
|
14
|
+
* Repo-relative path of a client-scan config document (JSON) read from
|
|
15
|
+
* `root` when `clientScan` is not given (default:
|
|
16
|
+
* `.gateforge/http-clients.json`; absence is normal).
|
|
17
|
+
*/
|
|
18
|
+
clientScanConfigPath?: string;
|
|
19
|
+
}
|
|
20
|
+
/** Where an externally-reachable artifact was found. */
|
|
21
|
+
export type HttpOrigin = 'express' | 'fastify' | 'hono' | 'nestjs' | 'fetch' | 'axios';
|
|
22
|
+
/**
|
|
23
|
+
* Creates the discover-capable detector module. The default export of
|
|
24
|
+
* the pack is `createHttpDetector()` — the CLI in-process contract.
|
|
25
|
+
*
|
|
26
|
+
* Args:
|
|
27
|
+
* options: Optional root override for repo-relative `source` paths.
|
|
28
|
+
*
|
|
29
|
+
* Returns:
|
|
30
|
+
* HttpDetector: the pinned `{ discover(paths) }` module.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createHttpDetector(options?: HttpDetectorOptions): HttpDetector;
|
|
33
|
+
//# sourceMappingURL=detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"AA2DA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAUpE,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAM3B,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAAC;CACtD;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wDAAwD;AACxD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAqJvF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,mBAAwB,GAAG,YAAY,CAkHlF"}
|
package/dist/detector.js
ADDED
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic HTTP exposure pack detector (plan phase 4, ADR 0003 D1/D2).
|
|
3
|
+
*
|
|
4
|
+
* Discovers externally-reachable HTTP artifacts in TypeScript/JavaScript
|
|
5
|
+
* sources and emits classification signals ONLY — routes are EVIDENCE,
|
|
6
|
+
* never business resources (red-team round 2): a route resource carrying
|
|
7
|
+
* the path-derived bare name would collide with the converged table at
|
|
8
|
+
* the same plane-qualified id (DUPLICATE_BOUND_RESOURCE_ID). The
|
|
9
|
+
* artifact's identity lives in its signals' locations:
|
|
10
|
+
*
|
|
11
|
+
* - Server routes: Express `app.get('/path', …)` / `router.post(…)`,
|
|
12
|
+
* Fastify and Hono registrations (import-disambiguated, mirroring
|
|
13
|
+
* pack-auth's convention), and NestJS `@Controller('prefix')` +
|
|
14
|
+
* `@Get('suffix')` decorators.
|
|
15
|
+
* - Frontend API-client calls resolved through the bounded static
|
|
16
|
+
* dataflow in `client-calls.ts` (plan phase 3): direct literal
|
|
17
|
+
* `fetch`/Axios, `fetch(url, { method })`, Axios instances and
|
|
18
|
+
* config objects, configured client symbols, pure URL builders,
|
|
19
|
+
* module constants (local and imported within the scanned set),
|
|
20
|
+
* and simple single-return wrapper functions. A modeled
|
|
21
|
+
* `axios.create` creation with a proven literal `baseURL` joins the
|
|
22
|
+
* base into the emitted `normalizedPath` (`rawPath` stays as
|
|
23
|
+
* written); unprovable bases join nothing, byte-identically.
|
|
24
|
+
* Computed methods, arbitrary concatenation, environment-dependent
|
|
25
|
+
* hosts, and wrapper flows outside the model emit typed unresolved
|
|
26
|
+
* entries — they never disappear and never default to GET.
|
|
27
|
+
*
|
|
28
|
+
* Both sides additionally emit `http.contract` evidence facts (ADR 0004
|
|
29
|
+
* D1) — one per server artifact and one per frontend callsite — which the
|
|
30
|
+
* engine's endpoint compiler joins by canonical method + positional path.
|
|
31
|
+
* Facts are engine-owned evidence-only resources: never business
|
|
32
|
+
* resources, never classified directly.
|
|
33
|
+
*
|
|
34
|
+
* Signals (dogfood remediation phase 4): NONE. This pack once minted
|
|
35
|
+
* `exposure`/`lifecycle.<op>` signals targeted at the PATH-DERIVED
|
|
36
|
+
* resource name (last non-parameter path segment); in real repos those
|
|
37
|
+
* names are guesses that mostly match no discovered resource (route
|
|
38
|
+
* `/absences` vs table `employee_absences`), and every minted signal
|
|
39
|
+
* surfaced as a STALE_SIGNAL_TARGET blocker while adding no information:
|
|
40
|
+
* unknown exposure already defaults user-facing and unknown lifecycle
|
|
41
|
+
* operations already default enabled (ADR 0003 D5). Route→resource
|
|
42
|
+
* linkage is the CLI endpoint compiler's exclusive job
|
|
43
|
+
* (`derivePathResourceName` + schema-symbol/handler corroboration, with
|
|
44
|
+
* typed ENDPOINT_RESOURCE_LINK_UNRESOLVED blocks for ambiguity); the
|
|
45
|
+
* schema symbols and handler names this pack discovers travel on the
|
|
46
|
+
* `http.contract` facts the compiler corroborates against. Core's
|
|
47
|
+
* STALE_SIGNAL_TARGET detection remains for genuinely stale authority
|
|
48
|
+
* signals (declaration markers, adapter bindings, read-only
|
|
49
|
+
* declarations) — this pack simply no longer produces false targets.
|
|
50
|
+
*
|
|
51
|
+
* No negative proof exists anywhere in this pack (plan §4.3: no
|
|
52
|
+
* regex-only negative proof, no "not found means internal"); it never
|
|
53
|
+
* writes classifications, only evidence.
|
|
54
|
+
*
|
|
55
|
+
* Determinism: pure over (paths, file bytes); no clock, no network;
|
|
56
|
+
* output sorted by resource id; signals sorted by canonical JSON.
|
|
57
|
+
*/
|
|
58
|
+
import { lstatSync, readdirSync, readFileSync } from 'node:fs';
|
|
59
|
+
import { resolve, relative, sep } from 'node:path';
|
|
60
|
+
import { LocationSchema } from '@gate-forge/core';
|
|
61
|
+
import { HTTP_CONTRACT_KIND, normalizeHttpMethod, normalizeHttpPath, } from '@gate-forge/http-contract';
|
|
62
|
+
import { activeClientSymbolNamesIn, fileInServerScanRoots, readClientScanConfigOrNull, scanClientCalls, } from './client-calls.js';
|
|
63
|
+
import { PACK_VERSION } from './version.js';
|
|
64
|
+
/** Directories the detector never descends into. */
|
|
65
|
+
const SKIP_DIR_NAMES = {
|
|
66
|
+
node_modules: true,
|
|
67
|
+
dist: true,
|
|
68
|
+
build: true,
|
|
69
|
+
coverage: true,
|
|
70
|
+
'.git': true,
|
|
71
|
+
'.next': true,
|
|
72
|
+
'.turbo': true,
|
|
73
|
+
'.cache': true,
|
|
74
|
+
out: true,
|
|
75
|
+
__pycache__: true,
|
|
76
|
+
};
|
|
77
|
+
/** Scanned source extensions. */
|
|
78
|
+
const SOURCE_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'];
|
|
79
|
+
/** Recursively resolves repo-relative input paths to source files. */
|
|
80
|
+
function resolveInputs(paths, root) {
|
|
81
|
+
const files = [];
|
|
82
|
+
for (const rel of paths) {
|
|
83
|
+
if (rel.includes('..') || resolve(root, rel) === root)
|
|
84
|
+
continue;
|
|
85
|
+
const absolute = resolve(root, rel);
|
|
86
|
+
let stat;
|
|
87
|
+
try {
|
|
88
|
+
// lstat (NOT stat): recognize a final symlink without following it.
|
|
89
|
+
stat = lstatSync(absolute);
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (stat.isSymbolicLink()) {
|
|
95
|
+
// SKIP silently — mirrors the CLI walker's symlink rule. A symlink
|
|
96
|
+
// target lies outside the repository's real source tree, so
|
|
97
|
+
// following it would scan content the repo does not own, and a
|
|
98
|
+
// dangling link hides nothing (no target content exists): skipping
|
|
99
|
+
// closes no scan-scope hole.
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (stat.isDirectory()) {
|
|
103
|
+
let entries = [];
|
|
104
|
+
try {
|
|
105
|
+
entries = readdirSync(absolute);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Silent on purpose: the CLI's expandIncludePaths walk already
|
|
109
|
+
// fail-closes (ExpandError → SCAN_PATH_UNREADABLE) on unreadable
|
|
110
|
+
// directories and stat failures, so this pass can never be the
|
|
111
|
+
// last line of defense — it only narrows an already-proven scope.
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
const nested = entries
|
|
115
|
+
.filter((entry) => SKIP_DIR_NAMES[entry] !== true)
|
|
116
|
+
.map((entry) => `${rel}/${entry}`);
|
|
117
|
+
files.push(...resolveInputs(nested, root));
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
if (SOURCE_EXTENSIONS.some((ext) => rel.endsWith(ext)))
|
|
121
|
+
files.push(absolute);
|
|
122
|
+
}
|
|
123
|
+
return files.sort();
|
|
124
|
+
}
|
|
125
|
+
/** Line/column (1-based line, 0-based col) of a text index. */
|
|
126
|
+
function lineColumnFor(text, index) {
|
|
127
|
+
const before = text.slice(0, Math.max(index, 0));
|
|
128
|
+
const lines = before.split('\n');
|
|
129
|
+
return { line: lines.length, col: (lines[lines.length - 1] ?? '').length };
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Scans one file's text for server route registrations. Express/Fastify/
|
|
133
|
+
* Hono share the `app|server|router|api.<method>( '<path>' …` shape;
|
|
134
|
+
* framework attribution follows the module the file imports (pack-auth
|
|
135
|
+
* convention — without import disambiguation the first scanner wins and
|
|
136
|
+
* wrong attribution leaks across frameworks).
|
|
137
|
+
*/
|
|
138
|
+
function scanServerRoutes(text, file, clientSymbols = []) {
|
|
139
|
+
const out = [];
|
|
140
|
+
let origin = 'express';
|
|
141
|
+
if (/\bfrom\s+['"]hono['"]/.test(text) || /\brequire\(\s*['"]hono['"]/.test(text)) {
|
|
142
|
+
origin = 'hono';
|
|
143
|
+
}
|
|
144
|
+
else if (/\bfrom\s+['"]fastify['"]/.test(text) || /\brequire\(\s*['"]fastify['"]/.test(text)) {
|
|
145
|
+
origin = 'fastify';
|
|
146
|
+
}
|
|
147
|
+
const registration = /\b(app|server|router|api)\.(get|post|put|patch|delete|all)\(\s*(['"`])([^'"`]+)\3(?:\s*,\s*([A-Za-z_$][\w$]*)\s*[),])?/g;
|
|
148
|
+
let match;
|
|
149
|
+
while ((match = registration.exec(text)) !== null) {
|
|
150
|
+
const receiver = match[1] ?? '';
|
|
151
|
+
if (clientSymbols.includes(receiver))
|
|
152
|
+
continue;
|
|
153
|
+
const method = (match[2] ?? '').toUpperCase();
|
|
154
|
+
const path = match[4] ?? '';
|
|
155
|
+
if (path.length === 0)
|
|
156
|
+
continue;
|
|
157
|
+
const handler = match[5];
|
|
158
|
+
const { line, col } = lineColumnFor(text, match.index);
|
|
159
|
+
out.push({ method, path, origin, file, line, col, ...(handler !== undefined ? { handler } : {}) });
|
|
160
|
+
}
|
|
161
|
+
return out;
|
|
162
|
+
}
|
|
163
|
+
/** Scans one file's text for NestJS `@Controller` + `@Get`/`@Post` pairs. */
|
|
164
|
+
function scanNestControllers(text, file) {
|
|
165
|
+
const out = [];
|
|
166
|
+
const controller = /@Controller\(\s*(['"`])([^'"`]*)\1\s*\)/g;
|
|
167
|
+
let match;
|
|
168
|
+
while ((match = controller.exec(text)) !== null) {
|
|
169
|
+
const prefix = match[2] ?? '';
|
|
170
|
+
// The controller body spans until the next @Controller or EOF.
|
|
171
|
+
const bodyStart = match.index + (match[0]?.length ?? 0);
|
|
172
|
+
const nextController = text.slice(bodyStart).search(/@Controller\(/);
|
|
173
|
+
const body = text.slice(bodyStart, nextController === -1 ? undefined : bodyStart + nextController);
|
|
174
|
+
const methodDecorator = /@(Get|Post|Put|Patch|Delete|All)\(\s*(['"`])?([^'"`)]*)\2?\s*\)/g;
|
|
175
|
+
let methodMatch;
|
|
176
|
+
while ((methodMatch = methodDecorator.exec(body)) !== null) {
|
|
177
|
+
const method = (methodMatch[1] ?? '').toUpperCase();
|
|
178
|
+
const suffix = methodMatch[3] ?? '';
|
|
179
|
+
const path = `/${prefix}/${suffix}`.replace(/\/+$/, '');
|
|
180
|
+
if (path === '/')
|
|
181
|
+
continue;
|
|
182
|
+
const absoluteIndex = bodyStart + (methodMatch.index ?? 0);
|
|
183
|
+
const { line, col } = lineColumnFor(text, absoluteIndex);
|
|
184
|
+
out.push({ method, path, origin: 'nestjs', file, line, col });
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return out;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Creates the discover-capable detector module. The default export of
|
|
191
|
+
* the pack is `createHttpDetector()` — the CLI in-process contract.
|
|
192
|
+
*
|
|
193
|
+
* Args:
|
|
194
|
+
* options: Optional root override for repo-relative `source` paths.
|
|
195
|
+
*
|
|
196
|
+
* Returns:
|
|
197
|
+
* HttpDetector: the pinned `{ discover(paths) }` module.
|
|
198
|
+
*/
|
|
199
|
+
export function createHttpDetector(options = {}) {
|
|
200
|
+
const root = options.root ?? process.cwd();
|
|
201
|
+
const clientScan = options.clientScan ??
|
|
202
|
+
readClientScanConfigOrNull(resolve(root, options.clientScanConfigPath ?? '.gateforge/http-clients.json'));
|
|
203
|
+
return {
|
|
204
|
+
discover(paths) {
|
|
205
|
+
if (paths.length === 0) {
|
|
206
|
+
return { resources: [], unresolved: [], findings: [], classificationSignals: [], scannedPaths: [] };
|
|
207
|
+
}
|
|
208
|
+
const files = resolveInputs(paths, root);
|
|
209
|
+
const artifacts = [];
|
|
210
|
+
const findings = [];
|
|
211
|
+
const scanned = [];
|
|
212
|
+
const texts = new Map();
|
|
213
|
+
for (const file of files) {
|
|
214
|
+
let text;
|
|
215
|
+
try {
|
|
216
|
+
text = readFileSync(file, 'utf8');
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
const source = relative(root, file).split(sep).join('/');
|
|
220
|
+
findings.push({
|
|
221
|
+
code: 'SOURCE_READ_ERROR',
|
|
222
|
+
detail: `failed to read '${source}': ${error instanceof Error ? error.message : String(error)}`,
|
|
223
|
+
locations: [{ file: source, line: 1, col: 0 }],
|
|
224
|
+
});
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
const sourceRel = relative(root, file).split(sep).join('/');
|
|
228
|
+
scanned.push(sourceRel);
|
|
229
|
+
texts.set(sourceRel, text);
|
|
230
|
+
// Server-route scan scoping (phase 3): generic route regexes and
|
|
231
|
+
// NestJS decorators apply ONLY inside serverScanRoots — another
|
|
232
|
+
// repo discovered false http.endpoint resources inside tests/e2e
|
|
233
|
+
// because test-harness mock servers matched the generic shape,
|
|
234
|
+
// and test servers are not product routes. Files outside the
|
|
235
|
+
// roots yield no server artifacts at all (they still count as
|
|
236
|
+
// scanned: the walk read them; scoping narrows facts, not
|
|
237
|
+
// coverage reporting).
|
|
238
|
+
if (fileInServerScanRoots(clientScan, sourceRel)) {
|
|
239
|
+
// Client-symbol disambiguation stays scope-aware: a symbol
|
|
240
|
+
// admits this file only where its scoping does (see
|
|
241
|
+
// activeClientSymbolNamesIn) — out of client scope,
|
|
242
|
+
// `api.get('/x', handler)` can only be a router registration.
|
|
243
|
+
for (const artifact of scanServerRoutes(text, file, activeClientSymbolNamesIn(clientScan, sourceRel))) {
|
|
244
|
+
artifacts.push(artifact);
|
|
245
|
+
}
|
|
246
|
+
for (const artifact of scanNestControllers(text, file))
|
|
247
|
+
artifacts.push(artifact);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
artifacts.sort((a, b) => {
|
|
251
|
+
const keyA = `${a.file}:${a.line}:${a.col}:${a.method}:${a.path}:${a.origin}`;
|
|
252
|
+
const keyB = `${b.file}:${b.line}:${b.col}:${b.method}:${b.path}:${b.origin}`;
|
|
253
|
+
return keyA < keyB ? -1 : keyA > keyB ? 1 : 0;
|
|
254
|
+
});
|
|
255
|
+
// Routes are EVIDENCE, not business resources (red-team round 2):
|
|
256
|
+
// emitting a classifiable resource with the path-derived bare name
|
|
257
|
+
// would collide with the converged table at the same plane-
|
|
258
|
+
// qualified id, and (phase 4) no classification signals are minted:
|
|
259
|
+
// a path-derived target is a guess that mostly names no discovered
|
|
260
|
+
// resource (STALE_SIGNAL_TARGET noise). The contract facts below
|
|
261
|
+
// carry raw/canonical paths, schema symbols, and handler names to
|
|
262
|
+
// the endpoint compiler — the sole sanctioned linkage mechanism.
|
|
263
|
+
const resources = [];
|
|
264
|
+
const unresolved = [];
|
|
265
|
+
for (const artifact of artifacts) {
|
|
266
|
+
const sourceRel = relative(root, artifact.file).split(sep).join('/');
|
|
267
|
+
const location = { file: sourceRel, line: artifact.line, col: artifact.col };
|
|
268
|
+
// Catch-all registrations (app.all/*) are exposure-only evidence:
|
|
269
|
+
// they prove reachability but no concrete method, so they emit no
|
|
270
|
+
// contract fact and no block.
|
|
271
|
+
if (!['all', 'any', '*'].includes(artifact.method.toLowerCase())) {
|
|
272
|
+
const fact = contractFactFromArtifact(artifact, sourceRel, location, artifact.handler);
|
|
273
|
+
if (fact.ok)
|
|
274
|
+
resources.push(fact.resource);
|
|
275
|
+
else
|
|
276
|
+
unresolved.push(fact.unresolved);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
// Frontend calls: bounded static dataflow (client-calls.ts) — one
|
|
280
|
+
// fact per source callsite. Every scanned file is offered as an
|
|
281
|
+
// import-resolution target, but clientScanRoots fact emission is
|
|
282
|
+
// enforced inside scanClientCalls: files outside the roots return
|
|
283
|
+
// empty there (no facts, no unresolved entries) while still
|
|
284
|
+
// resolving product imports.
|
|
285
|
+
for (const sourceRel of [...texts.keys()].sort(compareStringsHttp)) {
|
|
286
|
+
const text = texts.get(sourceRel);
|
|
287
|
+
if (text === undefined)
|
|
288
|
+
continue;
|
|
289
|
+
const result = scanClientCalls(sourceRel, text, clientScan, texts);
|
|
290
|
+
for (const clientCall of result.calls) {
|
|
291
|
+
const fact = contractFactFromClientCall(clientCall, sourceRel);
|
|
292
|
+
if (fact.ok)
|
|
293
|
+
resources.push(fact.resource);
|
|
294
|
+
else
|
|
295
|
+
unresolved.push(fact.unresolved);
|
|
296
|
+
}
|
|
297
|
+
unresolved.push(...result.unresolved);
|
|
298
|
+
}
|
|
299
|
+
resources.sort((a, b) => compareStringsHttp(String(a['id']), String(b['id'])));
|
|
300
|
+
unresolved.sort((a, b) => compareStringsHttp(a.location.file, b.location.file) ||
|
|
301
|
+
a.location.line - b.location.line ||
|
|
302
|
+
a.location.col - b.location.col ||
|
|
303
|
+
compareStringsHttp(a.code, b.code) ||
|
|
304
|
+
compareStringsHttp(a.detail, b.detail));
|
|
305
|
+
findings.sort((a, b) => a.detail < b.detail ? -1 : a.detail > b.detail ? 1 : 0);
|
|
306
|
+
// classificationSignals stays in the wire shape (protocol contract)
|
|
307
|
+
// and is always empty: this pack mints NO classification signals.
|
|
308
|
+
return { resources, unresolved, findings, classificationSignals: [], scannedPaths: scanned.sort(compareStringsHttp) };
|
|
309
|
+
},
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function contractFactFromArtifact(artifact, sourceRel, location, handler) {
|
|
313
|
+
return buildFact({
|
|
314
|
+
role: 'server-route',
|
|
315
|
+
method: artifact.method,
|
|
316
|
+
rawPath: artifact.path,
|
|
317
|
+
framework: artifact.origin,
|
|
318
|
+
handler,
|
|
319
|
+
file: sourceRel,
|
|
320
|
+
location,
|
|
321
|
+
idSuffix: `${sourceRel}:${artifact.line}:${artifact.col}:${artifact.method}`,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
function contractFactFromClientCall(clientCall, sourceRel) {
|
|
325
|
+
const location = {
|
|
326
|
+
file: clientCall.location.file,
|
|
327
|
+
line: clientCall.location.line,
|
|
328
|
+
col: clientCall.location.col,
|
|
329
|
+
};
|
|
330
|
+
return buildFact({
|
|
331
|
+
role: 'frontend-call',
|
|
332
|
+
method: clientCall.method,
|
|
333
|
+
rawPath: clientCall.rawPath,
|
|
334
|
+
// baseURL-joined calls (phase 3) canonicalize the JOINED path — the
|
|
335
|
+
// instance prefix is real at runtime. rawPath stays exactly as
|
|
336
|
+
// written for provenance. Without a joined base this is undefined
|
|
337
|
+
// and buildFact normalizes rawPath exactly as before (byte-identical).
|
|
338
|
+
canonicalPath: clientCall.joinedBaseURL === undefined ? undefined : clientCall.canonicalPath,
|
|
339
|
+
framework: clientCall.framework,
|
|
340
|
+
file: sourceRel,
|
|
341
|
+
location,
|
|
342
|
+
idSuffix: `${sourceRel}:${clientCall.location.line}:${clientCall.location.col}`,
|
|
343
|
+
callsites: [`${clientCall.location.file}:${clientCall.location.line}:${clientCall.location.col}`],
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
function buildFact(input) {
|
|
347
|
+
const method = normalizeHttpMethod(input.method);
|
|
348
|
+
if (method === null) {
|
|
349
|
+
return {
|
|
350
|
+
ok: false,
|
|
351
|
+
unresolved: {
|
|
352
|
+
code: 'HTTP_METHOD_DYNAMIC',
|
|
353
|
+
detail: `artifact in ${input.file} carries method '${input.method}' that cannot be proven`,
|
|
354
|
+
location: input.location,
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
const canonical = input.canonicalPath !== undefined
|
|
359
|
+
? { ok: true, canonical: input.canonicalPath }
|
|
360
|
+
: normalizeHttpPath(input.rawPath);
|
|
361
|
+
if (!canonical.ok) {
|
|
362
|
+
return {
|
|
363
|
+
ok: false,
|
|
364
|
+
unresolved: {
|
|
365
|
+
code: 'HTTP_PATH_DYNAMIC',
|
|
366
|
+
detail: `path '${input.rawPath}' in ${input.file}: ${canonical.detail}`,
|
|
367
|
+
location: input.location,
|
|
368
|
+
},
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
const attributes = {
|
|
372
|
+
role: input.role,
|
|
373
|
+
method,
|
|
374
|
+
normalizedPath: canonical.canonical,
|
|
375
|
+
rawPath: input.rawPath,
|
|
376
|
+
framework: input.framework,
|
|
377
|
+
};
|
|
378
|
+
if (input.callsites !== undefined)
|
|
379
|
+
attributes['callsites'] = input.callsites;
|
|
380
|
+
if (input.handler !== undefined && input.handler.length > 0)
|
|
381
|
+
attributes['handlerSymbol'] = input.handler;
|
|
382
|
+
return {
|
|
383
|
+
ok: true,
|
|
384
|
+
resource: {
|
|
385
|
+
schemaVersion: 1,
|
|
386
|
+
kind: HTTP_CONTRACT_KIND,
|
|
387
|
+
source: input.file,
|
|
388
|
+
location: input.location,
|
|
389
|
+
detectorVersion: PACK_VERSION,
|
|
390
|
+
attributes,
|
|
391
|
+
id: `http.contract:${input.idSuffix}`,
|
|
392
|
+
},
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
/** Codepoint sort for reported coverage paths. */
|
|
396
|
+
function compareStringsHttp(a, b) {
|
|
397
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
398
|
+
}
|
|
399
|
+
//# sourceMappingURL=detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { PACK_PLUGIN_ID, PACK_VERSION } from './version.js';
|
|
2
|
+
export { createHttpDetector, type HttpDetector, type HttpDetectorOptions, type HttpOrigin, } from './detector.js';
|
|
3
|
+
/** The default CLI in-process plugin module: `{ discover(paths) }`. */
|
|
4
|
+
declare const _default: {
|
|
5
|
+
discover(paths: readonly string[]): import("@gate-forge/plugin-protocol").DiscoveryOutcome;
|
|
6
|
+
};
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AAEvB,uEAAuE;;oBAMrD,SAAS,MAAM,EAAE;;AADnC,wBAIE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @gate-forge/pack-http — Generic HTTP exposure pack.
|
|
3
|
+
*
|
|
4
|
+
* Pure TypeScript detector that walks `.ts`/`.tsx`/`.js`/`.jsx`/`.mjs`/
|
|
5
|
+
* `.cjs` sources and discovers externally-reachable HTTP artifacts:
|
|
6
|
+
*
|
|
7
|
+
* - Server routes: Express / Fastify / Hono registrations and NestJS
|
|
8
|
+
* `@Controller` + `@Get/@Post/…` decorators.
|
|
9
|
+
* - Frontend API-client calls: `fetch('/…')` and `axios.<method>('/…')`.
|
|
10
|
+
*
|
|
11
|
+
* Every artifact becomes an `http.contract` evidence fact (ADR 0004 D1)
|
|
12
|
+
* with typed attributes (`method`, `normalizedPath`, `origin`, schema
|
|
13
|
+
* symbols, handler names) for the engine's endpoint-compiler join. The
|
|
14
|
+
* pack mints NO classification signals (dogfood remediation phase 4): a
|
|
15
|
+
* path-derived target is a guess that mostly names no discovered
|
|
16
|
+
* resource (route `/absences` vs table `employee_absences` ⇒
|
|
17
|
+
* STALE_SIGNAL_TARGET noise) while unknown exposure already defaults
|
|
18
|
+
* user-facing and unknown lifecycle operations default enabled
|
|
19
|
+
* (ADR 0003 D5). Route→resource linkage is the CLI endpoint compiler's
|
|
20
|
+
* exclusive job (schema-symbol/handler corroboration; typed
|
|
21
|
+
* ENDPOINT_RESOURCE_LINK_UNRESOLVED blocks for ambiguity). Core's
|
|
22
|
+
* STALE_SIGNAL_TARGET detection remains for genuinely stale authority
|
|
23
|
+
* signals — this pack simply produces no false targets.
|
|
24
|
+
*
|
|
25
|
+
* Default export is the CLI in-process plugin contract
|
|
26
|
+
* (`discover(paths)`); see README.md for setup.
|
|
27
|
+
*/
|
|
28
|
+
import { createHttpDetector } from './detector.js';
|
|
29
|
+
export { PACK_PLUGIN_ID, PACK_VERSION } from './version.js';
|
|
30
|
+
export { createHttpDetector, } from './detector.js';
|
|
31
|
+
/** The default CLI in-process plugin module: `{ discover(paths) }`. */
|
|
32
|
+
// The default export is created LAZILY per discover call: the detector
|
|
33
|
+
// resolves paths against `process.cwd()` at call time. An eagerly created
|
|
34
|
+
// instance would pin the first repo root it saw and go blind in any
|
|
35
|
+
// long-lived host that loads the module once and scans multiple repos.
|
|
36
|
+
export default {
|
|
37
|
+
discover(paths) {
|
|
38
|
+
return createHttpDetector().discover(paths);
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EACL,kBAAkB,GAInB,MAAM,eAAe,CAAC;AAEvB,uEAAuE;AACvE,uEAAuE;AACvE,0EAA0E;AAC1E,oEAAoE;AACpE,uEAAuE;AACvE,eAAe;IACb,QAAQ,CAAC,KAAwB;QAC/B,OAAO,kBAAkB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pack identity constants. The GPP/3 handshake pins these values: the
|
|
3
|
+
* `.gateforge.yml` plugin entry MUST declare the same `id` and `version`
|
|
4
|
+
* (see the pack README).
|
|
5
|
+
*/
|
|
6
|
+
/** Plugin id every http pack contribution is pinned to. */
|
|
7
|
+
export declare const PACK_PLUGIN_ID = "gateforge.pack-http";
|
|
8
|
+
/** Detector/pack version. */
|
|
9
|
+
export declare const PACK_VERSION = "0.1.0";
|
|
10
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,2DAA2D;AAC3D,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD,6BAA6B;AAC7B,eAAO,MAAM,YAAY,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pack identity constants. The GPP/3 handshake pins these values: the
|
|
3
|
+
* `.gateforge.yml` plugin entry MUST declare the same `id` and `version`
|
|
4
|
+
* (see the pack README).
|
|
5
|
+
*/
|
|
6
|
+
/** Plugin id every http pack contribution is pinned to. */
|
|
7
|
+
export const PACK_PLUGIN_ID = 'gateforge.pack-http';
|
|
8
|
+
/** Detector/pack version. */
|
|
9
|
+
export const PACK_VERSION = '0.1.0';
|
|
10
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAEpD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC"}
|