@eclipse-lyra/core 0.0.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.
- package/dist/api/base-classes.d.ts +7 -0
- package/dist/api/base-classes.d.ts.map +1 -0
- package/dist/api/constants.d.ts +2 -0
- package/dist/api/constants.d.ts.map +1 -0
- package/dist/api/index.d.ts +6 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +84 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/services.d.ts +28 -0
- package/dist/api/services.d.ts.map +1 -0
- package/dist/api/types.d.ts +11 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/commands/editor.d.ts +1 -0
- package/dist/commands/editor.d.ts.map +1 -0
- package/dist/commands/files.d.ts +2 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/global.d.ts +1 -0
- package/dist/commands/global.d.ts.map +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/open-view-as-editor.d.ts +2 -0
- package/dist/commands/open-view-as-editor.d.ts.map +1 -0
- package/dist/commands/version-info.d.ts +2 -0
- package/dist/commands/version-info.d.ts.map +1 -0
- package/dist/components/app-selector.d.ts +17 -0
- package/dist/components/app-selector.d.ts.map +1 -0
- package/dist/components/app-switcher.d.ts +13 -0
- package/dist/components/app-switcher.d.ts.map +1 -0
- package/dist/components/command.d.ts +31 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/extensions.d.ts +32 -0
- package/dist/components/extensions.d.ts.map +1 -0
- package/dist/components/fastviews.d.ts +34 -0
- package/dist/components/fastviews.d.ts.map +1 -0
- package/dist/components/filebrowser.d.ts +45 -0
- package/dist/components/filebrowser.d.ts.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/language-selector.d.ts +12 -0
- package/dist/components/language-selector.d.ts.map +1 -0
- package/dist/components/log-terminal.d.ts +36 -0
- package/dist/components/log-terminal.d.ts.map +1 -0
- package/dist/components/part-name.d.ts +12 -0
- package/dist/components/part-name.d.ts.map +1 -0
- package/dist/components/tasks.d.ts +13 -0
- package/dist/components/tasks.d.ts.map +1 -0
- package/dist/contributions/default-ui-contributions.d.ts +2 -0
- package/dist/contributions/default-ui-contributions.d.ts.map +1 -0
- package/dist/contributions/index.d.ts +1 -0
- package/dist/contributions/index.d.ts.map +1 -0
- package/dist/contributions/marketplace-catalog-contributions.d.ts +2 -0
- package/dist/contributions/marketplace-catalog-contributions.d.ts.map +1 -0
- package/dist/core/app-host-config.d.ts +7 -0
- package/dist/core/app-host-config.d.ts.map +1 -0
- package/dist/core/apploader.d.ts +214 -0
- package/dist/core/apploader.d.ts.map +1 -0
- package/dist/core/appstate.d.ts +12 -0
- package/dist/core/appstate.d.ts.map +1 -0
- package/dist/core/commandregistry.d.ts +79 -0
- package/dist/core/commandregistry.d.ts.map +1 -0
- package/dist/core/config.d.ts +15 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/constants.d.ts +22 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/contributionregistry.d.ts +53 -0
- package/dist/core/contributionregistry.d.ts.map +1 -0
- package/dist/core/di.d.ts +18 -0
- package/dist/core/di.d.ts.map +1 -0
- package/dist/core/dialogservice.d.ts +33 -0
- package/dist/core/dialogservice.d.ts.map +1 -0
- package/dist/core/editorregistry.d.ts +87 -0
- package/dist/core/editorregistry.d.ts.map +1 -0
- package/dist/core/esmsh-service.d.ts +40 -0
- package/dist/core/esmsh-service.d.ts.map +1 -0
- package/dist/core/events.d.ts +7 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +63 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/extensionregistry.d.ts +98 -0
- package/dist/core/extensionregistry.d.ts.map +1 -0
- package/dist/core/filesys/common.d.ts +122 -0
- package/dist/core/filesys/common.d.ts.map +1 -0
- package/dist/core/filesys/fs-access.d.ts +31 -0
- package/dist/core/filesys/fs-access.d.ts.map +1 -0
- package/dist/core/filesys/index.d.ts +5 -0
- package/dist/core/filesys/index.d.ts.map +1 -0
- package/dist/core/filesys/indexeddb.d.ts +41 -0
- package/dist/core/filesys/indexeddb.d.ts.map +1 -0
- package/dist/core/filesys/opfs.d.ts +14 -0
- package/dist/core/filesys/opfs.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +50 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/keybindings.d.ts +67 -0
- package/dist/core/keybindings.d.ts.map +1 -0
- package/dist/core/logger.d.ts +44 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/marketplaceregistry.d.ts +25 -0
- package/dist/core/marketplaceregistry.d.ts.map +1 -0
- package/dist/core/packageinfoservice.d.ts +16 -0
- package/dist/core/packageinfoservice.d.ts.map +1 -0
- package/dist/core/persistenceservice.d.ts +6 -0
- package/dist/core/persistenceservice.d.ts.map +1 -0
- package/dist/core/settingsservice.d.ts +54 -0
- package/dist/core/settingsservice.d.ts.map +1 -0
- package/dist/core/signals.d.ts +3 -0
- package/dist/core/signals.d.ts.map +1 -0
- package/dist/core/taskservice.d.ts +20 -0
- package/dist/core/taskservice.d.ts.map +1 -0
- package/dist/core/toast.d.ts +4 -0
- package/dist/core/toast.d.ts.map +1 -0
- package/dist/core/tree-utils.d.ts +16 -0
- package/dist/core/tree-utils.d.ts.map +1 -0
- package/dist/dialogs/confirm-dialog.d.ts +14 -0
- package/dist/dialogs/confirm-dialog.d.ts.map +1 -0
- package/dist/dialogs/index.d.ts +5 -0
- package/dist/dialogs/index.d.ts.map +1 -0
- package/dist/dialogs/info-dialog.d.ts +13 -0
- package/dist/dialogs/info-dialog.d.ts.map +1 -0
- package/dist/dialogs/navigable-info-dialog.d.ts +33 -0
- package/dist/dialogs/navigable-info-dialog.d.ts.map +1 -0
- package/dist/dialogs/prompt-dialog.d.ts +21 -0
- package/dist/dialogs/prompt-dialog.d.ts.map +1 -0
- package/dist/externals/lit.d.ts +21 -0
- package/dist/externals/lit.d.ts.map +1 -0
- package/dist/externals/lit.js +24 -0
- package/dist/externals/lit.js.map +1 -0
- package/dist/externals/third-party.d.ts +7 -0
- package/dist/externals/third-party.d.ts.map +1 -0
- package/dist/externals/third-party.js +7 -0
- package/dist/externals/third-party.js.map +1 -0
- package/dist/externals/webawesome.d.ts +1 -0
- package/dist/externals/webawesome.d.ts.map +1 -0
- package/dist/externals/webawesome.js +75 -0
- package/dist/externals/webawesome.js.map +1 -0
- package/dist/i18n/extensions.json.d.ts +42 -0
- package/dist/i18n/fastviews.json.d.ts +13 -0
- package/dist/i18n/filebrowser.json.d.ts +29 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/logterminal.json.d.ts +45 -0
- package/dist/i18n/partname.json.d.ts +15 -0
- package/dist/i18n/tasks.json.d.ts +15 -0
- package/dist/i18n/workspace.json.d.ts +15 -0
- package/dist/icon-DN6fp0dg.js +487 -0
- package/dist/icon-DN6fp0dg.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -0
- package/dist/index.js.map +1 -0
- package/dist/layouts/standard-layout.d.ts +16 -0
- package/dist/layouts/standard-layout.d.ts.map +1 -0
- package/dist/nocontent-BhrN6yxJ.js +48 -0
- package/dist/nocontent-BhrN6yxJ.js.map +1 -0
- package/dist/parts/container.d.ts +4 -0
- package/dist/parts/container.d.ts.map +1 -0
- package/dist/parts/contextmenu.d.ts +50 -0
- package/dist/parts/contextmenu.d.ts.map +1 -0
- package/dist/parts/dialog-content.d.ts +9 -0
- package/dist/parts/dialog-content.d.ts.map +1 -0
- package/dist/parts/element.d.ts +36 -0
- package/dist/parts/element.d.ts.map +1 -0
- package/dist/parts/index.d.ts +1 -0
- package/dist/parts/index.d.ts.map +1 -0
- package/dist/parts/index.js +3 -0
- package/dist/parts/index.js.map +1 -0
- package/dist/parts/part.d.ts +96 -0
- package/dist/parts/part.d.ts.map +1 -0
- package/dist/parts/resizable-grid.d.ts +31 -0
- package/dist/parts/resizable-grid.d.ts.map +1 -0
- package/dist/parts/tabs.d.ts +75 -0
- package/dist/parts/tabs.d.ts.map +1 -0
- package/dist/parts/toolbar.d.ts +35 -0
- package/dist/parts/toolbar.d.ts.map +1 -0
- package/dist/resizable-grid-BRH3MyZK.js +3813 -0
- package/dist/resizable-grid-BRH3MyZK.js.map +1 -0
- package/dist/standard-layout-BSGa06lP.js +4907 -0
- package/dist/standard-layout-BSGa06lP.js.map +1 -0
- package/dist/widgets/icon.d.ts +10 -0
- package/dist/widgets/icon.d.ts.map +1 -0
- package/dist/widgets/index.d.ts +1 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/dist/widgets/index.js +3 -0
- package/dist/widgets/index.js.map +1 -0
- package/dist/widgets/nocontent.d.ts +13 -0
- package/dist/widgets/nocontent.d.ts.map +1 -0
- package/dist/widgets/widget.d.ts +25 -0
- package/dist/widgets/widget.d.ts.map +1 -0
- package/package.json +81 -0
- package/src/api/base-classes.ts +10 -0
- package/src/api/constants.ts +3 -0
- package/src/api/index.ts +31 -0
- package/src/api/services.ts +58 -0
- package/src/api/types.ts +46 -0
- package/src/commands/editor.ts +1 -0
- package/src/commands/files.ts +425 -0
- package/src/commands/global.ts +198 -0
- package/src/commands/index.ts +6 -0
- package/src/commands/open-view-as-editor.ts +28 -0
- package/src/commands/version-info.ts +214 -0
- package/src/components/app-selector.ts +233 -0
- package/src/components/app-switcher.ts +126 -0
- package/src/components/command.ts +236 -0
- package/src/components/extensions.ts +615 -0
- package/src/components/fastviews.ts +314 -0
- package/src/components/filebrowser.ts +518 -0
- package/src/components/index.ts +9 -0
- package/src/components/language-selector.ts +166 -0
- package/src/components/log-terminal.ts +337 -0
- package/src/components/part-name.ts +54 -0
- package/src/components/tasks.ts +275 -0
- package/src/contributions/default-ui-contributions.ts +44 -0
- package/src/contributions/index.ts +3 -0
- package/src/contributions/marketplace-catalog-contributions.ts +6 -0
- package/src/core/app-host-config.ts +23 -0
- package/src/core/apploader.ts +630 -0
- package/src/core/appstate.ts +15 -0
- package/src/core/commandregistry.ts +210 -0
- package/src/core/config.ts +29 -0
- package/src/core/constants.ts +29 -0
- package/src/core/contributionregistry.ts +81 -0
- package/src/core/di.ts +54 -0
- package/src/core/dialogservice.ts +266 -0
- package/src/core/editorregistry.ts +347 -0
- package/src/core/esmsh-service.ts +404 -0
- package/src/core/events.ts +68 -0
- package/src/core/extensionregistry.ts +399 -0
- package/src/core/filesys/common.ts +474 -0
- package/src/core/filesys/fs-access.ts +339 -0
- package/src/core/filesys/index.ts +5 -0
- package/src/core/filesys/indexeddb.ts +596 -0
- package/src/core/filesys/opfs.ts +95 -0
- package/src/core/i18n.ts +221 -0
- package/src/core/index.ts +51 -0
- package/src/core/keybindings.ts +274 -0
- package/src/core/logger.ts +187 -0
- package/src/core/marketplaceregistry.ts +197 -0
- package/src/core/packageinfoservice.ts +56 -0
- package/src/core/persistenceservice.ts +46 -0
- package/src/core/settingsservice.ts +191 -0
- package/src/core/signals.ts +18 -0
- package/src/core/taskservice.ts +72 -0
- package/src/core/toast.ts +21 -0
- package/src/core/tree-utils.ts +24 -0
- package/src/dialogs/confirm-dialog.ts +72 -0
- package/src/dialogs/index.ts +4 -0
- package/src/dialogs/info-dialog.ts +67 -0
- package/src/dialogs/navigable-info-dialog.ts +256 -0
- package/src/dialogs/prompt-dialog.ts +123 -0
- package/src/externals/lit.ts +36 -0
- package/src/externals/third-party.ts +10 -0
- package/src/externals/webawesome.ts +76 -0
- package/src/i18n/extensions.json +39 -0
- package/src/i18n/fastviews.json +10 -0
- package/src/i18n/filebrowser.json +27 -0
- package/src/i18n/index.ts +25 -0
- package/src/i18n/logterminal.json +42 -0
- package/src/i18n/partname.json +12 -0
- package/src/i18n/tasks.json +12 -0
- package/src/i18n/workspace.json +12 -0
- package/src/icons/icons.txt +3 -0
- package/src/icons/js.svg +6 -0
- package/src/icons/jupyter.svg +18 -0
- package/src/icons/python.svg +15 -0
- package/src/index.ts +3 -0
- package/src/layouts/standard-layout.ts +174 -0
- package/src/parts/container.ts +4 -0
- package/src/parts/contextmenu.ts +266 -0
- package/src/parts/dialog-content.ts +31 -0
- package/src/parts/element.ts +100 -0
- package/src/parts/index.ts +5 -0
- package/src/parts/part.ts +158 -0
- package/src/parts/resizable-grid.ts +366 -0
- package/src/parts/tabs.ts +581 -0
- package/src/parts/toolbar.ts +260 -0
- package/src/vite-env.d.ts +16 -0
- package/src/widgets/icon.ts +38 -0
- package/src/widgets/index.ts +2 -0
- package/src/widgets/nocontent.ts +40 -0
- package/src/widgets/widget.ts +92 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
class EventBus {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.subscriptions = /* @__PURE__ */ new Map();
|
|
4
|
+
this.tokenCounter = 0;
|
|
5
|
+
}
|
|
6
|
+
subscribe(topic, callback) {
|
|
7
|
+
if (!this.subscriptions.has(topic)) {
|
|
8
|
+
this.subscriptions.set(topic, /* @__PURE__ */ new Map());
|
|
9
|
+
}
|
|
10
|
+
const token = `token_${++this.tokenCounter}_${Date.now()}`;
|
|
11
|
+
this.subscriptions.get(topic).set(token, callback);
|
|
12
|
+
return token;
|
|
13
|
+
}
|
|
14
|
+
unsubscribe(token) {
|
|
15
|
+
for (const [topic, callbacks] of this.subscriptions.entries()) {
|
|
16
|
+
if (callbacks.has(token)) {
|
|
17
|
+
callbacks.delete(token);
|
|
18
|
+
if (callbacks.size === 0) {
|
|
19
|
+
this.subscriptions.delete(topic);
|
|
20
|
+
}
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
publish(topic, data) {
|
|
26
|
+
const callbacks = this.subscriptions.get(topic);
|
|
27
|
+
if (!callbacks || callbacks.size === 0) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
queueMicrotask(() => {
|
|
31
|
+
callbacks.forEach((callback) => {
|
|
32
|
+
try {
|
|
33
|
+
callback(data);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error(`Error in event callback for topic "${topic}":`, error);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
clearAllSubscriptions() {
|
|
42
|
+
this.subscriptions.clear();
|
|
43
|
+
}
|
|
44
|
+
clearSubscriptions(topic) {
|
|
45
|
+
this.subscriptions.delete(topic);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const eventBus = new EventBus();
|
|
49
|
+
const subscribe = (topic, callback) => {
|
|
50
|
+
return eventBus.subscribe(topic, callback);
|
|
51
|
+
};
|
|
52
|
+
const unsubscribe = (token) => {
|
|
53
|
+
eventBus.unsubscribe(token);
|
|
54
|
+
};
|
|
55
|
+
const publish = (topic, data) => {
|
|
56
|
+
return eventBus.publish(topic, data);
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
publish,
|
|
60
|
+
subscribe,
|
|
61
|
+
unsubscribe
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sources":["../../src/core/events.ts"],"sourcesContent":["export type SubscriptionToken = string;\ntype Callback = (data: any) => any;\n\nclass EventBus {\n private subscriptions: Map<string, Map<SubscriptionToken, Callback>> = new Map();\n private tokenCounter = 0;\n\n subscribe(topic: string, callback: Callback): SubscriptionToken {\n if (!this.subscriptions.has(topic)) {\n this.subscriptions.set(topic, new Map());\n }\n const token = `token_${++this.tokenCounter}_${Date.now()}`;\n this.subscriptions.get(topic)!.set(token, callback);\n return token;\n }\n\n unsubscribe(token: SubscriptionToken): void {\n for (const [topic, callbacks] of this.subscriptions.entries()) {\n if (callbacks.has(token)) {\n callbacks.delete(token);\n if (callbacks.size === 0) {\n this.subscriptions.delete(topic);\n }\n return;\n }\n }\n }\n\n publish(topic: string, data: any): boolean {\n const callbacks = this.subscriptions.get(topic);\n if (!callbacks || callbacks.size === 0) {\n return false;\n }\n\n queueMicrotask(() => {\n callbacks.forEach(callback => {\n try {\n callback(data);\n } catch (error) {\n console.error(`Error in event callback for topic \"${topic}\":`, error);\n }\n });\n });\n return true;\n }\n\n clearAllSubscriptions(): void {\n this.subscriptions.clear();\n }\n\n clearSubscriptions(topic: string): void {\n this.subscriptions.delete(topic);\n }\n}\n\nconst eventBus = new EventBus();\n\nexport const subscribe = (topic: string, callback: Callback): SubscriptionToken => {\n return eventBus.subscribe(topic, callback);\n}\n\nexport const unsubscribe = (token: SubscriptionToken): void => {\n eventBus.unsubscribe(token);\n}\n\nexport const publish = (topic: string, data: any): boolean => {\n return eventBus.publish(topic, data);\n}"],"names":[],"mappings":"AAGA,MAAM,SAAS;AAAA,EAAf,cAAA;AACI,SAAQ,oCAAmE,IAAA;AAC3E,SAAQ,eAAe;AAAA,EAAA;AAAA,EAEvB,UAAU,OAAe,UAAuC;AAC5D,QAAI,CAAC,KAAK,cAAc,IAAI,KAAK,GAAG;AAChC,WAAK,cAAc,IAAI,OAAO,oBAAI,KAAK;AAAA,IAC3C;AACA,UAAM,QAAQ,SAAS,EAAE,KAAK,YAAY,IAAI,KAAK,KAAK;AACxD,SAAK,cAAc,IAAI,KAAK,EAAG,IAAI,OAAO,QAAQ;AAClD,WAAO;AAAA,EACX;AAAA,EAEA,YAAY,OAAgC;AACxC,eAAW,CAAC,OAAO,SAAS,KAAK,KAAK,cAAc,WAAW;AAC3D,UAAI,UAAU,IAAI,KAAK,GAAG;AACtB,kBAAU,OAAO,KAAK;AACtB,YAAI,UAAU,SAAS,GAAG;AACtB,eAAK,cAAc,OAAO,KAAK;AAAA,QACnC;AACA;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,QAAQ,OAAe,MAAoB;AACvC,UAAM,YAAY,KAAK,cAAc,IAAI,KAAK;AAC9C,QAAI,CAAC,aAAa,UAAU,SAAS,GAAG;AACpC,aAAO;AAAA,IACX;AAEA,mBAAe,MAAM;AACjB,gBAAU,QAAQ,CAAA,aAAY;AAC1B,YAAI;AACA,mBAAS,IAAI;AAAA,QACjB,SAAS,OAAO;AACZ,kBAAQ,MAAM,sCAAsC,KAAK,MAAM,KAAK;AAAA,QACxE;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EAEA,wBAA8B;AAC1B,SAAK,cAAc,MAAA;AAAA,EACvB;AAAA,EAEA,mBAAmB,OAAqB;AACpC,SAAK,cAAc,OAAO,KAAK;AAAA,EACnC;AACJ;AAEA,MAAM,WAAW,IAAI,SAAA;AAEd,MAAM,YAAY,CAAC,OAAe,aAA0C;AAC/E,SAAO,SAAS,UAAU,OAAO,QAAQ;AAC7C;AAEO,MAAM,cAAc,CAAC,UAAmC;AAC3D,WAAS,YAAY,KAAK;AAC9B;AAEO,MAAM,UAAU,CAAC,OAAe,SAAuB;AAC1D,SAAO,SAAS,QAAQ,OAAO,IAAI;AACvC;"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { UILabel } from './i18n';
|
|
2
|
+
export declare const TOPIC_EXTENSIONS_CHANGED = "events/extensionsregistry/extensionsConfigChanged";
|
|
3
|
+
export interface Extension {
|
|
4
|
+
/** Unique identifier for the extension (e.g., "@eclipse-lyra/extension-notebook") */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Human-readable name of the extension */
|
|
7
|
+
name: UILabel;
|
|
8
|
+
/** Optional description of what the extension does */
|
|
9
|
+
description?: UILabel;
|
|
10
|
+
/** Optional URL to load the extension module from */
|
|
11
|
+
url?: string;
|
|
12
|
+
/** Function that dynamically imports the extension module */
|
|
13
|
+
loader?: () => any;
|
|
14
|
+
/** Optional icon identifier (FontAwesome or custom icon) */
|
|
15
|
+
icon?: string;
|
|
16
|
+
/** Whether this extension is marked as experimental */
|
|
17
|
+
experimental?: boolean;
|
|
18
|
+
/** Optional extension version */
|
|
19
|
+
version?: string;
|
|
20
|
+
/** Optional extension author */
|
|
21
|
+
author?: string;
|
|
22
|
+
/** Whether this extension is from an external source (marketplace) */
|
|
23
|
+
external?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Optional list of extension IDs that must be loaded before this extension.
|
|
26
|
+
* Dependencies are loaded recursively and automatically when this extension is loaded.
|
|
27
|
+
* The system includes circular dependency detection.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* dependencies: ["@eclipse-lyra/extension-python-runtime"]
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
dependencies?: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface ExtensionSetting {
|
|
37
|
+
id: string;
|
|
38
|
+
enabled: boolean;
|
|
39
|
+
}
|
|
40
|
+
export type ExtensionsConfig = ExtensionSetting[];
|
|
41
|
+
declare class ExtensionRegistry {
|
|
42
|
+
private extensionsSettings?;
|
|
43
|
+
private extensions;
|
|
44
|
+
private loadedExtensions;
|
|
45
|
+
private loadingPromises;
|
|
46
|
+
constructor();
|
|
47
|
+
private loadPersistedExternalExtensions;
|
|
48
|
+
private savePersistedExternalExtensions;
|
|
49
|
+
private checkExtensionsConfig;
|
|
50
|
+
registerExtension(extension: Extension): void;
|
|
51
|
+
/**
|
|
52
|
+
* Load an extension from a URL and register it.
|
|
53
|
+
* The module at the URL must export a default function that receives uiContext.
|
|
54
|
+
* The extension will register its contributions when loaded.
|
|
55
|
+
*
|
|
56
|
+
* Supports:
|
|
57
|
+
* - Direct URLs (http/https)
|
|
58
|
+
* - esm.sh URLs
|
|
59
|
+
* - Source identifiers (npm packages, GitHub repos, JSR packages, PR packages)
|
|
60
|
+
* Examples: 'react@18', 'gh/user/repo', 'jsr/@std/encoding@1.0.0', 'pr/owner/repo@commit'
|
|
61
|
+
*
|
|
62
|
+
* @param url - URL or source identifier to the extension module
|
|
63
|
+
* @param extensionId - Optional extension ID. If not provided, generates one from the URL.
|
|
64
|
+
* @returns Promise that resolves to the extension ID when the extension is loaded
|
|
65
|
+
*/
|
|
66
|
+
loadExtensionFromUrl(url: string, extensionId?: string): Promise<string>;
|
|
67
|
+
getExtensions(): Extension[];
|
|
68
|
+
isEnabled(extensionId: string): boolean;
|
|
69
|
+
isLoaded(extensionId: string): boolean;
|
|
70
|
+
enable(extensionId: string, informUser?: boolean): void;
|
|
71
|
+
/**
|
|
72
|
+
* Loads an extension and all its dependencies.
|
|
73
|
+
*
|
|
74
|
+
* Features:
|
|
75
|
+
* - Automatically loads all dependencies recursively before loading the extension
|
|
76
|
+
* - Ensures each extension is loaded only once (idempotent)
|
|
77
|
+
* - Dependencies are loaded in the order they are declared
|
|
78
|
+
* - If an extension is already being loaded, waits for that load to complete
|
|
79
|
+
* - Detects circular dependencies in the dependency chain
|
|
80
|
+
*
|
|
81
|
+
* @param extensionId - The ID of the extension to load
|
|
82
|
+
* @param loadingChain - Internal parameter to track the dependency chain for circular detection
|
|
83
|
+
* @throws Error if the extension is not found or if a circular dependency is detected
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // This will automatically load @eclipse-lyra/extension-python-runtime first
|
|
88
|
+
* await extensionRegistry.load('@eclipse-lyra/extension-notebook')
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
load(extensionId: string, loadingChain?: string[]): Promise<void>;
|
|
92
|
+
disable(extensionId: string, informUser?: boolean): void;
|
|
93
|
+
private updateEnablement;
|
|
94
|
+
private updateEnablementAsync;
|
|
95
|
+
}
|
|
96
|
+
export declare const extensionRegistry: ExtensionRegistry;
|
|
97
|
+
export {};
|
|
98
|
+
//# sourceMappingURL=extensionregistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensionregistry.d.ts","sourceRoot":"","sources":["../../src/core/extensionregistry.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,wBAAwB,sDAAsD,CAAA;AAI3F;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,WAAW,SAAS;IACtB,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IAEX,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;IAEd,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC;IAEnB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAA;AAEjD,cAAM,iBAAiB;IACnB,OAAO,CAAC,kBAAkB,CAAC,CAAmB;IAC9C,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,eAAe,CAAwC;;YAwBjD,+BAA+B;YAc/B,+BAA+B;YAS/B,qBAAqB;IAYnC,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAa7C;;;;;;;;;;;;;;OAcG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8C9E,aAAa,IAAI,SAAS,EAAE;IAIrB,SAAS,CAAC,WAAW,EAAE,MAAM;IAK7B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAI5B,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe;IAY9D;;;;;;;;;;;;;;;;;;;OAmBG;IACU,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmF3E,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe;IAO/D,OAAO,CAAC,gBAAgB;YAsBV,qBAAqB;CAmBtC;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAA"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export declare const TOPIC_WORKSPACE_CHANGED = "events/filesys/workspaceChanged";
|
|
2
|
+
export declare const TOPIC_WORKSPACE_CONNECTED = "events/filesys/workspaceConnected";
|
|
3
|
+
export declare abstract class Resource {
|
|
4
|
+
state: {
|
|
5
|
+
[p: string]: any;
|
|
6
|
+
};
|
|
7
|
+
abstract getName(): string;
|
|
8
|
+
abstract getParent(): Directory | undefined;
|
|
9
|
+
abstract delete(name?: string, recursive?: boolean): Promise<void>;
|
|
10
|
+
abstract copyTo(targetPath: string): Promise<void>;
|
|
11
|
+
abstract rename(newName: string): Promise<void>;
|
|
12
|
+
getWorkspacePath(): string;
|
|
13
|
+
getWorkspace(): Directory;
|
|
14
|
+
}
|
|
15
|
+
export declare const resourceComparator: (c1: Resource, c2: Resource) => number;
|
|
16
|
+
export declare enum FileContentType {
|
|
17
|
+
TEXT = 0,
|
|
18
|
+
BINARY = 1
|
|
19
|
+
}
|
|
20
|
+
export declare enum FileContentEncoding {
|
|
21
|
+
BASE64 = 0
|
|
22
|
+
}
|
|
23
|
+
export interface FileContentsOptions {
|
|
24
|
+
contentType?: FileContentType;
|
|
25
|
+
encoding?: FileContentEncoding;
|
|
26
|
+
uri?: boolean;
|
|
27
|
+
blob?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface GetResourceOptions {
|
|
30
|
+
create?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare abstract class File extends Resource {
|
|
33
|
+
abstract getContents(options?: FileContentsOptions): Promise<any>;
|
|
34
|
+
abstract saveContents(contents: any, options?: FileContentsOptions): Promise<void>;
|
|
35
|
+
abstract size(): Promise<number | null>;
|
|
36
|
+
}
|
|
37
|
+
export declare abstract class Directory extends Resource {
|
|
38
|
+
abstract listChildren(forceRefresh: boolean): Promise<Resource[]>;
|
|
39
|
+
abstract getResource(path: string, options?: GetResourceOptions): Promise<Resource | null>;
|
|
40
|
+
abstract touch(): void;
|
|
41
|
+
}
|
|
42
|
+
export declare class StringFile extends File {
|
|
43
|
+
private contents;
|
|
44
|
+
private name;
|
|
45
|
+
constructor(contents: string, name: string);
|
|
46
|
+
getContents(_options?: FileContentsOptions): Promise<any>;
|
|
47
|
+
saveContents(contents: any, _options?: FileContentsOptions): Promise<void>;
|
|
48
|
+
size(): Promise<number | null>;
|
|
49
|
+
copyTo(_targetPath: string): Promise<void>;
|
|
50
|
+
delete(_name?: string, _recursive?: boolean): Promise<void>;
|
|
51
|
+
rename(_newName: string): Promise<void>;
|
|
52
|
+
getName(): string;
|
|
53
|
+
getParent(): Directory | undefined;
|
|
54
|
+
}
|
|
55
|
+
export interface ResourceMap {
|
|
56
|
+
[key: string]: Resource;
|
|
57
|
+
}
|
|
58
|
+
export declare class CompositeDirectory extends Directory {
|
|
59
|
+
private readonly displayName;
|
|
60
|
+
private readonly entriesByName;
|
|
61
|
+
constructor(directories: Directory[], displayName?: string);
|
|
62
|
+
getFolderNameForDirectory(dir: Directory): string | undefined;
|
|
63
|
+
isDirectChild(dir: Directory): boolean;
|
|
64
|
+
getName(): string;
|
|
65
|
+
getParent(): Directory | undefined;
|
|
66
|
+
listChildren(_forceRefresh: boolean): Promise<Resource[]>;
|
|
67
|
+
getResource(path: string, options?: GetResourceOptions): Promise<Resource | null>;
|
|
68
|
+
touch(): void;
|
|
69
|
+
delete(_name?: string, _recursive?: boolean): Promise<void>;
|
|
70
|
+
copyTo(_targetPath: string): Promise<void>;
|
|
71
|
+
rename(_newName: string): Promise<void>;
|
|
72
|
+
getFolderByName(name: string): Directory | undefined;
|
|
73
|
+
}
|
|
74
|
+
export interface WorkspaceContribution {
|
|
75
|
+
type: string;
|
|
76
|
+
name: string;
|
|
77
|
+
canHandle(input: any): boolean;
|
|
78
|
+
connect(input: any): Promise<Directory>;
|
|
79
|
+
restore?(data: any): Promise<Directory | undefined>;
|
|
80
|
+
persist?(workspace: Directory): Promise<any>;
|
|
81
|
+
}
|
|
82
|
+
export declare class WorkspaceService {
|
|
83
|
+
private workspace?;
|
|
84
|
+
private _currentWorkspace;
|
|
85
|
+
private folders;
|
|
86
|
+
private currentType?;
|
|
87
|
+
private contributions;
|
|
88
|
+
private initPromise;
|
|
89
|
+
getWorkspaceSync(): Directory | undefined;
|
|
90
|
+
constructor();
|
|
91
|
+
registerContribution(contribution: WorkspaceContribution): void;
|
|
92
|
+
getContributions(): WorkspaceContribution[];
|
|
93
|
+
private static readonly DEFAULT_INDEXEDDB_FOLDER_NAME;
|
|
94
|
+
private loadPersistedWorkspace;
|
|
95
|
+
private resolveFolders;
|
|
96
|
+
private buildComposite;
|
|
97
|
+
private persistFolders;
|
|
98
|
+
getFolders(): Promise<Array<{
|
|
99
|
+
name: string;
|
|
100
|
+
type: string;
|
|
101
|
+
}>>;
|
|
102
|
+
getFolderInfoForDirectory(directory: Directory): Promise<{
|
|
103
|
+
name: string;
|
|
104
|
+
type: string;
|
|
105
|
+
backendName: string;
|
|
106
|
+
} | undefined>;
|
|
107
|
+
/**
|
|
108
|
+
* Update persisted metadata for a workspace root directory.
|
|
109
|
+
* Currently used to keep display names of roots (e.g. IndexedDB) in sync
|
|
110
|
+
* with their in-memory Directory instances.
|
|
111
|
+
*/
|
|
112
|
+
updateFolderName(directory: Directory, name: string): Promise<void>;
|
|
113
|
+
connectFolder(input: any): Promise<Directory>;
|
|
114
|
+
disconnectFolder(directory: Directory): Promise<void>;
|
|
115
|
+
connectWorkspace(input: any): Promise<Directory>;
|
|
116
|
+
getWorkspace(): Promise<Directory | undefined>;
|
|
117
|
+
isConnected(): boolean;
|
|
118
|
+
getWorkspaceType(): string | undefined;
|
|
119
|
+
disconnectWorkspace(): Promise<void>;
|
|
120
|
+
}
|
|
121
|
+
export declare const workspaceService: WorkspaceService;
|
|
122
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/core/filesys/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { File, Directory, FileContentsOptions, GetResourceOptions, Resource } from './common';
|
|
2
|
+
export declare class FileSysFileHandleResource extends File {
|
|
3
|
+
private fileHandle;
|
|
4
|
+
private parent;
|
|
5
|
+
constructor(fileHandle: FileSystemFileHandle, parent: Directory);
|
|
6
|
+
getName(): string;
|
|
7
|
+
getParent(): Directory;
|
|
8
|
+
delete(): Promise<void>;
|
|
9
|
+
getContents(options?: FileContentsOptions): Promise<any>;
|
|
10
|
+
size(): Promise<number | null>;
|
|
11
|
+
saveContents(contents: any, _options?: FileContentsOptions): Promise<void>;
|
|
12
|
+
copyTo(targetPath: string): Promise<void>;
|
|
13
|
+
rename(newName: string): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export declare class FileSysDirHandleResource extends Directory {
|
|
16
|
+
private dirHandle;
|
|
17
|
+
private files?;
|
|
18
|
+
private parent?;
|
|
19
|
+
private loadingPromise?;
|
|
20
|
+
constructor(dirHandle: FileSystemDirectoryHandle, parent?: Directory);
|
|
21
|
+
getHandle(): FileSystemDirectoryHandle;
|
|
22
|
+
getParent(): Directory | undefined;
|
|
23
|
+
getName(): string;
|
|
24
|
+
listChildren(forceRefresh?: boolean): Promise<Resource[]>;
|
|
25
|
+
getResource(path: string, options?: GetResourceOptions): Promise<Resource | null>;
|
|
26
|
+
touch(): void;
|
|
27
|
+
delete(name?: string, recursive?: boolean): Promise<void>;
|
|
28
|
+
copyTo(targetPath: string): Promise<void>;
|
|
29
|
+
rename(newName: string): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=fs-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-access.d.ts","sourceRoot":"","sources":["../../../src/core/filesys/fs-access.ts"],"names":[],"mappings":"AACA,OAAO,EACH,IAAI,EACJ,SAAS,EAGT,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EAIhB,MAAM,UAAU,CAAC;AAElB,qBAAa,yBAA0B,SAAQ,IAAI;IAC/C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,MAAM,CAAY;gBAEd,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,SAAS;IAM/D,OAAO,IAAI,MAAM;IAIjB,SAAS,IAAI,SAAS;IAIhB,MAAM;IAIN,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBxD,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS9B,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,mBAAmB;IAe1D,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4B/C;AAED,qBAAa,wBAAyB,SAAQ,SAAS;IACnD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAsB;gBAEjC,SAAS,EAAE,yBAAyB,EAAE,MAAM,CAAC,EAAE,SAAS;IAMpE,SAAS;IAIT,SAAS,IAAI,SAAS,GAAG,SAAS;IAIlC,OAAO,IAAI,MAAM;IAIX,YAAY,CAAC,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAuChE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAsEhF,KAAK;IAIN,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc;IAuB/C,MAAM,CAAC,UAAU,EAAE,MAAM;IAOzB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4B/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/filesys/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { File, Directory, FileContentsOptions, GetResourceOptions, Resource } from './common';
|
|
2
|
+
export declare class IDBFileResource extends File {
|
|
3
|
+
private readonly path;
|
|
4
|
+
private readonly parent;
|
|
5
|
+
constructor(path: string, parent: Directory);
|
|
6
|
+
getName(): string;
|
|
7
|
+
getParent(): Directory;
|
|
8
|
+
private getRootId;
|
|
9
|
+
delete(): Promise<void>;
|
|
10
|
+
getContents(options?: FileContentsOptions): Promise<any>;
|
|
11
|
+
saveContents(contents: any, _options?: FileContentsOptions): Promise<void>;
|
|
12
|
+
size(): Promise<number | null>;
|
|
13
|
+
copyTo(targetPath: string): Promise<void>;
|
|
14
|
+
rename(newName: string): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare class IDBDirectoryResource extends Directory {
|
|
17
|
+
private readonly path;
|
|
18
|
+
private readonly parent?;
|
|
19
|
+
constructor(path: string, parent?: Directory);
|
|
20
|
+
getPath(): string;
|
|
21
|
+
getName(): string;
|
|
22
|
+
getParent(): Directory | undefined;
|
|
23
|
+
getRoot(): IDBDirectoryResource;
|
|
24
|
+
getRootId(): string;
|
|
25
|
+
listChildren(_forceRefresh: boolean): Promise<Resource[]>;
|
|
26
|
+
getResource(path: string, options?: GetResourceOptions): Promise<Resource | null>;
|
|
27
|
+
touch(): void;
|
|
28
|
+
delete(name?: string, _recursive?: boolean): Promise<void>;
|
|
29
|
+
copyTo(targetPath: string): Promise<void>;
|
|
30
|
+
rename(newName: string): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export declare class IDBRootDirectory extends IDBDirectoryResource {
|
|
33
|
+
private readonly displayName;
|
|
34
|
+
private readonly rootId;
|
|
35
|
+
constructor(displayName: string, rootId: string);
|
|
36
|
+
getRootId(): string;
|
|
37
|
+
getName(): string;
|
|
38
|
+
getParent(): Directory | undefined;
|
|
39
|
+
rename(_newName: string): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=indexeddb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexeddb.d.ts","sourceRoot":"","sources":["../../../src/core/filesys/indexeddb.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EACJ,SAAS,EAET,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EAGhB,MAAM,UAAU,CAAC;AAsPlB,qBAAa,eAAgB,SAAQ,IAAI;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;gBAEvB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAM3C,OAAO,IAAI,MAAM;IAKjB,SAAS,IAAI,SAAS;IAItB,OAAO,CAAC,SAAS;IAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,WAAW,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAsCxD,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1E,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAO9B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB/C;AAED,qBAAa,oBAAqB,SAAQ,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY;gBAExB,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS;IAM5C,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,MAAM;IAQjB,SAAS,IAAI,SAAS,GAAG,SAAS;IAIlC,OAAO,IAAI,oBAAoB;IAM/B,SAAS,IAAI,MAAM;IAKb,YAAY,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAczD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAkDvF,KAAK,IAAI,IAAI;IAIP,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAehE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAa/C;AAED,qBAAa,gBAAiB,SAAQ,oBAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM/C,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,MAAM;IAIjB,SAAS,IAAI,SAAS,GAAG,SAAS;IAI5B,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAShD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Directory, GetResourceOptions, Resource } from './common';
|
|
2
|
+
export declare class OPFSRootDirectory extends Directory {
|
|
3
|
+
private readonly inner;
|
|
4
|
+
constructor(inner: Directory);
|
|
5
|
+
getName(): string;
|
|
6
|
+
getParent(): Directory | undefined;
|
|
7
|
+
listChildren(forceRefresh: boolean): Promise<Resource[]>;
|
|
8
|
+
getResource(path: string, options?: GetResourceOptions): Promise<Resource | null>;
|
|
9
|
+
touch(): void;
|
|
10
|
+
delete(name?: string, recursive?: boolean): Promise<void>;
|
|
11
|
+
copyTo(targetPath: string): Promise<void>;
|
|
12
|
+
rename(newName: string): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=opfs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opfs.d.ts","sourceRoot":"","sources":["../../../src/core/filesys/opfs.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EACT,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EAGhB,MAAM,UAAU,CAAC;AAWlB,qBAAa,iBAAkB,SAAQ,SAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,SAAS;IAI7C,OAAO,IAAI,MAAM;IAIjB,SAAS,IAAI,SAAS,GAAG,SAAS;IAI5B,YAAY,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIxD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIvF,KAAK,IAAI,IAAI;IAIP,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Signal } from '@lit-labs/signals';
|
|
2
|
+
import { Contribution } from './contributionregistry';
|
|
3
|
+
export declare const SYSTEM_LANGUAGE_BUNDLES = "system.language_bundles";
|
|
4
|
+
export declare const SETTINGS_KEY_LANGUAGE = "language";
|
|
5
|
+
export interface LanguageBundleContribution extends Omit<Contribution, 'label'> {
|
|
6
|
+
namespace: string;
|
|
7
|
+
language?: string;
|
|
8
|
+
translations?: Record<string, string>;
|
|
9
|
+
[languageCode: string]: any;
|
|
10
|
+
}
|
|
11
|
+
export declare class LazyTranslation extends String {
|
|
12
|
+
private readonly i18nService;
|
|
13
|
+
private readonly namespace;
|
|
14
|
+
private readonly key;
|
|
15
|
+
private readonly params?;
|
|
16
|
+
private cachedValue?;
|
|
17
|
+
private cachedLanguage?;
|
|
18
|
+
constructor(i18nService: I18nService, namespace: string, key: string, params?: Record<string, string> | undefined);
|
|
19
|
+
toString(): string;
|
|
20
|
+
valueOf(): string;
|
|
21
|
+
[Symbol.toPrimitive](hint: 'default' | 'string' | 'number'): string | number;
|
|
22
|
+
toJSON(): string;
|
|
23
|
+
}
|
|
24
|
+
export type UILabel = string | LazyTranslation;
|
|
25
|
+
declare class I18nService {
|
|
26
|
+
private static readonly DEFAULT_LANGUAGE;
|
|
27
|
+
private readonly translationCache;
|
|
28
|
+
readonly currentLanguageSignal: Signal.State<string>;
|
|
29
|
+
readonly languageContributionsSignal: Signal.State<LanguageBundleContribution[]>;
|
|
30
|
+
constructor();
|
|
31
|
+
private getBrowserLanguage;
|
|
32
|
+
private initializeLanguage;
|
|
33
|
+
private updateLanguageFromSettings;
|
|
34
|
+
private getPrimaryLanguage;
|
|
35
|
+
private updateLanguageContributions;
|
|
36
|
+
private createCacheKey;
|
|
37
|
+
mergeTranslationsForLanguage(contributions: LanguageBundleContribution[], namespace: string, language: string): Record<string, string>;
|
|
38
|
+
private invalidateTranslationCache;
|
|
39
|
+
translate(namespace: string, key: string, params?: Record<string, string>): string;
|
|
40
|
+
private initialize;
|
|
41
|
+
i18n(namespace: string): (key: string, params?: Record<string, string>) => string;
|
|
42
|
+
i18nLazy(namespace: string): (key: string, params?: Record<string, string>) => LazyTranslation;
|
|
43
|
+
}
|
|
44
|
+
export declare const i18nService: I18nService;
|
|
45
|
+
export declare const currentLanguageSignal: Signal.State<string>;
|
|
46
|
+
export declare const languageContributionsSignal: Signal.State<LanguageBundleContribution[]>;
|
|
47
|
+
export declare const i18n: (namespace: string) => (key: string, params?: Record<string, string>) => string;
|
|
48
|
+
export declare const i18nLazy: (namespace: string) => (key: string, params?: Record<string, string>) => LazyTranslation;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAcA,OAAO,UAAU,CAAC;AAClB,OAAO,sBAAsB,CAAC;AAC9B,OAAO,mBAAmB,CAAC;AAG3B,OAAO,wBAAwB,CAAC;AAChC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,eAAe,CAAC;AAGvB,OAAO,QAAQ,CAAC;AAChB,OAAO,iBAAiB,CAAC;AAGzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,qBAAqB,CAAC;AAG7B,OAAO,eAAe,CAAC;AACvB,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,WAAW,CAAC;AAGnB,OAAO,aAAa,CAAC;AACrB,OAAO,uBAAuB,CAAC;AAG/B,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AAGpB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,aAAa,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Key Binding Manager for geo!space
|
|
3
|
+
*
|
|
4
|
+
* Handles keyboard shortcuts and binds them to commands.
|
|
5
|
+
* Supports standard modifiers: CTRL, ALT, SHIFT, META (CMD on Mac)
|
|
6
|
+
*/
|
|
7
|
+
export type ModifierField = 'ctrl' | 'alt' | 'shift' | 'meta';
|
|
8
|
+
export interface KeyBinding {
|
|
9
|
+
commandId: string;
|
|
10
|
+
key: string;
|
|
11
|
+
ctrl?: boolean;
|
|
12
|
+
alt?: boolean;
|
|
13
|
+
shift?: boolean;
|
|
14
|
+
meta?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class KeyBindingManager {
|
|
17
|
+
private bindings;
|
|
18
|
+
private enabled;
|
|
19
|
+
constructor();
|
|
20
|
+
private registerExistingCommandBindings;
|
|
21
|
+
/**
|
|
22
|
+
* Parse a key binding string like "CTRL+SHIFT+P" or "ALT+S"
|
|
23
|
+
*/
|
|
24
|
+
parseKeyBinding(keyBindingString: string): KeyBinding | null;
|
|
25
|
+
/**
|
|
26
|
+
* Create a unique key for a binding
|
|
27
|
+
*/
|
|
28
|
+
private getBindingKey;
|
|
29
|
+
/**
|
|
30
|
+
* Register a key binding for a command
|
|
31
|
+
*/
|
|
32
|
+
registerKeyBinding(commandId: string, keyBindingString: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Unregister a key binding
|
|
35
|
+
*/
|
|
36
|
+
unregisterKeyBinding(commandId: string, keyBindingString?: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Get all key bindings for a command
|
|
39
|
+
*/
|
|
40
|
+
getKeyBindingsForCommand(commandId: string): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Format a key binding for display
|
|
43
|
+
*/
|
|
44
|
+
formatKeyBinding(binding: KeyBinding): string;
|
|
45
|
+
/**
|
|
46
|
+
* Handle keyboard events
|
|
47
|
+
*/
|
|
48
|
+
private handleKeyDown;
|
|
49
|
+
/**
|
|
50
|
+
* Enable or disable key binding handling
|
|
51
|
+
*/
|
|
52
|
+
setEnabled(enabled: boolean): void;
|
|
53
|
+
/**
|
|
54
|
+
* Check if key binding handling is enabled
|
|
55
|
+
*/
|
|
56
|
+
isEnabled(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Get all registered key bindings
|
|
59
|
+
*/
|
|
60
|
+
getAllBindings(): Map<string, KeyBinding[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Clear all key bindings
|
|
63
|
+
*/
|
|
64
|
+
clearAll(): void;
|
|
65
|
+
}
|
|
66
|
+
export declare const keyBindingManager: KeyBindingManager;
|
|
67
|
+
//# sourceMappingURL=keybindings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../src/core/keybindings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9D,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AA2BD,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,OAAO,CAAiB;;IAYhC,OAAO,CAAC,+BAA+B;IASvC;;OAEG;IACH,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IA0B5D;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAkCxE;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI;IA4BxE;;OAEG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAYrD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAS7C;;OAEG;IACH,OAAO,CAAC,aAAa;IA8BrB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAQ3C;;OAEG;IACH,QAAQ,IAAI,IAAI;CAGnB;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type LogLevel = 'info' | 'warning' | 'error' | 'debug';
|
|
2
|
+
type LogHandler = (source: string, message: string, level: LogLevel) => void;
|
|
3
|
+
/**
|
|
4
|
+
* Global logger utility for logging messages
|
|
5
|
+
*/
|
|
6
|
+
export declare class Logger {
|
|
7
|
+
private source;
|
|
8
|
+
constructor(source: string);
|
|
9
|
+
info(message: string): void;
|
|
10
|
+
warning(message: string): void;
|
|
11
|
+
warn(message: string): void;
|
|
12
|
+
error(message: string): void;
|
|
13
|
+
debug(message: string): void;
|
|
14
|
+
private log;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Initialize console interception globally
|
|
18
|
+
* Note: This is called automatically when the logger module is imported
|
|
19
|
+
*/
|
|
20
|
+
export declare function initializeConsoleInterception(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Register a handler to receive log messages
|
|
23
|
+
* Also flushes any buffered messages to the new handler
|
|
24
|
+
*/
|
|
25
|
+
export declare function registerLogHandler(handler: LogHandler): void;
|
|
26
|
+
/**
|
|
27
|
+
* Unregister the current log handler
|
|
28
|
+
*/
|
|
29
|
+
export declare function unregisterLogHandler(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Create a logger instance for a specific source
|
|
32
|
+
*/
|
|
33
|
+
export declare function createLogger(source: string): Logger;
|
|
34
|
+
/**
|
|
35
|
+
* Set the global log level filter
|
|
36
|
+
*/
|
|
37
|
+
export declare function setLogLevel(level: LogLevel): void;
|
|
38
|
+
/**
|
|
39
|
+
* Default logger instance for backward compatibility
|
|
40
|
+
* This provides a simple logger similar to the old logging.ts
|
|
41
|
+
*/
|
|
42
|
+
declare const defaultLogger: Logger;
|
|
43
|
+
export default defaultLogger;
|
|
44
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAsB9D,KAAK,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;AAuB7E;;GAEG;AACH,qBAAa,MAAM;IACH,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,OAAO,CAAC,GAAG;CAGd;AA6BD;;;GAGG;AACH,wBAAgB,6BAA6B,SAyB5C;AAKD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,QAUrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,SAEnC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAE1C;AAED;;;GAGG;AACH,QAAA,MAAM,aAAa,QAAyB,CAAC;AAK7C,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Extension } from './extensionregistry';
|
|
2
|
+
export declare const TOPIC_MARKETPLACE_CHANGED = "events/marketplaceregistry/changed";
|
|
3
|
+
export interface MarketplaceCatalog {
|
|
4
|
+
name?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
extensions?: Extension[];
|
|
7
|
+
}
|
|
8
|
+
declare class MarketplaceRegistry {
|
|
9
|
+
private catalogUrls;
|
|
10
|
+
private loadingPromises;
|
|
11
|
+
constructor();
|
|
12
|
+
private loadCatalogUrls;
|
|
13
|
+
private saveCatalogUrls;
|
|
14
|
+
addCatalogUrl(url: string): Promise<void>;
|
|
15
|
+
removeCatalogUrl(url: string): Promise<void>;
|
|
16
|
+
getCatalogUrls(): string[];
|
|
17
|
+
private isValidUrl;
|
|
18
|
+
private fetchCatalog;
|
|
19
|
+
refreshCatalogs(): Promise<void>;
|
|
20
|
+
getMarketplaceExtension(extensionId: string): Extension | undefined;
|
|
21
|
+
isMarketplaceExtension(extensionId: string): boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare const marketplaceRegistry: MarketplaceRegistry;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=marketplaceregistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplaceregistry.d.ts","sourceRoot":"","sources":["../../src/core/marketplaceregistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAKjE,eAAO,MAAM,yBAAyB,uCAAuC,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC5B;AAID,cAAM,mBAAmB;IACrB,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAAuD;;YAWhE,eAAe;YAWf,eAAe;IAKvB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlD,cAAc,IAAI,MAAM,EAAE;IAI1B,OAAO,CAAC,UAAU;YASJ,YAAY;IA+CpB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCtC,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IASnE,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;CAIvD;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
|