shayne: I really dig what you're doing right now, even if I haven't yet
had the time to build your module and test it out. There is one important
decision you have to make, though, and that has to do with the security
scope of scripted extensions. Do you want scripts to be able to do
anything a server module can do? That's definitely easier to implement,
and it would provide more power (because you can do nifty things like
register event handlers, install new server commands, etc. The
disadvantage is that users would obviously not be allowed to install their
own scripts. On the other hand, if scripted extensions ran in the context
of a logged in user, then you'd have to write a sandbox layer to make sure
they're not doing anything they're not allowed to do.
As for the documentation of what you can do ... there's a file called
"citadelapi.txt" in the techdoc/ directory, which was intended to be the
document you're looking for. As you can see, I wrote the server API with
a project like yours in mind. The document is a little out of date,
though.