@kindgi/api 0.1.4-rc.1 → 0.1.4-rc.3
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/agent-binding.d.ts +12 -2
- package/dist/agent-binding.d.ts.map +1 -1
- package/dist/agent-pins.d.ts.map +1 -1
- package/dist/agent-pins.js +4 -1
- package/dist/agent-pins.js.map +1 -1
- package/dist/app.d.ts +8 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +23 -4
- package/dist/app.js.map +1 -1
- package/dist/deploy-versions.d.ts +8 -5
- package/dist/deploy-versions.d.ts.map +1 -1
- package/dist/deploy-versions.js +3 -9
- package/dist/deploy-versions.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +25 -0
- package/dist/errors.js.map +1 -1
- package/dist/eval-case-binding.d.ts +10 -0
- package/dist/eval-case-binding.d.ts.map +1 -1
- package/dist/eval-run-binding.d.ts +14 -3
- package/dist/eval-run-binding.d.ts.map +1 -1
- package/dist/eval-run-binding.js.map +1 -1
- package/dist/flow-pins.d.ts +20 -7
- package/dist/flow-pins.d.ts.map +1 -1
- package/dist/flow-pins.js +36 -11
- package/dist/flow-pins.js.map +1 -1
- package/dist/gate-policy-binding.d.ts +164 -0
- package/dist/gate-policy-binding.d.ts.map +1 -0
- package/dist/gate-policy-binding.js +12 -0
- package/dist/gate-policy-binding.js.map +1 -0
- package/dist/gate.d.ts +56 -0
- package/dist/gate.d.ts.map +1 -0
- package/dist/gate.js +359 -0
- package/dist/gate.js.map +1 -0
- package/dist/handler-binding.d.ts +14 -2
- package/dist/handler-binding.d.ts.map +1 -1
- package/dist/hitl-binding.d.ts +5 -0
- package/dist/hitl-binding.d.ts.map +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/judged-dispatcher.d.ts +16 -1
- package/dist/judged-dispatcher.d.ts.map +1 -1
- package/dist/judged-dispatcher.js +45 -6
- package/dist/judged-dispatcher.js.map +1 -1
- package/dist/judgment-binding.d.ts +38 -0
- package/dist/judgment-binding.d.ts.map +1 -1
- package/dist/judgment-binding.js +19 -0
- package/dist/judgment-binding.js.map +1 -1
- package/dist/live-version-binding.d.ts +206 -0
- package/dist/live-version-binding.d.ts.map +1 -0
- package/dist/live-version-binding.js +4 -0
- package/dist/live-version-binding.js.map +1 -0
- package/dist/middleware/authorize.d.ts.map +1 -1
- package/dist/middleware/authorize.js +13 -2
- package/dist/middleware/authorize.js.map +1 -1
- package/dist/middleware/project-ref.d.ts +25 -0
- package/dist/middleware/project-ref.d.ts.map +1 -0
- package/dist/middleware/project-ref.js +72 -0
- package/dist/middleware/project-ref.js.map +1 -0
- package/dist/openapi/generate.d.ts.map +1 -1
- package/dist/openapi/generate.js +4 -0
- package/dist/openapi/generate.js.map +1 -1
- package/dist/openapi/operations.d.ts +6 -0
- package/dist/openapi/operations.d.ts.map +1 -1
- package/dist/openapi/operations.js +512 -22
- package/dist/openapi/operations.js.map +1 -1
- package/dist/openapi/schemas.d.ts +37 -0
- package/dist/openapi/schemas.d.ts.map +1 -1
- package/dist/openapi/schemas.js +709 -5
- package/dist/openapi/schemas.js.map +1 -1
- package/dist/publish-refused.d.ts +18 -0
- package/dist/publish-refused.d.ts.map +1 -0
- package/dist/publish-refused.js +22 -0
- package/dist/publish-refused.js.map +1 -0
- package/dist/retention-binding.d.ts +29 -0
- package/dist/retention-binding.d.ts.map +1 -1
- package/dist/routes/agent-releases.d.ts +40 -0
- package/dist/routes/agent-releases.d.ts.map +1 -0
- package/dist/routes/agent-releases.js +462 -0
- package/dist/routes/agent-releases.js.map +1 -0
- package/dist/routes/agents.d.ts +7 -1
- package/dist/routes/agents.d.ts.map +1 -1
- package/dist/routes/agents.js +31 -3
- package/dist/routes/agents.js.map +1 -1
- package/dist/routes/approvals.d.ts.map +1 -1
- package/dist/routes/approvals.js +40 -9
- package/dist/routes/approvals.js.map +1 -1
- package/dist/routes/audit.d.ts.map +1 -1
- package/dist/routes/audit.js +7 -0
- package/dist/routes/audit.js.map +1 -1
- package/dist/routes/auth.js +1 -1
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/conversations.d.ts +0 -7
- package/dist/routes/conversations.d.ts.map +1 -1
- package/dist/routes/conversations.js +19 -3
- package/dist/routes/conversations.js.map +1 -1
- package/dist/routes/deployments.d.ts +6 -0
- package/dist/routes/deployments.d.ts.map +1 -1
- package/dist/routes/deployments.js +33 -5
- package/dist/routes/deployments.js.map +1 -1
- package/dist/routes/env.d.ts.map +1 -1
- package/dist/routes/env.js +1 -0
- package/dist/routes/env.js.map +1 -1
- package/dist/routes/eval-comparison.d.ts +2 -1
- package/dist/routes/eval-comparison.d.ts.map +1 -1
- package/dist/routes/eval-comparison.js +22 -9
- package/dist/routes/eval-comparison.js.map +1 -1
- package/dist/routes/flows.d.ts +14 -7
- package/dist/routes/flows.d.ts.map +1 -1
- package/dist/routes/flows.js +10 -8
- package/dist/routes/flows.js.map +1 -1
- package/dist/routes/gate-policies.d.ts +19 -0
- package/dist/routes/gate-policies.d.ts.map +1 -0
- package/dist/routes/gate-policies.js +191 -0
- package/dist/routes/gate-policies.js.map +1 -0
- package/dist/routes/gate-policy-spec.d.ts +17 -0
- package/dist/routes/gate-policy-spec.d.ts.map +1 -0
- package/dist/routes/gate-policy-spec.js +192 -0
- package/dist/routes/gate-policy-spec.js.map +1 -0
- package/dist/routes/gate-policy-wire.d.ts +3 -0
- package/dist/routes/gate-policy-wire.d.ts.map +1 -0
- package/dist/routes/gate-policy-wire.js +18 -0
- package/dist/routes/gate-policy-wire.js.map +1 -0
- package/dist/routes/hierarchy-errors.d.ts +11 -0
- package/dist/routes/hierarchy-errors.d.ts.map +1 -1
- package/dist/routes/hierarchy-errors.js +13 -0
- package/dist/routes/hierarchy-errors.js.map +1 -1
- package/dist/routes/judged-suites.js +7 -0
- package/dist/routes/judged-suites.js.map +1 -1
- package/dist/routes/judgments.d.ts +4 -1
- package/dist/routes/judgments.d.ts.map +1 -1
- package/dist/routes/judgments.js +92 -19
- package/dist/routes/judgments.js.map +1 -1
- package/dist/routes/live-scope-wire.d.ts +32 -0
- package/dist/routes/live-scope-wire.d.ts.map +1 -0
- package/dist/routes/live-scope-wire.js +71 -0
- package/dist/routes/live-scope-wire.js.map +1 -0
- package/dist/routes/policies.d.ts +6 -3
- package/dist/routes/policies.d.ts.map +1 -1
- package/dist/routes/policies.js +55 -3
- package/dist/routes/policies.js.map +1 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +47 -3
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/retention.d.ts.map +1 -1
- package/dist/routes/retention.js +18 -2
- package/dist/routes/retention.js.map +1 -1
- package/dist/routes/reviewers.d.ts +8 -1
- package/dist/routes/reviewers.d.ts.map +1 -1
- package/dist/routes/reviewers.js +20 -3
- package/dist/routes/reviewers.js.map +1 -1
- package/dist/routes/runs.d.ts.map +1 -1
- package/dist/routes/runs.js +22 -13
- package/dist/routes/runs.js.map +1 -1
- package/dist/routes/secrets.d.ts.map +1 -1
- package/dist/routes/secrets.js +2 -0
- package/dist/routes/secrets.js.map +1 -1
- package/dist/routes/segments.d.ts +17 -0
- package/dist/routes/segments.d.ts.map +1 -0
- package/dist/routes/segments.js +68 -0
- package/dist/routes/segments.js.map +1 -0
- package/dist/routes/teams.d.ts.map +1 -1
- package/dist/routes/teams.js +42 -3
- package/dist/routes/teams.js.map +1 -1
- package/dist/routes/uuid-param.d.ts +11 -0
- package/dist/routes/uuid-param.d.ts.map +1 -0
- package/dist/routes/uuid-param.js +19 -0
- package/dist/routes/uuid-param.js.map +1 -0
- package/openapi.json +7008 -3624
- package/package.json +21 -21
- package/src/agent-binding.ts +12 -2
- package/src/agent-pins.ts +3 -1
- package/src/app.ts +37 -3
- package/src/deploy-versions.ts +11 -14
- package/src/errors.ts +25 -0
- package/src/eval-case-binding.ts +7 -0
- package/src/eval-run-binding.ts +24 -3
- package/src/flow-pins.ts +49 -9
- package/src/gate-policy-binding.ts +171 -0
- package/src/gate.ts +467 -0
- package/src/handler-binding.ts +14 -2
- package/src/hitl-binding.ts +5 -0
- package/src/index.ts +46 -1
- package/src/judged-dispatcher.ts +74 -6
- package/src/judgment-binding.ts +62 -0
- package/src/live-version-binding.ts +237 -0
- package/src/middleware/authorize.ts +18 -2
- package/src/middleware/project-ref.ts +88 -0
- package/src/openapi/generate.ts +5 -0
- package/src/openapi/operations.ts +619 -22
- package/src/openapi/schemas.ts +788 -5
- package/src/publish-refused.ts +31 -0
- package/src/retention-binding.ts +30 -0
- package/src/routes/agent-releases.ts +581 -0
- package/src/routes/agents.ts +43 -2
- package/src/routes/approvals.ts +58 -8
- package/src/routes/audit.ts +10 -0
- package/src/routes/auth.ts +1 -1
- package/src/routes/conversations.ts +31 -3
- package/src/routes/deployments.ts +50 -5
- package/src/routes/env.ts +1 -0
- package/src/routes/eval-comparison.ts +24 -10
- package/src/routes/flows.ts +27 -11
- package/src/routes/gate-policies.ts +226 -0
- package/src/routes/gate-policy-spec.ts +229 -0
- package/src/routes/gate-policy-wire.ts +20 -0
- package/src/routes/hierarchy-errors.ts +14 -0
- package/src/routes/judged-suites.ts +5 -0
- package/src/routes/judgments.ts +107 -23
- package/src/routes/live-scope-wire.ts +90 -0
- package/src/routes/policies.ts +61 -3
- package/src/routes/projects.ts +54 -2
- package/src/routes/retention.ts +21 -2
- package/src/routes/reviewers.ts +23 -4
- package/src/routes/runs.ts +33 -20
- package/src/routes/secrets.ts +2 -0
- package/src/routes/segments.ts +75 -0
- package/src/routes/teams.ts +53 -3
- package/src/routes/uuid-param.ts +28 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judged-dispatcher.d.ts","sourceRoot":"","sources":["../src/judged-dispatcher.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAY,cAAc,EAAW,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"judged-dispatcher.d.ts","sourceRoot":"","sources":["../src/judged-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,8 @@ export function createJudgedDispatcher(options) {
|
|
|
37
37
|
validate: validateComparison,
|
|
38
38
|
async dispatch(ctx) {
|
|
39
39
|
const comparison = ctx.comparison ?? DEFAULT_COMPARISON;
|
|
40
|
-
const
|
|
40
|
+
const stored = await allCases(options.cases, ctx);
|
|
41
|
+
const all = comparison.classWeights === 'restricted-only' ? stored.map(restrictedOnly) : stored;
|
|
41
42
|
if (ctx.dryRun) {
|
|
42
43
|
return { result: { dryRun: true, cases: all.length, comparison } };
|
|
43
44
|
}
|
|
@@ -50,7 +51,8 @@ export function createJudgedDispatcher(options) {
|
|
|
50
51
|
results.push(result);
|
|
51
52
|
ctx.onProgress(result);
|
|
52
53
|
}
|
|
53
|
-
const
|
|
54
|
+
const pinsDigest = await candidatePins(options.agents, ctx);
|
|
55
|
+
const summary = summarize(ctx, comparison, all, results, [...models.values()], pinsDigest);
|
|
54
56
|
return {
|
|
55
57
|
result: { summary, perCase: results },
|
|
56
58
|
...(ctx.abortSignal.aborted && { error: 'cancelled' }),
|
|
@@ -243,7 +245,7 @@ function metric(results, repetitions, side, weightOf, extra = {}) {
|
|
|
243
245
|
values.length > 1 && { spread: Math.max(...values) - Math.min(...values) }),
|
|
244
246
|
};
|
|
245
247
|
}
|
|
246
|
-
function summarize(ctx, comparison, cases, results, models) {
|
|
248
|
+
function summarize(ctx, comparison, cases, results, models, pinsDigest) {
|
|
247
249
|
const errors = results.filter((r) => r.error !== undefined).length;
|
|
248
250
|
const stopped = results.filter((r) => r.stopped !== undefined).length;
|
|
249
251
|
const versions = new Map();
|
|
@@ -272,7 +274,7 @@ function summarize(ctx, comparison, cases, results, models) {
|
|
|
272
274
|
: 'failed',
|
|
273
275
|
completedAt: new Date().toISOString(),
|
|
274
276
|
suite: { id: ctx.suite.id, version: ctx.suite.version },
|
|
275
|
-
candidate: candidateOf(ctx.target, ctx.comparison?.versions),
|
|
277
|
+
candidate: candidateOf(ctx.target, ctx.comparison?.versions, pinsDigest),
|
|
276
278
|
baseline: {
|
|
277
279
|
kind: 'recorded',
|
|
278
280
|
versions: [...versions.values()].map((v) => v.flow
|
|
@@ -286,6 +288,7 @@ function summarize(ctx, comparison, cases, results, models) {
|
|
|
286
288
|
errors,
|
|
287
289
|
stopped,
|
|
288
290
|
reads: comparison.reads,
|
|
291
|
+
classWeights: comparison.classWeights ?? 'as-recorded',
|
|
289
292
|
sampling: { models },
|
|
290
293
|
repetitions: comparison.repetitions,
|
|
291
294
|
metrics: {
|
|
@@ -295,9 +298,45 @@ function summarize(ctx, comparison, cases, results, models) {
|
|
|
295
298
|
},
|
|
296
299
|
};
|
|
297
300
|
}
|
|
298
|
-
|
|
301
|
+
/**
|
|
302
|
+
* A case as a `restricted-only` comparison counts it: each item at its
|
|
303
|
+
* restricted judgments' weights; an item with none is left out, so it
|
|
304
|
+
* counts as unjudged.
|
|
305
|
+
*/
|
|
306
|
+
function restrictedOnly(c) {
|
|
307
|
+
return {
|
|
308
|
+
...c,
|
|
309
|
+
items: c.items.flatMap((item) => item.restricted !== undefined && item.restricted.totalWeight > 0
|
|
310
|
+
? [
|
|
311
|
+
{
|
|
312
|
+
...item,
|
|
313
|
+
yesWeight: item.restricted.yesWeight,
|
|
314
|
+
totalWeight: item.restricted.totalWeight,
|
|
315
|
+
},
|
|
316
|
+
]
|
|
317
|
+
: []),
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
/** The agent candidate's `pinsDigest`, from the registry. */
|
|
321
|
+
async function candidatePins(agents, ctx) {
|
|
322
|
+
if (agents === undefined || !('agentId' in ctx.target) || ctx.target.version === undefined) {
|
|
323
|
+
return undefined;
|
|
324
|
+
}
|
|
325
|
+
const found = await agents.getVersion({
|
|
326
|
+
tenantId: ctx.tenantId,
|
|
327
|
+
agentId: ctx.target.agentId,
|
|
328
|
+
version: ctx.target.version,
|
|
329
|
+
});
|
|
330
|
+
return found?.pinsDigest;
|
|
331
|
+
}
|
|
332
|
+
function candidateOf(target, versions, pinsDigest) {
|
|
299
333
|
return 'agentId' in target
|
|
300
|
-
? {
|
|
334
|
+
? {
|
|
335
|
+
kind: 'agent',
|
|
336
|
+
agentId: target.agentId,
|
|
337
|
+
version: target.version ?? '',
|
|
338
|
+
...(pinsDigest !== undefined && { pinsDigest }),
|
|
339
|
+
}
|
|
301
340
|
: {
|
|
302
341
|
kind: 'flow',
|
|
303
342
|
flowId: target.flowId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judged-dispatcher.js","sourceRoot":"","sources":["../src/judged-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"judged-dispatcher.js","sourceRoot":"","sources":["../src/judged-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ReviewerRole } from '@kindgi/authz';
|
|
1
2
|
import type { Cursor, ListScope, ProjectId, TenantId } from '@kindgi/types';
|
|
2
3
|
/**
|
|
3
4
|
* Caller-plugged surface for judgments: a person says yes or no, with an
|
|
@@ -77,6 +78,30 @@ export type JudgeClassScope = {
|
|
|
77
78
|
};
|
|
78
79
|
export declare const JUDGE_CLASS_SCOPE_KINDS: readonly ["tenant", "project", "agent"];
|
|
79
80
|
export type JudgeClassScopeKind = (typeof JUDGE_CLASS_SCOPE_KINDS)[number];
|
|
81
|
+
/**
|
|
82
|
+
* Who may assert a judge class (T200): every part that's set must hold.
|
|
83
|
+
* Absent: anyone who may judge the run may assert the class, as before.
|
|
84
|
+
* A class with one is *restricted*; a judgment recorded while it is
|
|
85
|
+
* carries `restricted`, and a comparison weighted `restricted-only`
|
|
86
|
+
* counts only those.
|
|
87
|
+
*/
|
|
88
|
+
export interface JudgeClassAssertableBy {
|
|
89
|
+
/** The caller's reviewer role is at least this (its token's, or the roster's). */
|
|
90
|
+
readonly minReviewerRole?: ReviewerRole;
|
|
91
|
+
/** Users, service tokens, or both. */
|
|
92
|
+
readonly principalKinds?: readonly ('user' | 'service')[];
|
|
93
|
+
/** Only these principals: user ids, or service token ids. */
|
|
94
|
+
readonly principalIds?: readonly string[];
|
|
95
|
+
}
|
|
96
|
+
/** Who asserts a judgment, as `JudgeClassAssertableBy` checks it. */
|
|
97
|
+
export interface JudgeClassAsserter {
|
|
98
|
+
readonly kind: 'user' | 'service';
|
|
99
|
+
readonly id: string;
|
|
100
|
+
/** The caller's reviewer role; absent for a caller who isn't a reviewer. */
|
|
101
|
+
readonly reviewerRole?: ReviewerRole;
|
|
102
|
+
}
|
|
103
|
+
/** Why `asserter` may not assert a class with `assertableBy`, or `undefined` when they may. */
|
|
104
|
+
export declare function whyNotAssertable(assertableBy: JudgeClassAssertableBy, asserter: JudgeClassAsserter): string | undefined;
|
|
80
105
|
export interface JudgeClass {
|
|
81
106
|
readonly id: string;
|
|
82
107
|
readonly tenantId: TenantId;
|
|
@@ -86,6 +111,8 @@ export interface JudgeClass {
|
|
|
86
111
|
/** How much a judgment of this class counts (≥ 0); an unclassified judgment counts 1. */
|
|
87
112
|
readonly weight: number;
|
|
88
113
|
readonly description?: string;
|
|
114
|
+
/** Who may assert it; absent: anyone who may judge the run (T200). */
|
|
115
|
+
readonly assertableBy?: JudgeClassAssertableBy;
|
|
89
116
|
readonly createdAt: string;
|
|
90
117
|
readonly updatedAt: string;
|
|
91
118
|
/** Set when the class was retired. */
|
|
@@ -97,6 +124,7 @@ export interface JudgeClassCreateInput {
|
|
|
97
124
|
readonly name: string;
|
|
98
125
|
readonly weight: number;
|
|
99
126
|
readonly description?: string;
|
|
127
|
+
readonly assertableBy?: JudgeClassAssertableBy;
|
|
100
128
|
}
|
|
101
129
|
export type JudgeClassCreateOutcome = {
|
|
102
130
|
readonly kind: 'created';
|
|
@@ -125,6 +153,8 @@ export interface JudgeClassUpdateInput {
|
|
|
125
153
|
readonly judgeClassId: string;
|
|
126
154
|
readonly weight?: number;
|
|
127
155
|
readonly description?: string;
|
|
156
|
+
/** Who may assert it; `null` lifts the restriction. Absent: unchanged. */
|
|
157
|
+
readonly assertableBy?: JudgeClassAssertableBy | null;
|
|
128
158
|
}
|
|
129
159
|
/** Whether a class's scope covers a run in `projectId` whose subject is `subject`. */
|
|
130
160
|
export declare function judgeClassApplies(scope: JudgeClassScope, run: {
|
|
@@ -165,6 +195,12 @@ export interface Judgment {
|
|
|
165
195
|
readonly reason?: string;
|
|
166
196
|
/** The judge's class; absent for an unclassified judgment (weight 1). */
|
|
167
197
|
readonly judgeClassId?: string;
|
|
198
|
+
/**
|
|
199
|
+
* Set when the class was restricted (`assertableBy`) when the judgment
|
|
200
|
+
* was recorded, so the judge was checked against it. A restriction added
|
|
201
|
+
* or lifted later doesn't change it (T200).
|
|
202
|
+
*/
|
|
203
|
+
readonly restricted?: true;
|
|
168
204
|
readonly assertedBy: JudgmentAssertedBy;
|
|
169
205
|
/** The app's opaque id for its end user who judged, when an app judged on their behalf. */
|
|
170
206
|
readonly participantId?: string;
|
|
@@ -264,6 +300,8 @@ export interface JudgmentRecordInput {
|
|
|
264
300
|
readonly verdict: Verdict;
|
|
265
301
|
readonly reason?: string;
|
|
266
302
|
readonly judgeClassId?: string;
|
|
303
|
+
/** The class was restricted, and the judge met it (see `Judgment.restricted`). */
|
|
304
|
+
readonly restricted?: true;
|
|
267
305
|
readonly assertedBy: JudgmentAssertedBy;
|
|
268
306
|
readonly participantId?: string;
|
|
269
307
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judgment-binding.d.ts","sourceRoot":"","sources":["../src/judgment-binding.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,uBAAuB;IACtC,uFAAuF;IACvF,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5E,kFAAkF;IAClF,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACjE;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAChE,mFAAmF;IACnF,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACtE,6FAA6F;IAC7F,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAExF;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,sDAAsD;IACtD,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACtD,0EAA0E;IAC1E,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACjE,4EAA4E;IAC5E,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjF;;;;OAIG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACpE;AAID;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,eAAO,MAAM,uBAAuB,yCAA0C,CAAC;AAC/E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"judgment-binding.d.ts","sourceRoot":"","sources":["../src/judgment-binding.ts"],"names":[],"mappings":"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"}
|
package/dist/judgment-binding.js
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
import { REVIEWER_ROLE_RANK } from '@kindgi/authz';
|
|
3
4
|
export const JUDGE_CLASS_SCOPE_KINDS = ['tenant', 'project', 'agent'];
|
|
5
|
+
/** Why `asserter` may not assert a class with `assertableBy`, or `undefined` when they may. */
|
|
6
|
+
export function whyNotAssertable(assertableBy, asserter) {
|
|
7
|
+
if (assertableBy.principalKinds !== undefined &&
|
|
8
|
+
!assertableBy.principalKinds.includes(asserter.kind)) {
|
|
9
|
+
return `only ${assertableBy.principalKinds.map((k) => (k === 'user' ? 'users' : 'service tokens')).join(' and ')} may assert it`;
|
|
10
|
+
}
|
|
11
|
+
if (assertableBy.principalIds !== undefined && !assertableBy.principalIds.includes(asserter.id)) {
|
|
12
|
+
return "it's restricted to named people or tokens, and you aren't one of them";
|
|
13
|
+
}
|
|
14
|
+
if (assertableBy.minReviewerRole !== undefined) {
|
|
15
|
+
const need = assertableBy.minReviewerRole;
|
|
16
|
+
const role = asserter.reviewerRole;
|
|
17
|
+
if (role === undefined || REVIEWER_ROLE_RANK[role] < REVIEWER_ROLE_RANK[need]) {
|
|
18
|
+
return `it needs a ${need} reviewer or above${role === undefined ? ", and you aren't a reviewer" : `; you're a ${role} reviewer`}`;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
4
23
|
/** Whether a class's scope covers a run in `projectId` whose subject is `subject`. */
|
|
5
24
|
export function judgeClassApplies(scope, run) {
|
|
6
25
|
switch (scope.kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judgment-binding.js","sourceRoot":"","sources":["../src/judgment-binding.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"judgment-binding.js","sourceRoot":"","sources":["../src/judgment-binding.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,kBAAkB,EAAqB,MAAM,eAAe,CAAC;AA0EtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AA2B/E,+FAA+F;AAC/F,MAAM,UAAU,gBAAgB,CAC9B,YAAoC,EACpC,QAA4B;IAE5B,IACE,YAAY,CAAC,cAAc,KAAK,SAAS;QACzC,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpD,CAAC;QACD,OAAO,QAAQ,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACnI,CAAC;IACD,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAChG,OAAO,uEAAuE,CAAC;IACjF,CAAC;IACD,IAAI,YAAY,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9E,OAAO,cAAc,IAAI,qBAAqB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,cAAc,IAAI,WAAW,EAAE,CAAC;QACrI,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AA4DD,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAC/B,KAAsB,EACtB,GAAuE;IAEvE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,CACL,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;gBACjC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;gBAC5B,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CACjC,CAAC;IACN,CAAC;AACH,CAAC;AAED,kCAAkC;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,IAAI,CAAU,CAAC"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import type { Cursor, LiveScope, OrgId, ProjectId, Result, ScopeSegment, Semver, TenantId, Timestamp } from '@kindgi/types';
|
|
2
|
+
import type { GatePolicyBinding, GatePolicyRef } from './gate-policy-binding.js';
|
|
3
|
+
import type { GateApproval, GateCheck } from './gate.js';
|
|
4
|
+
/**
|
|
5
|
+
* Live versions of agents: which version serves a scope, and the
|
|
6
|
+
* promotions that put it there (evals step 4). A run that names no
|
|
7
|
+
* version takes the most specific live version that covers it (a
|
|
8
|
+
* segment path, then its project, its org, the tenant), else the latest
|
|
9
|
+
* registered one, as before anything is pinned.
|
|
10
|
+
*/
|
|
11
|
+
/** What a run's version is resolved for: its project (and org) and its segment path. */
|
|
12
|
+
export interface LiveResolveInput {
|
|
13
|
+
readonly tenantId: TenantId;
|
|
14
|
+
readonly agentId: string;
|
|
15
|
+
/** Absent → only the org's pin (with `orgId`) and the tenant-wide pin apply. */
|
|
16
|
+
readonly projectId?: ProjectId;
|
|
17
|
+
/**
|
|
18
|
+
* The project's org, when it has one (the resolver may look it up from
|
|
19
|
+
* `projectId` itself). Without `projectId`: an org scope's own
|
|
20
|
+
* coordinates, as the promotion gate resolves what serves an org.
|
|
21
|
+
*/
|
|
22
|
+
readonly orgId?: OrgId;
|
|
23
|
+
/** Coarse to fine (needs `projectId`); a segment pin covers every path that starts with its own. */
|
|
24
|
+
readonly segments?: readonly ScopeSegment[];
|
|
25
|
+
}
|
|
26
|
+
export interface LiveResolution {
|
|
27
|
+
readonly version: Semver;
|
|
28
|
+
/** The pin that matched. */
|
|
29
|
+
readonly scope: LiveScope;
|
|
30
|
+
}
|
|
31
|
+
export interface LivePin {
|
|
32
|
+
readonly agentId: string;
|
|
33
|
+
readonly scope: LiveScope;
|
|
34
|
+
readonly version: Semver;
|
|
35
|
+
/** The promotion that set it. */
|
|
36
|
+
readonly promotionId: string;
|
|
37
|
+
readonly setAt: Timestamp;
|
|
38
|
+
}
|
|
39
|
+
export interface LiveVersionBinding {
|
|
40
|
+
/** The most specific live version covering the input; `null` when none is pinned on the way up. */
|
|
41
|
+
resolve(input: LiveResolveInput): Promise<LiveResolution | null>;
|
|
42
|
+
/** Every pin of an agent. */
|
|
43
|
+
list(input: {
|
|
44
|
+
readonly tenantId: TenantId;
|
|
45
|
+
readonly agentId: string;
|
|
46
|
+
}): Promise<readonly LivePin[]>;
|
|
47
|
+
}
|
|
48
|
+
/** Who asked: the request's principal (a user, or a service token). */
|
|
49
|
+
export interface PromotionActor {
|
|
50
|
+
readonly kind: 'user' | 'service';
|
|
51
|
+
readonly id: string;
|
|
52
|
+
}
|
|
53
|
+
export type PromotionAction = 'promote' | 'rollback' | 'unpin';
|
|
54
|
+
/**
|
|
55
|
+
* Where a promotion request stands. Only `promote` rows have one; rollback
|
|
56
|
+
* and unpin are immediate. A request's status changes once, from
|
|
57
|
+
* `pending-approval` to its final state.
|
|
58
|
+
*/
|
|
59
|
+
export type PromotionStatus =
|
|
60
|
+
/** The version is live for the scope. */
|
|
61
|
+
'promoted'
|
|
62
|
+
/** The gate passed; a reviewer's approval is open. The live version is unchanged. */
|
|
63
|
+
| 'pending-approval'
|
|
64
|
+
/** The gate failed (`checks` say why). The live version is unchanged. */
|
|
65
|
+
| 'refused'
|
|
66
|
+
/** Approved, but the scope's live version or policy changed meanwhile: check again. */
|
|
67
|
+
| 'superseded'
|
|
68
|
+
/** The reviewer rejected it. */
|
|
69
|
+
| 'rejected'
|
|
70
|
+
/** The approval expired undecided. */
|
|
71
|
+
| 'expired';
|
|
72
|
+
/**
|
|
73
|
+
* One change of a scope's live version, kept for good (the audit trail):
|
|
74
|
+
* what was live before, what is after, who asked and why.
|
|
75
|
+
*/
|
|
76
|
+
export interface Promotion {
|
|
77
|
+
readonly id: string;
|
|
78
|
+
readonly agentId: string;
|
|
79
|
+
readonly scope: LiveScope;
|
|
80
|
+
readonly action: PromotionAction;
|
|
81
|
+
/** The scope's own pin before; `null` when it had none. */
|
|
82
|
+
readonly fromVersion: Semver | null;
|
|
83
|
+
/** The scope's own pin after; `null` after an unpin. */
|
|
84
|
+
readonly toVersion: Semver | null;
|
|
85
|
+
readonly requestedBy: PromotionActor;
|
|
86
|
+
readonly reason?: string;
|
|
87
|
+
/** The comparison the change was judged on, when there was one. */
|
|
88
|
+
readonly evalRunId?: string;
|
|
89
|
+
readonly createdAt: Timestamp;
|
|
90
|
+
/** A `promote` row's state; absent on a promotion made before gates (`promoted`). */
|
|
91
|
+
readonly status?: PromotionStatus;
|
|
92
|
+
/** The gate policy that applied; `null` when none did. Absent before gates. */
|
|
93
|
+
readonly policy?: GatePolicyRef | null;
|
|
94
|
+
/** The gate's checks, as they ran. */
|
|
95
|
+
readonly checks?: readonly GateCheck[];
|
|
96
|
+
/** The approval a `pending-approval` promotion waits on (kept once decided). */
|
|
97
|
+
readonly approvalId?: string;
|
|
98
|
+
/** When a `pending-approval` promotion reached its final state. */
|
|
99
|
+
readonly resolvedAt?: Timestamp;
|
|
100
|
+
}
|
|
101
|
+
export type PromotionErrorCode =
|
|
102
|
+
/** The version isn't registered for this agent, or was unregistered. */
|
|
103
|
+
'agent-version-not-found'
|
|
104
|
+
/** The scope names an org or project the tenant doesn't have. */
|
|
105
|
+
| 'scope-invalid'
|
|
106
|
+
/** Rollback: the scope has no earlier live version to go back to. */
|
|
107
|
+
| 'nothing-to-roll-back'
|
|
108
|
+
/** Unpin or rollback: the scope has no pin of its own. */
|
|
109
|
+
| 'not-pinned'
|
|
110
|
+
/** The scope's live version changed while the gate ran: check again. */
|
|
111
|
+
| 'promotion-superseded'
|
|
112
|
+
/**
|
|
113
|
+
* Unpin or rollback: it would leave a scope a gate policy applies to
|
|
114
|
+
* resolving to the latest version, where publishing goes live ungated.
|
|
115
|
+
*/
|
|
116
|
+
| 'gate-policy-needs-pin' | 'persistence-error';
|
|
117
|
+
export interface PromotionError {
|
|
118
|
+
readonly code: PromotionErrorCode;
|
|
119
|
+
readonly message: string;
|
|
120
|
+
}
|
|
121
|
+
export interface PromoteInput {
|
|
122
|
+
readonly tenantId: TenantId;
|
|
123
|
+
readonly agentId: string;
|
|
124
|
+
readonly version: Semver;
|
|
125
|
+
readonly scope: LiveScope;
|
|
126
|
+
readonly requestedBy: PromotionActor;
|
|
127
|
+
readonly reason?: string;
|
|
128
|
+
readonly evalRunId?: string;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* A promotion with the gate's verdict, recorded as one request: refused,
|
|
132
|
+
* waiting for approval, or promoted. The route runs the gate; the
|
|
133
|
+
* binding records the outcome atomically.
|
|
134
|
+
*/
|
|
135
|
+
export interface PromotionRequestInput extends PromoteInput {
|
|
136
|
+
readonly gate: {
|
|
137
|
+
readonly policy: GatePolicyRef | null;
|
|
138
|
+
readonly checks: readonly GateCheck[];
|
|
139
|
+
readonly passed: boolean;
|
|
140
|
+
/** A passing promotion waits for this approval instead of going live. */
|
|
141
|
+
readonly approval?: GateApproval;
|
|
142
|
+
/**
|
|
143
|
+
* What served the scope when the gate ran. A binding refuses with
|
|
144
|
+
* `promotion-superseded` when it no longer does, and an approved
|
|
145
|
+
* promotion whose scope moved on becomes `superseded`.
|
|
146
|
+
*/
|
|
147
|
+
readonly servingVersion: Semver;
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
export interface RollbackInput {
|
|
151
|
+
readonly tenantId: TenantId;
|
|
152
|
+
readonly agentId: string;
|
|
153
|
+
readonly scope: LiveScope;
|
|
154
|
+
/** Back to this earlier version; absent → the scope's previous live version. */
|
|
155
|
+
readonly toVersion?: Semver;
|
|
156
|
+
readonly requestedBy: PromotionActor;
|
|
157
|
+
readonly reason?: string;
|
|
158
|
+
}
|
|
159
|
+
export interface UnpinInput {
|
|
160
|
+
readonly tenantId: TenantId;
|
|
161
|
+
readonly agentId: string;
|
|
162
|
+
readonly scope: LiveScope;
|
|
163
|
+
readonly requestedBy: PromotionActor;
|
|
164
|
+
readonly reason?: string;
|
|
165
|
+
}
|
|
166
|
+
export interface ListPromotionsInput {
|
|
167
|
+
readonly tenantId: TenantId;
|
|
168
|
+
readonly agentId: string;
|
|
169
|
+
/** Only this scope's history. */
|
|
170
|
+
readonly scope?: LiveScope;
|
|
171
|
+
readonly limit: number;
|
|
172
|
+
readonly cursor?: Cursor;
|
|
173
|
+
}
|
|
174
|
+
export interface PromotionBinding {
|
|
175
|
+
/** Make `version` live for `scope`. The version must be registered and active. */
|
|
176
|
+
promote(input: PromoteInput): Promise<Result<Promotion, PromotionError>>;
|
|
177
|
+
/**
|
|
178
|
+
* Record a gated promotion request (evals step 4b): `refused` when the
|
|
179
|
+
* gate failed, `pending-approval` (opening a HITL approval, subject
|
|
180
|
+
* `agent-promotion`) when it passed and the policy wants an approval,
|
|
181
|
+
* else `promoted`. Optional: without it, the route refuses a promotion
|
|
182
|
+
* a gate policy applies to (`501`), rather than promoting ungated.
|
|
183
|
+
*/
|
|
184
|
+
request?(input: PromotionRequestInput): Promise<Result<Promotion, PromotionError>>;
|
|
185
|
+
/** Back to the scope's previous live version, or a named earlier one. */
|
|
186
|
+
rollback(input: RollbackInput): Promise<Result<Promotion, PromotionError>>;
|
|
187
|
+
/**
|
|
188
|
+
* Remove the scope's own pin: it falls back to the next scope up. With
|
|
189
|
+
* gate policies, `gate-policy-needs-pin` when that would leave a gated
|
|
190
|
+
* scope resolving to the latest version.
|
|
191
|
+
*/
|
|
192
|
+
unpin(input: UnpinInput): Promise<Result<Promotion, PromotionError>>;
|
|
193
|
+
list(input: ListPromotionsInput): Promise<{
|
|
194
|
+
readonly data: readonly Promotion[];
|
|
195
|
+
readonly nextCursor?: Cursor;
|
|
196
|
+
}>;
|
|
197
|
+
get(tenantId: TenantId, promotionId: string): Promise<Promotion | null>;
|
|
198
|
+
}
|
|
199
|
+
/** The bindings behind an agent's live versions and promotions (`createApp({ agentReleases })`). */
|
|
200
|
+
export interface AgentReleaseBindings {
|
|
201
|
+
readonly live: LiveVersionBinding;
|
|
202
|
+
readonly promotions: PromotionBinding;
|
|
203
|
+
/** Gate policies (evals step 4b). Absent: no gates, every promotion goes through as before. */
|
|
204
|
+
readonly gatePolicies?: GatePolicyBinding;
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=live-version-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-version-binding.d.ts","sourceRoot":"","sources":["../src/live-version-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-version-binding.js","sourceRoot":"","sources":["../src/live-version-binding.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorize.d.ts","sourceRoot":"","sources":["../../src/middleware/authorize.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAEb,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"authorize.d.ts","sourceRoot":"","sources":["../../src/middleware/authorize.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EACL,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAEb,KAAK,WAAW,EAEjB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,KAAK,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC/F,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjG;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,EACtB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,WAAW,KAC5B,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CA+EvE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
3
|
import { denyPayload, } from '@kindgi/authz';
|
|
4
|
+
import { toWireError } from '../errors.js';
|
|
4
5
|
export function createAuthorizer(binding) {
|
|
5
6
|
async function checkInternal(c, action, resource) {
|
|
6
7
|
const principal = c.get('principal');
|
|
@@ -34,9 +35,19 @@ export function createAuthorizer(binding) {
|
|
|
34
35
|
const resource = await getResource(c);
|
|
35
36
|
const decision = await checkInternal(c, action, resource);
|
|
36
37
|
if (!decision.allowed) {
|
|
37
|
-
|
|
38
|
+
// In the error envelope every route answers in, so clients type it
|
|
39
|
+
// (`permission-denied` is an auth error, forbidden); what was
|
|
40
|
+
// denied, and why, is in `details`.
|
|
41
|
+
const deny = denyPayload(action, resource.type, resource.id, decision.reason);
|
|
42
|
+
const requestId = c.get('requestId');
|
|
38
43
|
c.status(403);
|
|
39
|
-
return c.json(
|
|
44
|
+
return c.json(toWireError({
|
|
45
|
+
code: deny.code,
|
|
46
|
+
message: `Permission denied: ${deny.reason}`,
|
|
47
|
+
action: deny.action,
|
|
48
|
+
resource: deny.resource,
|
|
49
|
+
reason: deny.reason,
|
|
50
|
+
}, typeof requestId === 'string' ? requestId : ''));
|
|
40
51
|
}
|
|
41
52
|
return next();
|
|
42
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/middleware/authorize.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAoBjC,OAAO,EAML,WAAW,GACZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/middleware/authorize.ts"],"names":[],"mappings":"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"}
|