@agent-native/core 0.54.1 → 0.56.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 (186) hide show
  1. package/README.md +16 -1
  2. package/dist/action-ui.d.ts +17 -0
  3. package/dist/action-ui.d.ts.map +1 -0
  4. package/dist/action-ui.js +23 -0
  5. package/dist/action-ui.js.map +1 -0
  6. package/dist/action.d.ts +8 -1
  7. package/dist/action.d.ts.map +1 -1
  8. package/dist/action.js +3 -0
  9. package/dist/action.js.map +1 -1
  10. package/dist/agent/production-agent.d.ts +2 -0
  11. package/dist/agent/production-agent.d.ts.map +1 -1
  12. package/dist/agent/production-agent.js +11 -1
  13. package/dist/agent/production-agent.js.map +1 -1
  14. package/dist/agent/thread-data-builder.d.ts +4 -0
  15. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  16. package/dist/agent/thread-data-builder.js +4 -0
  17. package/dist/agent/thread-data-builder.js.map +1 -1
  18. package/dist/agent/types.d.ts +2 -0
  19. package/dist/agent/types.d.ts.map +1 -1
  20. package/dist/agent/types.js.map +1 -1
  21. package/dist/cli/connect.d.ts +3 -1
  22. package/dist/cli/connect.d.ts.map +1 -1
  23. package/dist/cli/connect.js +7 -1
  24. package/dist/cli/connect.js.map +1 -1
  25. package/dist/cli/index.js +1 -1
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/plan-local.d.ts +40 -0
  28. package/dist/cli/plan-local.d.ts.map +1 -1
  29. package/dist/cli/plan-local.js +495 -9
  30. package/dist/cli/plan-local.js.map +1 -1
  31. package/dist/cli/skills.d.ts +17 -2
  32. package/dist/cli/skills.d.ts.map +1 -1
  33. package/dist/cli/skills.js +135 -36
  34. package/dist/cli/skills.js.map +1 -1
  35. package/dist/client/AgentChatHome.d.ts +23 -0
  36. package/dist/client/AgentChatHome.d.ts.map +1 -0
  37. package/dist/client/AgentChatHome.js +13 -0
  38. package/dist/client/AgentChatHome.js.map +1 -0
  39. package/dist/client/AgentPanel.d.ts +29 -2
  40. package/dist/client/AgentPanel.d.ts.map +1 -1
  41. package/dist/client/AgentPanel.js +116 -68
  42. package/dist/client/AgentPanel.js.map +1 -1
  43. package/dist/client/AssistantChat.d.ts.map +1 -1
  44. package/dist/client/AssistantChat.js +145 -21
  45. package/dist/client/AssistantChat.js.map +1 -1
  46. package/dist/client/FeedbackButton.d.ts +7 -1
  47. package/dist/client/FeedbackButton.d.ts.map +1 -1
  48. package/dist/client/FeedbackButton.js +13 -3
  49. package/dist/client/FeedbackButton.js.map +1 -1
  50. package/dist/client/MultiTabAssistantChat.d.ts +1 -2
  51. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  52. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  53. package/dist/client/agent-sidebar-state.d.ts +2 -0
  54. package/dist/client/agent-sidebar-state.d.ts.map +1 -1
  55. package/dist/client/agent-sidebar-state.js +15 -4
  56. package/dist/client/agent-sidebar-state.js.map +1 -1
  57. package/dist/client/chat/index.d.ts +7 -0
  58. package/dist/client/chat/index.d.ts.map +1 -1
  59. package/dist/client/chat/index.js +6 -0
  60. package/dist/client/chat/index.js.map +1 -1
  61. package/dist/client/chat/run-recovery.d.ts.map +1 -1
  62. package/dist/client/chat/run-recovery.js +11 -9
  63. package/dist/client/chat/run-recovery.js.map +1 -1
  64. package/dist/client/chat/runtime.d.ts +354 -0
  65. package/dist/client/chat/runtime.d.ts.map +1 -0
  66. package/dist/client/chat/runtime.js +2 -0
  67. package/dist/client/chat/runtime.js.map +1 -0
  68. package/dist/client/chat/tool-call-display.d.ts +5 -1
  69. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  70. package/dist/client/chat/tool-call-display.js +22 -5
  71. package/dist/client/chat/tool-call-display.js.map +1 -1
  72. package/dist/client/chat/tool-render-registry.d.ts +35 -0
  73. package/dist/client/chat/tool-render-registry.d.ts.map +1 -0
  74. package/dist/client/chat/tool-render-registry.js +83 -0
  75. package/dist/client/chat/tool-render-registry.js.map +1 -0
  76. package/dist/client/chat/widgets/DataChartRenderer.d.ts +5 -0
  77. package/dist/client/chat/widgets/DataChartRenderer.d.ts.map +1 -0
  78. package/dist/client/chat/widgets/DataChartRenderer.js +33 -0
  79. package/dist/client/chat/widgets/DataChartRenderer.js.map +1 -0
  80. package/dist/client/chat/widgets/DataChartWidget.d.ts +5 -0
  81. package/dist/client/chat/widgets/DataChartWidget.d.ts.map +1 -0
  82. package/dist/client/chat/widgets/DataChartWidget.js +15 -0
  83. package/dist/client/chat/widgets/DataChartWidget.js.map +1 -0
  84. package/dist/client/chat/widgets/DataInsightsWidget.d.ts +5 -0
  85. package/dist/client/chat/widgets/DataInsightsWidget.d.ts.map +1 -0
  86. package/dist/client/chat/widgets/DataInsightsWidget.js +18 -0
  87. package/dist/client/chat/widgets/DataInsightsWidget.js.map +1 -0
  88. package/dist/client/chat/widgets/DataTableWidget.d.ts +9 -0
  89. package/dist/client/chat/widgets/DataTableWidget.d.ts.map +1 -0
  90. package/dist/client/chat/widgets/DataTableWidget.js +95 -0
  91. package/dist/client/chat/widgets/DataTableWidget.js.map +1 -0
  92. package/dist/client/chat/widgets/builtin-tool-renderers.d.ts +2 -0
  93. package/dist/client/chat/widgets/builtin-tool-renderers.d.ts.map +1 -0
  94. package/dist/client/chat/widgets/builtin-tool-renderers.js +82 -0
  95. package/dist/client/chat/widgets/builtin-tool-renderers.js.map +1 -0
  96. package/dist/client/chat/widgets/data-widget-types.d.ts +2 -0
  97. package/dist/client/chat/widgets/data-widget-types.d.ts.map +1 -0
  98. package/dist/client/chat/widgets/data-widget-types.js +2 -0
  99. package/dist/client/chat/widgets/data-widget-types.js.map +1 -0
  100. package/dist/client/chat-view-transition.d.ts +35 -0
  101. package/dist/client/chat-view-transition.d.ts.map +1 -0
  102. package/dist/client/chat-view-transition.js +66 -0
  103. package/dist/client/chat-view-transition.js.map +1 -0
  104. package/dist/client/composer/PromptComposer.d.ts +1 -1
  105. package/dist/client/composer/PromptComposer.d.ts.map +1 -1
  106. package/dist/client/composer/PromptComposer.js +2 -2
  107. package/dist/client/composer/PromptComposer.js.map +1 -1
  108. package/dist/client/composer/TiptapComposer.d.ts +2 -1
  109. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  110. package/dist/client/composer/TiptapComposer.js +2 -1
  111. package/dist/client/composer/TiptapComposer.js.map +1 -1
  112. package/dist/client/index.d.ts +7 -1
  113. package/dist/client/index.d.ts.map +1 -1
  114. package/dist/client/index.js +6 -1
  115. package/dist/client/index.js.map +1 -1
  116. package/dist/client/route-state.d.ts +6 -0
  117. package/dist/client/route-state.d.ts.map +1 -1
  118. package/dist/client/route-state.js +16 -1
  119. package/dist/client/route-state.js.map +1 -1
  120. package/dist/client/sse-event-processor.d.ts +3 -0
  121. package/dist/client/sse-event-processor.d.ts.map +1 -1
  122. package/dist/client/sse-event-processor.js +2 -0
  123. package/dist/client/sse-event-processor.js.map +1 -1
  124. package/dist/client/use-chat-threads.d.ts.map +1 -1
  125. package/dist/client/use-chat-threads.js +19 -4
  126. package/dist/client/use-chat-threads.js.map +1 -1
  127. package/dist/data-widgets/index.d.ts +326 -0
  128. package/dist/data-widgets/index.d.ts.map +1 -0
  129. package/dist/data-widgets/index.js +232 -0
  130. package/dist/data-widgets/index.js.map +1 -0
  131. package/dist/index.browser.d.ts +2 -0
  132. package/dist/index.browser.d.ts.map +1 -1
  133. package/dist/index.browser.js +2 -0
  134. package/dist/index.browser.js.map +1 -1
  135. package/dist/index.d.ts +2 -0
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +2 -0
  138. package/dist/index.js.map +1 -1
  139. package/dist/provider-api/corpus-jobs.d.ts +160 -0
  140. package/dist/provider-api/corpus-jobs.d.ts.map +1 -1
  141. package/dist/provider-api/corpus-jobs.js +44 -0
  142. package/dist/provider-api/corpus-jobs.js.map +1 -1
  143. package/dist/provider-api/index.d.ts +39 -0
  144. package/dist/provider-api/index.d.ts.map +1 -1
  145. package/dist/provider-api/index.js +53 -0
  146. package/dist/provider-api/index.js.map +1 -1
  147. package/dist/scripts/dev/index.d.ts +1 -0
  148. package/dist/scripts/dev/index.d.ts.map +1 -1
  149. package/dist/scripts/dev/index.js +129 -127
  150. package/dist/scripts/dev/index.js.map +1 -1
  151. package/dist/server/action-discovery.d.ts.map +1 -1
  152. package/dist/server/action-discovery.js +5 -0
  153. package/dist/server/action-discovery.js.map +1 -1
  154. package/dist/server/agent-chat-plugin.d.ts +8 -0
  155. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  156. package/dist/server/agent-chat-plugin.js +34 -21
  157. package/dist/server/agent-chat-plugin.js.map +1 -1
  158. package/dist/server/prompts/framework-core-compact.d.ts +4 -1
  159. package/dist/server/prompts/framework-core-compact.d.ts.map +1 -1
  160. package/dist/server/prompts/framework-core-compact.js +11 -4
  161. package/dist/server/prompts/framework-core-compact.js.map +1 -1
  162. package/dist/server/prompts/framework-core.d.ts +4 -1
  163. package/dist/server/prompts/framework-core.d.ts.map +1 -1
  164. package/dist/server/prompts/framework-core.js +15 -5
  165. package/dist/server/prompts/framework-core.js.map +1 -1
  166. package/dist/server/prompts/shared-rules.d.ts +4 -1
  167. package/dist/server/prompts/shared-rules.d.ts.map +1 -1
  168. package/dist/server/prompts/shared-rules.js +4 -1
  169. package/dist/server/prompts/shared-rules.js.map +1 -1
  170. package/dist/styles/agent-native.css +62 -0
  171. package/dist/vite/client.d.ts.map +1 -1
  172. package/dist/vite/client.js +5 -0
  173. package/dist/vite/client.js.map +1 -1
  174. package/docs/content/actions.md +52 -0
  175. package/docs/content/components.md +24 -1
  176. package/docs/content/drop-in-agent.md +9 -2
  177. package/docs/content/external-agents.md +14 -4
  178. package/docs/content/faq.md +5 -4
  179. package/docs/content/getting-started.md +39 -87
  180. package/docs/content/key-concepts.md +34 -15
  181. package/docs/content/mcp-apps.md +2 -0
  182. package/docs/content/mcp-protocol.md +2 -2
  183. package/docs/content/native-chat-ui.md +210 -0
  184. package/docs/content/template-plan.md +16 -1
  185. package/docs/content/what-is-agent-native.md +10 -2
  186. package/package.json +2 -1
@@ -82,6 +82,38 @@ export declare function createProviderCorpusJobAction(options: CreateProviderCor
82
82
  createdAt: string;
83
83
  updatedAt: string;
84
84
  };
85
+ source: {
86
+ provider: string;
87
+ mode: string;
88
+ request: {
89
+ method: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "PATCH";
90
+ path: string;
91
+ };
92
+ pagination: {
93
+ itemsPath: string | null;
94
+ nextCursorPath: string | null;
95
+ cursorParam: string | null;
96
+ cursorBodyPath: string | null;
97
+ pageParam: string | null;
98
+ offsetParam: string | null;
99
+ };
100
+ batch: {
101
+ inputDatasetId: string | null;
102
+ inputValuePath: string | null;
103
+ batchSize: number | null;
104
+ itemBodyPath: string | null;
105
+ itemQueryParam: string | null;
106
+ responseItemsPath: string | null;
107
+ sourceItemCount: number | null;
108
+ };
109
+ search: {
110
+ textPaths: string[];
111
+ idPaths: string[];
112
+ metadataPaths: string[];
113
+ matchMode: "query" | "allTerms" | "anyTerm" | null;
114
+ queryCount: number;
115
+ };
116
+ };
85
117
  coverage: {
86
118
  pagesProcessed: number;
87
119
  batchesProcessed: number;
@@ -125,6 +157,38 @@ export declare function createProviderCorpusJobAction(options: CreateProviderCor
125
157
  createdAt: string;
126
158
  updatedAt: string;
127
159
  };
160
+ source: {
161
+ provider: string;
162
+ mode: string;
163
+ request: {
164
+ method: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "PATCH";
165
+ path: string;
166
+ };
167
+ pagination: {
168
+ itemsPath: string | null;
169
+ nextCursorPath: string | null;
170
+ cursorParam: string | null;
171
+ cursorBodyPath: string | null;
172
+ pageParam: string | null;
173
+ offsetParam: string | null;
174
+ };
175
+ batch: {
176
+ inputDatasetId: string | null;
177
+ inputValuePath: string | null;
178
+ batchSize: number | null;
179
+ itemBodyPath: string | null;
180
+ itemQueryParam: string | null;
181
+ responseItemsPath: string | null;
182
+ sourceItemCount: number | null;
183
+ };
184
+ search: {
185
+ textPaths: string[];
186
+ idPaths: string[];
187
+ metadataPaths: string[];
188
+ matchMode: "query" | "allTerms" | "anyTerm" | null;
189
+ queryCount: number;
190
+ };
191
+ };
128
192
  coverage: {
129
193
  pagesProcessed: number;
130
194
  batchesProcessed: number;
@@ -157,6 +221,38 @@ export declare function createProviderCorpusJobReadAction(options: Pick<CreatePr
157
221
  createdAt: string;
158
222
  updatedAt: string;
159
223
  };
224
+ source: {
225
+ provider: string;
226
+ mode: string;
227
+ request: {
228
+ method: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "PATCH";
229
+ path: string;
230
+ };
231
+ pagination: {
232
+ itemsPath: string | null;
233
+ nextCursorPath: string | null;
234
+ cursorParam: string | null;
235
+ cursorBodyPath: string | null;
236
+ pageParam: string | null;
237
+ offsetParam: string | null;
238
+ };
239
+ batch: {
240
+ inputDatasetId: string | null;
241
+ inputValuePath: string | null;
242
+ batchSize: number | null;
243
+ itemBodyPath: string | null;
244
+ itemQueryParam: string | null;
245
+ responseItemsPath: string | null;
246
+ sourceItemCount: number | null;
247
+ };
248
+ search: {
249
+ textPaths: string[];
250
+ idPaths: string[];
251
+ metadataPaths: string[];
252
+ matchMode: "query" | "allTerms" | "anyTerm" | null;
253
+ queryCount: number;
254
+ };
255
+ };
160
256
  coverage: {
161
257
  pagesProcessed: number;
162
258
  batchesProcessed: number;
@@ -180,6 +276,38 @@ export declare function createProviderCorpusJobReadAction(options: Pick<CreatePr
180
276
  createdAt: string;
181
277
  updatedAt: string;
182
278
  };
279
+ source: {
280
+ provider: string;
281
+ mode: string;
282
+ request: {
283
+ method: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "PATCH";
284
+ path: string;
285
+ };
286
+ pagination: {
287
+ itemsPath: string | null;
288
+ nextCursorPath: string | null;
289
+ cursorParam: string | null;
290
+ cursorBodyPath: string | null;
291
+ pageParam: string | null;
292
+ offsetParam: string | null;
293
+ };
294
+ batch: {
295
+ inputDatasetId: string | null;
296
+ inputValuePath: string | null;
297
+ batchSize: number | null;
298
+ itemBodyPath: string | null;
299
+ itemQueryParam: string | null;
300
+ responseItemsPath: string | null;
301
+ sourceItemCount: number | null;
302
+ };
303
+ search: {
304
+ textPaths: string[];
305
+ idPaths: string[];
306
+ metadataPaths: string[];
307
+ matchMode: "query" | "allTerms" | "anyTerm" | null;
308
+ queryCount: number;
309
+ };
310
+ };
183
311
  coverage: {
184
312
  pagesProcessed: number;
185
313
  batchesProcessed: number;
@@ -207,6 +335,38 @@ export declare function createProviderCorpusJobReadAction(options: Pick<CreatePr
207
335
  createdAt: string;
208
336
  updatedAt: string;
209
337
  };
338
+ source: {
339
+ provider: string;
340
+ mode: string;
341
+ request: {
342
+ method: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "PATCH";
343
+ path: string;
344
+ };
345
+ pagination: {
346
+ itemsPath: string | null;
347
+ nextCursorPath: string | null;
348
+ cursorParam: string | null;
349
+ cursorBodyPath: string | null;
350
+ pageParam: string | null;
351
+ offsetParam: string | null;
352
+ };
353
+ batch: {
354
+ inputDatasetId: string | null;
355
+ inputValuePath: string | null;
356
+ batchSize: number | null;
357
+ itemBodyPath: string | null;
358
+ itemQueryParam: string | null;
359
+ responseItemsPath: string | null;
360
+ sourceItemCount: number | null;
361
+ };
362
+ search: {
363
+ textPaths: string[];
364
+ idPaths: string[];
365
+ metadataPaths: string[];
366
+ matchMode: "query" | "allTerms" | "anyTerm" | null;
367
+ queryCount: number;
368
+ };
369
+ };
210
370
  coverage: {
211
371
  pagesProcessed: number;
212
372
  batchesProcessed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"corpus-jobs.d.ts","sourceRoot":"","sources":["../../src/provider-api/corpus-jobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EASL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,KAAK,qBAAqB,GAAG;IAC3B,cAAc,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,WAAW,oCAAoC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,qBAAqB,CAAC;CACzC;AA0PD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAa9C;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAY7D"}
1
+ {"version":3,"file":"corpus-jobs.d.ts","sourceRoot":"","sources":["../../src/provider-api/corpus-jobs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAqB,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EASL,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAEhC,KAAK,qBAAqB,GAAG;IAC3B,cAAc,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,WAAW,oCAAoC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,qBAAqB,CAAC;CACzC;AA0PD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAa9C;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAY7D"}
@@ -828,6 +828,7 @@ function jobStatus(job) {
828
828
  : null;
829
829
  return {
830
830
  job: jobSummary(job),
831
+ source: jobSourceSummary(job),
831
832
  coverage: {
832
833
  pagesProcessed: job.pagesProcessed,
833
834
  batchesProcessed: job.batchesProcessed,
@@ -842,6 +843,49 @@ function jobStatus(job) {
842
843
  nextResumeAt: nextResumeAtIso,
843
844
  };
844
845
  }
846
+ function jobSourceSummary(job) {
847
+ const request = job.request;
848
+ const pagination = (job.pagination ?? {});
849
+ const batch = (job.batch ?? {});
850
+ const search = (job.search ?? {});
851
+ return {
852
+ provider: job.provider,
853
+ mode: job.mode,
854
+ request: {
855
+ method: request.method ?? "GET",
856
+ path: request.path ?? "",
857
+ },
858
+ pagination: {
859
+ itemsPath: pagination.itemsPath ?? null,
860
+ nextCursorPath: pagination.nextCursorPath ?? pagination.cursorPath ?? null,
861
+ cursorParam: pagination.cursorParam ?? null,
862
+ cursorBodyPath: pagination.cursorBodyPath ?? null,
863
+ pageParam: pagination.pageParam ?? null,
864
+ offsetParam: pagination.offsetParam ?? null,
865
+ },
866
+ batch: {
867
+ inputDatasetId: batch.inputDatasetId ?? null,
868
+ inputValuePath: batch.inputValuePath ?? null,
869
+ batchSize: batch.batchSize ?? null,
870
+ itemBodyPath: batch.itemBodyPath ?? null,
871
+ itemQueryParam: batch.itemQueryParam ?? null,
872
+ responseItemsPath: batch.responseItemsPath ?? null,
873
+ sourceItemCount: typeof job.checkpoint.sourceItemCount === "number"
874
+ ? job.checkpoint.sourceItemCount
875
+ : null,
876
+ },
877
+ search: {
878
+ textPaths: search.textPaths ?? [],
879
+ idPaths: search.idPaths ?? [],
880
+ metadataPaths: search.metadataPaths ?? [],
881
+ matchMode: search.matchMode ?? null,
882
+ queryCount: (search.query ? 1 : 0) +
883
+ (search.regex ? 1 : 0) +
884
+ (search.queries?.length ?? 0) +
885
+ (search.terms?.length ?? 0),
886
+ },
887
+ };
888
+ }
845
889
  function jobSummary(job) {
846
890
  return {
847
891
  id: job.id,