| 1951 | } |
| 1952 | |
| 1953 | func AIBridgeInterception(t testing.TB, db database.Store, seed database.InsertAIBridgeInterceptionParams, endedAt *time.Time) database.AIBridgeInterception { |
| 1954 | interception, err := db.InsertAIBridgeInterception(genCtx, database.InsertAIBridgeInterceptionParams{ |
| 1955 | ID: takeFirst(seed.ID, uuid.New()), |
| 1956 | APIKeyID: seed.APIKeyID, |
| 1957 | InitiatorID: takeFirst(seed.InitiatorID, uuid.New()), |
| 1958 | Provider: takeFirst(seed.Provider, "provider"), |
| 1959 | ProviderName: takeFirst(seed.ProviderName, "provider-name"), |
| 1960 | Model: takeFirst(seed.Model, "model"), |
| 1961 | Metadata: takeFirstSlice(seed.Metadata, json.RawMessage("{}")), |
| 1962 | StartedAt: takeFirst(seed.StartedAt, dbtime.Now()), |
| 1963 | Client: seed.Client, |
| 1964 | ThreadParentInterceptionID: seed.ThreadParentInterceptionID, |
| 1965 | ThreadRootInterceptionID: seed.ThreadRootInterceptionID, |
| 1966 | ClientSessionID: seed.ClientSessionID, |
| 1967 | CredentialKind: takeFirst(seed.CredentialKind, database.CredentialKindCentralized), |
| 1968 | CredentialHint: takeFirst(seed.CredentialHint, ""), |
| 1969 | }) |
| 1970 | if endedAt != nil { |
| 1971 | interception, err = db.UpdateAIBridgeInterceptionEnded(genCtx, database.UpdateAIBridgeInterceptionEndedParams{ |
| 1972 | ID: interception.ID, |
| 1973 | EndedAt: *endedAt, |
| 1974 | CredentialHint: takeFirst(seed.CredentialHint, ""), |
| 1975 | }) |
| 1976 | require.NoError(t, err, "insert aibridge interception") |
| 1977 | } |
| 1978 | require.NoError(t, err, "insert aibridge interception") |
| 1979 | return interception |
| 1980 | } |
| 1981 | |
| 1982 | func AIBridgeTokenUsage(t testing.TB, db database.Store, seed database.InsertAIBridgeTokenUsageParams) database.AIBridgeTokenUsage { |
| 1983 | usage, err := db.InsertAIBridgeTokenUsage(genCtx, database.InsertAIBridgeTokenUsageParams{ |