@cleocode/core 2026.10.8 → 2026.10.9-rc.ci.676
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/build-provenance.json +2 -2
- package/dist/cloud/auto-sync-command-entry.d.ts +13 -0
- package/dist/cloud/auto-sync-command-entry.d.ts.map +1 -0
- package/dist/cloud/auto-sync-command-entry.js +18 -0
- package/dist/cloud/auto-sync-command-entry.js.map +1 -0
- package/dist/cloud/auto-sync-command.d.ts +64 -0
- package/dist/cloud/auto-sync-command.d.ts.map +1 -0
- package/dist/cloud/auto-sync-command.js +109 -0
- package/dist/cloud/auto-sync-command.js.map +1 -0
- package/dist/cloud/auto-sync.d.ts +111 -0
- package/dist/cloud/auto-sync.d.ts.map +1 -0
- package/dist/cloud/auto-sync.js +275 -0
- package/dist/cloud/auto-sync.js.map +1 -0
- package/dist/cloud/nexus-cloud-device-overview.d.ts +52 -0
- package/dist/cloud/nexus-cloud-device-overview.d.ts.map +1 -0
- package/dist/cloud/nexus-cloud-device-overview.js +105 -0
- package/dist/cloud/nexus-cloud-device-overview.js.map +1 -0
- package/dist/cloud/nexus-cloud-journal-activity.d.ts +56 -0
- package/dist/cloud/nexus-cloud-journal-activity.d.ts.map +1 -0
- package/dist/cloud/nexus-cloud-journal-activity.js +98 -0
- package/dist/cloud/nexus-cloud-journal-activity.js.map +1 -0
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +88 -5
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-vault.d.ts +19 -5
- package/dist/cloud/nexus-vault.d.ts.map +1 -1
- package/dist/cloud/nexus-vault.js +376 -71
- package/dist/cloud/nexus-vault.js.map +1 -1
- package/dist/cloud/replica-rebind.d.ts +14 -0
- package/dist/cloud/replica-rebind.d.ts.map +1 -1
- package/dist/cloud/replica-rebind.js +20 -1
- package/dist/cloud/replica-rebind.js.map +1 -1
- package/dist/config.d.ts +10 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -0
- package/dist/config.js.map +1 -1
- package/dist/docs/docs-ops.d.ts +4 -2
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +107 -15
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/doctor/system-health.d.ts +76 -2
- package/dist/doctor/system-health.d.ts.map +1 -1
- package/dist/doctor/system-health.js +264 -41
- package/dist/doctor/system-health.js.map +1 -1
- package/dist/hooks/project-runner.d.ts +10 -0
- package/dist/hooks/project-runner.d.ts.map +1 -0
- package/dist/hooks/project-runner.js +328 -0
- package/dist/hooks/project-runner.js.map +1 -0
- package/dist/hooks/project-state.d.ts +41 -0
- package/dist/hooks/project-state.d.ts.map +1 -0
- package/dist/hooks/project-state.js +331 -0
- package/dist/hooks/project-state.js.map +1 -0
- package/dist/hooks/release-gate.d.ts +61 -0
- package/dist/hooks/release-gate.d.ts.map +1 -0
- package/dist/hooks/release-gate.js +70 -0
- package/dist/hooks/release-gate.js.map +1 -0
- package/dist/nexus/analyze-orchestrator.d.ts +2 -0
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +1 -0
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/freshness.d.ts +67 -3
- package/dist/nexus/freshness.d.ts.map +1 -1
- package/dist/nexus/freshness.js +130 -9
- package/dist/nexus/freshness.js.map +1 -1
- package/dist/nexus/refresh-child.d.ts +14 -0
- package/dist/nexus/refresh-child.d.ts.map +1 -0
- package/dist/nexus/refresh-child.js +24 -0
- package/dist/nexus/refresh-child.js.map +1 -0
- package/dist/orchestrate/spawn-ops.d.ts +8 -1
- package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
- package/dist/orchestrate/spawn-ops.js +42 -12
- package/dist/orchestrate/spawn-ops.js.map +1 -1
- package/dist/orchestration/spawn.d.ts +5 -0
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +4 -1
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/release/channel.d.ts.map +1 -1
- package/dist/release/channel.js +10 -0
- package/dist/release/channel.js.map +1 -1
- package/dist/release/github-pr.d.ts.map +1 -1
- package/dist/release/github-pr.js +1 -0
- package/dist/release/github-pr.js.map +1 -1
- package/dist/release/plan.d.ts +8 -3
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +72 -15
- package/dist/release/plan.js.map +1 -1
- package/dist/release/reconcile.d.ts.map +1 -1
- package/dist/release/reconcile.js +6 -15
- package/dist/release/reconcile.js.map +1 -1
- package/dist/sentient/daemon-entry.d.ts +6 -0
- package/dist/sentient/daemon-entry.d.ts.map +1 -1
- package/dist/sentient/daemon-entry.js +12 -0
- package/dist/sentient/daemon-entry.js.map +1 -1
- package/dist/sentient/worktree-dispatch.d.ts +7 -0
- package/dist/sentient/worktree-dispatch.d.ts.map +1 -1
- package/dist/sentient/worktree-dispatch.js +37 -1
- package/dist/sentient/worktree-dispatch.js.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.d.ts +4 -1
- package/dist/sessions/session-end-snapshot-entry.d.ts.map +1 -1
- package/dist/sessions/session-end-snapshot-entry.js +9 -1
- package/dist/sessions/session-end-snapshot-entry.js.map +1 -1
- package/dist/spawn/agent-identity.d.ts.map +1 -1
- package/dist/spawn/agent-identity.js +96 -1
- package/dist/spawn/agent-identity.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts +27 -8
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +57 -73
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/store/agent-resolver.d.ts +6 -0
- package/dist/store/agent-resolver.d.ts.map +1 -1
- package/dist/store/agent-resolver.js +2 -0
- package/dist/store/agent-resolver.js.map +1 -1
- package/dist/store/dual-scope-db.d.ts +20 -0
- package/dist/store/dual-scope-db.d.ts.map +1 -1
- package/dist/store/dual-scope-db.js +81 -8
- package/dist/store/dual-scope-db.js.map +1 -1
- package/dist/store/exodus/bare-family.d.ts.map +1 -1
- package/dist/store/exodus/bare-family.js +4 -1
- package/dist/store/exodus/bare-family.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +2 -0
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +16 -4
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/reconcile.d.ts.map +1 -1
- package/dist/store/exodus/reconcile.js +2 -0
- package/dist/store/exodus/reconcile.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts +17 -0
- package/dist/store/portable-bundle-import.d.ts.map +1 -1
- package/dist/store/portable-bundle-import.js +46 -31
- package/dist/store/portable-bundle-import.js.map +1 -1
- package/dist/store/portable-bundle-scan.d.ts.map +1 -1
- package/dist/store/portable-bundle-scan.js +5 -0
- package/dist/store/portable-bundle-scan.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts +4 -3
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +37 -35
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/row-identity.d.ts.map +1 -1
- package/dist/store/row-identity.js +6 -1
- package/dist/store/row-identity.js.map +1 -1
- package/dist/store/schema/cleo-global/agent-registry.d.ts +16 -0
- package/dist/store/schema/cleo-global/agent-registry.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/agent-registry.js +4 -1
- package/dist/store/schema/cleo-global/agent-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts +126 -1
- package/dist/store/schema/cleo-project/provenance-orphans.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/provenance-orphans.js +41 -1
- package/dist/store/schema/cleo-project/provenance-orphans.js.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts +40 -0
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.js +122 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -1
- package/dist/store/sync/activity.d.ts +64 -0
- package/dist/store/sync/activity.d.ts.map +1 -0
- package/dist/store/sync/activity.js +220 -0
- package/dist/store/sync/activity.js.map +1 -0
- package/dist/store/sync/apply/applier.d.ts.map +1 -1
- package/dist/store/sync/apply/applier.js +58 -2
- package/dist/store/sync/apply/applier.js.map +1 -1
- package/dist/store/sync/apply/write-api.d.ts.map +1 -1
- package/dist/store/sync/apply/write-api.js +45 -3
- package/dist/store/sync/apply/write-api.js.map +1 -1
- package/dist/store/sync/capture.d.ts +6 -4
- package/dist/store/sync/capture.d.ts.map +1 -1
- package/dist/store/sync/capture.js +16 -4
- package/dist/store/sync/capture.js.map +1 -1
- package/dist/store/sync/collision-settle.d.ts +120 -0
- package/dist/store/sync/collision-settle.d.ts.map +1 -1
- package/dist/store/sync/collision-settle.js +342 -5
- package/dist/store/sync/collision-settle.js.map +1 -1
- package/dist/store/sync/flags.d.ts +34 -0
- package/dist/store/sync/flags.d.ts.map +1 -1
- package/dist/store/sync/flags.js +46 -0
- package/dist/store/sync/flags.js.map +1 -1
- package/dist/store/sync/genesis.d.ts +8 -0
- package/dist/store/sync/genesis.d.ts.map +1 -1
- package/dist/store/sync/genesis.js +18 -5
- package/dist/store/sync/genesis.js.map +1 -1
- package/dist/store/sync/push.d.ts +4 -2
- package/dist/store/sync/push.d.ts.map +1 -1
- package/dist/store/sync/push.js +10 -1
- package/dist/store/sync/push.js.map +1 -1
- package/dist/store/sync/rebind.d.ts +20 -0
- package/dist/store/sync/rebind.d.ts.map +1 -1
- package/dist/store/sync/rebind.js +86 -4
- package/dist/store/sync/rebind.js.map +1 -1
- package/dist/store/sync/reconcile-copy.d.ts +152 -0
- package/dist/store/sync/reconcile-copy.d.ts.map +1 -0
- package/dist/store/sync/reconcile-copy.js +428 -0
- package/dist/store/sync/reconcile-copy.js.map +1 -0
- package/dist/store/sync/reconcile.d.ts +80 -0
- package/dist/store/sync/reconcile.d.ts.map +1 -1
- package/dist/store/sync/reconcile.js +97 -5
- package/dist/store/sync/reconcile.js.map +1 -1
- package/dist/store/sync/repair.d.ts +11 -0
- package/dist/store/sync/repair.d.ts.map +1 -1
- package/dist/store/sync/repair.js +14 -3
- package/dist/store/sync/repair.js.map +1 -1
- package/dist/store/sync/replica.d.ts +74 -1
- package/dist/store/sync/replica.d.ts.map +1 -1
- package/dist/store/sync/replica.js +104 -6
- package/dist/store/sync/replica.js.map +1 -1
- package/dist/store/sync/row-meta.d.ts +4 -2
- package/dist/store/sync/row-meta.d.ts.map +1 -1
- package/dist/store/sync/row-meta.js +6 -4
- package/dist/store/sync/row-meta.js.map +1 -1
- package/dist/store/sync/sealer.d.ts +2 -0
- package/dist/store/sync/sealer.d.ts.map +1 -1
- package/dist/store/sync/sealer.js +33 -4
- package/dist/store/sync/sealer.js.map +1 -1
- package/dist/store/sync/structural.d.ts.map +1 -1
- package/dist/store/sync/structural.js +3 -1
- package/dist/store/sync/structural.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +2 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts +29 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +85 -19
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +28 -10
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +5 -0
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +14 -1
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/tasks/affected-packages.d.ts +15 -5
- package/dist/tasks/affected-packages.d.ts.map +1 -1
- package/dist/tasks/affected-packages.js +20 -8
- package/dist/tasks/affected-packages.js.map +1 -1
- package/dist/tasks/done-record.d.ts +14 -4
- package/dist/tasks/done-record.d.ts.map +1 -1
- package/dist/tasks/done-record.js +21 -9
- package/dist/tasks/done-record.js.map +1 -1
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +45 -4
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-runner.d.ts +5 -4
- package/dist/tasks/gate-runner.d.ts.map +1 -1
- package/dist/tasks/gate-runner.js +18 -11
- package/dist/tasks/gate-runner.js.map +1 -1
- package/dist/tasks/tool-cache.d.ts +27 -1
- package/dist/tasks/tool-cache.d.ts.map +1 -1
- package/dist/tasks/tool-cache.js +110 -6
- package/dist/tasks/tool-cache.js.map +1 -1
- package/dist/tools/fs.d.ts +3 -1
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js +35 -2
- package/dist/tools/fs.js.map +1 -1
- package/dist/validation/engine-ops.d.ts +10 -3
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +17 -8
- package/dist/validation/engine-ops.js.map +1 -1
- package/migrations/drizzle-cleo-global/20261010180000_t12915-agent-registry-uids/migration.sql +18 -0
- package/migrations/drizzle-cleo-project/20261010170000_t12896b-brain-task-observations/migration.sql +37 -0
- package/migrations/sync-journal/20261009150000_t13335-capture-pin/migration.sql +13 -0
- package/package.json +18 -13
- package/schemas/config.schema.json +12 -0
- package/schemas/project-context.schema.json +5 -0
- package/templates/CLEO-INJECTION.md +2 -2
- package/templates/CLEO-REFERENCE.md +6 -4
- package/templates/git-hooks/pre-push +29 -1
- package/templates/workflows/release-prepare.yml.tmpl +1 -0
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
/** Lightweight Git checkout resolution and hash-bound local activation (T13343). */
|
|
2
|
+
import { execFileSync } from 'node:child_process';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
import { constants, createReadStream } from 'node:fs';
|
|
5
|
+
import { access, lstat, realpath, stat } from 'node:fs/promises';
|
|
6
|
+
import { delimiter, isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
7
|
+
import { ProjectHooksLocalStateSchema, ProjectHooksManifestSchema, } from '@cleocode/contracts/project-hooks.js';
|
|
8
|
+
import { discoveryEnv } from '../git/work-tree.js';
|
|
9
|
+
import { atomicWrite } from '../store/atomic.js';
|
|
10
|
+
import { canonicalizePath, readFileText } from '../tools/fs.js';
|
|
11
|
+
import { HOOKS_V1_UNRELEASED, HooksV1UnreleasedError, hooksV1Released } from './release-gate.js';
|
|
12
|
+
export { HooksV1UnreleasedError } from './release-gate.js';
|
|
13
|
+
const MAX_DEFINITION_BYTES = 262144;
|
|
14
|
+
const MAX_ACTIVATION_BYTES = 1048576;
|
|
15
|
+
const LOCKFILES = ['pnpm-lock.yaml', 'package-lock.json', 'yarn.lock', 'bun.lock', 'bun.lockb'];
|
|
16
|
+
/** Read a hook definition or private record with a hard allocation bound, including racing growth. */
|
|
17
|
+
export async function readProjectHookRecord(path, maxBytes) {
|
|
18
|
+
return (await readFileText({ path, maxBytes })).content;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Supply canonical cold-path utilities through the provider delivery contracts port.
|
|
22
|
+
* @remarks
|
|
23
|
+
* This keeps provider delivery independent of the SDK at runtime while reusing its bounded reader.
|
|
24
|
+
* Git receives a snapshot without ambient repository overrides; the process environment is unchanged.
|
|
25
|
+
* @returns The bounded reader and sanitized Git discovery environment for one delivery invocation.
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const services = createProjectHookDeliveryServices();
|
|
29
|
+
* const canReadConfiguration = typeof services.readTextFile === 'function';
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function createProjectHookDeliveryServices() {
|
|
33
|
+
return { readTextFile: readProjectHookRecord, gitEnvironment: discoveryEnv() };
|
|
34
|
+
}
|
|
35
|
+
/** Resolve checkout and hook paths through Git without reading CLEO stores. */
|
|
36
|
+
export function resolveProjectHookContext(cwd) {
|
|
37
|
+
const gitPath = (...args) => execFileSync('git', ['-C', cwd, ...args], {
|
|
38
|
+
encoding: 'utf8',
|
|
39
|
+
env: discoveryEnv(),
|
|
40
|
+
timeout: 5000,
|
|
41
|
+
maxBuffer: 16384,
|
|
42
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
43
|
+
}).trim();
|
|
44
|
+
const projectRoot = gitPath('rev-parse', '--show-toplevel');
|
|
45
|
+
return {
|
|
46
|
+
projectRoot,
|
|
47
|
+
gitCommonDir: resolve(cwd, gitPath('rev-parse', '--path-format=absolute', '--git-common-dir')),
|
|
48
|
+
hooksDir: resolve(cwd, gitPath('rev-parse', '--path-format=absolute', '--git-path', 'hooks')),
|
|
49
|
+
stateDir: resolve(cwd, gitPath('rev-parse', '--path-format=absolute', '--git-path', 'cleo-project-hooks')),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Resolve a real path inside this checkout, refusing symlink escapes. */
|
|
53
|
+
export async function resolveProjectHookFile(root, file) {
|
|
54
|
+
const canonicalRoot = await realpath(root);
|
|
55
|
+
const target = await canonicalizePath(resolve(root, file));
|
|
56
|
+
const rel = relative(canonicalRoot, target);
|
|
57
|
+
if (isAbsolute(rel) || rel === '..' || rel.startsWith(`..${sep}`))
|
|
58
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
59
|
+
throw new Error('HOOK_PATH_ESCAPE');
|
|
60
|
+
return target;
|
|
61
|
+
}
|
|
62
|
+
/** Read a bounded tracked definition and reject malformed or duplicate entries. */
|
|
63
|
+
export async function readProjectHooksManifest(context) {
|
|
64
|
+
const path = await resolveProjectHookFile(context.projectRoot, '.cleo/hooks.json');
|
|
65
|
+
let body;
|
|
66
|
+
try {
|
|
67
|
+
body = await readProjectHookRecord(path, MAX_DEFINITION_BYTES);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
if (error instanceof Error && 'code' in error && error.code === 'ENOENT')
|
|
71
|
+
return { schemaVersion: 1, hooks: [] };
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
return ProjectHooksManifestSchema.parse(JSON.parse(body));
|
|
75
|
+
}
|
|
76
|
+
/** Resolve a shell-free executable; project executable paths must remain inside checkout. */
|
|
77
|
+
export async function resolveProjectHookExecutable(root, executable) {
|
|
78
|
+
if (isAbsolute(executable) || executable.includes('\0'))
|
|
79
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
80
|
+
throw new Error('HOOK_EXECUTABLE_INVALID');
|
|
81
|
+
if (executable.includes('/') || executable.includes('\\')) {
|
|
82
|
+
const file = await resolveProjectHookFile(root, executable);
|
|
83
|
+
await access(file, constants.X_OK);
|
|
84
|
+
return file;
|
|
85
|
+
}
|
|
86
|
+
for (const path of (process.env.PATH ?? '').split(delimiter)) {
|
|
87
|
+
if (!isAbsolute(path))
|
|
88
|
+
continue;
|
|
89
|
+
const candidate = join(path, executable);
|
|
90
|
+
try {
|
|
91
|
+
await access(candidate, constants.X_OK);
|
|
92
|
+
if ((await stat(candidate)).isFile())
|
|
93
|
+
return await realpath(candidate);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
/* Continue searching trusted absolute PATH entries. */
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
100
|
+
throw new Error('HOOK_EXECUTABLE_MISSING');
|
|
101
|
+
}
|
|
102
|
+
function digest(content) {
|
|
103
|
+
return createHash('sha256').update(content).digest('hex');
|
|
104
|
+
}
|
|
105
|
+
async function digestFile(path, deadline, signal) {
|
|
106
|
+
const remaining = Math.floor(deadline - performance.now());
|
|
107
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
108
|
+
if (remaining <= 0)
|
|
109
|
+
throw new Error('HOOK_HASH_TIMEOUT');
|
|
110
|
+
const hash = createHash('sha256');
|
|
111
|
+
let bytes = 0;
|
|
112
|
+
const timeout = AbortSignal.timeout(remaining);
|
|
113
|
+
const stream = createReadStream(path, {
|
|
114
|
+
signal: signal ? AbortSignal.any([signal, timeout]) : timeout,
|
|
115
|
+
});
|
|
116
|
+
for await (const chunk of stream) {
|
|
117
|
+
bytes += chunk.length;
|
|
118
|
+
if (bytes > 268435456) {
|
|
119
|
+
stream.destroy();
|
|
120
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
121
|
+
throw new Error('HOOK_DEPENDENCY_TOO_LARGE');
|
|
122
|
+
}
|
|
123
|
+
hash.update(chunk);
|
|
124
|
+
}
|
|
125
|
+
return hash.digest('hex');
|
|
126
|
+
}
|
|
127
|
+
async function projectIdentity(context, deadline, signal) {
|
|
128
|
+
try {
|
|
129
|
+
const file = await resolveProjectHookFile(context.projectRoot, '.cleo/project.json');
|
|
130
|
+
return await digestFile(file, deadline, signal);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (!(error instanceof Error && 'code' in error && error.code === 'ENOENT'))
|
|
134
|
+
throw error;
|
|
135
|
+
return digest(context.gitCommonDir);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/** Compute the executable inputs bound by explicit activation. */
|
|
139
|
+
export async function computeHookActivation(context, manifest, deadline = performance.now() + 120000, signal) {
|
|
140
|
+
const files = {};
|
|
141
|
+
const executables = {};
|
|
142
|
+
const inputs = new Set(manifest.hooks.flatMap((hook) => [
|
|
143
|
+
hook.handler,
|
|
144
|
+
...hook.dependencies,
|
|
145
|
+
...(hook.executable.includes('/') ? [hook.executable] : []),
|
|
146
|
+
]));
|
|
147
|
+
for (const file of LOCKFILES) {
|
|
148
|
+
try {
|
|
149
|
+
await access(join(context.projectRoot, file));
|
|
150
|
+
inputs.add(file);
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
/* Absent optional lockfiles are not executable dependencies. */
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
for (const file of [...inputs].sort()) {
|
|
157
|
+
const path = await resolveProjectHookFile(context.projectRoot, file);
|
|
158
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
159
|
+
if (!(await stat(path)).isFile())
|
|
160
|
+
throw new Error('HOOK_DEPENDENCY_NOT_FILE');
|
|
161
|
+
files[file] = await digestFile(path, deadline, signal);
|
|
162
|
+
}
|
|
163
|
+
const executableHashes = new Map();
|
|
164
|
+
for (const hook of manifest.hooks) {
|
|
165
|
+
const path = await resolveProjectHookExecutable(context.projectRoot, hook.executable);
|
|
166
|
+
let hash = executableHashes.get(path);
|
|
167
|
+
if (!hash) {
|
|
168
|
+
hash = await digestFile(path, deadline, signal);
|
|
169
|
+
executableHashes.set(path, hash);
|
|
170
|
+
}
|
|
171
|
+
// Project executables retain a checkout-relative identity across worktrees.
|
|
172
|
+
// PATH runtimes bind the resolved system path and actual executable content.
|
|
173
|
+
const identity = hook.executable.includes('/')
|
|
174
|
+
? relative(await realpath(context.projectRoot), path)
|
|
175
|
+
: path;
|
|
176
|
+
executables[hook.id] = `${identity}:${hash}`;
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
schemaVersion: 1,
|
|
180
|
+
projectRoot: await realpath(context.projectRoot),
|
|
181
|
+
projectIdentity: await projectIdentity(context, deadline, signal),
|
|
182
|
+
manifestHash: digest(JSON.stringify(manifest)),
|
|
183
|
+
files,
|
|
184
|
+
executables,
|
|
185
|
+
activatedAt: new Date().toISOString(),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/** Resolve a private receipt path and reject redirected state directories or files. */
|
|
189
|
+
export async function resolveProjectHookStateFile(context, name) {
|
|
190
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
191
|
+
if (!/^[a-z-]+\.json$/.test(name))
|
|
192
|
+
throw new Error('HOOK_STATE_PATH_INVALID');
|
|
193
|
+
const parent = await realpath(resolve(context.stateDir, '..'));
|
|
194
|
+
const stateDir = await canonicalizePath(context.stateDir);
|
|
195
|
+
if (relative(parent, stateDir) !== 'cleo-project-hooks')
|
|
196
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
197
|
+
throw new Error('HOOK_STATE_PATH_ESCAPE');
|
|
198
|
+
const path = join(stateDir, name);
|
|
199
|
+
try {
|
|
200
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
201
|
+
if ((await lstat(path)).isSymbolicLink())
|
|
202
|
+
throw new Error('HOOK_STATE_SYMLINK');
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
if (!(error instanceof Error && 'code' in error && error.code === 'ENOENT'))
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
208
|
+
return path;
|
|
209
|
+
}
|
|
210
|
+
/** Read machine-local feature state; no record means disabled. */
|
|
211
|
+
export async function readProjectHooksLocalState(context) {
|
|
212
|
+
const path = await resolveProjectHookStateFile(context, 'activation.json');
|
|
213
|
+
try {
|
|
214
|
+
return ProjectHooksLocalStateSchema.parse(JSON.parse(await readProjectHookRecord(path, MAX_ACTIVATION_BYTES)));
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
if (error instanceof Error && 'code' in error && error.code === 'ENOENT')
|
|
218
|
+
return { hooks: { project: { enabled: false } } };
|
|
219
|
+
throw error;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
async function resolveDefinitions(context, manifest) {
|
|
223
|
+
let sourceTracked = false;
|
|
224
|
+
try {
|
|
225
|
+
execFileSync('git', ['-C', context.projectRoot, 'ls-files', '--error-unmatch', '--', '.cleo/hooks.json'], { timeout: 5000, maxBuffer: 16384, stdio: 'ignore' });
|
|
226
|
+
sourceTracked = true;
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
/* Untracked local definitions may still be explicitly activated. */
|
|
230
|
+
}
|
|
231
|
+
return Promise.all(manifest.hooks.map(async (hook) => {
|
|
232
|
+
const result = {
|
|
233
|
+
id: hook.id,
|
|
234
|
+
owner: hook.owner,
|
|
235
|
+
sourceDefinition: join(context.projectRoot, '.cleo/hooks.json'),
|
|
236
|
+
sourceTracked,
|
|
237
|
+
diagnostics: [],
|
|
238
|
+
};
|
|
239
|
+
try {
|
|
240
|
+
result.handlerPath = await resolveProjectHookFile(context.projectRoot, hook.handler);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
result.diagnostics.push('HOOK_HANDLER_PATH_UNAVAILABLE');
|
|
244
|
+
}
|
|
245
|
+
try {
|
|
246
|
+
result.executablePath = await resolveProjectHookExecutable(context.projectRoot, hook.executable);
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
result.diagnostics.push('HOOK_EXECUTABLE_MISSING');
|
|
250
|
+
}
|
|
251
|
+
return result;
|
|
252
|
+
}));
|
|
253
|
+
}
|
|
254
|
+
/** Check that the explicit local approval still matches all declared code inputs. */
|
|
255
|
+
export async function inspectProjectHooks(cwd, deadline, signal) {
|
|
256
|
+
const context = resolveProjectHookContext(cwd);
|
|
257
|
+
const manifest = await readProjectHooksManifest(context);
|
|
258
|
+
const state = await readProjectHooksLocalState(context);
|
|
259
|
+
const result = {
|
|
260
|
+
context,
|
|
261
|
+
manifest,
|
|
262
|
+
resolvedHooks: await resolveDefinitions(context, manifest),
|
|
263
|
+
enabled: state.hooks.project.enabled,
|
|
264
|
+
activation: 'disabled',
|
|
265
|
+
diagnostics: [],
|
|
266
|
+
nativeTrust: 'unverified',
|
|
267
|
+
nativeProjectTrust: 'unverified',
|
|
268
|
+
nativeHookTrust: 'unverified',
|
|
269
|
+
};
|
|
270
|
+
if (!result.enabled)
|
|
271
|
+
return result;
|
|
272
|
+
// T13557: a receipt is never effectively active on a build without hooks-v1.
|
|
273
|
+
if (!hooksV1Released()) {
|
|
274
|
+
result.activation = 'unreleased';
|
|
275
|
+
result.diagnostics.push(HOOKS_V1_UNRELEASED);
|
|
276
|
+
return result;
|
|
277
|
+
}
|
|
278
|
+
if (!state.activation) {
|
|
279
|
+
result.activation = 'missing';
|
|
280
|
+
result.diagnostics.push('HOOK_ACTIVATION_MISSING');
|
|
281
|
+
return result;
|
|
282
|
+
}
|
|
283
|
+
const current = await computeHookActivation(context, manifest, deadline, signal);
|
|
284
|
+
const { activatedAt: _before, ...before } = state.activation;
|
|
285
|
+
const { activatedAt: _after, ...after } = current;
|
|
286
|
+
result.activation = JSON.stringify(before) === JSON.stringify(after) ? 'active' : 'drifted';
|
|
287
|
+
if (result.activation === 'drifted')
|
|
288
|
+
result.diagnostics.push('HOOK_REACTIVATION_REQUIRED');
|
|
289
|
+
return result;
|
|
290
|
+
}
|
|
291
|
+
/** Explicitly activate the present definitions; does not install or grant harness trust. */
|
|
292
|
+
export async function activateProjectHooks(cwd) {
|
|
293
|
+
// @sync-invariant none:local-only Refuse machine-local hook activation on a build without hooks-v1 (T13557); no synced rows are written.
|
|
294
|
+
if (!hooksV1Released())
|
|
295
|
+
throw new HooksV1UnreleasedError();
|
|
296
|
+
const context = resolveProjectHookContext(cwd);
|
|
297
|
+
const manifest = await readProjectHooksManifest(context);
|
|
298
|
+
const activation = await computeHookActivation(context, manifest);
|
|
299
|
+
const state = { hooks: { project: { enabled: true } }, activation };
|
|
300
|
+
const serialized = `${JSON.stringify(state)}\n`;
|
|
301
|
+
if (Buffer.byteLength(serialized) > MAX_ACTIVATION_BYTES)
|
|
302
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
303
|
+
throw new Error('HOOK_ACTIVATION_TOO_LARGE');
|
|
304
|
+
await resolveProjectHookStateFile(context, 'activation.json');
|
|
305
|
+
const { withFileLock } = await import('../store/file-utils.js');
|
|
306
|
+
await withFileLock(join(context.stateDir, 'activation.lock-target'), async () => {
|
|
307
|
+
// Reassess under the writer lock; never approve a raced definition snapshot.
|
|
308
|
+
const fresh = await computeHookActivation(context, await readProjectHooksManifest(context));
|
|
309
|
+
const { activatedAt: _old, ...oldInputs } = activation;
|
|
310
|
+
const { activatedAt: _new, ...newInputs } = fresh;
|
|
311
|
+
if (JSON.stringify(oldInputs) !== JSON.stringify(newInputs))
|
|
312
|
+
// @sync-invariant none:local-only Reject unsafe machine-local hook records or executable inputs; no synced rows are written.
|
|
313
|
+
throw new Error('HOOK_ACTIVATION_RACED');
|
|
314
|
+
await atomicWrite(await resolveProjectHookStateFile(context, 'activation.json'), serialized, {
|
|
315
|
+
mode: 0o600,
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
return state;
|
|
319
|
+
}
|
|
320
|
+
/** Disable machine-local execution without modifying project or native harness configuration. */
|
|
321
|
+
export async function disableProjectHooks(cwd) {
|
|
322
|
+
const context = resolveProjectHookContext(cwd);
|
|
323
|
+
await resolveProjectHookStateFile(context, 'activation.json');
|
|
324
|
+
const { withFileLock } = await import('../store/file-utils.js');
|
|
325
|
+
await withFileLock(join(context.stateDir, 'activation.lock-target'), async () => atomicWrite(await resolveProjectHookStateFile(context, 'activation.json'), '{"hooks":{"project":{"enabled":false}}}\n', { mode: 0o600 }));
|
|
326
|
+
}
|
|
327
|
+
/** Match a project's binding without treating shell command text as a Git operation. */
|
|
328
|
+
export function matchesProjectHook(hook, source, event) {
|
|
329
|
+
return hook.bindings.some((binding) => binding.source === source && binding.event === event);
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=project-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-state.js","sourceRoot":"","sources":["../../src/hooks/project-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hooks-v1 release gate (T13557, owner decision 2026-10-11).
|
|
3
|
+
*
|
|
4
|
+
* Project hooks (#2008, #2013) stay inert on a stable build until the hooks-v1
|
|
5
|
+
* stable promotion: activation is refused and existing receipts are not
|
|
6
|
+
* executed. The gate opens from RELEASE METADATA, never a source edit, so the
|
|
7
|
+
* pilot's source digest (scripts/hook-pilot-evidence.mjs) stays valid:
|
|
8
|
+
*
|
|
9
|
+
* - a canary build (`-canary.N` version) runs hooks, for the pilot;
|
|
10
|
+
* - the hooks-v1 promotion release stamps `cleo.releasedFeatures: ["hooks-v1"]`
|
|
11
|
+
* into the published manifests (scripts/mark-hotfix-release.mjs), which the
|
|
12
|
+
* digest normalizes out;
|
|
13
|
+
* - after promotion, remove `hooks-v1` from {@link UNRELEASED_HOOK_FEATURES}
|
|
14
|
+
* in an ordinary PR before the next stable release, which no longer stamps it.
|
|
15
|
+
*
|
|
16
|
+
* Lightweight on purpose: the hook hot path must not load the store (the sync
|
|
17
|
+
* flags module pulls in sqlite and the schema machinery).
|
|
18
|
+
*
|
|
19
|
+
* @task T13557
|
|
20
|
+
*/
|
|
21
|
+
/** A gated hook feature. */
|
|
22
|
+
export type HookFeature = 'hooks-v1';
|
|
23
|
+
/** Hook features not released on stable builds; remove one after its promotion. */
|
|
24
|
+
export declare const UNRELEASED_HOOK_FEATURES: ReadonlySet<HookFeature>;
|
|
25
|
+
/** The error code of a refused activation. */
|
|
26
|
+
export declare const E_HOOKS_V1_UNRELEASED = "E_HOOKS_V1_UNRELEASED";
|
|
27
|
+
/** The diagnostic and outcome code while hooks-v1 is unreleased. */
|
|
28
|
+
export declare const HOOKS_V1_UNRELEASED = "HOOKS_V1_UNRELEASED";
|
|
29
|
+
/** Activation refused because this build has not released hooks-v1. */
|
|
30
|
+
export declare class HooksV1UnreleasedError extends Error {
|
|
31
|
+
/** {@link E_HOOKS_V1_UNRELEASED}. */
|
|
32
|
+
readonly code = "E_HOOKS_V1_UNRELEASED";
|
|
33
|
+
constructor();
|
|
34
|
+
}
|
|
35
|
+
/** The release metadata of this build's `@cleocode/core` manifest. */
|
|
36
|
+
export interface HookReleaseManifest {
|
|
37
|
+
/** The package version. */
|
|
38
|
+
readonly version?: string;
|
|
39
|
+
/** CLEO release metadata stamped at publish time. */
|
|
40
|
+
readonly cleo?: {
|
|
41
|
+
readonly releasedFeatures?: readonly string[];
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** Options of {@link hooksV1Released}. */
|
|
45
|
+
export interface HooksV1ReleaseOptions {
|
|
46
|
+
/** Opt in regardless of the build (tests, the canary harness). */
|
|
47
|
+
readonly allowUnreleased?: boolean;
|
|
48
|
+
/** The manifest to judge; test seam. @defaultValue this build's `@cleocode/core` manifest */
|
|
49
|
+
readonly manifest?: HookReleaseManifest;
|
|
50
|
+
/** The unreleased set; test seam. @defaultValue UNRELEASED_HOOK_FEATURES */
|
|
51
|
+
readonly unreleased?: ReadonlySet<HookFeature>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Whether hooks-v1 may activate and execute on this build: released in
|
|
55
|
+
* source, stamped released by the promotion, a canary build, or opted in.
|
|
56
|
+
*
|
|
57
|
+
* @param opts - Opt-in and test seams.
|
|
58
|
+
* @returns `true` when project hooks may run.
|
|
59
|
+
*/
|
|
60
|
+
export declare function hooksV1Released(opts?: HooksV1ReleaseOptions): boolean;
|
|
61
|
+
//# sourceMappingURL=release-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-gate.d.ts","sourceRoot":"","sources":["../../src/hooks/release-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,4BAA4B;AAC5B,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AAErC,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,WAAW,CAAyB,CAAC;AAExF,8CAA8C;AAC9C,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,uEAAuE;AACvE,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,qCAAqC;IACrC,QAAQ,CAAC,IAAI,2BAAyB;;CAOvC;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CACnE;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CAChD;AAiBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAMzE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hooks-v1 release gate (T13557, owner decision 2026-10-11).
|
|
3
|
+
*
|
|
4
|
+
* Project hooks (#2008, #2013) stay inert on a stable build until the hooks-v1
|
|
5
|
+
* stable promotion: activation is refused and existing receipts are not
|
|
6
|
+
* executed. The gate opens from RELEASE METADATA, never a source edit, so the
|
|
7
|
+
* pilot's source digest (scripts/hook-pilot-evidence.mjs) stays valid:
|
|
8
|
+
*
|
|
9
|
+
* - a canary build (`-canary.N` version) runs hooks, for the pilot;
|
|
10
|
+
* - the hooks-v1 promotion release stamps `cleo.releasedFeatures: ["hooks-v1"]`
|
|
11
|
+
* into the published manifests (scripts/mark-hotfix-release.mjs), which the
|
|
12
|
+
* digest normalizes out;
|
|
13
|
+
* - after promotion, remove `hooks-v1` from {@link UNRELEASED_HOOK_FEATURES}
|
|
14
|
+
* in an ordinary PR before the next stable release, which no longer stamps it.
|
|
15
|
+
*
|
|
16
|
+
* Lightweight on purpose: the hook hot path must not load the store (the sync
|
|
17
|
+
* flags module pulls in sqlite and the schema machinery).
|
|
18
|
+
*
|
|
19
|
+
* @task T13557
|
|
20
|
+
*/
|
|
21
|
+
import { readFileSync } from 'node:fs';
|
|
22
|
+
import { fileURLToPath } from 'node:url';
|
|
23
|
+
/** Hook features not released on stable builds; remove one after its promotion. */
|
|
24
|
+
export const UNRELEASED_HOOK_FEATURES = new Set(['hooks-v1']);
|
|
25
|
+
/** The error code of a refused activation. */
|
|
26
|
+
export const E_HOOKS_V1_UNRELEASED = 'E_HOOKS_V1_UNRELEASED';
|
|
27
|
+
/** The diagnostic and outcome code while hooks-v1 is unreleased. */
|
|
28
|
+
export const HOOKS_V1_UNRELEASED = 'HOOKS_V1_UNRELEASED';
|
|
29
|
+
/** Activation refused because this build has not released hooks-v1. */
|
|
30
|
+
export class HooksV1UnreleasedError extends Error {
|
|
31
|
+
/** {@link E_HOOKS_V1_UNRELEASED}. */
|
|
32
|
+
code = E_HOOKS_V1_UNRELEASED;
|
|
33
|
+
constructor() {
|
|
34
|
+
super('Project hooks (hooks-v1) are not released on this build: activation is refused and existing receipts are not executed. Use a canary build for the pilot, or wait for the hooks-v1 stable promotion.');
|
|
35
|
+
this.name = 'HooksV1UnreleasedError';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
let cached;
|
|
39
|
+
/** This build's `@cleocode/core` manifest (src and dist both sit two levels below it). */
|
|
40
|
+
function buildManifest() {
|
|
41
|
+
if (cached)
|
|
42
|
+
return cached;
|
|
43
|
+
try {
|
|
44
|
+
const path = fileURLToPath(new URL('../../package.json', import.meta.url));
|
|
45
|
+
cached = JSON.parse(readFileSync(path, 'utf8'));
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// An unreadable manifest is a stable build: the gate stays closed.
|
|
49
|
+
cached = {};
|
|
50
|
+
}
|
|
51
|
+
return cached;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Whether hooks-v1 may activate and execute on this build: released in
|
|
55
|
+
* source, stamped released by the promotion, a canary build, or opted in.
|
|
56
|
+
*
|
|
57
|
+
* @param opts - Opt-in and test seams.
|
|
58
|
+
* @returns `true` when project hooks may run.
|
|
59
|
+
*/
|
|
60
|
+
export function hooksV1Released(opts = {}) {
|
|
61
|
+
if (!(opts.unreleased ?? UNRELEASED_HOOK_FEATURES).has('hooks-v1'))
|
|
62
|
+
return true;
|
|
63
|
+
if (opts.allowUnreleased === true)
|
|
64
|
+
return true;
|
|
65
|
+
const manifest = opts.manifest ?? buildManifest();
|
|
66
|
+
if (/-canary\.\d+$/.test(manifest.version ?? ''))
|
|
67
|
+
return true;
|
|
68
|
+
return manifest.cleo?.releasedFeatures?.includes('hooks-v1') === true;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=release-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-gate.js","sourceRoot":"","sources":["../../src/hooks/release-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,mFAAmF;AACnF,MAAM,CAAC,MAAM,wBAAwB,GAA6B,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAExF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAE7D,oEAAoE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD,uEAAuE;AACvE,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,qCAAqC;IAC5B,IAAI,GAAG,qBAAqB,CAAC;IACtC;QACE,KAAK,CACH,qMAAqM,CACtM,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAoBD,IAAI,MAAuC,CAAC;AAE5C,0FAA0F;AAC1F,SAAS,aAAa;IACpB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAwB,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAA8B,EAAE;IAC9D,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAwB,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAChF,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,EAAE,CAAC;IAClD,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,OAAO,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;AACxE,CAAC"}
|
|
@@ -72,6 +72,8 @@ export interface NexusAnalysisParams {
|
|
|
72
72
|
incremental?: boolean;
|
|
73
73
|
/** Explicit relative paths of nested repositories authorized for source inclusion. */
|
|
74
74
|
includedRepositories?: readonly string[];
|
|
75
|
+
/** Refuse a run that would be a full rebuild (T13523: inline refresh from a read query). */
|
|
76
|
+
requireIncremental?: boolean;
|
|
75
77
|
/**
|
|
76
78
|
* Drop included repositories (explicit or carried over) that are missing on
|
|
77
79
|
* disk instead of refusing. Off by default: a missing inclusion refuses and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-orchestrator.d.ts","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EACV,oBAAoB,EAEpB,oBAAoB,EACpB,oBAAoB,EAEpB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAmFlE,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,kBAAkB,GAAG,oBAAoB,EAAE,CAiBlF;AAyGD,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qGAAqG;IACrG,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,4FAA4F;AAC5F,MAAM,WAAW,wBAAwB;IACvC,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;CACxB;AAiFD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,oBAAoB,EAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CA2EN;AAmCD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CAChD;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgBhG"}
|
|
1
|
+
{"version":3,"file":"analyze-orchestrator.d.ts","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EACV,oBAAoB,EAEpB,oBAAoB,EACpB,oBAAoB,EAEpB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAmFlE,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,kBAAkB,GAAG,oBAAoB,EAAE,CAiBlF;AAyGD,kGAAkG;AAClG,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qGAAqG;IACrG,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,4FAA4F;AAC5F,MAAM,WAAW,wBAAwB;IACvC,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;CACxB;AAiFD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,oBAAoB,EAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,IAAI,CA2EN;AAmCD,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,4FAA4F;IAC5F,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzE;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,WAAW,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CAChD;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAgBhG"}
|
|
@@ -487,6 +487,7 @@ async function runScopedNexusAnalysis(params, projectRoot) {
|
|
|
487
487
|
parserLimits: { ...params.parserLimits, signal },
|
|
488
488
|
incremental: useIncremental,
|
|
489
489
|
...(fullReason ? { fullReason } : {}),
|
|
490
|
+
...(params.requireIncremental ? { requireIncremental: true } : {}),
|
|
490
491
|
loadParseCache: () => readNexusParseCache(db),
|
|
491
492
|
publishedFingerprint: publishedExtractorFingerprint(db),
|
|
492
493
|
assessedRevision,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-orchestrator.js","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyze-orchestrator.js","sourceRoot":"","sources":["../../src/nexus/analyze-orchestrator.ts"],"names":[],"mappings":"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"}
|