@inf-monkeys-tech/monkeys 1.1.36 → 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 (50) hide show
  1. package/lib/contracts/agent.d.ts +1 -5
  2. package/lib/contracts/agent.d.ts.map +1 -1
  3. package/lib/contracts/agent.js +3 -3
  4. package/lib/contracts/agent.js.map +1 -1
  5. package/lib/contracts/declarative-control-http.d.ts +323 -0
  6. package/lib/contracts/declarative-control-http.d.ts.map +1 -1
  7. package/lib/contracts/declarative-control.d.ts +51 -0
  8. package/lib/contracts/declarative-control.d.ts.map +1 -1
  9. package/lib/contracts/declarative-control.js +87 -2
  10. package/lib/contracts/declarative-control.js.map +1 -1
  11. package/lib/contracts/declarative-document-import.d.ts +85 -0
  12. package/lib/contracts/declarative-document-import.d.ts.map +1 -1
  13. package/lib/contracts/declarative-publication-job.d.ts +68 -0
  14. package/lib/contracts/declarative-publication-job.d.ts.map +1 -1
  15. package/lib/contracts/tenant.d.ts +0 -24
  16. package/lib/contracts/tenant.d.ts.map +1 -1
  17. package/lib/contracts/tenant.js +0 -4
  18. package/lib/contracts/tenant.js.map +1 -1
  19. package/lib/esm/{chunk-2YGFLKSP.mjs → chunk-5BYSA3KN.mjs} +3 -3
  20. package/lib/esm/{chunk-AGT4MIWF.mjs → chunk-MIG553ZW.mjs} +4 -3
  21. package/lib/esm/chunk-MIG553ZW.mjs.map +1 -0
  22. package/lib/esm/{chunk-GT5OGNJE.mjs → chunk-QZ4R7KDA.mjs} +82 -9
  23. package/lib/esm/chunk-QZ4R7KDA.mjs.map +1 -0
  24. package/lib/esm/{chunk-HLW3X2NX.mjs → chunk-RHIQIBBA.mjs} +2 -2
  25. package/lib/esm/{chunk-UF5TNIAZ.mjs → chunk-UJBIER7C.mjs} +2 -2
  26. package/lib/esm/{chunk-LYWJTAAM.mjs → chunk-V6RHZIZ4.mjs} +2 -2
  27. package/lib/esm/contracts/index.mjs +6 -4
  28. package/lib/esm/index.mjs +8 -6
  29. package/lib/esm/index.mjs.map +1 -1
  30. package/lib/esm/runtime/index.mjs +3 -3
  31. package/lib/esm/schemas/index.mjs +3 -3
  32. package/lib/json-schema/navigation-runtime-bundle.schema.json +83 -0
  33. package/lib/json-schema/navigation.schema.json +83 -0
  34. package/lib/json-schema/tenant-product-config.schema.json +0 -11
  35. package/lib/json-schema/tenant-runtime-config.schema.json +0 -11
  36. package/lib/runtime/declarative-control-compiler.d.ts.map +1 -1
  37. package/lib/runtime/declarative-control-compiler.js +1 -0
  38. package/lib/runtime/declarative-control-compiler.js.map +1 -1
  39. package/lib/runtime/runtime-definition-wire.d.ts +17 -0
  40. package/lib/runtime/runtime-definition-wire.d.ts.map +1 -1
  41. package/lib/schemas/index.d.ts +34 -12
  42. package/lib/schemas/index.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/test/fixtures/tenant-product-config.public.json +1 -2
  45. package/lib/esm/chunk-AGT4MIWF.mjs.map +0 -1
  46. package/lib/esm/chunk-GT5OGNJE.mjs.map +0 -1
  47. /package/lib/esm/{chunk-2YGFLKSP.mjs.map → chunk-5BYSA3KN.mjs.map} +0 -0
  48. /package/lib/esm/{chunk-HLW3X2NX.mjs.map → chunk-RHIQIBBA.mjs.map} +0 -0
  49. /package/lib/esm/{chunk-UF5TNIAZ.mjs.map → chunk-UJBIER7C.mjs.map} +0 -0
  50. /package/lib/esm/{chunk-LYWJTAAM.mjs.map → chunk-V6RHZIZ4.mjs.map} +0 -0
@@ -7644,9 +7644,9 @@ var DEFAULT_AGENT_WORKBENCH_SIDEBAR_SECTIONS = Object.freeze([
7644
7644
  "groups",
7645
7645
  "footer"
7646
7646
  ]);
7647
- function resolveAgentWorkbenchSidebarConfig(config, legacy = {}) {
7647
+ function resolveAgentWorkbenchSidebarConfig(config) {
7648
7648
  const parsed = AgentWorkbenchSidebarConfigSchema.parse(config ?? {});
7649
- const navigationMode = parsed.navigationMode ?? legacy.navigationMode ?? "default";
7649
+ const navigationMode = parsed.navigationMode ?? "default";
7650
7650
  return {
7651
7651
  ...parsed,
7652
7652
  navigationMode,
@@ -7654,7 +7654,7 @@ function resolveAgentWorkbenchSidebarConfig(config, legacy = {}) {
7654
7654
  widthPercent: parsed.widthPercent ?? 18,
7655
7655
  visibleSections: parsed.visibleSections ?? [...DEFAULT_AGENT_WORKBENCH_SIDEBAR_SECTIONS],
7656
7656
  groups: parsed.groups ?? [],
7657
- quickStartEnabled: parsed.quickStartEnabled ?? legacy.quickStartEnabled ?? false,
7657
+ quickStartEnabled: parsed.quickStartEnabled ?? false,
7658
7658
  trendEntryEnabled: parsed.trendEntryEnabled ?? navigationMode === "trend"
7659
7659
  };
7660
7660
  }
@@ -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"),
@@ -18703,11 +18779,7 @@ var TenantAgentThemeConfigSchema = z19.object({
18703
18779
  logo: AssetVariantsSchema.optional(),
18704
18780
  brandDisplayMode: z19.enum(["auto", "logo-only", "logo-name", "name-only"]).optional(),
18705
18781
  density: z19.enum(["compact", "default", "comfortable"]).optional(),
18706
- sidebar: AgentWorkbenchSidebarConfigSchema.optional(),
18707
- /** @deprecated Use sidebar.navigationMode. */
18708
- navigationMode: z19.enum(["default", "session", "trend"]).optional(),
18709
- /** @deprecated Use sidebar.quickStartEnabled. */
18710
- quickStartEnabled: z19.boolean().optional()
18782
+ sidebar: AgentWorkbenchSidebarConfigSchema.optional()
18711
18783
  }).strict();
18712
18784
  var LEGACY_CURRENT_USER_MENU_ITEM_IDS = ["dark-mode", "language", "settings", "logout"];
18713
18785
  var CURRENT_USER_MENU_CONTROL_REFS = ["dark-mode", "language"];
@@ -20251,6 +20323,7 @@ export {
20251
20323
  NavigationGroupNodeSchema,
20252
20324
  NavigationTargetNodeSchema,
20253
20325
  NavigationSeparatorNodeSchema,
20326
+ NavigationHeadbarModeSwitchSchema,
20254
20327
  NavigationNodeSchema,
20255
20328
  NavigationSchema,
20256
20329
  ResolvedNavigationTargetSchema,
@@ -20517,4 +20590,4 @@ export {
20517
20590
  RecordEditorValidationDetailsSchema,
20518
20591
  RecordEditorSubmissionSnapshotSchema
20519
20592
  };
20520
- //# sourceMappingURL=chunk-GT5OGNJE.mjs.map
20593
+ //# sourceMappingURL=chunk-QZ4R7KDA.mjs.map