I was thinking about generating information that could be registered with AIP. Some of that would include information on Object Types. A lot of that could be generated from a get-object-type API call and then some trivial Python reformatting could produce the correct Markdown format for custom docs. That way you could regenerate it automatically when there are changes on the objects, based on their description, property descriptions etc.
But how can this be generated in the custom docs repository, where I understand the inputs have to be. Is there a way of running Python that would produce a .md in the repository? Or is it possible to register other files?
Depending on how you wanted to accomplish this, I think I would personally look at hitting that get-object-type endpoing with a webhook and an external transform (I think that’s the recommended pattern these days) and then creating an object type representation of the results - including generating a full markdown “Readme” as a long-text property if you wanted - as opposed to trying to get the markdown into AIP Assist via the custom documentation route.
It feels a bit weird and meta, but you could have those endpoint objects back a regular AIP Agent or used as context in an AIP Logic function or pretty much anywhere else, including building a human-readable “documentation” view with a loop widget and some Workshop building.
That said, if you really did want to generate markdown and have it go into the base AIP Assist context to show up along regular documentation references, then I’ve heard of folks taking this path with either the Notepad or Code Repos internal APIs to push content programmatically. I’ve asked around to see if any of those folks would stop by the topic and add a snippet or share some of the considerations around their implementation.
OK, thanks for that answer, and I appreciate if you can ask around to see if what I want might be possible.
In this case I think the Custom Documentation is still be best option for two reasons:
I understand it means it can be whitelisted to be available to the AIP on any context - and the information I want to put in there is partially data metadata that should help users find existing objects, or understand when they might be useful, or suggest using them. e.g. it knows there’s an object that represents country and region GDP data, or industrial activity, and so would include that in a response if someone is asking how to get that information.
The custom docs also then allows an easy human readable version of the same data, that can also be easily searched. The other solutions are trickier for that.
To some extend I’ve done what you’ve suggested. I’m running an external Python script that uses the get-object-type endpoint, and generates the relevant markdown files locally. Only then I copy the results into the docs repo by hand. I could move that script to a repo without problem, but then don’t know how to transfer the final markdown file into the docs repo and trigger a build of it.