@stack-spot/portal-network 0.172.3-beta.1 → 0.173.0-beta.1

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 (39) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/api/codeShift.d.ts +21 -5
  3. package/dist/api/codeShift.d.ts.map +1 -1
  4. package/dist/api/codeShift.js +13 -0
  5. package/dist/api/codeShift.js.map +1 -1
  6. package/dist/api/discover.d.ts +294 -0
  7. package/dist/api/discover.d.ts.map +1 -0
  8. package/dist/api/discover.js +180 -0
  9. package/dist/api/discover.js.map +1 -0
  10. package/dist/apis.json +2 -2
  11. package/dist/client/code-shift.d.ts +12 -5
  12. package/dist/client/code-shift.d.ts.map +1 -1
  13. package/dist/client/code-shift.js +10 -1
  14. package/dist/client/code-shift.js.map +1 -1
  15. package/dist/client/discover.d.ts +64 -0
  16. package/dist/client/discover.d.ts.map +1 -0
  17. package/dist/client/discover.js +124 -0
  18. package/dist/client/discover.js.map +1 -0
  19. package/dist/index.d.ts +2 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -1
  22. package/dist/index.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/api/codeShift.ts +55 -5
  25. package/src/api/discover.ts +435 -0
  26. package/src/apis.json +2 -2
  27. package/src/client/code-shift.ts +5 -0
  28. package/src/client/discover.ts +89 -0
  29. package/src/index.ts +2 -1
  30. package/dist/api/discovery.d.ts +0 -494
  31. package/dist/api/discovery.d.ts.map +0 -1
  32. package/dist/api/discovery.js +0 -205
  33. package/dist/api/discovery.js.map +0 -1
  34. package/dist/client/discovery.d.ts +0 -110
  35. package/dist/client/discovery.d.ts.map +0 -1
  36. package/dist/client/discovery.js +0 -133
  37. package/dist/client/discovery.js.map +0 -1
  38. package/src/api/discovery.ts +0 -729
  39. package/src/client/discovery.ts +0 -73
@@ -0,0 +1,435 @@
1
+ /**
2
+ * OpenAPI definition
3
+ * v0
4
+ * DO NOT MODIFY - This file has been generated using oazapfts.
5
+ * See https://www.npmjs.com/package/oazapfts
6
+ */
7
+ import * as Oazapfts from "@oazapfts/runtime";
8
+ import * as QS from "@oazapfts/runtime/query";
9
+ export const defaults: Oazapfts.Defaults<Oazapfts.CustomHeaders> = {
10
+ headers: {},
11
+ baseUrl: "https://discover-discover-core.stg.stackspot.com",
12
+ };
13
+ const oazapfts = Oazapfts.runtime(defaults);
14
+ export const servers = {
15
+ generatedServerUrl: "https://discover-discover-core.stg.stackspot.com"
16
+ };
17
+ export type GetOpportunityResponseHypothesisResponse = {
18
+ id: string;
19
+ title: string;
20
+ description: string;
21
+ };
22
+ export type GetOpportunityResponse = {
23
+ id: string;
24
+ title: string;
25
+ description: string;
26
+ createdBy: string;
27
+ createdAt?: string;
28
+ hypotheses: GetOpportunityResponseHypothesisResponse[];
29
+ updatedBy?: string;
30
+ updatedAt?: string;
31
+ chatId?: string;
32
+ };
33
+ export type UpdateOpportunityRequest = {
34
+ title?: string;
35
+ description?: string;
36
+ };
37
+ export type UpdateOpportunityResponse = {
38
+ id: string;
39
+ title: string;
40
+ description: string;
41
+ createdBy: string;
42
+ createdAt?: string;
43
+ updatedBy?: string;
44
+ updatedAt?: string;
45
+ chatId?: string;
46
+ };
47
+ export type GetHypothesisResponseDocumentResponse = {
48
+ id: string;
49
+ title: string;
50
+ description: string;
51
+ };
52
+ export type GetHypothesisResponse = {
53
+ id: string;
54
+ opportunityId: string;
55
+ title: string;
56
+ description: string;
57
+ documents: GetHypothesisResponseDocumentResponse[];
58
+ createdBy: string;
59
+ createdAt?: string;
60
+ updatedBy?: string;
61
+ updatedAt?: string;
62
+ chatId?: string;
63
+ };
64
+ export type UpdateHypothesisRequest = {
65
+ title?: string;
66
+ description?: string;
67
+ };
68
+ export type UpdateHypothesisResponse = {
69
+ id: string;
70
+ opportunityId: string;
71
+ title: string;
72
+ description: string;
73
+ createdBy: string;
74
+ createdAt?: string;
75
+ updatedBy?: string;
76
+ updatedAt?: string;
77
+ chatId?: string;
78
+ };
79
+ export type GetDocumentResponse = {
80
+ id: string;
81
+ hypothesisId: string;
82
+ title: string;
83
+ description: string;
84
+ createdBy: string;
85
+ createdAt?: string;
86
+ updatedBy?: string;
87
+ updatedAt?: string;
88
+ chatId?: string;
89
+ };
90
+ export type UpdateDocumentRequest = {
91
+ title?: string;
92
+ description?: string;
93
+ content?: string;
94
+ };
95
+ export type UpdateDocumentResponse = {
96
+ id: string;
97
+ hypothesisId: string;
98
+ title: string;
99
+ description: string;
100
+ createdBy: string;
101
+ createdAt?: string;
102
+ updatedBy?: string;
103
+ updatedAt?: string;
104
+ chatId?: string;
105
+ };
106
+ export type SortResponse = {
107
+ direction: string;
108
+ nullHandling: string;
109
+ ascending: boolean;
110
+ property: string;
111
+ ignoreCase: boolean;
112
+ };
113
+ export type PageableResponse = {
114
+ offset: number;
115
+ sort: SortResponse[];
116
+ paged: boolean;
117
+ pageSize: number;
118
+ pageNumber: number;
119
+ unpaged: boolean;
120
+ };
121
+ export type PageResponseGetOpportunityResponse = {
122
+ totalElements: number;
123
+ totalPages: number;
124
+ first: boolean;
125
+ last: boolean;
126
+ size: number;
127
+ content: GetOpportunityResponse[];
128
+ "number": number;
129
+ sort: SortResponse[];
130
+ numberOfElements: number;
131
+ pageable: PageableResponse;
132
+ empty: boolean;
133
+ };
134
+ export type CreateOpportunityRequest = {
135
+ title?: string;
136
+ description?: string;
137
+ chatId?: string;
138
+ };
139
+ export type CreateOpportunityResponse = {
140
+ id: string;
141
+ title: string;
142
+ description: string;
143
+ createdBy: string;
144
+ createdAt?: string;
145
+ updatedBy?: string;
146
+ updatedAt?: string;
147
+ chatId?: string;
148
+ };
149
+ export type CreateHypothesisRequest = {
150
+ opportunityId?: string;
151
+ title?: string;
152
+ description?: string;
153
+ chatId?: string;
154
+ };
155
+ export type CreateHypothesisResponse = {
156
+ id: string;
157
+ opportunityId: string;
158
+ title: string;
159
+ description: string;
160
+ createdBy: string;
161
+ createdAt?: string;
162
+ updatedBy?: string;
163
+ updatedAt?: string;
164
+ chatId?: string;
165
+ };
166
+ export type CreateDocumentRequest = {
167
+ hypothesisId?: string;
168
+ title?: string;
169
+ description?: string;
170
+ content?: string;
171
+ chatId?: string;
172
+ };
173
+ export type CreateDocumentResponse = {
174
+ id: string;
175
+ hypothesisId: string;
176
+ title: string;
177
+ description: string;
178
+ createdBy: string;
179
+ createdAt?: string;
180
+ updatedBy?: string;
181
+ updatedAt?: string;
182
+ chatId?: string;
183
+ };
184
+ export type GetArtifactResponse = {
185
+ "type": "OPPORTUNITY" | "HYPOTHESIS" | "DOCUMENT";
186
+ id: string;
187
+ title: string;
188
+ description: string;
189
+ };
190
+ /**
191
+ * Get specific Opportunity
192
+ */
193
+ export function getById({ opportunityId }: {
194
+ opportunityId: string;
195
+ }, opts?: Oazapfts.RequestOpts) {
196
+ return oazapfts.ok(oazapfts.fetchJson<{
197
+ status: 200;
198
+ data: GetOpportunityResponse;
199
+ }>(`/v2/opportunities/${encodeURIComponent(opportunityId)}`, {
200
+ ...opts
201
+ }));
202
+ }
203
+ /**
204
+ * Update specific Opportunity
205
+ */
206
+ export function updateById({ opportunityId, updateOpportunityRequest }: {
207
+ opportunityId: string;
208
+ updateOpportunityRequest: UpdateOpportunityRequest;
209
+ }, opts?: Oazapfts.RequestOpts) {
210
+ return oazapfts.ok(oazapfts.fetchJson<{
211
+ status: 200;
212
+ data: UpdateOpportunityResponse;
213
+ }>(`/v2/opportunities/${encodeURIComponent(opportunityId)}`, oazapfts.json({
214
+ ...opts,
215
+ method: "PUT",
216
+ body: updateOpportunityRequest
217
+ })));
218
+ }
219
+ /**
220
+ * Delete specific Opportunity
221
+ */
222
+ export function deleteById({ opportunityId }: {
223
+ opportunityId: string;
224
+ }, opts?: Oazapfts.RequestOpts) {
225
+ return oazapfts.ok(oazapfts.fetchText(`/v2/opportunities/${encodeURIComponent(opportunityId)}`, {
226
+ ...opts,
227
+ method: "DELETE"
228
+ }));
229
+ }
230
+ /**
231
+ * Get specific Hypothesis
232
+ */
233
+ export function getById1({ hypothesisId }: {
234
+ hypothesisId: string;
235
+ }, opts?: Oazapfts.RequestOpts) {
236
+ return oazapfts.ok(oazapfts.fetchJson<{
237
+ status: 200;
238
+ data: GetHypothesisResponse;
239
+ }>(`/v2/hypotheses/${encodeURIComponent(hypothesisId)}`, {
240
+ ...opts
241
+ }));
242
+ }
243
+ /**
244
+ * Update specific Hypothesis
245
+ */
246
+ export function updateById1({ hypothesisId, updateHypothesisRequest }: {
247
+ hypothesisId: string;
248
+ updateHypothesisRequest: UpdateHypothesisRequest;
249
+ }, opts?: Oazapfts.RequestOpts) {
250
+ return oazapfts.ok(oazapfts.fetchJson<{
251
+ status: 200;
252
+ data: UpdateHypothesisResponse;
253
+ }>(`/v2/hypotheses/${encodeURIComponent(hypothesisId)}`, oazapfts.json({
254
+ ...opts,
255
+ method: "PUT",
256
+ body: updateHypothesisRequest
257
+ })));
258
+ }
259
+ /**
260
+ * Delete specific Hypothesis
261
+ */
262
+ export function deleteById1({ hypothesisId }: {
263
+ hypothesisId: string;
264
+ }, opts?: Oazapfts.RequestOpts) {
265
+ return oazapfts.ok(oazapfts.fetchText(`/v2/hypotheses/${encodeURIComponent(hypothesisId)}`, {
266
+ ...opts,
267
+ method: "DELETE"
268
+ }));
269
+ }
270
+ /**
271
+ * Get specific Document
272
+ */
273
+ export function getById2({ documentId }: {
274
+ documentId: string;
275
+ }, opts?: Oazapfts.RequestOpts) {
276
+ return oazapfts.ok(oazapfts.fetchJson<{
277
+ status: 200;
278
+ data: GetDocumentResponse;
279
+ }>(`/v2/documents/${encodeURIComponent(documentId)}`, {
280
+ ...opts
281
+ }));
282
+ }
283
+ /**
284
+ * Update specific Document
285
+ */
286
+ export function updateById2({ documentId, updateDocumentRequest }: {
287
+ documentId: string;
288
+ updateDocumentRequest: UpdateDocumentRequest;
289
+ }, opts?: Oazapfts.RequestOpts) {
290
+ return oazapfts.ok(oazapfts.fetchJson<{
291
+ status: 200;
292
+ data: UpdateDocumentResponse;
293
+ }>(`/v2/documents/${encodeURIComponent(documentId)}`, oazapfts.json({
294
+ ...opts,
295
+ method: "PUT",
296
+ body: updateDocumentRequest
297
+ })));
298
+ }
299
+ /**
300
+ * Delete specific Document
301
+ */
302
+ export function deleteById2({ documentId }: {
303
+ documentId: string;
304
+ }, opts?: Oazapfts.RequestOpts) {
305
+ return oazapfts.ok(oazapfts.fetchText(`/v2/documents/${encodeURIComponent(documentId)}`, {
306
+ ...opts,
307
+ method: "DELETE"
308
+ }));
309
+ }
310
+ /**
311
+ * Get all Opportunities
312
+ */
313
+ export function getAll({ filter, page, size, sort, direction }: {
314
+ filter?: string;
315
+ page?: number;
316
+ size?: number;
317
+ sort?: string;
318
+ direction?: string;
319
+ }, opts?: Oazapfts.RequestOpts) {
320
+ return oazapfts.ok(oazapfts.fetchJson<{
321
+ status: 200;
322
+ data: PageResponseGetOpportunityResponse;
323
+ }>(`/v2/opportunities${QS.query(QS.explode({
324
+ filter,
325
+ page,
326
+ size,
327
+ sort,
328
+ direction
329
+ }))}`, {
330
+ ...opts
331
+ }));
332
+ }
333
+ /**
334
+ * Create new Opportunity
335
+ */
336
+ export function create({ createOpportunityRequest }: {
337
+ createOpportunityRequest: CreateOpportunityRequest;
338
+ }, opts?: Oazapfts.RequestOpts) {
339
+ return oazapfts.ok(oazapfts.fetchJson<{
340
+ status: 200;
341
+ data: CreateOpportunityResponse;
342
+ }>("/v2/opportunities", oazapfts.json({
343
+ ...opts,
344
+ method: "POST",
345
+ body: createOpportunityRequest
346
+ })));
347
+ }
348
+ /**
349
+ * Get all Hypotheses
350
+ */
351
+ export function getAll1({ opportunityId }: {
352
+ opportunityId: string;
353
+ }, opts?: Oazapfts.RequestOpts) {
354
+ return oazapfts.ok(oazapfts.fetchJson<{
355
+ status: 200;
356
+ data: GetHypothesisResponse[];
357
+ }>(`/v2/hypotheses${QS.query(QS.explode({
358
+ opportunityId
359
+ }))}`, {
360
+ ...opts
361
+ }));
362
+ }
363
+ /**
364
+ * Create new Hypothesis
365
+ */
366
+ export function create1({ createHypothesisRequest }: {
367
+ createHypothesisRequest: CreateHypothesisRequest;
368
+ }, opts?: Oazapfts.RequestOpts) {
369
+ return oazapfts.ok(oazapfts.fetchJson<{
370
+ status: 200;
371
+ data: CreateHypothesisResponse;
372
+ }>("/v2/hypotheses", oazapfts.json({
373
+ ...opts,
374
+ method: "POST",
375
+ body: createHypothesisRequest
376
+ })));
377
+ }
378
+ /**
379
+ * Get all Documents by Hypothesis
380
+ */
381
+ export function getAllByHypothesis({ hypothesisId }: {
382
+ hypothesisId: string;
383
+ }, opts?: Oazapfts.RequestOpts) {
384
+ return oazapfts.ok(oazapfts.fetchJson<{
385
+ status: 200;
386
+ data: GetDocumentResponse[];
387
+ }>(`/v2/documents${QS.query(QS.explode({
388
+ hypothesisId
389
+ }))}`, {
390
+ ...opts
391
+ }));
392
+ }
393
+ /**
394
+ * Create Document
395
+ */
396
+ export function create2({ createDocumentRequest }: {
397
+ createDocumentRequest: CreateDocumentRequest;
398
+ }, opts?: Oazapfts.RequestOpts) {
399
+ return oazapfts.ok(oazapfts.fetchJson<{
400
+ status: 200;
401
+ data: CreateDocumentResponse;
402
+ }>("/v2/documents", oazapfts.json({
403
+ ...opts,
404
+ method: "POST",
405
+ body: createDocumentRequest
406
+ })));
407
+ }
408
+ /**
409
+ * Get specific Document content
410
+ */
411
+ export function getContentById({ documentId }: {
412
+ documentId: string;
413
+ }, opts?: Oazapfts.RequestOpts) {
414
+ return oazapfts.ok(oazapfts.fetchJson<{
415
+ status: 200;
416
+ data: string;
417
+ }>(`/v2/documents/${encodeURIComponent(documentId)}/content`, {
418
+ ...opts
419
+ }));
420
+ }
421
+ /**
422
+ * Get chat artifacts
423
+ */
424
+ export function getAll2({ chatId }: {
425
+ chatId: string;
426
+ }, opts?: Oazapfts.RequestOpts) {
427
+ return oazapfts.ok(oazapfts.fetchJson<{
428
+ status: 200;
429
+ data: GetArtifactResponse[];
430
+ }>(`/v2/artifacts${QS.query(QS.explode({
431
+ chatId
432
+ }))}`, {
433
+ ...opts
434
+ }));
435
+ }
package/src/apis.json CHANGED
@@ -214,11 +214,11 @@
214
214
  },
215
215
  "docs": "/openapi.json"
216
216
  },
217
- "discovery": {
217
+ "discover": {
218
218
  "url": {
219
219
  "dev": "https://discover-discover-core.dev.stackspot.com",
220
220
  "stg": "https://discover-discover-core.stg.stackspot.com",
221
- "prd": "https://discover-discover-core.stackspot.com"
221
+ "prd": "https://discover-core.stackspot.com"
222
222
  },
223
223
  "docs": "/v3/api-docs"
224
224
  }
@@ -58,6 +58,7 @@ import {
58
58
  getModuleV1ModulesModuleIdGet,
59
59
  analyticsProgramGroupsTargetDetailsV1AnalyticsProgramGroupsTargetDetailsGet,
60
60
  analyticsProgramGroupsTargetDetailsDownloadV1AnalyticsProgramGroupsTargetDetailsDownloadGet,
61
+ searchReposScmServiceV2ReposSearchScmPost,
61
62
  } from '../api/codeShift'
62
63
  import { DefaultAPIError } from '../error/DefaultAPIError'
63
64
  import { codeShiftDictionary } from '../error/dictionary/code-shift'
@@ -159,6 +160,10 @@ class CodeShift extends ReactQueryNetworkClient {
159
160
  * Downloads file with found repositories
160
161
  */
161
162
  downloadSearchRepository = this.mutation(removeAuthorizationParam(downloadSearchReposScmServiceV1ReposSearchScmSearchRepoIdDownloadGet))
163
+ /**
164
+ * Searches for repositories (v2)
165
+ */
166
+ searchRepositoryV2 = this.mutation(removeAuthorizationParam(searchReposScmServiceV2ReposSearchScmPost))
162
167
  /**
163
168
  * Validate if the user has permission.
164
169
  * We do not use opa in this api, so this is the fn needed to check permissions.
@@ -0,0 +1,89 @@
1
+ import { HttpError } from '@oazapfts/runtime'
2
+ import { getApiAddresses } from '../api-addresses'
3
+ import { ConversationResponse } from '../api/ai'
4
+ import { create, create1, create2, defaults, deleteById, deleteById1, deleteById2, getAll, getAll1, getAll2, getAllByHypothesis, getById, getById1, getById2, GetOpportunityResponse } from '../api/discover'
5
+ import { DefaultAPIError } from '../error/DefaultAPIError'
6
+ import { StackspotAPIError } from '../error/StackspotAPIError'
7
+ import { baseDictionary } from '../error/dictionary/base'
8
+ import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient'
9
+ import { aiClient } from './ai'
10
+
11
+ export interface ChatConversionDetails extends ConversationResponse {
12
+ opportunityName?: string,
13
+ hypothesisCount?: number,
14
+ }
15
+
16
+ class DiscoverClient extends ReactQueryNetworkClient {
17
+ constructor() {
18
+ super(getApiAddresses().discover.url, defaults)
19
+ }
20
+
21
+ protected buildStackSpotError(error: HttpError): StackspotAPIError {
22
+ return new DefaultAPIError(error.data, error.status, baseDictionary, error.headers)
23
+ }
24
+
25
+ opportunities = this.query(getAll)
26
+
27
+ opportunity = this.query(getById)
28
+
29
+ hypotheses = this.query(getAll1)
30
+
31
+ hypothesisById = this.query(getById1)
32
+
33
+ documents = this.query(getAllByHypothesis)
34
+
35
+ document = this.query(getById2)
36
+
37
+ artifacts = this.query(getAll2)
38
+
39
+ createOpportunity = this.mutation(create)
40
+
41
+ createHypothesis = this.mutation(create1)
42
+
43
+ createDocument = this.mutation(create2)
44
+
45
+ deleteOpportunity = this.mutation(deleteById)
46
+
47
+ deleteHypothesis = this.mutation(deleteById1)
48
+
49
+ deleteDocument = this.mutation(deleteById2)
50
+
51
+ chats = this.query({
52
+ name: 'chats',
53
+ request: async (_signal, variables: { filter?: string, page?: number, size?: number }) => {
54
+ const opportunities = await this.opportunities.query({})
55
+
56
+ const opportunitiesByChatId: Record<string, any> = opportunities.content.reduce(
57
+ (acc, opp: GetOpportunityResponse) => {
58
+ if (opp.chatId) {
59
+ acc[opp.chatId] = opp
60
+ }
61
+ return acc
62
+ },
63
+ {} as Record<string, any>,
64
+ )
65
+
66
+ const chatsHistory = await aiClient.chats.query(
67
+ { ...variables, page: variables.page, size: variables.size ?? 40 },
68
+ )
69
+
70
+ const filteredItems = variables.filter
71
+ ? chatsHistory.filter((chat) => chat.title.toLowerCase().includes(variables.filter!.toLowerCase()))
72
+ : chatsHistory
73
+
74
+ const enrichedChats = filteredItems?.map(chat => {
75
+ const relatedOpportunity = opportunitiesByChatId[chat.id]
76
+
77
+ return {
78
+ ...chat,
79
+ opportunityName: relatedOpportunity?.title ?? null,
80
+ hypothesisCount: relatedOpportunity?.hypotheses?.length ?? 0,
81
+ }
82
+ })
83
+
84
+ return enrichedChats as ChatConversionDetails[]
85
+ },
86
+ })
87
+ }
88
+
89
+ export const discoverClient = new DiscoverClient()
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { CancelledError } from '@tanstack/react-query'
2
2
  export { apiAddresses, getApiAddresses, getBaseUrlWithOverride, setApisOverride } from './api-addresses'
3
3
  export { accountClient } from './client/account'
4
+ export * from './client/discover'
4
5
  export { agentClient } from './client/agent'
5
6
  export { agentToolsClient } from './client/agent-tools'
6
7
  export { aiClient } from './client/ai'
@@ -13,7 +14,7 @@ export { cloudServicesClient } from './client/cloud-services'
13
14
  export { codeShiftClient } from './client/code-shift'
14
15
  export { contentClient } from './client/content'
15
16
  export { dataIntegrationClient } from './client/data-integration'
16
- export { discoveryClient } from './client/discovery'
17
+ export { discoverClient } from './client/discover'
17
18
  export { eventBusClient } from './client/event-bus'
18
19
  export { genAiInferenceClient } from './client/gen-ai-inference'
19
20
  export { insightsClient } from './client/insights'