@inf-monkeys-tech/monkeys 1.1.37 → 1.1.38

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.
Files changed (39) hide show
  1. package/lib/contracts/declarative-control-http.d.ts +323 -0
  2. package/lib/contracts/declarative-control-http.d.ts.map +1 -1
  3. package/lib/contracts/declarative-control.d.ts +51 -0
  4. package/lib/contracts/declarative-control.d.ts.map +1 -1
  5. package/lib/contracts/declarative-control.js +87 -2
  6. package/lib/contracts/declarative-control.js.map +1 -1
  7. package/lib/contracts/declarative-document-import.d.ts +85 -0
  8. package/lib/contracts/declarative-document-import.d.ts.map +1 -1
  9. package/lib/contracts/declarative-publication-job.d.ts +68 -0
  10. package/lib/contracts/declarative-publication-job.d.ts.map +1 -1
  11. package/lib/esm/{chunk-U33TFV3C.mjs → chunk-5BYSA3KN.mjs} +3 -3
  12. package/lib/esm/{chunk-NENE42EE.mjs → chunk-MIG553ZW.mjs} +4 -3
  13. package/lib/esm/chunk-MIG553ZW.mjs.map +1 -0
  14. package/lib/esm/{chunk-ZSE6AAEE.mjs → chunk-QZ4R7KDA.mjs} +78 -1
  15. package/lib/esm/chunk-QZ4R7KDA.mjs.map +1 -0
  16. package/lib/esm/{chunk-T3ZHGLLF.mjs → chunk-RHIQIBBA.mjs} +2 -2
  17. package/lib/esm/{chunk-R7ICFUBP.mjs → chunk-UJBIER7C.mjs} +2 -2
  18. package/lib/esm/{chunk-5CETMB6U.mjs → chunk-V6RHZIZ4.mjs} +2 -2
  19. package/lib/esm/contracts/index.mjs +6 -4
  20. package/lib/esm/index.mjs +8 -6
  21. package/lib/esm/index.mjs.map +1 -1
  22. package/lib/esm/runtime/index.mjs +3 -3
  23. package/lib/esm/schemas/index.mjs +3 -3
  24. package/lib/json-schema/navigation-runtime-bundle.schema.json +83 -0
  25. package/lib/json-schema/navigation.schema.json +83 -0
  26. package/lib/runtime/declarative-control-compiler.d.ts.map +1 -1
  27. package/lib/runtime/declarative-control-compiler.js +1 -0
  28. package/lib/runtime/declarative-control-compiler.js.map +1 -1
  29. package/lib/runtime/runtime-definition-wire.d.ts +17 -0
  30. package/lib/runtime/runtime-definition-wire.d.ts.map +1 -1
  31. package/lib/schemas/index.d.ts +34 -0
  32. package/lib/schemas/index.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/lib/esm/chunk-NENE42EE.mjs.map +0 -1
  35. package/lib/esm/chunk-ZSE6AAEE.mjs.map +0 -1
  36. /package/lib/esm/{chunk-U33TFV3C.mjs.map → chunk-5BYSA3KN.mjs.map} +0 -0
  37. /package/lib/esm/{chunk-T3ZHGLLF.mjs.map → chunk-RHIQIBBA.mjs.map} +0 -0
  38. /package/lib/esm/{chunk-R7ICFUBP.mjs.map → chunk-UJBIER7C.mjs.map} +0 -0
  39. /package/lib/esm/{chunk-5CETMB6U.mjs.map → chunk-V6RHZIZ4.mjs.map} +0 -0
@@ -13014,6 +13014,58 @@ var NavigationSeparatorNodeSchema = z13.object({
13014
13014
  ...NavigationNodeBaseShape,
13015
13015
  kind: z13.literal("separator")
13016
13016
  }).strict();
13017
+ var NavigationHeadbarModeSchema = z13.object({
13018
+ id: ContractIdentifierSchema,
13019
+ label: I18nTextSchema,
13020
+ icon: z13.string().trim().min(1).max(16),
13021
+ navigationVisible: z13.boolean(),
13022
+ targetNodeId: ContractIdentifierSchema.optional()
13023
+ }).strict().superRefine((value, context) => {
13024
+ if (value.id === "smart" && !value.targetNodeId) {
13025
+ context.addIssue({
13026
+ code: "custom",
13027
+ path: ["targetNodeId"],
13028
+ message: "The smart Headbar mode must identify a Navigation target node."
13029
+ });
13030
+ }
13031
+ });
13032
+ var NavigationHeadbarModeSwitchSchema = z13.object({
13033
+ defaultMode: z13.enum(["professional", "smart"]),
13034
+ storageKey: ContractIdentifierSchema,
13035
+ modes: z13.array(NavigationHeadbarModeSchema).length(2)
13036
+ }).strict().superRefine((value, context) => {
13037
+ const ids = value.modes.map((mode) => mode.id);
13038
+ if (new Set(ids).size !== ids.length || !ids.includes("professional") || !ids.includes("smart")) {
13039
+ context.addIssue({
13040
+ code: "custom",
13041
+ path: ["modes"],
13042
+ message: "Headbar mode switches must define exactly professional and smart modes once."
13043
+ });
13044
+ }
13045
+ const professional = value.modes.find((mode) => mode.id === "professional");
13046
+ const smart = value.modes.find((mode) => mode.id === "smart");
13047
+ if (professional && (!professional.navigationVisible || professional.targetNodeId)) {
13048
+ context.addIssue({
13049
+ code: "custom",
13050
+ path: ["modes"],
13051
+ message: "Professional mode must retain Navigation and cannot declare a route target."
13052
+ });
13053
+ }
13054
+ if (smart && smart.navigationVisible) {
13055
+ context.addIssue({
13056
+ code: "custom",
13057
+ path: ["modes"],
13058
+ message: "Smart mode must hide the declared Navigation."
13059
+ });
13060
+ }
13061
+ if (value.defaultMode === "smart" && !value.modes.find((mode) => mode.id === "smart")?.targetNodeId) {
13062
+ context.addIssue({
13063
+ code: "custom",
13064
+ path: ["defaultMode"],
13065
+ message: "A smart default requires an executable smart target."
13066
+ });
13067
+ }
13068
+ });
13017
13069
  var NavigationNodeSchema = z13.discriminatedUnion("kind", [
13018
13070
  NavigationGroupNodeSchema,
13019
13071
  NavigationTargetNodeSchema,
@@ -13081,11 +13133,23 @@ var NavigationSchema = z13.object({
13081
13133
  placements: z13.array(ContractIdentifierSchema).min(1),
13082
13134
  lifecycle: DeclarativeLifecycleSchema,
13083
13135
  nodes: z13.array(NavigationNodeSchema),
13136
+ headbarModeSwitch: NavigationHeadbarModeSwitchSchema.optional(),
13084
13137
  managementAccess: ManagementAccessSchema,
13085
13138
  performanceBudgetRef: RevisionRefSchema,
13086
13139
  observationPolicyRevisionRef: RevisionRefSchema
13087
13140
  }).strict().superRefine((value, context) => {
13088
13141
  validateNavigationTree(value.nodes, context);
13142
+ const smartTargetNodeId = value.headbarModeSwitch?.modes.find((mode) => mode.id === "smart")?.targetNodeId;
13143
+ if (smartTargetNodeId) {
13144
+ const target = value.nodes.find((node) => node.nodeId === smartTargetNodeId);
13145
+ if (!target || target.kind !== "target" || target.targetRef.kind !== "page") {
13146
+ context.addIssue({
13147
+ code: "custom",
13148
+ path: ["headbarModeSwitch", "modes"],
13149
+ message: "The smart Headbar mode must point to a Page target in the same Navigation."
13150
+ });
13151
+ }
13152
+ }
13089
13153
  value.nodes.forEach((node, index) => {
13090
13154
  if (node.kind === "target" && !["page", "workbench", "menu-action", "domain-command"].includes(
13091
13155
  node.targetRef.kind
@@ -13598,6 +13662,7 @@ var NavigationRuntimeBundleSchema = z13.object({
13598
13662
  surface: ProductSurfaceSchema,
13599
13663
  placement: ContractIdentifierSchema,
13600
13664
  nodes: z13.array(CompiledNavigationNodeSchema),
13665
+ headbarModeSwitch: NavigationHeadbarModeSwitchSchema.optional(),
13601
13666
  performanceBudgetRef: RevisionRefSchema,
13602
13667
  observationPolicyRevisionRef: RevisionRefSchema
13603
13668
  }).strict().superRefine((value, context) => {
@@ -13610,6 +13675,17 @@ var NavigationRuntimeBundleSchema = z13.object({
13610
13675
  value.navigationId,
13611
13676
  context
13612
13677
  );
13678
+ const targetNodeId = value.headbarModeSwitch?.modes.find((mode) => mode.id === "smart")?.targetNodeId;
13679
+ if (targetNodeId) {
13680
+ const target = value.nodes.find((node) => node.nodeId === targetNodeId);
13681
+ if (target?.kind !== "target" || target.targetRef.kind !== "page" || target.resolvedTarget.kind !== "route" || target.disabled) {
13682
+ context.addIssue({
13683
+ code: "custom",
13684
+ path: ["headbarModeSwitch", "modes"],
13685
+ message: "The smart Headbar mode must resolve to an enabled Page route in the compiled Navigation."
13686
+ });
13687
+ }
13688
+ }
13613
13689
  });
13614
13690
  var DeclarativeControlOntologyDefinitionSchema = OntologyDefinitionSchema.extend({
13615
13691
  classification: z13.literal("control"),
@@ -20247,6 +20323,7 @@ export {
20247
20323
  NavigationGroupNodeSchema,
20248
20324
  NavigationTargetNodeSchema,
20249
20325
  NavigationSeparatorNodeSchema,
20326
+ NavigationHeadbarModeSwitchSchema,
20250
20327
  NavigationNodeSchema,
20251
20328
  NavigationSchema,
20252
20329
  ResolvedNavigationTargetSchema,
@@ -20513,4 +20590,4 @@ export {
20513
20590
  RecordEditorValidationDetailsSchema,
20514
20591
  RecordEditorSubmissionSnapshotSchema
20515
20592
  };
20516
- //# sourceMappingURL=chunk-ZSE6AAEE.mjs.map
20593
+ //# sourceMappingURL=chunk-QZ4R7KDA.mjs.map