lsh-framework 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) 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/fuzzy-match.js +123 -0
  19. package/dist/lib/job-manager.js +2 -1
  20. package/dist/lib/platform-utils.js +211 -0
  21. package/dist/lib/secrets-manager.js +11 -1
  22. package/dist/lib/string-utils.js +128 -0
  23. package/dist/services/daemon/daemon-registrar.js +3 -2
  24. package/dist/services/secrets/secrets.js +119 -59
  25. package/package.json +10 -74
  26. package/dist/app.js +0 -33
  27. package/dist/cicd/analytics.js +0 -261
  28. package/dist/cicd/auth.js +0 -269
  29. package/dist/cicd/cache-manager.js +0 -172
  30. package/dist/cicd/data-retention.js +0 -305
  31. package/dist/cicd/performance-monitor.js +0 -224
  32. package/dist/cicd/webhook-receiver.js +0 -640
  33. package/dist/commands/api.js +0 -346
  34. package/dist/commands/theme.js +0 -261
  35. package/dist/commands/zsh-import.js +0 -240
  36. package/dist/components/App.js +0 -1
  37. package/dist/components/Divider.js +0 -29
  38. package/dist/components/REPL.js +0 -43
  39. package/dist/components/Terminal.js +0 -232
  40. package/dist/components/UserInput.js +0 -30
  41. package/dist/daemon/api-server.js +0 -316
  42. package/dist/daemon/monitoring-api.js +0 -220
  43. package/dist/lib/api-error-handler.js +0 -185
  44. package/dist/lib/associative-arrays.js +0 -285
  45. package/dist/lib/base-api-server.js +0 -290
  46. package/dist/lib/brace-expansion.js +0 -160
  47. package/dist/lib/builtin-commands.js +0 -439
  48. package/dist/lib/executors/builtin-executor.js +0 -52
  49. package/dist/lib/extended-globbing.js +0 -411
  50. package/dist/lib/extended-parameter-expansion.js +0 -227
  51. package/dist/lib/interactive-shell.js +0 -460
  52. package/dist/lib/job-builtins.js +0 -582
  53. package/dist/lib/pathname-expansion.js +0 -216
  54. package/dist/lib/script-runner.js +0 -226
  55. package/dist/lib/shell-executor.js +0 -2504
  56. package/dist/lib/shell-parser.js +0 -958
  57. package/dist/lib/shell-types.js +0 -6
  58. package/dist/lib/shell.lib.js +0 -40
  59. package/dist/lib/theme-manager.js +0 -476
  60. package/dist/lib/variable-expansion.js +0 -385
  61. package/dist/lib/zsh-compatibility.js +0 -659
  62. package/dist/lib/zsh-import-manager.js +0 -707
  63. package/dist/lib/zsh-options.js +0 -328
  64. package/dist/pipeline/job-tracker.js +0 -491
  65. package/dist/pipeline/mcli-bridge.js +0 -309
  66. package/dist/pipeline/pipeline-service.js +0 -1119
  67. package/dist/pipeline/workflow-engine.js +0 -870
  68. package/dist/services/api/api.js +0 -58
  69. package/dist/services/api/auth.js +0 -35
  70. package/dist/services/api/config.js +0 -7
  71. package/dist/services/api/file.js +0 -22
  72. package/dist/services/shell/shell.js +0 -28
  73. package/dist/services/zapier.js +0 -16
  74. 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;