* **All methods throw by default** (strict mode): - Put operations: `fastPut`, `fastPutStream` throw when file exists and overwrite is false - Get operations: `getBucketByName`, `getFile`, `getSubDirectoryByName` throw when not found
* **Use exists() methods to check before getting**: `bucketExists`, `fileExists`, `directoryExists`, `fastExists`
* **No *Strict methods**: All removed (fastPutStrict, getBucketByNameStrict, getFileStrict, getSubDirectoryByNameStrict)
* **@git.zone/tsbuild 4.4.x**: tsconfig explicitly declares `"types": ["node"]` so Node globals/modules are available when tsbuild passes files programmatically to TypeScript.
* **Test assertions**: Use `@git.zone/tstest/tapbundle` for `tap` and `expect`. Note that smartexpect's `toEqual` does NOT support `expect.any()` matchers (only `toMatchObject` does, and only at the top level). For testing nested objects with type matchers, use `toHaveProperty` + `toBeTypeofNumber/String/Boolean` separately.