gh-inari 0.17.0 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/dist/admission/authorization.d.ts +40 -3
- package/dist/admission/authorization.js +153 -63
- package/dist/admission/authorization.js.map +1 -1
- package/dist/admission/server.d.ts +6 -1
- package/dist/admission/server.js +128 -14
- package/dist/admission/server.js.map +1 -1
- package/dist/authorized-execution.js +15 -4
- package/dist/authorized-execution.js.map +1 -1
- package/dist/cli/runtime/admission-client.d.ts +12 -1
- package/dist/cli/runtime/admission-client.js +69 -4
- package/dist/cli/runtime/admission-client.js.map +1 -1
- package/dist/cli/runtime/branch-observation.d.ts +8 -0
- package/dist/cli/runtime/branch-observation.js +77 -0
- package/dist/cli/runtime/branch-observation.js.map +1 -1
- package/dist/cli-core.js +302 -83
- package/dist/cli-core.js.map +1 -1
- package/dist/command-contract.js +12 -3
- package/dist/command-contract.js.map +1 -1
- package/dist/composition/setup-adapters.js +22 -3
- package/dist/composition/setup-adapters.js.map +1 -1
- package/dist/composition/setup-host.d.ts +29 -2
- package/dist/composition/setup-host.js +77 -17
- package/dist/composition/setup-host.js.map +1 -1
- package/dist/composition/setup-observation.d.ts +27 -10
- package/dist/composition/setup-observation.js +111 -38
- package/dist/composition/setup-observation.js.map +1 -1
- package/dist/executor/credential-store.d.ts +19 -0
- package/dist/executor/credential-store.js +56 -5
- package/dist/executor/credential-store.js.map +1 -1
- package/dist/executor/enrollment/issuer-reference.d.ts +8 -1
- package/dist/executor/enrollment/issuer-reference.js +46 -19
- package/dist/executor/enrollment/issuer-reference.js.map +1 -1
- package/dist/executor/enrollment/owner.d.ts +5 -2
- package/dist/executor/enrollment/owner.js +33 -7
- package/dist/executor/enrollment/owner.js.map +1 -1
- package/dist/executor/execution.d.ts +36 -0
- package/dist/executor/execution.js +190 -25
- package/dist/executor/execution.js.map +1 -1
- package/dist/executor/issuer-input.d.ts +11 -0
- package/dist/executor/issuer-input.js +25 -0
- package/dist/executor/issuer-input.js.map +1 -1
- package/dist/executor/server.js +3 -1
- package/dist/executor/server.js.map +1 -1
- package/dist/executor/setup.d.ts +6 -0
- package/dist/executor/setup.js +13 -3
- package/dist/executor/setup.js.map +1 -1
- package/dist/github/pr-publication-provider.js +9 -1
- package/dist/github/pr-publication-provider.js.map +1 -1
- package/dist/local-control/executor-client.d.ts +7 -2
- package/dist/local-control/executor-client.js +41 -2
- package/dist/local-control/executor-client.js.map +1 -1
- package/dist/local-control/executor-http.d.ts +20 -0
- package/dist/local-control/executor-http.js +158 -8
- package/dist/local-control/executor-http.js.map +1 -1
- package/dist/runtime-contracts/index.d.ts +1 -0
- package/dist/runtime-contracts/index.js +1 -0
- package/dist/runtime-contracts/index.js.map +1 -1
- package/dist/runtime-contracts/ports.d.ts +21 -0
- package/dist/runtime-contracts/runtime-failure.d.ts +95 -0
- package/dist/runtime-contracts/runtime-failure.js +167 -0
- package/dist/runtime-contracts/runtime-failure.js.map +1 -0
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "inari",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.1",
|
|
4
4
|
"description": "Governed GitHub Issue/PR/template workflows via the inari CLI. Prefer inari over raw gh for operations it owns; use inari skill for operational playbooks.",
|
|
5
5
|
"skills": "skills/inari"
|
|
6
6
|
}
|
|
@@ -2,8 +2,18 @@ import type { LocalSessionBinding } from "../local-control/session-binding.js";
|
|
|
2
2
|
import type { LocalExecutorEvidenceRequest } from "../local-control/executor-http.js";
|
|
3
3
|
import { type ExecutionIntent } from "../local-control/execution-intent.js";
|
|
4
4
|
import { type Delegator } from "../agent-authority/delegator.js";
|
|
5
|
+
import type { SessionCertificateRepository } from "../agent-authority/session-certificate.js";
|
|
5
6
|
import { type AuthorizedExecution } from "../authorized-execution.js";
|
|
6
|
-
import { type
|
|
7
|
+
import { type ChangeProjectionResult } from "../change.js";
|
|
8
|
+
import { type LocalBranchPolicyInput } from "../cli/runtime/branch-observation.js";
|
|
9
|
+
import type { LocalExecutorBranchPolicyRequest } from "../local-control/executor-http.js";
|
|
10
|
+
import { type RuntimeFailure, type RuntimeFailureReason, type RuntimeFailureStage } from "../runtime-contracts/runtime-failure.js";
|
|
11
|
+
/** Bounded Admission denial carrying the owner stage and catalog reason (#1180). */
|
|
12
|
+
export declare class AdmissionAuthorizationError extends Error {
|
|
13
|
+
readonly code: RuntimeFailureReason;
|
|
14
|
+
readonly runtimeFailure: RuntimeFailure;
|
|
15
|
+
constructor(stage: RuntimeFailureStage, code: RuntimeFailureReason, message: string);
|
|
16
|
+
}
|
|
7
17
|
/** Reads current Executor evidence through the neutral Executor client protocol. */
|
|
8
18
|
export type AdmissionEvidenceReader = (request: LocalExecutorEvidenceRequest) => Promise<unknown>;
|
|
9
19
|
export interface AdmissionAuthorizationOptions {
|
|
@@ -11,14 +21,41 @@ export interface AdmissionAuthorizationOptions {
|
|
|
11
21
|
readonly readEvidence: AdmissionEvidenceReader;
|
|
12
22
|
readonly environment?: NodeJS.ProcessEnv;
|
|
13
23
|
readonly now?: () => Date;
|
|
14
|
-
/**
|
|
15
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Reads the current repository branch-policy input from the Executor owner
|
|
26
|
+
* (#1179). Admission verifies every observed Session binding against this
|
|
27
|
+
* current evidence; it never accepts a caller-supplied observation.
|
|
28
|
+
*/
|
|
29
|
+
readonly readBranchPolicy?: (request: LocalExecutorBranchPolicyRequest) => Promise<unknown>;
|
|
16
30
|
}
|
|
31
|
+
/** Current, owner-acquired branch-policy input for one governed Implementation. */
|
|
32
|
+
export declare function currentBranchPolicyInput(repository: SessionCertificateRepository, implementation: number, options: AdmissionAuthorizationOptions, stage: RuntimeFailureStage): Promise<LocalBranchPolicyInput>;
|
|
17
33
|
export interface AdmittedSession {
|
|
18
34
|
readonly id: string;
|
|
19
35
|
readonly status: string;
|
|
20
36
|
readonly exp: number;
|
|
21
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Repository-bound Session readiness (#1182): the same current Executor
|
|
40
|
+
* repository binding and protected-ref trust evidence Session registration
|
|
41
|
+
* requires, for the Authority the caller expects Admission to have pinned. It
|
|
42
|
+
* admits nothing and stores nothing; every failure throws a bounded denial.
|
|
43
|
+
*/
|
|
44
|
+
export declare function observeRepositoryReadiness(repository: SessionCertificateRepository, expectedAuthority: {
|
|
45
|
+
readonly id: string;
|
|
46
|
+
readonly publicKeyFingerprint: string;
|
|
47
|
+
}, options: AdmissionAuthorizationOptions): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* A read on behalf of an active Session (#1181): the Session exists, is active
|
|
50
|
+
* and is bound to exactly the requested repository. It authorizes no effect.
|
|
51
|
+
*/
|
|
52
|
+
export declare function requireActiveSessionRepository(sessionId: string, repository: SessionCertificateRepository, options: AdmissionAuthorizationOptions): LocalSessionBinding;
|
|
53
|
+
/**
|
|
54
|
+
* The current Change projection of the Session's Implementation (#1181), from
|
|
55
|
+
* the same Executor evidence and Authority/repository checks every execution
|
|
56
|
+
* uses. Read-only; it authorizes nothing.
|
|
57
|
+
*/
|
|
58
|
+
export declare function currentSessionChange(binding: LocalSessionBinding, options: AdmissionAuthorizationOptions): Promise<ChangeProjectionResult>;
|
|
22
59
|
/** Admits a validated Session binding against current Executor trust evidence. */
|
|
23
60
|
export declare function admitSession(binding: LocalSessionBinding, options: AdmissionAuthorizationOptions): Promise<AdmittedSession>;
|
|
24
61
|
/** Closes a validated Session binding against current Executor trust evidence. */
|
|
@@ -23,22 +23,45 @@ import { tryAuthorizeImplementation } from "../implementation-authorization.js";
|
|
|
23
23
|
import { projectImplementationSessionAuthorizationBinding } from "../implementation-session-binding.js";
|
|
24
24
|
import { tryProjectImplementationScope } from "../implementation-scope-projection.js";
|
|
25
25
|
import { assertTrustedExecution, validateIssuerRepositoryIdentity, } from "../github/effect-authorizer.js";
|
|
26
|
-
import { observeLocalBranch } from "../cli/runtime/branch-observation.js";
|
|
27
|
-
|
|
26
|
+
import { observeLocalBranch, validateLocalBranchPolicyInput, } from "../cli/runtime/branch-observation.js";
|
|
27
|
+
import { runtimeFailure, } from "../runtime-contracts/runtime-failure.js";
|
|
28
|
+
/** Bounded Admission denial carrying the owner stage and catalog reason (#1180). */
|
|
29
|
+
export class AdmissionAuthorizationError extends Error {
|
|
30
|
+
code;
|
|
31
|
+
runtimeFailure;
|
|
32
|
+
constructor(stage, code, message) {
|
|
33
|
+
super(message);
|
|
34
|
+
this.name = "AdmissionAuthorizationError";
|
|
35
|
+
this.code = code;
|
|
36
|
+
this.runtimeFailure = runtimeFailure(stage, code);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function deny(stage, code, message) {
|
|
40
|
+
throw new AdmissionAuthorizationError(stage, code, message);
|
|
41
|
+
}
|
|
42
|
+
/** Current, owner-acquired branch-policy input for one governed Implementation. */
|
|
43
|
+
export async function currentBranchPolicyInput(repository, implementation, options, stage) {
|
|
44
|
+
if (options.readBranchPolicy === undefined)
|
|
45
|
+
deny(stage, "ADMISSION_BRANCH_OBSERVATION_MISSING", "Current repository branch observation is missing.");
|
|
46
|
+
const input = validateLocalBranchPolicyInput(await options.readBranchPolicy({ version: 1, repository: evidenceRepository(repository), implementation }));
|
|
47
|
+
if (input === undefined)
|
|
48
|
+
deny(stage, "ADMISSION_BRANCH_OBSERVATION_STALE", "Current repository branch observation is invalid or stale.");
|
|
49
|
+
return input;
|
|
50
|
+
}
|
|
51
|
+
async function requireCurrentBranchObservation(binding, options, stage) {
|
|
28
52
|
if (binding.branchObservation === undefined)
|
|
29
53
|
return;
|
|
30
|
-
|
|
31
|
-
throw new Error("Current repository branch observation is missing.");
|
|
54
|
+
const input = await currentBranchPolicyInput(binding.repository, binding.task.number, options, stage);
|
|
32
55
|
let current;
|
|
33
56
|
try {
|
|
34
|
-
current = observeLocalBranch(
|
|
57
|
+
current = observeLocalBranch({ ...input, observedBranch: binding.branchObservation.observedBranch });
|
|
35
58
|
}
|
|
36
59
|
catch {
|
|
37
|
-
|
|
60
|
+
deny(stage, "ADMISSION_BRANCH_OBSERVATION_STALE", "Current repository branch observation is invalid or stale.");
|
|
38
61
|
}
|
|
39
62
|
if (canonicalJsonString(current) !==
|
|
40
63
|
canonicalJsonString(binding.branchObservation))
|
|
41
|
-
|
|
64
|
+
deny(stage, "ADMISSION_BRANCH_OBSERVATION_CONTRADICTED", "Current repository branch observation contradicts Session binding.");
|
|
42
65
|
}
|
|
43
66
|
function isRecord(value) {
|
|
44
67
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -46,12 +69,29 @@ function isRecord(value) {
|
|
|
46
69
|
function exactKeys(value, allowed) {
|
|
47
70
|
return Object.keys(value).every((key) => allowed.includes(key));
|
|
48
71
|
}
|
|
49
|
-
function pinnedRuntimeAuthority(value) {
|
|
72
|
+
function pinnedRuntimeAuthority(value, stage) {
|
|
50
73
|
const result = validateDelegator(value);
|
|
51
74
|
if (!result.valid || result.value === undefined)
|
|
52
|
-
|
|
75
|
+
deny(stage, "ADMISSION_EVIDENCE_MALFORMED", "Public Runtime Authority trust is invalid.");
|
|
53
76
|
return result.value;
|
|
54
77
|
}
|
|
78
|
+
function requirePinnedAuthorityMatch(current, binding, pinnedAuthority, stage) {
|
|
79
|
+
if (current.id !== binding.authority.id ||
|
|
80
|
+
delegatorPublicKeyFingerprint(current.key) !== binding.authority.publicKeyFingerprint ||
|
|
81
|
+
canonicalJsonString(current) !==
|
|
82
|
+
canonicalJsonString(pinnedAuthority))
|
|
83
|
+
deny(stage, "ADMISSION_RUNTIME_AUTHORITY_MISMATCH", "Current Runtime Authority trust does not match Admission configuration.");
|
|
84
|
+
}
|
|
85
|
+
function requireAuthorityRef(authority, stage) {
|
|
86
|
+
if (!isRecord(authority) ||
|
|
87
|
+
!exactKeys(authority, ["ref", "sha"]) ||
|
|
88
|
+
typeof authority.ref !== "string" ||
|
|
89
|
+
!/^refs\/heads\/[A-Za-z0-9._/-]+$/u.test(authority.ref) ||
|
|
90
|
+
typeof authority.sha !== "string" ||
|
|
91
|
+
!/^[a-f0-9]{40}$/u.test(authority.sha))
|
|
92
|
+
deny(stage, "ADMISSION_EVIDENCE_MALFORMED", "Executor Authority evidence is malformed.");
|
|
93
|
+
return { ref: authority.ref, sha: authority.sha };
|
|
94
|
+
}
|
|
55
95
|
function sameRepository(left, right) {
|
|
56
96
|
if (!isRecord(left))
|
|
57
97
|
return false;
|
|
@@ -115,31 +155,21 @@ function readTreeDelta(intent) {
|
|
|
115
155
|
};
|
|
116
156
|
}
|
|
117
157
|
function validateEvidence(value, binding, pinnedAuthority) {
|
|
158
|
+
const stage = "implementation-admission";
|
|
118
159
|
if (!isRecord(value) ||
|
|
119
160
|
!exactKeys(value, ["repository", "authority", "runtimeAuthority", "change", "implementation", "reviewEvidence"]))
|
|
120
|
-
|
|
161
|
+
deny(stage, "ADMISSION_EVIDENCE_MALFORMED", "Executor evidence response is malformed.");
|
|
121
162
|
const repositoryResult = validateIssuerRepositoryIdentity(value.repository);
|
|
122
163
|
if (!repositoryResult.valid ||
|
|
123
164
|
repositoryResult.value === undefined ||
|
|
124
165
|
!sameRepository(repositoryResult.value, binding.repository))
|
|
125
|
-
|
|
126
|
-
const authority = value.authority;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
typeof authority.ref !== "string" ||
|
|
130
|
-
!/^refs\/heads\/[A-Za-z0-9._/-]+$/u.test(authority.ref) ||
|
|
131
|
-
typeof authority.sha !== "string" ||
|
|
132
|
-
!/^[a-f0-9]{40}$/u.test(authority.sha))
|
|
133
|
-
throw new Error("Executor Authority evidence is malformed.");
|
|
134
|
-
const runtime = pinnedRuntimeAuthority(value.runtimeAuthority);
|
|
135
|
-
if (runtime.id !== binding.authority.id ||
|
|
136
|
-
delegatorPublicKeyFingerprint(runtime.key) !== binding.authority.publicKeyFingerprint ||
|
|
137
|
-
canonicalJsonString(runtime) !==
|
|
138
|
-
canonicalJsonString(pinnedAuthority))
|
|
139
|
-
throw new Error("Current Runtime Authority trust does not match Admission configuration.");
|
|
166
|
+
deny(stage, "ADMISSION_REPOSITORY_MISMATCH", "Executor repository evidence does not match Session.");
|
|
167
|
+
const authority = requireAuthorityRef(value.authority, stage);
|
|
168
|
+
const runtime = pinnedRuntimeAuthority(value.runtimeAuthority, stage);
|
|
169
|
+
requirePinnedAuthorityMatch(runtime, binding, pinnedAuthority, stage);
|
|
140
170
|
const projection = validateChangeProjectionResult(value.change);
|
|
141
171
|
if (!projection.valid || projection.projection === undefined)
|
|
142
|
-
|
|
172
|
+
deny(stage, "ADMISSION_EVIDENCE_MALFORMED", "Current Change evidence is malformed.");
|
|
143
173
|
if (!isRecord(value.implementation) ||
|
|
144
174
|
!exactKeys(value.implementation, [
|
|
145
175
|
"implementation",
|
|
@@ -150,34 +180,24 @@ function validateEvidence(value, binding, pinnedAuthority) {
|
|
|
150
180
|
"change",
|
|
151
181
|
"pullRequest",
|
|
152
182
|
]))
|
|
153
|
-
|
|
183
|
+
deny(stage, "ADMISSION_EVIDENCE_MALFORMED", "Current Implementation evidence is malformed.");
|
|
154
184
|
return {
|
|
155
185
|
repository: repositoryResult.value,
|
|
156
|
-
authority
|
|
186
|
+
authority,
|
|
157
187
|
change: projection.projection,
|
|
158
188
|
implementation: value.implementation,
|
|
159
189
|
...(value.reviewEvidence === undefined ? {} : { reviewEvidence: value.reviewEvidence }),
|
|
160
190
|
};
|
|
161
191
|
}
|
|
162
|
-
function validateTrustEvidence(value,
|
|
192
|
+
function validateTrustEvidence(value, subject, pinnedAuthority) {
|
|
193
|
+
const stage = "trust-evidence";
|
|
163
194
|
if (!isRecord(value) || !exactKeys(value, ["repository", "authority", "runtimeAuthority"]))
|
|
164
|
-
|
|
165
|
-
if (!sameRepository(value.repository,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
typeof authority.ref !== "string" ||
|
|
171
|
-
!/^refs\/heads\/[A-Za-z0-9._/-]+$/u.test(authority.ref) ||
|
|
172
|
-
typeof authority.sha !== "string" ||
|
|
173
|
-
!/^[a-f0-9]{40}$/u.test(authority.sha))
|
|
174
|
-
throw new Error("Executor Authority evidence is malformed.");
|
|
175
|
-
const current = pinnedRuntimeAuthority(value.runtimeAuthority);
|
|
176
|
-
if (current.id !== binding.authority.id ||
|
|
177
|
-
delegatorPublicKeyFingerprint(current.key) !== binding.authority.publicKeyFingerprint ||
|
|
178
|
-
canonicalJsonString(current) !==
|
|
179
|
-
canonicalJsonString(pinnedAuthority))
|
|
180
|
-
throw new Error("Current Runtime Authority trust does not match Admission configuration.");
|
|
195
|
+
deny(stage, "ADMISSION_EVIDENCE_MALFORMED", "Executor Runtime Authority evidence is malformed.");
|
|
196
|
+
if (!sameRepository(value.repository, subject.repository))
|
|
197
|
+
deny(stage, "ADMISSION_REPOSITORY_MISMATCH", "Executor repository evidence does not match Session.");
|
|
198
|
+
requireAuthorityRef(value.authority, stage);
|
|
199
|
+
const current = pinnedRuntimeAuthority(value.runtimeAuthority, stage);
|
|
200
|
+
requirePinnedAuthorityMatch(current, subject, pinnedAuthority, stage);
|
|
181
201
|
return current;
|
|
182
202
|
}
|
|
183
203
|
function currentImplementationAuthorization(evidence, binding) {
|
|
@@ -191,7 +211,7 @@ function currentImplementationAuthorization(evidence, binding) {
|
|
|
191
211
|
};
|
|
192
212
|
const authorization = tryAuthorizeImplementation(authorizationInput);
|
|
193
213
|
if (!authorization.valid || authorization.status !== "authorized" || authorization.authorization === undefined)
|
|
194
|
-
|
|
214
|
+
deny("implementation-admission", "ADMISSION_IMPLEMENTATION_UNAUTHORIZED", "Current Implementation is not authorized.");
|
|
195
215
|
const currentInput = { ...authorizationInput, authorization: authorization.authorization };
|
|
196
216
|
const bindingProjection = projectImplementationSessionAuthorizationBinding({
|
|
197
217
|
...currentInput,
|
|
@@ -199,7 +219,7 @@ function currentImplementationAuthorization(evidence, binding) {
|
|
|
199
219
|
});
|
|
200
220
|
const scope = tryProjectImplementationScope(currentInput);
|
|
201
221
|
if (!scope.valid || scope.projection === undefined)
|
|
202
|
-
|
|
222
|
+
deny("implementation-admission", "ADMISSION_IMPLEMENTATION_SCOPE_UNAVAILABLE", "Current Implementation scope is unavailable.");
|
|
203
223
|
return { binding: bindingProjection, scope: scope.projection };
|
|
204
224
|
}
|
|
205
225
|
async function currentTrust(binding, options) {
|
|
@@ -210,9 +230,65 @@ async function currentTrust(binding, options) {
|
|
|
210
230
|
});
|
|
211
231
|
return validateTrustEvidence(evidence, binding, options.runtimeAuthority);
|
|
212
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Repository-bound Session readiness (#1182): the same current Executor
|
|
235
|
+
* repository binding and protected-ref trust evidence Session registration
|
|
236
|
+
* requires, for the Authority the caller expects Admission to have pinned. It
|
|
237
|
+
* admits nothing and stores nothing; every failure throws a bounded denial.
|
|
238
|
+
*/
|
|
239
|
+
export async function observeRepositoryReadiness(repository, expectedAuthority, options) {
|
|
240
|
+
const pinned = options.runtimeAuthority;
|
|
241
|
+
if (pinned.id !== expectedAuthority.id ||
|
|
242
|
+
delegatorPublicKeyFingerprint(pinned.key) !== expectedAuthority.publicKeyFingerprint)
|
|
243
|
+
deny("trust-evidence", "ADMISSION_RUNTIME_AUTHORITY_MISMATCH", "The Authority Admission pins differs from the configured setup Authority.");
|
|
244
|
+
const subject = {
|
|
245
|
+
repository,
|
|
246
|
+
authority: { id: pinned.id, publicKeyFingerprint: expectedAuthority.publicKeyFingerprint },
|
|
247
|
+
};
|
|
248
|
+
const evidence = await options.readEvidence({
|
|
249
|
+
version: 1,
|
|
250
|
+
repository: evidenceRepository(repository),
|
|
251
|
+
authorityId: pinned.id,
|
|
252
|
+
});
|
|
253
|
+
validateTrustEvidence(evidence, subject, pinned);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* A read on behalf of an active Session (#1181): the Session exists, is active
|
|
257
|
+
* and is bound to exactly the requested repository. It authorizes no effect.
|
|
258
|
+
*/
|
|
259
|
+
export function requireActiveSessionRepository(sessionId, repository, options) {
|
|
260
|
+
const stored = readAdmissionSession(sessionId, options.runtimeAuthority, {
|
|
261
|
+
environment: options.environment,
|
|
262
|
+
now: options.now?.(),
|
|
263
|
+
});
|
|
264
|
+
if (stored === undefined || stored.status !== "active")
|
|
265
|
+
deny("implementation-admission", "ADMISSION_SESSION_UNAVAILABLE", "Session is unavailable.");
|
|
266
|
+
const binding = stored.record.binding;
|
|
267
|
+
if (binding.repository.id !== repository.id ||
|
|
268
|
+
binding.repository.name.toLocaleLowerCase("en-US") !== repository.name.toLocaleLowerCase("en-US"))
|
|
269
|
+
deny("implementation-admission", "ADMISSION_TASK_MISMATCH", "The read repository does not match the Session.");
|
|
270
|
+
return binding;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* The current Change projection of the Session's Implementation (#1181), from
|
|
274
|
+
* the same Executor evidence and Authority/repository checks every execution
|
|
275
|
+
* uses. Read-only; it authorizes nothing.
|
|
276
|
+
*/
|
|
277
|
+
export async function currentSessionChange(binding, options) {
|
|
278
|
+
if (binding.task.kind !== "issue")
|
|
279
|
+
deny("implementation-admission", "ADMISSION_TASK_MISMATCH", "The Session has no Implementation task.");
|
|
280
|
+
const evidence = validateEvidence(await options.readEvidence({
|
|
281
|
+
version: 1,
|
|
282
|
+
repository: evidenceRepository(binding.repository),
|
|
283
|
+
authorityId: binding.authority.id,
|
|
284
|
+
issue: binding.task.number,
|
|
285
|
+
implementationIssue: binding.task.number,
|
|
286
|
+
}), binding, options.runtimeAuthority);
|
|
287
|
+
return evidence.change;
|
|
288
|
+
}
|
|
213
289
|
/** Admits a validated Session binding against current Executor trust evidence. */
|
|
214
290
|
export async function admitSession(binding, options) {
|
|
215
|
-
requireCurrentBranchObservation(binding, options);
|
|
291
|
+
await requireCurrentBranchObservation(binding, options, "session-registration");
|
|
216
292
|
const current = await currentTrust(binding, options);
|
|
217
293
|
const snapshot = createAdmissionSession(binding, current, {
|
|
218
294
|
environment: options.environment,
|
|
@@ -240,18 +316,18 @@ export async function authorizeExecutionIntent(intent, sessionId, options) {
|
|
|
240
316
|
now: options.now?.(),
|
|
241
317
|
});
|
|
242
318
|
if (stored === undefined || stored.status !== "active")
|
|
243
|
-
|
|
319
|
+
deny("implementation-admission", "ADMISSION_SESSION_UNAVAILABLE", "Session is unavailable.");
|
|
244
320
|
const binding = stored.record.binding;
|
|
245
|
-
requireCurrentBranchObservation(binding, options);
|
|
321
|
+
await requireCurrentBranchObservation(binding, options, "implementation-admission");
|
|
246
322
|
if (binding.branchObservation !== undefined &&
|
|
247
323
|
intent.operation === "branch.advance" &&
|
|
248
324
|
intent.request.branch !== binding.branchObservation.expectedBranch)
|
|
249
|
-
|
|
325
|
+
deny("implementation-admission", "ADMISSION_BRANCH_SCOPE_DENIED", "Branch advance does not match the Session policy branch.");
|
|
250
326
|
if (!intentRepositoryMatchesBinding(intent.repository, binding.repository))
|
|
251
|
-
|
|
327
|
+
deny("implementation-admission", "ADMISSION_TASK_MISMATCH", "Execution repository does not match Session.");
|
|
252
328
|
const issue = executionIntentIssue(intent);
|
|
253
329
|
if (issue === undefined || binding.task.kind !== "issue" || binding.task.number !== issue)
|
|
254
|
-
|
|
330
|
+
deny("implementation-admission", "ADMISSION_TASK_MISMATCH", "Execution task does not match Session.");
|
|
255
331
|
const evidenceValue = await options.readEvidence({
|
|
256
332
|
version: 1,
|
|
257
333
|
repository: evidenceRepository(binding.repository),
|
|
@@ -268,19 +344,33 @@ export async function authorizeExecutionIntent(intent, sessionId, options) {
|
|
|
268
344
|
implementationBinding: current.binding,
|
|
269
345
|
implementationScope: current.scope,
|
|
270
346
|
};
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
347
|
+
let admission;
|
|
348
|
+
try {
|
|
349
|
+
admission = admitAuthenticatedSessionCapability({
|
|
350
|
+
context,
|
|
351
|
+
operation,
|
|
352
|
+
subject: intentSubject(intent),
|
|
353
|
+
projection: evidence.change,
|
|
354
|
+
...(readTreeDelta(intent) === undefined ? {} : { treeDelta: readTreeDelta(intent) }),
|
|
355
|
+
...(evidence.reviewEvidence === undefined ? {} : { reviewEvidence: evidence.reviewEvidence }),
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
catch (error) {
|
|
359
|
+
// Keep the capability owner's own denial (name/reason) and attach the bounded wire diagnostic.
|
|
360
|
+
if (error instanceof Error) {
|
|
361
|
+
Object.defineProperty(error, "runtimeFailure", {
|
|
362
|
+
value: runtimeFailure("implementation-admission", "ADMISSION_CAPABILITY_DENIED"),
|
|
363
|
+
enumerable: false,
|
|
364
|
+
});
|
|
365
|
+
throw error;
|
|
366
|
+
}
|
|
367
|
+
deny("implementation-admission", "ADMISSION_CAPABILITY_DENIED", "The Session capability does not authorize this operation.");
|
|
368
|
+
}
|
|
279
369
|
let branchAuthorization;
|
|
280
370
|
if (intent.operation === "branch.advance") {
|
|
281
371
|
const authorized = authorizeBranchAdvance({ context, admission, request: intent.request });
|
|
282
372
|
if (!authorized.valid)
|
|
283
|
-
|
|
373
|
+
deny("implementation-admission", "ADMISSION_BRANCH_SCOPE_DENIED", "Branch advance is outside the current authorized scope.");
|
|
284
374
|
branchAuthorization = authorized.authorization;
|
|
285
375
|
}
|
|
286
376
|
const provenanceRequest = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/admission/authorization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/admission/authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import type { Delegator } from "../agent-authority/delegator.js";
|
|
|
11
11
|
import type { AuthorizedExecution } from "../authorized-execution.js";
|
|
12
12
|
import { type RepositoryIdentity } from "../github/effect-authorizer.js";
|
|
13
13
|
import type { LocalAdmissionConfig } from "../local-control/config.js";
|
|
14
|
-
import type
|
|
14
|
+
import { type LocalExecutorBranchPolicyRequest, type LocalExecutorEvidenceRequest, type LocalExecutorGovernedContractRequest } from "../local-control/executor-http.js";
|
|
15
15
|
import { type LocalRuntimeEndpoint } from "../local-control/runtime-discovery.js";
|
|
16
16
|
import { type LocalMtlsIdentity } from "../local-control/transport-security.js";
|
|
17
17
|
export declare const LOCAL_ADMISSION_STATUS_PATH: "/status";
|
|
@@ -20,6 +20,9 @@ export declare const LOCAL_ADMISSION_HEALTH_PATH: "/health";
|
|
|
20
20
|
export declare const LOCAL_ADMISSION_SESSIONS_PATH: "/v1/sessions";
|
|
21
21
|
export declare const LOCAL_ADMISSION_REPOSITORY_PATH: "/v1/repository";
|
|
22
22
|
export declare const LOCAL_ADMISSION_EXECUTIONS_PATH: "/v1/executions";
|
|
23
|
+
export declare const LOCAL_ADMISSION_READINESS_PATH: "/v1/readiness";
|
|
24
|
+
export declare const LOCAL_ADMISSION_BRANCH_POLICY_PATH: "/v1/branch-policy";
|
|
25
|
+
export declare const LOCAL_ADMISSION_PULL_REQUEST_CONTEXT_PATH: "/v1/pull-request-context";
|
|
23
26
|
export declare const LOCAL_ADMISSION_SESSION_ID_HEADER: "x-inari-session-id";
|
|
24
27
|
export declare const MAX_LOCAL_ADMISSION_BODY_BYTES = 1048576;
|
|
25
28
|
/**
|
|
@@ -31,6 +34,8 @@ export interface AdmissionExecutorClient {
|
|
|
31
34
|
verifyReady(): Promise<unknown>;
|
|
32
35
|
resolveRepository?(repositoryNameWithOwner: string): Promise<RepositoryIdentity>;
|
|
33
36
|
readEvidence(request: LocalExecutorEvidenceRequest): Promise<unknown>;
|
|
37
|
+
readBranchPolicy?(request: LocalExecutorBranchPolicyRequest): Promise<unknown>;
|
|
38
|
+
readGovernedContract?(request: LocalExecutorGovernedContractRequest): Promise<unknown>;
|
|
34
39
|
execute(execution: AuthorizedExecution): Promise<unknown>;
|
|
35
40
|
}
|
|
36
41
|
export declare function createLocalAdmissionHttpServer(config: LocalAdmissionConfig, version: string, runtimeAuthority: Delegator, executor: AdmissionExecutorClient, options?: {
|