@exulu/backend 1.48.2 → 1.49.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.
Files changed (164) hide show
  1. package/dist/index.cjs +351 -42
  2. package/dist/index.d.cts +96 -1
  3. package/dist/index.d.ts +96 -1
  4. package/dist/index.js +340 -38
  5. package/ee/{markdown.ts → chunking/markdown.ts} +2 -2
  6. package/ee/python/README.md +295 -0
  7. package/ee/python/documents/processing/README.md +155 -0
  8. package/ee/{documents → python/documents}/processing/doc_processor.ts +25 -17
  9. package/ee/{documents/processing/pdf_to_markdown.py → python/documents/processing/document_to_markdown.py} +3 -10
  10. package/ee/python/setup.sh +180 -0
  11. package/package.json +14 -3
  12. package/scripts/postinstall.cjs +149 -0
  13. package/.agents/skills/mintlify/SKILL.md +0 -347
  14. package/.editorconfig +0 -15
  15. package/.eslintrc.json +0 -52
  16. package/.github/workflows/release-backend.yml +0 -38
  17. package/.husky/commit-msg +0 -1
  18. package/.jscpd.json +0 -18
  19. package/.mcp.json +0 -25
  20. package/.nvmrc +0 -1
  21. package/.prettierignore +0 -5
  22. package/.prettierrc.json +0 -12
  23. package/CHANGELOG.md +0 -8
  24. package/SECURITY.md +0 -5
  25. package/commitlint.config.js +0 -4
  26. package/devops/documentation/patch-older-releases.md +0 -42
  27. package/ee/documents/processing/build_pdf_processor.sh +0 -35
  28. package/ee/documents/processing/chunk_markdown.py +0 -263
  29. package/ee/documents/processing/pdf_processor.spec +0 -115
  30. package/eslint.config.js +0 -88
  31. package/jest.config.ts +0 -25
  32. package/mintlify-docs/.mintignore +0 -7
  33. package/mintlify-docs/AGENTS.md +0 -33
  34. package/mintlify-docs/CLAUDE.MD +0 -50
  35. package/mintlify-docs/CONTRIBUTING.md +0 -32
  36. package/mintlify-docs/LICENSE +0 -21
  37. package/mintlify-docs/README.md +0 -55
  38. package/mintlify-docs/ai-tools/claude-code.mdx +0 -43
  39. package/mintlify-docs/ai-tools/cursor.mdx +0 -39
  40. package/mintlify-docs/ai-tools/windsurf.mdx +0 -39
  41. package/mintlify-docs/api-reference/core-types/agent-types.mdx +0 -110
  42. package/mintlify-docs/api-reference/core-types/analytics-types.mdx +0 -95
  43. package/mintlify-docs/api-reference/core-types/configuration-types.mdx +0 -83
  44. package/mintlify-docs/api-reference/core-types/evaluation-types.mdx +0 -106
  45. package/mintlify-docs/api-reference/core-types/job-types.mdx +0 -135
  46. package/mintlify-docs/api-reference/core-types/overview.mdx +0 -73
  47. package/mintlify-docs/api-reference/core-types/prompt-types.mdx +0 -102
  48. package/mintlify-docs/api-reference/core-types/rbac-types.mdx +0 -163
  49. package/mintlify-docs/api-reference/core-types/session-types.mdx +0 -77
  50. package/mintlify-docs/api-reference/core-types/user-management.mdx +0 -112
  51. package/mintlify-docs/api-reference/core-types/workflow-types.mdx +0 -88
  52. package/mintlify-docs/api-reference/core-types.mdx +0 -585
  53. package/mintlify-docs/api-reference/dynamic-types.mdx +0 -851
  54. package/mintlify-docs/api-reference/endpoint/create.mdx +0 -4
  55. package/mintlify-docs/api-reference/endpoint/delete.mdx +0 -4
  56. package/mintlify-docs/api-reference/endpoint/get.mdx +0 -4
  57. package/mintlify-docs/api-reference/endpoint/webhook.mdx +0 -4
  58. package/mintlify-docs/api-reference/introduction.mdx +0 -661
  59. package/mintlify-docs/api-reference/mutations.mdx +0 -1012
  60. package/mintlify-docs/api-reference/openapi.json +0 -217
  61. package/mintlify-docs/api-reference/queries.mdx +0 -1154
  62. package/mintlify-docs/backend/introduction.mdx +0 -218
  63. package/mintlify-docs/changelog.mdx +0 -387
  64. package/mintlify-docs/community-edition.mdx +0 -304
  65. package/mintlify-docs/core/exulu-agent/api-reference.mdx +0 -894
  66. package/mintlify-docs/core/exulu-agent/configuration.mdx +0 -690
  67. package/mintlify-docs/core/exulu-agent/introduction.mdx +0 -552
  68. package/mintlify-docs/core/exulu-app/api-reference.mdx +0 -481
  69. package/mintlify-docs/core/exulu-app/configuration.mdx +0 -319
  70. package/mintlify-docs/core/exulu-app/introduction.mdx +0 -117
  71. package/mintlify-docs/core/exulu-authentication.mdx +0 -810
  72. package/mintlify-docs/core/exulu-chunkers/api-reference.mdx +0 -1011
  73. package/mintlify-docs/core/exulu-chunkers/configuration.mdx +0 -596
  74. package/mintlify-docs/core/exulu-chunkers/introduction.mdx +0 -403
  75. package/mintlify-docs/core/exulu-context/api-reference.mdx +0 -911
  76. package/mintlify-docs/core/exulu-context/configuration.mdx +0 -648
  77. package/mintlify-docs/core/exulu-context/introduction.mdx +0 -394
  78. package/mintlify-docs/core/exulu-database.mdx +0 -811
  79. package/mintlify-docs/core/exulu-default-agents.mdx +0 -545
  80. package/mintlify-docs/core/exulu-eval/api-reference.mdx +0 -772
  81. package/mintlify-docs/core/exulu-eval/configuration.mdx +0 -680
  82. package/mintlify-docs/core/exulu-eval/introduction.mdx +0 -459
  83. package/mintlify-docs/core/exulu-logging.mdx +0 -464
  84. package/mintlify-docs/core/exulu-otel.mdx +0 -670
  85. package/mintlify-docs/core/exulu-queues/api-reference.mdx +0 -648
  86. package/mintlify-docs/core/exulu-queues/configuration.mdx +0 -650
  87. package/mintlify-docs/core/exulu-queues/introduction.mdx +0 -474
  88. package/mintlify-docs/core/exulu-reranker/api-reference.mdx +0 -630
  89. package/mintlify-docs/core/exulu-reranker/configuration.mdx +0 -663
  90. package/mintlify-docs/core/exulu-reranker/introduction.mdx +0 -516
  91. package/mintlify-docs/core/exulu-tool/api-reference.mdx +0 -723
  92. package/mintlify-docs/core/exulu-tool/configuration.mdx +0 -805
  93. package/mintlify-docs/core/exulu-tool/introduction.mdx +0 -539
  94. package/mintlify-docs/core/exulu-variables/api-reference.mdx +0 -699
  95. package/mintlify-docs/core/exulu-variables/configuration.mdx +0 -736
  96. package/mintlify-docs/core/exulu-variables/introduction.mdx +0 -511
  97. package/mintlify-docs/development.mdx +0 -94
  98. package/mintlify-docs/docs.json +0 -248
  99. package/mintlify-docs/enterprise-edition.mdx +0 -538
  100. package/mintlify-docs/essentials/code.mdx +0 -35
  101. package/mintlify-docs/essentials/images.mdx +0 -59
  102. package/mintlify-docs/essentials/markdown.mdx +0 -88
  103. package/mintlify-docs/essentials/navigation.mdx +0 -87
  104. package/mintlify-docs/essentials/reusable-snippets.mdx +0 -110
  105. package/mintlify-docs/essentials/settings.mdx +0 -318
  106. package/mintlify-docs/favicon.svg +0 -3
  107. package/mintlify-docs/frontend/introduction.mdx +0 -39
  108. package/mintlify-docs/getting-started.mdx +0 -267
  109. package/mintlify-docs/guides/custom-agent.mdx +0 -608
  110. package/mintlify-docs/guides/first-agent.mdx +0 -315
  111. package/mintlify-docs/images/admin_ui.png +0 -0
  112. package/mintlify-docs/images/contexts.png +0 -0
  113. package/mintlify-docs/images/create_agents.png +0 -0
  114. package/mintlify-docs/images/evals.png +0 -0
  115. package/mintlify-docs/images/graphql.png +0 -0
  116. package/mintlify-docs/images/graphql_api.png +0 -0
  117. package/mintlify-docs/images/hero-dark.png +0 -0
  118. package/mintlify-docs/images/hero-light.png +0 -0
  119. package/mintlify-docs/images/hero.png +0 -0
  120. package/mintlify-docs/images/knowledge_sources.png +0 -0
  121. package/mintlify-docs/images/mcp.png +0 -0
  122. package/mintlify-docs/images/scaling.png +0 -0
  123. package/mintlify-docs/index.mdx +0 -411
  124. package/mintlify-docs/logo/dark.svg +0 -9
  125. package/mintlify-docs/logo/light.svg +0 -9
  126. package/mintlify-docs/partners.mdx +0 -558
  127. package/mintlify-docs/products.mdx +0 -77
  128. package/mintlify-docs/snippets/snippet-intro.mdx +0 -4
  129. package/mintlify-docs/styles.css +0 -207
  130. package/ngrok.bash +0 -1
  131. package/ngrok.md +0 -6
  132. package/ngrok.yml +0 -10
  133. package/release.config.cjs +0 -15
  134. package/skills-lock.json +0 -10
  135. package/types/context-processor.ts +0 -45
  136. package/types/enums/eval-types.ts +0 -5
  137. package/types/enums/field-types.ts +0 -1
  138. package/types/enums/jobs.ts +0 -11
  139. package/types/enums/statistics.ts +0 -13
  140. package/types/exulu-table-definition.ts +0 -79
  141. package/types/file-types.ts +0 -18
  142. package/types/models/agent-session.ts +0 -27
  143. package/types/models/agent.ts +0 -68
  144. package/types/models/context.ts +0 -53
  145. package/types/models/embedding.ts +0 -17
  146. package/types/models/eval-run.ts +0 -40
  147. package/types/models/exulu-agent-tool-config.ts +0 -11
  148. package/types/models/item.ts +0 -21
  149. package/types/models/job.ts +0 -8
  150. package/types/models/project.ts +0 -16
  151. package/types/models/rate-limiter-rules.ts +0 -7
  152. package/types/models/test-case.ts +0 -25
  153. package/types/models/tool.ts +0 -9
  154. package/types/models/user-role.ts +0 -12
  155. package/types/models/user.ts +0 -20
  156. package/types/models/variable.ts +0 -8
  157. package/types/models/vector-methods.ts +0 -7
  158. package/types/provider-config.ts +0 -21
  159. package/types/queue-config.ts +0 -16
  160. package/types/rbac-rights-modes.ts +0 -1
  161. package/types/statistics.ts +0 -20
  162. package/types/workflow.ts +0 -31
  163. /package/ee/{documents → python/documents}/THIRD_PARTY_LICENSES/docling.txt +0 -0
  164. /package/ee/{documents/processing → python}/requirements.txt +0 -0
@@ -1,1154 +0,0 @@
1
- ---
2
- title: 'Queries'
3
- description: 'Complete reference for all GraphQL query operations'
4
- ---
5
-
6
- ## Overview
7
-
8
- All query operations in Exulu IMP follow consistent patterns. This reference covers both core type queries and the patterns that apply to dynamically generated queries.
9
-
10
- ## Query patterns
11
-
12
- Every resource type (core and dynamic) gets these query operations:
13
-
14
- | Operation | Purpose | Authentication required |
15
- |-----------|---------|------------------------|
16
- | `{type}ById` | Fetch single resource by ID | Yes |
17
- | `{type}ByIds` | Fetch multiple resources by IDs | Yes |
18
- | `{type}One` | Fetch single resource with filters | Yes |
19
- | `{typePlural}Pagination` | Paginated list with filters | Yes |
20
- | `{typePlural}Statistics` | Aggregate statistics | Yes |
21
-
22
- ## By ID queries
23
-
24
- ### Pattern
25
-
26
- ```graphql
27
- {type}ById(id: ID!): {type}
28
- ```
29
-
30
- ### Example
31
-
32
- ```graphql
33
- query {
34
- agentById(id: "agent-123") {
35
- id
36
- name
37
- description
38
- provider
39
- modelName
40
- }
41
- }
42
- ```
43
-
44
- ### Response
45
-
46
- ```json
47
- {
48
- "data": {
49
- "agentById": {
50
- "id": "agent-123",
51
- "name": "Customer Support Agent",
52
- "description": "Handles customer inquiries",
53
- "provider": "anthropic",
54
- "modelName": "claude-sonnet-4-5"
55
- }
56
- }
57
- }
58
- ```
59
-
60
- ### Error handling
61
-
62
- ```json
63
- {
64
- "errors": [
65
- {
66
- "message": "Record not found",
67
- "path": ["agentById"]
68
- }
69
- ],
70
- "data": {
71
- "agentById": null
72
- }
73
- }
74
- ```
75
-
76
- ## By IDs queries (batch)
77
-
78
- ### Pattern
79
-
80
- ```graphql
81
- {type}ByIds(ids: [ID!]!): [{type}]!
82
- ```
83
-
84
- ### Example
85
-
86
- ```graphql
87
- query {
88
- agentsByIds(ids: ["agent-1", "agent-2", "agent-3"]) {
89
- id
90
- name
91
- provider
92
- }
93
- }
94
- ```
95
-
96
- ### Response
97
-
98
- ```json
99
- {
100
- "data": {
101
- "agentsByIds": [
102
- {
103
- "id": "agent-1",
104
- "name": "Assistant 1",
105
- "provider": "openai"
106
- },
107
- {
108
- "id": "agent-2",
109
- "name": "Assistant 2",
110
- "provider": "anthropic"
111
- },
112
- {
113
- "id": "agent-3",
114
- "name": "Assistant 3",
115
- "provider": "google"
116
- }
117
- ]
118
- }
119
- }
120
- ```
121
-
122
- ## One (filtered) queries
123
-
124
- ### Pattern
125
-
126
- ```graphql
127
- {type}One(
128
- filters: [Filter{Type}]
129
- sort: SortBy
130
- ): {type}
131
- ```
132
-
133
- ### Example
134
-
135
- ```graphql
136
- query {
137
- agentOne(
138
- filters: [
139
- { name: { contains: "support" } }
140
- { provider: { eq: "anthropic" } }
141
- ]
142
- sort: { field: "createdAt", direction: DESC }
143
- ) {
144
- id
145
- name
146
- description
147
- }
148
- }
149
- ```
150
-
151
- ### With complex filters
152
-
153
- ```graphql
154
- query {
155
- userOne(
156
- filters: [
157
- {
158
- or: [
159
- { email: { contains: "@example.com" } }
160
- { email: { contains: "@company.com" } }
161
- ]
162
- }
163
- { super_admin: { eq: false } }
164
- ]
165
- ) {
166
- id
167
- name
168
- email
169
- }
170
- }
171
- ```
172
-
173
- ## Pagination queries
174
-
175
- ### Pattern
176
-
177
- ```graphql
178
- {typePlural}Pagination(
179
- limit: Int = 10
180
- page: Int = 1
181
- filters: [Filter{Type}]
182
- sort: SortBy
183
- ): {Type}PaginationResult
184
- ```
185
-
186
- ### Basic pagination
187
-
188
- ```graphql
189
- query {
190
- agentsPagination(limit: 20, page: 1) {
191
- items {
192
- id
193
- name
194
- provider
195
- }
196
- pageInfo {
197
- currentPage
198
- pageCount
199
- itemCount
200
- hasPreviousPage
201
- hasNextPage
202
- }
203
- }
204
- }
205
- ```
206
-
207
- ### With filters and sorting
208
-
209
- ```graphql
210
- query {
211
- agentsPagination(
212
- limit: 50
213
- page: 2
214
- filters: [
215
- { provider: { in: ["anthropic", "openai"] } }
216
- { createdAt: { gte: "2025-01-01T00:00:00Z" } }
217
- ]
218
- sort: { field: "name", direction: ASC }
219
- ) {
220
- items {
221
- id
222
- name
223
- provider
224
- createdAt
225
- }
226
- pageInfo {
227
- currentPage
228
- pageCount
229
- hasNextPage
230
- }
231
- }
232
- }
233
- ```
234
-
235
- ### Response
236
-
237
- ```json
238
- {
239
- "data": {
240
- "agentsPagination": {
241
- "items": [
242
- {
243
- "id": "agent-1",
244
- "name": "Assistant A",
245
- "provider": "anthropic",
246
- "createdAt": "2025-01-15T10:00:00Z"
247
- }
248
- ],
249
- "pageInfo": {
250
- "currentPage": 2,
251
- "pageCount": 5,
252
- "hasNextPage": true
253
- }
254
- }
255
- }
256
- }
257
- ```
258
-
259
- ## Statistics queries
260
-
261
- ### Pattern
262
-
263
- ```graphql
264
- {typePlural}Statistics(
265
- filters: [Filter{Type}]
266
- groupBy: String
267
- limit: Int = 10
268
- ): [StatisticsResult]!
269
-
270
- type StatisticsResult {
271
- group: String!
272
- count: Int!
273
- }
274
- ```
275
-
276
- ### Total count
277
-
278
- ```graphql
279
- query {
280
- agentsStatistics {
281
- group
282
- count
283
- }
284
- }
285
- ```
286
-
287
- **Response:**
288
-
289
- ```json
290
- {
291
- "data": {
292
- "agentsStatistics": [
293
- {
294
- "group": "total",
295
- "count": 42
296
- }
297
- ]
298
- }
299
- }
300
- ```
301
-
302
- ### Group by field
303
-
304
- ```graphql
305
- query {
306
- agentsStatistics(
307
- groupBy: "provider"
308
- limit: 10
309
- ) {
310
- group
311
- count
312
- }
313
- }
314
- ```
315
-
316
- **Response:**
317
-
318
- ```json
319
- {
320
- "data": {
321
- "agentsStatistics": [
322
- { "group": "anthropic", "count": 15 },
323
- { "group": "openai", "count": 12 },
324
- { "group": "google", "count": 8 },
325
- { "group": "cerebras", "count": 7 }
326
- ]
327
- }
328
- }
329
- ```
330
-
331
- ### With filters
332
-
333
- ```graphql
334
- query {
335
- agent_sessionsStatistics(
336
- filters: [
337
- { createdAt: { gte: "2025-01-01T00:00:00Z" } }
338
- ]
339
- groupBy: "agent"
340
- limit: 5
341
- ) {
342
- group
343
- count
344
- }
345
- }
346
- ```
347
-
348
- ## Vector search queries
349
-
350
- Available for contexts with embedders configured.
351
-
352
- ### Pattern
353
-
354
- ```graphql
355
- {contextPlural}VectorSearch(
356
- query: String!
357
- method: VectorMethodEnum!
358
- itemFilters: [Filter{Context}]
359
- cutoffs: SearchCutoffs
360
- expand: SearchExpand
361
- ): {context}VectorSearchResult
362
- ```
363
-
364
- ### Cosine distance search
365
-
366
- ```graphql
367
- query {
368
- documentationVectorSearch(
369
- query: "How do I deploy the application?"
370
- method: cosineDistance
371
- cutoffs: { cosineDistance: 0.7 }
372
- ) {
373
- chunks {
374
- chunk_content
375
- chunk_cosine_distance
376
- item_name
377
- item_id
378
- }
379
- context {
380
- name
381
- embedder
382
- }
383
- query
384
- method
385
- }
386
- }
387
- ```
388
-
389
- ### Hybrid search (vector + full-text)
390
-
391
- ```graphql
392
- query {
393
- documentationVectorSearch(
394
- query: "authentication setup"
395
- method: hybridSearch
396
- cutoffs: {
397
- cosineDistance: 0.8
398
- tsvector: 0.1
399
- }
400
- ) {
401
- chunks {
402
- chunk_content
403
- chunk_hybrid_score
404
- chunk_cosine_distance
405
- chunk_fts_rank
406
- item_name
407
- }
408
- }
409
- }
410
- ```
411
-
412
- ### With filters and expansion
413
-
414
- ```graphql
415
- query {
416
- documentationVectorSearch(
417
- query: "database migration"
418
- method: cosineDistance
419
- itemFilters: [
420
- { category: { eq: "tutorials" } }
421
- ]
422
- cutoffs: { cosineDistance: 0.75 }
423
- expand: { before: 1, after: 2 }
424
- ) {
425
- chunks {
426
- chunk_content
427
- chunk_index
428
- chunk_cosine_distance
429
- item_name
430
- item_id
431
- }
432
- }
433
- }
434
- ```
435
-
436
- ### Full-text search only
437
-
438
- ```graphql
439
- query {
440
- documentationVectorSearch(
441
- query: "installation guide"
442
- method: tsvector
443
- ) {
444
- chunks {
445
- chunk_content
446
- chunk_fts_rank
447
- item_name
448
- }
449
- }
450
- }
451
- ```
452
-
453
- ## Chunk by ID queries
454
-
455
- Fetch individual chunks from vector search contexts.
456
-
457
- ### Pattern
458
-
459
- ```graphql
460
- {context}ChunkById(id: ID!): {context}VectorSearchChunk
461
- ```
462
-
463
- ### Example
464
-
465
- ```graphql
466
- query {
467
- documentationChunkById(id: "chunk-123") {
468
- chunk_content
469
- chunk_index
470
- chunk_id
471
- chunk_source
472
- chunk_metadata
473
- chunk_created_at
474
- item_id
475
- item_name
476
- item_external_id
477
- }
478
- }
479
- ```
480
-
481
- ## Special queries
482
-
483
- ### Providers
484
-
485
- List all available agent providers.
486
-
487
- ```graphql
488
- query {
489
- providers {
490
- items {
491
- id
492
- name
493
- description
494
- provider
495
- providerName
496
- modelName
497
- type
498
- }
499
- }
500
- }
501
- ```
502
-
503
- ### Tools
504
-
505
- List available tools for agents.
506
-
507
- ```graphql
508
- query {
509
- tools(
510
- search: "weather"
511
- category: "api"
512
- limit: 20
513
- page: 1
514
- ) {
515
- items {
516
- id
517
- name
518
- description
519
- category
520
- type
521
- config
522
- }
523
- total
524
- page
525
- limit
526
- }
527
- }
528
- ```
529
-
530
- ### Tool categories
531
-
532
- ```graphql
533
- query {
534
- toolCategories
535
- }
536
- ```
537
-
538
- **Response:**
539
-
540
- ```json
541
- {
542
- "data": {
543
- "toolCategories": [
544
- "agents",
545
- "api",
546
- "contexts",
547
- "database",
548
- "file-processing",
549
- "web"
550
- ]
551
- }
552
- }
553
- ```
554
-
555
- ### Contexts
556
-
557
- List all available semantic search contexts.
558
-
559
- ```graphql
560
- query {
561
- contexts {
562
- items {
563
- id
564
- name
565
- description
566
- active
567
- slug
568
- embedder {
569
- id
570
- name
571
- config {
572
- name
573
- description
574
- default
575
- }
576
- queue
577
- }
578
- fields
579
- sources {
580
- id
581
- name
582
- description
583
- config {
584
- schedule
585
- queue
586
- retries
587
- params {
588
- name
589
- description
590
- default
591
- }
592
- }
593
- }
594
- processor {
595
- name
596
- description
597
- queue
598
- trigger
599
- timeoutInSeconds
600
- generateEmbeddings
601
- }
602
- }
603
- }
604
- }
605
- ```
606
-
607
- ### Context by ID
608
-
609
- ```graphql
610
- query {
611
- contextById(id: "documentation") {
612
- id
613
- name
614
- description
615
- embedder {
616
- name
617
- queue
618
- }
619
- fields
620
- configuration
621
- }
622
- }
623
- ```
624
-
625
- ### Evaluations
626
-
627
- List available evaluation functions.
628
-
629
- ```graphql
630
- query {
631
- evals {
632
- items {
633
- id
634
- name
635
- description
636
- llm
637
- config {
638
- name
639
- description
640
- }
641
- }
642
- }
643
- }
644
- ```
645
-
646
- ### Rerankers
647
-
648
- List available reranking models.
649
-
650
- ```graphql
651
- query {
652
- rerankers {
653
- items {
654
- id
655
- name
656
- description
657
- }
658
- }
659
- }
660
- ```
661
-
662
- ### Unique prompt tags
663
-
664
- ```graphql
665
- query {
666
- getUniquePromptTags
667
- }
668
- ```
669
-
670
- **Response:**
671
-
672
- ```json
673
- {
674
- "data": {
675
- "getUniquePromptTags": [
676
- "greeting",
677
- "support",
678
- "technical",
679
- "sales"
680
- ]
681
- }
682
- }
683
- ```
684
-
685
- ## Job queries
686
-
687
- ### Jobs by queue
688
-
689
- ```graphql
690
- query {
691
- jobs(
692
- queue: eval_runs
693
- statusses: [active, waiting, failed]
694
- page: 1
695
- limit: 50
696
- ) {
697
- items {
698
- id
699
- name
700
- state
701
- data
702
- returnvalue
703
- stacktrace
704
- finishedOn
705
- processedOn
706
- attemptsMade
707
- failedReason
708
- timestamp
709
- }
710
- pageInfo {
711
- currentPage
712
- pageCount
713
- itemCount
714
- hasNextPage
715
- }
716
- }
717
- }
718
- ```
719
-
720
- ### Queue information
721
-
722
- ```graphql
723
- query {
724
- queue(queue: eval_runs) {
725
- name
726
- concurrency {
727
- worker
728
- queue
729
- }
730
- timeoutInSeconds
731
- ratelimit
732
- isMaxed
733
- isPaused
734
- jobs {
735
- paused
736
- completed
737
- failed
738
- waiting
739
- active
740
- delayed
741
- }
742
- }
743
- }
744
- ```
745
-
746
- **Response:**
747
-
748
- ```json
749
- {
750
- "data": {
751
- "queue": {
752
- "name": "eval_runs",
753
- "concurrency": {
754
- "worker": 2,
755
- "queue": 10
756
- },
757
- "timeoutInSeconds": 180,
758
- "ratelimit": 100,
759
- "isMaxed": false,
760
- "isPaused": false,
761
- "jobs": {
762
- "paused": 0,
763
- "completed": 245,
764
- "failed": 12,
765
- "waiting": 5,
766
- "active": 2,
767
- "delayed": 0
768
- }
769
- }
770
- }
771
- }
772
- ```
773
-
774
- ## Workflow queries
775
-
776
- ### Workflow schedule
777
-
778
- Check if a workflow has a scheduled execution.
779
-
780
- ```graphql
781
- query {
782
- workflowSchedule(workflow: "workflow-123") {
783
- id
784
- schedule
785
- next
786
- iteration
787
- }
788
- }
789
- ```
790
-
791
- **Response:**
792
-
793
- ```json
794
- {
795
- "data": {
796
- "workflowSchedule": {
797
- "id": "workflow-123-schedule",
798
- "schedule": "0 9 * * *",
799
- "next": "2025-01-16T09:00:00Z",
800
- "iteration": 5
801
- }
802
- }
803
- }
804
- ```
805
-
806
- ## Advanced filtering examples
807
-
808
- ### String operators
809
-
810
- ```graphql
811
- query {
812
- agentsPagination(
813
- filters: [
814
- { name: { contains: "assistant" } }
815
- { description: { contains: "support" } }
816
- ]
817
- ) {
818
- items {
819
- id
820
- name
821
- }
822
- }
823
- }
824
- ```
825
-
826
- ### Number operators
827
-
828
- ```graphql
829
- query {
830
- statisticsPagination(
831
- filters: [
832
- { count: { gte: 100, lte: 1000 } }
833
- ]
834
- ) {
835
- items {
836
- label
837
- count
838
- }
839
- }
840
- }
841
- ```
842
-
843
- ### Date operators
844
-
845
- ```graphql
846
- query {
847
- agentsPagination(
848
- filters: [
849
- {
850
- createdAt: {
851
- gte: "2025-01-01T00:00:00Z"
852
- lte: "2025-01-31T23:59:59Z"
853
- }
854
- }
855
- ]
856
- ) {
857
- items {
858
- id
859
- name
860
- createdAt
861
- }
862
- }
863
- }
864
- ```
865
-
866
- ### AND logic
867
-
868
- ```graphql
869
- query {
870
- agentsPagination(
871
- filters: [
872
- {
873
- and: [
874
- { provider: { eq: "anthropic" } }
875
- { name: { contains: "claude" } }
876
- ]
877
- }
878
- ]
879
- ) {
880
- items {
881
- id
882
- name
883
- }
884
- }
885
- }
886
- ```
887
-
888
- ### OR logic
889
-
890
- ```graphql
891
- query {
892
- agentsPagination(
893
- filters: [
894
- {
895
- or: [
896
- { provider: { eq: "anthropic" } }
897
- { provider: { eq: "openai" } }
898
- ]
899
- }
900
- ]
901
- ) {
902
- items {
903
- id
904
- name
905
- provider
906
- }
907
- }
908
- }
909
- ```
910
-
911
- ### Complex nested logic
912
-
913
- ```graphql
914
- query {
915
- agentsPagination(
916
- filters: [
917
- {
918
- and: [
919
- {
920
- or: [
921
- { provider: { eq: "anthropic" } }
922
- { provider: { eq: "openai" } }
923
- ]
924
- }
925
- { name: { contains: "assistant" } }
926
- {
927
- createdAt: {
928
- gte: "2025-01-01T00:00:00Z"
929
- }
930
- }
931
- ]
932
- }
933
- ]
934
- ) {
935
- items {
936
- id
937
- name
938
- provider
939
- }
940
- }
941
- }
942
- ```
943
-
944
- ## Field selection
945
-
946
- Request only the fields you need:
947
-
948
- ### Minimal fields
949
-
950
- ```graphql
951
- query {
952
- agentsPagination(limit: 100) {
953
- items {
954
- id
955
- name
956
- }
957
- }
958
- }
959
- ```
960
-
961
- ### All basic fields
962
-
963
- ```graphql
964
- query {
965
- agentById(id: "agent-123") {
966
- id
967
- name
968
- description
969
- backend
970
- type
971
- provider
972
- modelName
973
- createdAt
974
- updatedAt
975
- }
976
- }
977
- ```
978
-
979
- ### With nested objects
980
-
981
- ```graphql
982
- query {
983
- agentById(id: "agent-123") {
984
- id
985
- name
986
- capabilities {
987
- text
988
- images
989
- files
990
- }
991
- rateLimit {
992
- name
993
- rate_limit {
994
- time
995
- limit
996
- }
997
- }
998
- workflows {
999
- enabled
1000
- queue {
1001
- name
1002
- }
1003
- }
1004
- }
1005
- }
1006
- ```
1007
-
1008
- ### With RBAC
1009
-
1010
- ```graphql
1011
- query {
1012
- agentById(id: "agent-123") {
1013
- id
1014
- name
1015
- RBAC {
1016
- type
1017
- users {
1018
- id
1019
- rights
1020
- }
1021
- roles {
1022
- id
1023
- rights
1024
- }
1025
- }
1026
- }
1027
- }
1028
- ```
1029
-
1030
- ## Query variables
1031
-
1032
- Use variables for dynamic queries:
1033
-
1034
- ```graphql
1035
- query GetAgent($id: ID!) {
1036
- agentById(id: $id) {
1037
- id
1038
- name
1039
- description
1040
- }
1041
- }
1042
- ```
1043
-
1044
- **Variables:**
1045
-
1046
- ```json
1047
- {
1048
- "id": "agent-123"
1049
- }
1050
- ```
1051
-
1052
- ### With filters
1053
-
1054
- ```graphql
1055
- query GetAgents(
1056
- $limit: Int!
1057
- $page: Int!
1058
- $provider: String
1059
- ) {
1060
- agentsPagination(
1061
- limit: $limit
1062
- page: $page
1063
- filters: [
1064
- { provider: { eq: $provider } }
1065
- ]
1066
- ) {
1067
- items {
1068
- id
1069
- name
1070
- }
1071
- pageInfo {
1072
- currentPage
1073
- hasNextPage
1074
- }
1075
- }
1076
- }
1077
- ```
1078
-
1079
- **Variables:**
1080
-
1081
- ```json
1082
- {
1083
- "limit": 20,
1084
- "page": 1,
1085
- "provider": "anthropic"
1086
- }
1087
- ```
1088
-
1089
- ## Query aliases
1090
-
1091
- Use aliases to fetch the same resource with different parameters:
1092
-
1093
- ```graphql
1094
- query {
1095
- anthropicAgents: agentsPagination(
1096
- filters: [{ provider: { eq: "anthropic" } }]
1097
- ) {
1098
- items {
1099
- id
1100
- name
1101
- }
1102
- }
1103
-
1104
- openaiAgents: agentsPagination(
1105
- filters: [{ provider: { eq: "openai" } }]
1106
- ) {
1107
- items {
1108
- id
1109
- name
1110
- }
1111
- }
1112
- }
1113
- ```
1114
-
1115
- ## Fragments
1116
-
1117
- Reuse field selections with fragments:
1118
-
1119
- ```graphql
1120
- fragment AgentBasics on agent {
1121
- id
1122
- name
1123
- description
1124
- provider
1125
- modelName
1126
- }
1127
-
1128
- query {
1129
- agent1: agentById(id: "agent-1") {
1130
- ...AgentBasics
1131
- }
1132
-
1133
- agent2: agentById(id: "agent-2") {
1134
- ...AgentBasics
1135
- }
1136
- }
1137
- ```
1138
-
1139
- ## Next steps
1140
-
1141
- <CardGroup cols={2}>
1142
- <Card title="Mutations" icon="pen-to-square" href="/api-reference/mutations">
1143
- Learn about mutation operations
1144
- </Card>
1145
- <Card title="Core types" icon="database" href="/api-reference/core-types">
1146
- Explore predefined types
1147
- </Card>
1148
- <Card title="Dynamic types" icon="wand-magic-sparkles" href="/api-reference/dynamic-types">
1149
- Learn about context types
1150
- </Card>
1151
- <Card title="Introduction" icon="book" href="/api-reference/introduction">
1152
- Back to API overview
1153
- </Card>
1154
- </CardGroup>