Yes, Osiris API lacks a lot, but so do object scripts.
Only stuff that Larian ever needed in their games is in Osiris, at least it looks like it. Some of the existing APIs are not used in D:OS, so one can suppose they were used in previous games.
It's anything but a generic API. Everybody who used it had to implement either a lot of workarounds to do stuff they wanted or it was not doable at all.
Both APIs for example have no way to query the items equipped by a character nor can the items themselves be examined. All that is hidden in the engine.

A summon will *not* qualifiy as player2, because like a spawn, a summon is not a global character known at compile time.
Rewriting everything that involves the two players, although doable, would require more than a lot of effort. (I'd suppose you'd want to be done with it this decade ...)

Character scripts stop working when you're too far away from a character.
I had to implement a combination of item scripts and story code for the field beds in XC_Bags to auto-disappear after a defined time. They would not disappear when the party moved out of range too quickly with item/character scripts only.
The reason I had to do it was less for the item to disappear because that wouldn't have mattered but for the internal flag indicating that a bed 'is out', which needed to be reset for the skill to be usable again. Did not work with item scripts only because they stopped working when out of range.
(I had dismissed the original SpawnItem() call in favor of global beds with teleport and SetOnStage() because of my paranoia of object handle waste ;-)