@uipath/apollo-vertex 1.4.0 → 2.0.0
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 +4 -9
- package/dist/entries/index.d.ts +0 -1
- package/dist/entries/index.js +1 -2
- package/dist/entries/proteus.d.ts +1 -0
- package/dist/entries/proteus.js +2 -0
- package/dist/registry/solution-tests/use-solution-test-collection.d.ts +6 -1
- package/dist/registry/solution-tests/use-solution-test-collection.js +6 -3
- package/dist/registry/solution-tests/use-solution-tests.js +2 -2
- package/dist/registry/sonner/sonner.js +4 -7
- package/dist/registry/use-data-table/useEntityDataTable.d.ts +6 -1
- package/package.json +12 -8
- package/skills/setup/SKILL.md +7 -5
package/README.md
CHANGED
|
@@ -26,15 +26,10 @@ import { Button, DataTable } from "@uipath/apollo-vertex";
|
|
|
26
26
|
Everything, including the app shell, charts, feature flags, Solution Tests and AI chat, is exported
|
|
27
27
|
from the package root. Translation JSON files are available at `@uipath/apollo-vertex/locales/*`.
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- `@tanstack/react-db`
|
|
34
|
-
- `@uipath/proteus-client`
|
|
35
|
-
|
|
36
|
-
They are declared only in `peerDependenciesMeta` (as optional) so that pnpm does not try to install them
|
|
37
|
-
in this workspace. The two `@uipath` packages are not on the public npm registry.
|
|
29
|
+
The Proteus feature flag adapter, `createProteusProvider`, is exported from
|
|
30
|
+
`@uipath/apollo-vertex/proteus` instead of the root. It needs `@uipath/proteus-client`, which is not on
|
|
31
|
+
the public npm registry, so it is declared only in `peerDependenciesMeta` (as optional). Install it
|
|
32
|
+
yourself if you import that subpath.
|
|
38
33
|
|
|
39
34
|
## Layout
|
|
40
35
|
|
package/dist/entries/index.d.ts
CHANGED
|
@@ -106,7 +106,6 @@ export { FeatureFlagGuard } from "../registry/feature-flag-guard/feature-flag-gu
|
|
|
106
106
|
export { ProtectedFeatureRoute } from "../registry/protected-feature-route/protected-feature-route";
|
|
107
107
|
export { useFeatureFlag } from "../registry/use-feature-flag/use-feature-flag";
|
|
108
108
|
export type { FeatureFlagProviderConfig, FeatureFlagUserContext, } from "../registry/feature-flag-provider/types";
|
|
109
|
-
export { createProteusProvider, type FlagMapping, type ProteusFeatureFlagValues, } from "../registry/feature-flag-provider/proteus-adapter";
|
|
110
109
|
export { SolutionTestsView } from "../registry/solution-tests/solution-tests-view";
|
|
111
110
|
export type { SolutionTestsViewProps } from "../registry/solution-tests/solution-tests-view";
|
|
112
111
|
export { SaveAsTestButton } from "../registry/solution-tests/save-as-test-button";
|
package/dist/entries/index.js
CHANGED
|
@@ -27,7 +27,6 @@ import { FeatureFlagContext, FeatureFlagProvider, useFeatureFlagProvider } from
|
|
|
27
27
|
import { FeatureFlagGuard } from "../registry/feature-flag-guard/feature-flag-guard.js";
|
|
28
28
|
import { ProtectedFeatureRoute } from "../registry/protected-feature-route/protected-feature-route.js";
|
|
29
29
|
import { useFeatureFlag } from "../registry/use-feature-flag/use-feature-flag.js";
|
|
30
|
-
import { createProteusProvider } from "../registry/feature-flag-provider/proteus-adapter.js";
|
|
31
30
|
import { SolutionTestsView } from "../registry/solution-tests/solution-tests-view.js";
|
|
32
31
|
import { SaveAsTestButton } from "../registry/solution-tests/save-as-test-button.js";
|
|
33
32
|
import { SolutionTestActionError } from "../registry/solution-tests/errors.js";
|
|
@@ -145,4 +144,4 @@ export * from "../registry/ai-chat/tools/data-fabric-line/index.js";
|
|
|
145
144
|
export * from "../registry/ai-chat/tools/data-fabric-multi-line/index.js";
|
|
146
145
|
export * from "../registry/ai-chat/tools/data-fabric-table/index.js";
|
|
147
146
|
export * from "../registry/ai-chat/tools/data-fabric/index.js";
|
|
148
|
-
export { AiChat, AiChatEmptyState, AiChatLoading, AiChatMarkdown, AiChatThinking, ApolloShell, AuthContext, AutopilotGradientIcon, BaselineCompare, CASE_EVALUATION_EVALUATOR_ID, CASE_EVALUATION_OUTPUT_RENDERER, CaseEvaluationDetailsSchema, CaseEvaluationOutputResult, CaseEvaluationOutputSchema, CheckboxField, EvaluationPairStatus, ExpandedAgents, ExpandedAgentsView, ExpandedRunTests, ExpandedRunTestsView, FeatureFlagContext, FeatureFlagGuard, FeatureFlagProvider, FieldError as FormFieldError, GENERIC_RENDERER, GroupMembershipGuard, IXP_EXTRACTION_EVALUATOR_ID, IXP_OUTPUT_RENDERER, IxpDetailsSchema, IxpDocStatus, IxpOutputResult, IxpOutputSchema, IxpVerdict, JSON_SIMILARITY_EVALUATOR_ID, JobRole, LLM_JUDGE_EVALUATOR_ID, LocaleProvider, MembershipDenied, NoDataMessage, ProcessOutputView, ProtectedFeatureRoute, RadioGroupField, Role, RunDetails, RunDetailsView, RunResultStatus, RunStatus, STALE_TIME_MS, STORAGE_KEYS, SUPPORTED_LOCALES, SaveAsTestButton, SelectField, ShellAuthProvider, ShellLayout, ShellLogin, ShellSidebar, ShellUserProvider, SolutionTestActionError, SolutionTestStatus, SolutionTests, SolutionTestsProvider, SolutionTestsView, SubmitButton, SummaryVerdict, SwitchField, TOKEN_QUERY_KEY, TextField, TextareaField, ThemeProvider, VerifyingMembership, VersionDeltaGlyph, addVertexTranslations, assertDateOrString, assertString, cn, configurei18n, createAgentHubConnection, createConversationalAgentConnection,
|
|
147
|
+
export { AiChat, AiChatEmptyState, AiChatLoading, AiChatMarkdown, AiChatThinking, ApolloShell, AuthContext, AutopilotGradientIcon, BaselineCompare, CASE_EVALUATION_EVALUATOR_ID, CASE_EVALUATION_OUTPUT_RENDERER, CaseEvaluationDetailsSchema, CaseEvaluationOutputResult, CaseEvaluationOutputSchema, CheckboxField, EvaluationPairStatus, ExpandedAgents, ExpandedAgentsView, ExpandedRunTests, ExpandedRunTestsView, FeatureFlagContext, FeatureFlagGuard, FeatureFlagProvider, FieldError as FormFieldError, GENERIC_RENDERER, GroupMembershipGuard, IXP_EXTRACTION_EVALUATOR_ID, IXP_OUTPUT_RENDERER, IxpDetailsSchema, IxpDocStatus, IxpOutputResult, IxpOutputSchema, IxpVerdict, JSON_SIMILARITY_EVALUATOR_ID, JobRole, LLM_JUDGE_EVALUATOR_ID, LocaleProvider, MembershipDenied, NoDataMessage, ProcessOutputView, ProtectedFeatureRoute, RadioGroupField, Role, RunDetails, RunDetailsView, RunResultStatus, RunStatus, STALE_TIME_MS, STORAGE_KEYS, SUPPORTED_LOCALES, SaveAsTestButton, SelectField, ShellAuthProvider, ShellLayout, ShellLogin, ShellSidebar, ShellUserProvider, SolutionTestActionError, SolutionTestStatus, SolutionTests, SolutionTestsProvider, SolutionTestsView, SubmitButton, SummaryVerdict, SwitchField, TOKEN_QUERY_KEY, TextField, TextareaField, ThemeProvider, VerifyingMembership, VersionDeltaGlyph, addVertexTranslations, assertDateOrString, assertString, cn, configurei18n, createAgentHubConnection, createConversationalAgentConnection, ensureValidToken, genericRenderer, getStoredIdToken, getTokenQueryKey, login, logout, makeProcessOutputRenderer, makeRenderer, resolveEvaluatorRenderer, resolveProcessOutputRenderer, resolveReturnPath, toCodedAppFilePath, useAccessToken, useAdoptJob, useAppForm, useAuth, useBaselineJobs, useCreateTest, useDataTable, useDeleteTest, useEntityColumns, useEntityDataTable, useFeatureFlag, useFeatureFlagProvider, useFieldContext, useForceStopBatch, useForceStopRun, useFormContext, useGroupId, useGroupMembers, useIsGroupMember, useIsMobile, useJobExpectedOutput, useRemoveJobBaseline, useResultAttachment, useRunResults, useRunTests, useSolutionTestBatchRuns, useSolutionTestRuns, useSolutionTests, useSolutionTestsConfig, useSolutionTestsContext, useTheme, useToggleTestActive, useTranslatedErrors, useUpdateBaseline, useUser, versionDelta, withForm };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createProteusProvider, type FlagMapping, type ProteusFeatureFlagValues, } from "../registry/feature-flag-provider/proteus-adapter";
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* outside a SolutionProvider or when the named collection is not registered.
|
|
5
5
|
*/
|
|
6
6
|
import type { Collection } from "@tanstack/react-db";
|
|
7
|
+
import { useSolution } from "@uipath/vs-core";
|
|
7
8
|
import { ENTITY } from "./constants";
|
|
8
9
|
import type { SolutionTest, SolutionTestBatchRun, SolutionTestJob, SolutionTestRun, SolutionTestRunResult } from "./types";
|
|
9
10
|
/** Row type stored in each Solution Tests collection, keyed by its entity name. */
|
|
@@ -14,5 +15,9 @@ type SolutionTestRow = {
|
|
|
14
15
|
[ENTITY.jobs]: SolutionTestJob;
|
|
15
16
|
[ENTITY.runResults]: SolutionTestRunResult;
|
|
16
17
|
};
|
|
17
|
-
|
|
18
|
+
type SolutionTestCollection<T extends object> = Collection<T, string, {
|
|
19
|
+
refetch: () => Promise<void>;
|
|
20
|
+
}>;
|
|
21
|
+
export declare function getSolutionTestCollection<K extends keyof SolutionTestRow>(solution: ReturnType<typeof useSolution>, entity: K): SolutionTestCollection<SolutionTestRow[K]> | undefined;
|
|
22
|
+
export declare function useSolutionTestCollection<K extends keyof SolutionTestRow>(entity: K): SolutionTestCollection<SolutionTestRow[K]>;
|
|
18
23
|
export {};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useSolution } from "@uipath/vs-core";
|
|
3
|
+
function getSolutionTestCollection(solution, entity) {
|
|
4
|
+
const collections = solution.api.collections.solutionTests;
|
|
5
|
+
return collections[entity];
|
|
6
|
+
}
|
|
3
7
|
function useSolutionTestCollection(entity) {
|
|
4
8
|
const solution = useSolution();
|
|
5
9
|
if (!solution) throw new Error("useSolutionTestCollection must be used within a SolutionProvider.");
|
|
6
|
-
const
|
|
7
|
-
const collection = selected;
|
|
10
|
+
const collection = getSolutionTestCollection(solution, entity);
|
|
8
11
|
if (!collection) throw new Error(`Solution Tests collection "${entity}" is unavailable.`);
|
|
9
12
|
return collection;
|
|
10
13
|
}
|
|
11
|
-
export { useSolutionTestCollection };
|
|
14
|
+
export { getSolutionTestCollection, useSolutionTestCollection };
|
|
@@ -4,7 +4,7 @@ import { useMutation } from "@tanstack/react-query";
|
|
|
4
4
|
import { useSolution } from "@uipath/vs-core";
|
|
5
5
|
import { ENTITY } from "./constants.js";
|
|
6
6
|
import { useSolutionTestsActions, useSolutionTestsConfig } from "./context.js";
|
|
7
|
-
import { useSolutionTestCollection } from "./use-solution-test-collection.js";
|
|
7
|
+
import { getSolutionTestCollection, useSolutionTestCollection } from "./use-solution-test-collection.js";
|
|
8
8
|
function useSolutionTests() {
|
|
9
9
|
const collection = useSolutionTestCollection(ENTITY.tests);
|
|
10
10
|
const { data, isLoading } = useLiveQuery((q)=>q.from({
|
|
@@ -47,7 +47,7 @@ function useToggleTestActive() {
|
|
|
47
47
|
const { track } = useSolutionTestsConfig();
|
|
48
48
|
return useMutation({
|
|
49
49
|
mutationFn: async ({ testId, isActive })=>{
|
|
50
|
-
const collection = solution
|
|
50
|
+
const collection = solution && getSolutionTestCollection(solution, ENTITY.tests);
|
|
51
51
|
if (!collection) throw new Error("Solution Tests collection is unavailable.");
|
|
52
52
|
const transaction = collection.update(testId, (draft)=>{
|
|
53
53
|
draft.IsActive = isActive;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { CircleCheckIcon, InfoIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon } from "lucide-react";
|
|
4
4
|
import { Toaster } from "sonner";
|
|
5
|
-
import { useTheme } from "../shell/shell-theme-provider.js";
|
|
6
5
|
const iconAlign = "[&>[data-icon]]:!items-start [&>[data-icon]>svg]:!mt-0.5";
|
|
7
6
|
const statusTextClasses = "[&>[data-icon]>svg]:!text-[oklch(0.166_0.0283_203.34)] dark:[&>[data-icon]>svg]:!text-foreground [&_[data-title]]:!text-[oklch(0.166_0.0283_203.34)] dark:[&_[data-title]]:!text-foreground [&_[data-description]]:!text-[oklch(0.166_0.0283_203.34)] dark:[&_[data-description]]:!text-foreground [&_[data-close-button]]:!text-[oklch(0.166_0.0283_203.34)] dark:[&_[data-close-button]]:!text-foreground";
|
|
8
7
|
const apolloToastClassNames = {
|
|
@@ -10,12 +9,11 @@ const apolloToastClassNames = {
|
|
|
10
9
|
success: `!border-success !bg-[color-mix(in_srgb,var(--success)_25%,var(--card)_75%)] dark:!bg-[color-mix(in_srgb,var(--success)_25%,var(--popover)_75%)] ${statusTextClasses} ${iconAlign}`,
|
|
11
10
|
warning: `!border-warning !bg-[color-mix(in_srgb,var(--warning)_60%,var(--card)_40%)] dark:!bg-[color-mix(in_srgb,var(--warning)_60%,var(--popover)_40%)] ${statusTextClasses} ${iconAlign}`,
|
|
12
11
|
error: `!border-destructive !bg-[color-mix(in_srgb,var(--destructive)_50%,var(--card)_50%)] dark:!bg-[color-mix(in_srgb,var(--destructive)_50%,var(--popover)_50%)] ${statusTextClasses} ${iconAlign}`,
|
|
13
|
-
|
|
12
|
+
description: "!text-popover-foreground",
|
|
13
|
+
cancelButton: "dark:!bg-white/30",
|
|
14
|
+
closeButton: "!left-auto !right-2 !top-2 !transform-none !border-none !bg-transparent !rounded-sm !text-popover-foreground"
|
|
14
15
|
};
|
|
15
|
-
const sonner_Toaster = ({ theme: _theme, ...props })
|
|
16
|
-
const { resolvedTheme } = useTheme();
|
|
17
|
-
return /*#__PURE__*/ jsx(Toaster, {
|
|
18
|
-
theme: resolvedTheme,
|
|
16
|
+
const sonner_Toaster = ({ theme: _theme, ...props })=>/*#__PURE__*/ jsx(Toaster, {
|
|
19
17
|
className: "toaster group",
|
|
20
18
|
position: "top-center",
|
|
21
19
|
duration: 5000,
|
|
@@ -48,5 +46,4 @@ const sonner_Toaster = ({ theme: _theme, ...props })=>{
|
|
|
48
46
|
},
|
|
49
47
|
...props
|
|
50
48
|
});
|
|
51
|
-
};
|
|
52
49
|
export { sonner_Toaster as Toaster, apolloToastClassNames };
|
|
@@ -10,7 +10,12 @@ export interface UseEntityDataTableOptions<TRecord extends EntityRecord = Entity
|
|
|
10
10
|
columnOverrides?: Record<string, (baseDef: ColumnDefWithAccessorKey<TRecord>) => ColumnDefWithAccessorKey<TRecord>>;
|
|
11
11
|
}
|
|
12
12
|
export declare function useEntityDataTable<TRecord extends EntityRecord = EntityRecord>({ entity, storageKey: storageKeyProp, initialVisibleColumnCount, systemFields, columnOrder: columnOrderProp, extraColumns, columnOverrides, }: UseEntityDataTableOptions<TRecord>): {
|
|
13
|
-
data:
|
|
13
|
+
data: {
|
|
14
|
+
readonly $synced: boolean;
|
|
15
|
+
readonly $origin: import("@tanstack/react-db").VirtualOrigin;
|
|
16
|
+
readonly $key: string;
|
|
17
|
+
readonly $collectionId: string;
|
|
18
|
+
}[];
|
|
14
19
|
isLoading: boolean;
|
|
15
20
|
columns: import("../data-table").ColumnDef<TRecord>[];
|
|
16
21
|
sorting: import("@tanstack/react-table").SortingState;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uipath/apollo-vertex",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "UiPath Apollo Vertex design system components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
"types": "./dist/entries/index.d.ts",
|
|
18
18
|
"default": "./dist/entries/index.js"
|
|
19
19
|
},
|
|
20
|
+
"./proteus": {
|
|
21
|
+
"types": "./dist/entries/proteus.d.ts",
|
|
22
|
+
"default": "./dist/entries/proteus.js"
|
|
23
|
+
},
|
|
20
24
|
"./theme.css": "./dist/theme.css",
|
|
21
25
|
"./tailwind.css": "./dist/tailwind.css",
|
|
22
26
|
"./locales/*": "./dist/locales/*"
|
|
@@ -80,10 +84,12 @@
|
|
|
80
84
|
"peerDependencies": {
|
|
81
85
|
"@tanstack/ai": "^0.14.0",
|
|
82
86
|
"@tanstack/ai-client": "^0.8.0",
|
|
87
|
+
"@tanstack/react-db": "^0.1.83",
|
|
83
88
|
"@tanstack/react-query": "^5.90.21",
|
|
84
89
|
"@tanstack/react-router": "^1.132.31",
|
|
85
90
|
"@ts-rest/core": "^3.53.0-rc.1",
|
|
86
91
|
"@uipath/uipath-typescript": "^1.7.1",
|
|
92
|
+
"@uipath/vs-core": "^4.4.0",
|
|
87
93
|
"eventsource-parser": "^3.0.6",
|
|
88
94
|
"highlight.js": "^11.11.1",
|
|
89
95
|
"i18next": "^25.8.1 || ^26.0.0",
|
|
@@ -100,14 +106,8 @@
|
|
|
100
106
|
"tailwindcss": "^4.0.0"
|
|
101
107
|
},
|
|
102
108
|
"peerDependenciesMeta": {
|
|
103
|
-
"@tanstack/react-db": {
|
|
104
|
-
"optional": true
|
|
105
|
-
},
|
|
106
109
|
"@uipath/proteus-client": {
|
|
107
110
|
"optional": true
|
|
108
|
-
},
|
|
109
|
-
"@uipath/vs-core": {
|
|
110
|
-
"optional": true
|
|
111
111
|
}
|
|
112
112
|
},
|
|
113
113
|
"devDependencies": {
|
|
@@ -116,8 +116,11 @@
|
|
|
116
116
|
"@rslib/core": "^0.19.6",
|
|
117
117
|
"@tanstack/ai": "0.14.0",
|
|
118
118
|
"@tanstack/ai-client": "0.8.0",
|
|
119
|
+
"@tanstack/db": "0.6.5",
|
|
119
120
|
"@tanstack/intent": "0.4.0",
|
|
120
|
-
"@tanstack/
|
|
121
|
+
"@tanstack/query-db-collection": "1.0.36",
|
|
122
|
+
"@tanstack/react-db": "0.1.83",
|
|
123
|
+
"@tanstack/react-query": "^5.104.1",
|
|
121
124
|
"@tanstack/react-router": "^1.170.40",
|
|
122
125
|
"@testing-library/dom": "^10.4.1",
|
|
123
126
|
"@testing-library/react": "^16.3.0",
|
|
@@ -126,6 +129,7 @@
|
|
|
126
129
|
"@types/react": "^19.2.6",
|
|
127
130
|
"@types/react-dom": "^19.2.2",
|
|
128
131
|
"@uipath/uipath-typescript": "^1.8.0",
|
|
132
|
+
"@uipath/vs-core": "^4.5.0",
|
|
129
133
|
"@vitest/coverage-v8": "^4.1.5",
|
|
130
134
|
"dependency-cruiser": "^17.3.6",
|
|
131
135
|
"eslint-plugin-react": "^7.37.5",
|
package/skills/setup/SKILL.md
CHANGED
|
@@ -30,14 +30,16 @@ Install `@uipath/apollo-vertex` if the project doesn't have it yet.
|
|
|
30
30
|
|
|
31
31
|
Then read `peerDependencies` in
|
|
32
32
|
`node_modules/@uipath/apollo-vertex/package.json` and make sure the app has
|
|
33
|
-
every package listed there, in a version that matches the range.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
app's bundler fails to resolve the entry without them.
|
|
33
|
+
every package listed there, in a version that matches the range. Install
|
|
34
|
+
`@uipath/proteus-client` only if the app uses Proteus feature flags (it imports
|
|
35
|
+
`@uipath/apollo-vertex/proteus`).
|
|
37
36
|
|
|
38
37
|
- If the app already has a peer in a version outside the range, tell the user
|
|
39
38
|
about the conflict instead of upgrading it on your own.
|
|
40
|
-
-
|
|
39
|
+
- Pick the `@tanstack/react-db` release whose `@tanstack/db` dependency matches
|
|
40
|
+
the one `@tanstack/query-db-collection` uses in the app. Each release pins an
|
|
41
|
+
exact `@tanstack/db`, and two copies do not work together.
|
|
42
|
+
- `@uipath/proteus-client` is not on the public npm registry. If installing it
|
|
41
43
|
fails with a 404 or an authentication error, stop and ask the user for access
|
|
42
44
|
to UiPath's package registry. Do not install look-alike packages from npm.
|
|
43
45
|
- If the app doesn't use Tailwind yet, set it up for the app's bundler with
|