@ecmaos/types 0.7.3 → 0.7.4

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
 
3
- > @ecmaos/types@0.7.3 build /home/archmag0s/code/ecmaos/core/types
3
+ > @ecmaos/types@0.7.4 build /home/archmag0s/code/ecmaos/core/types
4
4
  > tsc
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @ecmaos/types
2
2
 
3
+ ## 0.7.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 9864d20: Major Features:
8
+ Git coreutil: New git command implementation (core/utils/src/commands/git.ts - 843 lines)
9
+ Export command: Environment variable management with HOSTNAME set in shell environment
10
+ WASM/WASI improvements: Enhanced WASI support with preview1 and preview2 implementations
11
+ Web Kernel → Web OS: Renamed across documentation and meta tags
12
+ Improvements:
13
+ BIOS improvements (WIP) and UI HTML sync
14
+ Terminal command refactoring and structure changes
15
+ Documentation updates (392 files changed, mostly doc regeneration)
16
+
3
17
  ## 0.7.3
4
18
 
5
19
  ### Patch Changes
@@ -197,6 +197,19 @@ export interface Terminal extends XTerm {
197
197
  * Get input stream
198
198
  */
199
199
  getInputStream(): ReadableStream<Uint8Array>;
200
+ /**
201
+ * Get a new input stream with a close function to signal EOF.
202
+ * Use this when you need to close the stream gracefully (e.g., for Ctrl+D).
203
+ */
204
+ getInputStreamWithClose(): {
205
+ stream: ReadableStream<Uint8Array>;
206
+ close: () => void;
207
+ };
208
+ /**
209
+ * Dispatch data to all stdin subscribers.
210
+ * Used to send keyboard input to processes reading from stdin.
211
+ */
212
+ dispatchStdin(key: string): void;
200
213
  /**
201
214
  * Write text to terminal
202
215
  * @param data - Text to write
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../terminal.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,IAAI,KAAK,EAAE,MAAM,cAAc,CAAA;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,2BAA2B;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACpC,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,2BAA2B;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,qBAAqB;IACrB,KAAK,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACF;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,MAAM,oBAAoB;IAC1B,OAAO,qBAAqB;IAC5B,OAAO,qBAAqB;IAC5B,KAAK,mBAAmB;IACxB,SAAS,uBAAuB;IAChC,GAAG,iBAAiB;IACpB,MAAM,oBAAoB;IAC1B,OAAO,qBAAqB;IAC5B,KAAK,mBAAmB;IACxB,KAAK,mBAAmB;IACxB,MAAM,oBAAoB;IAC1B,QAAQ,sBAAsB;IAC9B,KAAK,mBAAmB;IACxB,OAAO,qBAAqB;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,aAAa,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,KAAK;IACrC,0BAA0B;IAC1B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC5C,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE;QACb,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,GAAG,EAAE,MAAM,CAAA;YACX,MAAM,EAAE,MAAM,CAAA;YACd,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SACtB,CAAA;KACF,CAAA;IACD,4BAA4B;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAClD,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;IACpB,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAA;IACpB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAA;IAC/B,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAC1C,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAC3C,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAE3C,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAEjC,oBAAoB;IACpB,IAAI,IAAI,IAAI,CAAA;IAEZ;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAEpD;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAA;IAEhC,gCAAgC;IAChC,MAAM,IAAI,IAAI,CAAA;IAEd,+BAA+B;IAC/B,QAAQ,IAAI,IAAI,CAAA;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAE9E;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAE/D;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAE7B;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnC;;OAEG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC;;OAEG;IACH,cAAc,IAAI,cAAc,CAAC,UAAU,CAAC,CAAA;IAE5C;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;IAEtC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;IACxE,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAEnC,sHAAsH;IACtH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,oFAAoF;IACpF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../terminal.ts"],"names":[],"mappings":"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"}
package/dist/wasm.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WebAssembly management types and interfaces
3
3
  */
4
- import type { Kernel } from './kernel.ts';
4
+ import type { Kernel, Shell } from './index.ts';
5
5
  /**
6
6
  * Options for configuring WebAssembly management
7
7
  */
@@ -9,6 +9,26 @@ export interface WasmOptions {
9
9
  /** Reference to kernel instance */
10
10
  kernel: Kernel;
11
11
  }
12
+ /**
13
+ * Stream options for WASI component loading
14
+ */
15
+ export interface WasiStreamOptions {
16
+ /** Standard input stream */
17
+ stdin: ReadableStream<Uint8Array>;
18
+ /** Standard output stream */
19
+ stdout: WritableStream<Uint8Array>;
20
+ /** Standard error stream */
21
+ stderr: WritableStream<Uint8Array>;
22
+ }
23
+ /**
24
+ * Result of loading a WASI component
25
+ */
26
+ export interface WasiComponentResult {
27
+ /** WebAssembly instance */
28
+ instance: WebAssembly.Instance;
29
+ /** Promise that resolves to the exit code */
30
+ exitCode: Promise<number>;
31
+ }
12
32
  /**
13
33
  * Interface for WebAssembly management functionality
14
34
  */
@@ -26,5 +46,21 @@ export interface Wasm {
26
46
  module: WebAssembly.Module;
27
47
  instance: WebAssembly.Instance;
28
48
  }>;
49
+ /**
50
+ * Detect if a WASM module requires WASI bindings
51
+ * @param wasmBytes - The WASM module bytes
52
+ * @returns True if WASI is required, false otherwise
53
+ */
54
+ detectWasiRequirements(wasmBytes: Uint8Array): Promise<boolean>;
55
+ /**
56
+ * Load a WASI component with stream integration
57
+ * @param path - Path to the WASM file
58
+ * @param streams - Stream options for stdin/stdout/stderr
59
+ * @param args - Command line arguments
60
+ * @param shell - Optional shell instance to use for environment variables
61
+ * @param pid - Optional process ID for the WASM execution context
62
+ * @returns The WASM instance and exit code promise
63
+ */
64
+ loadWasiComponent(path: string, streams: WasiStreamOptions, args?: string[], shell?: Shell, pid?: number): Promise<WasiComponentResult>;
29
65
  }
30
66
  //# sourceMappingURL=wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAA;KAAE,CAAC,CAAA;CAChG"}
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACjC,6BAA6B;IAC7B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAClC,4BAA4B;IAC5B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAA;IAC9B,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAA;KAAE,CAAC,CAAA;IAE/F;;;;OAIG;IACH,sBAAsB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/D;;;;;;;;OAQG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;CACxI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecmaos/types",
3
- "version": "0.7.3",
3
+ "version": "0.7.4",
4
4
  "description": "Type definitions for ecmaOS",
5
5
  "author": "Jay Mathis",
6
6
  "license": "MIT+Apache-2.0",
package/terminal.ts CHANGED
@@ -231,6 +231,18 @@ export interface Terminal extends XTerm {
231
231
  */
232
232
  getInputStream(): ReadableStream<Uint8Array>
233
233
 
234
+ /**
235
+ * Get a new input stream with a close function to signal EOF.
236
+ * Use this when you need to close the stream gracefully (e.g., for Ctrl+D).
237
+ */
238
+ getInputStreamWithClose(): { stream: ReadableStream<Uint8Array>, close: () => void }
239
+
240
+ /**
241
+ * Dispatch data to all stdin subscribers.
242
+ * Used to send keyboard input to processes reading from stdin.
243
+ */
244
+ dispatchStdin(key: string): void
245
+
234
246
  /**
235
247
  * Write text to terminal
236
248
  * @param data - Text to write
package/wasm.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * WebAssembly management types and interfaces
3
3
  */
4
4
 
5
- import type { Kernel } from './kernel.ts'
5
+ import type { Kernel, Shell } from './index.ts'
6
6
 
7
7
  /**
8
8
  * Options for configuring WebAssembly management
@@ -12,6 +12,28 @@ export interface WasmOptions {
12
12
  kernel: Kernel
13
13
  }
14
14
 
15
+ /**
16
+ * Stream options for WASI component loading
17
+ */
18
+ export interface WasiStreamOptions {
19
+ /** Standard input stream */
20
+ stdin: ReadableStream<Uint8Array>
21
+ /** Standard output stream */
22
+ stdout: WritableStream<Uint8Array>
23
+ /** Standard error stream */
24
+ stderr: WritableStream<Uint8Array>
25
+ }
26
+
27
+ /**
28
+ * Result of loading a WASI component
29
+ */
30
+ export interface WasiComponentResult {
31
+ /** WebAssembly instance */
32
+ instance: WebAssembly.Instance
33
+ /** Promise that resolves to the exit code */
34
+ exitCode: Promise<number>
35
+ }
36
+
15
37
  /**
16
38
  * Interface for WebAssembly management functionality
17
39
  */
@@ -27,4 +49,22 @@ export interface Wasm {
27
49
  * @param path - Path to the WebAssembly module
28
50
  */
29
51
  loadWasm(path: string): Promise<{ module: WebAssembly.Module; instance: WebAssembly.Instance }>
52
+
53
+ /**
54
+ * Detect if a WASM module requires WASI bindings
55
+ * @param wasmBytes - The WASM module bytes
56
+ * @returns True if WASI is required, false otherwise
57
+ */
58
+ detectWasiRequirements(wasmBytes: Uint8Array): Promise<boolean>
59
+
60
+ /**
61
+ * Load a WASI component with stream integration
62
+ * @param path - Path to the WASM file
63
+ * @param streams - Stream options for stdin/stdout/stderr
64
+ * @param args - Command line arguments
65
+ * @param shell - Optional shell instance to use for environment variables
66
+ * @param pid - Optional process ID for the WASM execution context
67
+ * @returns The WASM instance and exit code promise
68
+ */
69
+ loadWasiComponent(path: string, streams: WasiStreamOptions, args?: string[], shell?: Shell, pid?: number): Promise<WasiComponentResult>
30
70
  }