-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP]: Integrations Setup #185
base: alpha
Are you sure you want to change the base?
Conversation
Conflicts: src/app/store.ts On branch integrations-api Changes to be committed: modified: package-lock.json modified: package.json modified: src/app/middleware.ts modified: src/app/store.ts modified: src/components/Chat/Chat.tsx modified: src/components/ChatContent/ChatContent.tsx modified: src/components/ChatContent/UserInput.tsx modified: src/components/ChatForm/ChatForm.tsx modified: src/components/ChatForm/RetryForm.tsx new file: src/components/Dropzone/Dropzone.tsx new file: src/components/Dropzone/index.tsx new file: src/features/AttachedImages/imagesSlice.ts new file: src/features/AttachedImages/index.ts modified: src/features/Chat/Thread/utils.ts modified: src/features/History/historySlice.ts new file: src/hooks/useAttachedImages.ts modified: src/hooks/useSendChatRequest.ts modified: src/services/refact/chat.ts modified: src/services/refact/types.ts
Conflicts: src/__fixtures__/index.ts src/app/store.ts Changes to be committed: modified: .prettierignore modified: .storybook/main.ts modified: .storybook/preview.tsx deleted: TODO.md modified: package-lock.json modified: package.json new file: public/mockServiceWorker.js modified: src/__fixtures__/chat.ts modified: src/__fixtures__/index.ts modified: src/__fixtures__/markdown.ts new file: src/__fixtures__/some_chrome_screenshots.json new file: src/__fixtures__/survey_questions.ts new file: src/__tests__/UserSurvey.test.tsx modified: src/app/middleware.ts modified: src/app/store.ts modified: src/components/Chart/Chart.tsx modified: src/components/Chat/Chat.tsx modified: src/components/ChatContent/ChatContent.stories.tsx modified: src/components/ChatContent/ChatContent.tsx modified: src/components/ChatContent/ToolsContent.tsx modified: src/components/ChatContent/UserInput.tsx modified: src/components/ChatForm/ChatForm.stories.tsx modified: src/components/ChatForm/ChatForm.test.tsx modified: src/components/ChatForm/ChatForm.tsx new file: src/components/ChatForm/ToolConfirmation.module.css new file: src/components/ChatForm/ToolConfirmation.tsx modified: src/components/Command/Command.module.css modified: src/components/Command/Markdown.tsx modified: src/components/Markdown/Markdown.tsx modified: src/components/Reveal/reveal.module.css modified: src/components/Spinner/Spinner.module.css modified: src/components/Spinner/Spinner.stories.tsx modified: src/components/Spinner/Spinner.tsx modified: src/components/StatisticView/StatisticView.tsx modified: src/components/Table/Table.tsx modified: src/components/Toolbar/Toolbar.tsx modified: src/events/index.ts modified: src/features/App.tsx modified: src/features/Chat/Thread/actions.ts modified: src/features/Chat/Thread/utils.ts modified: src/features/TipOfTheDay.tsx new file: src/features/ToolConfirmation/confirmationSlice.ts new file: src/features/UserSurvey/UserSurvey.stories.tsx new file: src/features/UserSurvey/UserSurvey.tsx new file: src/features/UserSurvey/index.ts new file: src/features/UserSurvey/userSurveySlice.ts modified: src/hooks/index.ts modified: src/hooks/useEventBusForIDE.ts modified: src/hooks/useGetToolsQuery.ts new file: src/hooks/useGetUserSurvey.ts modified: src/hooks/usePatchActions.ts modified: src/hooks/useSendChatRequest.ts modified: src/lib/render/index.tsx modified: src/services/refact/chat.ts modified: src/services/refact/consts.ts modified: src/services/refact/path.ts modified: src/services/refact/tools.ts modified: src/services/refact/types.ts modified: src/services/smallcloud/index.ts new file: src/utils/extractFilePathFromPin.ts modified: src/utils/index.ts modified: src/utils/mockServer.ts modified: src/vite-env.d.ts modified: vite.config.ts
… into feat/setup-integrations
- [x] Implemented an `IntegrationForm` with reusable fields for each integration field type - [x] Schema check in `handleSubmit` to transform formData to corresponding field types - [x] Added `toPascalCase` utility function
Slight refactoring of apply and return buttons, and some other minor changes.
* wip(configuration chat): send first messages. * wip(configuration chat): tool use in configuration chat.
* wip(configuration chat): handle going back. * fix(integration chat): change tools setting to explore. * chore(missing deps in hook): `renderField` function was missing deps. * feat(integration data cache): add slice for integrations cache. * fix(integration cache): remove item on save. * fix(config chat): chat being sent multiple times. * wip(tool confirmation): skip confirming tool use when running a configuration. * feat: add apply all button to configuration chat. * feat: reload old configuration chat and go back to the form * feat(configuration chat): add error message handler. * fix(configuration chat): use agentic mode and don't set the model. --------- Co-authored-by: Andrii Lashchov <84778697+alashchev17@users.noreply.github.com>
* wip: docker containers api handlers * wip: docker actions API & action buttons * wip: better action handling * wip: simplification of dockerApi & action buttons improvements * chore: fixtures update * chore: removal of unnecessary esling rule bypass * wip: docker container card & refactoring of integration form * feat(configuration): adjusted size of inputs based on f_size & DataList instead of raw flexboxes * wip: form appearance & responsive layout * wip: updated docker section * wip(refactoring): smartlink, availability, renderField, handleSmartlinkClick extracted to separate files and scopes * wip(form): bool f_type support * wip(refactoring): making docker within integr_schema optional, conditional rendering of docker section within integration form * wip(docker): error handling * wip(refactoring): toolscontent usage summary refactoring * wip(docker containers): collapsible container details & reveal if large * wip(refactoring): project name handling for macOS & Windows * wip(refactoring): docker error card & debounced loaded state * wip(docker containers): better loading state management * wip: separation & refactoring of UI, making docker containers cards better & making integrationsview setup better * fix: error types for docker error cards * fix: unchecked switch values included to formData * chore: removal no-console * chore: removal of unexisting prop * fix: extra fields showup button conditional rendering * chore: TODO insertion * fix: rule bypass removal * feat: debug logging library usage for integrations logs * feat: implementing root debug instance, managing debuggable instances launch * chore: better logging message * chore: TODO for tags invalidation docker * fix: replaced <label/> to <Text as='label' />
); | ||
}, [currentThreadIntegration, integrationsMap]); | ||
|
||
// TBD: what if they went home then came back to integrations? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good point.
@@ -0,0 +1,29 @@ | |||
fieldset { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this file used anywhere?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also global selector :/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those ones should be removed, it's a legacy from the json schema parsing library
const next = createInitialState("agent", action.payload.integration); | ||
next.thread.integration = action.payload.integration; | ||
next.thread.messages = action.payload.messages; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete these comments
} | ||
|
||
function isDockerLabels(json: unknown): json is DockerLabels { | ||
// Since DockerPorts is defined as NonNullable<unknown>, we don't have specific structure to validate. Just checking, that it's not null | undefined |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these unknown or likely to change?
import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; | ||
import { RootState } from "../../app/store"; | ||
import { DOCKER_CONTAINER_ACTION, DOCKER_CONTAINER_LIST } from "./consts"; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There might be some cache issues here,
field: IntegrationField<NonNullable<IntegrationPrimitive>>; | ||
f_type: "bool" | "int" | "string"; | ||
}) => { | ||
if (values[fieldKey]) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be a falsy value 0, null ""
?
if(fieldKey in values) {
}
or
if(values[fieldKey] !== undefined) {}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some comments.
Pull Request Title
Description
Type of change
How to Test
Screenshots (if applicable)
Checklist
Linked Issues
Additional Notes