@databutton/firebase-types 1.138.0 → 1.140.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.
@@ -92,6 +92,7 @@ export declare enum CollectionName {
92
92
  UI_COMPONENTS = "ui-components",
93
93
  UI_FILES = "ui-files",
94
94
  CONTEXT_FILES = "context-files",
95
+ TOOL_CONFIGS = "tool-configs",
95
96
  TASKS = "tasks",
96
97
  TOKEN_USAGE_ENTRIES = "entries",
97
98
  COMPUTE_HOUR_USAGE = "compute-hour-usage",
@@ -93,6 +93,7 @@ export var CollectionName;
93
93
  CollectionName["UI_COMPONENTS"] = "ui-components";
94
94
  CollectionName["UI_FILES"] = "ui-files";
95
95
  CollectionName["CONTEXT_FILES"] = "context-files";
96
+ CollectionName["TOOL_CONFIGS"] = "tool-configs";
96
97
  CollectionName["TASKS"] = "tasks";
97
98
  CollectionName["TOKEN_USAGE_ENTRIES"] = "entries";
98
99
  CollectionName["COMPUTE_HOUR_USAGE"] = "compute-hour-usage";
@@ -36,6 +36,17 @@ export interface AccountNotificationGroup {
36
36
  createdBy: PerformedBy;
37
37
  lastUpdatedBy: PerformedBy;
38
38
  }
39
+ /**
40
+ * Controls when a subscribed notification group receives notifications for a project.
41
+ * - "all": always notified
42
+ * - "member-triggered": notified only when one of its members is the direct addressee
43
+ * - "off": subscribed but muted
44
+ */
45
+ export type NotificationGroupMode = "all" | "member-triggered" | "off";
46
+ export interface SubscribedNotificationGroup {
47
+ groupId: string;
48
+ mode: NotificationGroupMode;
49
+ }
39
50
  export interface Notification {
40
51
  createdBy: PerformedBy;
41
52
  createdAt: Timestamp;
@@ -1439,8 +1450,8 @@ export interface Project {
1439
1450
  notificationSettings?: {
1440
1451
  /** When true, all maintainers receive notifications even if a specific userId is also targeted. */
1441
1452
  sendToAllMaintainers?: boolean;
1442
- /** IDs of account-level notification groups subscribed to this project's notifications. */
1443
- subscribedGroupIds?: string[];
1453
+ /** Notification groups subscribed to this project, each with an individual delivery mode. */
1454
+ subscribedGroups?: SubscribedNotificationGroup[];
1444
1455
  };
1445
1456
  permittedUsers?: Record<ProjectPermissionName, string[]>;
1446
1457
  name: string;
@@ -2144,6 +2155,12 @@ export interface PublicUsernameRecord {
2144
2155
  }
2145
2156
  export interface CreditTransactionRecord {
2146
2157
  customerId: string;
2158
+ /**
2159
+ * The enterprise account where usage occurred. Null for non-enterprise (personal) customers.
2160
+ * For root enterprise teams equals customerId. For sub-teams differs from customerId,
2161
+ * which holds the billing ancestor. Use this field to query transactions per sub-team.
2162
+ */
2163
+ accountId?: string | null;
2147
2164
  userId?: string | null;
2148
2165
  comment?: string | null;
2149
2166
  internalComment?: string | null;
@@ -2655,4 +2672,26 @@ export type Channel = SlackChannel | EmailChannel | TeamsChannel;
2655
2672
  export declare const isSlackChannel: (channel: Channel) => channel is SlackChannel;
2656
2673
  export declare const isEmailChannel: (channel: Channel) => channel is EmailChannel;
2657
2674
  export declare const isTeamsChannel: (channel: Channel) => channel is TeamsChannel;
2675
+ export type ToolApprovalPolicy = "prompt" | "allow" | "deny" | "custom-or-prompt" | "custom-or-allow" | "custom-or-deny";
2676
+ export type ToolKind = "platform" | "user";
2677
+ export type ToolPrimitive = string | number | boolean;
2678
+ export interface InputAllowlistRule {
2679
+ equals?: ToolPrimitive;
2680
+ anyOf?: ToolPrimitive[];
2681
+ allOf?: ToolPrimitive[];
2682
+ min?: number;
2683
+ max?: number;
2684
+ }
2685
+ export interface ProjectToolEntry {
2686
+ kind: ToolKind;
2687
+ enabled: boolean;
2688
+ approval?: ToolApprovalPolicy;
2689
+ denyReason?: string;
2690
+ inputAllowlists?: Record<string, InputAllowlistRule>;
2691
+ }
2692
+ export interface ProjectToolConfig {
2693
+ version: "2026-05-21";
2694
+ lastUpdatedBy: PerformedBy;
2695
+ tools: Record<string, ProjectToolEntry>;
2696
+ }
2658
2697
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databutton/firebase-types",
3
- "version": "1.138.0",
3
+ "version": "1.140.0",
4
4
  "main": "lib/types/published/index.js",
5
5
  "type": "module",
6
6
  "engines": {