Hello!
I have been working on a repo in OaC and managed to successfully build and install an OaC product via Marketplace. My next step was adding a function-backed action.
The @osdk/maker documentation is sparse on this, but the stable version of defineAction does accept a functionRule with a functionRid, which I tried to use. I created the function as a separate repo in Python, published it and used its RID and version, and wired it up in the OaC repo:
...
rules: [
{
type: "functionRule",
functionRule: {
functionRid: rid_x,
functionVersion: function_version_x,
functionInputValues: { ... },
},
},
],
The product tags and publishes to Marketplace successfully, but installation fails with:
Can't install ontology block OntologyMetadata:MarketplaceEntityMissingBlockShapeId
[expectedBlockShapeType=SEMANTIC_FUNCTION_LOCATOR, ...]
From what I can tell, Marketplace expects function references to be expressed as a SEMANTIC_FUNCTION_LOCATOR rather than a raw RID. DevOps usually handles this translation when you add a function and action type together as product outputs, but with OaC this isn’t possible since the ontology is code-managed and DevOps won’t let you modify it.
My questions:
- Is
functionRuleindefineActionactually supported for Marketplace distribution, or is this still experimental/unsupported? - Has anyone found a working pattern for co-packaging a function-backed action with an OaC-managed ontology?
Thanks