@inf-monkeys-tech/monkeys 1.1.9 → 1.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/lib/contracts/declarative-control-http.d.ts +2 -0
- package/lib/contracts/declarative-control-http.d.ts.map +1 -1
- package/lib/contracts/declarative-control-http.js +2 -0
- package/lib/contracts/declarative-control-http.js.map +1 -1
- package/lib/contracts/declarative-document-import.d.ts +8869 -0
- package/lib/contracts/declarative-document-import.d.ts.map +1 -0
- package/lib/contracts/declarative-document-import.js +126 -0
- package/lib/contracts/declarative-document-import.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/esm/contracts/index.mjs +1065 -961
- package/lib/esm/contracts/index.mjs.map +1 -1
- package/lib/esm/index.mjs +1121 -975
- package/lib/esm/index.mjs.map +1 -1
- package/lib/esm/runtime/index.mjs +56 -14
- package/lib/esm/runtime/index.mjs.map +1 -1
- package/lib/esm/schemas/index.mjs +102 -0
- package/lib/esm/schemas/index.mjs.map +1 -1
- package/lib/runtime/declarative-control-compiler.d.ts.map +1 -1
- package/lib/runtime/declarative-control-compiler.js +20 -12
- package/lib/runtime/declarative-control-compiler.js.map +1 -1
- package/lib/runtime/navigation-availability.d.ts +2 -0
- package/lib/runtime/navigation-availability.d.ts.map +1 -1
- package/lib/runtime/navigation-availability.js +39 -1
- package/lib/runtime/navigation-availability.js.map +1 -1
- package/lib/schemas/index.d.ts +1 -0
- package/lib/schemas/index.d.ts.map +1 -1
- package/lib/schemas/index.js +7 -1
- package/lib/schemas/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -20148,13 +20148,11 @@ var compileNavigationRuntimeBundle = (input) => {
|
|
|
20148
20148
|
const registration = targetsByStableRef.get(stableRefKey(node.targetRef));
|
|
20149
20149
|
const released = releasedByNodeId.get(node.nodeId);
|
|
20150
20150
|
const unavailable = unavailableByNodeId.get(node.nodeId);
|
|
20151
|
-
if (!registration &&
|
|
20152
|
-
|
|
20153
|
-
node.targetRef,
|
|
20154
|
-
|
|
20155
|
-
|
|
20156
|
-
);
|
|
20157
|
-
if (unavailable.accessPolicy && !accessPolicyChainImplies(
|
|
20151
|
+
if (!registration && node.targetRef.kind === "page" && (unavailable && sameStableRef(unavailable.stableTargetRef, node.targetRef) || released && sameStableRef(released.stableTargetRef, node.targetRef))) {
|
|
20152
|
+
if (!released || !verifiedKernelPageReferenceKeys.has(revisionRefKey(released.targetRevisionRef))) {
|
|
20153
|
+
assertTenantCompatible(node.targetRef, scope, `nodes[${index}].targetRef`);
|
|
20154
|
+
}
|
|
20155
|
+
if (unavailable?.accessPolicy && !accessPolicyChainImplies(
|
|
20158
20156
|
[...ancestors, node.audience],
|
|
20159
20157
|
unavailable.accessPolicy
|
|
20160
20158
|
)) {
|
|
@@ -20173,24 +20171,25 @@ var compileNavigationRuntimeBundle = (input) => {
|
|
|
20173
20171
|
kind: "unavailable",
|
|
20174
20172
|
nodeId: node.nodeId,
|
|
20175
20173
|
stableTargetRef: node.targetRef,
|
|
20176
|
-
accessPolicy: unavailable
|
|
20174
|
+
accessPolicy: unavailable?.accessPolicy ?? null
|
|
20177
20175
|
}
|
|
20178
20176
|
};
|
|
20179
20177
|
}
|
|
20180
|
-
|
|
20178
|
+
const currentPage = node.targetRef.kind === "page" && registration?.kind === "route";
|
|
20179
|
+
if (!registration || !released && !(currentPage && unavailable && sameStableRef(unavailable.stableTargetRef, node.targetRef)) || !sameStableRef(
|
|
20181
20180
|
registration.stableTargetRef,
|
|
20182
20181
|
stableFromRevision(registration.targetRevisionRef)
|
|
20183
|
-
) || !sameStableRef(registration.stableTargetRef, released.stableTargetRef) || !sameRevisionRef(
|
|
20182
|
+
) || released && !sameStableRef(registration.stableTargetRef, released.stableTargetRef) || !currentPage && released && !sameRevisionRef(
|
|
20184
20183
|
registration.targetRevisionRef,
|
|
20185
20184
|
released.targetRevisionRef
|
|
20186
|
-
) || registration.kind === "route" && (Boolean(registration.releaseRevisionRef) !== Boolean(released.releaseRevisionRef) || registration.releaseRevisionRef && released.releaseRevisionRef && !sameRevisionRef(
|
|
20185
|
+
) || !currentPage && released && registration.kind === "route" && (Boolean(registration.releaseRevisionRef) !== Boolean(released.releaseRevisionRef) || registration.releaseRevisionRef && released.releaseRevisionRef && !sameRevisionRef(
|
|
20187
20186
|
registration.releaseRevisionRef,
|
|
20188
20187
|
released.releaseRevisionRef
|
|
20189
20188
|
))) {
|
|
20190
20189
|
throw new DeclarativeControlCompilationError(
|
|
20191
20190
|
"NAV_TARGET_UNRELEASED",
|
|
20192
20191
|
`nodes[${index}].targetRef`,
|
|
20193
|
-
"Navigation target
|
|
20192
|
+
"Navigation target must resolve to the same Page identity or the exact non-Page binding recorded by NavigationRelease."
|
|
20194
20193
|
);
|
|
20195
20194
|
}
|
|
20196
20195
|
if (registration.surface !== release.target.surface) {
|
|
@@ -20226,7 +20225,7 @@ var compileNavigationRuntimeBundle = (input) => {
|
|
|
20226
20225
|
`nodes[${index}].targetRef`
|
|
20227
20226
|
);
|
|
20228
20227
|
}
|
|
20229
|
-
if (!accessPolicyChainImplies(
|
|
20228
|
+
if (!currentPage && !accessPolicyChainImplies(
|
|
20230
20229
|
[...ancestors, node.audience],
|
|
20231
20230
|
registration.accessPolicy
|
|
20232
20231
|
)) {
|
|
@@ -20251,7 +20250,10 @@ var compileNavigationRuntimeBundle = (input) => {
|
|
|
20251
20250
|
let resolvedTarget;
|
|
20252
20251
|
if (registration.kind === "route") {
|
|
20253
20252
|
resolvedTarget = {
|
|
20254
|
-
|
|
20253
|
+
nodeId: node.nodeId,
|
|
20254
|
+
stableTargetRef: registration.stableTargetRef,
|
|
20255
|
+
targetRevisionRef: registration.targetRevisionRef,
|
|
20256
|
+
...registration.releaseRevisionRef ? { releaseRevisionRef: registration.releaseRevisionRef } : {},
|
|
20255
20257
|
kind: "route",
|
|
20256
20258
|
accessPolicy: registration.accessPolicy,
|
|
20257
20259
|
routeClaim: registration.routeClaim
|
|
@@ -20449,6 +20451,45 @@ function projectNavigationCompatibility(bundle, supportsUnavailable) {
|
|
|
20449
20451
|
const nodes = bundle.nodes.filter((node) => node.kind !== "target" || node.resolvedTarget.kind !== "unavailable");
|
|
20450
20452
|
return NavigationRuntimeBundleSchema.parse({ ...unsigned, nodes, contentHash: canonicalContentHash({ ...unsigned, nodes }) });
|
|
20451
20453
|
}
|
|
20454
|
+
function projectCurrentNavigationPages(source, navigation, targets) {
|
|
20455
|
+
const currentTargets = new Map(targets.map((target) => [canonicalContentHash(target.stableTargetRef), target]));
|
|
20456
|
+
if (currentTargets.size !== targets.length) throw new TypeError("DECLARATIVE_TARGET_CATALOG_INVALID");
|
|
20457
|
+
const authored = new Map(navigation.nodes.map((node) => [node.nodeId, node]));
|
|
20458
|
+
const nodes = source.nodes.map((node) => {
|
|
20459
|
+
if (node.kind !== "target" || node.targetRef.kind !== "page") return node;
|
|
20460
|
+
const original = authored.get(node.nodeId);
|
|
20461
|
+
if (original?.kind !== "target" || canonicalContentHash(original.targetRef) !== canonicalContentHash(node.targetRef)) {
|
|
20462
|
+
throw new TypeError("DECLARATIVE_TARGET_IDENTITY_MISMATCH");
|
|
20463
|
+
}
|
|
20464
|
+
const current = currentTargets.get(canonicalContentHash(node.targetRef));
|
|
20465
|
+
if (current && (!sameStableRef(current.stableTargetRef, current.targetRevisionRef) || current.kind !== "route" || current.surface !== source.surface || current.routeClaim.surface !== source.surface)) {
|
|
20466
|
+
throw new TypeError("DECLARATIVE_TARGET_CATALOG_INVALID");
|
|
20467
|
+
}
|
|
20468
|
+
if (!current || current.kind !== "route" || !current.routeClaim.matcher.parameters.filter((parameter) => current.routeClaim.normalizedPath.split("/").includes(`:${parameter.name}`)).every((parameter) => {
|
|
20469
|
+
if (!parameter.required) return true;
|
|
20470
|
+
const binding = original.parameterMapping[parameter.name];
|
|
20471
|
+
return binding?.kind === "constant" && (typeof binding.value === "string" || typeof binding.value === "number") && String(binding.value).length > 0;
|
|
20472
|
+
})) {
|
|
20473
|
+
return { ...node, disabled: true, parameterMapping: {}, resolvedTarget: {
|
|
20474
|
+
kind: "unavailable",
|
|
20475
|
+
nodeId: node.nodeId,
|
|
20476
|
+
stableTargetRef: node.targetRef,
|
|
20477
|
+
accessPolicy: null
|
|
20478
|
+
} };
|
|
20479
|
+
}
|
|
20480
|
+
return { ...node, disabled: original.disabled, parameterMapping: original.parameterMapping, resolvedTarget: {
|
|
20481
|
+
kind: "route",
|
|
20482
|
+
nodeId: node.nodeId,
|
|
20483
|
+
stableTargetRef: current.stableTargetRef,
|
|
20484
|
+
targetRevisionRef: current.targetRevisionRef,
|
|
20485
|
+
...current.releaseRevisionRef ? { releaseRevisionRef: current.releaseRevisionRef } : {},
|
|
20486
|
+
accessPolicy: current.accessPolicy,
|
|
20487
|
+
routeClaim: current.routeClaim
|
|
20488
|
+
} };
|
|
20489
|
+
});
|
|
20490
|
+
const { contentHash: _hash, ...unsigned } = source;
|
|
20491
|
+
return NavigationRuntimeBundleSchema.parse({ ...unsigned, nodes, contentHash: canonicalContentHash({ ...unsigned, nodes }) });
|
|
20492
|
+
}
|
|
20452
20493
|
|
|
20453
20494
|
// src/runtime/menu-compiler.ts
|
|
20454
20495
|
var MenuCompilationError = class extends Error {
|
|
@@ -25630,6 +25671,7 @@ export {
|
|
|
25630
25671
|
parseWorkflowColumnBinding,
|
|
25631
25672
|
permissionAlternativePolicyAllows,
|
|
25632
25673
|
projectAgentSessionEvents,
|
|
25674
|
+
projectCurrentNavigationPages,
|
|
25633
25675
|
projectNavigationCompatibility,
|
|
25634
25676
|
projectPageProperties,
|
|
25635
25677
|
projectRecordEditorValidation,
|