lsh-framework 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +40 -3
  2. package/dist/cli.js +104 -486
  3. package/dist/commands/doctor.js +427 -0
  4. package/dist/commands/init.js +371 -0
  5. package/dist/constants/api.js +94 -0
  6. package/dist/constants/commands.js +64 -0
  7. package/dist/constants/config.js +56 -0
  8. package/dist/constants/database.js +21 -0
  9. package/dist/constants/errors.js +79 -0
  10. package/dist/constants/index.js +28 -0
  11. package/dist/constants/paths.js +28 -0
  12. package/dist/constants/ui.js +73 -0
  13. package/dist/constants/validation.js +124 -0
  14. package/dist/daemon/lshd.js +11 -32
  15. package/dist/lib/daemon-client-helper.js +7 -4
  16. package/dist/lib/daemon-client.js +9 -2
  17. package/dist/lib/format-utils.js +163 -0
  18. package/dist/lib/job-manager.js +2 -1
  19. package/dist/lib/platform-utils.js +211 -0
  20. package/dist/lib/secrets-manager.js +11 -1
  21. package/dist/lib/string-utils.js +128 -0
  22. package/dist/services/daemon/daemon-registrar.js +3 -2
  23. package/dist/services/secrets/secrets.js +54 -30
  24. package/package.json +10 -74
  25. package/dist/app.js +0 -33
  26. package/dist/cicd/analytics.js +0 -261
  27. package/dist/cicd/auth.js +0 -269
  28. package/dist/cicd/cache-manager.js +0 -172
  29. package/dist/cicd/data-retention.js +0 -305
  30. package/dist/cicd/performance-monitor.js +0 -224
  31. package/dist/cicd/webhook-receiver.js +0 -640
  32. package/dist/commands/api.js +0 -346
  33. package/dist/commands/theme.js +0 -261
  34. package/dist/commands/zsh-import.js +0 -240
  35. package/dist/components/App.js +0 -1
  36. package/dist/components/Divider.js +0 -29
  37. package/dist/components/REPL.js +0 -43
  38. package/dist/components/Terminal.js +0 -232
  39. package/dist/components/UserInput.js +0 -30
  40. package/dist/daemon/api-server.js +0 -316
  41. package/dist/daemon/monitoring-api.js +0 -220
  42. package/dist/lib/api-error-handler.js +0 -185
  43. package/dist/lib/associative-arrays.js +0 -285
  44. package/dist/lib/base-api-server.js +0 -290
  45. package/dist/lib/brace-expansion.js +0 -160
  46. package/dist/lib/builtin-commands.js +0 -439
  47. package/dist/lib/executors/builtin-executor.js +0 -52
  48. package/dist/lib/extended-globbing.js +0 -411
  49. package/dist/lib/extended-parameter-expansion.js +0 -227
  50. package/dist/lib/interactive-shell.js +0 -460
  51. package/dist/lib/job-builtins.js +0 -582
  52. package/dist/lib/pathname-expansion.js +0 -216
  53. package/dist/lib/script-runner.js +0 -226
  54. package/dist/lib/shell-executor.js +0 -2504
  55. package/dist/lib/shell-parser.js +0 -958
  56. package/dist/lib/shell-types.js +0 -6
  57. package/dist/lib/shell.lib.js +0 -40
  58. package/dist/lib/theme-manager.js +0 -476
  59. package/dist/lib/variable-expansion.js +0 -385
  60. package/dist/lib/zsh-compatibility.js +0 -659
  61. package/dist/lib/zsh-import-manager.js +0 -707
  62. package/dist/lib/zsh-options.js +0 -328
  63. package/dist/pipeline/job-tracker.js +0 -491
  64. package/dist/pipeline/mcli-bridge.js +0 -309
  65. package/dist/pipeline/pipeline-service.js +0 -1119
  66. package/dist/pipeline/workflow-engine.js +0 -870
  67. package/dist/services/api/api.js +0 -58
  68. package/dist/services/api/auth.js +0 -35
  69. package/dist/services/api/config.js +0 -7
  70. package/dist/services/api/file.js +0 -22
  71. package/dist/services/shell/shell.js +0 -28
  72. package/dist/services/zapier.js +0 -16
  73. package/dist/simple-api-server.js +0 -148
@@ -1,328 +0,0 @@
1
- /**
2
- * ZSH-Style Options System Implementation
3
- * Provides setopt/unsetopt functionality and ZSH-specific options
4
- */
5
- export class ZshOptionsManager {
6
- options;
7
- optionAliases = new Map();
8
- constructor() {
9
- this.options = this.getDefaultOptions();
10
- this.setupOptionAliases();
11
- }
12
- /**
13
- * Set an option with setopt
14
- */
15
- setopt(optionName) {
16
- const normalizedName = this.normalizeOptionName(optionName);
17
- if (!(normalizedName in this.options)) {
18
- return { success: false, message: `setopt: no such option: ${optionName}` };
19
- }
20
- this.options[normalizedName] = true;
21
- return { success: true, message: '' };
22
- }
23
- /**
24
- * Unset an option with unsetopt
25
- */
26
- unsetopt(optionName) {
27
- const normalizedName = this.normalizeOptionName(optionName);
28
- if (!(normalizedName in this.options)) {
29
- return { success: false, message: `unsetopt: no such option: ${optionName}` };
30
- }
31
- this.options[normalizedName] = false;
32
- return { success: true, message: '' };
33
- }
34
- /**
35
- * Get option value
36
- */
37
- getOption(optionName) {
38
- const normalizedName = this.normalizeOptionName(optionName);
39
- return this.options[normalizedName];
40
- }
41
- /**
42
- * Check if option is set
43
- */
44
- isOptionSet(optionName) {
45
- return this.getOption(optionName) === true;
46
- }
47
- /**
48
- * Get all options
49
- */
50
- getAllOptions() {
51
- return { ...this.options };
52
- }
53
- /**
54
- * List all options with their values
55
- */
56
- listOptions() {
57
- const lines = [];
58
- for (const [key, value] of Object.entries(this.options)) {
59
- const status = value ? 'on' : 'off';
60
- lines.push(`${key}: ${status}`);
61
- }
62
- return lines.sort().join('\n');
63
- }
64
- /**
65
- * Parse setopt/unsetopt command arguments
66
- */
67
- parseSetoptCommand(args) {
68
- if (args.length === 0) {
69
- return { success: false, message: 'setopt: missing option name' };
70
- }
71
- for (const arg of args) {
72
- if (arg.startsWith('-')) {
73
- // Handle multiple options like setopt -o option1,option2
74
- const options = arg.substring(2).split(',');
75
- for (const option of options) {
76
- const result = this.setopt(option);
77
- if (!result.success) {
78
- return result;
79
- }
80
- }
81
- }
82
- else {
83
- const result = this.setopt(arg);
84
- if (!result.success) {
85
- return result;
86
- }
87
- }
88
- }
89
- return { success: true, message: '' };
90
- }
91
- /**
92
- * Parse unsetopt command arguments
93
- */
94
- parseUnsetoptCommand(args) {
95
- if (args.length === 0) {
96
- return { success: false, message: 'unsetopt: missing option name' };
97
- }
98
- for (const arg of args) {
99
- if (arg.startsWith('-')) {
100
- // Handle multiple options like unsetopt -o option1,option2
101
- const options = arg.substring(2).split(',');
102
- for (const option of options) {
103
- const result = this.unsetopt(option);
104
- if (!result.success) {
105
- return result;
106
- }
107
- }
108
- }
109
- else {
110
- const result = this.unsetopt(arg);
111
- if (!result.success) {
112
- return result;
113
- }
114
- }
115
- }
116
- return { success: true, message: '' };
117
- }
118
- /**
119
- * Get default options
120
- */
121
- getDefaultOptions() {
122
- return {
123
- // History options (defaults)
124
- SHARE_HISTORY: false,
125
- HIST_IGNORE_DUPS: false,
126
- HIST_IGNORE_SPACE: false,
127
- HIST_EXPIRE_DUPS_FIRST: false,
128
- HIST_SAVE_NO_DUPS: false,
129
- HIST_FIND_NO_DUPS: false,
130
- HIST_REDUCE_BLANKS: false,
131
- HIST_VERIFY: false,
132
- HIST_BEEP: true,
133
- HIST_FCNTL_LOCK: false,
134
- HIST_LEX_WORDS: false,
135
- HIST_NO_FUNCTIONS: false,
136
- HIST_NO_STORE: false,
137
- // Completion options (defaults)
138
- AUTO_LIST: false,
139
- AUTO_MENU: false,
140
- AUTO_PARAM_SLASH: true,
141
- AUTO_REMOVE_SLASH: true,
142
- COMPLETE_IN_WORD: false,
143
- COMPLETE_ALIASES: false,
144
- GLOB_COMPLETE: false,
145
- LIST_AMBIGUOUS: true,
146
- LIST_PACKED: false,
147
- LIST_ROWS_FIRST: false,
148
- LIST_TYPES: false,
149
- MENU_COMPLETE: false,
150
- REC_EXACT: false,
151
- // Globbing options (defaults)
152
- EXTENDED_GLOB: false,
153
- GLOB_DOTS: false,
154
- GLOB_STAR_SHORT: false,
155
- GLOB_SUBST: false,
156
- NOMATCH: true,
157
- NULL_GLOB: false,
158
- // Directory options (defaults)
159
- AUTO_CD: false,
160
- AUTO_PUSHD: false,
161
- CDABLE_VARS: false,
162
- CD_SILENT: false,
163
- PUSHD_IGNORE_DUPS: false,
164
- PUSHD_MINUS: false,
165
- PUSHD_SILENT: false,
166
- PUSHD_TO_HOME: false,
167
- // Input/Output options (defaults)
168
- CORRECT: false,
169
- CORRECT_ALL: false,
170
- DVORAK: false,
171
- FLOW_CONTROL: true,
172
- IGNORE_EOF: false,
173
- INTERACTIVE_COMMENTS: true,
174
- PRINT_EIGHT_BIT: false,
175
- PRINT_EXIT_VALUE: false,
176
- RM_STAR_SILENT: false,
177
- RM_STAR_WAIT: false,
178
- SHORT_LOOPS: false,
179
- SUN_KEYBOARD_HACK: false,
180
- // Job control options (defaults)
181
- AUTO_RESUME: false,
182
- BG_NICE: false,
183
- CHECK_JOBS: true,
184
- HUP: true,
185
- LONG_LIST_JOBS: false,
186
- MONITOR: true,
187
- NOTIFY: true,
188
- // Prompt options (defaults)
189
- PROMPT_BANG: true,
190
- PROMPT_CR: true,
191
- PROMPT_PERCENT: true,
192
- PROMPT_SP: false,
193
- PROMPT_SUBST: false,
194
- TRANSIENT_RPROMPT: false,
195
- // Zle options (defaults)
196
- BEEP: true,
197
- COMBINING_CHARS: false,
198
- EMACS: true,
199
- OVERSTRIKE: false,
200
- SINGLE_LINE_ZLE: false,
201
- VI: false,
202
- ZLE: true,
203
- // Other options (defaults)
204
- ALWAYS_LAST_PROMPT: false,
205
- APPEND_HISTORY: true,
206
- BANG_HIST: true,
207
- CLOBBER: true,
208
- EQUALS: false,
209
- FUNCTION_ARGZERO: false,
210
- GLOBAL_EXPORT: false,
211
- GLOBAL_RCS: true,
212
- GLOBAL_SUBST: false,
213
- HIST_APPEND: true,
214
- HIST_EXPAND: true,
215
- INC_APPEND_HISTORY: false,
216
- KSH_ARRAYS: false,
217
- KSH_AUTOLOAD: false,
218
- KSH_GLOB: false,
219
- KSH_OPTION_PRINT: false,
220
- KSH_TYPESET: false,
221
- KSH_ZERO_SUBSCRIPT: false,
222
- MAGIC_EQUAL_SUBST: false,
223
- MARK_DIRS: false,
224
- MULTIOS: true,
225
- NO_BEEP: false,
226
- NO_CLOBBER: false,
227
- NO_FLOW_CONTROL: false,
228
- NO_GLOBAL_EXPORT: false,
229
- NO_GLOBAL_RCS: false,
230
- NO_GLOBAL_SUBST: false,
231
- NO_HIST_BEEP: false,
232
- NO_LIST_AMBIGUOUS: false,
233
- NO_LIST_BEEP: false,
234
- NO_LOGIN: false,
235
- NO_MATCH: false,
236
- NO_NOMATCH: false,
237
- NO_PROMPT_BANG: false,
238
- NO_PROMPT_CR: false,
239
- NO_RM_STAR_SILENT: false,
240
- NO_RM_STAR_WAIT: false,
241
- NO_SHORT_LOOPS: false,
242
- NO_UNSET: false,
243
- NO_WARN_CREATE_GLOBAL: false,
244
- NUMERIC_GLOB_SORT: false,
245
- PIPE_FAIL: false,
246
- POSIX_ALIASES: false,
247
- POSIX_BUILTINS: false,
248
- POSIX_CD: false,
249
- POSIX_IDENTIFIERS: false,
250
- POSIX_JOBS: false,
251
- POSIX_STRINGS: false,
252
- POSIX_TRAPS: false,
253
- PRIVILEGED: false,
254
- RC_EXPAND_PARAM: false,
255
- RC_QUOTES: false,
256
- SHORT_REPEAT: false,
257
- UNSET: false,
258
- WARN_CREATE_GLOBAL: false,
259
- WARN_NESTED_VAR: false,
260
- XTRACE: false,
261
- };
262
- }
263
- /**
264
- * Setup option aliases
265
- */
266
- setupOptionAliases() {
267
- // Common aliases
268
- this.optionAliases.set('autocd', 'AUTO_CD');
269
- this.optionAliases.set('correct', 'CORRECT');
270
- this.optionAliases.set('extendedglob', 'EXTENDED_GLOB');
271
- this.optionAliases.set('sharehistory', 'SHARE_HISTORY');
272
- this.optionAliases.set('histignoredups', 'HIST_IGNORE_DUPS');
273
- this.optionAliases.set('histignorespace', 'HIST_IGNORE_SPACE');
274
- this.optionAliases.set('automenu', 'AUTO_MENU');
275
- this.optionAliases.set('autolist', 'AUTO_LIST');
276
- this.optionAliases.set('menucomplete', 'MENU_COMPLETE');
277
- this.optionAliases.set('globdots', 'GLOB_DOTS');
278
- this.optionAliases.set('nomatch', 'NOMATCH');
279
- this.optionAliases.set('nullglob', 'NULL_GLOB');
280
- this.optionAliases.set('autopushd', 'AUTO_PUSHD');
281
- this.optionAliases.set('pushdignoredups', 'PUSHD_IGNORE_DUPS');
282
- this.optionAliases.set('pushdminus', 'PUSHD_MINUS');
283
- this.optionAliases.set('pushdsilent', 'PUSHD_SILENT');
284
- this.optionAliases.set('pushdtohome', 'PUSHD_TO_HOME');
285
- this.optionAliases.set('cdsilent', 'CD_SILENT');
286
- this.optionAliases.set('cdablevars', 'CDABLE_VARS');
287
- this.optionAliases.set('correctall', 'CORRECT_ALL');
288
- this.optionAliases.set('ignoreeof', 'IGNORE_EOF');
289
- this.optionAliases.set('interactivecomments', 'INTERACTIVE_COMMENTS');
290
- this.optionAliases.set('printeightbit', 'PRINT_EIGHT_BIT');
291
- this.optionAliases.set('printexitvalue', 'PRINT_EXIT_VALUE');
292
- this.optionAliases.set('rmstarsilent', 'RM_STAR_SILENT');
293
- this.optionAliases.set('rmstarwait', 'RM_STAR_WAIT');
294
- this.optionAliases.set('shortloops', 'SHORT_LOOPS');
295
- this.optionAliases.set('autoresume', 'AUTO_RESUME');
296
- this.optionAliases.set('bgnice', 'BG_NICE');
297
- this.optionAliases.set('checkjobs', 'CHECK_JOBS');
298
- this.optionAliases.set('hup', 'HUP');
299
- this.optionAliases.set('longlistjobs', 'LONG_LIST_JOBS');
300
- this.optionAliases.set('monitor', 'MONITOR');
301
- this.optionAliases.set('notify', 'NOTIFY');
302
- this.optionAliases.set('promptbang', 'PROMPT_BANG');
303
- this.optionAliases.set('promptcr', 'PROMPT_CR');
304
- this.optionAliases.set('promptpercent', 'PROMPT_PERCENT');
305
- this.optionAliases.set('promptsp', 'PROMPT_SP');
306
- this.optionAliases.set('promptsubst', 'PROMPT_SUBST');
307
- this.optionAliases.set('transientrprompt', 'TRANSIENT_RPROMPT');
308
- this.optionAliases.set('beep', 'BEEP');
309
- this.optionAliases.set('combiningchars', 'COMBINING_CHARS');
310
- this.optionAliases.set('emacs', 'EMACS');
311
- this.optionAliases.set('overstrike', 'OVERSTRIKE');
312
- this.optionAliases.set('singlelinezle', 'SINGLE_LINE_ZLE');
313
- this.optionAliases.set('vi', 'VI');
314
- this.optionAliases.set('zle', 'ZLE');
315
- }
316
- /**
317
- * Normalize option name (handle aliases and case)
318
- */
319
- normalizeOptionName(optionName) {
320
- const upperName = optionName.toUpperCase();
321
- // Check if it's an alias
322
- if (this.optionAliases.has(optionName.toLowerCase())) {
323
- return this.optionAliases.get(optionName.toLowerCase());
324
- }
325
- return upperName;
326
- }
327
- }
328
- export default ZshOptionsManager;