@uipath/apollo-react 4.60.0 → 4.61.1

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 (133) hide show
  1. package/dist/canvas/components/BaseNode/BaseNode.cjs +23 -42
  2. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  3. package/dist/canvas/components/BaseNode/BaseNode.js +23 -42
  4. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.d.ts.map +1 -1
  5. package/dist/canvas/stores/animatedViewportManager.cjs +4 -4
  6. package/dist/canvas/stores/animatedViewportManager.d.ts.map +1 -1
  7. package/dist/canvas/stores/animatedViewportManager.js +4 -4
  8. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  9. package/dist/material/components/ap-model-picker/ModelPicker.cjs +543 -0
  10. package/dist/material/components/ap-model-picker/ModelPicker.d.ts +56 -0
  11. package/dist/material/components/ap-model-picker/ModelPicker.d.ts.map +1 -0
  12. package/dist/material/components/ap-model-picker/ModelPicker.js +494 -0
  13. package/dist/material/components/ap-model-picker/ModelTagChip.cjs +140 -0
  14. package/dist/material/components/ap-model-picker/ModelTagChip.d.ts +11 -0
  15. package/dist/material/components/ap-model-picker/ModelTagChip.d.ts.map +1 -0
  16. package/dist/material/components/ap-model-picker/ModelTagChip.js +90 -0
  17. package/dist/material/components/ap-model-picker/badges.cjs +53 -0
  18. package/dist/material/components/ap-model-picker/badges.d.ts +9 -0
  19. package/dist/material/components/ap-model-picker/badges.d.ts.map +1 -0
  20. package/dist/material/components/ap-model-picker/badges.js +19 -0
  21. package/dist/material/components/ap-model-picker/i18n.cjs +187 -0
  22. package/dist/material/components/ap-model-picker/i18n.d.ts +53 -0
  23. package/dist/material/components/ap-model-picker/i18n.d.ts.map +1 -0
  24. package/dist/material/components/ap-model-picker/i18n.js +117 -0
  25. package/dist/material/components/ap-model-picker/index.cjs +112 -0
  26. package/dist/material/components/ap-model-picker/index.d.ts +31 -0
  27. package/dist/material/components/ap-model-picker/index.d.ts.map +1 -0
  28. package/dist/material/components/ap-model-picker/index.js +15 -0
  29. package/dist/material/components/ap-model-picker/locales/de.cjs +36 -0
  30. package/dist/material/components/ap-model-picker/locales/de.d.ts +3 -0
  31. package/dist/material/components/ap-model-picker/locales/de.d.ts.map +1 -0
  32. package/dist/material/components/ap-model-picker/locales/de.js +2 -0
  33. package/dist/material/components/ap-model-picker/locales/en.cjs +36 -0
  34. package/dist/material/components/ap-model-picker/locales/en.d.ts +3 -0
  35. package/dist/material/components/ap-model-picker/locales/en.d.ts.map +1 -0
  36. package/dist/material/components/ap-model-picker/locales/en.js +2 -0
  37. package/dist/material/components/ap-model-picker/locales/es-MX.cjs +36 -0
  38. package/dist/material/components/ap-model-picker/locales/es-MX.d.ts +3 -0
  39. package/dist/material/components/ap-model-picker/locales/es-MX.d.ts.map +1 -0
  40. package/dist/material/components/ap-model-picker/locales/es-MX.js +2 -0
  41. package/dist/material/components/ap-model-picker/locales/es.cjs +36 -0
  42. package/dist/material/components/ap-model-picker/locales/es.d.ts +3 -0
  43. package/dist/material/components/ap-model-picker/locales/es.d.ts.map +1 -0
  44. package/dist/material/components/ap-model-picker/locales/es.js +2 -0
  45. package/dist/material/components/ap-model-picker/locales/fr.cjs +36 -0
  46. package/dist/material/components/ap-model-picker/locales/fr.d.ts +3 -0
  47. package/dist/material/components/ap-model-picker/locales/fr.d.ts.map +1 -0
  48. package/dist/material/components/ap-model-picker/locales/fr.js +2 -0
  49. package/dist/material/components/ap-model-picker/locales/ja.cjs +36 -0
  50. package/dist/material/components/ap-model-picker/locales/ja.d.ts +3 -0
  51. package/dist/material/components/ap-model-picker/locales/ja.d.ts.map +1 -0
  52. package/dist/material/components/ap-model-picker/locales/ja.js +2 -0
  53. package/dist/material/components/ap-model-picker/locales/ko.cjs +36 -0
  54. package/dist/material/components/ap-model-picker/locales/ko.d.ts +3 -0
  55. package/dist/material/components/ap-model-picker/locales/ko.d.ts.map +1 -0
  56. package/dist/material/components/ap-model-picker/locales/ko.js +2 -0
  57. package/dist/material/components/ap-model-picker/locales/pt-BR.cjs +36 -0
  58. package/dist/material/components/ap-model-picker/locales/pt-BR.d.ts +3 -0
  59. package/dist/material/components/ap-model-picker/locales/pt-BR.d.ts.map +1 -0
  60. package/dist/material/components/ap-model-picker/locales/pt-BR.js +2 -0
  61. package/dist/material/components/ap-model-picker/locales/pt.cjs +36 -0
  62. package/dist/material/components/ap-model-picker/locales/pt.d.ts +3 -0
  63. package/dist/material/components/ap-model-picker/locales/pt.d.ts.map +1 -0
  64. package/dist/material/components/ap-model-picker/locales/pt.js +2 -0
  65. package/dist/material/components/ap-model-picker/locales/ru.cjs +36 -0
  66. package/dist/material/components/ap-model-picker/locales/ru.d.ts +3 -0
  67. package/dist/material/components/ap-model-picker/locales/ru.d.ts.map +1 -0
  68. package/dist/material/components/ap-model-picker/locales/ru.js +2 -0
  69. package/dist/material/components/ap-model-picker/locales/tr.cjs +36 -0
  70. package/dist/material/components/ap-model-picker/locales/tr.d.ts +3 -0
  71. package/dist/material/components/ap-model-picker/locales/tr.d.ts.map +1 -0
  72. package/dist/material/components/ap-model-picker/locales/tr.js +2 -0
  73. package/dist/material/components/ap-model-picker/locales/zh-CN.cjs +36 -0
  74. package/dist/material/components/ap-model-picker/locales/zh-CN.d.ts +3 -0
  75. package/dist/material/components/ap-model-picker/locales/zh-CN.d.ts.map +1 -0
  76. package/dist/material/components/ap-model-picker/locales/zh-CN.js +2 -0
  77. package/dist/material/components/ap-model-picker/locales/zh-TW.cjs +36 -0
  78. package/dist/material/components/ap-model-picker/locales/zh-TW.d.ts +3 -0
  79. package/dist/material/components/ap-model-picker/locales/zh-TW.d.ts.map +1 -0
  80. package/dist/material/components/ap-model-picker/locales/zh-TW.js +2 -0
  81. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.cjs +236 -0
  82. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.d.ts +15 -0
  83. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.d.ts.map +1 -0
  84. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.js +181 -0
  85. package/dist/material/components/ap-model-picker/primitives/GroupHeader.cjs +139 -0
  86. package/dist/material/components/ap-model-picker/primitives/GroupHeader.d.ts +16 -0
  87. package/dist/material/components/ap-model-picker/primitives/GroupHeader.d.ts.map +1 -0
  88. package/dist/material/components/ap-model-picker/primitives/GroupHeader.js +92 -0
  89. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.cjs +258 -0
  90. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.d.ts +29 -0
  91. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.d.ts.map +1 -0
  92. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.js +199 -0
  93. package/dist/material/components/ap-model-picker/primitives/OptionList.cjs +287 -0
  94. package/dist/material/components/ap-model-picker/primitives/OptionList.d.ts +31 -0
  95. package/dist/material/components/ap-model-picker/primitives/OptionList.d.ts.map +1 -0
  96. package/dist/material/components/ap-model-picker/primitives/OptionList.js +235 -0
  97. package/dist/material/components/ap-model-picker/primitives/PickerPopup.cjs +110 -0
  98. package/dist/material/components/ap-model-picker/primitives/PickerPopup.d.ts +16 -0
  99. package/dist/material/components/ap-model-picker/primitives/PickerPopup.d.ts.map +1 -0
  100. package/dist/material/components/ap-model-picker/primitives/PickerPopup.js +63 -0
  101. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.cjs +143 -0
  102. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.d.ts +18 -0
  103. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.d.ts.map +1 -0
  104. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.js +97 -0
  105. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.cjs +195 -0
  106. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.d.ts +25 -0
  107. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.d.ts.map +1 -0
  108. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.js +148 -0
  109. package/dist/material/components/ap-model-picker/types.cjs +18 -0
  110. package/dist/material/components/ap-model-picker/types.d.ts +77 -0
  111. package/dist/material/components/ap-model-picker/types.d.ts.map +1 -0
  112. package/dist/material/components/ap-model-picker/types.js +0 -0
  113. package/dist/material/components/ap-model-picker/useDiscoveryModels.cjs +113 -0
  114. package/dist/material/components/ap-model-picker/useDiscoveryModels.d.ts +9 -0
  115. package/dist/material/components/ap-model-picker/useDiscoveryModels.d.ts.map +1 -0
  116. package/dist/material/components/ap-model-picker/useDiscoveryModels.js +79 -0
  117. package/dist/material/components/ap-model-picker/useModelPickerState.cjs +175 -0
  118. package/dist/material/components/ap-model-picker/useModelPickerState.d.ts +40 -0
  119. package/dist/material/components/ap-model-picker/useModelPickerState.d.ts.map +1 -0
  120. package/dist/material/components/ap-model-picker/useModelPickerState.js +141 -0
  121. package/dist/material/components/ap-model-picker/usePlatformAccess.cjs +184 -0
  122. package/dist/material/components/ap-model-picker/usePlatformAccess.d.ts +32 -0
  123. package/dist/material/components/ap-model-picker/usePlatformAccess.d.ts.map +1 -0
  124. package/dist/material/components/ap-model-picker/usePlatformAccess.js +141 -0
  125. package/dist/material/components/ap-model-picker/utils.cjs +309 -0
  126. package/dist/material/components/ap-model-picker/utils.d.ts +23 -0
  127. package/dist/material/components/ap-model-picker/utils.d.ts.map +1 -0
  128. package/dist/material/components/ap-model-picker/utils.js +263 -0
  129. package/dist/material/components/index.cjs +31 -24
  130. package/dist/material/components/index.d.ts +1 -0
  131. package/dist/material/components/index.d.ts.map +1 -1
  132. package/dist/material/components/index.js +1 -0
  133. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModelPickerState.d.ts","sourceRoot":"","sources":["../../../../src/material/components/ap-model-picker/useModelPickerState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAgB,KAAK,aAAa,EAAe,MAAM,SAAS,CAAC;AAExE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAMtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAM3C,OAAO,CAAC,EAAE,aAAa,CAAC;IAMxB,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAMpC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;IAO5C,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAM7C,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAM1C,aAAa,EAAE,cAAc,EAAE,CAAC;IAEhC,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAMpC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAErC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAUhC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAElD,MAAM,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAEpC,EAAE,EAAE,MAAM,CAAC;IAEX,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAEtD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CACrD;AAeD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B,GAAG,yBAAyB,CA8K/F"}
@@ -0,0 +1,141 @@
1
+ import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
2
+ import { filterModels, groupModels } from "./utils.js";
3
+ function useModelPickerState(opts) {
4
+ const { models, value, onChange, groupBy: initialGroupBy = "subscription", recommendedModelIds, previewModelIds, filter, initiallyCollapsedGroups, i18n } = opts;
5
+ const reactId = useId();
6
+ const id = `apollo-model-picker-${reactId}`;
7
+ const triggerRef = useRef(null);
8
+ const searchRef = useRef(null);
9
+ const [open, setOpen] = useState(false);
10
+ const [query, setQuery] = useState('');
11
+ const [activeIndex, setActiveIndex] = useState(0);
12
+ const [groupBy, setGroupBy] = useState(initialGroupBy);
13
+ const [collapsedSet, setCollapsedSet] = useState(()=>new Set(initiallyCollapsedGroups ?? []));
14
+ const visibleModels = useMemo(()=>filter ? models.filter(filter) : models, [
15
+ models,
16
+ filter
17
+ ]);
18
+ const annotated = useMemo(()=>{
19
+ const groups = groupModels(visibleModels, groupBy, {
20
+ recommendedModelIds,
21
+ previewModelIds,
22
+ i18n
23
+ });
24
+ return groups.flatMap((g)=>g.models.map((m)=>({
25
+ ...m,
26
+ groupKey: g.key,
27
+ groupLabel: g.label
28
+ })));
29
+ }, [
30
+ visibleModels,
31
+ groupBy,
32
+ recommendedModelIds,
33
+ previewModelIds,
34
+ i18n
35
+ ]);
36
+ const filtered = useMemo(()=>filterModels(annotated, query), [
37
+ annotated,
38
+ query
39
+ ]);
40
+ const groupCounts = useMemo(()=>{
41
+ const out = {};
42
+ for (const m of annotated)out[m.groupKey] = (out[m.groupKey] ?? 0) + 1;
43
+ return out;
44
+ }, [
45
+ annotated
46
+ ]);
47
+ const selected = useMemo(()=>annotated.find((m)=>m.modelId === value) ?? models.find((m)=>m.modelId === value) ?? null, [
48
+ annotated,
49
+ models,
50
+ value
51
+ ]);
52
+ const unknownValue = useMemo(()=>{
53
+ if (!value) return null;
54
+ if (selected) return null;
55
+ if (0 === models.length) return null;
56
+ return value;
57
+ }, [
58
+ models,
59
+ selected,
60
+ value
61
+ ]);
62
+ const collapsedGroups = useMemo(()=>query.trim() ? new Set() : collapsedSet, [
63
+ query,
64
+ collapsedSet
65
+ ]);
66
+ const toggleGroup = useCallback((groupKey)=>{
67
+ setCollapsedSet((prev)=>{
68
+ const next = new Set(prev);
69
+ if (next.has(groupKey)) next.delete(groupKey);
70
+ else next.add(groupKey);
71
+ return next;
72
+ });
73
+ }, []);
74
+ useEffect(()=>{
75
+ if (open) {
76
+ const sel = filtered.findIndex((m)=>m.modelId === value);
77
+ setActiveIndex(sel >= 0 ? sel : 0);
78
+ requestAnimationFrame(()=>searchRef.current?.focus());
79
+ } else setQuery('');
80
+ }, [
81
+ open
82
+ ]);
83
+ useEffect(()=>{
84
+ if (activeIndex >= filtered.length) setActiveIndex(0);
85
+ }, [
86
+ filtered.length,
87
+ activeIndex
88
+ ]);
89
+ const choose = useCallback((m)=>{
90
+ onChange?.(m);
91
+ setOpen(false);
92
+ triggerRef.current?.focus();
93
+ }, [
94
+ onChange
95
+ ]);
96
+ const onSearchKeyDown = useCallback((e)=>{
97
+ if ('ArrowDown' === e.key) {
98
+ e.preventDefault();
99
+ setActiveIndex((i)=>Math.min(i + 1, Math.max(filtered.length - 1, 0)));
100
+ } else if ('ArrowUp' === e.key) {
101
+ e.preventDefault();
102
+ setActiveIndex((i)=>Math.max(i - 1, 0));
103
+ } else if ('Enter' === e.key) {
104
+ e.preventDefault();
105
+ const m = filtered[activeIndex];
106
+ if (m) choose(m);
107
+ } else if ('Escape' === e.key) {
108
+ e.preventDefault();
109
+ setOpen(false);
110
+ triggerRef.current?.focus();
111
+ }
112
+ }, [
113
+ filtered,
114
+ activeIndex,
115
+ choose
116
+ ]);
117
+ return {
118
+ open,
119
+ setOpen,
120
+ query,
121
+ setQuery,
122
+ groupBy,
123
+ setGroupBy,
124
+ visibleModels,
125
+ annotated,
126
+ filtered,
127
+ groupCounts,
128
+ collapsedGroups,
129
+ toggleGroup,
130
+ selected,
131
+ unknownValue,
132
+ activeIndex,
133
+ setActiveIndex,
134
+ onSearchKeyDown,
135
+ choose,
136
+ id,
137
+ triggerRef,
138
+ searchRef
139
+ };
140
+ }
141
+ export { useModelPickerState };
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ buildLlmConfigurationsUrl: ()=>buildLlmConfigurationsUrl,
28
+ platformNavigation: ()=>platformNavigation,
29
+ useUserFolders: ()=>useUserFolders,
30
+ useCanManageByo: ()=>useCanManageByo
31
+ });
32
+ const external_react_namespaceObject = require("react");
33
+ const FOLDERS_PAGE_SIZE = 100;
34
+ function useUserFolders(ctx) {
35
+ const [folders, setFolders] = (0, external_react_namespaceObject.useState)([]);
36
+ const [loading, setLoading] = (0, external_react_namespaceObject.useState)(false);
37
+ const [error, setError] = (0, external_react_namespaceObject.useState)(null);
38
+ const abortRef = (0, external_react_namespaceObject.useRef)(null);
39
+ const fetchFolders = (0, external_react_namespaceObject.useCallback)(async ()=>{
40
+ if (!ctx) return;
41
+ abortRef.current?.abort();
42
+ const ctrl = new AbortController();
43
+ abortRef.current = ctrl;
44
+ setLoading(true);
45
+ setError(null);
46
+ const base = (ctx.baseUrl ?? '').replace(/\/$/, '');
47
+ const url = `${base}/${ctx.tenantName}/orchestrator_/api/FoldersNavigation/GetFoldersForCurrentUser?take=${FOLDERS_PAGE_SIZE}`;
48
+ try {
49
+ const res = await fetch(url, {
50
+ headers: {
51
+ Authorization: `Bearer ${ctx.token}`,
52
+ Accept: 'application/json'
53
+ },
54
+ signal: ctrl.signal
55
+ });
56
+ if (!res.ok) throw new Error(`FoldersNavigation API ${res.status} ${res.statusText}`);
57
+ const data = await res.json();
58
+ if (!ctrl.signal.aborted) setFolders((data.PageItems ?? []).map((f)=>({
59
+ id: f.Key,
60
+ label: f.DisplayName,
61
+ numericId: f.Id
62
+ })));
63
+ } catch (err) {
64
+ if (err?.name === 'AbortError') return;
65
+ if (!ctrl.signal.aborted) setError(err instanceof Error ? err : new Error(String(err)));
66
+ } finally{
67
+ if (!ctrl.signal.aborted) setLoading(false);
68
+ }
69
+ }, [
70
+ ctx
71
+ ]);
72
+ (0, external_react_namespaceObject.useEffect)(()=>{
73
+ if (!ctx) {
74
+ abortRef.current?.abort();
75
+ setFolders([]);
76
+ setLoading(false);
77
+ setError(null);
78
+ return;
79
+ }
80
+ fetchFolders();
81
+ return ()=>abortRef.current?.abort();
82
+ }, [
83
+ ctx,
84
+ fetchFolders
85
+ ]);
86
+ return {
87
+ folders,
88
+ loading,
89
+ error,
90
+ refetch: fetchFolders
91
+ };
92
+ }
93
+ const ORG_ADMIN_ROLES = [
94
+ 'ACCOUNT_ADMIN',
95
+ 'ACCOUNT_OWNER'
96
+ ];
97
+ function useCanManageByo(ctx) {
98
+ const [canManage, setCanManage] = (0, external_react_namespaceObject.useState)(void 0);
99
+ const [loading, setLoading] = (0, external_react_namespaceObject.useState)(false);
100
+ const [error, setError] = (0, external_react_namespaceObject.useState)(null);
101
+ const abortRef = (0, external_react_namespaceObject.useRef)(null);
102
+ (0, external_react_namespaceObject.useEffect)(()=>{
103
+ if (!ctx) {
104
+ abortRef.current?.abort();
105
+ setCanManage(void 0);
106
+ setLoading(false);
107
+ setError(null);
108
+ return;
109
+ }
110
+ abortRef.current?.abort();
111
+ const ctrl = new AbortController();
112
+ abortRef.current = ctrl;
113
+ setCanManage(void 0);
114
+ setLoading(true);
115
+ setError(null);
116
+ const base = (ctx.baseUrl ?? '').replace(/\/$/, '');
117
+ const url = `${base}/portal_/api/organization/UserOrganizationInfo`;
118
+ fetch(url, {
119
+ headers: {
120
+ Authorization: `Bearer ${ctx.token}`,
121
+ Accept: 'application/json'
122
+ },
123
+ signal: ctrl.signal
124
+ }).then(async (res)=>{
125
+ if (!res.ok) throw new Error(`UserOrganizationInfo API ${res.status} ${res.statusText}`);
126
+ const data = await res.json();
127
+ if (!ctrl.signal.aborted) setCanManage(ORG_ADMIN_ROLES.includes(data.accountRoleType ?? ''));
128
+ }).catch((err)=>{
129
+ if (err?.name === 'AbortError') return;
130
+ if (!ctrl.signal.aborted) {
131
+ setError(err instanceof Error ? err : new Error(String(err)));
132
+ setCanManage(false);
133
+ }
134
+ }).finally(()=>{
135
+ if (!ctrl.signal.aborted) setLoading(false);
136
+ });
137
+ return ()=>ctrl.abort();
138
+ }, [
139
+ ctx
140
+ ]);
141
+ return {
142
+ canManage,
143
+ loading,
144
+ error
145
+ };
146
+ }
147
+ function buildLlmConfigurationsUrl(ctx, options) {
148
+ const base = (ctx.baseUrl ?? '').replace(/\/$/, '');
149
+ const root = `${base}/portal_/admin/ai-trust-layer/llm-configurations`;
150
+ const { intent, folderNumericId, configurationId } = options;
151
+ if (ctx.tenantId && null != folderNumericId) {
152
+ if ('edit' === intent && configurationId) return `${root}/${ctx.tenantId}/${folderNumericId}/edit/${encodeURIComponent(configurationId)}`;
153
+ if ('add' === intent) {
154
+ const params = new URLSearchParams();
155
+ if (ctx.requestingProduct) params.set('product', ctx.requestingProduct);
156
+ if (ctx.requestingFeature) params.set('feature', ctx.requestingFeature);
157
+ const qs = params.toString();
158
+ return `${root}/${ctx.tenantId}/${folderNumericId}/add${qs ? `?${qs}` : ''}`;
159
+ }
160
+ }
161
+ const params = new URLSearchParams();
162
+ if (ctx.tenantId) params.set('tenantId', ctx.tenantId);
163
+ if (null != folderNumericId) params.set('folderId', String(folderNumericId));
164
+ const qs = params.toString();
165
+ return `${root}${qs ? `?${qs}` : ''}`;
166
+ }
167
+ const platformNavigation = {
168
+ assign (url) {
169
+ globalThis.location?.assign(url);
170
+ }
171
+ };
172
+ exports.buildLlmConfigurationsUrl = __webpack_exports__.buildLlmConfigurationsUrl;
173
+ exports.platformNavigation = __webpack_exports__.platformNavigation;
174
+ exports.useCanManageByo = __webpack_exports__.useCanManageByo;
175
+ exports.useUserFolders = __webpack_exports__.useUserFolders;
176
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
177
+ "buildLlmConfigurationsUrl",
178
+ "platformNavigation",
179
+ "useCanManageByo",
180
+ "useUserFolders"
181
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
182
+ Object.defineProperty(exports, '__esModule', {
183
+ value: true
184
+ });
@@ -0,0 +1,32 @@
1
+ import type { FolderSwitcherFolder } from './primitives/FolderSwitcher';
2
+ export interface PlatformRequestContext {
3
+ token: string;
4
+ baseUrl?: string;
5
+ tenantName: string;
6
+ tenantId?: string;
7
+ requestingProduct?: string;
8
+ requestingFeature?: string;
9
+ }
10
+ export interface UseUserFoldersResult {
11
+ folders: FolderSwitcherFolder[];
12
+ loading: boolean;
13
+ error: Error | null;
14
+ refetch: () => void;
15
+ }
16
+ export declare function useUserFolders(ctx: PlatformRequestContext | null): UseUserFoldersResult;
17
+ export interface UseCanManageByoResult {
18
+ canManage: boolean | undefined;
19
+ loading: boolean;
20
+ error: Error | null;
21
+ }
22
+ export declare function useCanManageByo(ctx: PlatformRequestContext | null): UseCanManageByoResult;
23
+ export interface LlmConfigurationsLinkOptions {
24
+ intent: 'add' | 'edit';
25
+ folderNumericId?: number;
26
+ configurationId?: string;
27
+ }
28
+ export declare function buildLlmConfigurationsUrl(ctx: PlatformRequestContext, options: LlmConfigurationsLinkOptions): string;
29
+ export declare const platformNavigation: {
30
+ assign(url: string): void;
31
+ };
32
+ //# sourceMappingURL=usePlatformAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePlatformAccess.d.ts","sourceRoot":"","sources":["../../../../src/material/components/ap-model-picker/usePlatformAccess.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAQxE,MAAM,WAAW,sBAAsB;IAErC,KAAK,EAAE,MAAM,CAAC;IAWd,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,MAAM,CAAC;IAOnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAmBD,MAAM,WAAW,oBAAoB;IAMnC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAqBD,wBAAgB,cAAc,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI,GAAG,oBAAoB,CAkEvF;AAeD,MAAM,WAAW,qBAAqB;IAMpC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAiBD,wBAAgB,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,IAAI,GAAG,qBAAqB,CA+DzF;AAMD,MAAM,WAAW,4BAA4B;IAE3C,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IAEvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAcD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,sBAAsB,EAC3B,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAuBR;AAQD,eAAO,MAAM,kBAAkB;gBACjB,MAAM,GAAG,IAAI;CAG1B,CAAC"}
@@ -0,0 +1,141 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ const FOLDERS_PAGE_SIZE = 100;
3
+ function useUserFolders(ctx) {
4
+ const [folders, setFolders] = useState([]);
5
+ const [loading, setLoading] = useState(false);
6
+ const [error, setError] = useState(null);
7
+ const abortRef = useRef(null);
8
+ const fetchFolders = useCallback(async ()=>{
9
+ if (!ctx) return;
10
+ abortRef.current?.abort();
11
+ const ctrl = new AbortController();
12
+ abortRef.current = ctrl;
13
+ setLoading(true);
14
+ setError(null);
15
+ const base = (ctx.baseUrl ?? '').replace(/\/$/, '');
16
+ const url = `${base}/${ctx.tenantName}/orchestrator_/api/FoldersNavigation/GetFoldersForCurrentUser?take=${FOLDERS_PAGE_SIZE}`;
17
+ try {
18
+ const res = await fetch(url, {
19
+ headers: {
20
+ Authorization: `Bearer ${ctx.token}`,
21
+ Accept: 'application/json'
22
+ },
23
+ signal: ctrl.signal
24
+ });
25
+ if (!res.ok) throw new Error(`FoldersNavigation API ${res.status} ${res.statusText}`);
26
+ const data = await res.json();
27
+ if (!ctrl.signal.aborted) setFolders((data.PageItems ?? []).map((f)=>({
28
+ id: f.Key,
29
+ label: f.DisplayName,
30
+ numericId: f.Id
31
+ })));
32
+ } catch (err) {
33
+ if (err?.name === 'AbortError') return;
34
+ if (!ctrl.signal.aborted) setError(err instanceof Error ? err : new Error(String(err)));
35
+ } finally{
36
+ if (!ctrl.signal.aborted) setLoading(false);
37
+ }
38
+ }, [
39
+ ctx
40
+ ]);
41
+ useEffect(()=>{
42
+ if (!ctx) {
43
+ abortRef.current?.abort();
44
+ setFolders([]);
45
+ setLoading(false);
46
+ setError(null);
47
+ return;
48
+ }
49
+ fetchFolders();
50
+ return ()=>abortRef.current?.abort();
51
+ }, [
52
+ ctx,
53
+ fetchFolders
54
+ ]);
55
+ return {
56
+ folders,
57
+ loading,
58
+ error,
59
+ refetch: fetchFolders
60
+ };
61
+ }
62
+ const ORG_ADMIN_ROLES = [
63
+ 'ACCOUNT_ADMIN',
64
+ 'ACCOUNT_OWNER'
65
+ ];
66
+ function useCanManageByo(ctx) {
67
+ const [canManage, setCanManage] = useState(void 0);
68
+ const [loading, setLoading] = useState(false);
69
+ const [error, setError] = useState(null);
70
+ const abortRef = useRef(null);
71
+ useEffect(()=>{
72
+ if (!ctx) {
73
+ abortRef.current?.abort();
74
+ setCanManage(void 0);
75
+ setLoading(false);
76
+ setError(null);
77
+ return;
78
+ }
79
+ abortRef.current?.abort();
80
+ const ctrl = new AbortController();
81
+ abortRef.current = ctrl;
82
+ setCanManage(void 0);
83
+ setLoading(true);
84
+ setError(null);
85
+ const base = (ctx.baseUrl ?? '').replace(/\/$/, '');
86
+ const url = `${base}/portal_/api/organization/UserOrganizationInfo`;
87
+ fetch(url, {
88
+ headers: {
89
+ Authorization: `Bearer ${ctx.token}`,
90
+ Accept: 'application/json'
91
+ },
92
+ signal: ctrl.signal
93
+ }).then(async (res)=>{
94
+ if (!res.ok) throw new Error(`UserOrganizationInfo API ${res.status} ${res.statusText}`);
95
+ const data = await res.json();
96
+ if (!ctrl.signal.aborted) setCanManage(ORG_ADMIN_ROLES.includes(data.accountRoleType ?? ''));
97
+ }).catch((err)=>{
98
+ if (err?.name === 'AbortError') return;
99
+ if (!ctrl.signal.aborted) {
100
+ setError(err instanceof Error ? err : new Error(String(err)));
101
+ setCanManage(false);
102
+ }
103
+ }).finally(()=>{
104
+ if (!ctrl.signal.aborted) setLoading(false);
105
+ });
106
+ return ()=>ctrl.abort();
107
+ }, [
108
+ ctx
109
+ ]);
110
+ return {
111
+ canManage,
112
+ loading,
113
+ error
114
+ };
115
+ }
116
+ function buildLlmConfigurationsUrl(ctx, options) {
117
+ const base = (ctx.baseUrl ?? '').replace(/\/$/, '');
118
+ const root = `${base}/portal_/admin/ai-trust-layer/llm-configurations`;
119
+ const { intent, folderNumericId, configurationId } = options;
120
+ if (ctx.tenantId && null != folderNumericId) {
121
+ if ('edit' === intent && configurationId) return `${root}/${ctx.tenantId}/${folderNumericId}/edit/${encodeURIComponent(configurationId)}`;
122
+ if ('add' === intent) {
123
+ const params = new URLSearchParams();
124
+ if (ctx.requestingProduct) params.set('product', ctx.requestingProduct);
125
+ if (ctx.requestingFeature) params.set('feature', ctx.requestingFeature);
126
+ const qs = params.toString();
127
+ return `${root}/${ctx.tenantId}/${folderNumericId}/add${qs ? `?${qs}` : ''}`;
128
+ }
129
+ }
130
+ const params = new URLSearchParams();
131
+ if (ctx.tenantId) params.set('tenantId', ctx.tenantId);
132
+ if (null != folderNumericId) params.set('folderId', String(folderNumericId));
133
+ const qs = params.toString();
134
+ return `${root}${qs ? `?${qs}` : ''}`;
135
+ }
136
+ const platformNavigation = {
137
+ assign (url) {
138
+ globalThis.location?.assign(url);
139
+ }
140
+ };
141
+ export { buildLlmConfigurationsUrl, platformNavigation, useCanManageByo, useUserFolders };