@opensumi/ide-core-common 3.4.5-next-1730102270.0 → 3.4.5-next-1730119322.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 (148) hide show
  1. package/lib/browser-fs/ensure-dir.js +1 -2
  2. package/lib/browser-fs/ensure-dir.js.map +1 -1
  3. package/lib/browser-fs/util.js +1 -2
  4. package/lib/browser-fs/util.js.map +1 -1
  5. package/lib/codicons.d.ts +70 -70
  6. package/lib/codicons.d.ts.map +1 -1
  7. package/lib/codicons.js +5 -5
  8. package/lib/codicons.js.map +1 -1
  9. package/lib/command.js +17 -9
  10. package/lib/command.js.map +1 -1
  11. package/lib/comparers.js +5 -6
  12. package/lib/comparers.js.map +1 -1
  13. package/lib/const/application.d.ts +1 -1
  14. package/lib/const/application.js +2 -2
  15. package/lib/const/application.js.map +1 -1
  16. package/lib/const/locale-types.d.ts.map +1 -1
  17. package/lib/contribution-provider.js +2 -2
  18. package/lib/contribution-provider.js.map +1 -1
  19. package/lib/devtools/index.js +2 -2
  20. package/lib/devtools/index.js.map +1 -1
  21. package/lib/di-helper/domain-helper.d.ts.map +1 -1
  22. package/lib/di-helper/domain-helper.js +1 -2
  23. package/lib/di-helper/domain-helper.js.map +1 -1
  24. package/lib/error.js +1 -2
  25. package/lib/error.js.map +1 -1
  26. package/lib/event-bus/event-bus.js +2 -2
  27. package/lib/event-bus/event-bus.js.map +1 -1
  28. package/lib/event-bus/event-decorator.d.ts.map +1 -1
  29. package/lib/event-bus/event-decorator.js +3 -3
  30. package/lib/event-bus/event-decorator.js.map +1 -1
  31. package/lib/hash-calculate/WASMInterface.d.ts +1 -1
  32. package/lib/hash-calculate/WASMInterface.js +2 -2
  33. package/lib/hash-calculate/WASMInterface.js.map +1 -1
  34. package/lib/hash-calculate/hash-calculate.js +2 -2
  35. package/lib/hash-calculate/hash-calculate.js.map +1 -1
  36. package/lib/hash-calculate/lockedCreate.js +1 -2
  37. package/lib/hash-calculate/lockedCreate.js.map +1 -1
  38. package/lib/hash-calculate/mutex.js.map +1 -1
  39. package/lib/hash-calculate/util.js +8 -8
  40. package/lib/hash-calculate/util.js.map +1 -1
  41. package/lib/keyboard/keymap.js +2 -2
  42. package/lib/keyboard/keymap.js.map +1 -1
  43. package/lib/line-text.js.map +1 -1
  44. package/lib/localize.js +13 -13
  45. package/lib/localize.js.map +1 -1
  46. package/lib/log.js +4 -4
  47. package/lib/log.js.map +1 -1
  48. package/lib/markdown.js +5 -3
  49. package/lib/markdown.js.map +1 -1
  50. package/lib/mime.js +3 -3
  51. package/lib/mime.js.map +1 -1
  52. package/lib/mocks/electron/browserMock.js +1 -2
  53. package/lib/mocks/electron/browserMock.js.map +1 -1
  54. package/lib/mocks/electron/ipcRenderer.d.ts +0 -1
  55. package/lib/mocks/electron/ipcRenderer.d.ts.map +1 -1
  56. package/lib/module.js +5 -5
  57. package/lib/module.js.map +1 -1
  58. package/lib/network.js +1 -1
  59. package/lib/network.js.map +1 -1
  60. package/lib/node/port.js +3 -4
  61. package/lib/node/port.js.map +1 -1
  62. package/lib/node/utils.d.ts +0 -1
  63. package/lib/node/utils.d.ts.map +1 -1
  64. package/lib/node/utils.js +2 -3
  65. package/lib/node/utils.js.map +1 -1
  66. package/lib/preferences/preference-schema.js +3 -3
  67. package/lib/preferences/preference-schema.js.map +1 -1
  68. package/lib/preferences/preference-scope.js +2 -2
  69. package/lib/preferences/preference-scope.js.map +1 -1
  70. package/lib/problem-matcher.js +3 -3
  71. package/lib/problem-matcher.js.map +1 -1
  72. package/lib/problem-pattern.d.ts +1 -1
  73. package/lib/problem-pattern.d.ts.map +1 -1
  74. package/lib/problem-pattern.js +20 -20
  75. package/lib/problem-pattern.js.map +1 -1
  76. package/lib/reference.js +2 -2
  77. package/lib/reference.js.map +1 -1
  78. package/lib/remote-service/README.md +9 -9
  79. package/lib/remote-service/data-store/decorators.d.ts +2 -2
  80. package/lib/remote-service/data-store/decorators.d.ts.map +1 -1
  81. package/lib/remote-service/data-store/decorators.js +23 -26
  82. package/lib/remote-service/data-store/decorators.js.map +1 -1
  83. package/lib/remote-service/data-store/select.d.ts +2 -2
  84. package/lib/remote-service/data-store/select.d.ts.map +1 -1
  85. package/lib/remote-service/data-store/select.js +1 -2
  86. package/lib/remote-service/data-store/select.js.map +1 -1
  87. package/lib/remote-service/data-store/store.d.ts +20 -17
  88. package/lib/remote-service/data-store/store.d.ts.map +1 -1
  89. package/lib/remote-service/data-store/store.js +32 -4
  90. package/lib/remote-service/data-store/store.js.map +1 -1
  91. package/lib/remote-service/index.d.ts +1 -1
  92. package/lib/remote-service/index.d.ts.map +1 -1
  93. package/lib/remote-service/index.js +4 -4
  94. package/lib/remote-service/index.js.map +1 -1
  95. package/lib/reporter.d.ts.map +1 -1
  96. package/lib/reporter.js +4 -4
  97. package/lib/reporter.js.map +1 -1
  98. package/lib/settings/ai-native.js +1 -1
  99. package/lib/settings/ai-native.js.map +1 -1
  100. package/lib/settings/general.js +1 -1
  101. package/lib/settings/general.js.map +1 -1
  102. package/lib/storage.js +3 -3
  103. package/lib/storage.js.map +1 -1
  104. package/lib/task-definition.d.ts.map +1 -1
  105. package/lib/task-definition.js +3 -3
  106. package/lib/task-definition.js.map +1 -1
  107. package/lib/theme.js +4 -4
  108. package/lib/theme.js.map +1 -1
  109. package/lib/types/ai-native/index.d.ts +4 -0
  110. package/lib/types/ai-native/index.d.ts.map +1 -1
  111. package/lib/types/ai-native/index.js +9 -2
  112. package/lib/types/ai-native/index.js.map +1 -1
  113. package/lib/types/ai-native/reporter.d.ts +21 -11
  114. package/lib/types/ai-native/reporter.d.ts.map +1 -1
  115. package/lib/types/ai-native/reporter.js +19 -18
  116. package/lib/types/ai-native/reporter.js.map +1 -1
  117. package/lib/types/authentication.d.ts +0 -8
  118. package/lib/types/authentication.d.ts.map +1 -1
  119. package/lib/types/editor.js +4 -4
  120. package/lib/types/editor.js.map +1 -1
  121. package/lib/types/extension.js +3 -3
  122. package/lib/types/extension.js.map +1 -1
  123. package/lib/types/file-watch.js +4 -4
  124. package/lib/types/file-watch.js.map +1 -1
  125. package/lib/types/file.d.ts +0 -1
  126. package/lib/types/file.d.ts.map +1 -1
  127. package/lib/types/file.js +2 -2
  128. package/lib/types/file.js.map +1 -1
  129. package/lib/types/markers/markers-manager.js +7 -4
  130. package/lib/types/markers/markers-manager.js.map +1 -1
  131. package/lib/types/markers/markers.js +3 -3
  132. package/lib/types/markers/markers.js.map +1 -1
  133. package/lib/types/message.js +1 -1
  134. package/lib/types/message.js.map +1 -1
  135. package/lib/types/reporter.js +3 -3
  136. package/lib/types/reporter.js.map +1 -1
  137. package/lib/utils/ipc.js +2 -3
  138. package/lib/utils/ipc.js.map +1 -1
  139. package/package.json +4 -4
  140. package/src/const/application.ts +1 -1
  141. package/src/problem-pattern.ts +2 -3
  142. package/src/remote-service/README.md +9 -9
  143. package/src/remote-service/data-store/decorators.ts +39 -25
  144. package/src/remote-service/data-store/select.ts +3 -3
  145. package/src/remote-service/data-store/store.ts +60 -21
  146. package/src/types/ai-native/index.ts +7 -0
  147. package/src/types/ai-native/reporter.ts +20 -9
  148. package/src/types/authentication.ts +0 -7
@@ -1,30 +1,37 @@
1
1
  import extend from 'lodash/extend';
2
2
 
3
3
  import { EventEmitter } from '@opensumi/events';
4
+ import { isUndefined } from '@opensumi/ide-utils';
4
5
 
5
6
  import { select } from './select';
6
7
 
7
- export interface DataStore<Item> {
8
- create(item: Item): Item;
9
- find(query: Record<string, any>): Item[] | undefined;
10
- size(query: Record<string, any>): number;
11
- get(id: string, query?: Record<string, any>): Item | undefined;
12
- update(id: string, item: Partial<Item>): void;
13
- remove(id: string): void;
14
- }
8
+ /**
9
+ * The query looks like:
10
+ * { field: value }
11
+ * { field: conditions }
12
+ */
13
+ export type Query = Record<string, any>;
15
14
 
16
- export interface DataStoreEvent<Item> extends Record<string, any> {
15
+ export interface DataStoreEvent<Item> {
17
16
  created: [item: Item];
18
17
  updated: [oldItem: Item, newItem: Item];
19
18
  removed: [item: Item];
19
+
20
+ [key: string]: any[];
20
21
  }
21
22
 
22
23
  export interface DataStoreOptions {
23
24
  id?: string;
24
25
  }
25
26
 
26
- export class InMemoryDataStore<Item> extends EventEmitter<DataStoreEvent<Item>> implements DataStore<Item> {
27
- private store = new Map<string, Item>();
27
+ type MarkOptional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
28
+
29
+ export class InMemoryDataStore<
30
+ Item extends Record<any, any>,
31
+ PrimaryKey extends keyof Item = 'id',
32
+ PrimaryKeyType = Required<Item>[PrimaryKey],
33
+ > extends EventEmitter<DataStoreEvent<Item>> {
34
+ private store = new Map<PrimaryKeyType, Item>();
28
35
  private _uid = 0;
29
36
  /**
30
37
  * primary key
@@ -36,8 +43,8 @@ export class InMemoryDataStore<Item> extends EventEmitter<DataStoreEvent<Item>>
36
43
  this.id = options?.id || 'id';
37
44
  }
38
45
 
39
- create(item: Item): Item {
40
- const id = item[this.id] || String(this._uid++);
46
+ create(item: MarkOptional<Item, PrimaryKey>): Item {
47
+ const id = item[this.id] || (this._uid++ as PrimaryKeyType);
41
48
  const result = extend({}, item, { [this.id]: id }) as Item;
42
49
 
43
50
  this.store.set(id, result);
@@ -46,29 +53,32 @@ export class InMemoryDataStore<Item> extends EventEmitter<DataStoreEvent<Item>>
46
53
  return result;
47
54
  }
48
55
 
49
- find(query: Record<string, any>): Item[] | undefined {
56
+ find(query?: Query): Item[] | undefined {
57
+ if (isUndefined(query)) {
58
+ return Array.from(this.store.values());
59
+ }
50
60
  return select(this.store, query);
51
61
  }
52
62
 
53
- size(query?: Record<string, any>): number {
54
- if (!query) {
63
+ count(query?: Query): number {
64
+ if (isUndefined(query)) {
55
65
  return this.store.size;
56
66
  }
57
67
 
58
68
  return this.find(query)?.length || 0;
59
69
  }
60
70
 
61
- get(id: string): Item | undefined {
71
+ get(id: PrimaryKeyType): Item | undefined {
62
72
  return this.store.get(id);
63
73
  }
64
74
 
65
- has(id: string): boolean {
75
+ has(id: PrimaryKeyType): boolean {
66
76
  return this.store.has(id);
67
77
  }
68
78
 
69
- update(id: string, item: Partial<Item>): void {
79
+ update(id: PrimaryKeyType, item: Partial<Item>): void {
70
80
  const current = this.store.get(id);
71
- if (!current) {
81
+ if (isUndefined(current)) {
72
82
  return;
73
83
  }
74
84
 
@@ -78,7 +88,7 @@ export class InMemoryDataStore<Item> extends EventEmitter<DataStoreEvent<Item>>
78
88
  this.store.set(id, result);
79
89
  }
80
90
 
81
- remove(id: string): void {
91
+ remove(id: PrimaryKeyType): void {
82
92
  const item = this.store.get(id);
83
93
  if (item) {
84
94
  this.emit('removed', item);
@@ -86,4 +96,33 @@ export class InMemoryDataStore<Item> extends EventEmitter<DataStoreEvent<Item>>
86
96
 
87
97
  this.store.delete(id);
88
98
  }
99
+
100
+ removeItem(item: Item): void {
101
+ const id = item[this.id] as PrimaryKeyType;
102
+ if (isUndefined(id)) {
103
+ return;
104
+ }
105
+
106
+ this.remove(id);
107
+ }
108
+
109
+ removeAll(query?: Query): void {
110
+ if (isUndefined(query)) {
111
+ const items = Array.from(this.store.values());
112
+ this.store.clear();
113
+
114
+ items.forEach((item) => {
115
+ this.emit('removed', item);
116
+ });
117
+ return;
118
+ }
119
+
120
+ const items = this.find(query);
121
+ if (items) {
122
+ items.forEach((item) => {
123
+ this.store.delete(item[this.id]);
124
+ this.emit('removed', item);
125
+ });
126
+ }
127
+ }
89
128
  }
@@ -349,3 +349,10 @@ export interface IHistoryChatMessage extends IChatMessage {
349
349
  requestId?: string;
350
350
  replyStartTime?: number;
351
351
  }
352
+
353
+ // ## Code Edits start ##
354
+ export enum ECodeEditsSourceTyping {
355
+ LinterErrors = 'lint_errors',
356
+ LineChange = 'line_change',
357
+ }
358
+ // ## Code Edits ends ##
@@ -1,6 +1,8 @@
1
+ import { ECodeEditsSourceTyping } from './index';
2
+
1
3
  export const AI_REPORTER_NAME = 'AI';
2
4
 
3
- export enum AISerivceType {
5
+ export enum AIServiceType {
4
6
  Chat = 'chat',
5
7
  InlineChat = 'inlineChat',
6
8
  CodeAction = 'codeAction',
@@ -12,6 +14,7 @@ export enum AISerivceType {
12
14
  Rename = 'rename',
13
15
  TerminalAICommand = 'terminalAICommand',
14
16
  ProblemFix = 'problemFix',
17
+ CodeEdits = 'codeEdits',
15
18
  }
16
19
 
17
20
  export enum ActionSourceEnum {
@@ -64,7 +67,7 @@ export enum ActionTypeEnum {
64
67
  }
65
68
 
66
69
  export interface CommonLogInfo {
67
- msgType: AISerivceType | string;
70
+ msgType: AIServiceType | string;
68
71
  relationId: string;
69
72
  replytime: number;
70
73
  success: boolean;
@@ -172,15 +175,23 @@ export interface InlineChatRT extends Partial<CommonLogInfo> {
172
175
  runByCodeAction?: boolean;
173
176
  }
174
177
 
178
+ export interface CodeEditsRT extends Partial<CommonLogInfo> {
179
+ actionSource?: ECodeEditsSourceTyping;
180
+ isCancel?: boolean;
181
+ accept?: boolean;
182
+ discard?: boolean;
183
+ }
184
+
175
185
  export type ReportInfo =
176
186
  | Partial<CommonLogInfo>
177
- | ({ type: AISerivceType.Completion } & CompletionRT)
178
- | ({ type: AISerivceType.MergeConflict } & MergeConflictRT)
179
- | ({ type: AISerivceType.Rename } & RenameRT)
180
- | ({ type: AISerivceType.InlineChat } & InlineChatRT)
181
- | ({ type: AISerivceType.InlineChatInput } & InlineChatRT)
182
- | ({ type: AISerivceType.Chat } & ChatRT)
183
- | ({ type: AISerivceType.Agent } & ChatRT);
187
+ | ({ type: AIServiceType.Completion } & CompletionRT)
188
+ | ({ type: AIServiceType.MergeConflict } & MergeConflictRT)
189
+ | ({ type: AIServiceType.Rename } & RenameRT)
190
+ | ({ type: AIServiceType.InlineChat } & InlineChatRT)
191
+ | ({ type: AIServiceType.InlineChatInput } & InlineChatRT)
192
+ | ({ type: AIServiceType.Chat } & ChatRT)
193
+ | ({ type: AIServiceType.Agent } & ChatRT)
194
+ | ({ type: AIServiceType.CodeEdits } & CodeEditsRT);
184
195
 
185
196
  export const IAIReporter = Symbol('IAIReporter');
186
197
 
@@ -106,10 +106,3 @@ export interface SessionRequest {
106
106
  export interface SessionRequestInfo {
107
107
  [scopes: string]: SessionRequest;
108
108
  }
109
-
110
- export interface AuthenticationGetSessionOptions {
111
- createIfNone: boolean;
112
- clearSessionPreference: boolean;
113
- forceNewSession?: boolean | { detail: string };
114
- silent?: boolean;
115
- }