critical-gate 2.2.0 → 2.3.1
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 +61 -1
- package/dist/agent-onboarding/agent-instructions.d.ts +21 -0
- package/dist/agent-onboarding/agent-instructions.d.ts.map +1 -0
- package/dist/agent-onboarding/agent-instructions.js +67 -0
- package/dist/agent-onboarding/agent-instructions.js.map +1 -0
- package/dist/agent-onboarding/index.d.ts +2 -0
- package/dist/agent-onboarding/index.d.ts.map +1 -0
- package/dist/agent-onboarding/index.js +2 -0
- package/dist/agent-onboarding/index.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +83 -5
- package/dist/cli.js.map +1 -1
- package/dist/config/critical-gate-config.d.ts +4 -0
- package/dist/config/critical-gate-config.d.ts.map +1 -1
- package/dist/config/critical-gate-config.js +18 -1
- package/dist/config/critical-gate-config.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/config/index.js.map +1 -1
- package/dist/detectors/api-surface-detector.d.ts.map +1 -1
- package/dist/detectors/api-surface-detector.js +56 -9
- package/dist/detectors/api-surface-detector.js.map +1 -1
- package/dist/detectors/intent-verification-detector.d.ts.map +1 -1
- package/dist/detectors/intent-verification-detector.js +31 -1
- package/dist/detectors/intent-verification-detector.js.map +1 -1
- package/dist/detectors/runner.d.ts +1 -0
- package/dist/detectors/runner.d.ts.map +1 -1
- package/dist/detectors/runner.js +21 -0
- package/dist/detectors/runner.js.map +1 -1
- package/dist/detectors/scope-detector.d.ts.map +1 -1
- package/dist/detectors/scope-detector.js +24 -7
- package/dist/detectors/scope-detector.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/intent/index.d.ts +1 -1
- package/dist/intent/index.d.ts.map +1 -1
- package/dist/intent/index.js +1 -1
- package/dist/intent/index.js.map +1 -1
- package/dist/intent/intent-model.d.ts +3 -0
- package/dist/intent/intent-model.d.ts.map +1 -1
- package/dist/intent/intent-model.js +49 -1
- package/dist/intent/intent-model.js.map +1 -1
- package/dist/intent/observed-actions.d.ts.map +1 -1
- package/dist/intent/observed-actions.js +45 -2
- package/dist/intent/observed-actions.js.map +1 -1
- package/dist/llm/artifact.js +8 -8
- package/dist/llm/artifact.js.map +1 -1
- package/dist/reporters/markdown-reporter.d.ts.map +1 -1
- package/dist/reporters/markdown-reporter.js +36 -2
- package/dist/reporters/markdown-reporter.js.map +1 -1
- package/dist/reporters/pr-comment-reporter.d.ts.map +1 -1
- package/dist/reporters/pr-comment-reporter.js +25 -4
- package/dist/reporters/pr-comment-reporter.js.map +1 -1
- package/dist/reporters/sarif-reporter.d.ts.map +1 -1
- package/dist/reporters/sarif-reporter.js +2 -0
- package/dist/reporters/sarif-reporter.js.map +1 -1
- package/dist/repository/api-snapshot.d.ts +12 -1
- package/dist/repository/api-snapshot.d.ts.map +1 -1
- package/dist/repository/api-snapshot.js +85 -22
- package/dist/repository/api-snapshot.js.map +1 -1
- package/dist/repository/index.d.ts +2 -1
- package/dist/repository/index.d.ts.map +1 -1
- package/dist/repository/index.js +2 -1
- package/dist/repository/index.js.map +1 -1
- package/dist/repository/token-index.d.ts +9 -0
- package/dist/repository/token-index.d.ts.map +1 -0
- package/dist/repository/token-index.js +143 -0
- package/dist/repository/token-index.js.map +1 -0
- package/dist/schema/gate-result.schema.d.ts +191 -0
- package/dist/schema/gate-result.schema.d.ts.map +1 -1
- package/dist/schema/gate-result.schema.js +97 -2
- package/dist/schema/gate-result.schema.js.map +1 -1
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/types.d.ts +44 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +18 -2
|
@@ -2,14 +2,25 @@ import { dirname, join } from "node:path";
|
|
|
2
2
|
export const API_SURFACE_SNAPSHOT_PATH = ".critical-gate/api-surface.json";
|
|
3
3
|
export const API_SURFACE_SNAPSHOT_SCHEMA_VERSION = "1.0";
|
|
4
4
|
const packageEntrypointKeys = ["main", "module", "types", "typings", "browser"];
|
|
5
|
+
const packageKeySources = {
|
|
6
|
+
main: "package-main",
|
|
7
|
+
module: "package-module",
|
|
8
|
+
types: "package-types",
|
|
9
|
+
typings: "package-types",
|
|
10
|
+
browser: "package-browser"
|
|
11
|
+
};
|
|
5
12
|
const fallbackEntrypoints = ["src/index.ts", "src/index.tsx", "index.ts", "index.tsx", "index.js"];
|
|
6
13
|
const declaredExportPattern = /^\s*export\s+(?:async\s+)?(?:declare\s+)?(function|class|interface|type|enum|const|let|var)\s+([A-Za-z_$][\w$]*)([^\n]*)/gm;
|
|
7
14
|
const namedExportPattern = /^\s*export\s*\{([^}]+)\}(?:\s*from\s*["']([^"']+)["'])?/gm;
|
|
8
15
|
const defaultExportPattern = /^\s*export\s+default\s+(?:async\s+)?(?:(function|class)\s+([A-Za-z_$][\w$]*)?|([A-Za-z_$][\w$]*))?/gm;
|
|
9
|
-
export function buildApiSurfaceSnapshot({ root, generatedAt, entrypoints, reader = {} }) {
|
|
10
|
-
const
|
|
11
|
-
? entrypoints
|
|
12
|
-
|
|
16
|
+
export function buildApiSurfaceSnapshot({ root, generatedAt, entrypoints, policyEntrypoints, reader = {} }) {
|
|
17
|
+
const entrypointMetadata = entrypoints !== undefined && entrypoints.length > 0
|
|
18
|
+
? normalizeEntrypointMetadata(entrypoints.map((path) => ({
|
|
19
|
+
path,
|
|
20
|
+
source: "policy"
|
|
21
|
+
})))
|
|
22
|
+
: resolvePublicApiEntrypoints(root, reader, policyEntrypoints);
|
|
23
|
+
const resolvedEntrypoints = entrypointMetadata.map((entrypoint) => entrypoint.path);
|
|
13
24
|
const exports = resolvedEntrypoints
|
|
14
25
|
.flatMap((entrypoint) => {
|
|
15
26
|
const absolutePath = join(root, entrypoint);
|
|
@@ -27,6 +38,7 @@ export function buildApiSurfaceSnapshot({ root, generatedAt, entrypoints, reader
|
|
|
27
38
|
schemaVersion: API_SURFACE_SNAPSHOT_SCHEMA_VERSION,
|
|
28
39
|
generatedAt: generatedAt.toISOString(),
|
|
29
40
|
entrypoints: resolvedEntrypoints,
|
|
41
|
+
entrypointMetadata,
|
|
30
42
|
exports
|
|
31
43
|
};
|
|
32
44
|
}
|
|
@@ -105,21 +117,42 @@ export function findSnapshotExport(snapshot, path, name) {
|
|
|
105
117
|
export function hasApiSnapshotEvidence(files) {
|
|
106
118
|
return files.some((file) => normalizePath(file.path) === API_SURFACE_SNAPSHOT_PATH);
|
|
107
119
|
}
|
|
108
|
-
function
|
|
120
|
+
export function resolvePublicApiEntrypoints(root, reader, policyEntrypoints = []) {
|
|
109
121
|
const packageJson = readPackageJson(root, reader);
|
|
110
|
-
const entrypoints =
|
|
122
|
+
const entrypoints = [];
|
|
123
|
+
for (const path of policyEntrypoints) {
|
|
124
|
+
addEntrypoint(entrypoints, {
|
|
125
|
+
path,
|
|
126
|
+
source: "policy"
|
|
127
|
+
});
|
|
128
|
+
}
|
|
111
129
|
if (isRecord(packageJson)) {
|
|
112
130
|
for (const key of packageEntrypointKeys) {
|
|
113
|
-
addEntrypointValue(entrypoints, packageJson[key]
|
|
131
|
+
addEntrypointValue(entrypoints, packageJson[key], {
|
|
132
|
+
source: packageKeySources[key],
|
|
133
|
+
packageKey: key
|
|
134
|
+
});
|
|
114
135
|
}
|
|
115
|
-
addEntrypointValue(entrypoints, packageJson.exports
|
|
136
|
+
addEntrypointValue(entrypoints, packageJson.exports, {
|
|
137
|
+
source: "package-exports",
|
|
138
|
+
packageKey: "exports"
|
|
139
|
+
});
|
|
140
|
+
addEntrypointValue(entrypoints, packageJson.bin, {
|
|
141
|
+
source: "package-bin",
|
|
142
|
+
packageKey: "bin"
|
|
143
|
+
});
|
|
116
144
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
145
|
+
if (entrypoints.length === 0) {
|
|
146
|
+
for (const fallback of fallbackEntrypoints) {
|
|
147
|
+
if (reader.exists?.(join(root, fallback)) === true) {
|
|
148
|
+
addEntrypoint(entrypoints, {
|
|
149
|
+
path: fallback,
|
|
150
|
+
source: "fallback"
|
|
151
|
+
});
|
|
152
|
+
}
|
|
120
153
|
}
|
|
121
154
|
}
|
|
122
|
-
return
|
|
155
|
+
return normalizeEntrypointMetadata(entrypoints);
|
|
123
156
|
}
|
|
124
157
|
function readPackageJson(root, reader) {
|
|
125
158
|
const path = join(root, "package.json");
|
|
@@ -133,28 +166,58 @@ function readPackageJson(root, reader) {
|
|
|
133
166
|
return undefined;
|
|
134
167
|
}
|
|
135
168
|
}
|
|
136
|
-
function addEntrypointValue(entrypoints, value) {
|
|
169
|
+
function addEntrypointValue(entrypoints, value, metadata) {
|
|
137
170
|
if (typeof value === "string") {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
171
|
+
addEntrypoint(entrypoints, {
|
|
172
|
+
path: value,
|
|
173
|
+
...metadata,
|
|
174
|
+
condition: metadata.source === "package-exports" &&
|
|
175
|
+
metadata.exportKey !== undefined &&
|
|
176
|
+
metadata.condition === undefined
|
|
177
|
+
? "default"
|
|
178
|
+
: metadata.condition
|
|
179
|
+
});
|
|
142
180
|
return;
|
|
143
181
|
}
|
|
144
182
|
if (Array.isArray(value)) {
|
|
145
183
|
for (const item of value) {
|
|
146
|
-
addEntrypointValue(entrypoints, item);
|
|
184
|
+
addEntrypointValue(entrypoints, item, metadata);
|
|
147
185
|
}
|
|
148
186
|
return;
|
|
149
187
|
}
|
|
150
188
|
if (isRecord(value)) {
|
|
151
|
-
for (const nested of Object.
|
|
152
|
-
addEntrypointValue(entrypoints, nested
|
|
189
|
+
for (const [key, nested] of Object.entries(value)) {
|
|
190
|
+
addEntrypointValue(entrypoints, nested, {
|
|
191
|
+
...metadata,
|
|
192
|
+
exportKey: metadata.source === "package-exports" && key.startsWith(".") ? key : metadata.exportKey,
|
|
193
|
+
condition: key.startsWith(".") ? metadata.condition : key
|
|
194
|
+
});
|
|
153
195
|
}
|
|
154
196
|
}
|
|
155
197
|
}
|
|
156
|
-
function
|
|
157
|
-
|
|
198
|
+
function addEntrypoint(entrypoints, entrypoint) {
|
|
199
|
+
const normalized = normalizeEntrypoint(entrypoint.path);
|
|
200
|
+
if (!isSourceLikeEntrypoint(normalized)) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
entrypoints.push({
|
|
204
|
+
...entrypoint,
|
|
205
|
+
path: normalized
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
function normalizeEntrypointMetadata(entrypoints) {
|
|
209
|
+
const byPath = new Map();
|
|
210
|
+
for (const entrypoint of entrypoints) {
|
|
211
|
+
const normalized = normalizeEntrypoint(entrypoint.path);
|
|
212
|
+
if (!isSourceLikeEntrypoint(normalized) || byPath.has(normalized)) {
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
byPath.set(normalized, {
|
|
216
|
+
...entrypoint,
|
|
217
|
+
path: normalized
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
return [...byPath.values()].sort((left, right) => left.path.localeCompare(right.path));
|
|
158
221
|
}
|
|
159
222
|
function normalizeEntrypoint(path) {
|
|
160
223
|
return normalizePath(path.replace(/^\.\//, ""));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-snapshot.js","sourceRoot":"","sources":["../../src/repository/api-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAAiC,CAAC;AAC3E,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"api-snapshot.js","sourceRoot":"","sources":["../../src/repository/api-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { API_SURFACE_SNAPSHOT_PATH, buildApiSurfaceSnapshot, extractApiSurfaceExports, findSnapshotExport, getApiSnapshotOutputDirectory, getApiSnapshotOutputPath, hasApiSnapshotEvidence, loadApiSurfaceSnapshot, summarizeApiSurfaceSnapshot, type ApiSnapshotReader, type ApiSurfaceExport, type ApiSurfaceSnapshot, type BuildApiSurfaceSnapshotOptions } from "./api-snapshot.js";
|
|
1
|
+
export { API_SURFACE_SNAPSHOT_PATH, buildApiSurfaceSnapshot, extractApiSurfaceExports, findSnapshotExport, getApiSnapshotOutputDirectory, getApiSnapshotOutputPath, hasApiSnapshotEvidence, loadApiSurfaceSnapshot, resolvePublicApiEntrypoints, summarizeApiSurfaceSnapshot, type ApiSnapshotReader, type ApiSurfaceExport, type ApiSurfaceSnapshot, type BuildApiSurfaceSnapshotOptions, type PublicApiEntrypoint, type PublicApiEntrypointSource } from "./api-snapshot.js";
|
|
2
2
|
export { buildRepositoryProfile, parseNameOnlyLog, type BuildRepositoryProfileOptions, type HistoryCommandRunner } from "./profile.js";
|
|
3
3
|
export { detectMonorepoContext, type MonorepoReader } from "./monorepo.js";
|
|
4
|
+
export { buildRepositoryTokenIndex, extractRepositoryTokens, normalizeRepositoryToken, type BuildRepositoryTokenIndexOptions } from "./token-index.js";
|
|
4
5
|
export { buildUtilityIndex, extractExportedNames, type BuildUtilityIndexOptions, type UtilityIndexRunner } from "./utility-index.js";
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,gCAAgC,EACtC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC"}
|
package/dist/repository/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { API_SURFACE_SNAPSHOT_PATH, buildApiSurfaceSnapshot, extractApiSurfaceExports, findSnapshotExport, getApiSnapshotOutputDirectory, getApiSnapshotOutputPath, hasApiSnapshotEvidence, loadApiSurfaceSnapshot, summarizeApiSurfaceSnapshot } from "./api-snapshot.js";
|
|
1
|
+
export { API_SURFACE_SNAPSHOT_PATH, buildApiSurfaceSnapshot, extractApiSurfaceExports, findSnapshotExport, getApiSnapshotOutputDirectory, getApiSnapshotOutputPath, hasApiSnapshotEvidence, loadApiSurfaceSnapshot, resolvePublicApiEntrypoints, summarizeApiSurfaceSnapshot } from "./api-snapshot.js";
|
|
2
2
|
export { buildRepositoryProfile, parseNameOnlyLog } from "./profile.js";
|
|
3
3
|
export { detectMonorepoContext } from "./monorepo.js";
|
|
4
|
+
export { buildRepositoryTokenIndex, extractRepositoryTokens, normalizeRepositoryToken } from "./token-index.js";
|
|
4
5
|
export { buildUtilityIndex, extractExportedNames } from "./utility-index.js";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAO5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAGjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,qBAAqB,EAAuB,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DiffFile, RepositoryToken, RepositoryTokenIndex, RepositoryTokenSource } from "../schema/index.js";
|
|
2
|
+
export interface BuildRepositoryTokenIndexOptions {
|
|
3
|
+
files: DiffFile[];
|
|
4
|
+
packageJson?: unknown;
|
|
5
|
+
}
|
|
6
|
+
export declare function buildRepositoryTokenIndex(options: BuildRepositoryTokenIndexOptions): RepositoryTokenIndex;
|
|
7
|
+
export declare function extractRepositoryTokens(raw: string, source: RepositoryTokenSource): RepositoryToken[];
|
|
8
|
+
export declare function normalizeRepositoryToken(raw: string): string | undefined;
|
|
9
|
+
//# sourceMappingURL=token-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-index.d.ts","sourceRoot":"","sources":["../../src/repository/token-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,gCAAgC;IAC/C,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAyCD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,oBAAoB,CAiBtB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,GAC5B,eAAe,EAAE,CAcnB;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBxE"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
const sourceFileExtensions = /\.(?:[cm]?[jt]sx?|astro|vue|svelte)$/i;
|
|
2
|
+
const testCallPattern = /\b(?:describe|it|test)\s*\(\s*(?:"([^"]+)"|'([^']+)'|`([^`]+)`)/g;
|
|
3
|
+
const markdownHeadingPattern = /^\s{0,3}#{1,6}\s+(.+)$/;
|
|
4
|
+
const exportedSymbolPattern = /\bexport\s+(?:declare\s+)?(?:async\s+)?(?:function|class|interface|type|const|let|var|enum)\s+([A-Za-z_$][\w$]*)/g;
|
|
5
|
+
const tokenAliases = {
|
|
6
|
+
cfg: ["config"],
|
|
7
|
+
conf: ["config"],
|
|
8
|
+
configuration: ["config"],
|
|
9
|
+
doc: ["docs"],
|
|
10
|
+
documentation: ["docs"],
|
|
11
|
+
spec: ["test"],
|
|
12
|
+
specs: ["test"],
|
|
13
|
+
tests: ["test"],
|
|
14
|
+
validator: ["validation", "validate"],
|
|
15
|
+
validators: ["validation", "validate"],
|
|
16
|
+
validates: ["validate", "validation"],
|
|
17
|
+
validating: ["validate", "validation"]
|
|
18
|
+
};
|
|
19
|
+
const stopTokens = new Set([
|
|
20
|
+
"and",
|
|
21
|
+
"app",
|
|
22
|
+
"apps",
|
|
23
|
+
"com",
|
|
24
|
+
"dev",
|
|
25
|
+
"for",
|
|
26
|
+
"index",
|
|
27
|
+
"lib",
|
|
28
|
+
"main",
|
|
29
|
+
"new",
|
|
30
|
+
"src",
|
|
31
|
+
"test",
|
|
32
|
+
"tests",
|
|
33
|
+
"the",
|
|
34
|
+
"with"
|
|
35
|
+
]);
|
|
36
|
+
export function buildRepositoryTokenIndex(options) {
|
|
37
|
+
const packageNameTokens = getPackageNameTokens(options.packageJson);
|
|
38
|
+
const files = options.files.map((file) => {
|
|
39
|
+
const tokens = [
|
|
40
|
+
...extractRepositoryTokens(file.path, "path"),
|
|
41
|
+
...extractFolderTokens(file.path),
|
|
42
|
+
...packageNameTokens,
|
|
43
|
+
...extractContentTokens(file)
|
|
44
|
+
];
|
|
45
|
+
return {
|
|
46
|
+
path: file.path,
|
|
47
|
+
tokens: dedupeTokens(tokens)
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
return { files };
|
|
51
|
+
}
|
|
52
|
+
export function extractRepositoryTokens(raw, source) {
|
|
53
|
+
return splitTokenParts(raw).flatMap((part) => {
|
|
54
|
+
const normalized = normalizeRepositoryToken(part);
|
|
55
|
+
if (normalized === undefined) {
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
return [normalized, ...(tokenAliases[normalized] ?? [])].map((value) => ({
|
|
59
|
+
value,
|
|
60
|
+
source,
|
|
61
|
+
raw: part
|
|
62
|
+
}));
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export function normalizeRepositoryToken(raw) {
|
|
66
|
+
const normalized = raw.toLowerCase().replace(/[^a-z0-9]/g, "");
|
|
67
|
+
if (normalized.length < 3 || stopTokens.has(normalized)) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
if (normalized.endsWith("ies") && normalized.length > 4) {
|
|
71
|
+
return `${normalized.slice(0, -3)}y`;
|
|
72
|
+
}
|
|
73
|
+
if (/(?:ches|shes|sses|xes|zes)$/.test(normalized) && normalized.length > 4) {
|
|
74
|
+
return normalized.slice(0, -2);
|
|
75
|
+
}
|
|
76
|
+
if (normalized.endsWith("s") && normalized.length > 4 && !normalized.endsWith("ss")) {
|
|
77
|
+
return normalized.slice(0, -1);
|
|
78
|
+
}
|
|
79
|
+
return normalized;
|
|
80
|
+
}
|
|
81
|
+
function extractFolderTokens(path) {
|
|
82
|
+
const parts = path.replaceAll("\\", "/").split("/");
|
|
83
|
+
return parts.slice(0, -1).flatMap((part) => extractRepositoryTokens(part, "folder"));
|
|
84
|
+
}
|
|
85
|
+
function getPackageNameTokens(packageJson) {
|
|
86
|
+
if (!isRecord(packageJson) || typeof packageJson.name !== "string") {
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
return extractRepositoryTokens(packageJson.name, "package-name");
|
|
90
|
+
}
|
|
91
|
+
function extractContentTokens(file) {
|
|
92
|
+
const lines = file.hunks.flatMap((hunk) => hunk.lines).map((line) => line.content);
|
|
93
|
+
const tokens = [];
|
|
94
|
+
if (file.path.endsWith(".md") || file.path.endsWith(".mdx")) {
|
|
95
|
+
for (const line of lines) {
|
|
96
|
+
const heading = markdownHeadingPattern.exec(line)?.[1];
|
|
97
|
+
if (heading !== undefined) {
|
|
98
|
+
tokens.push(...extractRepositoryTokens(heading, "markdown-heading"));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (file.role === "test") {
|
|
103
|
+
for (const line of lines) {
|
|
104
|
+
for (const match of line.matchAll(testCallPattern)) {
|
|
105
|
+
tokens.push(...extractRepositoryTokens(match[1] ?? match[2] ?? match[3] ?? "", "test-name"));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (sourceFileExtensions.test(file.path)) {
|
|
110
|
+
for (const line of lines) {
|
|
111
|
+
for (const match of line.matchAll(exportedSymbolPattern)) {
|
|
112
|
+
tokens.push(...extractRepositoryTokens(match[1] ?? "", "symbol"));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return tokens;
|
|
117
|
+
}
|
|
118
|
+
function splitTokenParts(raw) {
|
|
119
|
+
return raw
|
|
120
|
+
.replace(/([a-z0-9])([A-Z])/g, "$1 $2")
|
|
121
|
+
.replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2")
|
|
122
|
+
.split(/[^A-Za-z0-9]+/)
|
|
123
|
+
.filter(Boolean);
|
|
124
|
+
}
|
|
125
|
+
function dedupeTokens(tokens) {
|
|
126
|
+
const seen = new Set();
|
|
127
|
+
const deduped = [];
|
|
128
|
+
for (const token of tokens) {
|
|
129
|
+
const key = `${token.value}:${token.source}:${token.raw}`;
|
|
130
|
+
if (seen.has(key)) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
seen.add(key);
|
|
134
|
+
deduped.push(token);
|
|
135
|
+
}
|
|
136
|
+
return deduped.sort((left, right) => left.value.localeCompare(right.value) ||
|
|
137
|
+
left.source.localeCompare(right.source) ||
|
|
138
|
+
left.raw.localeCompare(right.raw));
|
|
139
|
+
}
|
|
140
|
+
function isRecord(value) {
|
|
141
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=token-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-index.js","sourceRoot":"","sources":["../../src/repository/token-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -221,12 +221,21 @@ export declare const gateResultJsonSchema: {
|
|
|
221
221
|
readonly apiSnapshot: {
|
|
222
222
|
readonly $ref: "#/$defs/apiSnapshotSummary";
|
|
223
223
|
};
|
|
224
|
+
readonly publicApiEntrypoints: {
|
|
225
|
+
readonly type: "array";
|
|
226
|
+
readonly items: {
|
|
227
|
+
readonly $ref: "#/$defs/publicApiEntrypointSummary";
|
|
228
|
+
};
|
|
229
|
+
};
|
|
224
230
|
readonly repositoryProfile: {
|
|
225
231
|
readonly $ref: "#/$defs/repositoryProfile";
|
|
226
232
|
};
|
|
227
233
|
readonly utilityIndex: {
|
|
228
234
|
readonly $ref: "#/$defs/utilityIndex";
|
|
229
235
|
};
|
|
236
|
+
readonly repositoryTokenIndex: {
|
|
237
|
+
readonly $ref: "#/$defs/repositoryTokenIndex";
|
|
238
|
+
};
|
|
230
239
|
readonly git: {
|
|
231
240
|
readonly type: "object";
|
|
232
241
|
readonly additionalProperties: false;
|
|
@@ -318,6 +327,33 @@ export declare const gateResultJsonSchema: {
|
|
|
318
327
|
};
|
|
319
328
|
};
|
|
320
329
|
};
|
|
330
|
+
readonly publicApiEntrypointSummary: {
|
|
331
|
+
readonly type: "object";
|
|
332
|
+
readonly additionalProperties: false;
|
|
333
|
+
readonly required: readonly ["path", "source"];
|
|
334
|
+
readonly properties: {
|
|
335
|
+
readonly path: {
|
|
336
|
+
readonly type: "string";
|
|
337
|
+
readonly minLength: 1;
|
|
338
|
+
};
|
|
339
|
+
readonly source: {
|
|
340
|
+
readonly type: "string";
|
|
341
|
+
readonly minLength: 1;
|
|
342
|
+
};
|
|
343
|
+
readonly packageKey: {
|
|
344
|
+
readonly type: "string";
|
|
345
|
+
readonly minLength: 1;
|
|
346
|
+
};
|
|
347
|
+
readonly exportKey: {
|
|
348
|
+
readonly type: "string";
|
|
349
|
+
readonly minLength: 1;
|
|
350
|
+
};
|
|
351
|
+
readonly condition: {
|
|
352
|
+
readonly type: "string";
|
|
353
|
+
readonly minLength: 1;
|
|
354
|
+
};
|
|
355
|
+
};
|
|
356
|
+
};
|
|
321
357
|
readonly repositoryProfile: {
|
|
322
358
|
readonly type: "object";
|
|
323
359
|
readonly additionalProperties: false;
|
|
@@ -402,6 +438,54 @@ export declare const gateResultJsonSchema: {
|
|
|
402
438
|
};
|
|
403
439
|
};
|
|
404
440
|
};
|
|
441
|
+
readonly repositoryTokenIndex: {
|
|
442
|
+
readonly type: "object";
|
|
443
|
+
readonly additionalProperties: false;
|
|
444
|
+
readonly required: readonly ["files"];
|
|
445
|
+
readonly properties: {
|
|
446
|
+
readonly files: {
|
|
447
|
+
readonly type: "array";
|
|
448
|
+
readonly items: {
|
|
449
|
+
readonly $ref: "#/$defs/repositoryTokenFile";
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
};
|
|
453
|
+
};
|
|
454
|
+
readonly repositoryTokenFile: {
|
|
455
|
+
readonly type: "object";
|
|
456
|
+
readonly additionalProperties: false;
|
|
457
|
+
readonly required: readonly ["path", "tokens"];
|
|
458
|
+
readonly properties: {
|
|
459
|
+
readonly path: {
|
|
460
|
+
readonly type: "string";
|
|
461
|
+
readonly minLength: 1;
|
|
462
|
+
};
|
|
463
|
+
readonly tokens: {
|
|
464
|
+
readonly type: "array";
|
|
465
|
+
readonly items: {
|
|
466
|
+
readonly $ref: "#/$defs/repositoryToken";
|
|
467
|
+
};
|
|
468
|
+
};
|
|
469
|
+
};
|
|
470
|
+
};
|
|
471
|
+
readonly repositoryToken: {
|
|
472
|
+
readonly type: "object";
|
|
473
|
+
readonly additionalProperties: false;
|
|
474
|
+
readonly required: readonly ["value", "source", "raw"];
|
|
475
|
+
readonly properties: {
|
|
476
|
+
readonly value: {
|
|
477
|
+
readonly type: "string";
|
|
478
|
+
readonly minLength: 1;
|
|
479
|
+
};
|
|
480
|
+
readonly source: {
|
|
481
|
+
readonly enum: readonly ["path", "folder", "package-name", "symbol", "test-name", "markdown-heading"];
|
|
482
|
+
};
|
|
483
|
+
readonly raw: {
|
|
484
|
+
readonly type: "string";
|
|
485
|
+
readonly minLength: 1;
|
|
486
|
+
};
|
|
487
|
+
};
|
|
488
|
+
};
|
|
405
489
|
readonly finding: {
|
|
406
490
|
readonly type: "object";
|
|
407
491
|
readonly additionalProperties: false;
|
|
@@ -600,6 +684,9 @@ export declare const gateResultJsonSchema: {
|
|
|
600
684
|
readonly confidenceCalibration: {
|
|
601
685
|
readonly $ref: "#/$defs/confidenceCalibrationSummary";
|
|
602
686
|
};
|
|
687
|
+
readonly policyApplied: {
|
|
688
|
+
readonly $ref: "#/$defs/policyAppliedSummary";
|
|
689
|
+
};
|
|
603
690
|
};
|
|
604
691
|
};
|
|
605
692
|
readonly confidenceCalibrationSummary: {
|
|
@@ -621,6 +708,52 @@ export declare const gateResultJsonSchema: {
|
|
|
621
708
|
};
|
|
622
709
|
};
|
|
623
710
|
};
|
|
711
|
+
readonly policyAppliedSummary: {
|
|
712
|
+
readonly type: "object";
|
|
713
|
+
readonly additionalProperties: false;
|
|
714
|
+
readonly required: readonly ["failOn", "observationDetectors", "blockingDetectors", "acceptedFindingIds", "blockingFindingIds", "observationFindingIds", "confidenceSuppressedFindingIds"];
|
|
715
|
+
readonly properties: {
|
|
716
|
+
readonly failOn: {
|
|
717
|
+
readonly enum: readonly ["blocker", "high", "medium"];
|
|
718
|
+
};
|
|
719
|
+
readonly observationDetectors: {
|
|
720
|
+
readonly type: "array";
|
|
721
|
+
readonly items: {
|
|
722
|
+
readonly type: "string";
|
|
723
|
+
};
|
|
724
|
+
};
|
|
725
|
+
readonly blockingDetectors: {
|
|
726
|
+
readonly type: "array";
|
|
727
|
+
readonly items: {
|
|
728
|
+
readonly type: "string";
|
|
729
|
+
};
|
|
730
|
+
};
|
|
731
|
+
readonly acceptedFindingIds: {
|
|
732
|
+
readonly type: "array";
|
|
733
|
+
readonly items: {
|
|
734
|
+
readonly type: "string";
|
|
735
|
+
};
|
|
736
|
+
};
|
|
737
|
+
readonly blockingFindingIds: {
|
|
738
|
+
readonly type: "array";
|
|
739
|
+
readonly items: {
|
|
740
|
+
readonly type: "string";
|
|
741
|
+
};
|
|
742
|
+
};
|
|
743
|
+
readonly observationFindingIds: {
|
|
744
|
+
readonly type: "array";
|
|
745
|
+
readonly items: {
|
|
746
|
+
readonly type: "string";
|
|
747
|
+
};
|
|
748
|
+
};
|
|
749
|
+
readonly confidenceSuppressedFindingIds: {
|
|
750
|
+
readonly type: "array";
|
|
751
|
+
readonly items: {
|
|
752
|
+
readonly type: "string";
|
|
753
|
+
};
|
|
754
|
+
};
|
|
755
|
+
};
|
|
756
|
+
};
|
|
624
757
|
readonly scopeExpansionScore: {
|
|
625
758
|
readonly type: "object";
|
|
626
759
|
readonly additionalProperties: false;
|
|
@@ -739,6 +872,64 @@ export declare const gateResultJsonSchema: {
|
|
|
739
872
|
readonly type: "string";
|
|
740
873
|
};
|
|
741
874
|
};
|
|
875
|
+
readonly requestedCategories: {
|
|
876
|
+
readonly type: "array";
|
|
877
|
+
readonly items: {
|
|
878
|
+
readonly type: "string";
|
|
879
|
+
};
|
|
880
|
+
};
|
|
881
|
+
readonly observedCategories: {
|
|
882
|
+
readonly type: "array";
|
|
883
|
+
readonly items: {
|
|
884
|
+
readonly type: "string";
|
|
885
|
+
};
|
|
886
|
+
};
|
|
887
|
+
readonly missingCategories: {
|
|
888
|
+
readonly type: "array";
|
|
889
|
+
readonly items: {
|
|
890
|
+
readonly type: "string";
|
|
891
|
+
};
|
|
892
|
+
};
|
|
893
|
+
readonly unexpectedCategories: {
|
|
894
|
+
readonly type: "array";
|
|
895
|
+
readonly items: {
|
|
896
|
+
readonly type: "string";
|
|
897
|
+
};
|
|
898
|
+
};
|
|
899
|
+
readonly categoryAssessments: {
|
|
900
|
+
readonly type: "array";
|
|
901
|
+
readonly items: {
|
|
902
|
+
readonly $ref: "#/$defs/intentCoverageCategoryAssessment";
|
|
903
|
+
};
|
|
904
|
+
};
|
|
905
|
+
};
|
|
906
|
+
};
|
|
907
|
+
readonly intentCoverageCategoryAssessment: {
|
|
908
|
+
readonly type: "object";
|
|
909
|
+
readonly additionalProperties: false;
|
|
910
|
+
readonly required: readonly ["category", "expected", "observed", "confidence", "evidence"];
|
|
911
|
+
readonly properties: {
|
|
912
|
+
readonly category: {
|
|
913
|
+
readonly type: "string";
|
|
914
|
+
readonly minLength: 1;
|
|
915
|
+
};
|
|
916
|
+
readonly expected: {
|
|
917
|
+
readonly type: "boolean";
|
|
918
|
+
};
|
|
919
|
+
readonly observed: {
|
|
920
|
+
readonly type: "boolean";
|
|
921
|
+
};
|
|
922
|
+
readonly confidence: {
|
|
923
|
+
readonly type: "number";
|
|
924
|
+
readonly minimum: 0;
|
|
925
|
+
readonly maximum: 1;
|
|
926
|
+
};
|
|
927
|
+
readonly evidence: {
|
|
928
|
+
readonly type: "array";
|
|
929
|
+
readonly items: {
|
|
930
|
+
readonly type: "string";
|
|
931
|
+
};
|
|
932
|
+
};
|
|
742
933
|
};
|
|
743
934
|
};
|
|
744
935
|
readonly taskIntentQualitySummary: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-result.schema.d.ts","sourceRoot":"","sources":["../../src/schema/gate-result.schema.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"gate-result.schema.d.ts","sourceRoot":"","sources":["../../src/schema/gate-result.schema.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAijBvB,CAAC"}
|