UNPKG

@genkit-ai/flow

Version:

Genkit AI framework workflow APIs.

44 lines (40 loc) 1.53 kB
import { FlowStateStore, FlowState, FlowStateQuery, FlowStateQueryResponse } from '@genkit-ai/core'; import { Firestore } from '@google-cloud/firestore'; /** * Copyright 2024 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** Allow customers to set service account credentials via an environment variable. */ interface Credentials { client_email?: string; private_key?: string; } /** * Implementation of flow state store that persistes flow state in Firestore. */ declare class FirestoreStateStore implements FlowStateStore { readonly db: Firestore; readonly collection: string; readonly databaseId: string; constructor(params?: { collection?: string; databaseId?: string; projectId?: string; credentials?: Credentials; }); load(id: string): Promise<FlowState | undefined>; save(id: string, state: FlowState): Promise<void>; list(query?: FlowStateQuery): Promise<FlowStateQueryResponse>; } export { FirestoreStateStore };