@stack-spot/portal-network 1.0.0-dev.1769537511491 → 1.0.0-dev.1769793051111

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 (58) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/api/accountAssetManager.d.ts +1 -0
  3. package/dist/api/accountAssetManager.d.ts.map +1 -1
  4. package/dist/api/accountAssetManager.js.map +1 -1
  5. package/dist/api/cloudPlatform.d.ts +79 -33
  6. package/dist/api/cloudPlatform.d.ts.map +1 -1
  7. package/dist/api/cloudPlatform.js +86 -76
  8. package/dist/api/cloudPlatform.js.map +1 -1
  9. package/dist/api/codeShift.d.ts +7 -3
  10. package/dist/api/codeShift.d.ts.map +1 -1
  11. package/dist/api/codeShift.js +3 -2
  12. package/dist/api/codeShift.js.map +1 -1
  13. package/dist/api/genAiInference.d.ts +54 -3
  14. package/dist/api/genAiInference.d.ts.map +1 -1
  15. package/dist/api/genAiInference.js +55 -2
  16. package/dist/api/genAiInference.js.map +1 -1
  17. package/dist/apis.json +3 -3
  18. package/dist/client/account.d.ts +16 -0
  19. package/dist/client/account.d.ts.map +1 -1
  20. package/dist/client/account.js +9 -0
  21. package/dist/client/account.js.map +1 -1
  22. package/dist/client/ai.d.ts +5 -28
  23. package/dist/client/ai.d.ts.map +1 -1
  24. package/dist/client/ai.js +1 -560
  25. package/dist/client/ai.js.map +1 -1
  26. package/dist/client/cloud-platform.d.ts +4 -12
  27. package/dist/client/cloud-platform.d.ts.map +1 -1
  28. package/dist/client/cloud-platform.js +5 -14
  29. package/dist/client/cloud-platform.js.map +1 -1
  30. package/dist/client/code-shift.d.ts +2 -1
  31. package/dist/client/code-shift.d.ts.map +1 -1
  32. package/dist/client/discover.d.ts +11 -4
  33. package/dist/client/discover.d.ts.map +1 -1
  34. package/dist/client/discover.js +140 -136
  35. package/dist/client/discover.js.map +1 -1
  36. package/dist/client/gen-ai-inference.d.ts +4 -0
  37. package/dist/client/gen-ai-inference.d.ts.map +1 -1
  38. package/dist/client/gen-ai-inference.js +267 -0
  39. package/dist/client/gen-ai-inference.js.map +1 -1
  40. package/dist/client/types.d.ts +13 -14
  41. package/dist/client/types.d.ts.map +1 -1
  42. package/dist/utils/StreamedJson.d.ts +7 -1
  43. package/dist/utils/StreamedJson.d.ts.map +1 -1
  44. package/dist/utils/StreamedJson.js +10 -2
  45. package/dist/utils/StreamedJson.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/api/accountAssetManager.ts +1 -0
  48. package/src/api/cloudPlatform.ts +170 -111
  49. package/src/api/codeShift.ts +9 -4
  50. package/src/api/genAiInference.ts +124 -4
  51. package/src/apis.json +8 -8
  52. package/src/client/account.ts +4 -0
  53. package/src/client/ai.ts +1 -626
  54. package/src/client/cloud-platform.ts +4 -9
  55. package/src/client/discover.ts +151 -137
  56. package/src/client/gen-ai-inference.ts +281 -0
  57. package/src/client/types.ts +14 -14
  58. package/src/utils/StreamedJson.tsx +11 -2
@@ -1,7 +1,7 @@
1
1
  import { RequestOpts } from '@oazapfts/runtime'
2
2
  import { AccountScmInfoSaveRequest, AccountScmInfoUpdateRequest, AccountScmStatusResponse, GroupsFromResourceResponse, MembersFromResourceResponse } from '../api/account'
3
3
  import { AgentVisibilityLevelEnum, HttpMethod, ListAgentResponse, VisibilityLevelEnum } from '../api/agent-tools'
4
- import { ChatRequest, ChatResponse3, ContentDependencyResponse, ConversationHistoryResponse, ConversationResponse, DependencyResponse, QuickCommandResponse, QuickCommandStepResult } from '../api/ai'
4
+ import { ChatRequest, ChatResponse3, ContentDependencyResponse, ConversationHistoryResponse, ConversationResponse, DependencyResponse, QuickCommandResponse, QuickCommandStepResult, SourceKnowledgeSource, SourceProjectFile3, SourceStackAi } from '../api/ai'
5
5
  import { ConnectAccountRequestV2, ManagedAccountProvisionRequest } from '../api/cloudAccount'
6
6
  import { AllocationCostRequest, AllocationCostResponse, ChargePeriod, getAllocationCostFilters, ManagedService, ServiceResource } from '../api/cloudServices'
7
7
  import { Action } from '../api/workspace-ai'
@@ -172,20 +172,11 @@ export interface FixedPaginatedActivityResponse extends Omit<PaginatedActivityRe
172
172
 
173
173
  export interface FixedChatRequest extends ChatRequest {
174
174
  context?: {
175
- workspace?: string,
176
- conversation_id?: string,
177
- stack_id?: string,
178
- language?: string,
179
- project_recent_files?: string,
180
- knowledge_sources?: string[],
181
- agent_id?: string,
182
- agent_built_in?: boolean,
183
175
  platform?: string,
184
176
  platform_version?: string,
185
177
  stackspot_ai_version?: string,
186
178
  os?: string,
187
- upload_ids?: string[],
188
- selected_model_id?: string,
179
+ agent_id?: string,
189
180
  },
190
181
  }
191
182
 
@@ -194,6 +185,7 @@ export interface FixedConversationHistoryResponse extends ConversationHistoryRes
194
185
  custom_agent?: {
195
186
  id: string,
196
187
  built_in: boolean,
188
+ version_number?: number,
197
189
  },
198
190
  }
199
191
 
@@ -366,9 +358,17 @@ export interface ToolCallsAgentInfo extends BaseAgentInfo {
366
358
 
367
359
  export type AgentInfo = GenericAgentInfo | PlanningAgentInfo | StepAgentInfo | ToolAgentInfo | ToolCallsAgentInfo
368
360
 
369
- export interface FixedChatResponse extends ChatResponse3 {
370
- agent_info: AgentInfo,
371
- tools?: string[],
361
+ export type ChatResponse = {
362
+ message: string,
363
+ cross_account_source: SourceKnowledgeSource[],
364
+ source: (SourceStackAi | SourceKnowledgeSource | SourceProjectFile3)[],
365
+ message_id: string | null,
366
+ stop_reason: 'stop',
367
+ };
368
+
369
+ export interface FixedChatResponse extends ChatResponse {
370
+ agent_info: AgentInfo[],
371
+ tools_id?: string[],
372
372
  }
373
373
  export interface OpportunitiesPMAgent {
374
374
  title: string,
@@ -21,6 +21,11 @@ interface ConstructorParams<T> {
21
21
  * @default 50
22
22
  */
23
23
  minChangeIntervalMS?: number,
24
+ /**
25
+ * Allows overriding the minimum interval by event.
26
+ * Useful when some events must flush immediately (agent_info events).
27
+ */
28
+ minChangeIntervalMSFromEvent?: (event: Partial<T>, data: Partial<T>) => number | undefined,
24
29
  /**
25
30
  * Optional. If set, this function will be called with every streaming event and must transform the current data object according to the
26
31
  * message received.
@@ -45,16 +50,18 @@ export class StreamedJson<T> {
45
50
  private abortController: AbortController | undefined
46
51
  private transform?: (event: Partial<T>, data: Partial<T>) => void | Promise<void>
47
52
  private ignoreKeys?: (keyof T)[]
53
+ private minChangeIntervalMSFromEvent?: (event: Partial<T>, data: Partial<T>) => number | undefined
48
54
  private textFromErrorEvent: (data: Partial<T>) => string
49
55
 
50
56
  /**
51
57
  * @param response the fetch response.
52
58
  * @param minChangeIntervalMS a stream can be too fast. This sets a minimum interval between running the listeners. The default is 50ms.
53
59
  */
54
- constructor({ eventsPromise, abortController, minChangeIntervalMS = 50, transform, ignoreKeys, textFromErrorEvent }: ConstructorParams<T>) {
60
+ constructor({ eventsPromise, abortController, minChangeIntervalMS = 50, minChangeIntervalMSFromEvent, transform, ignoreKeys, textFromErrorEvent }: ConstructorParams<T>) {
55
61
  this.abortController = abortController
56
62
  this.transform = transform
57
63
  this.ignoreKeys = ignoreKeys
64
+ this.minChangeIntervalMSFromEvent = minChangeIntervalMSFromEvent
58
65
  this.run(eventsPromise, minChangeIntervalMS)
59
66
  this.textFromErrorEvent = textFromErrorEvent ?? ((data) => JSON.stringify(data))
60
67
  }
@@ -77,7 +84,9 @@ export class StreamedJson<T> {
77
84
  }
78
85
  await this.transform?.(json, this.data)
79
86
  this.merge(json, this.data)
80
- if (event.event !== 'error' && new Date().getTime() - lastChangeCall >= minChangeIntervalMS) {
87
+
88
+ const intervalMS = this.minChangeIntervalMSFromEvent?.(json, this.data) ?? minChangeIntervalMS
89
+ if (event.event !== 'error' && new Date().getTime() - lastChangeCall >= intervalMS) {
81
90
  this.onChangeListeners.forEach(l => l(this.data))
82
91
  lastChangeCall = new Date().getTime()
83
92
  flushed = true