@rebasepro/types 0.9.1-canary.b10dcdf → 0.9.1-canary.c0d4c07

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.
@@ -175,6 +175,19 @@ export interface BaseProperty<CustomProps = unknown> {
175
175
  * Rules for validating this property
176
176
  */
177
177
  validation?: PropertyValidationSchema;
178
+ /**
179
+ * Never include this column in an API response.
180
+ *
181
+ * For secrets the server must store and read but no client should ever
182
+ * receive — password hashes, verification tokens. The value is still
183
+ * written and queryable server-side; it is stripped from every row the API
184
+ * serves, for every caller, including admins and service keys.
185
+ *
186
+ * This is a server-side guarantee, unlike `ui.hideFromCollection`, which
187
+ * only stops the admin panel from *rendering* a field and leaves it in the
188
+ * JSON payload.
189
+ */
190
+ excludeFromApi?: boolean;
178
191
  /**
179
192
  * Use this to define dynamic properties that change based on certain conditions
180
193
  * or on the entity's values. For example, you can make a field read-only if
@@ -14,6 +14,13 @@ export interface WebSocketMessage {
14
14
  rows?: Record<string, unknown>[];
15
15
  row?: Record<string, unknown> | null;
16
16
  error?: string;
17
+ /**
18
+ * Channel name, on broadcast and presence frames.
19
+ *
20
+ * These are addressed by channel rather than by `requestId` or
21
+ * `subscriptionId`, so this is the only field that routes them.
22
+ */
23
+ channel?: string;
17
24
  }
18
25
  /**
19
26
  * The key columns a collection's rows are addressed by.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rebasepro/types",
3
3
  "type": "module",
4
- "version": "0.9.1-canary.b10dcdf",
4
+ "version": "0.9.1-canary.c0d4c07",
5
5
  "description": "Rebase type definitions — shared interfaces and controller types",
6
6
  "funding": {
7
7
  "url": "https://github.com/sponsors/rebaseco"
@@ -231,6 +231,20 @@ export interface BaseProperty<CustomProps = unknown> {
231
231
  */
232
232
  validation?: PropertyValidationSchema;
233
233
 
234
+ /**
235
+ * Never include this column in an API response.
236
+ *
237
+ * For secrets the server must store and read but no client should ever
238
+ * receive — password hashes, verification tokens. The value is still
239
+ * written and queryable server-side; it is stripped from every row the API
240
+ * serves, for every caller, including admins and service keys.
241
+ *
242
+ * This is a server-side guarantee, unlike `ui.hideFromCollection`, which
243
+ * only stops the admin panel from *rendering* a field and leaves it in the
244
+ * JSON payload.
245
+ */
246
+ excludeFromApi?: boolean;
247
+
234
248
  // NOTE: `defaultValue` is intentionally NOT on BaseProperty.
235
249
  // Each concrete property type (StringProperty, NumberProperty, etc.)
236
250
  // defines its own typed `defaultValue` for compile-time safety.
@@ -12,6 +12,13 @@ export interface WebSocketMessage {
12
12
  rows?: Record<string, unknown>[];
13
13
  row?: Record<string, unknown> | null;
14
14
  error?: string;
15
+ /**
16
+ * Channel name, on broadcast and presence frames.
17
+ *
18
+ * These are addressed by channel rather than by `requestId` or
19
+ * `subscriptionId`, so this is the only field that routes them.
20
+ */
21
+ channel?: string;
15
22
  }
16
23
 
17
24
  /**