@cat-factory/kernel 0.179.0 → 0.182.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/dist/domain/errors.d.ts +47 -1
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +55 -0
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/validation-detection.d.ts +101 -0
- package/dist/domain/validation-detection.d.ts.map +1 -0
- package/dist/domain/validation-detection.js +166 -0
- package/dist/domain/validation-detection.js.map +1 -0
- package/dist/domain/validation-detectors.d.ts +40 -0
- package/dist/domain/validation-detectors.d.ts.map +1 -0
- package/dist/domain/validation-detectors.js +441 -0
- package/dist/domain/validation-detectors.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ports/agent-context.d.ts +56 -0
- package/dist/ports/agent-context.d.ts.map +1 -1
- package/dist/ports/agent-search-queries.d.ts +19 -0
- package/dist/ports/agent-search-queries.d.ts.map +1 -1
- package/dist/ports/index.d.ts +5 -4
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +2 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/llm-metrics.d.ts +127 -0
- package/dist/ports/llm-metrics.d.ts.map +1 -1
- package/dist/ports/llm-metrics.js +9 -0
- package/dist/ports/llm-metrics.js.map +1 -1
- package/dist/ports/provisioning-log-repositories.d.ts +23 -2
- package/dist/ports/provisioning-log-repositories.d.ts.map +1 -1
- package/dist/ports/repositories.d.ts +72 -1
- package/dist/ports/repositories.d.ts.map +1 -1
- package/dist/ports/repositories.js +21 -1
- package/dist/ports/repositories.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
import { parse as parseYaml } from 'yaml';
|
|
2
|
+
import { check, ecosystem } from './validation-detection.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// PRE-PR VALIDATION AUTODETECTION — the per-ecosystem rules.
|
|
5
|
+
//
|
|
6
|
+
// One detector per ecosystem, each a pure `RepoView → EcosystemDetection | null`. The
|
|
7
|
+
// composition, ordering and label rules live in `validation-detection.ts`; this file holds
|
|
8
|
+
// only the knowledge of what each ecosystem's conventions ARE, so adding an ecosystem is a
|
|
9
|
+
// new function plus an entry in {@link LANGUAGE_DETECTORS} (and a `ValidationEcosystem`
|
|
10
|
+
// member in `@cat-factory/contracts`, whose picklist the typecheck holds you to).
|
|
11
|
+
//
|
|
12
|
+
// Every rule follows the governing principle stated in `validation-detection.ts`: suggest
|
|
13
|
+
// what the repo DECLARES (a script, a target, a checked-in tool config) or what is the
|
|
14
|
+
// ecosystem's canonical, non-opinionated verification. Opinionated gates the repo has never
|
|
15
|
+
// run are gated on their own config file.
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
/**
|
|
18
|
+
* The root manifests whose CONTENT the reader fetches (everything else is presence-only).
|
|
19
|
+
* Bounded on purpose: the reader turns this into one file read per entry that actually
|
|
20
|
+
* exists, so a new entry here is a new round trip on every detection.
|
|
21
|
+
*/
|
|
22
|
+
export const VALIDATION_DETECTION_CONTENT_FILES = [
|
|
23
|
+
'package.json',
|
|
24
|
+
'composer.json',
|
|
25
|
+
'pyproject.toml',
|
|
26
|
+
'Makefile',
|
|
27
|
+
'makefile',
|
|
28
|
+
'GNUmakefile',
|
|
29
|
+
'justfile',
|
|
30
|
+
'Justfile',
|
|
31
|
+
'.justfile',
|
|
32
|
+
'Taskfile.yml',
|
|
33
|
+
'Taskfile.yaml',
|
|
34
|
+
];
|
|
35
|
+
// ---- shared helpers -------------------------------------------------------
|
|
36
|
+
/**
|
|
37
|
+
* Whether a TOML document declares `[section]` or any `[section.sub]` beneath it. Kernel
|
|
38
|
+
* carries no TOML parser and a full one would be a dependency bought for four `pyproject`
|
|
39
|
+
* lookups; a section header is anchored and unambiguous enough to match directly. A header
|
|
40
|
+
* inside a multi-line string would be a false positive — harmless here, since the worst
|
|
41
|
+
* outcome is one extra suggested check the operator deletes.
|
|
42
|
+
*/
|
|
43
|
+
function hasTomlSection(content, section) {
|
|
44
|
+
if (!content)
|
|
45
|
+
return false;
|
|
46
|
+
const escaped = section.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
47
|
+
return new RegExp(String.raw `^\s*\[\s*${escaped}(\.[^\]]*)?\s*\]`, 'm').test(content);
|
|
48
|
+
}
|
|
49
|
+
/** A manifest's `scripts` map, keeping only the string entries (npm and composer share the shape). */
|
|
50
|
+
function scriptsOf(manifest) {
|
|
51
|
+
const raw = manifest?.scripts;
|
|
52
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw))
|
|
53
|
+
return {};
|
|
54
|
+
const out = {};
|
|
55
|
+
for (const [name, value] of Object.entries(raw)) {
|
|
56
|
+
if (typeof value === 'string')
|
|
57
|
+
out[name] = value;
|
|
58
|
+
}
|
|
59
|
+
return out;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The first declared script from `candidates`, skipping `npm init`'s placeholder `test`
|
|
63
|
+
* (`echo "Error: no test specified" && exit 1`) — suggesting it would produce a check that
|
|
64
|
+
* fails every run of a repo that simply has no tests.
|
|
65
|
+
*/
|
|
66
|
+
function firstScript(scripts, candidates) {
|
|
67
|
+
for (const name of candidates) {
|
|
68
|
+
const body = scripts[name];
|
|
69
|
+
if (body === undefined)
|
|
70
|
+
continue;
|
|
71
|
+
if (/no test specified/i.test(body))
|
|
72
|
+
continue;
|
|
73
|
+
return name;
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
// ---- Node -----------------------------------------------------------------
|
|
78
|
+
/**
|
|
79
|
+
* Script names per role, most-specific first.
|
|
80
|
+
*
|
|
81
|
+
* The `test` order is deliberate: a CI/run-once variant is preferred over bare `test`,
|
|
82
|
+
* because a `test` script that is plain `vitest`/`jest --watch` never exits and would be
|
|
83
|
+
* killed by the per-command watchdog 15 minutes later — a repo that has both almost always
|
|
84
|
+
* means the explicit one. A repo with only a watch-mode `test` still gets it suggested; the
|
|
85
|
+
* operator sees the command before saving.
|
|
86
|
+
*/
|
|
87
|
+
const NODE_SCRIPTS = {
|
|
88
|
+
format: ['format:check', 'fmt:check', 'format-check', 'check-format', 'prettier:check'],
|
|
89
|
+
lint: ['lint', 'lint:ci', 'eslint', 'oxlint', 'biome:check'],
|
|
90
|
+
typecheck: ['typecheck', 'type-check', 'tsc', 'types'],
|
|
91
|
+
build: ['build', 'compile'],
|
|
92
|
+
test: ['test:ci', 'test:run', 'test', 'test:unit', 'tests'],
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Which package manager the repo uses: its own `packageManager` field (corepack's
|
|
96
|
+
* declaration, the strongest evidence) first, then the lockfile, then npm. The install
|
|
97
|
+
* command asks for a REPRODUCIBLE install when a lockfile backs it, because that is what a
|
|
98
|
+
* verification checkout wants — and degrades to a plain install when there is none, rather
|
|
99
|
+
* than suggesting a command that errors out on a lockfile-less repo.
|
|
100
|
+
*/
|
|
101
|
+
function nodePackageManager(view, manifest) {
|
|
102
|
+
const declared = typeof manifest?.packageManager === 'string' ? manifest.packageManager : '';
|
|
103
|
+
const named = declared.split('@')[0]?.trim().toLowerCase();
|
|
104
|
+
const isPnpm = named === 'pnpm' || (!named && view.has('pnpm-lock.yaml'));
|
|
105
|
+
if (isPnpm) {
|
|
106
|
+
return {
|
|
107
|
+
install: view.has('pnpm-lock.yaml') ? 'pnpm install --frozen-lockfile' : 'pnpm install',
|
|
108
|
+
run: (s) => `pnpm run ${s}`,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const isYarn = named === 'yarn' || (!named && view.has('yarn.lock'));
|
|
112
|
+
if (isYarn) {
|
|
113
|
+
// `--immutable` is Yarn 2+; Yarn 1 spells the same thing `--frozen-lockfile` and errors
|
|
114
|
+
// on the modern flag. `.yarnrc.yml` is the berry marker (Yarn 1 uses `.yarnrc`).
|
|
115
|
+
const berry = view.has('.yarnrc.yml') || /^yarn@[2-9]/.test(declared);
|
|
116
|
+
if (!view.has('yarn.lock'))
|
|
117
|
+
return { install: 'yarn install', run: (s) => `yarn run ${s}` };
|
|
118
|
+
return {
|
|
119
|
+
install: berry ? 'yarn install --immutable' : 'yarn install --frozen-lockfile',
|
|
120
|
+
run: (s) => `yarn run ${s}`,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
const isBun = named === 'bun' || (!named && view.hasAny('bun.lockb', 'bun.lock'));
|
|
124
|
+
if (isBun) {
|
|
125
|
+
return {
|
|
126
|
+
install: view.hasAny('bun.lockb', 'bun.lock')
|
|
127
|
+
? 'bun install --frozen-lockfile'
|
|
128
|
+
: 'bun install',
|
|
129
|
+
run: (s) => `bun run ${s}`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
install: view.has('package-lock.json') ? 'npm ci' : 'npm install',
|
|
134
|
+
run: (s) => `npm run ${s}`,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Node: the scripts the repo declares ARE the evidence. Nothing is invented — a repo with
|
|
139
|
+
* no `lint` script gets no lint check, because guessing `npx eslint .` on a project that
|
|
140
|
+
* never configured eslint produces a check that fails for reasons no agent can fix.
|
|
141
|
+
*/
|
|
142
|
+
export function detectNode(view) {
|
|
143
|
+
if (!view.has('package.json'))
|
|
144
|
+
return null;
|
|
145
|
+
const manifest = view.json('package.json');
|
|
146
|
+
const scripts = scriptsOf(manifest);
|
|
147
|
+
const pm = nodePackageManager(view, manifest);
|
|
148
|
+
const script = (role) => {
|
|
149
|
+
const name = firstScript(scripts, NODE_SCRIPTS[role]);
|
|
150
|
+
return name ? pm.run(name) : null;
|
|
151
|
+
};
|
|
152
|
+
return ecosystem('node', [
|
|
153
|
+
check('install', 'install', pm.install),
|
|
154
|
+
check('format', 'format', script('format')),
|
|
155
|
+
check('lint', 'lint', script('lint')),
|
|
156
|
+
check('typecheck', 'typecheck', script('typecheck')),
|
|
157
|
+
check('build', 'build', script('build')),
|
|
158
|
+
check('test', 'test', script('test')),
|
|
159
|
+
]);
|
|
160
|
+
}
|
|
161
|
+
/** The dependency manager, resolved from its lockfile or its `pyproject` section. */
|
|
162
|
+
function pythonToolchain(view, pyproject) {
|
|
163
|
+
if (view.has('uv.lock') || hasTomlSection(pyproject, 'tool.uv')) {
|
|
164
|
+
return { install: view.has('uv.lock') ? 'uv sync --frozen' : 'uv sync', prefix: 'uv run ' };
|
|
165
|
+
}
|
|
166
|
+
if (view.has('poetry.lock') || hasTomlSection(pyproject, 'tool.poetry')) {
|
|
167
|
+
return { install: 'poetry install --no-interaction', prefix: 'poetry run ' };
|
|
168
|
+
}
|
|
169
|
+
if (view.has('pdm.lock') || hasTomlSection(pyproject, 'tool.pdm')) {
|
|
170
|
+
return { install: 'pdm install', prefix: 'pdm run ' };
|
|
171
|
+
}
|
|
172
|
+
if (view.has('Pipfile'))
|
|
173
|
+
return { install: 'pipenv install --dev', prefix: 'pipenv run ' };
|
|
174
|
+
if (view.has('requirements.txt')) {
|
|
175
|
+
return { install: 'pip install -r requirements.txt', prefix: '' };
|
|
176
|
+
}
|
|
177
|
+
if (view.hasAny('pyproject.toml', 'setup.py'))
|
|
178
|
+
return { install: 'pip install -e .', prefix: '' };
|
|
179
|
+
return { install: null, prefix: '' };
|
|
180
|
+
}
|
|
181
|
+
/** Whether the repo carries enough evidence that pytest is its runner. */
|
|
182
|
+
function usesPytest(view, pyproject) {
|
|
183
|
+
return (hasTomlSection(pyproject, 'tool.pytest') ||
|
|
184
|
+
view.hasAny('pytest.ini', 'conftest.py') ||
|
|
185
|
+
view.hasDir('tests') ||
|
|
186
|
+
view.hasDir('test'));
|
|
187
|
+
}
|
|
188
|
+
export function detectPython(view) {
|
|
189
|
+
if (!view.hasAny('pyproject.toml', 'requirements.txt', 'setup.py', 'setup.cfg', 'tox.ini', 'Pipfile')) {
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
const pyproject = view.read('pyproject.toml');
|
|
193
|
+
const { install, prefix } = pythonToolchain(view, pyproject);
|
|
194
|
+
const ruff = hasTomlSection(pyproject, 'tool.ruff') || view.hasAny('ruff.toml', '.ruff.toml');
|
|
195
|
+
const black = hasTomlSection(pyproject, 'tool.black');
|
|
196
|
+
const mypy = hasTomlSection(pyproject, 'tool.mypy') || view.hasAny('mypy.ini', '.mypy.ini');
|
|
197
|
+
const pyright = hasTomlSection(pyproject, 'tool.pyright') || view.has('pyrightconfig.json');
|
|
198
|
+
// `tox` orchestrates its own envs and typically runs the suite itself, so suggesting it
|
|
199
|
+
// ALONGSIDE a bare pytest would run everything twice.
|
|
200
|
+
const test = view.has('tox.ini') ? 'tox' : usesPytest(view, pyproject) ? `${prefix}pytest` : null;
|
|
201
|
+
return ecosystem('python', [
|
|
202
|
+
check('install', 'install', install),
|
|
203
|
+
check('format', 'format', ruff ? `${prefix}ruff format --check .` : black ? `${prefix}black --check .` : null),
|
|
204
|
+
check('lint', 'lint', ruff ? `${prefix}ruff check .` : null),
|
|
205
|
+
check('typecheck', 'typecheck', mypy ? `${prefix}mypy .` : pyright ? `${prefix}pyright` : null),
|
|
206
|
+
check('test', 'test', test),
|
|
207
|
+
]);
|
|
208
|
+
}
|
|
209
|
+
// ---- Go / Rust ------------------------------------------------------------
|
|
210
|
+
export function detectGo(view) {
|
|
211
|
+
if (!view.has('go.mod'))
|
|
212
|
+
return null;
|
|
213
|
+
const golangci = view.hasAny('.golangci.yml', '.golangci.yaml', '.golangci.toml', '.golangci.json');
|
|
214
|
+
return ecosystem('go', [
|
|
215
|
+
// `go vet` ships with the toolchain and is deliberately low-false-positive, so it is
|
|
216
|
+
// safe to suggest unconditionally; `golangci-lint` is opinionated and only suggested
|
|
217
|
+
// when the repo checked in its config (and therefore already runs it).
|
|
218
|
+
check('lint', 'lint', golangci ? 'golangci-lint run ./...' : 'go vet ./...'),
|
|
219
|
+
check('build', 'build', 'go build ./...'),
|
|
220
|
+
check('test', 'test', 'go test ./...'),
|
|
221
|
+
]);
|
|
222
|
+
}
|
|
223
|
+
export function detectRust(view) {
|
|
224
|
+
if (!view.has('Cargo.toml'))
|
|
225
|
+
return null;
|
|
226
|
+
const rustfmt = view.hasAny('rustfmt.toml', '.rustfmt.toml');
|
|
227
|
+
const clippy = view.hasAny('clippy.toml', '.clippy.toml');
|
|
228
|
+
return ecosystem('rust', [
|
|
229
|
+
// Both gates are all-or-nothing on a codebase that never ran them, so each needs the
|
|
230
|
+
// repo's own config as evidence. `cargo test` compiles the crate, so no separate build.
|
|
231
|
+
check('format', 'format', rustfmt ? 'cargo fmt --all -- --check' : null),
|
|
232
|
+
check('lint', 'lint', clippy ? 'cargo clippy --all-targets -- -D warnings' : null),
|
|
233
|
+
check('test', 'test', view.has('Cargo.lock') ? 'cargo test --locked' : 'cargo test'),
|
|
234
|
+
]);
|
|
235
|
+
}
|
|
236
|
+
// ---- JVM / .NET -----------------------------------------------------------
|
|
237
|
+
export function detectMaven(view) {
|
|
238
|
+
if (!view.has('pom.xml'))
|
|
239
|
+
return null;
|
|
240
|
+
// The wrapper pins the Maven version the repo was built against; prefer it when present.
|
|
241
|
+
const mvn = view.has('mvnw') ? './mvnw' : 'mvn';
|
|
242
|
+
// `verify` is the lifecycle phase that compiles, tests and runs the configured checks —
|
|
243
|
+
// one command covering what separate build/test suggestions would duplicate.
|
|
244
|
+
return ecosystem('maven', [check('test', 'verify', `${mvn} -B --no-transfer-progress verify`)]);
|
|
245
|
+
}
|
|
246
|
+
export function detectGradle(view) {
|
|
247
|
+
if (!view.hasAny('build.gradle', 'build.gradle.kts', 'settings.gradle', 'settings.gradle.kts')) {
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
const gradle = view.has('gradlew') ? './gradlew' : 'gradle';
|
|
251
|
+
// Gradle's `build` task depends on `check` (which runs the tests), so it is the single
|
|
252
|
+
// verification command; `--no-daemon` keeps the container from leaving a daemon behind.
|
|
253
|
+
return ecosystem('gradle', [check('build', 'build', `${gradle} --no-daemon build`)]);
|
|
254
|
+
}
|
|
255
|
+
export function detectDotnet(view) {
|
|
256
|
+
const hasProject = ['.sln', '.slnx', '.csproj', '.fsproj', '.vbproj'].some((s) => view.hasFileWithSuffix(s));
|
|
257
|
+
if (!hasProject)
|
|
258
|
+
return null;
|
|
259
|
+
// `dotnet test` restores and builds before running the suite, so a separate build check
|
|
260
|
+
// would compile the solution twice for no extra signal.
|
|
261
|
+
return ecosystem('dotnet', [
|
|
262
|
+
check('install', 'restore', 'dotnet restore'),
|
|
263
|
+
check('test', 'test', 'dotnet test --nologo'),
|
|
264
|
+
]);
|
|
265
|
+
}
|
|
266
|
+
// ---- Ruby / PHP / Elixir --------------------------------------------------
|
|
267
|
+
export function detectRuby(view) {
|
|
268
|
+
if (!view.has('Gemfile'))
|
|
269
|
+
return null;
|
|
270
|
+
const rubocop = view.hasAny('.rubocop.yml', '.rubocop.yaml');
|
|
271
|
+
const rspec = view.has('.rspec') || view.hasDir('spec');
|
|
272
|
+
const rake = view.has('Rakefile') && view.hasDir('test');
|
|
273
|
+
return ecosystem('ruby', [
|
|
274
|
+
check('install', 'install', 'bundle install'),
|
|
275
|
+
check('lint', 'lint', rubocop ? 'bundle exec rubocop' : null),
|
|
276
|
+
check('test', 'test', rspec ? 'bundle exec rspec' : rake ? 'bundle exec rake test' : null),
|
|
277
|
+
]);
|
|
278
|
+
}
|
|
279
|
+
/** Composer script names per role, most-specific first. */
|
|
280
|
+
const COMPOSER_SCRIPTS = {
|
|
281
|
+
lint: ['lint', 'cs-check', 'phpcs', 'check-style', 'cs'],
|
|
282
|
+
typecheck: ['phpstan', 'psalm', 'analyse', 'analyze', 'static-analysis'],
|
|
283
|
+
test: ['test', 'tests', 'phpunit'],
|
|
284
|
+
};
|
|
285
|
+
export function detectPhp(view) {
|
|
286
|
+
if (!view.has('composer.json'))
|
|
287
|
+
return null;
|
|
288
|
+
const scripts = scriptsOf(view.json('composer.json'));
|
|
289
|
+
const script = (role) => {
|
|
290
|
+
const name = firstScript(scripts, COMPOSER_SCRIPTS[role]);
|
|
291
|
+
return name ? `composer run-script ${name}` : null;
|
|
292
|
+
};
|
|
293
|
+
// A repo with a phpunit config but no composer script still has one obvious command.
|
|
294
|
+
const test = script('test') ?? (view.hasAny('phpunit.xml', 'phpunit.xml.dist') ? 'vendor/bin/phpunit' : null);
|
|
295
|
+
return ecosystem('php', [
|
|
296
|
+
check('install', 'install', 'composer install --no-interaction --prefer-dist'),
|
|
297
|
+
check('lint', 'lint', script('lint')),
|
|
298
|
+
check('typecheck', 'static analysis', script('typecheck')),
|
|
299
|
+
check('test', 'test', test),
|
|
300
|
+
]);
|
|
301
|
+
}
|
|
302
|
+
export function detectElixir(view) {
|
|
303
|
+
if (!view.has('mix.exs'))
|
|
304
|
+
return null;
|
|
305
|
+
return ecosystem('elixir', [
|
|
306
|
+
check('install', 'deps', 'mix deps.get'),
|
|
307
|
+
check('format', 'format', view.has('.formatter.exs') ? 'mix format --check-formatted' : null),
|
|
308
|
+
check('lint', 'lint', view.has('.credo.exs') ? 'mix credo --strict' : null),
|
|
309
|
+
check('test', 'test', 'mix test'),
|
|
310
|
+
]);
|
|
311
|
+
}
|
|
312
|
+
// ---- Task runners (the fallback tier) -------------------------------------
|
|
313
|
+
/**
|
|
314
|
+
* Target/recipe names per role. `ci`, `check` and `verify` are UMBRELLA names — a repo that
|
|
315
|
+
* declares one means it to run everything, so it is suggested ALONE (see
|
|
316
|
+
* {@link fromTaskRunner}) rather than beside the individual targets it already invokes.
|
|
317
|
+
*/
|
|
318
|
+
const TASK_TARGETS = {
|
|
319
|
+
umbrella: ['ci', 'check', 'verify', 'validate'],
|
|
320
|
+
format: ['format-check', 'fmt-check', 'format', 'fmt'],
|
|
321
|
+
lint: ['lint'],
|
|
322
|
+
typecheck: ['typecheck', 'type-check'],
|
|
323
|
+
build: ['build'],
|
|
324
|
+
test: ['test'],
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* Shape a task-runner ecosystem from the target names a manifest declares. Shared by make,
|
|
328
|
+
* just and task because the three differ only in how their names are extracted.
|
|
329
|
+
*/
|
|
330
|
+
function fromTaskRunner(id, invoke, declared) {
|
|
331
|
+
const pick = (role) => TASK_TARGETS[role].find((t) => declared.has(t)) ?? null;
|
|
332
|
+
const run = (role) => {
|
|
333
|
+
const target = pick(role);
|
|
334
|
+
return target ? invoke(target) : null;
|
|
335
|
+
};
|
|
336
|
+
const umbrella = pick('umbrella');
|
|
337
|
+
if (umbrella)
|
|
338
|
+
return ecosystem(id, [check('test', umbrella, invoke(umbrella))]);
|
|
339
|
+
return ecosystem(id, [
|
|
340
|
+
check('format', 'format', run('format')),
|
|
341
|
+
check('lint', 'lint', run('lint')),
|
|
342
|
+
check('typecheck', 'typecheck', run('typecheck')),
|
|
343
|
+
check('build', 'build', run('build')),
|
|
344
|
+
check('test', 'test', run('test')),
|
|
345
|
+
]);
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Make target names: a line-leading name followed by `:` (but not `:=`, a variable
|
|
349
|
+
* assignment). `.PHONY` and friends are excluded by requiring an alphanumeric first
|
|
350
|
+
* character, and a recipe body is excluded by anchoring at column 0 (recipe lines are
|
|
351
|
+
* tab-indented by definition).
|
|
352
|
+
*/
|
|
353
|
+
function makeTargets(content) {
|
|
354
|
+
const names = new Set();
|
|
355
|
+
for (const match of content.matchAll(/^([A-Za-z0-9][A-Za-z0-9._/-]*)\s*:(?!=)/gm)) {
|
|
356
|
+
if (match[1])
|
|
357
|
+
names.add(match[1].toLowerCase());
|
|
358
|
+
}
|
|
359
|
+
return names;
|
|
360
|
+
}
|
|
361
|
+
/** Just recipe names: a line-leading name, optional parameters, then `:`. */
|
|
362
|
+
function justRecipes(content) {
|
|
363
|
+
const names = new Set();
|
|
364
|
+
for (const match of content.matchAll(/^@?([A-Za-z0-9][A-Za-z0-9_-]*)[^:\n]*:(?!=)/gm)) {
|
|
365
|
+
if (match[1])
|
|
366
|
+
names.add(match[1].toLowerCase());
|
|
367
|
+
}
|
|
368
|
+
return names;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Task (Taskfile.dev) task names — the keys of the top-level `tasks:` map. Parsed with the
|
|
372
|
+
* real YAML parser rather than a regex: a Taskfile's task bodies are themselves maps with
|
|
373
|
+
* nested keys, so an indentation-based match would pick up `cmds`/`deps` as task names.
|
|
374
|
+
*/
|
|
375
|
+
function taskfileTasks(content) {
|
|
376
|
+
const names = new Set();
|
|
377
|
+
let doc;
|
|
378
|
+
try {
|
|
379
|
+
doc = parseYaml(content);
|
|
380
|
+
}
|
|
381
|
+
catch {
|
|
382
|
+
// silent-catch-ok: an unparseable Taskfile is a detection MISS — the operator still
|
|
383
|
+
// gets every other ecosystem's suggestions rather than an error about their YAML.
|
|
384
|
+
return names;
|
|
385
|
+
}
|
|
386
|
+
const tasks = doc?.tasks;
|
|
387
|
+
if (typeof tasks !== 'object' || tasks === null || Array.isArray(tasks))
|
|
388
|
+
return names;
|
|
389
|
+
for (const name of Object.keys(tasks))
|
|
390
|
+
names.add(name.toLowerCase());
|
|
391
|
+
return names;
|
|
392
|
+
}
|
|
393
|
+
export function detectMake(view) {
|
|
394
|
+
const content = view.readAny('Makefile', 'makefile', 'GNUmakefile');
|
|
395
|
+
if (content === undefined)
|
|
396
|
+
return null;
|
|
397
|
+
return fromTaskRunner('make', (t) => `make ${t}`, makeTargets(content));
|
|
398
|
+
}
|
|
399
|
+
export function detectJust(view) {
|
|
400
|
+
const content = view.readAny('justfile', 'Justfile', '.justfile');
|
|
401
|
+
if (content === undefined)
|
|
402
|
+
return null;
|
|
403
|
+
return fromTaskRunner('just', (t) => `just ${t}`, justRecipes(content));
|
|
404
|
+
}
|
|
405
|
+
export function detectTask(view) {
|
|
406
|
+
const content = view.readAny('Taskfile.yml', 'Taskfile.yaml');
|
|
407
|
+
if (content === undefined)
|
|
408
|
+
return null;
|
|
409
|
+
return fromTaskRunner('task', (t) => `task ${t}`, taskfileTasks(content));
|
|
410
|
+
}
|
|
411
|
+
// ---- registries -----------------------------------------------------------
|
|
412
|
+
/** Language ecosystems, in the order their suggestions are presented. */
|
|
413
|
+
export const LANGUAGE_DETECTORS = [
|
|
414
|
+
detectNode,
|
|
415
|
+
detectPython,
|
|
416
|
+
detectGo,
|
|
417
|
+
detectRust,
|
|
418
|
+
detectMaven,
|
|
419
|
+
detectGradle,
|
|
420
|
+
detectDotnet,
|
|
421
|
+
detectRuby,
|
|
422
|
+
detectPhp,
|
|
423
|
+
detectElixir,
|
|
424
|
+
];
|
|
425
|
+
/** Generic task runners — consulted only when no language ecosystem matched. */
|
|
426
|
+
export const TASK_RUNNER_DETECTORS = [
|
|
427
|
+
detectMake,
|
|
428
|
+
detectJust,
|
|
429
|
+
detectTask,
|
|
430
|
+
];
|
|
431
|
+
/**
|
|
432
|
+
* The registries as `detectValidationChecks` takes them. Passed explicitly rather than
|
|
433
|
+
* defaulted inside the composer, which would make `validation-detection.ts` import this
|
|
434
|
+
* module and this module import it back — and which would also hide the seam a deployment
|
|
435
|
+
* would extend to teach the detector its own house convention.
|
|
436
|
+
*/
|
|
437
|
+
export const DEFAULT_VALIDATION_DETECTORS = {
|
|
438
|
+
language: LANGUAGE_DETECTORS,
|
|
439
|
+
taskRunner: TASK_RUNNER_DETECTORS,
|
|
440
|
+
};
|
|
441
|
+
//# sourceMappingURL=validation-detectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-detectors.js","sourceRoot":"","sources":["../../src/domain/validation-detectors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export * from './domain/types.js';
|
|
2
|
-
export { DomainError, NotFoundError, ValidationError, ConflictError, CredentialRequiredError, ForbiddenError, RunContendedError, ReviewContendedError, assertFound, getErrorMessage, getErrorReason, type DomainErrorCode, type CredentialRequiredReason, type ConflictReason, } from './domain/errors.js';
|
|
2
|
+
export { DomainError, NotFoundError, ValidationError, ConflictError, CredentialRequiredError, ForbiddenError, UnavailableError, UnauthorizedError, RateLimitedError, RunContendedError, ReviewContendedError, assertFound, getErrorMessage, getErrorReason, type DomainErrorCode, type CredentialRequiredReason, type ConflictReason, } from './domain/errors.js';
|
|
3
3
|
export { sameSubtasks, sameSubtaskItems, parseSubtasks } from './domain/subtasks.logic.js';
|
|
4
4
|
export { type CachePolicy, providerCachePolicy, providerCachesPrompts, } from './domain/cache-policy.js';
|
|
5
5
|
export { resolveWritebackFlag } from './domain/writeback.js';
|
|
6
6
|
export { CHANGE_CLASS_RANK, classifyChangedPath, classifyChangedFiles, resolveMergeClassRule, type ChangeClassification, } from './domain/change-class.js';
|
|
7
7
|
export { extractJson } from './domain/llm-output.js';
|
|
8
|
+
export { detectValidationChecks, RepoView, type DetectedCheck, type ValidationDetectionResult, type EcosystemDetection, type EcosystemDetector, type RepoRootEntry, type RepoSurface, type ValidationCheckRole, } from './domain/validation-detection.js';
|
|
9
|
+
export { DEFAULT_VALIDATION_DETECTORS, LANGUAGE_DETECTORS, TASK_RUNNER_DETECTORS, VALIDATION_DETECTION_CONTENT_FILES, } from './domain/validation-detectors.js';
|
|
8
10
|
export { UNATTRIBUTED_CALL_PHASE, normalizeCallPhase } from './domain/llm-phase.js';
|
|
9
11
|
export { bugHuntScore, parseBugHuntVerdicts, rankBugCandidates } from './domain/bug-hunt-logic.js';
|
|
10
12
|
export { BLOCK_TYPE_LABEL, DEFAULT_RISK_POLICY, DEFAULT_MERGE_CLASS_RULES, RISK_POLICY_SEEDS, seedRiskPolicies, type RiskPolicySeed, DEFAULT_CI_MAX_ATTEMPTS, DEFAULT_MAX_REQUIREMENT_ITERATIONS, CONTEXT_BUDGET, DEFAULT_WORKSPACE_SETTINGS, DEFAULT_MODEL_PRESETS, DEFAULT_MODEL_PRESET, DEFAULT_MODEL_PRESET_ID, MODEL_PRESET_SEED_IDS, seedModelPresets, modelForKindFromPreset, type ModelPresetSeed, } from './domain/catalog.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
// Shared vocabulary, pure logic, and port interfaces for the domain packages
|
|
2
2
|
// (@cat-factory/orchestration, @cat-factory/integrations, …).
|
|
3
3
|
export * from './domain/types.js';
|
|
4
|
-
export { DomainError, NotFoundError, ValidationError, ConflictError, CredentialRequiredError, ForbiddenError, RunContendedError, ReviewContendedError, assertFound, getErrorMessage, getErrorReason, } from './domain/errors.js';
|
|
4
|
+
export { DomainError, NotFoundError, ValidationError, ConflictError, CredentialRequiredError, ForbiddenError, UnavailableError, UnauthorizedError, RateLimitedError, RunContendedError, ReviewContendedError, assertFound, getErrorMessage, getErrorReason, } from './domain/errors.js';
|
|
5
5
|
export { sameSubtasks, sameSubtaskItems, parseSubtasks } from './domain/subtasks.logic.js';
|
|
6
6
|
export { providerCachePolicy, providerCachesPrompts, } from './domain/cache-policy.js';
|
|
7
7
|
export { resolveWritebackFlag } from './domain/writeback.js';
|
|
8
8
|
export { CHANGE_CLASS_RANK, classifyChangedPath, classifyChangedFiles, resolveMergeClassRule, } from './domain/change-class.js';
|
|
9
9
|
export { extractJson } from './domain/llm-output.js';
|
|
10
|
+
export { detectValidationChecks, RepoView, } from './domain/validation-detection.js';
|
|
11
|
+
export { DEFAULT_VALIDATION_DETECTORS, LANGUAGE_DETECTORS, TASK_RUNNER_DETECTORS, VALIDATION_DETECTION_CONTENT_FILES, } from './domain/validation-detectors.js';
|
|
10
12
|
export { UNATTRIBUTED_CALL_PHASE, normalizeCallPhase } from './domain/llm-phase.js';
|
|
11
13
|
export { bugHuntScore, parseBugHuntVerdicts, rankBugCandidates } from './domain/bug-hunt-logic.js';
|
|
12
14
|
export { BLOCK_TYPE_LABEL, DEFAULT_RISK_POLICY, DEFAULT_MERGE_CLASS_RULES, RISK_POLICY_SEEDS, seedRiskPolicies, DEFAULT_CI_MAX_ATTEMPTS, DEFAULT_MAX_REQUIREMENT_ITERATIONS, CONTEXT_BUDGET, DEFAULT_WORKSPACE_SETTINGS, DEFAULT_MODEL_PRESETS, DEFAULT_MODEL_PRESET, DEFAULT_MODEL_PRESET_ID, MODEL_PRESET_SEED_IDS, seedModelPresets, modelForKindFromPreset, } from './domain/catalog.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8DAA8D;AAE9D,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,cAAc,GAIf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EAEL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAEhB,uBAAuB,EACvB,kCAAkC,EAClC,cAAc,EACd,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,GAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAOL,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EAEpB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,kCAAkC,EAClC,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAA;AAEzB,iFAAiF;AACjF,0EAA0E;AAC1E,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,8BAA8B,CAAA;AACrC,yEAAyE;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,2FAA2F;AAC3F,+CAA+C;AAC/C,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACxF,kFAAkF;AAClF,6FAA6F;AAC7F,mGAAmG;AACnG,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAEzF,8FAA8F;AAC9F,iFAAiF;AACjF,gGAAgG;AAChG,yEAAyE;AACzE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAE1F,yFAAyF;AACzF,8FAA8F;AAC9F,8FAA8F;AAC9F,kGAAkG;AAClG,OAAO,EAEL,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAE/C,gFAAgF;AAChF,uFAAuF;AACvF,mFAAmF;AACnF,iFAAiF;AACjF,OAAO,EASL,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,eAAe,GAChB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAML,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,oCAAoC,CAAA;AAE3C,0FAA0F;AAC1F,6EAA6E;AAC7E,4FAA4F;AAC5F,6FAA6F;AAC7F,wCAAwC;AACxC,OAAO,EAOL,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yBAAyB,CAAA;AAEhC,iFAAiF;AACjF,yFAAyF;AACzF,yEAAyE;AACzE,OAAO,EAEL,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,+BAA+B,CAAA;AAEtC,oFAAoF;AACpF,qFAAqF;AACrF,iFAAiF;AACjF,oEAAoE;AACpE,OAAO,EAIL,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAEL,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,6BAA6B,CAAA;AAEpC,0FAA0F;AAC1F,+EAA+E;AAC/E,+BAA+B;AAC/B,OAAO,EACL,sBAAsB,EAEtB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAA;AAEpC,wFAAwF;AACxF,qEAAqE;AACrE,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,4BAA4B,EAC5B,8BAA8B,EAC9B,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EAGpB,WAAW,EACX,eAAe,EACf,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,wBAAwB,CAAA;AAE/B,yFAAyF;AACzF,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAE9B,4FAA4F;AAC5F,OAAO,EAIL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,+BAA+B,CAAA;AAEtC,cAAc,kBAAkB,CAAA;AAEhC,gGAAgG;AAChG,0EAA0E;AAC1E,OAAO,EAWL,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAEL,uBAAuB,GACxB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,KAAK,cAAc,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,GACZ,MAAM,4BAA4B,CAAA;AACnC;;;;;;GAMG;AACH,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACnG,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,iBAAiB,GAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAGL,YAAY,EACZ,mBAAmB,GACpB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAOL,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,sBAAsB,GACvB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EACL,uBAAuB,EACvB,gCAAgC,GAEjC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GAIvB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAwB,iBAAiB,EAAE,MAAM,gCAAgC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,67 @@ export type RecordAgentContextInput = Omit<AgentContextSnapshot, 'id' | 'created
|
|
|
14
14
|
export interface AgentContextRecorder {
|
|
15
15
|
record(input: RecordAgentContextInput): Promise<void>;
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* A snapshot reduced to its IDENTITY plus the SIZE of each body family — the projection the
|
|
19
|
+
* remote debugging surface pages over.
|
|
20
|
+
*
|
|
21
|
+
* A snapshot row can be megabytes (it holds the whole composed system prompt plus the full
|
|
22
|
+
* content of every injected context file), so a page of them must never carry bodies. Every
|
|
23
|
+
* size here is a SQL `length()`, so listing a run's dispatches reads no body bytes at all;
|
|
24
|
+
* the caller picks the one it wants and point-reads it.
|
|
25
|
+
*
|
|
26
|
+
* Sizes, not element counts: counting the entries of the `fragments` / `contextFiles` JSON
|
|
27
|
+
* columns would mean either parsing them (which reads the very bodies this projection exists
|
|
28
|
+
* to avoid) or calling `json_array_length` on a column that would fail the WHOLE page if a
|
|
29
|
+
* single row were ever malformed. A length answers "is there a lot in here" just as well.
|
|
30
|
+
*/
|
|
31
|
+
export interface AgentContextSnapshotIndex {
|
|
32
|
+
id: string;
|
|
33
|
+
agentKind: string;
|
|
34
|
+
stepIndex: number;
|
|
35
|
+
createdAt: number;
|
|
36
|
+
model: string | null;
|
|
37
|
+
harness: string | null;
|
|
38
|
+
systemPromptChars: number;
|
|
39
|
+
userPromptChars: number;
|
|
40
|
+
/** Serialized length of the folded best-practice fragments. */
|
|
41
|
+
fragmentsChars: number;
|
|
42
|
+
/** Serialized length of the injected `.cat-context/*` files (bodies included). */
|
|
43
|
+
contextFilesChars: number;
|
|
44
|
+
}
|
|
45
|
+
/** A bounded, keyset-paginated query over one run's captured dispatches. */
|
|
46
|
+
export interface AgentContextIndexQuery {
|
|
47
|
+
executionId: string;
|
|
48
|
+
/** Narrow to one step's dispatches (a retried step records one snapshot per attempt). */
|
|
49
|
+
stepIndex?: number;
|
|
50
|
+
limit: number;
|
|
51
|
+
/** EXCLUSIVE keyset on the `(createdAt, id)` composite the ordering uses. */
|
|
52
|
+
cursor?: {
|
|
53
|
+
createdAt: number;
|
|
54
|
+
id: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
17
57
|
export interface AgentContextSnapshotRepository {
|
|
18
58
|
/** Append one captured dispatch context. */
|
|
19
59
|
record(snapshot: AgentContextSnapshot): Promise<void>;
|
|
20
60
|
/** Snapshots recorded for a run, newest first. */
|
|
21
61
|
listByExecution(workspaceId: string, executionId: string): Promise<AgentContextSnapshot[]>;
|
|
62
|
+
/**
|
|
63
|
+
* One BOUNDED page of {@link AgentContextSnapshotIndex} rows for a run, newest first —
|
|
64
|
+
* identity plus sizes, never a body. See the type's note for why this is not just
|
|
65
|
+
* {@link AgentContextSnapshotRepository.listByExecution} with a limit.
|
|
66
|
+
*/
|
|
67
|
+
listIndex(workspaceId: string, query: AgentContextIndexQuery): Promise<AgentContextSnapshotIndex[]>;
|
|
68
|
+
/**
|
|
69
|
+
* One snapshot by id, with its bodies. Whole rather than sliced: the fragment and
|
|
70
|
+
* context-file bodies live inside JSON columns, so there is no portable way to budget them
|
|
71
|
+
* per element in SQL — and the recorder already caps a snapshot at a few megabytes, which
|
|
72
|
+
* is an acceptable single point read. The CALLER applies the per-body budget it promised
|
|
73
|
+
* its own client. Workspace-scoped, so a foreign id reads as missing.
|
|
74
|
+
*/
|
|
75
|
+
get(workspaceId: string, id: string): Promise<AgentContextSnapshot | null>;
|
|
76
|
+
/** How many dispatches the run captured — one indexed COUNT, no rows read. */
|
|
77
|
+
countByExecution(workspaceId: string, executionId: string): Promise<number>;
|
|
22
78
|
/**
|
|
23
79
|
* Retention: delete rows older than `epochMs` (exclusive), returning how many were
|
|
24
80
|
* removed. The full prompt + injected-file bodies make this heavy, so it is pruned
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../../src/ports/agent-context.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAA;AAEpF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD;AAED,MAAM,WAAW,8BAA8B;IAC7C,4CAA4C;IAC5C,MAAM,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,kDAAkD;IAClD,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC1F;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAClD"}
|
|
1
|
+
{"version":3,"file":"agent-context.d.ts","sourceRoot":"","sources":["../../src/ports/agent-context.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,WAAW,CAAC,CAAA;AAEpF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAA;IACtB,kFAAkF;IAClF,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,4EAA4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3C;AAED,MAAM,WAAW,8BAA8B;IAC7C,4CAA4C;IAC5C,MAAM,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrD,kDAAkD;IAClD,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAC1F;;;;OAIG;IACH,SAAS,CACP,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAA;IACvC;;;;;;OAMG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAC1E,8EAA8E;IAC9E,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3E;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAClD"}
|