Skip to content

Commit 3a92364

Browse files
feat(ux): more explicit verbiage on some dialog menus, google drive updates, advanved to additional fields, remove general settings store sync in favor of tanstack (#2875)
* fix(verbiage): more explicit verbiage on some dialog menus, google drive updates, advanved to additional fields, remove general settings store sync in favor of tanstack * updated docs * nested tag dropdown, more well-defined nested outputs, keyboard nav for context menus, etc * cleanup * allow cannonical toggle even if depends on not satisfied * remove smooth scroll in tag drop * fix selection * fix --------- Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai>
1 parent 5e2468c commit 3a92364

File tree

76 files changed

+3821
-1046
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+3821
-1046
lines changed

apps/docs/content/docs/en/tools/github.mdx

Lines changed: 752 additions & 119 deletions
Large diffs are not rendered by default.

apps/docs/content/docs/en/tools/google_drive.mdx

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ List files and folders in Google Drive with complete metadata
6666
| --------- | ---- | ----------- |
6767
| `files` | array | Array of file metadata objects from Google Drive |
6868
|`id` | string | Google Drive file ID |
69+
|`kind` | string | Resource type identifier |
6970
|`name` | string | File name |
7071
|`mimeType` | string | MIME type |
71-
|`kind` | string | Resource type identifier |
7272
|`description` | string | File description |
7373
|`originalFilename` | string | Original uploaded filename |
7474
|`fullFileExtension` | string | Full file extension |
@@ -135,6 +135,7 @@ Get metadata for a specific file in Google Drive by its ID
135135
| --------- | ---- | ----------- |
136136
| `file` | json | The file metadata |
137137
|`id` | string | Google Drive file ID |
138+
|`kind` | string | Resource type identifier |
138139
|`name` | string | File name |
139140
|`mimeType` | string | MIME type |
140141
|`description` | string | File description |
@@ -175,9 +176,9 @@ Create a new folder in Google Drive with complete metadata returned
175176
| --------- | ---- | ----------- |
176177
| `file` | object | Complete created folder metadata from Google Drive |
177178
|`id` | string | Google Drive folder ID |
179+
|`kind` | string | Resource type identifier |
178180
|`name` | string | Folder name |
179181
|`mimeType` | string | MIME type \(application/vnd.google-apps.folder\) |
180-
|`kind` | string | Resource type identifier |
181182
|`description` | string | Folder description |
182183
|`owners` | json | List of folder owners |
183184
|`permissions` | json | Folder permissions |
@@ -233,9 +234,9 @@ Upload a file to Google Drive with complete metadata returned
233234
| --------- | ---- | ----------- |
234235
| `file` | object | Complete uploaded file metadata from Google Drive |
235236
|`id` | string | Google Drive file ID |
237+
|`kind` | string | Resource type identifier |
236238
|`name` | string | File name |
237239
|`mimeType` | string | MIME type |
238-
|`kind` | string | Resource type identifier |
239240
|`description` | string | File description |
240241
|`originalFilename` | string | Original uploaded filename |
241242
|`fullFileExtension` | string | Full file extension |
@@ -309,9 +310,9 @@ Download a file from Google Drive with complete metadata (exports Google Workspa
309310
|`size` | number | File size in bytes |
310311
| `metadata` | object | Complete file metadata from Google Drive |
311312
|`id` | string | Google Drive file ID |
313+
|`kind` | string | Resource type identifier |
312314
|`name` | string | File name |
313315
|`mimeType` | string | MIME type |
314-
|`kind` | string | Resource type identifier |
315316
|`description` | string | File description |
316317
|`originalFilename` | string | Original uploaded filename |
317318
|`fullFileExtension` | string | Full file extension |
@@ -380,6 +381,7 @@ Create a copy of a file in Google Drive
380381
| --------- | ---- | ----------- |
381382
| `file` | json | The copied file metadata |
382383
|`id` | string | Google Drive file ID of the copy |
384+
|`kind` | string | Resource type identifier |
383385
|`name` | string | File name |
384386
|`mimeType` | string | MIME type |
385387
|`webViewLink` | string | URL to view in browser |
@@ -410,6 +412,7 @@ Update file metadata in Google Drive (rename, move, star, add description)
410412
| --------- | ---- | ----------- |
411413
| `file` | json | The updated file metadata |
412414
|`id` | string | Google Drive file ID |
415+
|`kind` | string | Resource type identifier |
413416
|`name` | string | File name |
414417
|`mimeType` | string | MIME type |
415418
|`description` | string | File description |
@@ -434,34 +437,13 @@ Move a file to the trash in Google Drive (can be restored later)
434437
| --------- | ---- | ----------- |
435438
| `file` | json | The trashed file metadata |
436439
|`id` | string | Google Drive file ID |
440+
|`kind` | string | Resource type identifier |
437441
|`name` | string | File name |
438442
|`mimeType` | string | MIME type |
439443
|`trashed` | boolean | Whether file is in trash \(should be true\) |
440444
|`trashedTime` | string | When file was trashed |
441445
|`webViewLink` | string | URL to view in browser |
442446

443-
### `google_drive_untrash`
444-
445-
Restore a file from the trash in Google Drive
446-
447-
#### Input
448-
449-
| Parameter | Type | Required | Description |
450-
| --------- | ---- | -------- | ----------- |
451-
| `fileId` | string | Yes | The ID of the file to restore from trash |
452-
453-
#### Output
454-
455-
| Parameter | Type | Description |
456-
| --------- | ---- | ----------- |
457-
| `file` | json | The restored file metadata |
458-
|`id` | string | Google Drive file ID |
459-
|`name` | string | File name |
460-
|`mimeType` | string | MIME type |
461-
|`trashed` | boolean | Whether file is in trash \(should be false\) |
462-
|`webViewLink` | string | URL to view in browser |
463-
|`parents` | json | Parent folder IDs |
464-
465447
### `google_drive_delete`
466448

467449
Permanently delete a file from Google Drive (bypasses trash)
@@ -557,6 +539,7 @@ List all permissions (who has access) for a file in Google Drive
557539
|`allowFileDiscovery` | boolean | Whether file is discoverable by grantee |
558540
|`pendingOwner` | boolean | Whether ownership transfer is pending |
559541
|`permissionDetails` | json | Details about inherited permissions |
542+
| `nextPageToken` | string | Token for fetching the next page of permissions |
560543

561544
### `google_drive_get_about`
562545

apps/docs/content/docs/en/tools/google_forms.mdx

Lines changed: 53 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,17 @@ Retrieve a single response or list responses from a Google Form
5151

5252
| Parameter | Type | Description |
5353
| --------- | ---- | ----------- |
54-
| `response` | json | Operation response data |
55-
| `formId` | string | Form ID |
56-
| `title` | string | Form title |
57-
| `responderUri` | string | Form responder URL |
58-
| `items` | json | Form items |
59-
| `responses` | json | Form responses |
60-
| `watches` | json | Form watches |
54+
| `responses` | array | Array of form responses \(when no responseId provided\) |
55+
|`responseId` | string | Unique response ID |
56+
|`createTime` | string | When the response was created |
57+
|`lastSubmittedTime` | string | When the response was last submitted |
58+
|`answers` | json | Map of question IDs to answer values |
59+
| `response` | object | Single form response \(when responseId is provided\) |
60+
|`responseId` | string | Unique response ID |
61+
|`createTime` | string | When the response was created |
62+
|`lastSubmittedTime` | string | When the response was last submitted |
63+
|`answers` | json | Map of question IDs to answer values |
64+
| `raw` | json | Raw API response data |
6165

6266
### `google_forms_get_form`
6367

@@ -126,8 +130,48 @@ Apply multiple updates to a form (add items, update info, change settings, etc.)
126130
| Parameter | Type | Description |
127131
| --------- | ---- | ----------- |
128132
| `replies` | array | The replies from each update request |
129-
| `writeControl` | json | Write control information with revision IDs |
130-
| `form` | json | The updated form \(if includeFormInResponse was true\) |
133+
| `writeControl` | object | Write control information with revision IDs |
134+
|`requiredRevisionId` | string | Required revision ID for conflict detection |
135+
|`targetRevisionId` | string | Target revision ID |
136+
| `form` | object | The updated form \(if includeFormInResponse was true\) |
137+
|`formId` | string | The form ID |
138+
|`info` | object | Form info containing title and description |
139+
|`title` | string | The form title visible to responders |
140+
|`description` | string | The form description |
141+
|`documentTitle` | string | The document title visible in Drive |
142+
|`title` | string | Item title |
143+
|`description` | string | Item description |
144+
|`documentTitle` | string | The document title visible in Drive |
145+
|`settings` | object | Form settings |
146+
|`quizSettings` | object | Quiz settings |
147+
|`isQuiz` | boolean | Whether the form is a quiz |
148+
|`isQuiz` | boolean | Whether the form is a quiz |
149+
|`emailCollectionType` | string | Email collection type |
150+
|`quizSettings` | object | Quiz settings |
151+
|`isQuiz` | boolean | Whether the form is a quiz |
152+
|`isQuiz` | boolean | Whether the form is a quiz |
153+
|`emailCollectionType` | string | Email collection type |
154+
|`itemId` | string | Item ID |
155+
|`questionItem` | json | Question item configuration |
156+
|`questionGroupItem` | json | Question group configuration |
157+
|`pageBreakItem` | json | Page break configuration |
158+
|`textItem` | json | Text item configuration |
159+
|`imageItem` | json | Image item configuration |
160+
|`videoItem` | json | Video item configuration |
161+
|`revisionId` | string | The revision ID of the form |
162+
|`responderUri` | string | The URI to share with responders |
163+
|`linkedSheetId` | string | The ID of the linked Google Sheet |
164+
|`publishSettings` | object | Form publish settings |
165+
|`publishState` | object | Current publish state |
166+
|`isPublished` | boolean | Whether the form is published |
167+
|`isAcceptingResponses` | boolean | Whether the form is accepting responses |
168+
|`isPublished` | boolean | Whether the form is published |
169+
|`isAcceptingResponses` | boolean | Whether the form is accepting responses |
170+
|`publishState` | object | Current publish state |
171+
|`isPublished` | boolean | Whether the form is published |
172+
|`isAcceptingResponses` | boolean | Whether the form is accepting responses |
173+
|`isPublished` | boolean | Whether the form is published |
174+
|`isAcceptingResponses` | boolean | Whether the form is accepting responses |
131175

132176
### `google_forms_set_publish_settings`
133177

apps/docs/content/docs/en/tools/google_slides.mdx

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,14 @@ Get detailed information about a specific slide/page in a Google Slides presenta
194194
| --------- | ---- | ----------- |
195195
| `objectId` | string | The object ID of the page |
196196
| `pageType` | string | The type of page \(SLIDE, MASTER, LAYOUT, NOTES, NOTES_MASTER\) |
197-
| `pageElements` | json | Array of page elements \(shapes, images, tables, etc.\) on this page |
198-
| `slideProperties` | json | Properties specific to slides \(layout, master, notes\) |
199-
| `metadata` | json | Operation metadata including presentation ID and URL |
197+
| `pageElements` | array | Array of page elements \(shapes, images, tables, etc.\) on this page |
198+
| `slideProperties` | object | Properties specific to slides \(layout, master, notes\) |
199+
|`layoutObjectId` | string | Object ID of the layout this slide is based on |
200+
|`masterObjectId` | string | Object ID of the master this slide is based on |
201+
|`notesPage` | json | The notes page associated with the slide |
202+
| `metadata` | object | Operation metadata including presentation ID and URL |
203+
|`presentationId` | string | The presentation ID |
204+
|`url` | string | URL to the presentation |
200205

201206
### `google_slides_delete_object`
202207

@@ -215,7 +220,9 @@ Delete a page element (shape, image, table, etc.) or an entire slide from a Goog
215220
| --------- | ---- | ----------- |
216221
| `deleted` | boolean | Whether the object was successfully deleted |
217222
| `objectId` | string | The object ID that was deleted |
218-
| `metadata` | json | Operation metadata including presentation ID and URL |
223+
| `metadata` | object | Operation metadata including presentation ID and URL |
224+
|`presentationId` | string | The presentation ID |
225+
|`url` | string | URL to the presentation |
219226

220227
### `google_slides_duplicate_object`
221228

@@ -235,7 +242,10 @@ Duplicate an object (slide, shape, image, table, etc.) in a Google Slides presen
235242
| Parameter | Type | Description |
236243
| --------- | ---- | ----------- |
237244
| `duplicatedObjectId` | string | The object ID of the newly created duplicate |
238-
| `metadata` | json | Operation metadata including presentation ID and source object ID |
245+
| `metadata` | object | Operation metadata including presentation ID and source object ID |
246+
|`presentationId` | string | The presentation ID |
247+
|`sourceObjectId` | string | The original object ID that was duplicated |
248+
|`url` | string | URL to the presentation |
239249

240250
### `google_slides_update_slides_position`
241251

@@ -256,7 +266,9 @@ Move one or more slides to a new position in a Google Slides presentation
256266
| `moved` | boolean | Whether the slides were successfully moved |
257267
| `slideObjectIds` | array | The slide object IDs that were moved |
258268
| `insertionIndex` | number | The index where the slides were moved to |
259-
| `metadata` | json | Operation metadata including presentation ID and URL |
269+
| `metadata` | object | Operation metadata including presentation ID and URL |
270+
|`presentationId` | string | The presentation ID |
271+
|`url` | string | URL to the presentation |
260272

261273
### `google_slides_create_table`
262274

@@ -282,7 +294,10 @@ Create a new table on a slide in a Google Slides presentation
282294
| `tableId` | string | The object ID of the newly created table |
283295
| `rows` | number | Number of rows in the table |
284296
| `columns` | number | Number of columns in the table |
285-
| `metadata` | json | Operation metadata including presentation ID and page object ID |
297+
| `metadata` | object | Operation metadata including presentation ID and page object ID |
298+
|`presentationId` | string | The presentation ID |
299+
|`pageObjectId` | string | The page object ID where the table was created |
300+
|`url` | string | URL to the presentation |
286301

287302
### `google_slides_create_shape`
288303

@@ -306,7 +321,10 @@ Create a shape (rectangle, ellipse, text box, arrow, etc.) on a slide in a Googl
306321
| --------- | ---- | ----------- |
307322
| `shapeId` | string | The object ID of the newly created shape |
308323
| `shapeType` | string | The type of shape that was created |
309-
| `metadata` | json | Operation metadata including presentation ID and page object ID |
324+
| `metadata` | object | Operation metadata including presentation ID and page object ID |
325+
|`presentationId` | string | The presentation ID |
326+
|`pageObjectId` | string | The page object ID where the shape was created |
327+
|`url` | string | URL to the presentation |
310328

311329
### `google_slides_insert_text`
312330

@@ -328,6 +346,8 @@ Insert text into a shape or table cell in a Google Slides presentation. Use this
328346
| `inserted` | boolean | Whether the text was successfully inserted |
329347
| `objectId` | string | The object ID where text was inserted |
330348
| `text` | string | The text that was inserted |
331-
| `metadata` | json | Operation metadata including presentation ID and URL |
349+
| `metadata` | object | Operation metadata including presentation ID and URL |
350+
|`presentationId` | string | The presentation ID |
351+
|`url` | string | URL to the presentation |
332352

333353

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/chat/chat.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,11 @@ export function ChatDeploy({
409409
<ModalHeader>Delete Chat</ModalHeader>
410410
<ModalBody>
411411
<p className='text-[12px] text-[var(--text-secondary)]'>
412-
Are you sure you want to delete this chat?{' '}
412+
Are you sure you want to delete{' '}
413+
<span className='font-medium text-[var(--text-primary)]'>
414+
{existingChat?.title || 'this chat'}
415+
</span>
416+
?{' '}
413417
<span className='text-[var(--text-error)]'>
414418
This will remove the chat at "{getEmailDomain()}/chat/{existingChat?.identifier}"
415419
and make it unavailable to all users.

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/template/template.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,8 +375,11 @@ export function TemplateDeploy({
375375
<ModalHeader>Delete Template</ModalHeader>
376376
<ModalBody>
377377
<p className='text-[12px] text-[var(--text-secondary)]'>
378-
Are you sure you want to delete this template?{' '}
379-
<span className='text-[var(--text-error)]'>This action cannot be undone.</span>
378+
Are you sure you want to delete{' '}
379+
<span className='font-medium text-[var(--text-primary)]'>
380+
{existingTemplate?.name || formData.name || 'this template'}
381+
</span>
382+
? <span className='text-[var(--text-error)]'>This action cannot be undone.</span>
380383
</p>
381384
</ModalBody>
382385
<ModalFooter>

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/deploy-modal.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,11 @@ export function DeployModal({
846846
<ModalHeader>Delete A2A Agent</ModalHeader>
847847
<ModalBody>
848848
<p className='text-[12px] text-[var(--text-secondary)]'>
849-
Are you sure you want to delete this agent?{' '}
849+
Are you sure you want to delete{' '}
850+
<span className='font-medium text-[var(--text-primary)]'>
851+
{existingA2aAgent?.name || 'this agent'}
852+
</span>
853+
?{' '}
850854
<span className='text-[var(--text-error)]'>
851855
This will permanently remove the agent configuration.
852856
</span>

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/components/oauth-required-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const SCOPE_DESCRIPTIONS: Record<string, string> = {
4141
'https://www.googleapis.com/auth/calendar': 'View and manage calendar',
4242
'https://www.googleapis.com/auth/userinfo.email': 'View email address',
4343
'https://www.googleapis.com/auth/userinfo.profile': 'View basic profile info',
44+
'https://www.googleapis.com/auth/forms.body': 'View and manage Google Forms',
4445
'https://www.googleapis.com/auth/forms.responses.readonly': 'View responses to Google Forms',
4546
'https://www.googleapis.com/auth/ediscovery': 'Access Google Vault for eDiscovery',
4647
'https://www.googleapis.com/auth/devstorage.read_only': 'Read files from Google Cloud Storage',

0 commit comments

Comments
 (0)