@inf-monkeys-tech/monkeys 1.0.46 → 1.0.47
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/lib/contracts/access.d.ts +60 -0
- package/lib/contracts/access.d.ts.map +1 -0
- package/lib/contracts/access.js +47 -0
- package/lib/contracts/access.js.map +1 -0
- package/lib/contracts/index.d.ts +1 -0
- package/lib/contracts/index.d.ts.map +1 -1
- package/lib/contracts/index.js +1 -0
- package/lib/contracts/index.js.map +1 -1
- package/lib/contracts/menu.d.ts +1 -1
- package/lib/contracts/page.d.ts +3 -3
- package/lib/contracts/render.d.ts +4 -4
- package/lib/contracts/semantic.d.ts +1 -1
- package/lib/contracts/tenant.d.ts +80 -5
- package/lib/contracts/tenant.d.ts.map +1 -1
- package/lib/contracts/tenant.js +10 -0
- package/lib/contracts/tenant.js.map +1 -1
- package/lib/esm/contracts/index.mjs +1445 -1399
- package/lib/esm/contracts/index.mjs.map +1 -1
- package/lib/esm/index.mjs +1503 -1401
- package/lib/esm/index.mjs.map +1 -1
- package/lib/esm/runtime/index.mjs +100 -2
- package/lib/esm/runtime/index.mjs.map +1 -1
- package/lib/esm/schemas/index.mjs +1445 -1399
- package/lib/esm/schemas/index.mjs.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/json-schema/tenant-product-config.schema.json +58 -0
- package/lib/json-schema/tenant-runtime-config.schema.json +58 -0
- package/lib/runtime/access-compiler.d.ts +10 -0
- package/lib/runtime/access-compiler.d.ts.map +1 -0
- package/lib/runtime/access-compiler.js +63 -0
- package/lib/runtime/access-compiler.js.map +1 -0
- package/lib/runtime/index.d.ts +1 -0
- package/lib/runtime/index.d.ts.map +1 -1
- package/lib/runtime/index.js +1 -0
- package/lib/runtime/index.js.map +1 -1
- package/lib/runtime/menu-compiler.d.ts +0 -1
- package/lib/runtime/menu-compiler.d.ts.map +1 -1
- package/lib/runtime/menu-compiler.js +1 -2
- package/lib/runtime/menu-compiler.js.map +1 -1
- package/lib/schemas/index.d.ts +59 -8
- package/lib/schemas/index.d.ts.map +1 -1
- package/lib/schemas/index.js +10 -5
- package/lib/schemas/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -9836,14 +9836,13 @@ var evaluateAccess = (item, context) => {
|
|
|
9836
9836
|
if (!context.sessionResolved && protectedBySession) reasons.push("session-unresolved");
|
|
9837
9837
|
if (item.access.authenticated && !context.authenticated) reasons.push("authentication");
|
|
9838
9838
|
const granted = new Set(context.permissionCodes);
|
|
9839
|
-
const elevated = context.isKernelSuperAdmin === true || granted.has("*");
|
|
9840
9839
|
if (item.access.permissionAllOf.some((permission) => !granted.has(permission))) {
|
|
9841
9840
|
reasons.push("permission-all");
|
|
9842
9841
|
}
|
|
9843
9842
|
if (item.access.permissionAnyOf.length > 0 && !item.access.permissionAnyOf.some((permission) => granted.has(permission))) {
|
|
9844
9843
|
reasons.push("permission-any");
|
|
9845
9844
|
}
|
|
9846
|
-
if (
|
|
9845
|
+
if (item.access.requiredPermission && !granted.has(item.access.requiredPermission)) {
|
|
9847
9846
|
reasons.push("required-permission");
|
|
9848
9847
|
}
|
|
9849
9848
|
if (item.access.featureFlags.some((flag) => context.featureFlags[flag] !== true)) {
|
|
@@ -13309,6 +13308,13 @@ var TenantApplicationConfigSchema = z11.object({
|
|
|
13309
13308
|
teamAsUser: z11.boolean().optional(),
|
|
13310
13309
|
themeMode: z11.enum(["shadow", "border"]).optional(),
|
|
13311
13310
|
density: z11.enum(["compact", "default", "comfortable"]).optional(),
|
|
13311
|
+
statusStates: z11.object({
|
|
13312
|
+
loading: z11.object({ variant: z11.enum(["spinner", "skeleton"]).optional() }).strict().optional(),
|
|
13313
|
+
empty: z11.object({ variant: z11.enum(["default", "compact"]).optional() }).strict().optional(),
|
|
13314
|
+
error: z11.object({ showRetry: z11.boolean().optional() }).strict().optional(),
|
|
13315
|
+
permission: z11.object({ showRequestAccess: z11.boolean().optional() }).strict().optional(),
|
|
13316
|
+
density: z11.enum(["compact", "default", "comfortable"]).optional()
|
|
13317
|
+
}).strict().optional(),
|
|
13312
13318
|
pageZoom: z11.number().positive().optional(),
|
|
13313
13319
|
miniMode: z11.object({ showPreviewViewExecutionResultGrid: z11.boolean() }).strict().optional(),
|
|
13314
13320
|
workflow: z11.object({ allowConcurrentRuns: z11.boolean() }).strict().optional(),
|
|
@@ -13747,6 +13753,97 @@ var compileWorkflowPersistenceProjection = (input) => {
|
|
|
13747
13753
|
output: Object.freeze(workflow.parameters.outputs)
|
|
13748
13754
|
});
|
|
13749
13755
|
};
|
|
13756
|
+
|
|
13757
|
+
// src/contracts/access.ts
|
|
13758
|
+
import { z as z12 } from "zod";
|
|
13759
|
+
var PermissionDefinitionSchema = z12.object({
|
|
13760
|
+
code: ContractIdentifierSchema,
|
|
13761
|
+
name: LocalizedTextSchema,
|
|
13762
|
+
description: LocalizedTextSchema.optional(),
|
|
13763
|
+
resource: ContractIdentifierSchema,
|
|
13764
|
+
action: ContractIdentifierSchema,
|
|
13765
|
+
domain: ContractIdentifierSchema.optional()
|
|
13766
|
+
}).strict();
|
|
13767
|
+
var PermissionBundleSchema = z12.object({
|
|
13768
|
+
bundleId: ContractIdentifierSchema,
|
|
13769
|
+
name: LocalizedTextSchema,
|
|
13770
|
+
permissionCodes: z12.array(ContractIdentifierSchema).default([])
|
|
13771
|
+
}).strict();
|
|
13772
|
+
var SystemGroupDefinitionSchema = z12.object({
|
|
13773
|
+
groupCode: ContractIdentifierSchema,
|
|
13774
|
+
name: LocalizedTextSchema,
|
|
13775
|
+
description: LocalizedTextSchema.optional(),
|
|
13776
|
+
permissionPolicy: z12.enum(["bundles", "studio_current", "all_current"]).default("bundles"),
|
|
13777
|
+
permissionBundleIds: z12.array(ContractIdentifierSchema).default([])
|
|
13778
|
+
}).strict().refine((value) => value.permissionPolicy !== "bundles" || value.permissionBundleIds.length > 0, {
|
|
13779
|
+
message: "A bundles permission policy requires at least one permission bundle.",
|
|
13780
|
+
path: ["permissionBundleIds"]
|
|
13781
|
+
});
|
|
13782
|
+
var ProductAccessDeclarationSchema = z12.object({
|
|
13783
|
+
contract: z12.literal("ProductAccessDeclaration"),
|
|
13784
|
+
declarationId: ContractIdentifierSchema,
|
|
13785
|
+
version: ContractVersionSchema,
|
|
13786
|
+
ownerRepo: ContractIdentifierSchema,
|
|
13787
|
+
permissions: z12.array(PermissionDefinitionSchema).default([]),
|
|
13788
|
+
permissionBundles: z12.array(PermissionBundleSchema).default([]),
|
|
13789
|
+
systemGroups: z12.array(SystemGroupDefinitionSchema).min(1)
|
|
13790
|
+
}).strict();
|
|
13791
|
+
|
|
13792
|
+
// src/runtime/access-compiler.ts
|
|
13793
|
+
var uniqueBy = (values, key, label) => {
|
|
13794
|
+
const result = /* @__PURE__ */ new Map();
|
|
13795
|
+
for (const value of values) {
|
|
13796
|
+
const id = key(value);
|
|
13797
|
+
if (result.has(id)) throw new Error(`Duplicate ${label} ${id}.`);
|
|
13798
|
+
result.set(id, value);
|
|
13799
|
+
}
|
|
13800
|
+
return result;
|
|
13801
|
+
};
|
|
13802
|
+
var compileProductAccessDeclaration = (input) => {
|
|
13803
|
+
const declaration = ProductAccessDeclarationSchema.parse(input);
|
|
13804
|
+
const permissionsByCode = uniqueBy(declaration.permissions, (item) => item.code, "permission");
|
|
13805
|
+
const bundlesById = uniqueBy(declaration.permissionBundles, (item) => item.bundleId, "permission bundle");
|
|
13806
|
+
uniqueBy(declaration.systemGroups, (item) => item.groupCode, "system group");
|
|
13807
|
+
const permissionCodesByBundle = /* @__PURE__ */ new Map();
|
|
13808
|
+
for (const bundle of declaration.permissionBundles) {
|
|
13809
|
+
for (const permissionCode of bundle.permissionCodes) {
|
|
13810
|
+
if (!permissionsByCode.has(permissionCode)) {
|
|
13811
|
+
throw new Error(`Permission bundle ${bundle.bundleId} references unknown permission ${permissionCode}.`);
|
|
13812
|
+
}
|
|
13813
|
+
}
|
|
13814
|
+
permissionCodesByBundle.set(bundle.bundleId, [...new Set(bundle.permissionCodes)]);
|
|
13815
|
+
}
|
|
13816
|
+
const permissionCodesBySystemGroup = /* @__PURE__ */ new Map();
|
|
13817
|
+
const permissionPolicyBySystemGroup = /* @__PURE__ */ new Map();
|
|
13818
|
+
for (const group of declaration.systemGroups) {
|
|
13819
|
+
const permissionCodes = /* @__PURE__ */ new Set();
|
|
13820
|
+
permissionPolicyBySystemGroup.set(group.groupCode, group.permissionPolicy);
|
|
13821
|
+
if (group.permissionPolicy === "all_current") {
|
|
13822
|
+
for (const permission of declaration.permissions) permissionCodes.add(permission.code);
|
|
13823
|
+
}
|
|
13824
|
+
if (group.permissionPolicy === "studio_current") {
|
|
13825
|
+
for (const permission of declaration.permissions) {
|
|
13826
|
+
if (permission.domain === "studio" || permission.code.startsWith("studio:")) permissionCodes.add(permission.code);
|
|
13827
|
+
}
|
|
13828
|
+
}
|
|
13829
|
+
for (const bundleId of group.permissionBundleIds) {
|
|
13830
|
+
if (!bundlesById.has(bundleId)) {
|
|
13831
|
+
throw new Error(`System group ${group.groupCode} references unknown permission bundle ${bundleId}.`);
|
|
13832
|
+
}
|
|
13833
|
+
for (const permissionCode of permissionCodesByBundle.get(bundleId) ?? []) {
|
|
13834
|
+
permissionCodes.add(permissionCode);
|
|
13835
|
+
}
|
|
13836
|
+
}
|
|
13837
|
+
permissionCodesBySystemGroup.set(group.groupCode, [...permissionCodes]);
|
|
13838
|
+
}
|
|
13839
|
+
return {
|
|
13840
|
+
declaration,
|
|
13841
|
+
permissionsByCode,
|
|
13842
|
+
permissionCodesByBundle,
|
|
13843
|
+
permissionCodesBySystemGroup,
|
|
13844
|
+
permissionPolicyBySystemGroup
|
|
13845
|
+
};
|
|
13846
|
+
};
|
|
13750
13847
|
export {
|
|
13751
13848
|
APPLICATION_HANDOFF_QUERY_PARAMETER,
|
|
13752
13849
|
DEFAULT_CONDUCTOR_OWNER_EMAIL,
|
|
@@ -13762,6 +13859,7 @@ export {
|
|
|
13762
13859
|
compileConductorWorkflowDefinition,
|
|
13763
13860
|
compileMenuRuntimeBundle,
|
|
13764
13861
|
compilePageRuntimeProjection,
|
|
13862
|
+
compileProductAccessDeclaration,
|
|
13765
13863
|
compileProductDeclaration,
|
|
13766
13864
|
compileProductRuntimeCatalog,
|
|
13767
13865
|
compileRenderTree,
|