



ll := import("@platforma-sdk/workflow-tengo:ll")
constants := import("@platforma-sdk/workflow-tengo:constants")
json := import("json")
smart := import("@platforma-sdk/workflow-tengo:smart")
validation := import("@platforma-sdk/workflow-tengo:validation")



_pObjectSpecSchema := {
	"__options__,closed": "",

	"kind": "string",

	"valueType,?": `string,regex=json|File|DynamicFile|String|Double|Long|Int`,

	"name,?": {",any": "string"},

	"domain,?": {",any": "string"},

	"contextDomain,?": {",any": "string"},

	"axesSpec,?": [{
		"type": "string,regex=String",
		"name": "string",
		"domain,?": {",any": "string"},
		"contextDomain,?": {",any": "string"},
		"annotations,?": {",any": "string"}
	}],

	"annotations,?": {",any": "string"}
}







createSpec := func(spec) {
	ll.assert(ll.isMap(spec), "expected map got %v", spec)




	return smart.createValueResource(constants.RTYPE_BOBJECT_SPEC, json.encode(spec))
}

export ll.toStrict({
	createSpec: createSpec
})
