@databutton/firebase-types 1.95.11 → 1.96.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.
@@ -46,7 +46,7 @@ export declare enum CollectionName {
46
46
  NOTEBOOKS = "notebooks",
47
47
  INTEGRATIONS = "integrations",
48
48
  INTEGRATION_TEMPLATES = "integration-templates",
49
- INSTALLED_INTEGRATIONS = "installed-integrations",
49
+ INTEGRATION_CONNECTIONS = "installed-integrations",
50
50
  PAGES = "pages",
51
51
  PATCH_ATTEMPTS = "patch-attempts",
52
52
  PROFILES = "profiles",
@@ -47,7 +47,7 @@ export var CollectionName;
47
47
  CollectionName["NOTEBOOKS"] = "notebooks";
48
48
  CollectionName["INTEGRATIONS"] = "integrations";
49
49
  CollectionName["INTEGRATION_TEMPLATES"] = "integration-templates";
50
- CollectionName["INSTALLED_INTEGRATIONS"] = "installed-integrations";
50
+ CollectionName["INTEGRATION_CONNECTIONS"] = "installed-integrations";
51
51
  CollectionName["PAGES"] = "pages";
52
52
  CollectionName["PATCH_ATTEMPTS"] = "patch-attempts";
53
53
  CollectionName["PROFILES"] = "profiles";
@@ -1,7 +1,7 @@
1
1
  import type { Timestamp } from "firebase/firestore";
2
2
  import type { JsonObject, Primitive } from "type-fest";
3
3
  import type { ProjectMigration } from "../internal/enums.js";
4
- import type { AccountRole, ConfigTypes, IntegrationType, TaskPriority, TaskRelation, ThirdPartyAuthName, ThirdPartyDatabaseName, ThirdPartyPaymentsName, ThirdPartyServiceCategory, ThirdPartyStorageName, UiComponentTag } from "./enums.js";
4
+ import type { AccountRole, ConfigTypes, TaskPriority, TaskRelation, ThirdPartyAuthName, ThirdPartyDatabaseName, ThirdPartyPaymentsName, ThirdPartyServiceCategory, ThirdPartyStorageName, UiComponentTag } from "./enums.js";
5
5
  /**
6
6
  * Types here should reflect data format stored in firestore and
7
7
  * either be backwards-compatible or migrated when needed
@@ -57,6 +57,10 @@ export interface Account {
57
57
  * Used to determine deployed app URLs
58
58
  */
59
59
  publicUsername: PublicUsername | null;
60
+ /**
61
+ * Default project template ID for new projects (leave blank for using product default)
62
+ */
63
+ defaultProjectTemplateId?: string;
60
64
  }
61
65
  interface AccountConfigBase {
62
66
  enabledBy: PerformedBy;
@@ -158,6 +162,7 @@ export interface AccountList {
158
162
  export interface AccountMember {
159
163
  createdBy: PerformedBy;
160
164
  lastUpdatedBy: PerformedBy;
165
+ displayName: string;
161
166
  email: string;
162
167
  roles: Array<AccountRole>;
163
168
  }
@@ -952,40 +957,6 @@ export interface ProjectMigrationRecord {
952
957
  name: ProjectMigration;
953
958
  migratedAt: Timestamp;
954
959
  }
955
- /**
956
- * Collection of integrations that you can add to your project. @deprecated Use InstalledIntegration and IntegrationTemplate instead.
957
- */
958
- export interface Integration {
959
- displayName: string;
960
- version: string;
961
- state: "active" | "early-access" | "inactive";
962
- /**
963
- * The type of integration
964
- */
965
- type: IntegrationType;
966
- /**
967
- * The name of the Python packages needed to use the integration
968
- */
969
- pythonPackageNames: string[];
970
- /**
971
- * Short description of the integration
972
- * Ment for the user to understand what the integration does
973
- */
974
- description: string;
975
- /**
976
- * URL to the documentation for the integration
977
- */
978
- documentationUrl: string | null;
979
- createdBy: PerformedBy;
980
- lastUpdatedBy: PerformedBy;
981
- credentials: string[];
982
- /**
983
- * Example code snippet to test if the integration is working
984
- */
985
- healthCheck: {
986
- codeSnippet: string;
987
- } | null;
988
- }
989
960
  export type ProjectVariant = "beyond-streamlit" | "riff";
990
961
  export interface IntegrationPackages {
991
962
  npmPackages: {
@@ -1080,62 +1051,6 @@ export interface IntegrationTemplate {
1080
1051
  lastUpdatedBy: PerformedBy;
1081
1052
  }
1082
1053
  export type IntegrationStatus = "connecting" | "connected" | "needs_reconnect";
1083
- /**
1084
- * Integrations installed to user apps. If supported taken from AvailableIntegrations, otherwise custom.
1085
- * Once installed they evolve by themselves.
1086
- */
1087
- export interface InstalledIntegration {
1088
- status?: IntegrationStatus;
1089
- displayName: string;
1090
- templateSemVerVersion: string;
1091
- templateId: string;
1092
- enabled: boolean;
1093
- logoUrl?: string;
1094
- apiVersion?: IntegrationApiVersion;
1095
- metadata?: Record<string, string>;
1096
- credentials: {
1097
- key: string;
1098
- ref: string;
1099
- }[];
1100
- /**
1101
- * Learnings are notes collected by the agent as it learns about the integration and the way a given company uses it.
1102
- * This should evolve over time and allow the agent to provide mroe acurate results tailored to the specific dataset.
1103
- * e.g. For example in intercom user_id is called external_ref
1104
- */
1105
- learnings: string[];
1106
- managedBy: "riff" | "riff-custom" | "community";
1107
- /**
1108
- * Short description of the integration
1109
- * Ment for the user to understand what the integration does
1110
- */
1111
- description: string;
1112
- provider: {
1113
- name: string;
1114
- };
1115
- /** Installed optional scopes for the integration. e.g. "read:contacts", "write:contacts". Allows for managing these via the admin panel and comparing installed vs available scopes. Broken down into sections for easier management and allowing users to select scope sections they need. */
1116
- optionalScopes?: IntegrationScope[];
1117
- authStrategy: "riff-oauth" | "oauth" | "api-key" | "custom";
1118
- /**
1119
- * human/agent-readable notes (scopes, pagination, rate limits, usage examples). Living document. used by agent, and for debug
1120
- */
1121
- guide: string | null;
1122
- /**
1123
- * Set of URLs for the agent to learn about how to use the integration.
1124
- * Quickstart is a human-friendly guide from the integration docs
1125
- * OpenAPI is the API spec to learn from
1126
- * Docs is a generic catch all for the documentation presented by the provider. e.g. docs.stripe.com
1127
- */
1128
- documentationUrls: {
1129
- type: "quickstart" | "openapi" | "docs";
1130
- url: string;
1131
- }[];
1132
- /**
1133
- * The name of the Python packages needed to use the integration
1134
- */
1135
- packages: IntegrationPackages;
1136
- installedBy: PerformedBy;
1137
- lastUpdatedBy: PerformedBy;
1138
- }
1139
1054
  /**
1140
1055
  * Summary information for an integration template
1141
1056
  * Stored at: /integration-templates/{label}
@@ -1191,14 +1106,14 @@ export interface IntegrationTemplateVersion {
1191
1106
  * This document is lightweight and references the template for most data.
1192
1107
  * Only instance-specific data is stored here.
1193
1108
  */
1194
- export interface InstalledIntegrationV2 {
1109
+ export interface Integration {
1195
1110
  installedBy: PerformedBy;
1196
1111
  lastUpdatedBy: PerformedBy;
1197
1112
  templateId: string;
1198
1113
  templateVersion: string;
1199
1114
  displayName: string;
1200
1115
  enabled: boolean;
1201
- status?: "connecting" | "connected" | "needs_reconnect";
1116
+ status?: IntegrationStatus;
1202
1117
  metadata?: Record<string, string>;
1203
1118
  credentials: {
1204
1119
  key: string;
@@ -1229,13 +1144,13 @@ export interface AccountIntegrationUsage {
1229
1144
  lastUsedAt?: Timestamp;
1230
1145
  }
1231
1146
  /**
1232
- * Integration mount point that links to either account or project integration
1147
+ * Integration connection links to either account or project integration
1233
1148
  * Stored at: /projects/{project_id}/installed-integrations/{integration_label}
1234
1149
  *
1235
1150
  * This is the mount point that determines how the integration is accessed
1236
1151
  * and where it's actually stored (account vs project level)
1237
1152
  */
1238
- export interface InstalledIntegrationMount {
1153
+ export interface IntegrationConnection {
1239
1154
  parent: string;
1240
1155
  templateId: string;
1241
1156
  templateVersion: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databutton/firebase-types",
3
- "version": "1.95.11",
3
+ "version": "1.96.0",
4
4
  "main": "lib/types/published/index.js",
5
5
  "type": "module",
6
6
  "engines": {