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

  12 | // LITERAL options object; a runtime options value cannot be walked.
  13 | const agentOpts: http.AgentOptions = { maxSockets: 1 };
     |       ^~~~~~~~~
  14 | 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:14: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

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

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

options-record.ts:20: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

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

  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:23:22 - error SC2020: 'get option 'socketPath'' is part of the standard library types but has no scriptc lowering yet

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

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

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

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

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

options-record.ts:32: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

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

  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:35:41 - error SC2020: 'tls.createServer option 'ciphers'' is part of the standard library types but has no scriptc lowering yet

  34 | // Documented TLS server options with no lowering fence by name.
  35 | tls.createServer({ cert: "c", key: "k", ciphers: "TLS_AES_128_GCM_SHA256" }, () => {});
     |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  36 | 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:36:41 - error SC2020: 'tls.createServer option 'ticketKeys'' is part of the standard library types but has no scriptc lowering yet

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

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

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

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

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

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

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

  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:44 - error SC2020: 'writeFileSync option '__proto__'' is part of the standard library types but has no scriptc lowering yet

  46 | // These must fence instead of dropping an inherited flag or mode without a diagnostic.
  47 | fs.writeFileSync("/tmp/proto-sync", "x", { __proto__: { flag: "a" } });
     |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
  48 | 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:48:57 - error SC2020: 'fs.promises.writeFile option '__proto__'' is part of the standard library types but has no scriptc lowering yet

  47 | fs.writeFileSync("/tmp/proto-sync", "x", { __proto__: { flag: "a" } });
  48 | void fs.promises.writeFile("/tmp/proto-promise", "x", { __proto__: { mode: 0o600 } });
     |                                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
  49 | // 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