@adminide-stack/extension-api 12.0.4-alpha.458 → 12.0.4-alpha.460
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.
- package/lib/connections/remote-rpc/browser-remote-rpc.d.ts +3 -1
- package/lib/connections/remote-rpc/browser-remote-rpc.js +23 -17
- package/lib/connections/remote-rpc/browser-remote-rpc.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/interfaces/command.d.ts +1 -0
- package/lib/protocol/client.protocol.d.ts +2 -0
- package/lib/protocol/client.protocol.js.map +1 -1
- package/lib/protocol/rpc-protocol.js +8 -2
- package/lib/protocol/rpc-protocol.js.map +1 -1
- package/lib/services/code/index.d.ts +1 -0
- package/lib/services/code/javascript/autocomplete-demo.d.ts +49 -0
- package/lib/services/code/javascript/code-javascript-service.d.ts +100 -0
- package/lib/services/code/javascript/code-javascript-service.js +193 -0
- package/lib/services/code/javascript/code-javascript-service.js.map +1 -0
- package/lib/services/code/javascript/handler/evaluate.d.ts +14 -0
- package/lib/services/code/javascript/index.d.ts +9 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/base64-js.json.js +13 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/base64-js.json.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/browser.json.js +441 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/browser.json.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/ecmascript.json.js +1973 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/ecmascript.json.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/lodash.json.js +1546 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/definitions/lodash.json.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/index.d.ts +45 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/index.js +56 -0
- package/lib/services/code/javascript/jslibrary/autocomplete/index.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/autocomplete-manager.d.ts +94 -0
- package/lib/services/code/javascript/jslibrary/autocomplete-manager.js +249 -0
- package/lib/services/code/javascript/jslibrary/autocomplete-manager.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/definitions.d.ts +465 -0
- package/lib/services/code/javascript/jslibrary/index.d.ts +4 -0
- package/lib/services/code/javascript/jslibrary/index.js +14 -0
- package/lib/services/code/javascript/jslibrary/index.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/library-manager.d.ts +53 -0
- package/lib/services/code/javascript/jslibrary/library-manager.js +65 -0
- package/lib/services/code/javascript/jslibrary/library-manager.js.map +1 -0
- package/lib/services/code/javascript/jslibrary/reset.d.ts +2 -0
- package/lib/services/code/javascript/jslibrary/reset.js +33 -0
- package/lib/services/code/javascript/jslibrary/reset.js.map +1 -0
- package/lib/services/code/javascript/utils/dom.d.ts +4 -0
- package/lib/services/code/javascript/utils/dom.js +138 -0
- package/lib/services/code/javascript/utils/dom.js.map +1 -0
- package/lib/services/code/javascript/utils/library-utils.d.ts +12 -0
- package/lib/services/code/javascript/utils/library-utils.js +76 -0
- package/lib/services/code/javascript/utils/library-utils.js.map +1 -0
- package/lib/services/code/javascript/utils/messages.d.ts +21 -0
- package/lib/services/code/javascript/utils/messages.js +25 -0
- package/lib/services/code/javascript/utils/messages.js.map +1 -0
- package/lib/services/code/javascript/utils/tern-definitions.d.ts +4 -0
- package/lib/services/code/javascript/utils/tern-definitions.js +75 -0
- package/lib/services/code/javascript/utils/tern-definitions.js.map +1 -0
- package/lib/services/code/javascript/utils/types.d.ts +26 -0
- package/lib/services/code/javascript/utils/types.js +16 -0
- package/lib/services/code/javascript/utils/types.js.map +1 -0
- package/package.json +5 -5
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { VSBuffer } from '@vscode-alt/monaco-editor/esm/vs/base/common/buffer';
|
|
2
|
+
import { Event } from '@vscode-alt/monaco-editor/esm/vs/base/common/event';
|
|
2
3
|
import { HostIdentifier, IRPCMessagePassingProtocol } from '../../protocol';
|
|
3
4
|
export declare class BrowserRemoteRPC implements IRPCMessagePassingProtocol {
|
|
4
5
|
private input$;
|
|
5
6
|
private readonly _localHostId;
|
|
6
7
|
private _onMessage;
|
|
8
|
+
readonly onMessage: Event<VSBuffer>;
|
|
7
9
|
constructor(hostId?: HostIdentifier);
|
|
8
|
-
onMessage(event: any): import("@vscode-alt/monaco-editor/esm/vs/base/common/lifecycle").IDisposable;
|
|
9
10
|
connect(url: string, makeWebSocket: any): void;
|
|
10
11
|
send(buffer: VSBuffer, hostIdentifier: any): void;
|
|
12
|
+
forward(buffer: VSBuffer, hostIdentifier?: HostIdentifier): void;
|
|
11
13
|
}
|
|
@@ -3,14 +3,12 @@ import {QueueingSubject}from'queueing-subject';import {VSBuffer}from'@vscode-alt
|
|
|
3
3
|
input$;
|
|
4
4
|
_localHostId;
|
|
5
5
|
_onMessage = new Emitter();
|
|
6
|
+
onMessage = this._onMessage.event;
|
|
6
7
|
constructor(hostId = 2 /* HostIdentifier.BrowserExtHost */) {
|
|
7
8
|
this._localHostId = hostId;
|
|
8
9
|
// console.clear();
|
|
9
10
|
this.input$ = new QueueingSubject();
|
|
10
11
|
}
|
|
11
|
-
onMessage(event) {
|
|
12
|
-
return this._onMessage.event(event);
|
|
13
|
-
}
|
|
14
12
|
connect(url, makeWebSocket) {
|
|
15
13
|
const socket$ = makeWebSocketObservable(url, {
|
|
16
14
|
protocols: '',
|
|
@@ -22,20 +20,23 @@ import {QueueingSubject}from'queueing-subject';import {VSBuffer}from'@vscode-alt
|
|
|
22
20
|
console.log('websocket opened');
|
|
23
21
|
return getResponses(this.input$);
|
|
24
22
|
}), share());
|
|
25
|
-
messages$.subscribe(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
23
|
+
messages$.subscribe({
|
|
24
|
+
next: message => {
|
|
25
|
+
const buff = new Uint8Array(message);
|
|
26
|
+
// @sri in future version of @vscode-alt/monaco-editor we don't need to do add `Buffer.from`
|
|
27
|
+
// noticed `Buffer` in browser will be polyfilled by webpack
|
|
28
|
+
const vsBuffer = VSBuffer.wrap(buff);
|
|
29
|
+
this._onMessage.fire(vsBuffer);
|
|
30
|
+
},
|
|
31
|
+
error: error => {
|
|
32
|
+
const {
|
|
33
|
+
message
|
|
34
|
+
} = error;
|
|
35
|
+
if (message === normalClosureMessage) {
|
|
36
|
+
console.log('server closed the websocket connection normally');
|
|
37
|
+
} else {
|
|
38
|
+
console.log('socket was disconnected due to error:', message);
|
|
39
|
+
}
|
|
39
40
|
}
|
|
40
41
|
});
|
|
41
42
|
}
|
|
@@ -54,4 +55,9 @@ import {QueueingSubject}from'queueing-subject';import {VSBuffer}from'@vscode-alt
|
|
|
54
55
|
const arrayBuffer = cocnatBuf.buffer.buffer.slice(cocnatBuf.buffer.byteOffset, cocnatBuf.buffer.byteOffset + cocnatBuf.buffer.byteLength);
|
|
55
56
|
this.input$.next(arrayBuffer);
|
|
56
57
|
}
|
|
58
|
+
forward(buffer, hostIdentifier) {
|
|
59
|
+
// For BrowserRemoteRPC, forwarding is the same as sending
|
|
60
|
+
// since it's already connected to the appropriate endpoint
|
|
61
|
+
this.send(buffer, hostIdentifier || this._localHostId);
|
|
62
|
+
}
|
|
57
63
|
}export{BrowserRemoteRPC};//# sourceMappingURL=browser-remote-rpc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-remote-rpc.js","sources":["../../../src/connections/remote-rpc/browser-remote-rpc.ts"],"sourcesContent":[null],"names":["websocketConnect"],"mappings":"kUAOa,gBAAgB,CAAA;;AAEjB,EAAA,MAAA;AAES,EAAA,YAAA;AAET,EAAA,UAAA,GAAU,IAAG,OAAI,EAAO;
|
|
1
|
+
{"version":3,"file":"browser-remote-rpc.js","sources":["../../../src/connections/remote-rpc/browser-remote-rpc.ts"],"sourcesContent":[null],"names":["websocketConnect"],"mappings":"kUAOa,gBAAgB,CAAA;;AAEjB,EAAA,MAAA;AAES,EAAA,YAAA;AAET,EAAA,UAAA,GAAU,IAAG,OAAI,EAAO;AAChB,EAAA,SAAA,OAA6B,CAAA,UAAK,CAAA;AAElD,EAAA,WAAA,CAAA,MAAY,GAAA,CAAA,sCAAsD;AAC9D,IAAA,IAAA,CAAA,YAAK,GAAA,MAAe;;AAEpB,IAAA,IAAA,CAAA,MAAK,GAAA,IAAS,eAAI,EAAA;;SAGf,CAAA,GAAQ,EAAW,aAAE,EAAa;AACrC,IAAA,MAAA,OAAM,GAAAA,uBAAU,CAAA,GAAgB;AAC5B,MAAA,SAAA,EAAA,EAAA;;AAEH,KAAA,CAAA;AAED,IAAA,MAAA,SAAM,GAAA,OAA0C,CAAA,IAAQ;;AAEpD,IAAA,SAAA,CAAA,YAAW,IAAA;AACP,MAAA,OAAA,CAAA,GAAA,CAAA,kBAAY,CAAA;AACZ,MAAA,OAAA,kBAAmB,MAAM,CAAA;AAC7B,IAAA,CAAA,CAAA,EAAA,KACA,EAAA,CAAA;aAGJ,CAAA;AACI,MAAA,IAAA,EAAA,OAAO,IAAA;AACH,QAAA,MAAA,IAAA,GAAA,sBAA2B,CAAC;;;sBAGtB,GAAA,QAAW,CAAA,IAAA,CAAA;AACjB,QAAA,IAAA,CAAA,UAAK,CAAA,IAAA,CAAA,QAAgB,CAAA;;AAEzB,MAAA,KAAA,EAAA,KAAK,IAAG;AACJ,QAAA,MAAA;AACA,UAAA;AACI,SAAA,GAAA,KAAA;mBACH,KAAA,oBAAA,EAAA;qBAAM,CAAC,iDAAA,CAAA;AACJ,QAAA,CAAA,MAAA;iBACH,CAAA,GAAA,CAAA,uCAAA,EAAA,OAAA,CAAA;;AAER,MAAA;KACJ,CAAA;;aAGG,EAAA,cAAA,EAAA;;;;;UAKA,SAAA,GAAA,QAAA,CAAA,KAA0B,CAAA,CAAA,CAAA;AAC1B;aACA,CAAA,UAAA,CAAA,cAAqB,EAAA,CAAA,CAAA;;AAErB,IAAA,SAAA,CAAM,UAAS,CAAA,IAAG,CAAA,YAAgB,EAAC,CAAA,CAAA;UACnC,SAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA,SAAA,EAAyC,MAAA,CAAA,CAAA;AACzC;AAIA,IAAA,MAAA,cAAgB,SAAC,CAAA,MAAa,CAAA,MAAA,CAAA,KAAA,CAAA,SAAA,CAAA,MAAA,CAAA,UAAA,EAAA,SAAA,CAAA,MAAA,CAAA,UAAA,GAAA,SAAA,CAAA,MAAA,CAAA,UAAA,CAAA;IAClC,IAAC,CAAA,MAAA,CAAA,IAAA,CAAA,WAAA,CAAA;;SAGG,CAAA,MAAA,EAAA,cAAA,EAAA;;;IAGJ,IAAC,CAAA,IAAA,CAAA,MAAA,EAAA,cAAA,IAAA,IAAA,CAAA,YAAA,CAAA;AACJ,EAAA;"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{graphQLContent}from'./interfaces/graphql.js';export{ContributableMenu,ContributableViewContainer}from'./interfaces/contributions/contribution.js';export{EMPTY_MODEL}from'./interfaces/model.js';export{match,score}from'./interfaces/text-document.js';export{WebviewContentPurpose}from'./interfaces/webview/webview.js';export{EditorPosition}from'./protocol/editor-missing-types.js';export{HostIdentifier,ProxyIdentifier,RequestType,TransportType,createExtHostContextProxyIdentifier,createMainContextProxyIdentifier,getStringIdentifierForProxy}from'./protocol/proxy-identifier.js';export{modes}from'./protocol/temporary-types.js';export{ClientContext}from'./protocol/client.protocol.js';export{IdObject,ObjectIdentifier,SuggestDataDtoField,SuggestResultDtoField,reviveWorkspaceEditDto}from'./protocol/common.protocol.js';export{editorGroupToViewColumn,viewColumnToEditorGroup}from'./protocol/shared/editor.js';export{ExtHostContext,MainContext}from'./protocol/server.protocol.js';export{ArgType,MessageBuffer,MessageIO,MessageType,RPCProtocol,RequestInitiator,ResponsiveState,safeStringify}from'./protocol/rpc-protocol.js';export{RPCLogger}from'./protocol/rpc-logger.js';export{createBarrier}from'./utils/helper.test.js';export{flattenAndCompact,generateContributionId,isPromise,isSubscribable,tryCatchPromise}from'./utils/util.js';export{asError,isErrorLike}from'./utils/errors.js';export{getScriptURLFromExtensionManifest}from'./utils/extensions.js';export{combineLatestOrDefault}from'./utils/rxjs/combineLatestOrDefault.js';import*as pathsUtil from'./utils/paths-util.js';export{pathsUtil as path };export{ConfigurationTarget,Disposable,LogLevel,RelativePattern}from'./core/types/ext-host-types.js';export{Expression,TemplateExpression,parse,parseTemplate}from'./core/expr/evaluator.js';export{Lexer,OPERATORS,OPERATOR_CHARS,TemplateLexer,TokenType}from'./core/expr/lexer.js';export{Parser,TemplateParser}from'./core/expr/parser.js';export{ConnectionError,ConnectionErrors,createConnection}from'./connections/jsonrpc2/connection.js';export{createWebWorkerMessageTransports}from'./connections/jsonrpc2/transports/webWorker.js';export{BrowserConsoleTracer,noopTracer}from'./connections/jsonrpc2/trace.js';export{createMessagePipe,createMessageTransports}from'./connections/jsonrpc2/test-helper.js';export{BrowserRemoteRPC}from'./connections/remote-rpc/browser-remote-rpc.js';export{createExtensionProxy,createProxy,createProxyAndHandleRequests,handleRequests,handleServerProxyRequest,handleServerProxyRequests}from'./connections/proxy/proxy.js';export{ClientTypes}from'./constants/types.js';export{COMMAND_ACTION_TYPES,CONTRIBUTION_ACTION_TYPES,EXTENSION_ACTION_TYPES,SETTINGS_ACTION_TYPES}from'./constants/action-types.js';export{middleware}from'./middlewares/extensionController.js';//# sourceMappingURL=index.js.map
|
|
1
|
+
export{graphQLContent}from'./interfaces/graphql.js';export{ContributableMenu,ContributableViewContainer}from'./interfaces/contributions/contribution.js';export{EMPTY_MODEL}from'./interfaces/model.js';export{match,score}from'./interfaces/text-document.js';export{WebviewContentPurpose}from'./interfaces/webview/webview.js';export{EditorPosition}from'./protocol/editor-missing-types.js';export{HostIdentifier,ProxyIdentifier,RequestType,TransportType,createExtHostContextProxyIdentifier,createMainContextProxyIdentifier,getStringIdentifierForProxy}from'./protocol/proxy-identifier.js';export{modes}from'./protocol/temporary-types.js';export{ClientContext}from'./protocol/client.protocol.js';export{IdObject,ObjectIdentifier,SuggestDataDtoField,SuggestResultDtoField,reviveWorkspaceEditDto}from'./protocol/common.protocol.js';export{editorGroupToViewColumn,viewColumnToEditorGroup}from'./protocol/shared/editor.js';export{ExtHostContext,MainContext}from'./protocol/server.protocol.js';export{ArgType,MessageBuffer,MessageIO,MessageType,RPCProtocol,RequestInitiator,ResponsiveState,safeStringify}from'./protocol/rpc-protocol.js';export{RPCLogger}from'./protocol/rpc-logger.js';export{createBarrier}from'./utils/helper.test.js';export{flattenAndCompact,generateContributionId,isPromise,isSubscribable,tryCatchPromise}from'./utils/util.js';export{asError,isErrorLike}from'./utils/errors.js';export{getScriptURLFromExtensionManifest}from'./utils/extensions.js';export{combineLatestOrDefault}from'./utils/rxjs/combineLatestOrDefault.js';import*as pathsUtil from'./utils/paths-util.js';export{pathsUtil as path };export{ConfigurationTarget,Disposable,LogLevel,RelativePattern}from'./core/types/ext-host-types.js';export{Expression,TemplateExpression,parse,parseTemplate}from'./core/expr/evaluator.js';export{Lexer,OPERATORS,OPERATOR_CHARS,TemplateLexer,TokenType}from'./core/expr/lexer.js';export{Parser,TemplateParser}from'./core/expr/parser.js';export{ConnectionError,ConnectionErrors,createConnection}from'./connections/jsonrpc2/connection.js';export{createWebWorkerMessageTransports}from'./connections/jsonrpc2/transports/webWorker.js';export{BrowserConsoleTracer,noopTracer}from'./connections/jsonrpc2/trace.js';export{createMessagePipe,createMessageTransports}from'./connections/jsonrpc2/test-helper.js';export{BrowserRemoteRPC}from'./connections/remote-rpc/browser-remote-rpc.js';export{createExtensionProxy,createProxy,createProxyAndHandleRequests,handleRequests,handleServerProxyRequest,handleServerProxyRequests}from'./connections/proxy/proxy.js';export{ClientTypes}from'./constants/types.js';export{COMMAND_ACTION_TYPES,CONTRIBUTION_ACTION_TYPES,EXTENSION_ACTION_TYPES,SETTINGS_ACTION_TYPES}from'./constants/action-types.js';export{middleware}from'./middlewares/extensionController.js';export{CodeJavascriptService}from'./services/code/javascript/code-javascript-service.js';export{createMessage,customJSLibraryMessages}from'./services/code/javascript/utils/messages.js';export{EvalErrorTypes,LibraryInstallError}from'./services/code/javascript/utils/types.js';export{ImportError,TernDefinitionError,flattenModule,generateUniqueAccessor,importScript}from'./services/code/javascript/utils/library-utils.js';export{getTernDocType,makeTernDefs,typeToTernType}from'./services/code/javascript/utils/tern-definitions.js';export{DOM_APIS,getAvailableAPIs,getWorkerGlobalScope,isWebWorker}from'./services/code/javascript/utils/dom.js';export{JSLibraries,defaultLibraries,libraryReservedIdentifiers}from'./services/code/javascript/jslibrary/index.js';export{invalidEntityIdentifiers,resetJSLibraries}from'./services/code/javascript/jslibrary/reset.js';//# sourceMappingURL=index.js.map
|
|
@@ -23,6 +23,8 @@ export interface IClientInitData {
|
|
|
23
23
|
idToken?: string;
|
|
24
24
|
/** CDecode URI in VSCode URI format for the organization */
|
|
25
25
|
cdecodeUri?: UriComponents;
|
|
26
|
+
/** Enable server-side extension support */
|
|
27
|
+
enableServerExtension?: boolean;
|
|
26
28
|
}
|
|
27
29
|
export interface IWebExtHostContext extends IRPCProtocol {
|
|
28
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.protocol.js","sources":["../../src/protocol/client.protocol.ts"],"sourcesContent":[null],"names":["createMainId"],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.protocol.js","sources":["../../src/protocol/client.protocol.ts"],"sourcesContent":[null],"names":["createMainId"],"mappings":"qEAuQO,MAAM,aAAa,GAAG;AACzB,EAAA,4BAAA,EAA4BA,gCAAE,CAAA,8BAAgD;"}
|
|
@@ -142,7 +142,7 @@ class RPCProtocol extends Disposable {
|
|
|
142
142
|
get: (target, name) => {
|
|
143
143
|
// @sri due to some issue we need to do this way
|
|
144
144
|
// if (!target[name] && name.charCodeAt(0) === CharCode.DollarSign) {
|
|
145
|
-
if (!target[name]
|
|
145
|
+
if (!target[name]) {
|
|
146
146
|
target[name] = (...myArgs) => {
|
|
147
147
|
return this._remoteCall(destId, rpcId, name, myArgs);
|
|
148
148
|
};
|
|
@@ -176,7 +176,13 @@ class RPCProtocol extends Disposable {
|
|
|
176
176
|
if (this.localHostId !== null) {
|
|
177
177
|
destHostId = rawmsg.readUInt8(0);
|
|
178
178
|
if (destHostId !== this.localHostId) {
|
|
179
|
-
|
|
179
|
+
if (this._protocol.forward) {
|
|
180
|
+
return this._protocol.forward(rawmsg, destHostId);
|
|
181
|
+
} else {
|
|
182
|
+
// If forward method is not implemented, just ignore the message
|
|
183
|
+
// This prevents the error when using protocols that don't support forwarding
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
180
186
|
}
|
|
181
187
|
leadNum = 2;
|
|
182
188
|
senderHost = rawmsg.readUInt8(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-protocol.js","sources":["../../src/protocol/rpc-protocol.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpc-protocol.js","sources":["../../src/protocol/rpc-protocol.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './javascript';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Demo: JavaScript Code Service with Autocomplete Integration
|
|
3
|
+
*
|
|
4
|
+
* This file demonstrates how the autocomplete system works with predefined
|
|
5
|
+
* Tern definitions for comprehensive JavaScript code intelligence.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Demo function showing autocomplete integration capabilities
|
|
9
|
+
*/
|
|
10
|
+
declare function demonstrateAutocompleteIntegration(): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Show the power of predefined definitions
|
|
13
|
+
*/
|
|
14
|
+
declare function showPredefinedDefinitions(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Example usage patterns
|
|
17
|
+
*/
|
|
18
|
+
declare function showUsageExamples(): void;
|
|
19
|
+
export { demonstrateAutocompleteIntegration, showPredefinedDefinitions, showUsageExamples };
|
|
20
|
+
/**
|
|
21
|
+
* Key Features of the Autocomplete System:
|
|
22
|
+
*
|
|
23
|
+
* 1. **Predefined Definitions**: Comprehensive Tern definition files for:
|
|
24
|
+
* - ECMAScript core (Promise, Array, Object, etc.)
|
|
25
|
+
* - Browser APIs (console, DOM, fetch, localStorage)
|
|
26
|
+
* - Popular libraries (lodash, base64-js)
|
|
27
|
+
*
|
|
28
|
+
* 2. **Dynamic Library Integration**: When libraries are installed via
|
|
29
|
+
* installLibrary(), their runtime objects are analyzed and added to
|
|
30
|
+
* autocomplete suggestions.
|
|
31
|
+
*
|
|
32
|
+
* 3. **Type Information**: Each completion includes:
|
|
33
|
+
* - Function signatures with parameters
|
|
34
|
+
* - Return type information
|
|
35
|
+
* - Documentation strings
|
|
36
|
+
* - Links to official documentation
|
|
37
|
+
*
|
|
38
|
+
* 4. **Intelligent Scope Handling**: Autocomplete understands object
|
|
39
|
+
* hierarchies (e.g., console.log vs console.warn vs console.error).
|
|
40
|
+
*
|
|
41
|
+
* 5. **Configurable**: Users can enable/disable different definition sets
|
|
42
|
+
* and add custom definitions as needed.
|
|
43
|
+
*
|
|
44
|
+
* 6. **Performance Optimized**: Definitions are cached and only refreshed
|
|
45
|
+
* when libraries are installed/uninstalled.
|
|
46
|
+
*
|
|
47
|
+
* 7. **Tern Compatible**: Exports standard Tern definition format for
|
|
48
|
+
* integration with other tools and editors.
|
|
49
|
+
*/
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ICodeJavascriptService } from '../../../interfaces/ext-services/code-javascript-service';
|
|
2
|
+
export declare class CodeJavascriptService implements ICodeJavascriptService {
|
|
3
|
+
private context;
|
|
4
|
+
private installedLibraries;
|
|
5
|
+
constructor();
|
|
6
|
+
/**
|
|
7
|
+
* Evaluates a script asynchronously with the given arguments
|
|
8
|
+
*/
|
|
9
|
+
evaluateAsync(script: string, args: unknown[]): Promise<unknown>;
|
|
10
|
+
/**
|
|
11
|
+
* Installs a library from a URL and makes it available in the execution context
|
|
12
|
+
*/
|
|
13
|
+
installLibrary(url: string, accessors: string[]): Promise<unknown>;
|
|
14
|
+
/**
|
|
15
|
+
* Uninstalls libraries by removing them from the execution context
|
|
16
|
+
*/
|
|
17
|
+
uninstallLibrary(accessors: string[]): Promise<{
|
|
18
|
+
success: boolean;
|
|
19
|
+
error?: string;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Resets the execution context and clears all installed libraries
|
|
23
|
+
*/
|
|
24
|
+
resetContext(): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Sets a value in the execution context
|
|
27
|
+
*/
|
|
28
|
+
setContextValue(key: string, value: unknown): void;
|
|
29
|
+
/**
|
|
30
|
+
* Gets a value from the execution context
|
|
31
|
+
*/
|
|
32
|
+
getContextValue(key: string): unknown;
|
|
33
|
+
/**
|
|
34
|
+
* Gets all installed libraries
|
|
35
|
+
*/
|
|
36
|
+
getInstalledLibraries(): Map<string, unknown>;
|
|
37
|
+
/**
|
|
38
|
+
* Loads default libraries
|
|
39
|
+
*/
|
|
40
|
+
loadLibraries(): Promise<unknown>;
|
|
41
|
+
/**
|
|
42
|
+
* Destroys the service and cleans up resources
|
|
43
|
+
*/
|
|
44
|
+
destroy(): void;
|
|
45
|
+
/**
|
|
46
|
+
* Checks if the service is running in worker mode
|
|
47
|
+
* Since we're already in an extension worker, this always returns true
|
|
48
|
+
*/
|
|
49
|
+
isWorkerModeEnabled(): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Get autocomplete completions for JavaScript code
|
|
52
|
+
*/
|
|
53
|
+
getCompletions(context: {
|
|
54
|
+
text: string;
|
|
55
|
+
position: number;
|
|
56
|
+
scope?: string[];
|
|
57
|
+
}): Promise<{
|
|
58
|
+
completions: Array<{
|
|
59
|
+
name: string;
|
|
60
|
+
type?: string;
|
|
61
|
+
doc?: string;
|
|
62
|
+
url?: string;
|
|
63
|
+
}>;
|
|
64
|
+
isIncomplete: boolean;
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* Get type information for a symbol
|
|
68
|
+
*/
|
|
69
|
+
getTypeInfo(symbol: string, scope?: string[]): {
|
|
70
|
+
type?: string;
|
|
71
|
+
doc?: string;
|
|
72
|
+
url?: string;
|
|
73
|
+
} | null;
|
|
74
|
+
/**
|
|
75
|
+
* Get available autocomplete definitions
|
|
76
|
+
*/
|
|
77
|
+
getAvailableDefinitions(): string[];
|
|
78
|
+
/**
|
|
79
|
+
* Get autocomplete configuration
|
|
80
|
+
*/
|
|
81
|
+
getAutocompleteConfig(): {
|
|
82
|
+
includeDefaults: boolean;
|
|
83
|
+
includeLibraries: boolean;
|
|
84
|
+
enableDynamicLibraries: boolean;
|
|
85
|
+
customDefinitions: string[];
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Update autocomplete configuration
|
|
89
|
+
*/
|
|
90
|
+
updateAutocompleteConfig(config: {
|
|
91
|
+
includeDefaults?: boolean;
|
|
92
|
+
includeLibraries?: boolean;
|
|
93
|
+
enableDynamicLibraries?: boolean;
|
|
94
|
+
customDefinitions?: string[];
|
|
95
|
+
}): void;
|
|
96
|
+
/**
|
|
97
|
+
* Get Tern-compatible definition object for external tools
|
|
98
|
+
*/
|
|
99
|
+
getTernDefinitions(): unknown;
|
|
100
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import {__decorate,__metadata}from'tslib';import {injectable}from'inversify';import {difference}from'lodash-es';import {DOM_APIS}from'./utils/dom.js';import {libraryReservedIdentifiers,JSLibraries}from'./jslibrary/index.js';import {invalidEntityIdentifiers}from'./jslibrary/reset.js';import {autocompleteManager}from'./jslibrary/autocomplete-manager.js';import {libraryManager}from'./jslibrary/library-manager.js';// Simplified AI Worker Service - No nested worker
|
|
2
|
+
let CodeJavascriptService = class CodeJavascriptService {
|
|
3
|
+
context = {};
|
|
4
|
+
installedLibraries = new Map();
|
|
5
|
+
constructor() {
|
|
6
|
+
// No worker initialization needed - we're already in a worker context
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Evaluates a script asynchronously with the given arguments
|
|
10
|
+
*/
|
|
11
|
+
async evaluateAsync(script, args) {
|
|
12
|
+
try {
|
|
13
|
+
const executionContext = {
|
|
14
|
+
...this.context,
|
|
15
|
+
ARGUMENTS: args,
|
|
16
|
+
THIS_CONTEXT: {},
|
|
17
|
+
...DOM_APIS,
|
|
18
|
+
...Object.fromEntries(this.installedLibraries)
|
|
19
|
+
};
|
|
20
|
+
// Create an async function from the script to support await syntax
|
|
21
|
+
const scriptFunction = new Function(...Object.keys(executionContext), `"use strict";\nreturn (async () => {\n${script}\n})()`);
|
|
22
|
+
const result = await scriptFunction(...Object.values(executionContext));
|
|
23
|
+
return result;
|
|
24
|
+
} catch (error) {
|
|
25
|
+
console.error('[CodeJS] Script execution error:', error);
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Installs a library from a URL and makes it available in the execution context
|
|
31
|
+
*/
|
|
32
|
+
async installLibrary(url, accessors) {
|
|
33
|
+
try {
|
|
34
|
+
const envKeysBeforeInstallation = Object.keys(globalThis);
|
|
35
|
+
const response = await fetch(url);
|
|
36
|
+
if (!response.ok) {
|
|
37
|
+
throw new Error(`Failed to fetch library from ${url}: ${response.statusText}`);
|
|
38
|
+
}
|
|
39
|
+
const libraryCode = await response.text();
|
|
40
|
+
const libraryContext = {
|
|
41
|
+
exports: {},
|
|
42
|
+
module: {
|
|
43
|
+
exports: {}
|
|
44
|
+
},
|
|
45
|
+
console: DOM_APIS.console
|
|
46
|
+
};
|
|
47
|
+
// eslint-disable-next-line no-new-func
|
|
48
|
+
const libraryFunction = new Function(...Object.keys(libraryContext), `"use strict";\n${libraryCode}`);
|
|
49
|
+
libraryFunction(...Object.values(libraryContext));
|
|
50
|
+
let libraryObject = libraryContext.exports;
|
|
51
|
+
if (libraryContext.module.exports && Object.keys(libraryContext.module.exports).length > 0) {
|
|
52
|
+
libraryObject = libraryContext.module.exports;
|
|
53
|
+
}
|
|
54
|
+
// Find keys that were added to the global scope
|
|
55
|
+
const keysAfterInstallation = Object.keys(globalThis);
|
|
56
|
+
const newAccessors = difference(keysAfterInstallation, envKeysBeforeInstallation);
|
|
57
|
+
// Use provided accessors or detected ones
|
|
58
|
+
const finalAccessors = accessors.length > 0 ? accessors : newAccessors;
|
|
59
|
+
for (const accessor of finalAccessors) {
|
|
60
|
+
this.installedLibraries.set(accessor, libraryObject);
|
|
61
|
+
// Update reserved identifiers
|
|
62
|
+
libraryReservedIdentifiers[accessor] = true;
|
|
63
|
+
invalidEntityIdentifiers[accessor] = true;
|
|
64
|
+
// Register with library manager for autocomplete
|
|
65
|
+
const matchingLibrary = JSLibraries.find(lib => lib.accessor.includes(accessor));
|
|
66
|
+
if (matchingLibrary) {
|
|
67
|
+
libraryManager.installLibrary(accessor, matchingLibrary, libraryObject);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Refresh autocomplete definitions
|
|
71
|
+
autocompleteManager.refresh();
|
|
72
|
+
return {
|
|
73
|
+
success: true,
|
|
74
|
+
library: libraryObject,
|
|
75
|
+
accessors: finalAccessors
|
|
76
|
+
};
|
|
77
|
+
} catch (error) {
|
|
78
|
+
console.error('[CodeJS] Library installation error:', error);
|
|
79
|
+
throw error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Uninstalls libraries by removing them from the execution context
|
|
84
|
+
*/
|
|
85
|
+
async uninstallLibrary(accessors) {
|
|
86
|
+
try {
|
|
87
|
+
for (const accessor of accessors) {
|
|
88
|
+
this.installedLibraries.delete(accessor);
|
|
89
|
+
// Unregister from library manager
|
|
90
|
+
libraryManager.uninstallLibrary(accessor);
|
|
91
|
+
}
|
|
92
|
+
// Refresh autocomplete definitions
|
|
93
|
+
autocompleteManager.refresh();
|
|
94
|
+
return {
|
|
95
|
+
success: true
|
|
96
|
+
};
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.error('[CodeJS] Library uninstallation error:', error);
|
|
99
|
+
return {
|
|
100
|
+
success: false,
|
|
101
|
+
error: error.message
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Resets the execution context and clears all installed libraries
|
|
107
|
+
*/
|
|
108
|
+
async resetContext() {
|
|
109
|
+
this.context = {};
|
|
110
|
+
this.installedLibraries.clear();
|
|
111
|
+
// Clear library manager and refresh autocomplete
|
|
112
|
+
libraryManager.clearAll();
|
|
113
|
+
autocompleteManager.refresh();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Sets a value in the execution context
|
|
117
|
+
*/
|
|
118
|
+
setContextValue(key, value) {
|
|
119
|
+
this.context[key] = value;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Gets a value from the execution context
|
|
123
|
+
*/
|
|
124
|
+
getContextValue(key) {
|
|
125
|
+
return this.context[key];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Gets all installed libraries
|
|
129
|
+
*/
|
|
130
|
+
getInstalledLibraries() {
|
|
131
|
+
return new Map(this.installedLibraries);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Loads default libraries
|
|
135
|
+
*/
|
|
136
|
+
async loadLibraries() {
|
|
137
|
+
return {
|
|
138
|
+
libraries: JSLibraries
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Destroys the service and cleans up resources
|
|
143
|
+
*/
|
|
144
|
+
destroy() {
|
|
145
|
+
this.context = {};
|
|
146
|
+
this.installedLibraries.clear();
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Checks if the service is running in worker mode
|
|
150
|
+
* Since we're already in an extension worker, this always returns true
|
|
151
|
+
*/
|
|
152
|
+
isWorkerModeEnabled() {
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
// ==================== AUTOCOMPLETE METHODS ====================
|
|
156
|
+
/**
|
|
157
|
+
* Get autocomplete completions for JavaScript code
|
|
158
|
+
*/
|
|
159
|
+
async getCompletions(context) {
|
|
160
|
+
return autocompleteManager.getCompletions(context);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get type information for a symbol
|
|
164
|
+
*/
|
|
165
|
+
getTypeInfo(symbol, scope) {
|
|
166
|
+
return autocompleteManager.getTypeInfo(symbol, scope);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get available autocomplete definitions
|
|
170
|
+
*/
|
|
171
|
+
getAvailableDefinitions() {
|
|
172
|
+
return autocompleteManager.getAvailableDefinitions();
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get autocomplete configuration
|
|
176
|
+
*/
|
|
177
|
+
getAutocompleteConfig() {
|
|
178
|
+
return autocompleteManager.getConfig();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Update autocomplete configuration
|
|
182
|
+
*/
|
|
183
|
+
updateAutocompleteConfig(config) {
|
|
184
|
+
autocompleteManager.updateConfig(config);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get Tern-compatible definition object for external tools
|
|
188
|
+
*/
|
|
189
|
+
getTernDefinitions() {
|
|
190
|
+
return autocompleteManager.getTernDef();
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
CodeJavascriptService = __decorate([injectable(), __metadata("design:paramtypes", [])], CodeJavascriptService);export{CodeJavascriptService};//# sourceMappingURL=code-javascript-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-javascript-service.js","sources":["../../../../src/services/code/javascript/code-javascript-service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface EvalWorkerRequest<T = unknown> {
|
|
2
|
+
data: T;
|
|
3
|
+
requestId?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface EvaluationData {
|
|
6
|
+
expression: string;
|
|
7
|
+
evalArguments?: unknown[];
|
|
8
|
+
}
|
|
9
|
+
export default function evaluateHandler(request: EvalWorkerRequest<EvaluationData>): {
|
|
10
|
+
success: boolean;
|
|
11
|
+
result: any;
|
|
12
|
+
expression: string;
|
|
13
|
+
arguments: unknown[];
|
|
14
|
+
};
|