@bearei/contracts 2.2.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,26 @@ All notable changes to this project are documented in this file. The format is b
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## 3.1.0 — 2026-10-30
8
+
9
+ ### Added
10
+
11
+ - `EMAIL_TEMPLATE` and `EmailTemplate`: the template identifiers accepted by `bearei-email` and used
12
+ by clients to pick an email template. Values are `SIGN_UP_CAPTCHA` and `RESET_PASSWORD_CAPTCHA`.
13
+ The enum is additive; no existing export changed.
14
+
15
+ ## 3.0.0 — 2026-10-29
16
+
17
+ ### Breaking
18
+
19
+ - Renamed the domain-container permission keys: `PERMISSION_PROJECT_CREATE`, `PERMISSION_PROJECT_DELETE`,
20
+ `PERMISSION_PROJECT_READ` and `PERMISSION_PROJECT_UPDATE` are now `PERMISSION_DOMAIN_CREATE`,
21
+ `PERMISSION_DOMAIN_DELETE`, `PERMISSION_DOMAIN_READ` and `PERMISSION_DOMAIN_UPDATE`. Their wire values
22
+ change from `permission-project:*` to `permission-domain:*`, matching the `domainId` naming used
23
+ everywhere else. The service routes move from `/projects` to `/domains` in the same release; clients that
24
+ persisted or compared the old strings must migrate to the new keys. There are no deprecated aliases:
25
+ the old constants and values are removed.
26
+
7
27
  ## 2.2.1 — 2026-10-28
8
28
 
9
29
  ### Fixed
package/README.md CHANGED
@@ -13,6 +13,7 @@ English | [中文](./README.zh-CN.md)
13
13
  | `PaginationQuery`, `PaginatedResult<T>` | type | Paging request fields and page envelope |
14
14
  | `RESERVED_REQUEST_HEADER`, `ReservedRequestHeaderName` | value | Headers set by the gateway or authentication layer |
15
15
  | `LANGUAGE`, `Language` | value | Locale values |
16
+ | `EMAIL_TEMPLATE`, `EmailTemplate` | value | Email template values used by services and clients |
16
17
  | `ORDER`, `Order` | value | Sort order values |
17
18
  | `PERMISSION`, `Permission` | value | Permission values used by services and clients |
18
19
  | `SUBSCRIPTION_FEATURE`, `SubscriptionFeature` | value | Subscription feature values scoped like permissions |
@@ -86,7 +87,7 @@ yarn run pack # pack once and inspect the tarball
86
87
  ## Release
87
88
 
88
89
  Releases are tag-driven. Bump `version` in `package.json`, update `CHANGELOG.md`, then push a
89
- matching tag (`2.2.1` and `v2.2.1` are both accepted). The tag must equal the package version;
90
+ matching tag (`3.0.0` and `v3.0.0` are both accepted). The tag must equal the package version;
90
91
  stable tags must be on `main`, and prerelease tags must be on `main` or `develop`.
91
92
 
92
93
  `.github/workflows/release.yml` then:
package/README.zh-CN.md CHANGED
@@ -13,6 +13,7 @@ ESM 与 CommonJS 两种产物。
13
13
  | `PaginationQuery`、`PaginatedResult<T>` | 类型 | 分页请求字段与分页响应信封 |
14
14
  | `RESERVED_REQUEST_HEADER`、`ReservedRequestHeaderName` | 值 | 由网关或认证层写入的保留请求头 |
15
15
  | `LANGUAGE`、`Language` | 值 | 语言值 |
16
+ | `EMAIL_TEMPLATE`、`EmailTemplate` | 值 | 服务与客户端共用的邮件模板值 |
16
17
  | `ORDER`、`Order` | 值 | 排序值 |
17
18
  | `PERMISSION`、`Permission` | 值 | 服务与客户端共用的权限值 |
18
19
  | `SUBSCRIPTION_FEATURE`、`SubscriptionFeature` | 值 | 订阅特性值,与权限使用相同的区域写法 |
@@ -84,7 +85,7 @@ yarn run pack # 打包一次并检查 tarball
84
85
  ## 发布
85
86
 
86
87
  发布由版本 tag 驱动。先修改 `package.json` 的 `version` 并更新 `CHANGELOG.md`,再推送同版本 tag
87
- (`2.2.1` 与 `v2.2.1` 均可)。tag 必须等于包版本;稳定版 tag 必须位于 `main`,预发布 tag 必须位于
88
+ (`3.0.0` 与 `v3.0.0` 均可)。tag 必须等于包版本;稳定版 tag 必须位于 `main`,预发布 tag 必须位于
88
89
  `main` 或 `develop`。
89
90
 
90
91
  `.github/workflows/release.yml` 随后会:
package/dist/index.d.mts CHANGED
@@ -1,3 +1,9 @@
1
+ declare const EMAIL_TEMPLATE: {
2
+ readonly RESET_PASSWORD_CAPTCHA: "RESET_PASSWORD_CAPTCHA";
3
+ readonly SIGN_UP_CAPTCHA: "SIGN_UP_CAPTCHA";
4
+ };
5
+ type EmailTemplate = (typeof EMAIL_TEMPLATE)[keyof typeof EMAIL_TEMPLATE];
6
+
1
7
  /**
2
8
  * Numeric error codes shared by Bearei services and clients.
3
9
  * Values are part of the wire contract: append new codes, never renumber or reuse.
@@ -114,10 +120,10 @@ declare const PERMISSION: {
114
120
  readonly EMAIL_UPDATE: "email:update";
115
121
  readonly PERMISSION_CREATE: "permission:create";
116
122
  readonly PERMISSION_DELETE: "permission:delete";
117
- readonly PERMISSION_PROJECT_CREATE: "permission-project:create";
118
- readonly PERMISSION_PROJECT_DELETE: "permission-project:delete";
119
- readonly PERMISSION_PROJECT_READ: "permission-project:read";
120
- readonly PERMISSION_PROJECT_UPDATE: "permission-project:update";
123
+ readonly PERMISSION_DOMAIN_CREATE: "permission-domain:create";
124
+ readonly PERMISSION_DOMAIN_DELETE: "permission-domain:delete";
125
+ readonly PERMISSION_DOMAIN_READ: "permission-domain:read";
126
+ readonly PERMISSION_DOMAIN_UPDATE: "permission-domain:update";
121
127
  readonly PERMISSION_READ: "permission:read";
122
128
  readonly PERMISSION_RESOURCE_CREATE: "permission-resource:create";
123
129
  readonly PERMISSION_RESOURCE_DELETE: "permission-resource:delete";
@@ -166,5 +172,5 @@ declare const SUBSCRIPTION_FEATURE: {
166
172
  };
167
173
  type SubscriptionFeature = (typeof SUBSCRIPTION_FEATURE)[keyof typeof SUBSCRIPTION_FEATURE];
168
174
 
169
- export { DEFAULT_PAGE_SIZE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
170
- export type { ApiErrorBody, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
175
+ export { DEFAULT_PAGE_SIZE, EMAIL_TEMPLATE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
176
+ export type { ApiErrorBody, EmailTemplate, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,9 @@
1
+ declare const EMAIL_TEMPLATE: {
2
+ readonly RESET_PASSWORD_CAPTCHA: "RESET_PASSWORD_CAPTCHA";
3
+ readonly SIGN_UP_CAPTCHA: "SIGN_UP_CAPTCHA";
4
+ };
5
+ type EmailTemplate = (typeof EMAIL_TEMPLATE)[keyof typeof EMAIL_TEMPLATE];
6
+
1
7
  /**
2
8
  * Numeric error codes shared by Bearei services and clients.
3
9
  * Values are part of the wire contract: append new codes, never renumber or reuse.
@@ -114,10 +120,10 @@ declare const PERMISSION: {
114
120
  readonly EMAIL_UPDATE: "email:update";
115
121
  readonly PERMISSION_CREATE: "permission:create";
116
122
  readonly PERMISSION_DELETE: "permission:delete";
117
- readonly PERMISSION_PROJECT_CREATE: "permission-project:create";
118
- readonly PERMISSION_PROJECT_DELETE: "permission-project:delete";
119
- readonly PERMISSION_PROJECT_READ: "permission-project:read";
120
- readonly PERMISSION_PROJECT_UPDATE: "permission-project:update";
123
+ readonly PERMISSION_DOMAIN_CREATE: "permission-domain:create";
124
+ readonly PERMISSION_DOMAIN_DELETE: "permission-domain:delete";
125
+ readonly PERMISSION_DOMAIN_READ: "permission-domain:read";
126
+ readonly PERMISSION_DOMAIN_UPDATE: "permission-domain:update";
121
127
  readonly PERMISSION_READ: "permission:read";
122
128
  readonly PERMISSION_RESOURCE_CREATE: "permission-resource:create";
123
129
  readonly PERMISSION_RESOURCE_DELETE: "permission-resource:delete";
@@ -166,5 +172,5 @@ declare const SUBSCRIPTION_FEATURE: {
166
172
  };
167
173
  type SubscriptionFeature = (typeof SUBSCRIPTION_FEATURE)[keyof typeof SUBSCRIPTION_FEATURE];
168
174
 
169
- export { DEFAULT_PAGE_SIZE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
170
- export type { ApiErrorBody, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
175
+ export { DEFAULT_PAGE_SIZE, EMAIL_TEMPLATE, HTTP_EXCEPTION_CODE, LANGUAGE, MAX_PAGE_SIZE, ORDER, PERMISSION, RESERVED_REQUEST_HEADER, SUBSCRIPTION_FEATURE };
176
+ export type { ApiErrorBody, EmailTemplate, HttpExceptionCode, Language, Order, PaginatedResult, PaginationQuery, Permission, ReservedRequestHeaderName, SubscriptionFeature };
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
23
  DEFAULT_PAGE_SIZE: () => DEFAULT_PAGE_SIZE,
24
+ EMAIL_TEMPLATE: () => EMAIL_TEMPLATE,
24
25
  HTTP_EXCEPTION_CODE: () => HTTP_EXCEPTION_CODE,
25
26
  LANGUAGE: () => LANGUAGE,
26
27
  MAX_PAGE_SIZE: () => MAX_PAGE_SIZE,
@@ -31,6 +32,12 @@ __export(index_exports, {
31
32
  });
32
33
  module.exports = __toCommonJS(index_exports);
33
34
 
35
+ // src/email-template.enum.ts
36
+ var EMAIL_TEMPLATE = {
37
+ RESET_PASSWORD_CAPTCHA: "RESET_PASSWORD_CAPTCHA",
38
+ SIGN_UP_CAPTCHA: "SIGN_UP_CAPTCHA"
39
+ };
40
+
34
41
  // src/error-code.enum.ts
35
42
  var HTTP_EXCEPTION_CODE = {
36
43
  ACCESS_DENIED_FOR_GUEST: 401003,
@@ -122,10 +129,10 @@ var PERMISSION = {
122
129
  EMAIL_UPDATE: "email:update",
123
130
  PERMISSION_CREATE: "permission:create",
124
131
  PERMISSION_DELETE: "permission:delete",
125
- PERMISSION_PROJECT_CREATE: "permission-project:create",
126
- PERMISSION_PROJECT_DELETE: "permission-project:delete",
127
- PERMISSION_PROJECT_READ: "permission-project:read",
128
- PERMISSION_PROJECT_UPDATE: "permission-project:update",
132
+ PERMISSION_DOMAIN_CREATE: "permission-domain:create",
133
+ PERMISSION_DOMAIN_DELETE: "permission-domain:delete",
134
+ PERMISSION_DOMAIN_READ: "permission-domain:read",
135
+ PERMISSION_DOMAIN_UPDATE: "permission-domain:update",
129
136
  PERMISSION_READ: "permission:read",
130
137
  PERMISSION_RESOURCE_CREATE: "permission-resource:create",
131
138
  PERMISSION_RESOURCE_DELETE: "permission-resource:delete",
@@ -175,6 +182,7 @@ var SUBSCRIPTION_FEATURE = {
175
182
  // Annotate the CommonJS export names for ESM import in node:
176
183
  0 && (module.exports = {
177
184
  DEFAULT_PAGE_SIZE,
185
+ EMAIL_TEMPLATE,
178
186
  HTTP_EXCEPTION_CODE,
179
187
  LANGUAGE,
180
188
  MAX_PAGE_SIZE,
package/dist/index.mjs CHANGED
@@ -1,3 +1,9 @@
1
+ // src/email-template.enum.ts
2
+ var EMAIL_TEMPLATE = {
3
+ RESET_PASSWORD_CAPTCHA: "RESET_PASSWORD_CAPTCHA",
4
+ SIGN_UP_CAPTCHA: "SIGN_UP_CAPTCHA"
5
+ };
6
+
1
7
  // src/error-code.enum.ts
2
8
  var HTTP_EXCEPTION_CODE = {
3
9
  ACCESS_DENIED_FOR_GUEST: 401003,
@@ -89,10 +95,10 @@ var PERMISSION = {
89
95
  EMAIL_UPDATE: "email:update",
90
96
  PERMISSION_CREATE: "permission:create",
91
97
  PERMISSION_DELETE: "permission:delete",
92
- PERMISSION_PROJECT_CREATE: "permission-project:create",
93
- PERMISSION_PROJECT_DELETE: "permission-project:delete",
94
- PERMISSION_PROJECT_READ: "permission-project:read",
95
- PERMISSION_PROJECT_UPDATE: "permission-project:update",
98
+ PERMISSION_DOMAIN_CREATE: "permission-domain:create",
99
+ PERMISSION_DOMAIN_DELETE: "permission-domain:delete",
100
+ PERMISSION_DOMAIN_READ: "permission-domain:read",
101
+ PERMISSION_DOMAIN_UPDATE: "permission-domain:update",
96
102
  PERMISSION_READ: "permission:read",
97
103
  PERMISSION_RESOURCE_CREATE: "permission-resource:create",
98
104
  PERMISSION_RESOURCE_DELETE: "permission-resource:delete",
@@ -141,6 +147,7 @@ var SUBSCRIPTION_FEATURE = {
141
147
  };
142
148
  export {
143
149
  DEFAULT_PAGE_SIZE,
150
+ EMAIL_TEMPLATE,
144
151
  HTTP_EXCEPTION_CODE,
145
152
  LANGUAGE,
146
153
  MAX_PAGE_SIZE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bearei/contracts",
3
- "version": "2.2.1",
3
+ "version": "3.1.0",
4
4
  "description": "Framework-agnostic wire contracts shared by Bearei services, clients and apps",
5
5
  "keywords": [
6
6
  "bearei",