@design.estate/dees-catalog 3.81.1 → 3.82.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/.smartconfig.json CHANGED
@@ -37,12 +37,17 @@
37
37
  ]
38
38
  },
39
39
  "release": {
40
- "registries": [
41
- "https://verdaccio.lossless.digital",
42
- "https://registry.npmjs.org"
43
- ],
44
- "accessLevel": "public"
45
- }
40
+ "targets": {
41
+ "npm": {
42
+ "registries": [
43
+ "https://verdaccio.lossless.digital",
44
+ "https://registry.npmjs.org"
45
+ ],
46
+ "accessLevel": "public"
47
+ }
48
+ }
49
+ },
50
+ "schemaVersion": 2
46
51
  },
47
52
  "@git.zone/tsdoc": {
48
53
  "legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
@@ -132879,6 +132879,13 @@ var init_WebContainerEnvironment = __esm({
132879
132879
  kill: /* @__PURE__ */ __name(() => process4.kill(), "kill")
132880
132880
  };
132881
132881
  }
132882
+ getShellCommand() {
132883
+ return {
132884
+ command: "jsh",
132885
+ label: "jsh",
132886
+ prompt: "~/"
132887
+ };
132888
+ }
132882
132889
  // ============ WebContainer-specific methods ============
132883
132890
  /**
132884
132891
  * Mount files into the virtual filesystem.
@@ -133379,6 +133386,19 @@ var init_dees_workspace_terminal = __esm({
133379
133386
  console.error("Failed to spawn process:", error);
133380
133387
  }
133381
133388
  }
133389
+ async getShellCommand() {
133390
+ if (this.executionEnvironment && !this.executionEnvironment.ready) {
133391
+ await this.executionEnvironment.init();
133392
+ }
133393
+ if (this.executionEnvironment?.getShellCommand) {
133394
+ return await this.executionEnvironment.getShellCommand();
133395
+ }
133396
+ return {
133397
+ command: "jsh",
133398
+ label: "jsh",
133399
+ prompt: "~/"
133400
+ };
133401
+ }
133382
133402
  handleProcessExit(tabId, exitCode3) {
133383
133403
  const tab2 = this.tabManager.getTab(tabId);
133384
133404
  if (!tab2) return;
@@ -133424,10 +133444,11 @@ var init_dees_workspace_terminal = __esm({
133424
133444
  * Create a new shell tab
133425
133445
  */
133426
133446
  async createShellTab(label) {
133447
+ const shellCommand = await this.getShellCommand();
133427
133448
  const tab2 = this.tabManager.createTab(
133428
133449
  {
133429
133450
  type: "shell",
133430
- label: label || `bash ${this.tabManager.getTabCount() + 1}`,
133451
+ label: label || `${shellCommand.label || shellCommand.command} ${this.tabManager.getTabCount() + 1}`,
133431
133452
  closeable: this.tabManager.getTabCount() > 0
133432
133453
  // First tab not closeable
133433
133454
  },
@@ -133436,9 +133457,9 @@ var init_dees_workspace_terminal = __esm({
133436
133457
  this.tabs = this.tabManager.getAllTabs();
133437
133458
  this.switchToTab(tab2.id);
133438
133459
  await this.updateComplete;
133439
- await this.spawnProcessForTab(tab2, "jsh");
133460
+ await this.spawnProcessForTab(tab2, shellCommand.command, shellCommand.args || []);
133440
133461
  if (this.tabManager.getTabCount() === 1 && this.setupCommand) {
133441
- await this.waitForPrompt(tab2.terminal, "~/");
133462
+ await this.waitForPrompt(tab2.terminal, shellCommand.prompt || "~/");
133442
133463
  if (tab2.inputWriter) {
133443
133464
  tab2.inputWriter.write(this.setupCommand);
133444
133465
  }
@@ -154395,6 +154416,9 @@ __publicField(_DeesFormattingMenu, "styles", [
154395
154416
  __runInitializers(_init35, 1, _DeesFormattingMenu);
154396
154417
  var DeesFormattingMenu = _DeesFormattingMenu;
154397
154418
 
154419
+ // ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.interfaces.ts
154420
+ init_dist_ts30();
154421
+
154398
154422
  // ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.constants.ts
154399
154423
  var PROGRAMMING_LANGUAGES = [
154400
154424
  "JavaScript",
@@ -165021,6 +165045,7 @@ __name(compileLucenePredicate, "compileLucenePredicate");
165021
165045
  // ts_web/elements/00group-dataview/dees-table/dees-table.ts
165022
165046
  init_dist_ts30();
165023
165047
  init_dist_ts29();
165048
+ init_dees_icon();
165024
165049
  init_theme();
165025
165050
  var ___virtualRange_dec, ___flashingCells_dec, ___floatingActive_dec, ___editingCell_dec, ___focusedCell_dec, _selectedIds_dec, _selectionMode_dec, _searchMode_dec, _fixedHeight_dec, _highlightDuration_dec, _highlightUpdates_dec, _virtualOverscan_dec, _virtualized_dec, _showSelectionCheckbox_dec, _showColumnFilters_dec, _columnFilters_dec, _filterText_dec, _sortBy_dec, _showGrid_dec, _showHorizontalLines_dec, _showVerticalLines_dec, _selectedDataRow_dec, _reverseDisplayFunction_dec, _displayFunction_dec, _augmentFromDisplayFunction_dec, _rowKey_dec, _columns_dec, _dataActions_dec, _searchable_dec, _dataName_dec, _required_dec3, _disabled_dec3, _label_dec3, _key_dec2, _data_dec, _heading2_dec, _heading1_dec, _a42, _DeesTable_decorators, _init39, _heading1, _heading22, _data, _key2, _label3, _disabled3, _required3, _dataName, _searchable, _dataActions, _columns, _rowKey, _augmentFromDisplayFunction, _displayFunction, _reverseDisplayFunction, _selectedDataRow, _showVerticalLines, _showHorizontalLines, _showGrid, _sortBy, _filterText, _columnFilters, _showColumnFilters, _showSelectionCheckbox, _virtualized, _virtualOverscan, _highlightUpdates, _highlightDuration, _fixedHeight, _searchMode, _selectionMode, _selectedIds, ___focusedCell, ___editingCell, ___floatingActive, ___flashingCells, ___virtualRange;
165026
165051
  function ordinalLabel(n12) {
@@ -202660,6 +202685,9 @@ _init112 = __decoratorStart(_a109);
202660
202685
  DeesWorkspaceMarkdownoutlet = __decorateElement(_init112, 0, "DeesWorkspaceMarkdownoutlet", _DeesWorkspaceMarkdownoutlet_decorators, DeesWorkspaceMarkdownoutlet);
202661
202686
  __runInitializers(_init112, 1, DeesWorkspaceMarkdownoutlet);
202662
202687
 
202688
+ // ts_web/elements/dees-tooltip/dees-tooltip.ts
202689
+ init_dist_ts30();
202690
+
202663
202691
  // ts_web/elements/index.ts
202664
202692
  init_theme();
202665
202693
  init_group_runtime();
@@ -202667,7 +202695,7 @@ init_group_runtime();
202667
202695
  // ts_web/00_commitinfo_data.ts
202668
202696
  var commitinfo = {
202669
202697
  name: "@design.estate/dees-catalog",
202670
- version: "3.81.0",
202698
+ version: "3.82.0",
202671
202699
  description: "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript."
202672
202700
  };
202673
202701
  export {
@@ -204633,4 +204661,4 @@ ibantools/jsnext/ibantools.js:
204633
204661
  * @preferred
204634
204662
  *)
204635
204663
  */
204636
- //# sourceMappingURL=bundle-1779325199992.js.map
204664
+ //# sourceMappingURL=bundle.js.map
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.81.0',
6
+ version: '3.82.0',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
@@ -1,5 +1,5 @@
1
1
  import * as webcontainer from '@tempfix/webcontainer__api';
2
- import type { IExecutionEnvironment, IFileEntry, IFileWatcher, IProcessHandle } from '../interfaces/IExecutionEnvironment.js';
2
+ import type { IExecutionEnvironment, IFileEntry, IFileWatcher, IProcessHandle, IShellCommand } from '../interfaces/IExecutionEnvironment.js';
3
3
  /**
4
4
  * WebContainer-based execution environment.
5
5
  * Runs Node.js and shell commands in the browser using WebContainer API.
@@ -25,6 +25,7 @@ export declare class WebContainerEnvironment implements IExecutionEnvironment {
25
25
  recursive?: boolean;
26
26
  }): IFileWatcher;
27
27
  spawn(command: string, args?: string[]): Promise<IProcessHandle>;
28
+ getShellCommand(): IShellCommand;
28
29
  /**
29
30
  * Mount files into the virtual filesystem.
30
31
  * This is a WebContainer-specific operation.
@@ -119,6 +119,13 @@ export class WebContainerEnvironment {
119
119
  kill: () => process.kill(),
120
120
  };
121
121
  }
122
+ getShellCommand() {
123
+ return {
124
+ command: 'jsh',
125
+ label: 'jsh',
126
+ prompt: '~/',
127
+ };
128
+ }
122
129
  // ============ WebContainer-specific methods ============
123
130
  /**
124
131
  * Mount files into the virtual filesystem.
@@ -144,4 +151,4 @@ export class WebContainerEnvironment {
144
151
  }
145
152
  }
146
153
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViQ29udGFpbmVyRW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1ydW50aW1lL2Vudmlyb25tZW50cy9XZWJDb250YWluZXJFbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssWUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBRzNEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsbUVBQW1FO0lBQzNELE1BQU0sQ0FBQyxlQUFlLEdBQXFDLElBQUksQ0FBQztJQUNoRSxNQUFNLENBQUMsV0FBVyxHQUE4QyxJQUFJLENBQUM7SUFFckUsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUVoQixJQUFJLEdBQUcsY0FBdUIsQ0FBQztJQUUvQyxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLHVCQUF1QixDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsc0NBQXNDO0lBRS9CLEtBQUssQ0FBQyxJQUFJO1FBQ2Ysc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMzRCxPQUFPO1FBQ1QsQ0FBQztRQUVELHdEQUF3RDtRQUN4RCxJQUFJLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sdUJBQXVCLENBQUMsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBRUQseURBQXlEO1FBQ3pELElBQUksdUJBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFFRCxzRUFBc0U7UUFD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
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViQ29udGFpbmVyRW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1ydW50aW1lL2Vudmlyb25tZW50cy9XZWJDb250YWluZXJFbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssWUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBUzNEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsbUVBQW1FO0lBQzNELE1BQU0sQ0FBQyxlQUFlLEdBQXFDLElBQUksQ0FBQztJQUNoRSxNQUFNLENBQUMsV0FBVyxHQUE4QyxJQUFJLENBQUM7SUFFckUsTUFBTSxHQUFZLEtBQUssQ0FBQztJQUVoQixJQUFJLEdBQUcsY0FBdUIsQ0FBQztJQUUvQyxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLHVCQUF1QixDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsc0NBQXNDO0lBRS9CLEtBQUssQ0FBQyxJQUFJO1FBQ2Ysc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMzRCxPQUFPO1FBQ1QsQ0FBQztRQUVELHdEQUF3RDtRQUN4RCxJQUFJLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sdUJBQXVCLENBQUMsV0FBVyxDQUFDO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLE9BQU87UUFDVCxDQUFDO1FBRUQseURBQXlEO1FBQ3pELElBQUksdUJBQXVCLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFFRCxzRUFBc0U7UUFD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
@@ -28,6 +28,16 @@ export interface IProcessHandle {
28
28
  /** Kill the process */
29
29
  kill(): void;
30
30
  }
31
+ export interface IShellCommand {
32
+ /** Executable to start for an interactive shell session. */
33
+ command: string;
34
+ /** Optional command arguments. */
35
+ args?: string[];
36
+ /** Optional display label for terminal tabs. */
37
+ label?: string;
38
+ /** Optional prompt marker used for setup commands. */
39
+ prompt?: string;
40
+ }
31
41
  /**
32
42
  * Abstract execution environment interface.
33
43
  * Implementations can target WebContainer (browser), Backend API (server), or Mock (testing).
@@ -81,11 +91,16 @@ export interface IExecutionEnvironment {
81
91
  }): IFileWatcher;
82
92
  /**
83
93
  * Spawn a new process
84
- * @param command - Command to run (e.g., 'jsh', 'node', 'npm')
94
+ * @param command - Command to run (e.g., 'node', 'npm')
85
95
  * @param args - Optional arguments
86
96
  * @returns Process handle with I/O streams
87
97
  */
88
98
  spawn(command: string, args?: string[]): Promise<IProcessHandle>;
99
+ /**
100
+ * Return the environment-native interactive shell command.
101
+ * Implementations should provide this when terminal shells need a specific executable.
102
+ */
103
+ getShellCommand?(): IShellCommand | Promise<IShellCommand>;
89
104
  /**
90
105
  * Initialize the environment (e.g., boot WebContainer)
91
106
  * Must be called before any other operations
@@ -59,6 +59,7 @@ export declare class DeesWorkspaceTerminal extends DeesElement {
59
59
  private attachTerminalToContainer;
60
60
  handleResize(): void;
61
61
  private spawnProcessForTab;
62
+ private getShellCommand;
62
63
  private handleProcessExit;
63
64
  /**
64
65
  * Show actionbar offering to close an exited tab
@@ -669,6 +669,19 @@ let DeesWorkspaceTerminal = (() => {
669
669
  console.error('Failed to spawn process:', error);
670
670
  }
671
671
  }
672
+ async getShellCommand() {
673
+ if (this.executionEnvironment && !this.executionEnvironment.ready) {
674
+ await this.executionEnvironment.init();
675
+ }
676
+ if (this.executionEnvironment?.getShellCommand) {
677
+ return await this.executionEnvironment.getShellCommand();
678
+ }
679
+ return {
680
+ command: 'jsh',
681
+ label: 'jsh',
682
+ prompt: '~/',
683
+ };
684
+ }
672
685
  handleProcessExit(tabId, exitCode) {
673
686
  const tab = this.tabManager.getTab(tabId);
674
687
  if (!tab)
@@ -721,9 +734,10 @@ let DeesWorkspaceTerminal = (() => {
721
734
  * Create a new shell tab
722
735
  */
723
736
  async createShellTab(label) {
737
+ const shellCommand = await this.getShellCommand();
724
738
  const tab = this.tabManager.createTab({
725
739
  type: 'shell',
726
- label: label || `bash ${this.tabManager.getTabCount() + 1}`,
740
+ label: label || `${shellCommand.label || shellCommand.command} ${this.tabManager.getTabCount() + 1}`,
727
741
  closeable: this.tabManager.getTabCount() > 0, // First tab not closeable
728
742
  }, this.isBright);
729
743
  this.tabs = this.tabManager.getAllTabs();
@@ -731,10 +745,10 @@ let DeesWorkspaceTerminal = (() => {
731
745
  this.switchToTab(tab.id);
732
746
  // Wait for DOM update then spawn shell
733
747
  await this.updateComplete;
734
- await this.spawnProcessForTab(tab, 'jsh');
748
+ await this.spawnProcessForTab(tab, shellCommand.command, shellCommand.args || []);
735
749
  // Run setup command if this is the first tab
736
750
  if (this.tabManager.getTabCount() === 1 && this.setupCommand) {
737
- await this.waitForPrompt(tab.terminal, '~/');
751
+ await this.waitForPrompt(tab.terminal, shellCommand.prompt || '~/');
738
752
  if (tab.inputWriter) {
739
753
  tab.inputWriter.write(this.setupCommand);
740
754
  }
@@ -897,4 +911,4 @@ let DeesWorkspaceTerminal = (() => {
897
911
  return DeesWorkspaceTerminal = _classThis;
898
912
  })();
899
913
  export { DeesWorkspaceTerminal };
900
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy13b3Jrc3BhY2UtdGVybWluYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC13b3Jrc3BhY2UvZGVlcy13b3Jrc3BhY2UtdGVybWluYWwvZGVlcy13b3Jrc3BhY2UtdGVybWluYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsUUFBUSxFQUNSLElBQUksRUFDSixhQUFhLEVBRWIsR0FBRyxFQUNILFVBQVUsRUFDVixLQUFLLEdBQ04sTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sOENBQThDLENBQUM7QUFDdEQsT0FBTyx5REFBeUQsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU0vRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztJQVNyRCxxQkFBcUI7NEJBRGpDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FDQUFuQixTQUFRLFdBQVc7Ozs7Z0RBZW5ELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt3Q0FHMUIsUUFBUSxFQUFFO2dEQU1WLFFBQVEsRUFBRTt1Q0FNVixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7c0NBTTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztnQ0FJM0IsS0FBSyxFQUFFO3VDQUdQLEtBQUssRUFB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
914
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy13b3Jrc3BhY2UtdGVybWluYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC13b3Jrc3BhY2UvZGVlcy13b3Jrc3BhY2UtdGVybWluYWwvZGVlcy13b3Jrc3BhY2UtdGVybWluYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsUUFBUSxFQUNSLElBQUksRUFDSixhQUFhLEVBRWIsR0FBRyxFQUNILFVBQVUsRUFDVixLQUFLLEdBQ04sTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sOENBQThDLENBQUM7QUFDdEQsT0FBTyx5REFBeUQsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU0vRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztJQVNyRCxxQkFBcUI7NEJBRGpDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FDQUFuQixTQUFRLFdBQVc7Ozs7Z0RBZW5ELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt3Q0FHMUIsUUFBUSxFQUFFO2dEQU1WLFFBQVEsRUFBRTt1Q0FNVixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7c0NBTTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztnQ0FJM0IsS0FBSyxFQUFFO3VDQUdQLEtBQUssRUFB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
@@ -52,7 +52,7 @@ export interface ICreateTerminalTabOptions {
52
52
  iconName?: string;
53
53
  /** Whether the tab can be closed (default: true for non-shell) */
54
54
  closeable?: boolean;
55
- /** Command to spawn (default: 'jsh' for shell type) */
55
+ /** Command to spawn (shell type uses the execution environment shell by default) */
56
56
  command?: string;
57
57
  /** Command arguments */
58
58
  args?: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "3.81.1",
3
+ "version": "3.82.0",
4
4
  "private": false,
5
5
  "description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
6
6
  "main": "dist_ts_web/index.js",
@@ -38,12 +38,12 @@
38
38
  "xterm-addon-fit": "^0.8.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@git.zone/tsbuild": "^4.4.0",
42
- "@git.zone/tsbundle": "^2.10.0",
43
- "@git.zone/tstest": "^3.6.3",
44
- "@git.zone/tswatch": "^3.3.2",
41
+ "@git.zone/tsbuild": "^4.4.2",
42
+ "@git.zone/tsbundle": "^2.10.4",
43
+ "@git.zone/tstest": "^3.6.6",
44
+ "@git.zone/tswatch": "^3.3.5",
45
45
  "@push.rocks/projectinfo": "^5.1.0",
46
- "@types/node": "^25.6.0"
46
+ "@types/node": "^25.9.1"
47
47
  },
48
48
  "files": [
49
49
  "ts/**/*",
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.81.0',
6
+ version: '3.82.0',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  }
@@ -1,5 +1,11 @@
1
1
  import * as webcontainer from '@tempfix/webcontainer__api';
2
- import type { IExecutionEnvironment, IFileEntry, IFileWatcher, IProcessHandle } from '../interfaces/IExecutionEnvironment.js';
2
+ import type {
3
+ IExecutionEnvironment,
4
+ IFileEntry,
5
+ IFileWatcher,
6
+ IProcessHandle,
7
+ IShellCommand,
8
+ } from '../interfaces/IExecutionEnvironment.js';
3
9
 
4
10
  /**
5
11
  * WebContainer-based execution environment.
@@ -154,6 +160,14 @@ export class WebContainerEnvironment implements IExecutionEnvironment {
154
160
  };
155
161
  }
156
162
 
163
+ public getShellCommand(): IShellCommand {
164
+ return {
165
+ command: 'jsh',
166
+ label: 'jsh',
167
+ prompt: '~/',
168
+ };
169
+ }
170
+
157
171
  // ============ WebContainer-specific methods ============
158
172
 
159
173
  /**
@@ -29,6 +29,17 @@ export interface IProcessHandle {
29
29
  kill(): void;
30
30
  }
31
31
 
32
+ export interface IShellCommand {
33
+ /** Executable to start for an interactive shell session. */
34
+ command: string;
35
+ /** Optional command arguments. */
36
+ args?: string[];
37
+ /** Optional display label for terminal tabs. */
38
+ label?: string;
39
+ /** Optional prompt marker used for setup commands. */
40
+ prompt?: string;
41
+ }
42
+
32
43
  /**
33
44
  * Abstract execution environment interface.
34
45
  * Implementations can target WebContainer (browser), Backend API (server), or Mock (testing).
@@ -93,12 +104,18 @@ export interface IExecutionEnvironment {
93
104
 
94
105
  /**
95
106
  * Spawn a new process
96
- * @param command - Command to run (e.g., 'jsh', 'node', 'npm')
107
+ * @param command - Command to run (e.g., 'node', 'npm')
97
108
  * @param args - Optional arguments
98
109
  * @returns Process handle with I/O streams
99
110
  */
100
111
  spawn(command: string, args?: string[]): Promise<IProcessHandle>;
101
112
 
113
+ /**
114
+ * Return the environment-native interactive shell command.
115
+ * Implementations should provide this when terminal shells need a specific executable.
116
+ */
117
+ getShellCommand?(): IShellCommand | Promise<IShellCommand>;
118
+
102
119
  // ============ Lifecycle ============
103
120
 
104
121
  /**
@@ -12,7 +12,7 @@ import * as domtools from '@design.estate/dees-domtools';
12
12
 
13
13
  import type { Terminal } from 'xterm';
14
14
  import { themeDefaultStyles } from '../../00theme.js';
15
- import type { IExecutionEnvironment } from '../../00group-runtime/index.js';
15
+ import type { IExecutionEnvironment, IShellCommand } from '../../00group-runtime/index.js';
16
16
  import { WebContainerEnvironment } from '../../00group-runtime/index.js';
17
17
  import '../../00group-utility/dees-icon/dees-icon.js';
18
18
  import '../../00group-feedback/dees-actionbar/dees-actionbar.js';
@@ -660,6 +660,22 @@ export class DeesWorkspaceTerminal extends DeesElement {
660
660
  }
661
661
  }
662
662
 
663
+ private async getShellCommand(): Promise<IShellCommand> {
664
+ if (this.executionEnvironment && !this.executionEnvironment.ready) {
665
+ await this.executionEnvironment.init();
666
+ }
667
+
668
+ if (this.executionEnvironment?.getShellCommand) {
669
+ return await this.executionEnvironment.getShellCommand();
670
+ }
671
+
672
+ return {
673
+ command: 'jsh',
674
+ label: 'jsh',
675
+ prompt: '~/',
676
+ };
677
+ }
678
+
663
679
  private handleProcessExit(tabId: string, exitCode: number): void {
664
680
  const tab = this.tabManager.getTab(tabId);
665
681
  if (!tab) return;
@@ -723,10 +739,11 @@ export class DeesWorkspaceTerminal extends DeesElement {
723
739
  * Create a new shell tab
724
740
  */
725
741
  public async createShellTab(label?: string): Promise<string> {
742
+ const shellCommand = await this.getShellCommand();
726
743
  const tab = this.tabManager.createTab(
727
744
  {
728
745
  type: 'shell',
729
- label: label || `bash ${this.tabManager.getTabCount() + 1}`,
746
+ label: label || `${shellCommand.label || shellCommand.command} ${this.tabManager.getTabCount() + 1}`,
730
747
  closeable: this.tabManager.getTabCount() > 0, // First tab not closeable
731
748
  },
732
749
  this.isBright
@@ -739,11 +756,11 @@ export class DeesWorkspaceTerminal extends DeesElement {
739
756
 
740
757
  // Wait for DOM update then spawn shell
741
758
  await this.updateComplete;
742
- await this.spawnProcessForTab(tab, 'jsh');
759
+ await this.spawnProcessForTab(tab, shellCommand.command, shellCommand.args || []);
743
760
 
744
761
  // Run setup command if this is the first tab
745
762
  if (this.tabManager.getTabCount() === 1 && this.setupCommand) {
746
- await this.waitForPrompt(tab.terminal, '~/');
763
+ await this.waitForPrompt(tab.terminal, shellCommand.prompt || '~/');
747
764
  if (tab.inputWriter) {
748
765
  tab.inputWriter.write(this.setupCommand);
749
766
  }
@@ -6,7 +6,7 @@ import type { IProcessHandle } from '../../00group-runtime/index.js';
6
6
  * Type of terminal tab based on its source/purpose
7
7
  */
8
8
  export type TTerminalTabType =
9
- | 'shell' // Default interactive shell (jsh)
9
+ | 'shell' // Environment-native interactive shell
10
10
  | 'script' // Script from package.json
11
11
  | 'package-update' // Package update process
12
12
  | 'custom'; // External process from API
@@ -75,7 +75,7 @@ export interface ICreateTerminalTabOptions {
75
75
  /** Whether the tab can be closed (default: true for non-shell) */
76
76
  closeable?: boolean;
77
77
 
78
- /** Command to spawn (default: 'jsh' for shell type) */
78
+ /** Command to spawn (shell type uses the execution environment shell by default) */
79
79
  command?: string;
80
80
 
81
81
  /** Command arguments */