From 1fadb9cd7d386ebdadf52706b6a3311237e125ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=82osz=20Piechocki?= Date: Fri, 11 Sep 2026 10:25:14 +0200 Subject: [PATCH] feat(agent-toolkit): scope DOCUMENTS search to specific docs via docIds search gains an optional docIds argument, forwarded to search.docs(ids:), so a DOCUMENTS search can be scoped to a known set of documents (ids as they appear in document URLs, at most 512) instead of the whole account. It combines with workspaceIds, and an empty array or null means no filter. search.docs(ids:) exists from API version 2026-10, the version the toolkit pins, and was verified against the live API. The schema snapshot carries only the hand-applied ids argument, verified against a live fetch, to keep unrelated server-side drift out of the diff. Co-authored-by: Cursor --- packages/agent-toolkit/CHANGELOG.md | 8 ++ packages/agent-toolkit/package.json | 2 +- .../search-tool/search-tool.graphql.ts | 4 +- .../search-tool/search-tool.test.ts | 96 ++++++++++++++++++- .../search-tool/search-tool.ts | 19 +++- .../monday-graphql/generated/graphql/gql.ts | 6 +- .../generated/graphql/graphql.ts | 4 +- .../src/monday-graphql/schema.graphql | 3 +- 8 files changed, 129 insertions(+), 13 deletions(-) diff --git a/packages/agent-toolkit/CHANGELOG.md b/packages/agent-toolkit/CHANGELOG.md index 47046102..1e984177 100644 --- a/packages/agent-toolkit/CHANGELOG.md +++ b/packages/agent-toolkit/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 5.70.0 + +### search — scope DOCUMENTS search to specific documents with `docIds` + +`search` accepts a new optional `docIds` argument, forwarded to `search.docs(ids:)`. It scopes a DOCUMENTS search to the given documents (ids as they appear in document URLs, at most 512), which lets a caller ask which of a known set of documents mention a term instead of searching the whole account. It combines with `workspaceIds`, and like the other id filters an empty array or `null` means "no filter". + +`search.docs(ids:)` exists from API version `2026-10`, which is the version the toolkit pins. + ## 5.69.1 ### Default `retrieval_only` to `true` for `get_monday_knowledge` developer docs queries diff --git a/packages/agent-toolkit/package.json b/packages/agent-toolkit/package.json index afc9517a..11eb283d 100644 --- a/packages/agent-toolkit/package.json +++ b/packages/agent-toolkit/package.json @@ -1,6 +1,6 @@ { "name": "@mondaydotcomorg/agent-toolkit", - "version": "5.69.1", + "version": "5.70.0", "description": "monday.com agent toolkit", "exports": { "./mcp": { diff --git a/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.graphql.ts b/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.graphql.ts index 26e98f5d..d872b881 100644 --- a/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.graphql.ts +++ b/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.graphql.ts @@ -47,9 +47,9 @@ export const searchBoards = gql` `; export const searchDocs = gql` - query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!]) { + query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!], $docIds: [ID!]) { search { - docs(query: $query, limit: $limit, workspace_ids: $workspaceIds) { + docs(query: $query, limit: $limit, workspace_ids: $workspaceIds, ids: $docIds) { results { id indexed_data { diff --git a/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.test.ts b/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.test.ts index 3be597a6..280d8c32 100644 --- a/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.test.ts +++ b/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.test.ts @@ -93,6 +93,7 @@ describe('SearchTool', () => { ); expect(description).toContain('BOARD search returns id, title, url, and workspaceId'); expect(description).toContain('DOCUMENTS search returns id, title, workspaceId, and highlights'); + expect(description).toContain('Optionally scope it with workspaceIds and/or docIds'); expect(description).toContain('ITEMS search returns id, title, url, boardId, and workspaceId'); expect(description).toContain('Optionally scope it with workspaceIds, boardIds, and/or creatorIds'); expect(description).toContain('FOLDERS search returns id and title'); @@ -611,11 +612,12 @@ describe('SearchTool', () => { }); expect(mocks.getMockRequest()).toHaveBeenCalledWith( - expect.stringContaining('query SearchDocs'), + expect.stringContaining('query SearchDocs('), { query: 'Document', limit: 20, workspaceIds: undefined, + docIds: undefined, }, expect.objectContaining({ timeout: expect.any(Number) }), ); @@ -681,6 +683,98 @@ describe('SearchTool', () => { ); }); + it('should pass docIds to the searchDocs request', async () => { + mocks.setResponse(mockDevDocsResponse); + + const args: inputType = { + searchType: GlobalSearchType.DOCUMENTS, + searchTerm: 'Document', + docIds: [111, 222], + }; + + const parsedResult = await callToolByNameAsync('search', args); + + expect(parsedResult.data).toHaveLength(3); + expect(mocks.getMockRequest()).toHaveBeenCalledWith( + expect.stringContaining('query SearchDocs('), + expect.objectContaining({ docIds: ['111', '222'] }), + expect.objectContaining({ timeout: expect.any(Number) }), + ); + }); + + it('should combine docIds with workspaceIds', async () => { + mocks.setResponse(mockDevDocsResponse); + + const args: inputType = { + searchType: GlobalSearchType.DOCUMENTS, + searchTerm: 'Document', + workspaceIds: [11111], + docIds: [111], + }; + + await callToolByNameAsync('search', args); + + expect(mocks.getMockRequest()).toHaveBeenCalledWith( + expect.stringContaining('query SearchDocs('), + expect.objectContaining({ workspaceIds: ['11111'], docIds: ['111'] }), + expect.objectContaining({ timeout: expect.any(Number) }), + ); + }); + + it('should send docIds as undefined when given an empty array', async () => { + mocks.setResponse(mockDevDocsResponse); + + const args: inputType = { + searchType: GlobalSearchType.DOCUMENTS, + searchTerm: 'Document', + docIds: [], + }; + + await callToolByNameAsync('search', args); + + expect(mocks.getMockRequest()).toHaveBeenCalledWith( + expect.stringContaining('query SearchDocs('), + expect.objectContaining({ docIds: undefined }), + expect.objectContaining({ timeout: expect.any(Number) }), + ); + }); + + it('should treat a null docIds as omitted', async () => { + mocks.setResponse(mockDevDocsResponse); + + const args = { + searchType: GlobalSearchType.DOCUMENTS, + searchTerm: 'Document', + docIds: null, + } as any; + + await callToolByNameAsync('search', args); + + expect(mocks.getMockRequest()).toHaveBeenCalledWith( + expect.stringContaining('query SearchDocs('), + expect.objectContaining({ docIds: undefined }), + expect.objectContaining({ timeout: expect.any(Number) }), + ); + }); + + it('should accept a single docId passed as a scalar', async () => { + mocks.setResponse(mockDevDocsResponse); + + const args = { + searchType: GlobalSearchType.DOCUMENTS, + searchTerm: 'Document', + docIds: 111, + } as any; + + await callToolByNameAsync('search', args); + + expect(mocks.getMockRequest()).toHaveBeenCalledWith( + expect.stringContaining('query SearchDocs('), + expect.objectContaining({ docIds: ['111'] }), + expect.objectContaining({ timeout: expect.any(Number) }), + ); + }); + it('should return highlights when present in the response', async () => { const responseWithHighlights: SearchDocsQuery = { search: { diff --git a/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.ts b/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.ts index 167aa815..b028f886 100644 --- a/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.ts +++ b/packages/agent-toolkit/src/core/tools/platform-api-tools/search-tool/search-tool.ts @@ -210,6 +210,11 @@ export const searchSchema = { creatorIds: optionalIdArray( 'Array of user IDs (numbers) to filter by creator. Applies to ITEMS (filters by item creator), UPDATES (filters by update author), and DASHBOARDS (filters by dashboard creator). Only pass it if the user explicitly asked to filter by specific creators. Example: [12345, 67890].', ), + + // for docs + docIds: optionalIdArray( + 'Array of document IDs (numbers), as they appear in document URLs, to scope the search to. Applies to DOCUMENTS search, with at most 512 ids. Use it to search within a known set of documents, for example to find which of them mention a term. Only pass it if the user explicitly asked to search within specific documents. Example: [12345, 67890].', + ), }; export type SearchToolInput = typeof searchSchema; @@ -233,7 +238,7 @@ For browsing all boards, docs, or folders within a workspace without a search te For groups, use get_board_info tool. For listing items within a specific board, use get_board_items_page tool. ITEMS search here queries items across the account. BOARD search returns id, title, url, and workspaceId. Optionally scope it with boardIds. -DOCUMENTS search returns id, title, workspaceId, and highlights. highlights is an array of { field, fragments } entries (field is "name" or "content") where fragments contain matched text snippets with tags around matched terms. highlights is omitted when no lexical match was made. +DOCUMENTS search returns id, title, workspaceId, and highlights. highlights is an array of { field, fragments } entries (field is "name" or "content") where fragments contain matched text snippets with tags around matched terms. highlights is omitted when no lexical match was made. Optionally scope it with workspaceIds and/or docIds. ITEMS search returns id, title, url, boardId, and workspaceId. Optionally scope it with workspaceIds, boardIds, and/or creatorIds. WORKSPACES search returns id, title, and description. UPDATES search returns id, title (the update body), itemId, boardId, and creatorId. Optionally scope it with workspaceIds, boardIds, and/or creatorIds. @@ -285,7 +290,8 @@ FOLDERS search returns id and title. Optionally scope it with workspaceIds, whic } if (input.searchType === GlobalSearchType.DOCUMENTS) { - return this.searchDocsAsync(searchTerm, input.limit, workspaceIds); + const docIds = toFilterIds(input.docIds?.map((id) => id.toString())); + return this.searchDocsAsync(searchTerm, input.limit, workspaceIds, docIds); } if (input.searchType === GlobalSearchType.WORKSPACES) { @@ -340,8 +346,13 @@ FOLDERS search returns id and title. Optionally scope it with workspaceIds, whic })); } - private async searchDocsAsync(query: string, limit: number, workspaceIds?: string[]): Promise { - const variables: SearchDocsQueryVariables = { query, limit, workspaceIds }; + private async searchDocsAsync( + query: string, + limit: number, + workspaceIds?: string[], + docIds?: string[], + ): Promise { + const variables: SearchDocsQueryVariables = { query, limit, workspaceIds, docIds }; const response = await this.mondayApi.request(searchDocs, variables, { timeout: SEARCH_TIMEOUT, diff --git a/packages/agent-toolkit/src/monday-graphql/generated/graphql/gql.ts b/packages/agent-toolkit/src/monday-graphql/generated/graphql/gql.ts index 2ff0ec8c..a9dcc322 100644 --- a/packages/agent-toolkit/src/monday-graphql/generated/graphql/gql.ts +++ b/packages/agent-toolkit/src/monday-graphql/generated/graphql/gql.ts @@ -84,7 +84,7 @@ type Documents = { "\n query GetFolders($page: Int!, $limit: Int!, $workspace_ids: [ID]) {\n folders(page: $page, limit: $limit, workspace_ids: $workspace_ids) {\n id\n name\n }\n }\n": typeof types.GetFoldersDocument, "\n query SearchItems($query: String!, $limit: Int, $workspaceIds: [ID!], $boardIds: [ID!]) {\n search {\n items(query: $query, limit: $limit, workspace_ids: $workspaceIds, board_ids: $boardIds) {\n results {\n id\n indexed_data {\n id\n name\n url\n board_id\n workspace_id\n }\n }\n }\n }\n }\n": typeof types.SearchItemsDocument, "\n query SearchBoards($query: String!, $limit: Int, $workspaceIds: [ID!], $boardIds: [ID!]) {\n search {\n boards(query: $query, limit: $limit, workspace_ids: $workspaceIds, board_ids: $boardIds) {\n results {\n id\n indexed_data {\n id\n name\n url\n workspace_id\n }\n }\n }\n }\n }\n": typeof types.SearchBoardsDocument, - "\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n": typeof types.SearchDocsDocument, + "\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!], $docIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds, ids: $docIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n": typeof types.SearchDocsDocument, "\n query SearchWorkspaces($query: String!, $limit: Int) {\n search {\n workspaces(query: $query, limit: $limit) {\n results {\n id\n indexed_data {\n id\n name\n description\n }\n }\n }\n }\n }\n": typeof types.SearchWorkspacesDocument, "\n query SearchUpdates(\n $query: String!\n $limit: Int\n $workspaceIds: [ID!]\n $boardIds: [ID!]\n $creatorIds: [ID!]\n ) {\n search {\n updates(\n query: $query\n limit: $limit\n workspace_ids: $workspaceIds\n board_ids: $boardIds\n creator_ids: $creatorIds\n ) {\n results {\n id\n indexed_data {\n id\n body\n creator_id\n item_id\n board_id\n }\n }\n }\n }\n }\n": typeof types.SearchUpdatesDocument, "\n query SearchTimelineItems($query: String!, $limit: Int, $workspaceIds: [ID!], $boardIds: [ID!]) {\n search {\n timeline_items(query: $query, limit: $limit, workspace_ids: $workspaceIds, board_ids: $boardIds) {\n results {\n id\n indexed_data {\n id\n title\n summary\n content\n item_id\n board_id\n }\n }\n }\n }\n }\n": typeof types.SearchTimelineItemsDocument, @@ -223,7 +223,7 @@ const documents: Documents = { "\n query GetFolders($page: Int!, $limit: Int!, $workspace_ids: [ID]) {\n folders(page: $page, limit: $limit, workspace_ids: $workspace_ids) {\n id\n name\n }\n }\n": types.GetFoldersDocument, "\n query SearchItems($query: String!, $limit: Int, $workspaceIds: [ID!], $boardIds: [ID!]) {\n search {\n items(query: $query, limit: $limit, workspace_ids: $workspaceIds, board_ids: $boardIds) {\n results {\n id\n indexed_data {\n id\n name\n url\n board_id\n workspace_id\n }\n }\n }\n }\n }\n": types.SearchItemsDocument, "\n query SearchBoards($query: String!, $limit: Int, $workspaceIds: [ID!], $boardIds: [ID!]) {\n search {\n boards(query: $query, limit: $limit, workspace_ids: $workspaceIds, board_ids: $boardIds) {\n results {\n id\n indexed_data {\n id\n name\n url\n workspace_id\n }\n }\n }\n }\n }\n": types.SearchBoardsDocument, - "\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n": types.SearchDocsDocument, + "\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!], $docIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds, ids: $docIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n": types.SearchDocsDocument, "\n query SearchWorkspaces($query: String!, $limit: Int) {\n search {\n workspaces(query: $query, limit: $limit) {\n results {\n id\n indexed_data {\n id\n name\n description\n }\n }\n }\n }\n }\n": types.SearchWorkspacesDocument, "\n query SearchUpdates(\n $query: String!\n $limit: Int\n $workspaceIds: [ID!]\n $boardIds: [ID!]\n $creatorIds: [ID!]\n ) {\n search {\n updates(\n query: $query\n limit: $limit\n workspace_ids: $workspaceIds\n board_ids: $boardIds\n creator_ids: $creatorIds\n ) {\n results {\n id\n indexed_data {\n id\n body\n creator_id\n item_id\n board_id\n }\n }\n }\n }\n }\n": types.SearchUpdatesDocument, "\n query SearchTimelineItems($query: String!, $limit: Int, $workspaceIds: [ID!], $boardIds: [ID!]) {\n search {\n timeline_items(query: $query, limit: $limit, workspace_ids: $workspaceIds, board_ids: $boardIds) {\n results {\n id\n indexed_data {\n id\n title\n summary\n content\n item_id\n board_id\n }\n }\n }\n }\n }\n": types.SearchTimelineItemsDocument, @@ -589,7 +589,7 @@ export function graphql(source: "\n query SearchBoards($query: String!, $limit: /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n"]; +export function graphql(source: "\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!], $docIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds, ids: $docIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query SearchDocs($query: String!, $limit: Int, $workspaceIds: [ID!], $docIds: [ID!]) {\n search {\n docs(query: $query, limit: $limit, workspace_ids: $workspaceIds, ids: $docIds) {\n results {\n id\n indexed_data {\n id\n name\n workspace_id\n highlights {\n name\n content\n }\n }\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ diff --git a/packages/agent-toolkit/src/monday-graphql/generated/graphql/graphql.ts b/packages/agent-toolkit/src/monday-graphql/generated/graphql/graphql.ts index 48fa72ad..712c3ef7 100644 --- a/packages/agent-toolkit/src/monday-graphql/generated/graphql/graphql.ts +++ b/packages/agent-toolkit/src/monday-graphql/generated/graphql/graphql.ts @@ -14890,6 +14890,7 @@ export type SearchNamespaceBoardsArgs = { /** Per-entity search namespace. Each field searches a single entity type. */ export type SearchNamespaceDocsArgs = { date_range?: InputMaybe; + ids?: InputMaybe>; limit?: InputMaybe; query: Scalars['String']['input']; strategy?: InputMaybe; @@ -20692,6 +20693,7 @@ export type SearchDocsQueryVariables = Exact<{ query: Scalars['String']['input']; limit?: InputMaybe; workspaceIds?: InputMaybe | Scalars['ID']['input']>; + docIds?: InputMaybe | Scalars['ID']['input']>; }>; @@ -21309,7 +21311,7 @@ export const GetDocVersionDiffDocument = {"kind":"Document","definitions":[{"kin export const GetFoldersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetFolders"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"page"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspace_ids"}},"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"folders"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"page"},"value":{"kind":"Variable","name":{"kind":"Name","value":"page"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspace_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspace_ids"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]} as unknown as DocumentNode; export const SearchItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SearchItems"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"query"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"search"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"items"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"query"},"value":{"kind":"Variable","name":{"kind":"Name","value":"query"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspace_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}}},{"kind":"Argument","name":{"kind":"Name","value":"board_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"indexed_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"board_id"}},{"kind":"Field","name":{"kind":"Name","value":"workspace_id"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const SearchBoardsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SearchBoards"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"query"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"search"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"boards"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"query"},"value":{"kind":"Variable","name":{"kind":"Name","value":"query"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspace_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}}},{"kind":"Argument","name":{"kind":"Name","value":"board_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"indexed_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"workspace_id"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; -export const SearchDocsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SearchDocs"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"query"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"search"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"docs"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"query"},"value":{"kind":"Variable","name":{"kind":"Name","value":"query"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspace_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"indexed_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"workspace_id"}},{"kind":"Field","name":{"kind":"Name","value":"highlights"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"content"}}]}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; +export const SearchDocsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SearchDocs"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"query"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"docIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"search"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"docs"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"query"},"value":{"kind":"Variable","name":{"kind":"Name","value":"query"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspace_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}}},{"kind":"Argument","name":{"kind":"Name","value":"ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"docIds"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"indexed_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"workspace_id"}},{"kind":"Field","name":{"kind":"Name","value":"highlights"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"content"}}]}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const SearchWorkspacesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SearchWorkspaces"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"query"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"search"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"workspaces"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"query"},"value":{"kind":"Variable","name":{"kind":"Name","value":"query"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"indexed_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const SearchUpdatesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SearchUpdates"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"query"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"creatorIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"search"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updates"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"query"},"value":{"kind":"Variable","name":{"kind":"Name","value":"query"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspace_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}}},{"kind":"Argument","name":{"kind":"Name","value":"board_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}}},{"kind":"Argument","name":{"kind":"Name","value":"creator_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"creatorIds"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"indexed_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"body"}},{"kind":"Field","name":{"kind":"Name","value":"creator_id"}},{"kind":"Field","name":{"kind":"Name","value":"item_id"}},{"kind":"Field","name":{"kind":"Name","value":"board_id"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const SearchTimelineItemsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"SearchTimelineItems"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"query"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"limit"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}},"type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"search"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"timeline_items"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"query"},"value":{"kind":"Variable","name":{"kind":"Name","value":"query"}}},{"kind":"Argument","name":{"kind":"Name","value":"limit"},"value":{"kind":"Variable","name":{"kind":"Name","value":"limit"}}},{"kind":"Argument","name":{"kind":"Name","value":"workspace_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"workspaceIds"}}},{"kind":"Argument","name":{"kind":"Name","value":"board_ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"boardIds"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"results"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"indexed_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"summary"}},{"kind":"Field","name":{"kind":"Name","value":"content"}},{"kind":"Field","name":{"kind":"Name","value":"item_id"}},{"kind":"Field","name":{"kind":"Name","value":"board_id"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; diff --git a/packages/agent-toolkit/src/monday-graphql/schema.graphql b/packages/agent-toolkit/src/monday-graphql/schema.graphql index 148a2ee5..72851dbf 100644 --- a/packages/agent-toolkit/src/monday-graphql/schema.graphql +++ b/packages/agent-toolkit/src/monday-graphql/schema.graphql @@ -13623,7 +13623,8 @@ query: String!, "Maximum number of results to return (default 10, max 20)." limit: Int = 10, "Date range filter." date_range: CrossEntityDateRangeInput, "Controls the trade-off between search quality and response time. Defaults to balanced." strategy: SearchStrategy, "Filter documents to specific workspace IDs." -workspace_ids: [ID!]): SearchDocResults! +workspace_ids: [ID!], "Filter documents to specific document IDs, as they appear in document URLs. At most 512 IDs, more are rejected." +ids: [ID!]): SearchDocResults! "Search for overviews (dashboards)." overviews( "The search query string." query: String!, "Maximum number of results to return (default 10, max 20)."