options-record.ts:14:7 - error SC2020: 'AgentOptions' is part of the standard library types but has no scriptc lowering yet

  13 | // LITERAL options object; a runtime options value cannot be walked.
  14 | const agentOpts: http.AgentOptions = { maxSockets: 1 };
     |       ^~~~~~~~~
  15 | const agent = new http.Agent(agentOpts);

  hint: the type checker sees the full standard library, but only the supported surface compiles (https://scriptc.dev/limitations)

options-record.ts:15:30 - error SC2020: 'new http.Agent with a non-literal options value' is part of the standard library types but has no scriptc lowering yet

  14 | const agentOpts: http.AgentOptions = { maxSockets: 1 };
  15 | const agent = new http.Agent(agentOpts);
     |                              ^~~~~~~~~
  16 | http.get({ port: 80, agent }, () => {});

  hint: spell the options as an object literal at the construction site

options-record.ts:21:22 - error SC2020: 'get with agent: false and a non-literal headers record' is part of the standard library types but has no scriptc lowering yet

  20 | const dynHeaders: Record<string, string> = { "x-a": "1" };
  21 | http.get({ port: 80, agent: false, headers: dynHeaders }, () => {});
     |                      ^~~~~~~~~~~~
  22 | 

  hint: agent: false lowers by injecting Connection: close into a LITERAL headers object — add connection: "close" to the record instead, or write the headers inline

options-record.ts:24:22 - error SC2020: 'get option 'socketPath'' is part of the standard library types but has no scriptc lowering yet

  23 | // Documented client options with no lowering fence by name.
  24 | http.get({ port: 80, socketPath: "/tmp/sock.s" }, () => {});
     |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
  25 | http.get({ port: 80, localAddress: "127.0.0.1" }, () => {});

  hint: hostname/host, port, path, method, timeout, headers, and agent are the supported options

options-record.ts:25:22 - error SC2020: 'get option 'localAddress'' is part of the standard library types but has no scriptc lowering yet

  24 | http.get({ port: 80, socketPath: "/tmp/sock.s" }, () => {});
  25 | http.get({ port: 80, localAddress: "127.0.0.1" }, () => {});
     |                      ^~~~~~~~~~~~~~~~~~~~~~~~~
  26 | 

  hint: hostname/host, port, path, method, timeout, headers, and agent are the supported options

options-record.ts:33:22 - error SC2020: 'the undocumented get option 'zorp' with an effectful value' is part of the standard library types but has no scriptc lowering yet

  32 | }
  33 | http.get({ port: 80, zorp: effect() }, () => {});
     |                      ^~~~~~~~~~~~~~
  34 | 

  hint: Node ignores undocumented option keys and so does this compiler, but Node still evaluates the value — hoist it (const v = ...) or drop the entry

options-record.ts:36:41 - error SC2020: 'tls.createServer option 'ciphers'' is part of the standard library types but has no scriptc lowering yet

  35 | // Documented TLS server options with no lowering fence by name.
  36 | tls.createServer({ cert: "c", key: "k", ciphers: "TLS_AES_128_GCM_SHA256" }, () => {});
     |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  37 | tls.createServer({ cert: "c", key: "k", ticketKeys: new Uint8Array(48) }, () => {});

  hint: cert and key (PEM strings or Buffers) are the supported options

options-record.ts:37:41 - error SC2020: 'tls.createServer option 'ticketKeys'' is part of the standard library types but has no scriptc lowering yet

  36 | tls.createServer({ cert: "c", key: "k", ciphers: "TLS_AES_128_GCM_SHA256" }, () => {});
  37 | tls.createServer({ cert: "c", key: "k", ticketKeys: new Uint8Array(48) }, () => {});
     |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38 | 

  hint: cert and key (PEM strings or Buffers) are the supported options

options-record.ts:41:20 - error SC2020: 'fs.watch with the recursive option' is part of the standard library types but has no scriptc lowering yet

  40 | // stated defaults are accepted (corpus 1751).
  41 | fs.watch("/tmp", { recursive: true }, () => {});
     |                    ^~~~~~~~~~~~~~~
  42 | fs.watch("/tmp", { persistent: false }, () => {});

  hint: recursive watching has no lowering yet — kqueue watches the one opened path; watch each path

options-record.ts:42:20 - error SC2020: 'fs.watch with persistent disabled' is part of the standard library types but has no scriptc lowering yet

  41 | fs.watch("/tmp", { recursive: true }, () => {});
  42 | fs.watch("/tmp", { persistent: false }, () => {});
     |                    ^~~~~~~~~~~~~~~~~
  43 | 

  hint: an open watcher keeps the loop alive until close() — that IS the lowering; persistent: false (a watcher the process does not wait for) has no lowering

options-record.ts:47:74 - error SC2020: 'createInterface option 'historySize'' is part of the standard library types but has no scriptc lowering yet

  46 | // needs an interactive terminal.
  47 | readline.createInterface({ input: process.stdin, output: process.stdout, historySize: 10 });
     |                                                                          ^~~~~~~~~~~~~~~
  48 | readline.createInterface({ input: process.stdin, output: process.stdout, completer: (l: string) => [[l], l] });

  hint: input, output, terminal: false, crlfDelay, prompt and signal are the supported options

options-record.ts:48:74 - error SC2020: 'createInterface with a completer' is part of the standard library types but has no scriptc lowering yet

  47 | readline.createInterface({ input: process.stdin, output: process.stdout, historySize: 10 });
  48 | readline.createInterface({ input: process.stdin, output: process.stdout, completer: (l: string) => [[l], l] });
     |                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  49 | 

  hint: tab completion needs an interactive terminal — the lowered interface reads piped lines (terminal: false)

options-record.ts:53:44 - error SC2020: 'writeFileSync option '__proto__'' is part of the standard library types but has no scriptc lowering yet

  52 | // These must fence instead of dropping an inherited flag or mode without a diagnostic.
  53 | fs.writeFileSync("/tmp/proto-sync", "x", { __proto__: { flag: "a" } });
     |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
  54 | void fs.promises.writeFile("/tmp/proto-promise", "x", { __proto__: { mode: 0o600 } });

  hint: a bare __proto__: value entry changes the options object's prototype, so inherited options cannot be lowered

options-record.ts:54:57 - error SC2020: 'fs.promises.writeFile option '__proto__'' is part of the standard library types but has no scriptc lowering yet

  53 | fs.writeFileSync("/tmp/proto-sync", "x", { __proto__: { flag: "a" } });
  54 | void fs.promises.writeFile("/tmp/proto-promise", "x", { __proto__: { mode: 0o600 } });
     |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
  55 | // Both calls must terminate in the explicit prototype-options fence.

  hint: a bare __proto__: value entry changes the options object's prototype, so inherited options cannot be lowered