@neurcode-ai/cli 0.14.0 → 0.15.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/README.md +60 -8
- package/dist/api-client.d.ts +284 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +111 -0
- package/dist/api-client.js.map +1 -1
- package/dist/commands/activate.d.ts +82 -0
- package/dist/commands/activate.d.ts.map +1 -0
- package/dist/commands/activate.js +551 -0
- package/dist/commands/activate.js.map +1 -0
- package/dist/commands/admission.d.ts +67 -0
- package/dist/commands/admission.d.ts.map +1 -0
- package/dist/commands/admission.js +350 -0
- package/dist/commands/admission.js.map +1 -0
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +2045 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/demo.d.ts +3 -0
- package/dist/commands/demo.d.ts.map +1 -0
- package/dist/commands/demo.js +102 -0
- package/dist/commands/demo.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +58 -44
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +44 -22
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/profile.d.ts +14 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +118 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/commands/quickstart.d.ts +2 -2
- package/dist/commands/quickstart.d.ts.map +1 -1
- package/dist/commands/quickstart.js +31 -30
- package/dist/commands/quickstart.js.map +1 -1
- package/dist/commands/remediate-export.d.ts +6 -1
- package/dist/commands/remediate-export.d.ts.map +1 -1
- package/dist/commands/remediate-export.js +359 -7
- package/dist/commands/remediate-export.js.map +1 -1
- package/dist/commands/replay.d.ts.map +1 -1
- package/dist/commands/replay.js +84 -0
- package/dist/commands/replay.js.map +1 -1
- package/dist/commands/run.d.ts +3 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +98 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/runtime-adapter.d.ts +8 -0
- package/dist/commands/runtime-adapter.d.ts.map +1 -0
- package/dist/commands/runtime-adapter.js +375 -0
- package/dist/commands/runtime-adapter.js.map +1 -0
- package/dist/commands/runtime-doctor.d.ts +6 -0
- package/dist/commands/runtime-doctor.d.ts.map +1 -0
- package/dist/commands/runtime-doctor.js +478 -0
- package/dist/commands/runtime-doctor.js.map +1 -0
- package/dist/commands/runtime-report.d.ts +13 -0
- package/dist/commands/runtime-report.d.ts.map +1 -0
- package/dist/commands/runtime-report.js +81 -0
- package/dist/commands/runtime-report.js.map +1 -0
- package/dist/commands/runtime-sync.d.ts +17 -0
- package/dist/commands/runtime-sync.d.ts.map +1 -0
- package/dist/commands/runtime-sync.js +656 -0
- package/dist/commands/runtime-sync.js.map +1 -0
- package/dist/commands/runtime.d.ts +16 -0
- package/dist/commands/runtime.d.ts.map +1 -0
- package/dist/commands/runtime.js +380 -0
- package/dist/commands/runtime.js.map +1 -0
- package/dist/commands/session-hook.d.ts +35 -0
- package/dist/commands/session-hook.d.ts.map +1 -0
- package/dist/commands/session-hook.js +1297 -0
- package/dist/commands/session-hook.js.map +1 -0
- package/dist/commands/session.d.ts +91 -0
- package/dist/commands/session.d.ts.map +1 -1
- package/dist/commands/session.js +1226 -0
- package/dist/commands/session.js.map +1 -1
- package/dist/commands/whoami.d.ts +7 -4
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +59 -34
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +24 -5
- package/dist/config.js.map +1 -1
- package/dist/daemon/routes.d.ts.map +1 -1
- package/dist/daemon/routes.js +8 -0
- package/dist/daemon/routes.js.map +1 -1
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +88 -0
- package/dist/daemon/server.js.map +1 -1
- package/dist/governance/impact-analysis.d.ts +27 -0
- package/dist/governance/impact-analysis.d.ts.map +1 -0
- package/dist/governance/impact-analysis.js +274 -0
- package/dist/governance/impact-analysis.js.map +1 -0
- package/dist/index.js +472 -29
- package/dist/index.js.map +1 -1
- package/dist/intent-engine/matcher.d.ts.map +1 -1
- package/dist/intent-engine/matcher.js +3 -12
- package/dist/intent-engine/matcher.js.map +1 -1
- package/dist/utils/admission-artifact.d.ts +59 -0
- package/dist/utils/admission-artifact.d.ts.map +1 -0
- package/dist/utils/admission-artifact.js +410 -0
- package/dist/utils/admission-artifact.js.map +1 -0
- package/dist/utils/agent-adapter-setup.d.ts +80 -0
- package/dist/utils/agent-adapter-setup.d.ts.map +1 -0
- package/dist/utils/agent-adapter-setup.js +577 -0
- package/dist/utils/agent-adapter-setup.js.map +1 -0
- package/dist/utils/agent-guard-supervisor.d.ts +75 -0
- package/dist/utils/agent-guard-supervisor.d.ts.map +1 -0
- package/dist/utils/agent-guard-supervisor.js +388 -0
- package/dist/utils/agent-guard-supervisor.js.map +1 -0
- package/dist/utils/agent-guard.d.ts +92 -0
- package/dist/utils/agent-guard.d.ts.map +1 -0
- package/dist/utils/agent-guard.js +326 -0
- package/dist/utils/agent-guard.js.map +1 -0
- package/dist/utils/agent-session-launcher.d.ts +89 -0
- package/dist/utils/agent-session-launcher.d.ts.map +1 -0
- package/dist/utils/agent-session-launcher.js +308 -0
- package/dist/utils/agent-session-launcher.js.map +1 -0
- package/dist/utils/bash-command-analysis.d.ts +19 -0
- package/dist/utils/bash-command-analysis.d.ts.map +1 -0
- package/dist/utils/bash-command-analysis.js +295 -0
- package/dist/utils/bash-command-analysis.js.map +1 -0
- package/dist/utils/consequence-nudges.d.ts +30 -0
- package/dist/utils/consequence-nudges.d.ts.map +1 -0
- package/dist/utils/consequence-nudges.js +313 -0
- package/dist/utils/consequence-nudges.js.map +1 -0
- package/dist/utils/drift-intelligence.d.ts.map +1 -1
- package/dist/utils/drift-intelligence.js +29 -7
- package/dist/utils/drift-intelligence.js.map +1 -1
- package/dist/utils/git-coverage.d.ts +57 -0
- package/dist/utils/git-coverage.d.ts.map +1 -0
- package/dist/utils/git-coverage.js +302 -0
- package/dist/utils/git-coverage.js.map +1 -0
- package/dist/utils/gitignore.d.ts.map +1 -1
- package/dist/utils/gitignore.js +2 -1
- package/dist/utils/gitignore.js.map +1 -1
- package/dist/utils/governed-intent.d.ts +10 -0
- package/dist/utils/governed-intent.d.ts.map +1 -0
- package/dist/utils/governed-intent.js +108 -0
- package/dist/utils/governed-intent.js.map +1 -0
- package/dist/utils/hook-heartbeat.d.ts +55 -0
- package/dist/utils/hook-heartbeat.d.ts.map +1 -0
- package/dist/utils/hook-heartbeat.js +116 -0
- package/dist/utils/hook-heartbeat.js.map +1 -0
- package/dist/utils/intent-continuity.d.ts +21 -0
- package/dist/utils/intent-continuity.d.ts.map +1 -0
- package/dist/utils/intent-continuity.js +192 -0
- package/dist/utils/intent-continuity.js.map +1 -0
- package/dist/utils/messages.d.ts +1 -1
- package/dist/utils/messages.d.ts.map +1 -1
- package/dist/utils/messages.js +24 -21
- package/dist/utils/messages.js.map +1 -1
- package/dist/utils/runtime-companion.d.ts +137 -0
- package/dist/utils/runtime-companion.d.ts.map +1 -0
- package/dist/utils/runtime-companion.js +231 -0
- package/dist/utils/runtime-companion.js.map +1 -0
- package/dist/utils/runtime-connection.d.ts +46 -0
- package/dist/utils/runtime-connection.d.ts.map +1 -0
- package/dist/utils/runtime-connection.js +148 -0
- package/dist/utils/runtime-connection.js.map +1 -0
- package/dist/utils/runtime-evidence.d.ts +68 -0
- package/dist/utils/runtime-evidence.d.ts.map +1 -0
- package/dist/utils/runtime-evidence.js +248 -0
- package/dist/utils/runtime-evidence.js.map +1 -0
- package/dist/utils/runtime-live.d.ts +33 -0
- package/dist/utils/runtime-live.d.ts.map +1 -0
- package/dist/utils/runtime-live.js +361 -0
- package/dist/utils/runtime-live.js.map +1 -0
- package/dist/utils/runtime-outbox.d.ts +76 -0
- package/dist/utils/runtime-outbox.d.ts.map +1 -0
- package/dist/utils/runtime-outbox.js +410 -0
- package/dist/utils/runtime-outbox.js.map +1 -0
- package/dist/utils/runtime-receipt.d.ts +50 -0
- package/dist/utils/runtime-receipt.d.ts.map +1 -0
- package/dist/utils/runtime-receipt.js +223 -0
- package/dist/utils/runtime-receipt.js.map +1 -0
- package/dist/utils/state.d.ts +21 -0
- package/dist/utils/state.d.ts.map +1 -1
- package/dist/utils/state.js +30 -0
- package/dist/utils/state.js.map +1 -1
- package/dist/utils/structural-understanding.d.ts +334 -0
- package/dist/utils/structural-understanding.d.ts.map +1 -0
- package/dist/utils/structural-understanding.js +2316 -0
- package/dist/utils/structural-understanding.js.map +1 -0
- package/dist/utils/v0-governance.d.ts +197 -0
- package/dist/utils/v0-governance.d.ts.map +1 -0
- package/dist/utils/v0-governance.js +904 -0
- package/dist/utils/v0-governance.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Runtime Admission — local artifact emission (Phase A, CLI orchestration).
|
|
4
|
+
*
|
|
5
|
+
* Builds and writes `.neurcode/admission/<sessionId>.json`, a SELF-ATTESTED,
|
|
6
|
+
* source-free record. It is a claim that a governed session produced these
|
|
7
|
+
* effects — NOT cryptographic proof that governance ran (see disclaimer).
|
|
8
|
+
*
|
|
9
|
+
* This module keeps governance-runtime's finishSession pure: the admission
|
|
10
|
+
* artifact is a separate file, emitted from the CLI finish paths and wrapped in
|
|
11
|
+
* try/catch by callers so it can never break session finish. No source content,
|
|
12
|
+
* diff hunks, patch text, excerpts, or secrets are ever written.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.admissionDir = admissionDir;
|
|
16
|
+
exports.admissionRecordPath = admissionRecordPath;
|
|
17
|
+
exports.publicAdmissionDir = publicAdmissionDir;
|
|
18
|
+
exports.publicAdmissionRecordPath = publicAdmissionRecordPath;
|
|
19
|
+
exports.buildGovernanceClassificationMap = buildGovernanceClassificationMap;
|
|
20
|
+
exports.emitSelfAttestedAdmissionRecord = emitSelfAttestedAdmissionRecord;
|
|
21
|
+
exports.exportSelfAttestedAdmissionRecord = exportSelfAttestedAdmissionRecord;
|
|
22
|
+
exports.tryEmitSelfAttestedAdmissionRecord = tryEmitSelfAttestedAdmissionRecord;
|
|
23
|
+
const fs_1 = require("fs");
|
|
24
|
+
const path_1 = require("path");
|
|
25
|
+
const contracts_1 = require("@neurcode-ai/contracts");
|
|
26
|
+
const governance_runtime_1 = require("@neurcode-ai/governance-runtime");
|
|
27
|
+
const git_coverage_1 = require("./git-coverage");
|
|
28
|
+
const runtime_connection_1 = require("./runtime-connection");
|
|
29
|
+
const runtime_receipt_1 = require("./runtime-receipt");
|
|
30
|
+
const PUBLIC_ADMISSION_DIR = '.neurcode-admission';
|
|
31
|
+
function artifactFileName(sessionId) {
|
|
32
|
+
if (!/^[A-Za-z0-9._-]+$/.test(sessionId)) {
|
|
33
|
+
throw new Error('admission: session id is not safe for an artifact filename');
|
|
34
|
+
}
|
|
35
|
+
return `${sessionId}.json`;
|
|
36
|
+
}
|
|
37
|
+
function admissionDir(repoRoot) {
|
|
38
|
+
return (0, path_1.join)(repoRoot, '.neurcode', 'admission');
|
|
39
|
+
}
|
|
40
|
+
function admissionRecordPath(repoRoot, sessionId) {
|
|
41
|
+
return (0, path_1.join)(admissionDir(repoRoot), artifactFileName(sessionId));
|
|
42
|
+
}
|
|
43
|
+
/** Tracked, explicit export seam for the future OSS advisory Action. */
|
|
44
|
+
function publicAdmissionDir(repoRoot) {
|
|
45
|
+
return (0, path_1.join)(repoRoot, PUBLIC_ADMISSION_DIR);
|
|
46
|
+
}
|
|
47
|
+
function publicAdmissionRecordPath(repoRoot, sessionId) {
|
|
48
|
+
return (0, path_1.join)(publicAdmissionDir(repoRoot), artifactFileName(sessionId));
|
|
49
|
+
}
|
|
50
|
+
function mapGuardClassification(classification, changeType) {
|
|
51
|
+
const deleted = changeType === 'deleted';
|
|
52
|
+
switch (classification) {
|
|
53
|
+
case 'verified_prewrite':
|
|
54
|
+
return deleted ? 'governed_delete' : 'governed_prewrite';
|
|
55
|
+
case 'observed_after_only':
|
|
56
|
+
return 'observed_postwrite';
|
|
57
|
+
case 'denied_but_changed':
|
|
58
|
+
case 'unverified_write':
|
|
59
|
+
case 'prewrite_call_without_verdict':
|
|
60
|
+
default:
|
|
61
|
+
return 'ungoverned';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Derive a path → governance classification map from the session's source-free
|
|
66
|
+
* agent-guard posture. Files with no guard evidence default to 'ungoverned'.
|
|
67
|
+
*/
|
|
68
|
+
function buildGovernanceClassificationMap(session, deletedPaths = new Set()) {
|
|
69
|
+
const posture = (0, governance_runtime_1.buildAgentGuardPostureSummary)(session);
|
|
70
|
+
const map = {};
|
|
71
|
+
for (const file of posture.changedFiles) {
|
|
72
|
+
if (!file.path)
|
|
73
|
+
continue;
|
|
74
|
+
const path = normalizeRepoPath(file.path);
|
|
75
|
+
if (!path)
|
|
76
|
+
continue;
|
|
77
|
+
map[path] = {
|
|
78
|
+
classification: mapGuardClassification(String(file.classification), deletedPaths.has(path) ? 'deleted' : String(file.changeType)),
|
|
79
|
+
sessions: [session.sessionId],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// Claude Code's native PreToolUse hook records deterministic check events
|
|
83
|
+
// without an agent_guard_finished summary. Apply them after posture evidence so
|
|
84
|
+
// the last decisive pre-write verdict wins for every path.
|
|
85
|
+
for (const event of session.events) {
|
|
86
|
+
if (event.type !== 'check_ok' && event.type !== 'check_warn' && event.type !== 'check_block')
|
|
87
|
+
continue;
|
|
88
|
+
const path = normalizeRepoPath(event.filePath ?? '');
|
|
89
|
+
if (!path)
|
|
90
|
+
continue;
|
|
91
|
+
map[path] = {
|
|
92
|
+
classification: event.type === 'check_block'
|
|
93
|
+
? 'ungoverned'
|
|
94
|
+
: deletedPaths.has(path)
|
|
95
|
+
? 'governed_delete'
|
|
96
|
+
: 'governed_prewrite',
|
|
97
|
+
sessions: [session.sessionId],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return map;
|
|
101
|
+
}
|
|
102
|
+
function normalizeRepoPath(path) {
|
|
103
|
+
return path.replace(/\\/g, '/').replace(/^\.\//, '').trim();
|
|
104
|
+
}
|
|
105
|
+
function uniqueSorted(values) {
|
|
106
|
+
return Array.from(new Set(values.map(normalizeRepoPath).filter(Boolean))).sort((a, b) => a.localeCompare(b));
|
|
107
|
+
}
|
|
108
|
+
function ownerValuesFrom(event) {
|
|
109
|
+
const detail = event.detail;
|
|
110
|
+
const raw = detail && typeof detail === 'object'
|
|
111
|
+
? detail.approvalContext
|
|
112
|
+
: null;
|
|
113
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
114
|
+
return [];
|
|
115
|
+
const owners = raw.owners;
|
|
116
|
+
return Array.isArray(owners)
|
|
117
|
+
? owners.filter((owner) => typeof owner === 'string' && owner.trim().length > 0)
|
|
118
|
+
: [];
|
|
119
|
+
}
|
|
120
|
+
function approvalPathFrom(event, key) {
|
|
121
|
+
const detail = event.detail;
|
|
122
|
+
const raw = detail && typeof detail === 'object'
|
|
123
|
+
? detail.approvalContext
|
|
124
|
+
: null;
|
|
125
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
126
|
+
return null;
|
|
127
|
+
const value = raw[key];
|
|
128
|
+
return typeof value === 'string' && value.trim() ? normalizeRepoPath(value) : null;
|
|
129
|
+
}
|
|
130
|
+
function ownerCounts(events) {
|
|
131
|
+
const counts = new Map();
|
|
132
|
+
for (const event of events) {
|
|
133
|
+
for (const owner of ownerValuesFrom(event)) {
|
|
134
|
+
counts.set(owner, (counts.get(owner) ?? 0) + 1);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return [...counts.entries()]
|
|
138
|
+
.sort((left, right) => {
|
|
139
|
+
if (right[1] !== left[1])
|
|
140
|
+
return right[1] - left[1];
|
|
141
|
+
return left[0].localeCompare(right[0]);
|
|
142
|
+
})
|
|
143
|
+
.map(([owner, count]) => ({ owner, count }));
|
|
144
|
+
}
|
|
145
|
+
function sanitizeIntentSummary(value) {
|
|
146
|
+
if (!value || !value.trim())
|
|
147
|
+
return null;
|
|
148
|
+
const original = value;
|
|
149
|
+
const compact = value
|
|
150
|
+
.replace(/[\x00-\x1f\x7f]/g, ' ')
|
|
151
|
+
.replace(/\s+/g, ' ')
|
|
152
|
+
.trim();
|
|
153
|
+
const sourceLike = original.includes('\n') ||
|
|
154
|
+
/```|@@|\+\+\+|---|[{};]/.test(original) ||
|
|
155
|
+
/\b(function|class|const|let|var|import|export|def|SELECT|INSERT|UPDATE|DELETE)\b/.test(original);
|
|
156
|
+
if (sourceLike)
|
|
157
|
+
return 'Sanitized governed-session intent available locally; raw task text withheld.';
|
|
158
|
+
return compact.length > 180 ? `${compact.slice(0, 177)}...` : compact;
|
|
159
|
+
}
|
|
160
|
+
function buildReceiptSummary(trustLevel) {
|
|
161
|
+
return {
|
|
162
|
+
present: false,
|
|
163
|
+
trustLevel,
|
|
164
|
+
signatureStatus: null,
|
|
165
|
+
verificationStatus: 'not_present',
|
|
166
|
+
signedAt: null,
|
|
167
|
+
verifier: null,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
function asRecord(value) {
|
|
171
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
172
|
+
? value
|
|
173
|
+
: null;
|
|
174
|
+
}
|
|
175
|
+
function optionalString(value) {
|
|
176
|
+
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
177
|
+
}
|
|
178
|
+
function receiptVerifier(receipt) {
|
|
179
|
+
const verification = asRecord(receipt.verification);
|
|
180
|
+
const url = optionalString(verification?.verificationUrl);
|
|
181
|
+
return url || 'neurcode replay verify-receipt <receipt-json>';
|
|
182
|
+
}
|
|
183
|
+
function receiptTrustLevel(receipt, verification) {
|
|
184
|
+
if (receipt.signatureStatus === 'signed' &&
|
|
185
|
+
verification.sourceFree &&
|
|
186
|
+
verification.checks.canonicalHash &&
|
|
187
|
+
verification.checks.receiptHash) {
|
|
188
|
+
return 'backend_signed';
|
|
189
|
+
}
|
|
190
|
+
return 'self_attested';
|
|
191
|
+
}
|
|
192
|
+
function assertReceiptMatchesAdmissionRecord(record, receipt) {
|
|
193
|
+
if (receipt.sessionId !== record.sessionId) {
|
|
194
|
+
throw new Error(`admission: backend receipt session ${receipt.sessionId} does not match admission session ${record.sessionId}`);
|
|
195
|
+
}
|
|
196
|
+
const admissionReplayHash = record.runtimeContext?.integrity.replayHash || record.sessionRefs[0]?.replayHash || null;
|
|
197
|
+
if (admissionReplayHash && receipt.replayHash && admissionReplayHash !== receipt.replayHash) {
|
|
198
|
+
throw new Error('admission: backend receipt replay hash does not match the admission record');
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
function summarizeBackendReceipt(receipt, verification) {
|
|
202
|
+
const trustLevel = receiptTrustLevel(receipt, verification);
|
|
203
|
+
return {
|
|
204
|
+
present: true,
|
|
205
|
+
trustLevel,
|
|
206
|
+
receiptId: receipt.receiptId,
|
|
207
|
+
keyId: receipt.signingKeyId ?? null,
|
|
208
|
+
replayHash: receipt.replayHash ?? null,
|
|
209
|
+
signatureStatus: receipt.signatureStatus,
|
|
210
|
+
verificationStatus: verification.status,
|
|
211
|
+
signedAt: receipt.issuedAt,
|
|
212
|
+
verifier: receiptVerifier(receipt),
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
function withBackendReceiptSummary(record, receipt) {
|
|
216
|
+
assertReceiptMatchesAdmissionRecord(record, receipt);
|
|
217
|
+
const verification = (0, runtime_receipt_1.verifyRuntimeBackendEvidenceReceipt)(receipt);
|
|
218
|
+
if (!verification.sourceFree || !verification.checks.canonicalHash || !verification.checks.receiptHash) {
|
|
219
|
+
throw new Error(`admission: backend receipt failed source-free/hash validation: ${verification.reasons.join('; ') || verification.status}`);
|
|
220
|
+
}
|
|
221
|
+
if (!record.runtimeContext) {
|
|
222
|
+
throw new Error('admission: runtime context is required before attaching backend receipt metadata');
|
|
223
|
+
}
|
|
224
|
+
const summary = summarizeBackendReceipt(receipt, verification);
|
|
225
|
+
const trustLevel = summary.trustLevel;
|
|
226
|
+
const next = {
|
|
227
|
+
...record,
|
|
228
|
+
runtimeContext: {
|
|
229
|
+
...record.runtimeContext,
|
|
230
|
+
trustLevel,
|
|
231
|
+
integrity: {
|
|
232
|
+
...record.runtimeContext.integrity,
|
|
233
|
+
replayHash: summary.replayHash ?? record.runtimeContext.integrity.replayHash,
|
|
234
|
+
replayHashStatus: summary.replayHash ? 'present' : record.runtimeContext.integrity.replayHashStatus,
|
|
235
|
+
evidenceIntegrityStatus: trustLevel === 'backend_signed'
|
|
236
|
+
? 'backend_signed'
|
|
237
|
+
: record.runtimeContext.integrity.evidenceIntegrityStatus,
|
|
238
|
+
receipt: summary,
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
};
|
|
242
|
+
(0, contracts_1.assertSourceFreeAdmissionValue)(next);
|
|
243
|
+
return next;
|
|
244
|
+
}
|
|
245
|
+
function readBackendReceiptForSession(receiptPath, sessionId) {
|
|
246
|
+
const parsed = JSON.parse((0, fs_1.readFileSync)(receiptPath, 'utf8'));
|
|
247
|
+
const artifacts = (0, runtime_receipt_1.extractRuntimeReceiptArtifacts)(parsed);
|
|
248
|
+
const matching = artifacts.filter((artifact) => artifact.receipt.sessionId === sessionId);
|
|
249
|
+
const selected = matching[0] || artifacts[0];
|
|
250
|
+
if (!selected) {
|
|
251
|
+
throw new Error('admission: no runtime backend evidence receipt found in --receipt JSON');
|
|
252
|
+
}
|
|
253
|
+
return selected.receipt;
|
|
254
|
+
}
|
|
255
|
+
function buildRuntimeAdmissionContext(input) {
|
|
256
|
+
const { session, manifest, capturedAt } = input;
|
|
257
|
+
const events = Array.isArray(session.events) ? session.events : [];
|
|
258
|
+
const invocation = (0, governance_runtime_1.buildAgentInvocationSummary)(session);
|
|
259
|
+
const guard = (0, governance_runtime_1.buildAgentGuardPostureSummary)(session);
|
|
260
|
+
const blockEvents = events.filter((event) => event.type === 'check_block');
|
|
261
|
+
const approvalEvents = events.filter((event) => event.type === 'approval_decision');
|
|
262
|
+
const approvedEvents = approvalEvents.filter((event) => event.decision === 'approved');
|
|
263
|
+
const deniedEvents = approvalEvents.filter((event) => event.decision === 'denied' || event.decision === 'rejected' || event.decision === 'revoked');
|
|
264
|
+
const changedPaths = uniqueSorted(manifest.coverage.map((entry) => entry.path));
|
|
265
|
+
const blockedPaths = uniqueSorted(blockEvents.map((event) => approvalPathFrom(event, 'blockedPath') || event.filePath || ''));
|
|
266
|
+
const suggestedApproval = uniqueSorted(blockEvents.map((event) => approvalPathFrom(event, 'suggestedApprovalPath') || event.filePath || ''));
|
|
267
|
+
const approvedExact = uniqueSorted([
|
|
268
|
+
...(0, governance_runtime_1.activeApprovalPaths)(session.contract),
|
|
269
|
+
...approvedEvents.map((event) => event.filePath || approvalPathFrom(event, 'suggestedApprovalPath') || ''),
|
|
270
|
+
]);
|
|
271
|
+
const denied = uniqueSorted(deniedEvents.map((event) => event.filePath || approvalPathFrom(event, 'blockedPath') || approvalPathFrom(event, 'suggestedApprovalPath') || ''));
|
|
272
|
+
const approvalRequiredSurfaces = uniqueSorted(session.contract.approvalRequiredGlobs ?? []);
|
|
273
|
+
const owners = ownerCounts(events);
|
|
274
|
+
const replayHash = session.replayHash || null;
|
|
275
|
+
const trustLevel = 'self_attested';
|
|
276
|
+
return {
|
|
277
|
+
schemaVersion: 'neurcode.runtime-admission-context.v1',
|
|
278
|
+
trustLevel,
|
|
279
|
+
createdAt: capturedAt,
|
|
280
|
+
sessionId: session.sessionId,
|
|
281
|
+
sessionStatus: session.status,
|
|
282
|
+
agentHost: {
|
|
283
|
+
adapter: invocation.adapter,
|
|
284
|
+
enforcementLevel: invocation.enforcementLevel,
|
|
285
|
+
automatic: invocation.automatic,
|
|
286
|
+
},
|
|
287
|
+
intentSummary: sanitizeIntentSummary(session.contract.intentContract?.summary || session.contract.goal),
|
|
288
|
+
scopeMode: session.contract.scopeMode,
|
|
289
|
+
counts: {
|
|
290
|
+
changedPaths: changedPaths.length,
|
|
291
|
+
blockedPaths: blockedPaths.length,
|
|
292
|
+
suggestedApprovalPaths: suggestedApproval.length,
|
|
293
|
+
approvedExactPaths: approvedExact.length,
|
|
294
|
+
deniedPaths: denied.length,
|
|
295
|
+
approvalRequiredSurfaces: approvalRequiredSurfaces.length,
|
|
296
|
+
owners: owners.length,
|
|
297
|
+
preWriteChecks: invocation.preWriteCheckCount,
|
|
298
|
+
allowedChecks: invocation.allowedCheckCount,
|
|
299
|
+
warningChecks: invocation.warningCheckCount,
|
|
300
|
+
},
|
|
301
|
+
paths: {
|
|
302
|
+
changed: changedPaths,
|
|
303
|
+
blocked: blockedPaths,
|
|
304
|
+
suggestedApproval,
|
|
305
|
+
approvedExact,
|
|
306
|
+
denied,
|
|
307
|
+
approvalRequiredSurfaces,
|
|
308
|
+
},
|
|
309
|
+
owners,
|
|
310
|
+
guard: {
|
|
311
|
+
status: guard.status,
|
|
312
|
+
verifiedPrewrite: guard.summary.verifiedPrewrite,
|
|
313
|
+
deniedButChanged: guard.summary.deniedButChanged,
|
|
314
|
+
unverifiedWrites: guard.summary.unverifiedWrites,
|
|
315
|
+
observedAfterOnly: guard.summary.observedAfterOnly,
|
|
316
|
+
},
|
|
317
|
+
integrity: {
|
|
318
|
+
sourceFree: true,
|
|
319
|
+
replayHash,
|
|
320
|
+
replayHashStatus: replayHash ? 'present' : 'missing',
|
|
321
|
+
deltaHash: manifest.deltaHash,
|
|
322
|
+
coverageSetHash: manifest.coverageSetHash,
|
|
323
|
+
evidenceIntegrityStatus: 'local_self_attested',
|
|
324
|
+
receipt: buildReceiptSummary(trustLevel),
|
|
325
|
+
},
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Build + write the self-attested admission artifact for a finished session.
|
|
330
|
+
* Throws on capture/serialization failure; finish-path callers wrap in try/catch.
|
|
331
|
+
*/
|
|
332
|
+
function emitSelfAttestedAdmissionRecord(options) {
|
|
333
|
+
const { repoRoot, session } = options;
|
|
334
|
+
const capture = (0, git_coverage_1.captureWorktreeCoverage)(repoRoot, { baseRef: options.baseRef });
|
|
335
|
+
const repo = (0, runtime_connection_1.collectRuntimeRepoMetadata)(repoRoot);
|
|
336
|
+
const deletedPaths = new Set(capture.raw
|
|
337
|
+
.filter((entry) => entry.newMode === '000000' || entry.newObjectId === null)
|
|
338
|
+
.map((entry) => normalizeRepoPath(entry.path)));
|
|
339
|
+
const governance = buildGovernanceClassificationMap(session, deletedPaths);
|
|
340
|
+
const manifest = (0, governance_runtime_1.buildCoverageManifest)({
|
|
341
|
+
rawDelta: capture.raw,
|
|
342
|
+
governance,
|
|
343
|
+
objectFormat: capture.objectFormat,
|
|
344
|
+
});
|
|
345
|
+
const capturedAt = new Date().toISOString();
|
|
346
|
+
const record = {
|
|
347
|
+
schemaVersion: contracts_1.SELF_ATTESTED_ADMISSION_RECORD_SCHEMA_VERSION,
|
|
348
|
+
attestationKind: 'self-attested',
|
|
349
|
+
admissionContractVersion: contracts_1.ADMISSION_CONTRACT_VERSION,
|
|
350
|
+
disclaimer: contracts_1.SELF_ATTESTED_ADMISSION_DISCLAIMER,
|
|
351
|
+
sessionId: session.sessionId,
|
|
352
|
+
sessionRefs: [
|
|
353
|
+
{
|
|
354
|
+
sessionId: session.sessionId,
|
|
355
|
+
...(session.replayHash ? { replayHash: session.replayHash } : {}),
|
|
356
|
+
...(session.profileHash ? { profileHash: session.profileHash } : {}),
|
|
357
|
+
},
|
|
358
|
+
],
|
|
359
|
+
repo: {
|
|
360
|
+
name: repo.name,
|
|
361
|
+
rootHash: repo.rootHash,
|
|
362
|
+
...(repo.remoteHash ? { remoteHash: repo.remoteHash } : {}),
|
|
363
|
+
},
|
|
364
|
+
capture: {
|
|
365
|
+
mode: 'worktree',
|
|
366
|
+
capturedAt,
|
|
367
|
+
...(capture.baseRef ? { baseRef: capture.baseRef } : {}),
|
|
368
|
+
...(capture.headRef ? { headRef: capture.headRef } : {}),
|
|
369
|
+
},
|
|
370
|
+
manifest,
|
|
371
|
+
runtimeContext: buildRuntimeAdmissionContext({ session, manifest, capturedAt }),
|
|
372
|
+
};
|
|
373
|
+
// Hard privacy gate: refuse to write anything that looks like source/secret.
|
|
374
|
+
(0, contracts_1.assertSourceFreeAdmissionValue)(record);
|
|
375
|
+
(0, fs_1.mkdirSync)(admissionDir(repoRoot), { recursive: true });
|
|
376
|
+
const path = admissionRecordPath(repoRoot, session.sessionId);
|
|
377
|
+
(0, fs_1.writeFileSync)(path, JSON.stringify(record, null, 2) + '\n', 'utf8');
|
|
378
|
+
return { path, record };
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Explicitly export one selected local record into a source-controlled support
|
|
382
|
+
* directory. Normal session completion never writes here.
|
|
383
|
+
*/
|
|
384
|
+
function exportSelfAttestedAdmissionRecord(repoRoot, sessionId, options = {}) {
|
|
385
|
+
let record = (0, governance_runtime_1.readSelfAttestedAdmissionRecordFromText)((0, fs_1.readFileSync)(admissionRecordPath(repoRoot, sessionId), 'utf8'));
|
|
386
|
+
if (!record) {
|
|
387
|
+
throw new Error('admission: local record failed bounded structural validation');
|
|
388
|
+
}
|
|
389
|
+
if (options.receiptPath) {
|
|
390
|
+
record = withBackendReceiptSummary(record, readBackendReceiptForSession(options.receiptPath, sessionId));
|
|
391
|
+
}
|
|
392
|
+
(0, contracts_1.assertSourceFreeAdmissionValue)(record);
|
|
393
|
+
(0, fs_1.mkdirSync)(publicAdmissionDir(repoRoot), { recursive: true });
|
|
394
|
+
const path = publicAdmissionRecordPath(repoRoot, sessionId);
|
|
395
|
+
(0, fs_1.writeFileSync)(path, JSON.stringify(record, null, 2) + '\n', 'utf8');
|
|
396
|
+
return { path, record };
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Best-effort wrapper for finish paths: emits the artifact, swallows and returns
|
|
400
|
+
* any error so session finish is never disrupted.
|
|
401
|
+
*/
|
|
402
|
+
function tryEmitSelfAttestedAdmissionRecord(options) {
|
|
403
|
+
try {
|
|
404
|
+
return { ok: true, result: emitSelfAttestedAdmissionRecord(options) };
|
|
405
|
+
}
|
|
406
|
+
catch (error) {
|
|
407
|
+
return { ok: false, error: error instanceof Error ? error.message : String(error) };
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
//# sourceMappingURL=admission-artifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission-artifact.js","sourceRoot":"","sources":["../../src/utils/admission-artifact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { AgentRuntimeAdapterId } from '@neurcode-ai/governance-runtime';
|
|
2
|
+
export declare const AGENT_ADAPTER_SETUP_SCHEMA_VERSION: "neurcode.agent-adapter-setup.v1";
|
|
3
|
+
export declare const AGENT_ADAPTER_DOCTOR_SCHEMA_VERSION: "neurcode.agent-adapter-doctor.v1";
|
|
4
|
+
export type AgentSetupTarget = 'claude' | 'copilot' | 'codex' | 'cursor' | 'generic-mcp' | 'vscode';
|
|
5
|
+
export type AgentSetupFormat = 'json' | 'toml' | 'markdown' | 'text';
|
|
6
|
+
export type AgentSetupWriteStatus = 'not_requested' | 'written' | 'already_configured' | 'unsupported';
|
|
7
|
+
export interface AgentSetupSnippet {
|
|
8
|
+
target: AgentSetupTarget;
|
|
9
|
+
adapter: AgentRuntimeAdapterId;
|
|
10
|
+
destination: string;
|
|
11
|
+
configPath: string | null;
|
|
12
|
+
format: AgentSetupFormat;
|
|
13
|
+
body: string;
|
|
14
|
+
instruction: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AgentSetupInspection {
|
|
17
|
+
target: AgentSetupTarget;
|
|
18
|
+
adapter: AgentRuntimeAdapterId;
|
|
19
|
+
supported: boolean;
|
|
20
|
+
configured: boolean | null;
|
|
21
|
+
configPath: string | null;
|
|
22
|
+
message: string;
|
|
23
|
+
}
|
|
24
|
+
export interface AgentSetupWriteResult {
|
|
25
|
+
status: AgentSetupWriteStatus;
|
|
26
|
+
configPath: string | null;
|
|
27
|
+
message: string;
|
|
28
|
+
}
|
|
29
|
+
export interface AgentInstructionArtifact {
|
|
30
|
+
target: AgentSetupTarget;
|
|
31
|
+
adapter: AgentRuntimeAdapterId;
|
|
32
|
+
destination: string;
|
|
33
|
+
filePath: string | null;
|
|
34
|
+
format: 'markdown';
|
|
35
|
+
body: string;
|
|
36
|
+
instruction: string;
|
|
37
|
+
}
|
|
38
|
+
export interface AgentInstructionInspection {
|
|
39
|
+
target: AgentSetupTarget;
|
|
40
|
+
adapter: AgentRuntimeAdapterId;
|
|
41
|
+
supported: boolean;
|
|
42
|
+
installed: boolean | null;
|
|
43
|
+
filePath: string | null;
|
|
44
|
+
message: string;
|
|
45
|
+
}
|
|
46
|
+
export interface AgentInstructionWriteResult {
|
|
47
|
+
status: AgentSetupWriteStatus;
|
|
48
|
+
filePath: string | null;
|
|
49
|
+
message: string;
|
|
50
|
+
}
|
|
51
|
+
export declare function normalizeAgentSetupTarget(value?: string): AgentSetupTarget;
|
|
52
|
+
export declare function adapterForSetupTarget(target: AgentSetupTarget): AgentRuntimeAdapterId;
|
|
53
|
+
export declare function buildAgentSetupSnippet(input: {
|
|
54
|
+
target: AgentSetupTarget;
|
|
55
|
+
repoRoot: string;
|
|
56
|
+
global?: boolean;
|
|
57
|
+
}): AgentSetupSnippet;
|
|
58
|
+
export declare function buildAgentInstructionArtifact(input: {
|
|
59
|
+
target: AgentSetupTarget;
|
|
60
|
+
repoRoot: string;
|
|
61
|
+
}): AgentInstructionArtifact;
|
|
62
|
+
export declare function inspectAgentSetup(input: {
|
|
63
|
+
target: AgentSetupTarget;
|
|
64
|
+
repoRoot: string;
|
|
65
|
+
global?: boolean;
|
|
66
|
+
}): AgentSetupInspection;
|
|
67
|
+
export declare function inspectAgentInstructions(input: {
|
|
68
|
+
target: AgentSetupTarget;
|
|
69
|
+
repoRoot: string;
|
|
70
|
+
}): AgentInstructionInspection;
|
|
71
|
+
export declare function writeAgentSetup(input: {
|
|
72
|
+
target: AgentSetupTarget;
|
|
73
|
+
repoRoot: string;
|
|
74
|
+
global?: boolean;
|
|
75
|
+
}): AgentSetupWriteResult;
|
|
76
|
+
export declare function writeAgentInstructions(input: {
|
|
77
|
+
target: AgentSetupTarget;
|
|
78
|
+
repoRoot: string;
|
|
79
|
+
}): AgentInstructionWriteResult;
|
|
80
|
+
//# sourceMappingURL=agent-adapter-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-adapter-setup.d.ts","sourceRoot":"","sources":["../../src/utils/agent-adapter-setup.ts"],"names":[],"mappings":"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"}
|