@dereekb/firebase 13.11.18 → 13.12.1

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.
Files changed (36) hide show
  1. package/eslint/index.cjs.js +14510 -2052
  2. package/eslint/index.esm.js +14485 -2053
  3. package/eslint/package.json +3 -2
  4. package/eslint/rollup.alias-internal.config.d.ts +1 -0
  5. package/eslint/src/lib/firebase-rules-text.d.ts +121 -0
  6. package/eslint/src/lib/firestore-rules-parser.d.ts +61 -0
  7. package/eslint/src/lib/index.d.ts +10 -1
  8. package/eslint/src/lib/plugin.d.ts +14 -0
  9. package/eslint/src/lib/predicate-evaluator.d.ts +47 -0
  10. package/eslint/src/lib/require-api-details-for-crud-function.rule.d.ts +76 -0
  11. package/eslint/src/lib/require-dbx-model-companion-tags.rule.d.ts +47 -0
  12. package/eslint/src/lib/require-dbx-model-service-factory-tag.rule.d.ts +56 -0
  13. package/eslint/src/lib/require-firestore-rule-for-service-model.rule.d.ts +115 -0
  14. package/eslint/src/lib/require-input-type-for-api-details.rule.d.ts +72 -0
  15. package/eslint/src/lib/require-service-factory-for-dbx-model.rule.d.ts +80 -0
  16. package/eslint/src/lib/require-storagefile-policy-matches-rules.rule.d.ts +79 -0
  17. package/eslint/src/lib/storage-rules-parser.d.ts +38 -0
  18. package/eslint/src/lib/util.d.ts +140 -0
  19. package/index.cjs.js +53 -5
  20. package/index.esm.js +46 -6
  21. package/package.json +5 -5
  22. package/src/lib/common/auth/auth.d.ts +8 -0
  23. package/src/lib/common/auth/oidc/oidc.d.ts +7 -5
  24. package/src/lib/common/model/function.d.ts +12 -1
  25. package/src/lib/model/notification/notification.d.ts +6 -0
  26. package/src/lib/model/oidcmodel/oidcmodel.d.ts +1 -0
  27. package/src/lib/model/storagefile/storagefile.api.d.ts +113 -2
  28. package/src/lib/model/storagefile/storagefile.d.ts +2 -0
  29. package/src/lib/model/storagefile/storagefile.upload.d.ts +33 -1
  30. package/src/lib/model/system/system.d.ts +1 -0
  31. package/test/index.cjs.js +2 -4
  32. package/test/index.esm.js +2 -4
  33. package/test/package.json +6 -6
  34. package/eslint/src/lib/comments.d.ts +0 -112
  35. package/eslint/src/lib/dbx-tag-families.d.ts +0 -280
  36. package/eslint/src/lib/jsdoc-parser.d.ts +0 -116
package/index.esm.js CHANGED
@@ -11477,6 +11477,9 @@ function mapHttpsCallable(callable, wrap) {
11477
11477
  /**
11478
11478
  * Pre-configured OnCallTypedModelParamsFunctions for 'query'
11479
11479
  */ var onCallQueryModelParams = onCallTypedModelParamsFunction('query');
11480
+ /**
11481
+ * Pre-configured OnCallTypedModelParamsFunctions for 'invoke'
11482
+ */ var onCallInvokeModelParams = onCallTypedModelParamsFunction('invoke');
11480
11483
  /**
11481
11484
  * Key used on the front-end and backend that refers to the call function.
11482
11485
  */ var CALL_MODEL_APP_FUNCTION_KEY = 'callModel';
@@ -11891,8 +11894,9 @@ var READ_MODEL_OIDC_SCOPE = "".concat(CALL_MODEL_OIDC_SCOPE_PREFIX, "read");
11891
11894
  var UPDATE_MODEL_OIDC_SCOPE = "".concat(CALL_MODEL_OIDC_SCOPE_PREFIX, "update");
11892
11895
  var DELETE_MODEL_OIDC_SCOPE = "".concat(CALL_MODEL_OIDC_SCOPE_PREFIX, "delete");
11893
11896
  var QUERY_MODEL_OIDC_SCOPE = "".concat(CALL_MODEL_OIDC_SCOPE_PREFIX, "query");
11897
+ var INVOKE_MODEL_OIDC_SCOPE = "".concat(CALL_MODEL_OIDC_SCOPE_PREFIX, "invoke");
11894
11898
  /**
11895
- * Canonical CRUD scopes enforced on the `callModel` API.
11899
+ * Canonical CRUD + invoke scopes enforced on the `callModel` API.
11896
11900
  *
11897
11901
  * Each scope corresponds 1:1 to a {@link KnownOnCallFunctionType}; see
11898
11902
  * {@link CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE}.
@@ -11901,16 +11905,18 @@ var QUERY_MODEL_OIDC_SCOPE = "".concat(CALL_MODEL_OIDC_SCOPE_PREFIX, "query");
11901
11905
  READ_MODEL_OIDC_SCOPE,
11902
11906
  UPDATE_MODEL_OIDC_SCOPE,
11903
11907
  DELETE_MODEL_OIDC_SCOPE,
11904
- QUERY_MODEL_OIDC_SCOPE
11908
+ QUERY_MODEL_OIDC_SCOPE,
11909
+ INVOKE_MODEL_OIDC_SCOPE
11905
11910
  ];
11906
11911
  /**
11907
- * Maps each known CRUD call type to the scope an OIDC token must carry to invoke it.
11912
+ * Maps each known call type to the scope an OIDC token must carry to invoke it.
11908
11913
  */ var CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE = {
11909
11914
  create: 'model.create',
11910
11915
  read: 'model.read',
11911
11916
  update: 'model.update',
11912
11917
  delete: 'model.delete',
11913
- query: 'model.query'
11918
+ query: 'model.query',
11919
+ invoke: 'model.invoke'
11914
11920
  };
11915
11921
  /**
11916
11922
  * Resolves the OIDC scope that an OIDC-authenticated caller must hold to invoke
@@ -11955,6 +11961,11 @@ var QUERY_MODEL_OIDC_SCOPE = "".concat(CALL_MODEL_OIDC_SCOPE_PREFIX, "query");
11955
11961
  label: 'Query models',
11956
11962
  value: 'model.query',
11957
11963
  description: 'Query model records via the callModel API'
11964
+ },
11965
+ {
11966
+ label: 'Invoke model operations',
11967
+ value: 'model.invoke',
11968
+ description: 'Invoke RPC-style operations on model records via the callModel API'
11958
11969
  }
11959
11970
  ];
11960
11971
  // MARK: Standard OIDC Scopes
@@ -12034,6 +12045,7 @@ var FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY = 'setupPassword';
12034
12045
  var FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY = 'setupCommunicationAt';
12035
12046
  var FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY = 'resetPassword';
12036
12047
  var FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY = 'resetCommunicationAt';
12048
+ var FIREBASE_SERVER_AUTH_CLAIMS_RESET_EXPIRES_AT_KEY = 'resetExpiresAt';
12037
12049
 
12038
12050
  /**
12039
12051
  * Extracts the {@link FirebaseAuthContextInfo} from a {@link FirebaseAuthContext}.
@@ -18818,6 +18830,34 @@ var downloadMultipleStorageFilesParamsType = /* @__PURE__ */ type({
18818
18830
  'asAdmin?': clearable('boolean'),
18819
18831
  'throwOnFirstError?': clearable('boolean')
18820
18832
  });
18833
+ // MARK: Create Signed Upload URL
18834
+ /**
18835
+ * Lower bound for caller-supplied `expiresInMs` on signed-upload-url generation.
18836
+ *
18837
+ * Anything shorter than 30 seconds is unrealistic for a caller to pick up a
18838
+ * URL, perform the PUT, and acknowledge before the URL expires.
18839
+ */ var CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MIN_EXPIRES_IN_MS = 30 * 1000;
18840
+ /**
18841
+ * Upper bound for caller-supplied `expiresInMs` on signed-upload-url generation.
18842
+ *
18843
+ * 10 minutes is the longest acceptable window for a one-shot upload URL. Any
18844
+ * legitimate caller should be uploading within this window; longer windows
18845
+ * increase the blast radius if the URL leaks.
18846
+ */ var CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_EXPIRES_IN_MS = 10 * 60 * 1000;
18847
+ /**
18848
+ * Default `expiresInMs` applied when the caller does not supply one.
18849
+ */ var DEFAULT_CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_EXPIRES_IN_MS = 5 * 60 * 1000;
18850
+ /**
18851
+ * Maximum length of a caller-supplied filename. Enforced both at the ArkType
18852
+ * layer and again by the handler's sanitizer.
18853
+ */ var CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_FILENAME_LENGTH = 200;
18854
+ var createStorageFileSignedUploadUrlParamsType = /* @__PURE__ */ type({
18855
+ purpose: 'string > 0',
18856
+ contentType: 'string > 0',
18857
+ 'filename?': clearable("string > 0 & string <= ".concat(CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_FILENAME_LENGTH)),
18858
+ fileSizeBytes: 'number > 0',
18859
+ 'expiresInMs?': clearable("number >= ".concat(CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MIN_EXPIRES_IN_MS, " & number <= ").concat(CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_EXPIRES_IN_MS))
18860
+ });
18821
18861
  var createStorageFileGroupParamsType = /* @__PURE__ */ type({
18822
18862
  'model?': clearable(firestoreModelKeyType),
18823
18863
  'storageFileId?': clearable(firestoreModelIdType)
@@ -18844,7 +18884,7 @@ var initializeAllApplicableStorageFileGroupsParamsType = /* @__PURE__ */ type({}
18844
18884
  var STORAGE_FILE_FUNCTION_TYPE_CONFIG_MAP = {};
18845
18885
  var STORAGE_FILE_MODEL_CRUD_FUNCTIONS_CONFIG = {
18846
18886
  storageFile: [
18847
- 'create:_,fromUpload,allFromUpload',
18887
+ 'create:_,fromUpload,allFromUpload,signedUploadUrl',
18848
18888
  'update:_,process,syncWithGroups',
18849
18889
  'delete:_',
18850
18890
  'read:download,downloadMultiple'
@@ -21227,4 +21267,4 @@ function _is_native_reflect_construct() {
21227
21267
  });
21228
21268
  }
21229
21269
 
21230
- export { ALL_OIDC_TOKEN_ENDPOINT_AUTH_METHODS, ALL_OIDC_TOKEN_ENDPOINT_AUTH_METHOD_OPTIONS, ALL_STORAGE_FILE_NOTIFICATION_TASK_TYPES, ALL_USER_UPLOADS_FOLDER_NAME, ALL_USER_UPLOADS_FOLDER_PATH, ALREADY_EXISTS_ERROR_CODE, AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, AppNotificationTemplateTypeInfoRecordService, BAD_DOCUMENT_QUERY_CURSOR_ERROR_CODE, BAD_REQUEST_ERROR_CODE, BASE_MODEL_STORAGE_FILE_PATH, CALL_MODEL_APP_FUNCTION_KEY, CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE, CALL_MODEL_OIDC_SCOPES, CALL_MODEL_OIDC_SCOPE_DETAILS, CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE, CALL_MODEL_OIDC_SCOPE_PREFIX, CONFLICT_ERROR_CODE, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_MODEL_OIDC_SCOPE, CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE, ContextGrantedModelRolesReaderInstance, DBX_FIREBASE_SERVER_NO_AUTH_ERROR_CODE, DBX_FIREBASE_SERVER_NO_UID_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_INVALID_CODE_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_NO_CONFIG_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_SEND_ONCE_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_THROTTLE_ERROR_CODE, DEFAULT_DATE_CELL_RANGE_VALUE, DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE, DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE, DEFAULT_FIRESTORE_STRING_FIELD_VALUE, DEFAULT_FIRESTORE_UNITED_STATES_ADDRESS_VALUE, DEFAULT_FIRESTORE_WEBSITE_FILE_LINK_VALUE, DEFAULT_IN_MEMORY_CACHE_TTL, DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE, DEFAULT_MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER, DEFAULT_NOTIFICATION_TASK_NOTIFICATION_MODEL_KEY, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY, DEFAULT_NOTIFICATION_TEMPLATE_TYPE, DEFAULT_ON_CALL_QUERY_MODEL_LIMIT, DEFAULT_PAGED_ITEM_INDEX_DOCUMENT_ID, DEFAULT_PAGED_ITEM_MAX_ITEMS_PER_PAGE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, DEFAULT_WEBSITE_LINK, DELETE_MODEL_OIDC_SCOPE, DOWNLOAD_MULTIPLE_STORAGE_FILES_MAX_FILES, DOWNLOAD_MULTIPLE_STORAGE_FILES_MIN_FILES, EMAIL_OIDC_SCOPE, EMAIL_OIDC_SCOPE_DETAILS, EMPTY_STORAGE_FILE_PURPOSE_SUBGROUP, EXACT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, FIREBASE_AUTH_CREDENTIAL_ALREADY_IN_USE_ERROR, FIREBASE_AUTH_EMAIL_ALREADY_EXISTS_ERROR, FIREBASE_AUTH_EMAIL_ALREADY_IN_USE_ERROR, FIREBASE_AUTH_INVALID_PHONE_NUMBER_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_FAILED, FIREBASE_AUTH_PASSWORD_MAX_LENGTH, FIREBASE_AUTH_PASSWORD_MIN_LENGTH, FIREBASE_AUTH_PHONE_NUMBER_ALREADY_EXISTS_ERROR, FIREBASE_AUTH_PROVIDER_ALREADY_LINKED_ERROR, FIREBASE_AUTH_QUOTA_EXCEEDED_ERROR, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, FIREBASE_AUTH_WRONG_PASSWORD, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FIRESTORE_COLLECTION_NAME_SEPARATOR, FIRESTORE_DUMMY_MODEL_KEY, FIRESTORE_EMPTY_VALUE, FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE, FIRESTORE_ITEM_PAGE_ITERATOR, FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE, FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE, FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE, FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT, FIRESTORE_MODEL_ID_REGEX, FIRESTORE_MODEL_KEY_REGEX, FIRESTORE_MODEL_KEY_REGEX_STRICT, FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, FIRESTORE_PASSTHROUGH_FIELD, FIRESTORE_PERMISSION_DENIED_ERROR_CODE, FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, FORBIDDEN_ERROR_CODE, FirebaseDevelopmentFunctions, FirebaseModelPermissionServiceInstance, FirebaseServerError, FirestoreAccessorStreamMode, FirestoreDocumentContextType, HIGH_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, INTERNAL_SERVER_ERROR_CODE, LOW_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MAX_ON_CALL_QUERY_MODEL_LIMIT, MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER, MODEL_NOT_AVAILABLE_ERROR_CODE, MODEL_STORAGE_FILE_SLASH_PATH_FACTORY, ModifyBeforeSetFirestoreDocumentDataAccessorWrapper, NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_BOX_EXCLUSION_TARGET_INVALID_ERROR_CODE, NOTIFICATION_BOX_EXISTS_FOR_MODEL_ERROR_CODE, NOTIFICATION_BOX_MODEL_CRUD_FUNCTIONS_CONFIG, NOTIFICATION_BOX_RECIPIENT_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_FUNCTION_TYPE_CONFIG_MAP, NOTIFICATION_LOGGED_EVENT_DAY_ITEM_CONVERTER, NOTIFICATION_MESSAGE_MAX_LENGTH, NOTIFICATION_MESSAGE_MIN_LENGTH, NOTIFICATION_MODEL_ALREADY_INITIALIZED_ERROR_CODE, NOTIFICATION_RECIPIENT_NAME_MAX_LENGTH, NOTIFICATION_RECIPIENT_NAME_MIN_LENGTH, NOTIFICATION_SUBJECT_MAX_LENGTH, NOTIFICATION_SUBJECT_MIN_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_MESSAGE_MAX_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_SUBJECT_MAX_LENGTH, NOTIFICATION_SUMMARY_ITEM_LIMIT, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_CLEANUP, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_PROCESSING, NOTIFICATION_USER_BLOCKED_FROM_BEING_ADD_TO_RECIPIENTS_ERROR_CODE, NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE, NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE, NOTIFICATION_WEEK_NOTIFICATION_ITEM_LIMIT, NOT_FOUND_ERROR_CODE, NotificationBoxDocument, NotificationBoxRecipientFlag, NotificationBoxRecipientTemplateConfigBoolean, NotificationDocument, NotificationFirestoreCollections, NotificationFunctions, NotificationLoggedEventDayDocument, NotificationLoggedEventDayPageDocument, NotificationMessageFlag, NotificationRecipientSendFlag, NotificationSendState, NotificationSendType, NotificationSummaryDocument, NotificationUserDocument, NotificationWeekDocument, OFFLINE_ACCESS_OIDC_SCOPE, OFFLINE_ACCESS_OIDC_SCOPE_DETAILS, OIDC_ENTRY_CLIENT_TYPE, OIDC_FUNCTION_TYPE_CONFIG_MAP, OIDC_MODEL_CRUD_FUNCTIONS_CONFIG, OPENID_OIDC_SCOPE, OPENID_OIDC_SCOPE_DETAILS, OidcEntryDocument, OidcModelFirestoreCollections, OidcModelFunctions, PERMISSION_DENIED_ERROR_CODE, PRIVATE_KEY_JWT_TOKEN_ENDPOINT_AUTH_METHOD, PROFILE_OIDC_SCOPE, PROFILE_OIDC_SCOPE_DETAILS, QUERY_MODEL_OIDC_SCOPE, READ_MODEL_OIDC_SCOPE, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, STANDARD_OIDC_SCOPES, STANDARD_OIDC_SCOPE_DETAILS, STORAGEFILE_RELATED_FILE_METADATA_KEY, STORAGE_FILE_ALREADY_PROCESSED_ERROR_CODE, STORAGE_FILE_CANNOT_BE_DELETED_YET_ERROR_CODE, STORAGE_FILE_FUNCTION_TYPE_CONFIG_MAP, STORAGE_FILE_GROUP_CREATE_INPUT_ERROR_CODE, STORAGE_FILE_GROUP_QUEUED_FOR_INITIALIZATION_ERROR_CODE, STORAGE_FILE_GROUP_ROOT_FOLDER_PATH, STORAGE_FILE_GROUP_ZIP_FILE_PATH, STORAGE_FILE_GROUP_ZIP_INFO_JSON_FILE_NAME, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE_CREATE_ZIP_SUBTASK, STORAGE_FILE_MODEL_ALREADY_INITIALIZED_ERROR_CODE, STORAGE_FILE_MODEL_CRUD_FUNCTIONS_CONFIG, STORAGE_FILE_NOT_FLAGGED_FOR_DELETION_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_GROUPS_SYNC_ERROR_CODE, STORAGE_FILE_PROCESSING_NOTIFICATION_TASK_TYPE, STORAGE_FILE_PROCESSING_NOT_ALLOWED_FOR_INVALID_STATE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_AVAILABLE_FOR_TYPE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_QUEUED_FOR_PROCESSING_ERROR_CODE, STORAGE_FILE_PROCESSING_STUCK_THROTTLE_CHECK_MS, STORAGE_FILE_UPLOAD_USER_ROLE, STORAGE_FILE_UPLOAD_USER_SIMPLE_CLAIMS_CONFIGURATION, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFunctionTypeEnum, StorageFileCreationType, StorageFileDocument, StorageFileFirestoreCollections, StorageFileFunctions, StorageFileGroupDocument, StorageFileProcessingState, StorageFileState, StorageFileUploadStreamUnsupportedError, SystemStateDocument, SystemStateFirestoreCollections, UNAUTHENTICATED_ERROR_CODE, UNAVAILABLE_ERROR_CODE, UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE, UNKNOWN_MODEL_TYPE_ERROR_CODE, UPDATE_MODEL_OIDC_SCOPE, UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE, UPLOADED_FILE_NOT_ALLOWED_TO_BE_INITIALIZED_ERROR_CODE, UPLOADS_FOLDER_PATH, _createNotificationDocumentFromPair, abstractSubscribeOrUnsubscribeToNotificationBoxParamsType, abstractSubscribeToNotificationBoxParamsType, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, allowDocumentSnapshotWithPathOnceFilter, allowedNotificationRecipients, appNotificationTemplateTypeInfoRecordService, applyExclusionsToNotificationUserNotificationBoxRecipientConfigs, arrayUpdateWithAccessorFunction, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, calculateNsForNotificationUserNotificationBoxRecipientConfigs, calculateStorageFileGroupEmbeddedFileUpdate, calculateStorageFileGroupRegeneration, callModelFirebaseFunctionMapFactory, callModelOidcScopeForCallType, canQueueStorageFileForProcessing, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, cleanupOldNotificationLoggedEventDaysParamsType, cleanupSentNotificationsParamsType, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, combineUploadFileTypeDeterminers, completeSubtaskProcessingAndScheduleCleanupTaskResult, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyStoragePath, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, createNotificationBoxParamsType, createNotificationDocument, createNotificationDocumentIfSending, createNotificationDocumentPair, createNotificationLoggedEventTemplate, createNotificationSummaryParamsType, createNotificationTaskTemplate, createNotificationTemplate, createNotificationUserParamsType, createOidcClientFieldParamsType, createOidcClientParamsType, createStorageFileDocumentPair, createStorageFileDocumentPairFactory, createStorageFileGroupParamsType, createStorageFileParamsType, dataFromDocumentSnapshots, dataFromSnapshotStream, defaultPagedItemPageDataConverter, delayCompletion, deleteAllQueuedStorageFilesParamsType, targetModelParamsType as deleteOidcClientParamsType, targetModelParamsType as deleteOidcTokenParamsType, deleteStorageFileParamsType, determineByFileName, determineByFilePath, determineByFolderName, determineUserByFolder, determineUserByFolderWrapperFunction, determineUserByUserUploadsFolderWrapperFunction, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, downloadMultipleStorageFilesFileParamsType, downloadMultipleStorageFilesParamsType, downloadStorageFileParamsType, effectiveNotificationBoxRecipientConfig, effectiveNotificationBoxRecipientTemplateConfig, endAt, endAtValue, endBefore, extendFirestoreCollectionWithPagedItemAccessor, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputConstraints, filterRepeatCheckpointSnapshots, filterWithDateRange, firebaseAuthErrorToReadableError, firebaseFirestoreClientDrivers, firebaseFirestoreQueryConstraintFunctionsDriver, firebaseFirestoreQueryDriver, firebaseFunctionMapFactory, firebaseModelLoader, firebaseModelPermissionService, firebaseModelService, firebaseModelServiceFactory, firebaseModelsService, firebaseQueryItemAccumulator, firebaseQuerySnapshotAccumulator, firebaseStorageBucketFolderPath, firebaseStorageClientAccessorDriver, firebaseStorageClientAccessorFile, firebaseStorageClientAccessorFolder, firebaseStorageClientDrivers, firebaseStorageClientListFilesResultFactory, firebaseStorageContextFactory, firebaseStorageFileExists, firebaseStorageFilePathFromStorageFilePath, firebaseStorageRefForStorageFilePath, firestoreArray, firestoreArrayMap, firestoreBitwiseObjectMap, firestoreBitwiseSet, firestoreBitwiseSetMap, firestoreBoolean, firestoreClientAccessorDriver, firestoreClientArrayUpdateToUpdateData, firestoreClientIncrementUpdateToUpdateData, firestoreCollectionDocumentCache, firestoreCollectionQueryFactory, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDateNumber, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDocumentSnapshotPairsLoader, firestoreDocumentSnapshotPairsLoaderInstance, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreFixedItemPageIteration, firestoreFixedItemPageIterationFactory, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdFromEmail, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdOrKeyType, firestoreModelIdString, firestoreModelIdType, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFactory, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyType, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNotificationBoxRecipient, firestoreNotificationBoxRecipientTemplateConfigRecord, firestoreNotificationItem, firestoreNotificationRecipientWithConfig, firestoreNotificationUserDefaultNotificationBoxRecipientConfig, firestoreNotificationUserNotificationBoxRecipientConfig, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryDocumentSnapshotPairsLoader, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueNumberArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUnixDateTimeSecondsNumber, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataPairsWithData, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, grantStorageFileRolesForUserAuthFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, inMemoryFirestoreCollectionCacheDelegate, inMemoryFirestoreContextCache, inMemoryFirestoreContextCacheFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, inferNotificationBoxRelatedModelKey, inferStorageFileGroupRelatedModelKey, inferredTargetModelIdParamsType, inferredTargetModelParamsType, initializeAllApplicableNotificationBoxesParamsType, initializeAllApplicableNotificationSummariesParamsType, initializeAllApplicableStorageFileGroupsParamsType, initializeAllStorageFilesFromUploadsParamsType, initializeNotificationModelParamsType, initializeStorageFileFromUploadParamsType, initializeStorageFileModelParamsType, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isClientFirebaseError, isCompleteNotificationSendState, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelIdOrKey, isFirestoreModelKey, isLoggedEventNotification, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterateStorageListFiles, iterateStorageListFilesByEachFile, iterateStorageListFilesFactory, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitUploadFileTypeDeterminer, limitedFirestoreDocumentAccessorFactory, limitedFirestoreDocumentAccessorSnapshotCache, loadAllFirestoreDocumentSnapshot, loadAllFirestoreDocumentSnapshotPairs, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, loadNotificationBoxDocumentForReferencePair, loadStorageFileGroupDocumentForReferencePair, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreContextCache, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makePagedItemFirestoreCollection, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, mapLatestSnapshotsFromDocuments, mergeNotificationBoxRecipientTemplateConfigRecords, mergeNotificationBoxRecipientTemplateConfigs, mergeNotificationBoxRecipients, mergeNotificationSendMessagesResult, mergeNotificationUserDefaultNotificationBoxRecipientConfig, mergeNotificationUserNotificationBoxRecipientConfigs, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, newNotificationBoxRecipientForUid, noContentNotificationMessageFunctionFactory, noStringFormatInStorageUploadOptionsError, noopFirestoreCollectionCache, noopFirestoreCollectionCacheDelegate, noopFirestoreCollectionDocumentCache, noopFirestoreContextCache, notificationBoxCollectionReference, notificationBoxConverter, notificationBoxFirestoreCollection, notificationBoxIdForModel, notificationBoxIdentity, notificationBoxRecipientTemplateConfigArrayEntryParamType, notificationBoxRecipientTemplateConfigArrayToRecord, notificationBoxRecipientTemplateConfigRecordToArray, notificationBoxesFlaggedForNeedsInitializationQuery, notificationBoxesFlaggedInvalidQuery, notificationCollectionReference, notificationCollectionReferenceFactory, notificationConverter, notificationFirestoreCollectionFactory, notificationFirestoreCollectionGroup, notificationFunctionMap, notificationIdentity, notificationLoggedEventDayCollectionReference, notificationLoggedEventDayCollectionReferenceFactory, notificationLoggedEventDayConverter, notificationLoggedEventDayFirestoreCollectionFactory, notificationLoggedEventDayFirestoreCollectionGroup, notificationLoggedEventDayId, notificationLoggedEventDayIdentity, notificationLoggedEventDayPageCollectionReference, notificationLoggedEventDayPageFirestoreCollectionGroup, notificationLoggedEventDayPageIdentity, notificationLoggedEventDayPagedItemsCollectionFactory, notificationLoggedEventDayPagedItemsCollectionReferenceFactory, notificationLoggedEventDaysOlderThanQuery, notificationLoggedEventLoader, notificationMessageFunction, notificationRecipientParamsType, notificationSendExclusionCanSendFunction, notificationSendFlagsImplyIsComplete, notificationSubtaskComplete, notificationSummariesFlaggedForNeedsInitializationQuery, notificationSummaryCollectionReference, notificationSummaryConverter, notificationSummaryFirestoreCollection, notificationSummaryIdForModel, notificationSummaryIdForUidFunctionForRootFirestoreModelIdentity, notificationSummaryIdentity, notificationTaskCanRunNextCheckpoint, notificationTaskComplete, notificationTaskDelayRetry, notificationTaskFailed, notificationTaskPartiallyComplete, notificationTaskUniqueId, notificationTemplateTypeInfoRecord, notificationUserCollectionReference, notificationUserConverter, notificationUserFirestoreCollection, notificationUserHasExclusionQuery, notificationUserIdentity, notificationUsersFlaggedForNeedsSyncQuery, notificationWeekCollectionReference, notificationWeekCollectionReferenceFactory, notificationWeekConverter, notificationWeekFirestoreCollectionFactory, notificationWeekFirestoreCollectionGroup, notificationWeekIdentity, notificationsPastSendAtTimeQuery, notificationsReadyForCleanupQuery, offset, oidcClientEntriesByOwnerQuery, oidcEntriesByClientIdQuery, oidcEntriesByGrantIdQuery, oidcEntriesByUidQuery, oidcEntriesByUserCodeQuery, oidcEntriesWithTypeQuery, oidcEntryCollectionReference, oidcEntryConverter, oidcEntryFirestoreCollection, oidcEntryIdentity, oidcGrantEntriesByUidQuery, oidcModelFunctionMap, onCallCreateModelParams, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDeleteModelParams, onCallDevelopmentParams, onCallQueryModelParams, onCallReadModelParams, onCallTypedModelParams, onCallTypedModelParamsFunction, onCallUpdateModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreDateNumber, optionalFirestoreEnum, optionalFirestoreField, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, optionalFirestoreUnixDateTimeSecondsNumber, orderBy, orderByDocumentId, processAllQueuedStorageFilesParamsType, processStorageFileParamsType, readFirestoreModelKey, readFirestoreModelKeyFromDocumentSnapshot, readLoggingFirestoreContextCache, readLoggingFirestoreContextCacheFactory, regenerateAllFlaggedStorageFileGroupsContentParamsType, regenerateStorageFileGroupContentParamsType, replaceConstraints, resyncAllNotificationUserParamsType, targetModelParamsType as resyncNotificationUserParamsType, targetModelParamsType as rotateOidcClientSecretParamsType, scheduledFunctionDevelopmentFirebaseFunctionParamsType, selectFromFirebaseModelsService, sendNotificationParamsType, sendQueuedNotificationsParamsType, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, shouldSaveNotificationToNotificationWeek, shouldSendCreatedNotificationInput, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, sortNotificationItemsFunction, startAfter, startAt, startAtValue, storageFileCollectionReference, storageFileConverter, storageFileFirestoreCollection, storageFileFlaggedForSyncWithGroupsQuery, storageFileFunctionMap, storageFileGroupCollectionReference, storageFileGroupConverter, storageFileGroupCreateStorageFileKeyFactory, storageFileGroupCreatedStorageFileKey, storageFileGroupEmbeddedFile, storageFileGroupFirestoreCollection, storageFileGroupFolderPath, storageFileGroupIdForModel, storageFileGroupIdentity, storageFileGroupZipFileStoragePath, storageFileGroupZipStorageFileKey, storageFileGroupsFlaggedForContentRegenerationQuery, storageFileGroupsFlaggedForNeedsInitializationQuery, storageFileGroupsFlaggedInvalidQuery, storageFileIdentity, storageFileProcessingNotificationTaskTemplate, storageFilePurposeAndUserQuery, storageFilesQueuedForDeleteQuery, storageFilesQueuedForProcessingQuery, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, storedFileReaderFactory, streamDocumentSnapshotDataPairs, streamDocumentSnapshotDataPairsWithData, streamDocumentSnapshotsData, streamFromOnSnapshot, syncAllFlaggedStorageFilesWithGroupsParamsType, syncStorageFileWithGroupsParamsType, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, targetModelIdParamsType, targetModelParamsType, twoWayFlatFirestoreModelKey, unreadNotificationItems, unsupportedFirestoreDriverFunctionError, targetModelParamsType as updateNotificationBoxParamsType, updateNotificationBoxRecipientLikeParamsType, updateNotificationBoxRecipientParamsType, updateNotificationBoxRecipientTemplateConfigRecord, updateNotificationRecipient, updateNotificationSummaryParamsType, updateNotificationUserDefaultNotificationBoxRecipientConfig, updateNotificationUserDefaultNotificationBoxRecipientConfigParamsType, updateNotificationUserNotificationBoxRecipientConfigIfChanged, updateNotificationUserNotificationBoxRecipientConfigs, updateNotificationUserNotificationBoxRecipientParamsType, updateNotificationUserNotificationSendExclusions, updateNotificationUserParamsType, updateOidcClientFieldParamsType, updateOidcClientParamsType, updateStorageFileGroupEntryParamsType, updateStorageFileGroupParamsType, updateStorageFileParamsType, updateWithAccessorUpdateAndConverterFunction, uploadFileWithStream, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, userUploadsFolderSlashPathFactory, userUploadsFolderStoragePathFactory, where, whereDateIsAfter, whereDateIsAfterWithSort, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDateIsOnOrBefore, whereDateIsOnOrBeforeWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
21270
+ export { ALL_OIDC_TOKEN_ENDPOINT_AUTH_METHODS, ALL_OIDC_TOKEN_ENDPOINT_AUTH_METHOD_OPTIONS, ALL_STORAGE_FILE_NOTIFICATION_TASK_TYPES, ALL_USER_UPLOADS_FOLDER_NAME, ALL_USER_UPLOADS_FOLDER_PATH, ALREADY_EXISTS_ERROR_CODE, AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, AppNotificationTemplateTypeInfoRecordService, BAD_DOCUMENT_QUERY_CURSOR_ERROR_CODE, BAD_REQUEST_ERROR_CODE, BASE_MODEL_STORAGE_FILE_PATH, CALL_MODEL_APP_FUNCTION_KEY, CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE, CALL_MODEL_OIDC_SCOPES, CALL_MODEL_OIDC_SCOPE_DETAILS, CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE, CALL_MODEL_OIDC_SCOPE_PREFIX, CONFLICT_ERROR_CODE, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_MODEL_OIDC_SCOPE, CREATE_NOTIFICATION_ID_REQUIRED_ERROR_CODE, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_EXPIRES_IN_MS, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_FILENAME_LENGTH, CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MIN_EXPIRES_IN_MS, ContextGrantedModelRolesReaderInstance, DBX_FIREBASE_SERVER_NO_AUTH_ERROR_CODE, DBX_FIREBASE_SERVER_NO_UID_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_INVALID_CODE_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_NO_CONFIG_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_SEND_ONCE_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_THROTTLE_ERROR_CODE, DEFAULT_CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_EXPIRES_IN_MS, DEFAULT_DATE_CELL_RANGE_VALUE, DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE, DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE, DEFAULT_FIRESTORE_STRING_FIELD_VALUE, DEFAULT_FIRESTORE_UNITED_STATES_ADDRESS_VALUE, DEFAULT_FIRESTORE_WEBSITE_FILE_LINK_VALUE, DEFAULT_IN_MEMORY_CACHE_TTL, DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE, DEFAULT_MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER, DEFAULT_NOTIFICATION_TASK_NOTIFICATION_MODEL_KEY, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_ATTEMPTS, DEFAULT_NOTIFICATION_TASK_SUBTASK_CLEANUP_RETRY_DELAY, DEFAULT_NOTIFICATION_TEMPLATE_TYPE, DEFAULT_ON_CALL_QUERY_MODEL_LIMIT, DEFAULT_PAGED_ITEM_INDEX_DOCUMENT_ID, DEFAULT_PAGED_ITEM_MAX_ITEMS_PER_PAGE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, DEFAULT_WEBSITE_LINK, DELETE_MODEL_OIDC_SCOPE, DOWNLOAD_MULTIPLE_STORAGE_FILES_MAX_FILES, DOWNLOAD_MULTIPLE_STORAGE_FILES_MIN_FILES, EMAIL_OIDC_SCOPE, EMAIL_OIDC_SCOPE_DETAILS, EMPTY_STORAGE_FILE_PURPOSE_SUBGROUP, EXACT_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, FIREBASE_AUTH_CREDENTIAL_ALREADY_IN_USE_ERROR, FIREBASE_AUTH_EMAIL_ALREADY_EXISTS_ERROR, FIREBASE_AUTH_EMAIL_ALREADY_IN_USE_ERROR, FIREBASE_AUTH_INVALID_PHONE_NUMBER_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_FAILED, FIREBASE_AUTH_PASSWORD_MAX_LENGTH, FIREBASE_AUTH_PASSWORD_MIN_LENGTH, FIREBASE_AUTH_PHONE_NUMBER_ALREADY_EXISTS_ERROR, FIREBASE_AUTH_PROVIDER_ALREADY_LINKED_ERROR, FIREBASE_AUTH_QUOTA_EXCEEDED_ERROR, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, FIREBASE_AUTH_WRONG_PASSWORD, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_EXPIRES_AT_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FIRESTORE_COLLECTION_NAME_SEPARATOR, FIRESTORE_DUMMY_MODEL_KEY, FIRESTORE_EMPTY_VALUE, FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE, FIRESTORE_ITEM_PAGE_ITERATOR, FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE, FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE, FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE, FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT, FIRESTORE_MODEL_ID_REGEX, FIRESTORE_MODEL_KEY_REGEX, FIRESTORE_MODEL_KEY_REGEX_STRICT, FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, FIRESTORE_PASSTHROUGH_FIELD, FIRESTORE_PERMISSION_DENIED_ERROR_CODE, FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, FORBIDDEN_ERROR_CODE, FirebaseDevelopmentFunctions, FirebaseModelPermissionServiceInstance, FirebaseServerError, FirestoreAccessorStreamMode, FirestoreDocumentContextType, HIGH_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, INTERNAL_SERVER_ERROR_CODE, INVOKE_MODEL_OIDC_SCOPE, LOW_UPLOADED_FILE_TYPE_DETERMINATION_LEVEL, MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MAX_ON_CALL_QUERY_MODEL_LIMIT, MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER, MODEL_NOT_AVAILABLE_ERROR_CODE, MODEL_STORAGE_FILE_SLASH_PATH_FACTORY, ModifyBeforeSetFirestoreDocumentDataAccessorWrapper, NOTIFICATION_BOX_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_BOX_EXCLUSION_TARGET_INVALID_ERROR_CODE, NOTIFICATION_BOX_EXISTS_FOR_MODEL_ERROR_CODE, NOTIFICATION_BOX_MODEL_CRUD_FUNCTIONS_CONFIG, NOTIFICATION_BOX_RECIPIENT_DOES_NOT_EXIST_ERROR_CODE, NOTIFICATION_FUNCTION_TYPE_CONFIG_MAP, NOTIFICATION_LOGGED_EVENT_DAY_ITEM_CONVERTER, NOTIFICATION_MESSAGE_MAX_LENGTH, NOTIFICATION_MESSAGE_MIN_LENGTH, NOTIFICATION_MODEL_ALREADY_INITIALIZED_ERROR_CODE, NOTIFICATION_RECIPIENT_NAME_MAX_LENGTH, NOTIFICATION_RECIPIENT_NAME_MIN_LENGTH, NOTIFICATION_SUBJECT_MAX_LENGTH, NOTIFICATION_SUBJECT_MIN_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_MESSAGE_MAX_LENGTH, NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_SUBJECT_MAX_LENGTH, NOTIFICATION_SUMMARY_ITEM_LIMIT, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_CLEANUP, NOTIFICATION_TASK_SUBTASK_CHECKPOINT_PROCESSING, NOTIFICATION_USER_BLOCKED_FROM_BEING_ADD_TO_RECIPIENTS_ERROR_CODE, NOTIFICATION_USER_INVALID_UID_FOR_CREATE_ERROR_CODE, NOTIFICATION_USER_LOCKED_CONFIG_FROM_BEING_UPDATED_ERROR_CODE, NOTIFICATION_WEEK_NOTIFICATION_ITEM_LIMIT, NOT_FOUND_ERROR_CODE, NotificationBoxDocument, NotificationBoxRecipientFlag, NotificationBoxRecipientTemplateConfigBoolean, NotificationDocument, NotificationFirestoreCollections, NotificationFunctions, NotificationLoggedEventDayDocument, NotificationLoggedEventDayPageDocument, NotificationMessageFlag, NotificationRecipientSendFlag, NotificationSendState, NotificationSendType, NotificationSummaryDocument, NotificationUserDocument, NotificationWeekDocument, OFFLINE_ACCESS_OIDC_SCOPE, OFFLINE_ACCESS_OIDC_SCOPE_DETAILS, OIDC_ENTRY_CLIENT_TYPE, OIDC_FUNCTION_TYPE_CONFIG_MAP, OIDC_MODEL_CRUD_FUNCTIONS_CONFIG, OPENID_OIDC_SCOPE, OPENID_OIDC_SCOPE_DETAILS, OidcEntryDocument, OidcModelFirestoreCollections, OidcModelFunctions, PERMISSION_DENIED_ERROR_CODE, PRIVATE_KEY_JWT_TOKEN_ENDPOINT_AUTH_METHOD, PROFILE_OIDC_SCOPE, PROFILE_OIDC_SCOPE_DETAILS, QUERY_MODEL_OIDC_SCOPE, READ_MODEL_OIDC_SCOPE, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, STANDARD_OIDC_SCOPES, STANDARD_OIDC_SCOPE_DETAILS, STORAGEFILE_RELATED_FILE_METADATA_KEY, STORAGE_FILE_ALREADY_PROCESSED_ERROR_CODE, STORAGE_FILE_CANNOT_BE_DELETED_YET_ERROR_CODE, STORAGE_FILE_FUNCTION_TYPE_CONFIG_MAP, STORAGE_FILE_GROUP_CREATE_INPUT_ERROR_CODE, STORAGE_FILE_GROUP_QUEUED_FOR_INITIALIZATION_ERROR_CODE, STORAGE_FILE_GROUP_ROOT_FOLDER_PATH, STORAGE_FILE_GROUP_ZIP_FILE_PATH, STORAGE_FILE_GROUP_ZIP_INFO_JSON_FILE_NAME, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE, STORAGE_FILE_GROUP_ZIP_STORAGE_FILE_PURPOSE_CREATE_ZIP_SUBTASK, STORAGE_FILE_MODEL_ALREADY_INITIALIZED_ERROR_CODE, STORAGE_FILE_MODEL_CRUD_FUNCTIONS_CONFIG, STORAGE_FILE_NOT_FLAGGED_FOR_DELETION_ERROR_CODE, STORAGE_FILE_NOT_FLAGGED_FOR_GROUPS_SYNC_ERROR_CODE, STORAGE_FILE_PROCESSING_NOTIFICATION_TASK_TYPE, STORAGE_FILE_PROCESSING_NOT_ALLOWED_FOR_INVALID_STATE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_AVAILABLE_FOR_TYPE_ERROR_CODE, STORAGE_FILE_PROCESSING_NOT_QUEUED_FOR_PROCESSING_ERROR_CODE, STORAGE_FILE_PROCESSING_STUCK_THROTTLE_CHECK_MS, STORAGE_FILE_UPLOAD_USER_ROLE, STORAGE_FILE_UPLOAD_USER_SIMPLE_CLAIMS_CONFIGURATION, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFunctionTypeEnum, StorageFileCreationType, StorageFileDocument, StorageFileFirestoreCollections, StorageFileFunctions, StorageFileGroupDocument, StorageFileProcessingState, StorageFileState, StorageFileUploadStreamUnsupportedError, SystemStateDocument, SystemStateFirestoreCollections, UNAUTHENTICATED_ERROR_CODE, UNAVAILABLE_ERROR_CODE, UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE, UNKNOWN_MODEL_TYPE_ERROR_CODE, UPDATE_MODEL_OIDC_SCOPE, UPLOADED_FILE_DOES_NOT_EXIST_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_DISCARDED_ERROR_CODE, UPLOADED_FILE_INITIALIZATION_FAILED_ERROR_CODE, UPLOADED_FILE_NOT_ALLOWED_TO_BE_INITIALIZED_ERROR_CODE, UPLOADS_FOLDER_PATH, _createNotificationDocumentFromPair, abstractSubscribeOrUnsubscribeToNotificationBoxParamsType, abstractSubscribeToNotificationBoxParamsType, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, allowDocumentSnapshotWithPathOnceFilter, allowedNotificationRecipients, appNotificationTemplateTypeInfoRecordService, applyExclusionsToNotificationUserNotificationBoxRecipientConfigs, arrayUpdateWithAccessorFunction, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, calculateNsForNotificationUserNotificationBoxRecipientConfigs, calculateStorageFileGroupEmbeddedFileUpdate, calculateStorageFileGroupRegeneration, callModelFirebaseFunctionMapFactory, callModelOidcScopeForCallType, canQueueStorageFileForProcessing, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, cleanupOldNotificationLoggedEventDaysParamsType, cleanupSentNotificationsParamsType, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, combineUploadFileTypeDeterminers, completeSubtaskProcessingAndScheduleCleanupTaskResult, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyStoragePath, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, createNotificationBoxParamsType, createNotificationDocument, createNotificationDocumentIfSending, createNotificationDocumentPair, createNotificationLoggedEventTemplate, createNotificationSummaryParamsType, createNotificationTaskTemplate, createNotificationTemplate, createNotificationUserParamsType, createOidcClientFieldParamsType, createOidcClientParamsType, createStorageFileDocumentPair, createStorageFileDocumentPairFactory, createStorageFileGroupParamsType, createStorageFileParamsType, createStorageFileSignedUploadUrlParamsType, dataFromDocumentSnapshots, dataFromSnapshotStream, defaultPagedItemPageDataConverter, delayCompletion, deleteAllQueuedStorageFilesParamsType, targetModelParamsType as deleteOidcClientParamsType, targetModelParamsType as deleteOidcTokenParamsType, deleteStorageFileParamsType, determineByFileName, determineByFilePath, determineByFolderName, determineUserByFolder, determineUserByFolderWrapperFunction, determineUserByUserUploadsFolderWrapperFunction, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, downloadMultipleStorageFilesFileParamsType, downloadMultipleStorageFilesParamsType, downloadStorageFileParamsType, effectiveNotificationBoxRecipientConfig, effectiveNotificationBoxRecipientTemplateConfig, endAt, endAtValue, endBefore, extendFirestoreCollectionWithPagedItemAccessor, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputConstraints, filterRepeatCheckpointSnapshots, filterWithDateRange, firebaseAuthErrorToReadableError, firebaseFirestoreClientDrivers, firebaseFirestoreQueryConstraintFunctionsDriver, firebaseFirestoreQueryDriver, firebaseFunctionMapFactory, firebaseModelLoader, firebaseModelPermissionService, firebaseModelService, firebaseModelServiceFactory, firebaseModelsService, firebaseQueryItemAccumulator, firebaseQuerySnapshotAccumulator, firebaseStorageBucketFolderPath, firebaseStorageClientAccessorDriver, firebaseStorageClientAccessorFile, firebaseStorageClientAccessorFolder, firebaseStorageClientDrivers, firebaseStorageClientListFilesResultFactory, firebaseStorageContextFactory, firebaseStorageFileExists, firebaseStorageFilePathFromStorageFilePath, firebaseStorageRefForStorageFilePath, firestoreArray, firestoreArrayMap, firestoreBitwiseObjectMap, firestoreBitwiseSet, firestoreBitwiseSetMap, firestoreBoolean, firestoreClientAccessorDriver, firestoreClientArrayUpdateToUpdateData, firestoreClientIncrementUpdateToUpdateData, firestoreCollectionDocumentCache, firestoreCollectionQueryFactory, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDateNumber, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDocumentSnapshotPairsLoader, firestoreDocumentSnapshotPairsLoaderInstance, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreFixedItemPageIteration, firestoreFixedItemPageIterationFactory, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdFromEmail, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdOrKeyType, firestoreModelIdString, firestoreModelIdType, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFactory, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyType, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNotificationBoxRecipient, firestoreNotificationBoxRecipientTemplateConfigRecord, firestoreNotificationItem, firestoreNotificationRecipientWithConfig, firestoreNotificationUserDefaultNotificationBoxRecipientConfig, firestoreNotificationUserNotificationBoxRecipientConfig, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryDocumentSnapshotPairsLoader, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueNumberArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUnixDateTimeSecondsNumber, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataPairsWithData, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, grantStorageFileRolesForUserAuthFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, inMemoryFirestoreCollectionCacheDelegate, inMemoryFirestoreContextCache, inMemoryFirestoreContextCacheFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, inferNotificationBoxRelatedModelKey, inferStorageFileGroupRelatedModelKey, inferredTargetModelIdParamsType, inferredTargetModelParamsType, initializeAllApplicableNotificationBoxesParamsType, initializeAllApplicableNotificationSummariesParamsType, initializeAllApplicableStorageFileGroupsParamsType, initializeAllStorageFilesFromUploadsParamsType, initializeNotificationModelParamsType, initializeStorageFileFromUploadParamsType, initializeStorageFileModelParamsType, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isClientFirebaseError, isCompleteNotificationSendState, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelIdOrKey, isFirestoreModelKey, isLoggedEventNotification, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterateStorageListFiles, iterateStorageListFilesByEachFile, iterateStorageListFilesFactory, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitUploadFileTypeDeterminer, limitedFirestoreDocumentAccessorFactory, limitedFirestoreDocumentAccessorSnapshotCache, loadAllFirestoreDocumentSnapshot, loadAllFirestoreDocumentSnapshotPairs, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, loadNotificationBoxDocumentForReferencePair, loadStorageFileGroupDocumentForReferencePair, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreContextCache, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makePagedItemFirestoreCollection, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, mapLatestSnapshotsFromDocuments, mergeNotificationBoxRecipientTemplateConfigRecords, mergeNotificationBoxRecipientTemplateConfigs, mergeNotificationBoxRecipients, mergeNotificationSendMessagesResult, mergeNotificationUserDefaultNotificationBoxRecipientConfig, mergeNotificationUserNotificationBoxRecipientConfigs, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, newNotificationBoxRecipientForUid, noContentNotificationMessageFunctionFactory, noStringFormatInStorageUploadOptionsError, noopFirestoreCollectionCache, noopFirestoreCollectionCacheDelegate, noopFirestoreCollectionDocumentCache, noopFirestoreContextCache, notificationBoxCollectionReference, notificationBoxConverter, notificationBoxFirestoreCollection, notificationBoxIdForModel, notificationBoxIdentity, notificationBoxRecipientTemplateConfigArrayEntryParamType, notificationBoxRecipientTemplateConfigArrayToRecord, notificationBoxRecipientTemplateConfigRecordToArray, notificationBoxesFlaggedForNeedsInitializationQuery, notificationBoxesFlaggedInvalidQuery, notificationCollectionReference, notificationCollectionReferenceFactory, notificationConverter, notificationFirestoreCollectionFactory, notificationFirestoreCollectionGroup, notificationFunctionMap, notificationIdentity, notificationLoggedEventDayCollectionReference, notificationLoggedEventDayCollectionReferenceFactory, notificationLoggedEventDayConverter, notificationLoggedEventDayFirestoreCollectionFactory, notificationLoggedEventDayFirestoreCollectionGroup, notificationLoggedEventDayId, notificationLoggedEventDayIdentity, notificationLoggedEventDayPageCollectionReference, notificationLoggedEventDayPageFirestoreCollectionGroup, notificationLoggedEventDayPageIdentity, notificationLoggedEventDayPagedItemsCollectionFactory, notificationLoggedEventDayPagedItemsCollectionReferenceFactory, notificationLoggedEventDaysOlderThanQuery, notificationLoggedEventLoader, notificationMessageFunction, notificationRecipientParamsType, notificationSendExclusionCanSendFunction, notificationSendFlagsImplyIsComplete, notificationSubtaskComplete, notificationSummariesFlaggedForNeedsInitializationQuery, notificationSummaryCollectionReference, notificationSummaryConverter, notificationSummaryFirestoreCollection, notificationSummaryIdForModel, notificationSummaryIdForUidFunctionForRootFirestoreModelIdentity, notificationSummaryIdentity, notificationTaskCanRunNextCheckpoint, notificationTaskComplete, notificationTaskDelayRetry, notificationTaskFailed, notificationTaskPartiallyComplete, notificationTaskUniqueId, notificationTemplateTypeInfoRecord, notificationUserCollectionReference, notificationUserConverter, notificationUserFirestoreCollection, notificationUserHasExclusionQuery, notificationUserIdentity, notificationUsersFlaggedForNeedsSyncQuery, notificationWeekCollectionReference, notificationWeekCollectionReferenceFactory, notificationWeekConverter, notificationWeekFirestoreCollectionFactory, notificationWeekFirestoreCollectionGroup, notificationWeekIdentity, notificationsPastSendAtTimeQuery, notificationsReadyForCleanupQuery, offset, oidcClientEntriesByOwnerQuery, oidcEntriesByClientIdQuery, oidcEntriesByGrantIdQuery, oidcEntriesByUidQuery, oidcEntriesByUserCodeQuery, oidcEntriesWithTypeQuery, oidcEntryCollectionReference, oidcEntryConverter, oidcEntryFirestoreCollection, oidcEntryIdentity, oidcGrantEntriesByUidQuery, oidcModelFunctionMap, onCallCreateModelParams, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDeleteModelParams, onCallDevelopmentParams, onCallInvokeModelParams, onCallQueryModelParams, onCallReadModelParams, onCallTypedModelParams, onCallTypedModelParamsFunction, onCallUpdateModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreDateNumber, optionalFirestoreEnum, optionalFirestoreField, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, optionalFirestoreUnixDateTimeSecondsNumber, orderBy, orderByDocumentId, processAllQueuedStorageFilesParamsType, processStorageFileParamsType, readFirestoreModelKey, readFirestoreModelKeyFromDocumentSnapshot, readLoggingFirestoreContextCache, readLoggingFirestoreContextCacheFactory, regenerateAllFlaggedStorageFileGroupsContentParamsType, regenerateStorageFileGroupContentParamsType, replaceConstraints, resyncAllNotificationUserParamsType, targetModelParamsType as resyncNotificationUserParamsType, targetModelParamsType as rotateOidcClientSecretParamsType, scheduledFunctionDevelopmentFirebaseFunctionParamsType, selectFromFirebaseModelsService, sendNotificationParamsType, sendQueuedNotificationsParamsType, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, shouldSaveNotificationToNotificationWeek, shouldSendCreatedNotificationInput, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, sortNotificationItemsFunction, startAfter, startAt, startAtValue, storageFileCollectionReference, storageFileConverter, storageFileFirestoreCollection, storageFileFlaggedForSyncWithGroupsQuery, storageFileFunctionMap, storageFileGroupCollectionReference, storageFileGroupConverter, storageFileGroupCreateStorageFileKeyFactory, storageFileGroupCreatedStorageFileKey, storageFileGroupEmbeddedFile, storageFileGroupFirestoreCollection, storageFileGroupFolderPath, storageFileGroupIdForModel, storageFileGroupIdentity, storageFileGroupZipFileStoragePath, storageFileGroupZipStorageFileKey, storageFileGroupsFlaggedForContentRegenerationQuery, storageFileGroupsFlaggedForNeedsInitializationQuery, storageFileGroupsFlaggedInvalidQuery, storageFileIdentity, storageFileProcessingNotificationTaskTemplate, storageFilePurposeAndUserQuery, storageFilesQueuedForDeleteQuery, storageFilesQueuedForProcessingQuery, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, storedFileReaderFactory, streamDocumentSnapshotDataPairs, streamDocumentSnapshotDataPairsWithData, streamDocumentSnapshotsData, streamFromOnSnapshot, syncAllFlaggedStorageFilesWithGroupsParamsType, syncStorageFileWithGroupsParamsType, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, targetModelIdParamsType, targetModelParamsType, twoWayFlatFirestoreModelKey, unreadNotificationItems, unsupportedFirestoreDriverFunctionError, targetModelParamsType as updateNotificationBoxParamsType, updateNotificationBoxRecipientLikeParamsType, updateNotificationBoxRecipientParamsType, updateNotificationBoxRecipientTemplateConfigRecord, updateNotificationRecipient, updateNotificationSummaryParamsType, updateNotificationUserDefaultNotificationBoxRecipientConfig, updateNotificationUserDefaultNotificationBoxRecipientConfigParamsType, updateNotificationUserNotificationBoxRecipientConfigIfChanged, updateNotificationUserNotificationBoxRecipientConfigs, updateNotificationUserNotificationBoxRecipientParamsType, updateNotificationUserNotificationSendExclusions, updateNotificationUserParamsType, updateOidcClientFieldParamsType, updateOidcClientParamsType, updateStorageFileGroupEntryParamsType, updateStorageFileGroupParamsType, updateStorageFileParamsType, updateWithAccessorUpdateAndConverterFunction, uploadFileWithStream, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, userUploadsFolderSlashPathFactory, userUploadsFolderStoragePathFactory, where, whereDateIsAfter, whereDateIsAfterWithSort, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDateIsOnOrBefore, whereDateIsOnOrBeforeWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "13.11.18",
3
+ "version": "13.12.1",
4
4
  "sideEffects": false,
5
5
  "exports": {
6
6
  "./test": {
@@ -24,10 +24,10 @@
24
24
  }
25
25
  },
26
26
  "peerDependencies": {
27
- "@dereekb/util": "13.11.18",
28
- "@dereekb/date": "13.11.18",
29
- "@dereekb/model": "13.11.18",
30
- "@dereekb/rxjs": "13.11.18",
27
+ "@dereekb/util": "13.12.1",
28
+ "@dereekb/date": "13.12.1",
29
+ "@dereekb/model": "13.12.1",
30
+ "@dereekb/rxjs": "13.12.1",
31
31
  "@firebase/rules-unit-testing": "5.0.0",
32
32
  "arktype": "^2.2.0",
33
33
  "date-fns": "^4.1.0",
@@ -105,6 +105,7 @@ export interface FirebaseAuthNewUserClaimsData {
105
105
  }
106
106
  export declare const FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY = "resetPassword";
107
107
  export declare const FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY = "resetCommunicationAt";
108
+ export declare const FIREBASE_SERVER_AUTH_CLAIMS_RESET_EXPIRES_AT_KEY = "resetExpiresAt";
108
109
  /**
109
110
  * Custom claims data set on a Firebase Auth user during a password reset flow.
110
111
  *
@@ -119,4 +120,11 @@ export interface FirebaseAuthResetUserPasswordClaimsData {
119
120
  * ISO 8601 timestamp of the last reset-related communication (e.g., reset email).
120
121
  */
121
122
  readonly resetCommunicationAt: ISO8601DateString;
123
+ /**
124
+ * ISO 8601 timestamp after which the reset code is no longer valid.
125
+ *
126
+ * Set when the reset is initiated; checked at completion. Resets older than this expiry
127
+ * are rejected with the same opaque "invalid code" error as a wrong code.
128
+ */
129
+ readonly resetExpiresAt: ISO8601DateString;
122
130
  }
@@ -12,24 +12,26 @@ export declare const READ_MODEL_OIDC_SCOPE: "model.read";
12
12
  export declare const UPDATE_MODEL_OIDC_SCOPE: "model.update";
13
13
  export declare const DELETE_MODEL_OIDC_SCOPE: "model.delete";
14
14
  export declare const QUERY_MODEL_OIDC_SCOPE: "model.query";
15
+ export declare const INVOKE_MODEL_OIDC_SCOPE: "model.invoke";
15
16
  export type CreateModelOidcScope = typeof CREATE_MODEL_OIDC_SCOPE;
16
17
  export type ReadModelOidcScope = typeof READ_MODEL_OIDC_SCOPE;
17
18
  export type UpdateModelOidcScope = typeof UPDATE_MODEL_OIDC_SCOPE;
18
19
  export type DeleteModelOidcScope = typeof DELETE_MODEL_OIDC_SCOPE;
19
20
  export type QueryModelOidcScope = typeof QUERY_MODEL_OIDC_SCOPE;
21
+ export type InvokeModelOidcScope = typeof INVOKE_MODEL_OIDC_SCOPE;
20
22
  /**
21
- * Canonical CRUD scopes enforced on the `callModel` API.
23
+ * Canonical CRUD + invoke scopes enforced on the `callModel` API.
22
24
  *
23
25
  * Each scope corresponds 1:1 to a {@link KnownOnCallFunctionType}; see
24
26
  * {@link CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE}.
25
27
  */
26
- export declare const CALL_MODEL_OIDC_SCOPES: readonly ["model.create", "model.read", "model.update", "model.delete", "model.query"];
28
+ export declare const CALL_MODEL_OIDC_SCOPES: readonly ["model.create", "model.read", "model.update", "model.delete", "model.query", "model.invoke"];
27
29
  /**
28
- * Union of the five canonical callModel CRUD scope strings.
30
+ * Union of the six canonical callModel scope strings (CRUDQ + invoke).
29
31
  */
30
- export type CallModelOidcScope = CreateModelOidcScope | ReadModelOidcScope | UpdateModelOidcScope | DeleteModelOidcScope | QueryModelOidcScope;
32
+ export type CallModelOidcScope = CreateModelOidcScope | ReadModelOidcScope | UpdateModelOidcScope | DeleteModelOidcScope | QueryModelOidcScope | InvokeModelOidcScope;
31
33
  /**
32
- * Maps each known CRUD call type to the scope an OIDC token must carry to invoke it.
34
+ * Maps each known call type to the scope an OIDC token must carry to invoke it.
33
35
  */
34
36
  export declare const CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE: Readonly<Record<KnownOnCallFunctionType, CallModelOidcScope>>;
35
37
  /**
@@ -3,8 +3,11 @@ import { type DocumentReferenceRef } from '../firestore/reference';
3
3
  import { type FirestoreModelKey, type FirestoreModelType, type FirestoreModelTypeRef } from '../firestore/collection/collection';
4
4
  /**
5
5
  * Standard CRUD call types used by the `callModel` Firebase function pattern.
6
+ *
7
+ * CRUDQ + I: 'invoke' covers side-effecting RPC-style operations that don't fit any CRUD verb
8
+ * (e.g. regenerate-thumbnails, resync-with-external, recompute-index).
6
9
  */
7
- export type KnownOnCallFunctionType = 'create' | 'read' | 'update' | 'delete' | 'query';
10
+ export type KnownOnCallFunctionType = 'create' | 'read' | 'update' | 'delete' | 'query' | 'invoke';
8
11
  /**
9
12
  * Call type identifier — one of the standard CRUD types or a custom string.
10
13
  */
@@ -74,6 +77,10 @@ export declare const onCallDeleteModelParams: OnCallTypeModelParamsFunction;
74
77
  * Pre-configured OnCallTypedModelParamsFunctions for 'query'
75
78
  */
76
79
  export declare const onCallQueryModelParams: OnCallTypeModelParamsFunction;
80
+ /**
81
+ * Pre-configured OnCallTypedModelParamsFunctions for 'invoke'
82
+ */
83
+ export declare const onCallInvokeModelParams: OnCallTypeModelParamsFunction;
77
84
  /**
78
85
  * Key used on the front-end and backend that refers to the call function.
79
86
  */
@@ -98,6 +105,10 @@ export type OnCallDeleteModelParams<T = unknown> = OnCallTypedModelParams<T>;
98
105
  * OnCallTypedModelParams for Query calls.
99
106
  */
100
107
  export type OnCallQueryModelParams<T extends OnCallQueryModelRequestParams = OnCallQueryModelRequestParams> = OnCallTypedModelParams<T>;
108
+ /**
109
+ * OnCallTypedModelParams for Invoke calls.
110
+ */
111
+ export type OnCallInvokeModelParams<T = unknown> = OnCallTypedModelParams<T>;
101
112
  /**
102
113
  * Default maximum items per page for query operations.
103
114
  */
@@ -91,6 +91,7 @@ export declare const notificationUserIdentity: import("../..").RootFirestoreMode
91
91
  * @see `NotificationServerActions.updateNotificationUser` in `@dereekb/firebase-server/model` for server-side sync logic
92
92
  *
93
93
  * @dbxModel
94
+ * @dbxModelRead system
94
95
  */
95
96
  export interface NotificationUser extends UserRelated, UserRelatedById {
96
97
  /**
@@ -194,6 +195,7 @@ export declare const NOTIFICATION_SUMMARY_EMBEDDED_NOTIFICATION_ITEM_MESSAGE_MAX
194
195
  * Implements {@link InitializedNotificationModel} — requires server-side initialization to populate the owner (`o`) field.
195
196
  *
196
197
  * @dbxModel
198
+ * @dbxModelRead system
197
199
  * @dbxModelArchetype root-singleton-aggregate
198
200
  * @dbxModelArchetype composite-key-root
199
201
  * @dbxModelCompositeKey from=* encoding=two-way
@@ -291,6 +293,7 @@ export declare const notificationBoxIdentity: import("../..").RootFirestoreModel
291
293
  * @see `NotificationServerActions.createNotificationBox` in `@dereekb/firebase-server/model` for creation logic
292
294
  *
293
295
  * @dbxModel
296
+ * @dbxModelRead system
294
297
  * @dbxModelArchetype composite-key-root
295
298
  * @dbxModelCompositeKey from=* encoding=two-way
296
299
  */
@@ -578,6 +581,7 @@ export interface NotificationSendCheckpoints {
578
581
  * @see `NotificationServerActions.sendQueuedNotifications` in `@dereekb/firebase-server/model` for the send pipeline
579
582
  *
580
583
  * @dbxModel
584
+ * @dbxModelRead system
581
585
  */
582
586
  export interface Notification extends NotificationSendFlags, NotificationSendCheckpoints {
583
587
  /**
@@ -737,6 +741,7 @@ export declare const NOTIFICATION_WEEK_NOTIFICATION_ITEM_LIMIT = 5000;
737
741
  * Used for historical browsing of past notifications per box.
738
742
  *
739
743
  * @dbxModel
744
+ * @dbxModelRead system
740
745
  */
741
746
  export interface NotificationWeek {
742
747
  /**
@@ -837,6 +842,7 @@ export declare const NOTIFICATION_LOGGED_EVENT_DAY_ITEM_CONVERTER: PagedItemConv
837
842
  * items are distributed across pages by {@link makePagedItemFirestoreCollection}.
838
843
  *
839
844
  * @dbxModel
845
+ * @dbxModelRead system
840
846
  */
841
847
  export interface NotificationLoggedEventDay {
842
848
  /**
@@ -46,6 +46,7 @@ export declare const OIDC_ENTRY_CLIENT_TYPE: OidcEntryType;
46
46
  * (used primarily for Client entries so users can query their own registered OAuth clients).
47
47
  *
48
48
  * @dbxModel
49
+ * @dbxModelRead permissions
49
50
  * @dbxModelArchetype reference-registry hasChildren=false,hasInheritance=false
50
51
  */
51
52
  export interface OidcEntry {
@@ -2,9 +2,9 @@ import { type Type } from 'arktype';
2
2
  import { type TargetModelParams, type OnCallCreateModelResult, type FirestoreModelKey } from '../../common';
3
3
  import { type ModelFirebaseCrudFunction, type FirebaseFunctionTypeConfigMap, type ModelFirebaseCrudFunctionConfigMap, type ModelFirebaseFunctionMap, type ModelFirebaseCreateFunction } from '../../client';
4
4
  import { type StorageFileSignedDownloadUrl, type StorageFileTypes } from './storagefile';
5
- import { type StorageFileKey, type StorageFileId } from './storagefile.id';
5
+ import { type StorageFileKey, type StorageFileId, type StorageFilePurpose } from './storagefile.id';
6
6
  import { type StorageBucketId, type StoragePath, type StorageSlashPath } from '../../common/storage';
7
- import { type ContentDispositionString, type ContentTypeMimeType, type Maybe, type Milliseconds, type UnixDateTimeSecondsNumber } from '@dereekb/util';
7
+ import { type ContentDispositionString, type ContentTypeMimeType, type Maybe, type Milliseconds, type SlashPath, type SlashPathFile, type UnixDateTimeMillisecondsNumber, type UnixDateTimeSecondsNumber } from '@dereekb/util';
8
8
  import { type SendNotificationResult } from '../notification/notification.api';
9
9
  export declare const DOWNLOAD_MULTIPLE_STORAGE_FILES_MIN_FILES = 1;
10
10
  export declare const DOWNLOAD_MULTIPLE_STORAGE_FILES_MAX_FILES = 50;
@@ -187,6 +187,115 @@ export interface DownloadMultipleStorageFilesResult {
187
187
  readonly success: DownloadMultipleStorageFileSuccessItem[];
188
188
  readonly errors: DownloadMultipleStorageFileErrorItem[];
189
189
  }
190
+ /**
191
+ * Lower bound for caller-supplied `expiresInMs` on signed-upload-url generation.
192
+ *
193
+ * Anything shorter than 30 seconds is unrealistic for a caller to pick up a
194
+ * URL, perform the PUT, and acknowledge before the URL expires.
195
+ */
196
+ export declare const CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MIN_EXPIRES_IN_MS: Milliseconds;
197
+ /**
198
+ * Upper bound for caller-supplied `expiresInMs` on signed-upload-url generation.
199
+ *
200
+ * 10 minutes is the longest acceptable window for a one-shot upload URL. Any
201
+ * legitimate caller should be uploading within this window; longer windows
202
+ * increase the blast radius if the URL leaks.
203
+ */
204
+ export declare const CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_EXPIRES_IN_MS: Milliseconds;
205
+ /**
206
+ * Default `expiresInMs` applied when the caller does not supply one.
207
+ */
208
+ export declare const DEFAULT_CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_EXPIRES_IN_MS: Milliseconds;
209
+ /**
210
+ * Maximum length of a caller-supplied filename. Enforced both at the ArkType
211
+ * layer and again by the handler's sanitizer.
212
+ */
213
+ export declare const CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_FILENAME_LENGTH = 200;
214
+ /**
215
+ * Parameters for creating a short-lived signed PUT URL for a StorageFile upload.
216
+ *
217
+ * The resulting URL is restricted to a specific {@link StorageFilePurpose}, MIME
218
+ * type, and file size and lands the bytes inside the authenticated caller's
219
+ * `/uploads/u/{uid}/...` namespace. Once uploaded, the existing
220
+ * `StorageFileInitializeFromUploadService` flow picks the file up and creates
221
+ * the matching `StorageFile` document.
222
+ */
223
+ export interface CreateStorageFileSignedUploadUrlParams {
224
+ /**
225
+ * The {@link StorageFilePurpose} to upload as. Must be supported by the
226
+ * app's signed-upload-url policy registry. The chosen policy decides where
227
+ * the file lands and which content-types/sizes are allowed.
228
+ */
229
+ readonly purpose: StorageFilePurpose;
230
+ /**
231
+ * The MIME type the client intends to PUT. Validated against the policy's
232
+ * `allowedMimeTypes` and signed into the URL so GCS rejects any PUT with a
233
+ * different `Content-Type`.
234
+ */
235
+ readonly contentType: ContentTypeMimeType;
236
+ /**
237
+ * Filename to place inside the policy's upload folder. Required when the
238
+ * policy has `requiresFilenameInput: true`. Sanitized server-side — must not
239
+ * contain `/`, `..`, or NUL bytes; capped at
240
+ * {@link CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_FILENAME_LENGTH} chars.
241
+ */
242
+ readonly filename?: Maybe<SlashPathFile>;
243
+ /**
244
+ * Client-declared size in bytes for the upload. Validated against the
245
+ * policy's `maxFileSizeBytes` cap. The storage rules independently enforce
246
+ * the same cap via `request.resource.size`.
247
+ */
248
+ readonly fileSizeBytes: number;
249
+ /**
250
+ * Lifetime of the signed URL in milliseconds. Clamped to
251
+ * [{@link CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MIN_EXPIRES_IN_MS},
252
+ * {@link CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_MAX_EXPIRES_IN_MS}].
253
+ * Defaults to {@link DEFAULT_CREATE_STORAGE_FILE_SIGNED_UPLOAD_URL_EXPIRES_IN_MS}
254
+ * when omitted.
255
+ */
256
+ readonly expiresInMs?: Maybe<Milliseconds>;
257
+ }
258
+ export declare const createStorageFileSignedUploadUrlParamsType: Type<CreateStorageFileSignedUploadUrlParams>;
259
+ /**
260
+ * Result of creating a signed upload URL.
261
+ *
262
+ * The caller PUTs the file bytes to {@link uploadUrl} with the headers in
263
+ * {@link requiredHeaders}. The existing initializer flow then picks the file
264
+ * up from {@link uploadPath} and creates the StorageFile document.
265
+ *
266
+ * `modelKeys` is intentionally empty — minting the URL does not create a
267
+ * StorageFile document; the document is created later by the upload-complete
268
+ * pipeline.
269
+ */
270
+ export interface CreateStorageFileSignedUploadUrlResult extends OnCallCreateModelResult {
271
+ readonly modelKeys: [];
272
+ /**
273
+ * Short-lived, content-type-pinned PUT URL.
274
+ */
275
+ readonly uploadUrl: string;
276
+ /**
277
+ * The full storage path the URL writes to (inside `/uploads/u/{uid}/...`).
278
+ * Returned so the caller can confirm where the file landed.
279
+ */
280
+ readonly uploadPath: SlashPath;
281
+ /**
282
+ * Unix millisecond timestamp at which the URL expires.
283
+ */
284
+ readonly expiresAt: UnixDateTimeMillisecondsNumber;
285
+ /**
286
+ * Headers the caller MUST send on the PUT for the signature to validate.
287
+ * At minimum, the `content-type` matches the signed value.
288
+ */
289
+ readonly requiredHeaders: Readonly<Record<string, string>>;
290
+ /**
291
+ * Echo of the policy's `maxFileSizeBytes` cap, for caller-side validation.
292
+ */
293
+ readonly maxFileSizeBytes: number;
294
+ /**
295
+ * The resolved {@link StorageFilePurpose}.
296
+ */
297
+ readonly purpose: StorageFilePurpose;
298
+ }
190
299
  /**
191
300
  * Used for creating or initializing a new StorageFileGroup for a StorageFile.
192
301
  *
@@ -274,6 +383,7 @@ export type StorageFileModelCrudFunctionsConfig = {
274
383
  _: CreateStorageFileParams;
275
384
  fromUpload: InitializeStorageFileFromUploadParams;
276
385
  allFromUpload: [InitializeAllStorageFilesFromUploadsParams, InitializeAllStorageFilesFromUploadsResult];
386
+ signedUploadUrl: [CreateStorageFileSignedUploadUrlParams, CreateStorageFileSignedUploadUrlResult];
277
387
  };
278
388
  update: {
279
389
  _: UpdateStorageFileParams;
@@ -308,6 +418,7 @@ export declare abstract class StorageFileFunctions implements ModelFirebaseFunct
308
418
  create: ModelFirebaseCreateFunction<CreateStorageFileParams, OnCallCreateModelResult>;
309
419
  fromUpload: ModelFirebaseCreateFunction<InitializeStorageFileFromUploadParams, OnCallCreateModelResult>;
310
420
  allFromUpload: ModelFirebaseCrudFunction<InitializeAllStorageFilesFromUploadsParams, InitializeAllStorageFilesFromUploadsResult>;
421
+ signedUploadUrl: ModelFirebaseCreateFunction<CreateStorageFileSignedUploadUrlParams, CreateStorageFileSignedUploadUrlResult>;
311
422
  };
312
423
  updateStorageFile: {
313
424
  update: ModelFirebaseCrudFunction<UpdateStorageFileParams>;
@@ -263,6 +263,7 @@ export type StorageFileDownloadUrl = StorageFilePublicDownloadUrl | StorageFileS
263
263
  *
264
264
  * @template M - type of the arbitrary metadata stored in the `d` field
265
265
  * @dbxModel
266
+ * @dbxModelRead permissions
266
267
  * @dbxModelArchetype root-entity
267
268
  * @dbxModelArchetype state-machine-item
268
269
  */
@@ -502,6 +503,7 @@ export declare const storageFileGroupEmbeddedFile: import("../..").FirestoreSubO
502
503
  * the `s` (needs sync) flag is set on creation and cleared once initialized.
503
504
  *
504
505
  * @dbxModel
506
+ * @dbxModelRead admin-only
505
507
  */
506
508
  export interface StorageFileGroup extends InitializedStorageFileModel {
507
509
  /**
@@ -1,6 +1,7 @@
1
- import { type FactoryWithRequiredInput, type Maybe, type SlashPath } from '@dereekb/util';
1
+ import { type ContentTypeMimeType, type FactoryWithRequiredInput, type Maybe, type SlashPath, type SlashPathFile } from '@dereekb/util';
2
2
  import { type StoragePath } from '../../common/storage/storage';
3
3
  import { type FirebaseAuthUserId } from '../../common';
4
+ import { type StorageFilePurpose } from './storagefile.id';
4
5
  /**
5
6
  * Root path for all uploaded files in Firebase Storage.
6
7
  *
@@ -97,3 +98,34 @@ export type UploadedFileTypeIdentifier = string;
97
98
  * - `permanent_initializer_failure` — the initializer failed permanently; the file should be deleted
98
99
  */
99
100
  export type StorageFileInitializeFromUploadResultType = 'success' | 'no_determiner_match' | 'no_initializer_configured' | 'initializer_error' | 'permanent_initializer_failure';
101
+ /**
102
+ * Input passed to {@link StorageFilePurposeUploadPolicy.buildUploadPath} when
103
+ * computing the upload destination for a signed-upload-url.
104
+ */
105
+ export interface StorageFilePurposeUploadPolicyBuildPathInput {
106
+ readonly uid: FirebaseAuthUserId;
107
+ readonly filename?: Maybe<SlashPathFile>;
108
+ }
109
+ /**
110
+ * Per-purpose constraints for generating short-lived signed upload URLs.
111
+ *
112
+ * Implementations are kept in app-level registries (e.g.
113
+ * `STORAGE_FILE_PURPOSE_UPLOAD_POLICIES` in demo-firebase) and wired into the
114
+ * server-action context so the `createStorageFileSignedUploadUrl` action can
115
+ * resolve the policy by purpose at request time.
116
+ *
117
+ * The policy ensures the URL it signs targets a path and content-type that
118
+ * both `storage.rules` and the matching `StorageFileInitializeFromUploadService`
119
+ * initializer accept.
120
+ */
121
+ export interface StorageFilePurposeUploadPolicy {
122
+ readonly purpose: StorageFilePurpose;
123
+ readonly allowedMimeTypes: readonly ContentTypeMimeType[];
124
+ readonly maxFileSizeBytes: number;
125
+ readonly buildUploadPath: (input: StorageFilePurposeUploadPolicyBuildPathInput) => SlashPath;
126
+ /**
127
+ * When true, the caller MUST provide a filename for `buildUploadPath`.
128
+ * When false (e.g. avatar), the path is derived solely from the uid.
129
+ */
130
+ readonly requiresFilenameInput: boolean;
131
+ }
@@ -60,6 +60,7 @@ export type SystemStateStoredData = Record<string, any>;
60
60
  *
61
61
  * @template T - shape of the stored data record
62
62
  * @dbxModel
63
+ * @dbxModelRead system
63
64
  * @dbxModelArchetype system-state-singleton
64
65
  */
65
66
  export interface SystemState<T extends SystemStateStoredData = SystemStateStoredData> {
package/test/index.cjs.js CHANGED
@@ -1471,12 +1471,10 @@ function _is_native_reflect_construct$4() {
1471
1471
  }(firebase.AbstractFirestoreDocument);
1472
1472
  /**
1473
1473
  * Firestore collection path name.
1474
- */ // eslint-disable-next-line @typescript-eslint/naming-convention -- camelCase chosen to match neighboring mock exports in this test fixture
1475
- var MOCK_ITEM_USER_COLLECTION_NAME = 'mockItemUser';
1474
+ */ var MOCK_ITEM_USER_COLLECTION_NAME = 'mockItemUser';
1476
1475
  /**
1477
1476
  * Default document identifier used for MockItemUser in tests.
1478
- */ // eslint-disable-next-line @typescript-eslint/naming-convention -- camelCase chosen to match neighboring mock exports in this test fixture
1479
- var MOCK_ITEM_USER_IDENTIFIER = '0';
1477
+ */ var MOCK_ITEM_USER_IDENTIFIER = '0';
1480
1478
  /**
1481
1479
  * Used to build a FirestoreDataConverter. Fields are configured via configuration. See the SnapshotConverterFunctions for more info.
1482
1480
  */ var mockItemUserConverter = firebase.snapshotConverterFunctions({