@classytic/arc 2.28.0 → 2.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BaseController-B65zbz9m.mjs → BaseController-B5DwufbB.mjs} +12 -10
- package/dist/EventTransport-C6YA8xY9.mjs +103 -0
- package/dist/{HookSystem-C1vB_Gc9.mjs → HookSystem-WkIougo6.mjs} +15 -35
- package/dist/applyPermissionResult-Cf6zUCvb.mjs +257 -0
- package/dist/audit/index.d.mts +2 -2
- package/dist/audit/index.mjs +1 -1
- package/dist/auth/index.d.mts +2 -2
- package/dist/auth/index.mjs +1 -1
- package/dist/{buildHandler-Dtwd8fdz.mjs → buildHandler-BYS3Vkfz.mjs} +32 -6
- package/dist/cleanup/index.d.mts +2 -2
- package/dist/cleanup/index.mjs +1 -1
- package/dist/cli/commands/describe.d.mts +1 -1
- package/dist/cli/commands/docs.mjs +1 -1
- package/dist/core/index.d.mts +2 -2
- package/dist/core/index.mjs +5 -4
- package/dist/{core-BGa8TXJR.mjs → core-poalJLvp.mjs} +2 -48
- package/dist/{createActionRouter-C-N7z2EL.mjs → createActionRouter-BxuywVRB.mjs} +2 -2
- package/dist/{createAggregationRouter-wzwFa_dW.mjs → createAggregationRouter-BiY-lGdY.mjs} +7 -20
- package/dist/{createApp-Du5G54TM.mjs → createApp-CXrKFciH.mjs} +24 -3
- package/dist/defineAggregation-ufWjUwml.mjs +47 -0
- package/dist/{defineResource-2zvVVpxg.mjs → defineResource-CxWqDCAy.mjs} +35 -42
- package/dist/docs/index.d.mts +1 -1
- package/dist/docs/index.mjs +1 -1
- package/dist/{eventPlugin-DrQ_FesK.mjs → eventPlugin-D2NNR4py.mjs} +2 -103
- package/dist/events/index.mjs +4 -339
- package/dist/factory/index.d.mts +4 -4
- package/dist/factory/index.mjs +1 -1
- package/dist/{fastify-augmentation-OzYGIiU1.d.mts → fastify-augmentation-0WhPnUH7.d.mts} +3 -3
- package/dist/{applyPermissionResult-BnyVE9eD.mjs → fields-CQ_7KQWw.mjs} +1 -107
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/idempotency/index.mjs +1 -1
- package/dist/{index-CZY4EGga.d.mts → index-CCzVR-N3.d.mts} +1 -1
- package/dist/{index-BMnbzvtO.d.mts → index-Ch16aAah.d.mts} +201 -21
- package/dist/{index-CjVg-Epg.d.mts → index-Cx7bro4R.d.mts} +4 -4
- package/dist/{index-DPRH0Cme.d.mts → index-Q5gzEIWY.d.mts} +97 -66
- package/dist/index.d.mts +6 -6
- package/dist/index.mjs +8 -7
- package/dist/integrations/index.d.mts +1 -1
- package/dist/integrations/mcp/index.d.mts +6 -6
- package/dist/integrations/mcp/index.mjs +1 -1
- package/dist/integrations/mcp/testing.d.mts +1 -1
- package/dist/integrations/mcp/testing.mjs +1 -1
- package/dist/{mcpPlugin-Cs6nRGCt.mjs → mcpPlugin-nRzm5g2s.mjs} +36 -43
- package/dist/middleware/index.d.mts +1 -1
- package/dist/migrations/index.d.mts +0 -3
- package/dist/migrations/index.mjs +0 -3
- package/dist/{openapi-BLV4OMXb.mjs → openapi-B8Vkbxbn.mjs} +1 -1
- package/dist/permissions/index.d.mts +3 -3
- package/dist/permissions/index.mjs +4 -3
- package/dist/{permissions-BrtiBKGs.mjs → permissions-Bfu_8y1U.mjs} +318 -289
- package/dist/pipeline/index.d.mts +1 -1
- package/dist/{pipeline-BGRnV-To.mjs → pipeline-BJnpkY9i.mjs} +4 -18
- package/dist/plugins/index.d.mts +4 -4
- package/dist/plugins/index.mjs +2 -2
- package/dist/plugins/tracing-entry.mjs +1 -1
- package/dist/{preloadResources-CM4uUaFv.d.mts → preloadResources-DCfa2egz.d.mts} +3 -3
- package/dist/presets/filesUpload.d.mts +2 -2
- package/dist/presets/filesUpload.mjs +1 -1
- package/dist/presets/index.d.mts +14 -2
- package/dist/presets/index.mjs +1 -1
- package/dist/presets/multiTenant.d.mts +1 -1
- package/dist/presets/search.d.mts +2 -2
- package/dist/presets/search.mjs +1 -1
- package/dist/{presets-DwFDVKP0.mjs → presets-CJOEXLuk.mjs} +25 -9
- package/dist/projection-UBDgfMwu.mjs +17 -0
- package/dist/{realtime-DEuDu9io.mjs → realtime-B9nmIY5V.mjs} +2 -1
- package/dist/{registerRoute-DTp18Ah_.mjs → registerRoute-JkxIEBJq.mjs} +3 -1
- package/dist/registry/index.d.mts +2 -2
- package/dist/registry/index.mjs +1 -1
- package/dist/{registry-9km_w1aP.mjs → registry-BYXUUg21.mjs} +1 -1
- package/dist/repositoryFilter-Dz8k3S4P.mjs +44 -0
- package/dist/subscribe-helpers-DfzsivM6.mjs +339 -0
- package/dist/testing/index.d.mts +34 -6
- package/dist/testing/index.mjs +314 -211
- package/dist/types/index.d.mts +3 -3
- package/dist/{types-QFGc3Cjv.d.mts → types-Bmmn-fO0.d.mts} +1 -1
- package/dist/{types-Dmw-6Qeo.d.mts → types-ChvvVNP8.d.mts} +93 -88
- package/dist/{types-Cu6vVJmh.d.mts → types-D_n8L6VY.d.mts} +32 -1
- package/dist/usage/index.d.mts +1 -1
- package/dist/usage/index.mjs +0 -0
- package/dist/utils/index.d.mts +2 -5
- package/package.json +539 -539
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { p as isArcError, t as ArcError } from "./errors-DkO8Nk6-.mjs";
|
|
2
2
|
import { n as requireSingleHeaderValue } from "./headers-BvlQSDMB.mjs";
|
|
3
3
|
import { b as isElevated, c as getOrgId, g as getUserId, x as isMember } from "./types-CSyCxl2V.mjs";
|
|
4
|
-
import { t as BaseController } from "./BaseController-
|
|
5
|
-
import { i as
|
|
4
|
+
import { t as BaseController } from "./BaseController-B5DwufbB.mjs";
|
|
5
|
+
import { i as evaluatePermissionDecision } from "./applyPermissionResult-Cf6zUCvb.mjs";
|
|
6
|
+
import { i as resolveEffectiveRoles, t as applyFieldReadPermissions } from "./fields-CQ_7KQWw.mjs";
|
|
6
7
|
import { t as executePipeline } from "./pipe-BOLmGIxa.mjs";
|
|
7
|
-
import {
|
|
8
|
+
import { t as buildRequestScopeProjection } from "./projection-UBDgfMwu.mjs";
|
|
9
|
+
import { r as resolvePipelineSteps } from "./pipeline-BJnpkY9i.mjs";
|
|
8
10
|
import { n as validateAggregations } from "./validate-Bk44F2yT.mjs";
|
|
9
|
-
import { n as executeAggregation } from "./buildHandler-
|
|
11
|
+
import { n as executeAggregation } from "./buildHandler-BYS3Vkfz.mjs";
|
|
10
12
|
import { t as pluralize } from "./pluralize-BhrgwZb9.mjs";
|
|
11
13
|
import { t as resolveActionPermission } from "./actionPermissions-CAphcmUG.mjs";
|
|
12
14
|
import { t as createIdempotencyResult } from "./interface-n5hpKg1d.mjs";
|
|
@@ -181,9 +183,9 @@ function registerPrompt(server, prompt) {
|
|
|
181
183
|
* | delete | { id } | {} | undefined |
|
|
182
184
|
*
|
|
183
185
|
* **scopeOverride** — when a permission check (e.g. `requireApiKey()`) returns
|
|
184
|
-
* `
|
|
185
|
-
* context the same way CRUD/action routes do. This parameter follows the exact
|
|
186
|
-
* same non-downgrade rule as `
|
|
186
|
+
* an `AuthorizationDecision.scope`, the MCP tool handler must install it on the
|
|
187
|
+
* request context the same way CRUD/action routes do. This parameter follows the exact
|
|
188
|
+
* same non-downgrade rule as `applyAuthorizationDecision`: it overrides only when
|
|
187
189
|
* the session-derived scope is `public` (i.e. MCP called with `auth: false`).
|
|
188
190
|
* An authenticated session scope is never overwritten.
|
|
189
191
|
*/
|
|
@@ -353,39 +355,30 @@ function buildScope(auth) {
|
|
|
353
355
|
/**
|
|
354
356
|
* Evaluate a resource's permission check in MCP context.
|
|
355
357
|
*
|
|
356
|
-
* Returns the full normalized
|
|
357
|
-
* ALL side-effects (
|
|
358
|
-
* Returns `null` when no permission is defined (= allow, no side effects).
|
|
358
|
+
* Returns the full normalized {@link AuthorizationDecision} so the caller can
|
|
359
|
+
* honor ALL side-effects (data policy + scope) consistently with CRUD/action
|
|
360
|
+
* routes. Returns `null` when no permission is defined (= allow, no side effects).
|
|
359
361
|
*
|
|
360
|
-
*
|
|
361
|
-
*
|
|
362
|
-
*
|
|
362
|
+
* This is the MCP transport adapter: it builds a `PermissionContext` from the
|
|
363
|
+
* MCP session and delegates the actual decision to the ONE transport-neutral
|
|
364
|
+
* `evaluatePermissionDecision` — same normalization + exception mapping every
|
|
365
|
+
* surface uses, so MCP enforcement can't drift from HTTP/aggregation.
|
|
363
366
|
*/
|
|
364
367
|
async function evaluatePermission(check, session, resource, action, input) {
|
|
365
368
|
if (!check) return null;
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
user,
|
|
374
|
-
request: {
|
|
375
|
-
user,
|
|
376
|
-
headers: {},
|
|
377
|
-
params: {},
|
|
378
|
-
query: {},
|
|
379
|
-
body: input,
|
|
380
|
-
scope,
|
|
381
|
-
metadata: { _scope: scope }
|
|
382
|
-
},
|
|
369
|
+
return evaluatePermissionDecision(check, {
|
|
370
|
+
user: session ? {
|
|
371
|
+
id: session.userId,
|
|
372
|
+
_id: session.userId,
|
|
373
|
+
...session
|
|
374
|
+
} : null,
|
|
375
|
+
scope: buildScope(session),
|
|
383
376
|
resource,
|
|
384
377
|
action,
|
|
385
378
|
resourceId: typeof input.id === "string" ? input.id : void 0,
|
|
386
379
|
params: {},
|
|
387
380
|
data: input
|
|
388
|
-
})
|
|
381
|
+
});
|
|
389
382
|
}
|
|
390
383
|
/**
|
|
391
384
|
* Apply field-level READ permissions to an MCP tool payload — the same
|
|
@@ -399,7 +392,7 @@ async function evaluatePermission(check, session, resource, action, input) {
|
|
|
399
392
|
* `requireOrgRole()` and `BodySanitizer` bypass logic.
|
|
400
393
|
* - Effective roles = session roles ∪ org roles (member scope only),
|
|
401
394
|
* via the shared `resolveEffectiveRoles`.
|
|
402
|
-
* - `scopeOverride` (a `
|
|
395
|
+
* - `scopeOverride` (a decision's `scope`) follows the same
|
|
403
396
|
* non-downgrade rule as `buildRequestContext`: honored only when the
|
|
404
397
|
* session-derived scope is `public`.
|
|
405
398
|
*
|
|
@@ -639,14 +632,14 @@ async function invokeController(controller, op, input, options) {
|
|
|
639
632
|
status: 501
|
|
640
633
|
});
|
|
641
634
|
const permResult = await evaluatePermission(permissions, session, resourceName, actionName, input);
|
|
642
|
-
if (permResult &&
|
|
635
|
+
if (permResult && permResult.effect !== "allow") return permissionDeniedResult({
|
|
643
636
|
resource: resourceName,
|
|
644
637
|
operation: actionName,
|
|
645
638
|
reason: permResult.reason,
|
|
646
639
|
session
|
|
647
640
|
});
|
|
648
641
|
const dispatch = async () => {
|
|
649
|
-
const reqCtx = buildRequestContext(input, session, op, permResult?.
|
|
642
|
+
const reqCtx = buildRequestContext(input, session, op, permResult?.policy, permResult?.scope, buildContextExtras(options));
|
|
650
643
|
const response = await method(reqCtx);
|
|
651
644
|
const data = applyMcpReadMasking(response.data, {
|
|
652
645
|
fields,
|
|
@@ -1217,7 +1210,7 @@ function createActionToolHandler(actionName, handler, permissions, resourceName,
|
|
|
1217
1210
|
});
|
|
1218
1211
|
}
|
|
1219
1212
|
const permResult = await evaluatePermission(permissions, session, resourceName, actionName, input);
|
|
1220
|
-
if (permResult &&
|
|
1213
|
+
if (permResult && permResult.effect !== "allow") return permissionDeniedResult({
|
|
1221
1214
|
resource: resourceName,
|
|
1222
1215
|
operation: `action.${actionName}`,
|
|
1223
1216
|
reason: permResult.reason,
|
|
@@ -1226,7 +1219,7 @@ function createActionToolHandler(actionName, handler, permissions, resourceName,
|
|
|
1226
1219
|
const reqCtx = buildRequestContext({
|
|
1227
1220
|
...input,
|
|
1228
1221
|
action: actionName
|
|
1229
|
-
}, session, "action", permResult?.
|
|
1222
|
+
}, session, "action", permResult?.policy, permResult?.scope, contextExtras);
|
|
1230
1223
|
const id = idLess ? "" : typeof input.id === "string" ? input.id : "";
|
|
1231
1224
|
const { id: _discardId, ...data } = input;
|
|
1232
1225
|
try {
|
|
@@ -1319,7 +1312,7 @@ function createAggregationToolHandler(args) {
|
|
|
1319
1312
|
const { normalized, permissions, resourceName, repo, buildOptionsFromSession, fields } = args;
|
|
1320
1313
|
return async (input, ctx) => {
|
|
1321
1314
|
const permResult = await evaluatePermission(permissions, ctx.session, resourceName, `aggregation:${normalized.name}`, input);
|
|
1322
|
-
if (permResult &&
|
|
1315
|
+
if (permResult && permResult.effect !== "allow") return permissionDeniedResult({
|
|
1323
1316
|
resource: resourceName,
|
|
1324
1317
|
operation: `aggregation:${normalized.name}`,
|
|
1325
1318
|
reason: permResult.reason,
|
|
@@ -1327,13 +1320,13 @@ function createAggregationToolHandler(args) {
|
|
|
1327
1320
|
});
|
|
1328
1321
|
const filterInput = input.filter ?? {};
|
|
1329
1322
|
const tenantOptions = buildOptionsFromSession(ctx.session);
|
|
1330
|
-
if (permResult?.filters) Object.assign(tenantOptions, { _policyFilters: permResult.filters });
|
|
1331
1323
|
const result = await executeAggregation(normalized, {
|
|
1332
1324
|
repo,
|
|
1333
1325
|
buildOptions: () => tenantOptions
|
|
1334
1326
|
}, {
|
|
1335
1327
|
query: filterInput,
|
|
1336
|
-
tenantOptions
|
|
1328
|
+
tenantOptions,
|
|
1329
|
+
policyFilter: permResult?.policy
|
|
1337
1330
|
});
|
|
1338
1331
|
if (result.status === 200) {
|
|
1339
1332
|
const body = result.body;
|
|
@@ -1676,8 +1669,8 @@ function operationKindForRoute(method, hasId) {
|
|
|
1676
1669
|
*
|
|
1677
1670
|
* Enforces the same contract as the REST route:
|
|
1678
1671
|
* 1. **Permission evaluation** via the shared `evaluatePermission` — the
|
|
1679
|
-
* exact path CRUD and action MCP tools use.
|
|
1680
|
-
* `
|
|
1672
|
+
* exact path CRUD and action MCP tools use. Policy and scope from the
|
|
1673
|
+
* `AuthorizationDecision` thread through `buildRequestContext`.
|
|
1681
1674
|
* 2. **Pipeline integration** — function handlers run inside
|
|
1682
1675
|
* `executePipeline` with the same steps the HTTP path resolves.
|
|
1683
1676
|
* 3. **Controller dispatch** for string handlers.
|
|
@@ -1710,14 +1703,14 @@ function createCustomRouteHandler(route, controller, hasId, options) {
|
|
|
1710
1703
|
return async (input, _ctx) => {
|
|
1711
1704
|
const session = _ctx.session;
|
|
1712
1705
|
const permResult = await evaluatePermission(permissions, session, resourceName, operationName, input);
|
|
1713
|
-
if (permResult &&
|
|
1706
|
+
if (permResult && permResult.effect !== "allow") return permissionDeniedResult({
|
|
1714
1707
|
resource: resourceName,
|
|
1715
1708
|
operation: operationName,
|
|
1716
1709
|
reason: permResult.reason,
|
|
1717
1710
|
session
|
|
1718
1711
|
});
|
|
1719
1712
|
try {
|
|
1720
|
-
const reqCtx = buildRequestContext(input, session, operationKindForRoute(route.method, hasId), permResult?.
|
|
1713
|
+
const reqCtx = buildRequestContext(input, session, operationKindForRoute(route.method, hasId), permResult?.policy, permResult?.scope, contextExtras);
|
|
1721
1714
|
const emit = (envelope) => {
|
|
1722
1715
|
const data = applyMcpReadMasking(envelope.data, {
|
|
1723
1716
|
fields,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { I as MiddlewareHandler, L as RequestWithExtras, Q as MiddlewareConfig } from "../index-
|
|
1
|
+
import { I as MiddlewareHandler, L as RequestWithExtras, Q as MiddlewareConfig } from "../index-Q5gzEIWY.mjs";
|
|
2
2
|
import { RouteHandlerMethod } from "fastify";
|
|
3
3
|
//#region src/middleware/middleware.d.ts
|
|
4
4
|
interface NamedMiddleware {
|
|
@@ -229,9 +229,6 @@ declare class MigrationRunner {
|
|
|
229
229
|
* Get all applied migrations
|
|
230
230
|
*/
|
|
231
231
|
getAppliedMigrations(): Promise<MigrationRecord[]>;
|
|
232
|
-
/**
|
|
233
|
-
* Get pending migrations
|
|
234
|
-
*/
|
|
235
232
|
getPendingMigrations(migrations: Migration[]): Promise<Migration[]>;
|
|
236
233
|
/**
|
|
237
234
|
* Check if migrations are up to date
|
|
@@ -277,9 +277,6 @@ var MigrationRunner = class {
|
|
|
277
277
|
async getAppliedMigrations() {
|
|
278
278
|
return this.store.getApplied();
|
|
279
279
|
}
|
|
280
|
-
/**
|
|
281
|
-
* Get pending migrations
|
|
282
|
-
*/
|
|
283
280
|
async getPendingMigrations(migrations) {
|
|
284
281
|
const applied = await this.store.getApplied();
|
|
285
282
|
const appliedVersions = new Set(applied.map((m) => `${m.resource}:${m.version}`));
|
|
@@ -2,7 +2,7 @@ import { n as getUserRoles } from "./userHelpers-Cg_y3fBz.mjs";
|
|
|
2
2
|
import { n as convertRouteSchema } from "./schemaConverter-DJvodiHj.mjs";
|
|
3
3
|
import { t as pluralize } from "./pluralize-BhrgwZb9.mjs";
|
|
4
4
|
import { t as resolveActionPermission } from "./actionPermissions-CAphcmUG.mjs";
|
|
5
|
-
import { t as buildActionBodySchema } from "./createActionRouter-
|
|
5
|
+
import { t as buildActionBodySchema } from "./createActionRouter-BxuywVRB.mjs";
|
|
6
6
|
import fp from "fastify-plugin";
|
|
7
7
|
//#region src/docs/openapi/canonical-schemas.ts
|
|
8
8
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as UserBase, c as normalizeRoles, i as PermissionContext, n as DataPolicy, r as PermissionCheck, s as getUserRoles, t as AuthorizationDecision } from "../types-ChvvVNP8.mjs";
|
|
2
2
|
import { a as applyFieldWritePermissions, i as applyFieldReadPermissions, n as FieldPermissionMap, o as fields, r as FieldPermissionType, s as resolveEffectiveRoles, t as FieldPermission } from "../fields-D3lhgzhD.mjs";
|
|
3
|
-
import { A as
|
|
4
|
-
export { type ConnectEventsOptions, type DynamicPermissionMatrix, type DynamicPermissionMatrixConfig, type FieldPermission, type FieldPermissionMap, type FieldPermissionType, GRANT_MODES, type GrantMode, type GrantResolution, type PermissionCheck, type PermissionContext, type PermissionEventBus, type
|
|
3
|
+
import { $ as evaluatePermissionDecision, A as explainAccess, B as anyOf, C as requireGrant, D as collectPublicSurface, E as PermissionRequirement, F as createDynamicPermissionMatrix, G as requireOwnership, H as denyAll, I as createOrgPermissions, J as when, K as requireRoles, L as allOf, M as DynamicPermissionMatrix, N as DynamicPermissionMatrixConfig, O as describePermission, P as PermissionEventBus, Q as applyPermissionResult, R as allow, S as modeSatisfies, T as AccessExplanation, U as not, V as deny, W as requireAuth, X as PermissionCheckReturn, Y as scopeOf, Z as applyAuthorizationDecision, _ as createRoleHierarchy, a as permissionMatrix, at as requireMandate, b as GrantResolution, c as publicReadAdminWrite, d as requireOrgMembership, et as normalizeToDecision, f as requireOrgRole, g as RoleHierarchy, h as requireTeamMembership, i as ownerWithAdminBypass, it as requireDPoP, j as ConnectEventsOptions, k as describePermissionMap, l as readOnly, m as requireServiceScope, n as authenticated, nt as RequireMandateOptions, o as presets_d_exports, p as requireScopeContext, q as roles, r as fullPublic, rt as requireAgentScope, s as publicRead, t as adminOnly, tt as RequireAgentScopeOptions, u as requireOrgInScope, v as GRANT_MODES, w as conjoinPolicyFilters, x as RequireGrantOptions, y as GrantMode, z as allowPublic } from "../index-Ch16aAah.mjs";
|
|
4
|
+
export { type AccessExplanation, type AuthorizationDecision, type ConnectEventsOptions, type DataPolicy, type DynamicPermissionMatrix, type DynamicPermissionMatrixConfig, type FieldPermission, type FieldPermissionMap, type FieldPermissionType, GRANT_MODES, type GrantMode, type GrantResolution, type PermissionCheck, type PermissionCheckReturn, type PermissionContext, type PermissionEventBus, type PermissionRequirement, type RequireAgentScopeOptions, type RequireGrantOptions, type RequireMandateOptions, type RoleHierarchy, type UserBase, adminOnly, allOf, allow, allowPublic, anyOf, applyAuthorizationDecision, applyFieldReadPermissions, applyFieldWritePermissions, applyPermissionResult, authenticated, collectPublicSurface, conjoinPolicyFilters, createDynamicPermissionMatrix, createOrgPermissions, createRoleHierarchy, deny, denyAll, describePermission, describePermissionMap, evaluatePermissionDecision, explainAccess, fields, fullPublic, getUserRoles, modeSatisfies, normalizeRoles, normalizeToDecision, not, ownerWithAdminBypass, permissionMatrix, presets_d_exports as permissions, publicRead, publicReadAdminWrite, readOnly, requireAgentScope, requireAuth, requireDPoP, requireGrant, requireMandate, requireOrgInScope, requireOrgMembership, requireOrgRole, requireOwnership, requireRoles, requireScopeContext, requireServiceScope, requireTeamMembership, resolveEffectiveRoles, roles, scopeOf, when };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { n as getUserRoles, r as normalizeRoles } from "../userHelpers-Cg_y3fBz.mjs";
|
|
2
|
-
import { a as
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { a as normalizeToDecision, i as evaluatePermissionDecision, n as applyPermissionResult, o as conjoinPolicyFilters, t as applyAuthorizationDecision } from "../applyPermissionResult-Cf6zUCvb.mjs";
|
|
3
|
+
import { i as resolveEffectiveRoles, n as applyFieldWritePermissions, r as fields, t as applyFieldReadPermissions } from "../fields-CQ_7KQWw.mjs";
|
|
4
|
+
import { A as allow, B as when, C as requireScopeContext, D as requireDPoP, E as requireAgentScope, F as not, I as requireAuth, L as requireOwnership, M as anyOf, N as deny, O as requireMandate, P as denyAll, R as requireRoles, S as requireOrgRole, T as requireTeamMembership, V as scopeOf, _ as explainAccess, a as permissionMatrix, b as requireOrgInScope, c as publicReadAdminWrite, d as GRANT_MODES, f as modeSatisfies, g as describePermissionMap, h as describePermission, i as ownerWithAdminBypass, j as allowPublic, k as allOf, l as readOnly, m as collectPublicSurface, n as authenticated, o as presets_exports, p as requireGrant, r as fullPublic, s as publicRead, t as adminOnly, u as createRoleHierarchy, v as createDynamicPermissionMatrix, w as requireServiceScope, x as requireOrgMembership, y as createOrgPermissions, z as roles } from "../permissions-Bfu_8y1U.mjs";
|
|
5
|
+
export { GRANT_MODES, adminOnly, allOf, allow, allowPublic, anyOf, applyAuthorizationDecision, applyFieldReadPermissions, applyFieldWritePermissions, applyPermissionResult, authenticated, collectPublicSurface, conjoinPolicyFilters, createDynamicPermissionMatrix, createOrgPermissions, createRoleHierarchy, deny, denyAll, describePermission, describePermissionMap, evaluatePermissionDecision, explainAccess, fields, fullPublic, getUserRoles, modeSatisfies, normalizeRoles, normalizeToDecision, not, ownerWithAdminBypass, permissionMatrix, presets_exports as permissions, publicRead, publicReadAdminWrite, readOnly, requireAgentScope, requireAuth, requireDPoP, requireGrant, requireMandate, requireOrgInScope, requireOrgMembership, requireOrgRole, requireOwnership, requireRoles, requireScopeContext, requireServiceScope, requireTeamMembership, resolveEffectiveRoles, roles, scopeOf, when };
|