# @planet-matrix/mobius-model

## 0.17.0

### Minor Changes

- ae9b377: 现在 `html` 会将类型为 ValueReactor 的值自动使用 `reactor` directive 包裹，之前的写法是 `Litor.reactor(count)`，现在直接写 `count` 就好了。之前的 `html` 重命名为 `htmlSimple`。
- 79578ef: Implement ReactorDirective.
- 28a0053: 添加对 Qweather API 的支持。

## 0.16.1

### Patch Changes

- 0c14756: Enable oxfmt.

## 0.16.0

### Minor Changes

- 0f89c64: 在 orchestration model 中新增 pipeline 支持。

## 0.15.0

### Minor Changes

- 715d460: 重命名 `getClosestFilePath` 为 `findClosestFilePath`，新增 `findPath`。
- f5b20f8: 为 Variable 新增自动获取 mode 和自动查找 env 文件的能力。

## 0.14.0

### Minor Changes

- fa306e8: 支持通过命令生成 Api 列表。
- 5d2bfb5: 统一了 Api Server & Api Host 和 Socket Server & Web Socket Server 的调用关系，二者的同构程度更高了！

## 0.13.0

### Minor Changes

- 62e966b: Add randomAlpha and randomNumeric functions with tests for enhanced random string generation.
- bdac9fa: 为 SingletonItem 与 SingletonCollection 添加 Promise 值缓存及异步访问能力。
- 0f06d94: Database drizzle 支持通过 schema 获取数据库的完整 sql，这项能力可以用在对内存数据库进行初始化等场景。
- ca37477: Database model 初步稳定了，example service 中的使用示例也跑通了。
- 14c2eb3: 为 Database drizzle 添加执行 sql 字符串的便捷函数。
- 422abe8: Database drizzle 新增 seed 能力。
- a21d710: Database model 添加分割多行 SQL 的帮助函数。
- 41473e3: 调换了 Api 中的 success 和 error 的顺序，使其对齐 either left right 的顺序。
- ca34c97: 调整 variables api。
- 7cb7517: 为 variable 添加了序列化能力、添加了读取环境变量文件的能力、添加了获取单个环境变量值的方法。
- 2113b39: Implement create client functionality for Pglight and PGlite databases.
- a96b9f4: Environment model 使用命名空间导出，新增 system 相关能力。
- e0b3e25: File system model 添加 read 能力。
- 0b617e2: Add reset functionality to singletonItem and singletonCollection for cache management.
- 9a0b611: 增强 Database drizzle 中 autoTransaction 相关工具函数的类型约束。
- 3f6befc: 服务的运行上下文（serviceRunContext）和业务输入（inputOptions）不是一个概念，之前的版本中错误地将二者混为一谈，现在修好了。

### Patch Changes

- 48407cc: Pglite 的 memory 模式下，正确的 url 配置应该是 `memory://`。
- 64d5707: 更新 oxlint 规则。
- 1ee894a: File system model 忘记重导出 `resolve.ts` 了，进行了修复。
- 3fe80b3: Enhance exportSql function to support platform-specific shell usage.
- 60a99d9: 修复 variable 加载环境变量到宿主的 bug，之前默认前缀是 `[]`，导致没有一个环境变量会被加载，现在改成了 `[""]`，即默认所有环境变量都会被加载。

## 0.12.0

### Minor Changes

- dbbd954: Update oxlint rules to disable ban-types for improved type flexibility.
- 39e0b85: Implement abstract service creation with factory pattern for enhanced service management.
- 9aa3582: Optimize tagged error functionalities of exception model.
- a33e24d: Refactor Logger class to use Set for child loggers and enhance parent-child relationship management.
- 1e3742e: Refactor drizzle model to database model.
- 0ad198f: Add Or and Or2 type utilities for enhanced type composition.
- bbe6a64: Optimize api result adapters.
- cb37ce8: Add drizzle configuration utilities for PostgreSQL and Pglite support.
- bf9ae2c: Add bimap and fold methods to Either class for enhanced functionality.
- 562ef25: Remove kysely related deps.

## 0.11.0

### Minor Changes

- 7440652: Add validation model, move arktype & zod & @standard-schema/spec in.

### Patch Changes

- b91dcaf: Update .npmignore to exclude specific .env files.

## 0.10.1

### Patch Changes

- d7c33d7: Add `dist` to `.npmignore`.

## 0.10.0

### Minor Changes

- 6f99535: Add service model.
- 9520154: Add tagged error capabilities to exception model.

## 0.9.0

### Minor Changes

- f5cd790: Add weixin model.
- fae630f: Add ai model.
- 6e132e6: Add openai model.

## 0.8.0

### Minor Changes

- 3c736c0: Add http model.
- 5036bdb: Add drizzle model.
- fefbfef: 优化 basic steam，新增 basic schedule。
- 5a9fb9d: Add cron model.
- f101d98: Add http model.
- de21d1f: Add email model.
- 84e76bc: Enhance logger functionality with default names for various components.
- 8146954: Implement Scheduler and Task classes with logging functionality and tests.
- faa0f2d: Add huawei model, include moderation and obs functionalities.
- 8421836: Add tube model.

## 0.7.0

### Minor Changes

- cbe190c: Add request model.
- 730cb8b: Add socket model.
- 7511df7: Add result model.
- a97b489: Add form model.
- 44cbf55: Add aio model.
- 8ec2d59: Add route model.
- 73cb3ea: Implement dispatcher and down-count selector for orchestration model.
- 5452bbe: Add json model.
- c1afa6e: Add credential model.

## 0.6.0

### Minor Changes

- 99f05a7: Add timer model.
- 6b112e6: Add CSS module with utility functions for class name manipulation and normalization.
- af639c1: Add color model.
- ca31d28: Add event model.
- 9c48da6: Implement random string generation utility and update UUID generation functions.
- fbd000b: Add generateUuidV4FromUrl function to generate UUIDv4 from object URL.
- f40054c: Add support for permissions API and enhance feature detection for process, navigator, document, and CSS.
- e1611eb: Add Exception module for unified global error handling.
- 8c16a6b: Add support for clipboard API with detection and utility functions.
- 43aea83: Add web model.
- 52fa212: Implement structured logging with emitters and scheduler, add tests.
- 2f98003: Add identity utilities with comprehensive README and unit tests.
- cd6aaa1: Implement abort model.
- cbdc8ed: Implement singleton model.
- b216b4f: Add storage model.
- 1db798e: Add orchestration model.
- bac8ff6: Add environment model.
- fadbb16: Align with root README.md.
- d77d843: Rename id model to identifier model, move uuid from random model to identifier model.

## 0.5.0

### Minor Changes

- 99a71bb: Add objectDateFieldsToNumber utility to convert Date fields to numbers.
- c6c9d73: Implement Base64 encoding utilities and tests.
- 42ac20f: Add random module with UUID utilities and documentation.

## 0.4.0

### Minor Changes

- 137ae7c: Implement type model.
- 0d3a0f2: Implement basic model.

## 0.3.0

### Minor Changes

- b5fb088: Support `withoutTracking` related functionality.
- 53b681a: Optimize reactor operators and tests. Include:

  - Split transformation into map and branch categories.
  - Turn operators' arguments to single options style.
  - Fix some operators.
  - Add some operators and tests.

- 4429bce: Add timer, merge, and buffer operators; enhance tests for new functionality.
- d2e0839: Rename signal to reactor.
- 4601de9: Implement combineLatest and getValues operators, and corresponding tests.
- c36e373: Add transformation operators, and corresponding tests.
- 584595d: Support `subscribe` reactor operator.
- 31ccb80: Enhance Effect and Trigger classes with cleanup functionality and update tests.
- c026ad1: Add type checking functions.
- f8e8b69: Add `assertWithoutActiveNodeAsSub` and `assertWithoutTracking` methods to ReactiveSystem.
- 478e43c: Enhance effect cleanup handling with context-aware setCleanup.
- 50a4b17: Rename `stop` to `dispose`, rename `peek` to `getWithoutTrack`.
- fdb77c9: Implement interval, withHistory, and zip operators; add corresponding tests.
- 69c4923: Add onDispose callback support and corresponding tests.
- 8ed8b53: Update signal and computed constructors to accept getters; modify tests accordingly.
- 8ef178e: Add Derived Reactor.
- 2fa20d7: Support `peek` method.
- 9cdee0d: Implement Trigger Signal and add more tests.
- 9221b8d: Support options parameter for signals constructors and factory functions.
- 90c99b5: Add audit operators and corresponding tests.
- f43629b: Support change equality function of signal and computed.
- 6e3abf5: Support dep change and sup change callbacks.

## 0.2.0

### Minor Changes

- 1a8ecad: Implement EffectScope, add related tests.
- a127dd1: Fix signal reactive system and add effect tests.

  依赖收集时会尝试复用现存的连接，本次更新修复了复用连接时未正确更新指针位置的问题。

  同时注意到：若连接无法复用，会创建新的连接，在创建新连接时，首先会做重复连接检查，该检查的检索顺序可能会影响依赖收集的结果，仅为一时猜测，尚未确认该问题是否真的存在。

- 1f79304: Add more tests for effect, refine codes.

## 0.1.4

### Patch Changes

- 1297345: Update Mobius Mono.

  使用 `.npmignore` 代替 `files` 字段，重新撰写 Mobius Mono 文档等。

## 0.1.3

### Patch Changes

- f9e53b6: Set `ssr.resolve.conditions` to make vitest correctly respect subpath imports.

## 0.1.2

### Patch Changes

- e69bf92: update Mobius Mono Spec.

## 0.1.1

### Patch Changes

- ecc5f4e: Set prepublishOnly script & set files field in package.json.

## 0.1.0

### Minor Changes

- e2444e9: 几乎把 [alien-signal](https://github.com/stackblitz/alien-signals) 按照自己的理解重新实现了一遍，性能可能不如原版，但代码和 API 是我喜欢的风格，计划中仅自用。这是第一个版本，迁移了部分测试，后续会迁移更多测试。
