# Third-party notices

## Runtime dependencies

The published module imports only `moonbitlang/core`, supplied by the MoonBit
toolchain under Apache-2.0. It has no Mooncakes registry dependency. JSONC
comments and trailing commas are normalized by original MoonBit code before
the document is passed to the core JSON parser.

## CLI host interfaces

`cmd/main/streams_wasm.mbt` declares the moonrun host ABI for stream output,
read-only file input and process exit. The stdout/stderr adapter is original.
The string/byte conversion and read-only file subset is adapted from
`moonbitlang/x@0.5.4` files `fs/fs_wasm.mbt` and
`sys/internal/ffi/sys_wasm.mbt`, both Apache-2.0:
https://github.com/moonbitlang/x
https://mooncakes.io/docs/moonbitlang/x/fs

The port excludes directory enumeration, writes, mutation and path discovery.
The moonrun runtime implementation is not copied. Host interface reference:
https://github.com/moonbitlang/moon/blob/main/crates/moonrun/src/v8/host_imports.rs
These unstable imports require the tested moonrun; generic WASI compatibility
is not claimed for the CLI.

The JavaScript host calls Node.js `node:fs.readFileSync` and `writeFileSync`;
the wrapper catches host errors and does not scan for files. The native host's
`streams.c` is original C stdio glue, not analysis code or a third-party port;
native/LLVM file input is explicitly unsupported from 0.3.0 onward.
Node.js is also used to orchestrate subprocess tests and record benchmark
outputs; all shortcut analysis, gate decisions and timed work run in MoonBit.

## Policy references

The reservation catalog contains short descriptions of common Windows, macOS,
Linux/POSIX and keyboard accessibility conventions. These are policy notes, not
copied source code or product assets. Each `ReservedRule` carries a human-readable
`source` field so downstream projects can replace or review the catalog before
using it in a release gate.

## Fixtures and generated files

The sample keymaps in `examples.mbt`, `examples/review` and tests are original
fixtures. The editor/plugin story is hypothetical, not an actual customer case.
Scale benchmarks use generated symbolic key labels, not a physical keyboard
layout or user data. The clocks measure actual elapsed time; scores from the
older deterministic dispatcher fixtures are not presented as timings.

## VS Code profile and development example

The boolean expression evaluator and ordered contract checker are original
MoonBit implementations based on documented interface behavior, not ports of
VS Code's TypeScript resolver. Official behavioral/schema references:
https://code.visualstudio.com/docs/configure/keybindings
https://code.visualstudio.com/api/references/when-clause-contexts
https://code.visualstudio.com/api/references/contribution-points#contributes.keybindings

`examples/vscode-review` contains an original private development extension,
hand-authored scoped defaults, explicit expected-command contracts and an
intentionally faulty manifest. They are not copied product exports, competitor
submissions, actual user data, a published extension, or evidence of adoption.
The native `vscode` runtime module is supplied by VS Code when the extension
is launched manually; no editor code/assets are redistributed.
Only declared boolean states and supported keys are modeled. Runtime layout,
full when syntax, command execution, timing and unprovided extension ordering
remain outside this profile; see docs/HOST_PROFILE.md.
`pkg.generated.mbti` is generated by `moon info` from this repository's public
API and is not hand-authored source.
