@osdk/maker 0.13.0-beta.17 → 0.13.0-beta.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @osdk/maker
2
2
 
3
+ ## 0.13.0-beta.18
4
+
5
+ ### Minor Changes
6
+
7
+ - 6dee3cc: Typechecks improvement
8
+ - 242cdb7: Remove uuid import from maker
9
+
3
10
  ## 0.13.0-beta.17
4
11
 
5
12
  ### Minor Changes
@@ -123,6 +123,7 @@ export function writeStaticObjects(outputDir) {
123
123
  import { wrapWithProxy, OntologyEntityTypeEnum } from '@osdk/maker';
124
124
  import type { ${entityTypeName} } from '@osdk/maker';
125
125
 
126
+ /** @type {import('@osdk/maker').${entityTypeName}} */
126
127
  const ${entityFileNameBase}_base: ${entityTypeName} = ${ontologyTypeEnumKey === "VALUE_TYPE" ? entityJSON.slice(1, -2) : entityJSON} as unknown as ${entityTypeName};
127
128
 
128
129
  export const ${entityFileNameBase}: ${entityTypeName} = wrapWithProxy(${entityFileNameBase}_base);
@@ -1 +1 @@
1
- {"version":3,"file":"defineOntology.js","names":["fs","path","convertActionParameters","convertActionSections","convertActionValidation","convertOntologyDefinition","convertOntologyToValueTypeIr","getFormContentOrdering","OntologyEntityTypeEnum","ontologyDefinition","importedTypes","dependencies","namespace","updateOntology","entity","__type","VALUE_TYPE","apiName","undefined","push","defineOntology","ns","body","outputDir","dependencyFile","randomnessKey","OBJECT_TYPE","ACTION_TYPE","LINK_TYPE","INTERFACE_TYPE","SHARED_PROPERTY_TYPE","e","console","error","writeStaticObjects","writeDependencyFile","codegenDir","resolve","typeDirs","existsSync","mkdirSync","recursive","Object","values","forEach","typeDirNameFromMap","currentTypeDirPath","join","rmSync","force","topLevelExportStatements","entries","ontologyTypeEnumKey","entities","typeDirName","typeDirPath","entityModuleNames","entityFileNameBase","camel","withoutNamespace","filePath","entityTypeName","getEntityTypeName","entityJSON","JSON","stringify","replace","_","prefix","value","content","slice","writeFileSync","flag","entityModuleName","length","mainIndexContent","dependencyInjectionString","mainIndexFilePath","buildDatasource","definition","classificationMarkingGroupName","mandatoryMarkingGroupName","needsSecurity","securityConfig","classificationConstraint","markingGroupName","markingConstraint","datasourceName","datasource","editsConfiguration","onlyAllowPrivilegedEdits","redacted","dataSecurity","cleanAndValidateLinkTypeId","step1","linkTypeId","toLowerCase","test","Error","dumpOntologyFullMetadata","dumpValueTypeWireType","convertObjectStatus","status","type","active","experimental","deprecated","message","deadline","replacedBy","convertAction","action","actionValidation","actionParameters","actionSections","parameterOrdering","parameters","map","p","id","actionType","actionTypeLogic","logic","rules","validation","metadata","displayMetadata","configuration","defaultLayout","defaultFormat","displayAndFormat","table","columnWidthByParameterRid","enableFileImport","fitHorizontally","frozenColumnCount","rowHeightInLines","enableLayoutUserSwitch","enableLayoutSwitch","description","displayName","icon","blueprint","locator","color","successMessage","submissionMetadata","typeClasses","submitButtonDisplayMetadata","undoButtonConfiguration","formContentOrdering","sections","extractAllowedValues","allowedValues","oneOf","labelledValues","otherValueAllowed","allowed","min","max","range","minimum","inclusive","maximum","minLength","maxLength","regex","text","failureMessage","datetime","objectTypeReference","interfaceTypeRids","interfaceTypes","geotimeSeriesReference","geotimeSeries","k","renderHintFromBaseType","parameter","checkbox","numericInput","textInput","dateTimePicker","filePicker","mandatoryMarkingPicker","cbacMarkingPicker","dropdown","extractNamespace","substring","lastIndexOf","lastDot","str","result","c","toUpperCase","charAt","namespaceNoDot","endsWith","addNamespaceIfNone","includes"],"sources":["defineOntology.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionTypeStatus,\n OntologyIr,\n OntologyIrActionTypeBlockDataV2,\n OntologyIrAllowedParameterValues,\n OntologyIrObjectTypeDatasource,\n OntologyIrObjectTypeDatasourceDefinition,\n OntologyIrParameter,\n OntologyIrSection,\n OntologyIrValueTypeBlockData,\n ParameterId,\n ParameterRenderHint,\n SectionId,\n} from \"@osdk/client.unstable\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { convertActionParameters } from \"../conversion/toMarketplace/convertActionParameters.js\";\nimport { convertActionSections } from \"../conversion/toMarketplace/convertActionSections.js\";\nimport { convertActionValidation } from \"../conversion/toMarketplace/convertActionValidation.js\";\nimport { convertOntologyDefinition } from \"../conversion/toMarketplace/convertOntologyDefinition.js\";\nimport { convertOntologyToValueTypeIr } from \"../conversion/toMarketplace/convertOntologyToValueTypeIr.js\";\nimport { getFormContentOrdering } from \"../conversion/toMarketplace/getFormContentOrdering.js\";\nimport type { ActionParameter } from \"./action/ActionParameter.js\";\nimport type { ActionParameterAllowedValues } from \"./action/ActionParameterAllowedValues.js\";\nimport type { ActionType } from \"./action/ActionType.js\";\nimport type { OntologyDefinition } from \"./common/OntologyDefinition.js\";\nimport { OntologyEntityTypeEnum } from \"./common/OntologyEntityTypeEnum.js\";\nimport type { OntologyEntityType } from \"./common/OntologyEntityTypeMapping.js\";\n\n// type -> apiName -> entity\n/** @internal */\nexport let ontologyDefinition: OntologyDefinition;\n\n// type -> apiName -> entity\n/** @internal */\nexport let importedTypes: OntologyDefinition;\n\n// namespace -> version\n/** @internal */\nexport let dependencies: Record<string, string>;\n\n/** @internal */\nexport let namespace: string;\n\nexport function updateOntology<\n T extends OntologyEntityType,\n>(\n entity: T,\n): void {\n if (entity.__type !== OntologyEntityTypeEnum.VALUE_TYPE) {\n ontologyDefinition[entity.__type][entity.apiName] = entity;\n return;\n }\n // value types are a special case\n if (\n ontologyDefinition[OntologyEntityTypeEnum.VALUE_TYPE][entity.apiName]\n === undefined\n ) {\n ontologyDefinition[OntologyEntityTypeEnum.VALUE_TYPE][entity.apiName] = [];\n }\n ontologyDefinition[OntologyEntityTypeEnum.VALUE_TYPE][entity.apiName]\n .push(entity);\n}\n\nexport async function defineOntology(\n ns: string,\n body: () => void | Promise<void>,\n outputDir: string | undefined,\n dependencyFile?: string,\n randomnessKey?: string,\n): Promise<OntologyIr> {\n namespace = ns;\n dependencies = {};\n ontologyDefinition = {\n OBJECT_TYPE: {},\n ACTION_TYPE: {},\n LINK_TYPE: {},\n INTERFACE_TYPE: {},\n SHARED_PROPERTY_TYPE: {},\n VALUE_TYPE: {},\n };\n importedTypes = {\n SHARED_PROPERTY_TYPE: {},\n OBJECT_TYPE: {},\n ACTION_TYPE: {},\n LINK_TYPE: {},\n INTERFACE_TYPE: {},\n VALUE_TYPE: {},\n };\n try {\n await body();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\n \"Unexpected error while processing the body of the ontology\",\n e,\n );\n throw e;\n }\n\n if (outputDir) {\n writeStaticObjects(outputDir);\n }\n if (dependencyFile) {\n writeDependencyFile(dependencyFile);\n }\n return convertOntologyDefinition(ontologyDefinition, randomnessKey);\n}\n\nexport function writeStaticObjects(outputDir: string): void {\n const codegenDir = path.resolve(outputDir, \"codegen\");\n const typeDirs = {\n [OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE]: \"shared-property-types\",\n [OntologyEntityTypeEnum.ACTION_TYPE]: \"action-types\",\n [OntologyEntityTypeEnum.OBJECT_TYPE]: \"object-types\",\n [OntologyEntityTypeEnum.LINK_TYPE]: \"link-types\",\n [OntologyEntityTypeEnum.INTERFACE_TYPE]: \"interface-types\",\n [OntologyEntityTypeEnum.VALUE_TYPE]: \"value-types\",\n };\n\n if (!fs.existsSync(codegenDir)) {\n fs.mkdirSync(codegenDir, { recursive: true });\n }\n\n Object.values(typeDirs).forEach(typeDirNameFromMap => {\n const currentTypeDirPath = path.join(codegenDir, typeDirNameFromMap);\n if (fs.existsSync(currentTypeDirPath)) {\n fs.rmSync(currentTypeDirPath, { recursive: true, force: true });\n }\n fs.mkdirSync(currentTypeDirPath, { recursive: true });\n });\n\n const topLevelExportStatements: string[] = [];\n\n Object.entries(ontologyDefinition).forEach(\n ([ontologyTypeEnumKey, entities]) => {\n const typeDirName =\n typeDirs[ontologyTypeEnumKey as OntologyEntityTypeEnum];\n\n const typeDirPath = path.join(codegenDir, typeDirName);\n const entityModuleNames: string[] = [];\n\n Object.entries(entities).forEach(\n ([apiName, entity]: [string, OntologyEntityType]) => {\n const entityFileNameBase = camel(withoutNamespace(apiName))\n + (ontologyTypeEnumKey as OntologyEntityTypeEnum\n === OntologyEntityTypeEnum.VALUE_TYPE\n ? \"ValueType\"\n : \"\");\n const filePath = path.join(typeDirPath, `${entityFileNameBase}.ts`);\n const entityTypeName = getEntityTypeName(ontologyTypeEnumKey);\n const entityJSON = JSON.stringify(entity, null, 2).replace(\n /(\"__type\"\\s*:\\s*)\"([^\"]*)\"/g,\n (_, prefix, value) => `${prefix}OntologyEntityTypeEnum.${value}`,\n );\n const content = `\nimport { wrapWithProxy, OntologyEntityTypeEnum } from '@osdk/maker';\nimport type { ${entityTypeName} } from '@osdk/maker';\n\nconst ${entityFileNameBase}_base: ${entityTypeName} = ${\n ontologyTypeEnumKey === \"VALUE_TYPE\"\n ? entityJSON.slice(1, -2)\n : entityJSON\n } as unknown as ${entityTypeName};\n \nexport const ${entityFileNameBase}: ${entityTypeName} = wrapWithProxy(${entityFileNameBase}_base);\n `;\n fs.writeFileSync(filePath, content, { flag: \"w\" });\n entityModuleNames.push(entityFileNameBase);\n },\n );\n\n for (const entityModuleName of entityModuleNames) {\n topLevelExportStatements.push(\n `export { ${entityModuleName} } from \"./codegen/${typeDirName}/${entityModuleName}.js\";`,\n );\n }\n },\n );\n\n if (topLevelExportStatements.length > 0) {\n const mainIndexContent = dependencyInjectionString()\n + topLevelExportStatements.join(\"\\n\") + \"\\n\";\n const mainIndexFilePath = path.join(outputDir, \"index.ts\");\n fs.writeFileSync(mainIndexFilePath, mainIndexContent, { flag: \"w\" });\n }\n}\n\nexport function buildDatasource(\n apiName: string,\n definition: OntologyIrObjectTypeDatasourceDefinition,\n classificationMarkingGroupName?: string,\n mandatoryMarkingGroupName?: string,\n): OntologyIrObjectTypeDatasource {\n const needsSecurity = classificationMarkingGroupName !== undefined\n || mandatoryMarkingGroupName !== undefined;\n\n const securityConfig = needsSecurity\n ? {\n classificationConstraint: classificationMarkingGroupName\n ? {\n markingGroupName: classificationMarkingGroupName,\n }\n : undefined,\n markingConstraint: mandatoryMarkingGroupName\n ? {\n markingGroupName: mandatoryMarkingGroupName,\n }\n : undefined,\n }\n : undefined;\n return ({\n datasourceName: apiName,\n datasource: definition,\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: false,\n ...((securityConfig !== undefined) && { dataSecurity: securityConfig }),\n });\n}\n\nexport function cleanAndValidateLinkTypeId(apiName: string): string {\n // Insert a dash before any uppercase letter that follows a lowercase letter or digit\n const step1 = apiName.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\");\n // Insert a dash after a sequence of uppercase letters when followed by a lowercase letter\n // then convert the whole string to lowercase\n // e.g., apiName, APIname, and apiNAME will all be converted to api-name\n const linkTypeId = step1.replace(/([A-Z])([A-Z][a-z])/g, \"$1-$2\")\n .toLowerCase();\n\n const VALIDATION_PATTERN = /^([a-z][a-z0-9\\-]*)$/;\n if (!VALIDATION_PATTERN.test(linkTypeId)) {\n throw new Error(\n `LinkType id '${linkTypeId}' must be lower case with dashes.`,\n );\n }\n return linkTypeId;\n}\n\nexport function dumpOntologyFullMetadata(): OntologyIr {\n return convertOntologyDefinition(ontologyDefinition);\n}\n\nexport function dumpValueTypeWireType(): OntologyIrValueTypeBlockData {\n return convertOntologyToValueTypeIr(ontologyDefinition);\n}\n\nexport function convertObjectStatus(status: any): any {\n if (status === undefined) {\n return {\n type: \"active\",\n active: {},\n };\n }\n\n if (status === \"active\") {\n return {\n type: \"active\",\n active: {},\n };\n }\n\n if (status === \"experimental\") {\n return {\n type: \"experimental\",\n experimental: {},\n };\n }\n\n if (typeof status === \"object\" && status.type === \"deprecated\") {\n return {\n type: \"deprecated\",\n deprecated: {\n message: status.message,\n deadline: status.deadline,\n replacedBy: undefined,\n },\n };\n }\n\n return status;\n}\n\nexport function convertAction(\n action: ActionType,\n): OntologyIrActionTypeBlockDataV2 {\n const actionValidation = convertActionValidation(action);\n const actionParameters: Record<ParameterId, OntologyIrParameter> =\n convertActionParameters(action);\n const actionSections: Record<SectionId, OntologyIrSection> =\n convertActionSections(action);\n const parameterOrdering = action.parameterOrdering\n ?? (action.parameters ?? []).map(p => p.id);\n return {\n actionType: {\n actionTypeLogic: {\n logic: {\n rules: action.rules,\n },\n validation: actionValidation,\n },\n metadata: {\n apiName: action.apiName,\n displayMetadata: {\n configuration: {\n defaultLayout: action.defaultFormat ?? \"FORM\",\n displayAndFormat: action.displayAndFormat ?? {\n table: {\n columnWidthByParameterRid: {},\n enableFileImport: true,\n fitHorizontally: false,\n frozenColumnCount: 0,\n rowHeightInLines: 1,\n },\n },\n enableLayoutUserSwitch: action.enableLayoutSwitch ?? false,\n },\n description: action.description ?? \"\",\n displayName: action.displayName,\n icon: {\n type: \"blueprint\",\n blueprint: action.icon ?? { locator: \"edit\", color: \"#000000\" },\n },\n successMessage: action.submissionMetadata?.successMessage\n ? [{\n type: \"message\",\n message: action.submissionMetadata.successMessage,\n }]\n : [],\n typeClasses: action.typeClasses ?? [],\n ...(action.submissionMetadata?.submitButtonDisplayMetadata\n && {\n submitButtonDisplayMetadata:\n action.submissionMetadata.submitButtonDisplayMetadata,\n }),\n ...(action.submissionMetadata?.undoButtonConfiguration\n && {\n undoButtonConfiguration:\n action.submissionMetadata.undoButtonConfiguration,\n }),\n },\n parameterOrdering: parameterOrdering,\n formContentOrdering: getFormContentOrdering(action, parameterOrdering),\n parameters: actionParameters,\n sections: actionSections,\n status: typeof action.status === \"string\"\n ? {\n type: action.status,\n [action.status]: {},\n } as unknown as ActionTypeStatus\n : action.status,\n entities: action.entities,\n },\n },\n };\n}\n\nexport function extractAllowedValues(\n allowedValues: ActionParameterAllowedValues,\n): OntologyIrAllowedParameterValues {\n switch (allowedValues.type) {\n case \"oneOf\":\n return {\n type: \"oneOf\",\n oneOf: {\n type: \"oneOf\",\n oneOf: {\n labelledValues: allowedValues.oneOf,\n otherValueAllowed: {\n allowed: allowedValues.otherValueAllowed\n ?? false,\n },\n },\n },\n };\n case \"range\":\n const { min, max } = allowedValues;\n return {\n type: \"range\",\n range: {\n type: \"range\",\n range: {\n ...(min === undefined\n ? {}\n : { minimum: { inclusive: true, value: min } }),\n ...(max === undefined\n ? {}\n : { maximum: { inclusive: true, value: max } }),\n },\n },\n };\n case \"text\":\n const { minLength, maxLength, regex } = allowedValues;\n return {\n type: \"text\",\n text: {\n type: \"text\",\n text: {\n ...(minLength === undefined\n ? {}\n : { minLength: minLength }),\n ...(maxLength === undefined\n ? {}\n : { maxLength: maxLength }),\n ...(regex === undefined\n ? {}\n : { regex: { regex: regex, failureMessage: \"Invalid input\" } }),\n },\n },\n };\n case \"datetime\":\n const { minimum, maximum } = allowedValues;\n return {\n type: \"datetime\",\n datetime: {\n type: \"datetime\",\n datetime: {\n minimum,\n maximum,\n },\n },\n };\n case \"objectTypeReference\":\n return {\n type: \"objectTypeReference\",\n objectTypeReference: {\n type: \"objectTypeReference\",\n objectTypeReference: {\n interfaceTypeRids: allowedValues.interfaceTypes,\n },\n },\n };\n case \"redacted\":\n return {\n type: \"redacted\",\n redacted: {},\n };\n case \"geotimeSeriesReference\":\n return {\n type: \"geotimeSeriesReference\",\n geotimeSeriesReference: {\n type: \"geotimeSeries\",\n geotimeSeries: {},\n },\n };\n default:\n const k: Partial<OntologyIrAllowedParameterValues[\"type\"]> =\n allowedValues.type;\n return {\n type: k,\n [k]: {\n type: k,\n [k]: {},\n },\n } as unknown as OntologyIrAllowedParameterValues;\n // TODO(dpaquin): there's probably a TS clean way to do this\n }\n}\n\nexport function renderHintFromBaseType(\n parameter: ActionParameter,\n): ParameterRenderHint {\n // TODO(dpaquin): these are just guesses, we should find where they're actually defined\n const type = typeof parameter.type === \"string\"\n ? parameter.type\n : parameter.type.type;\n switch (type) {\n case \"boolean\":\n case \"booleanList\":\n return { type: \"checkbox\", checkbox: {} };\n case \"integer\":\n case \"integerList\":\n case \"long\":\n case \"longList\":\n case \"double\":\n case \"doubleList\":\n case \"decimal\":\n case \"decimalList\":\n return { type: \"numericInput\", numericInput: {} };\n case \"string\":\n case \"stringList\":\n case \"geohash\":\n case \"geohashList\":\n case \"geoshape\":\n case \"geoshapeList\":\n case \"objectSetRid\":\n return { type: \"textInput\", textInput: {} };\n case \"timestamp\":\n case \"timestampList\":\n case \"date\":\n case \"dateList\":\n return { type: \"dateTimePicker\", dateTimePicker: {} };\n case \"attachment\":\n case \"attachmentList\":\n return { type: \"filePicker\", filePicker: {} };\n case \"marking\":\n case \"markingList\":\n if (parameter.validation.allowedValues?.type === \"mandatoryMarking\") {\n return { type: \"mandatoryMarkingPicker\", mandatoryMarkingPicker: {} };\n } else if (parameter.validation.allowedValues?.type === \"cbacMarking\") {\n return { type: \"cbacMarkingPicker\", cbacMarkingPicker: {} };\n } else {\n throw new Error(\n `The allowed values for \"${parameter.displayName}\" are not compatible with the base parameter type`,\n );\n }\n case \"timeSeriesReference\":\n case \"objectReference\":\n case \"objectReferenceList\":\n case \"interfaceReference\":\n case \"interfaceReferenceList\":\n case \"objectTypeReference\":\n case \"mediaReference\":\n case \"mediaReferenceList\":\n case \"geotimeSeriesReference\":\n case \"geotimeSeriesReferenceList\":\n return { type: \"dropdown\", dropdown: {} };\n case \"struct\":\n case \"structList\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(`Unknown type ${type}`);\n }\n}\n\nexport function extractNamespace(apiName: string): string {\n return apiName.substring(0, apiName.lastIndexOf(\".\") + 1);\n}\n\nexport function withoutNamespace(apiName: string): string {\n const lastDot = apiName.lastIndexOf(\".\");\n if (lastDot === -1) {\n return apiName;\n }\n return apiName.substring(lastDot + 1);\n}\n\nfunction camel(str: string): string {\n if (!str) {\n return str;\n }\n let result = str.replace(/[-_]+(.)?/g, (_, c) => (c ? c.toUpperCase() : \"\"));\n result = result.charAt(0).toLowerCase() + result.slice(1);\n return result;\n}\n\n/**\n * Gets the TypeScript type name corresponding to an OntologyEntityTypeEnum value\n */\nfunction getEntityTypeName(type: string): string {\n return {\n [OntologyEntityTypeEnum.OBJECT_TYPE]: \"ObjectType\",\n [OntologyEntityTypeEnum.LINK_TYPE]: \"LinkType\",\n [OntologyEntityTypeEnum.INTERFACE_TYPE]: \"InterfaceType\",\n [OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE]: \"SharedPropertyType\",\n [OntologyEntityTypeEnum.ACTION_TYPE]: \"ActionType\",\n [OntologyEntityTypeEnum.VALUE_TYPE]: \"ValueTypeDefinitionVersion\",\n }[type]!;\n}\n\nfunction writeDependencyFile(dependencyFile: string): void {\n fs.writeFileSync(dependencyFile, JSON.stringify(dependencies, null, 2));\n}\n\nfunction dependencyInjectionString(): string {\n const namespaceNoDot: string = namespace.endsWith(\".\")\n ? namespace.slice(0, -1)\n : namespace;\n\n return `import { addDependency } from \"@osdk/maker\";\n// @ts-ignore\naddDependency(\"${namespaceNoDot}\", new URL(import.meta.url).pathname);\n`;\n}\n\nexport function addNamespaceIfNone(apiName: string): string {\n return apiName.includes(\".\") ? apiName : namespace + apiName;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"defineOntology.js","names":["fs","path","convertActionParameters","convertActionSections","convertActionValidation","convertOntologyDefinition","convertOntologyToValueTypeIr","getFormContentOrdering","OntologyEntityTypeEnum","ontologyDefinition","importedTypes","dependencies","namespace","updateOntology","entity","__type","VALUE_TYPE","apiName","undefined","push","defineOntology","ns","body","outputDir","dependencyFile","randomnessKey","OBJECT_TYPE","ACTION_TYPE","LINK_TYPE","INTERFACE_TYPE","SHARED_PROPERTY_TYPE","e","console","error","writeStaticObjects","writeDependencyFile","codegenDir","resolve","typeDirs","existsSync","mkdirSync","recursive","Object","values","forEach","typeDirNameFromMap","currentTypeDirPath","join","rmSync","force","topLevelExportStatements","entries","ontologyTypeEnumKey","entities","typeDirName","typeDirPath","entityModuleNames","entityFileNameBase","camel","withoutNamespace","filePath","entityTypeName","getEntityTypeName","entityJSON","JSON","stringify","replace","_","prefix","value","content","slice","writeFileSync","flag","entityModuleName","length","mainIndexContent","dependencyInjectionString","mainIndexFilePath","buildDatasource","definition","classificationMarkingGroupName","mandatoryMarkingGroupName","needsSecurity","securityConfig","classificationConstraint","markingGroupName","markingConstraint","datasourceName","datasource","editsConfiguration","onlyAllowPrivilegedEdits","redacted","dataSecurity","cleanAndValidateLinkTypeId","step1","linkTypeId","toLowerCase","test","Error","dumpOntologyFullMetadata","dumpValueTypeWireType","convertObjectStatus","status","type","active","experimental","deprecated","message","deadline","replacedBy","convertAction","action","actionValidation","actionParameters","actionSections","parameterOrdering","parameters","map","p","id","actionType","actionTypeLogic","logic","rules","validation","metadata","displayMetadata","configuration","defaultLayout","defaultFormat","displayAndFormat","table","columnWidthByParameterRid","enableFileImport","fitHorizontally","frozenColumnCount","rowHeightInLines","enableLayoutUserSwitch","enableLayoutSwitch","description","displayName","icon","blueprint","locator","color","successMessage","submissionMetadata","typeClasses","submitButtonDisplayMetadata","undoButtonConfiguration","formContentOrdering","sections","extractAllowedValues","allowedValues","oneOf","labelledValues","otherValueAllowed","allowed","min","max","range","minimum","inclusive","maximum","minLength","maxLength","regex","text","failureMessage","datetime","objectTypeReference","interfaceTypeRids","interfaceTypes","geotimeSeriesReference","geotimeSeries","k","renderHintFromBaseType","parameter","checkbox","numericInput","textInput","dateTimePicker","filePicker","mandatoryMarkingPicker","cbacMarkingPicker","dropdown","extractNamespace","substring","lastIndexOf","lastDot","str","result","c","toUpperCase","charAt","namespaceNoDot","endsWith","addNamespaceIfNone","includes"],"sources":["defineOntology.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n ActionTypeStatus,\n OntologyIr,\n OntologyIrActionTypeBlockDataV2,\n OntologyIrAllowedParameterValues,\n OntologyIrObjectTypeDatasource,\n OntologyIrObjectTypeDatasourceDefinition,\n OntologyIrParameter,\n OntologyIrSection,\n OntologyIrValueTypeBlockData,\n ParameterId,\n ParameterRenderHint,\n SectionId,\n} from \"@osdk/client.unstable\";\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport { convertActionParameters } from \"../conversion/toMarketplace/convertActionParameters.js\";\nimport { convertActionSections } from \"../conversion/toMarketplace/convertActionSections.js\";\nimport { convertActionValidation } from \"../conversion/toMarketplace/convertActionValidation.js\";\nimport { convertOntologyDefinition } from \"../conversion/toMarketplace/convertOntologyDefinition.js\";\nimport { convertOntologyToValueTypeIr } from \"../conversion/toMarketplace/convertOntologyToValueTypeIr.js\";\nimport { getFormContentOrdering } from \"../conversion/toMarketplace/getFormContentOrdering.js\";\nimport type { ActionParameter } from \"./action/ActionParameter.js\";\nimport type { ActionParameterAllowedValues } from \"./action/ActionParameterAllowedValues.js\";\nimport type { ActionType } from \"./action/ActionType.js\";\nimport type { OntologyDefinition } from \"./common/OntologyDefinition.js\";\nimport { OntologyEntityTypeEnum } from \"./common/OntologyEntityTypeEnum.js\";\nimport type { OntologyEntityType } from \"./common/OntologyEntityTypeMapping.js\";\n\n// type -> apiName -> entity\n/** @internal */\nexport let ontologyDefinition: OntologyDefinition;\n\n// type -> apiName -> entity\n/** @internal */\nexport let importedTypes: OntologyDefinition;\n\n// namespace -> version\n/** @internal */\nexport let dependencies: Record<string, string>;\n\n/** @internal */\nexport let namespace: string;\n\nexport function updateOntology<\n T extends OntologyEntityType,\n>(\n entity: T,\n): void {\n if (entity.__type !== OntologyEntityTypeEnum.VALUE_TYPE) {\n ontologyDefinition[entity.__type][entity.apiName] = entity;\n return;\n }\n // value types are a special case\n if (\n ontologyDefinition[OntologyEntityTypeEnum.VALUE_TYPE][entity.apiName]\n === undefined\n ) {\n ontologyDefinition[OntologyEntityTypeEnum.VALUE_TYPE][entity.apiName] = [];\n }\n ontologyDefinition[OntologyEntityTypeEnum.VALUE_TYPE][entity.apiName]\n .push(entity);\n}\n\nexport async function defineOntology(\n ns: string,\n body: () => void | Promise<void>,\n outputDir: string | undefined,\n dependencyFile?: string,\n randomnessKey?: string,\n): Promise<OntologyIr> {\n namespace = ns;\n dependencies = {};\n ontologyDefinition = {\n OBJECT_TYPE: {},\n ACTION_TYPE: {},\n LINK_TYPE: {},\n INTERFACE_TYPE: {},\n SHARED_PROPERTY_TYPE: {},\n VALUE_TYPE: {},\n };\n importedTypes = {\n SHARED_PROPERTY_TYPE: {},\n OBJECT_TYPE: {},\n ACTION_TYPE: {},\n LINK_TYPE: {},\n INTERFACE_TYPE: {},\n VALUE_TYPE: {},\n };\n try {\n await body();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\n \"Unexpected error while processing the body of the ontology\",\n e,\n );\n throw e;\n }\n\n if (outputDir) {\n writeStaticObjects(outputDir);\n }\n if (dependencyFile) {\n writeDependencyFile(dependencyFile);\n }\n return convertOntologyDefinition(ontologyDefinition, randomnessKey);\n}\n\nexport function writeStaticObjects(outputDir: string): void {\n const codegenDir = path.resolve(outputDir, \"codegen\");\n const typeDirs = {\n [OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE]: \"shared-property-types\",\n [OntologyEntityTypeEnum.ACTION_TYPE]: \"action-types\",\n [OntologyEntityTypeEnum.OBJECT_TYPE]: \"object-types\",\n [OntologyEntityTypeEnum.LINK_TYPE]: \"link-types\",\n [OntologyEntityTypeEnum.INTERFACE_TYPE]: \"interface-types\",\n [OntologyEntityTypeEnum.VALUE_TYPE]: \"value-types\",\n };\n\n if (!fs.existsSync(codegenDir)) {\n fs.mkdirSync(codegenDir, { recursive: true });\n }\n\n Object.values(typeDirs).forEach(typeDirNameFromMap => {\n const currentTypeDirPath = path.join(codegenDir, typeDirNameFromMap);\n if (fs.existsSync(currentTypeDirPath)) {\n fs.rmSync(currentTypeDirPath, { recursive: true, force: true });\n }\n fs.mkdirSync(currentTypeDirPath, { recursive: true });\n });\n\n const topLevelExportStatements: string[] = [];\n\n Object.entries(ontologyDefinition).forEach(\n ([ontologyTypeEnumKey, entities]) => {\n const typeDirName =\n typeDirs[ontologyTypeEnumKey as OntologyEntityTypeEnum];\n\n const typeDirPath = path.join(codegenDir, typeDirName);\n const entityModuleNames: string[] = [];\n\n Object.entries(entities).forEach(\n ([apiName, entity]: [string, OntologyEntityType]) => {\n const entityFileNameBase = camel(withoutNamespace(apiName))\n + (ontologyTypeEnumKey as OntologyEntityTypeEnum\n === OntologyEntityTypeEnum.VALUE_TYPE\n ? \"ValueType\"\n : \"\");\n const filePath = path.join(typeDirPath, `${entityFileNameBase}.ts`);\n const entityTypeName = getEntityTypeName(ontologyTypeEnumKey);\n const entityJSON = JSON.stringify(entity, null, 2).replace(\n /(\"__type\"\\s*:\\s*)\"([^\"]*)\"/g,\n (_, prefix, value) => `${prefix}OntologyEntityTypeEnum.${value}`,\n );\n const content = `\nimport { wrapWithProxy, OntologyEntityTypeEnum } from '@osdk/maker';\nimport type { ${entityTypeName} } from '@osdk/maker';\n\n/** @type {import('@osdk/maker').${entityTypeName}} */\nconst ${entityFileNameBase}_base: ${entityTypeName} = ${\n ontologyTypeEnumKey === \"VALUE_TYPE\"\n ? entityJSON.slice(1, -2)\n : entityJSON\n } as unknown as ${entityTypeName};\n \nexport const ${entityFileNameBase}: ${entityTypeName} = wrapWithProxy(${entityFileNameBase}_base);\n `;\n fs.writeFileSync(filePath, content, { flag: \"w\" });\n entityModuleNames.push(entityFileNameBase);\n },\n );\n\n for (const entityModuleName of entityModuleNames) {\n topLevelExportStatements.push(\n `export { ${entityModuleName} } from \"./codegen/${typeDirName}/${entityModuleName}.js\";`,\n );\n }\n },\n );\n\n if (topLevelExportStatements.length > 0) {\n const mainIndexContent = dependencyInjectionString()\n + topLevelExportStatements.join(\"\\n\") + \"\\n\";\n const mainIndexFilePath = path.join(outputDir, \"index.ts\");\n fs.writeFileSync(mainIndexFilePath, mainIndexContent, { flag: \"w\" });\n }\n}\n\nexport function buildDatasource(\n apiName: string,\n definition: OntologyIrObjectTypeDatasourceDefinition,\n classificationMarkingGroupName?: string,\n mandatoryMarkingGroupName?: string,\n): OntologyIrObjectTypeDatasource {\n const needsSecurity = classificationMarkingGroupName !== undefined\n || mandatoryMarkingGroupName !== undefined;\n\n const securityConfig = needsSecurity\n ? {\n classificationConstraint: classificationMarkingGroupName\n ? {\n markingGroupName: classificationMarkingGroupName,\n }\n : undefined,\n markingConstraint: mandatoryMarkingGroupName\n ? {\n markingGroupName: mandatoryMarkingGroupName,\n }\n : undefined,\n }\n : undefined;\n return ({\n datasourceName: apiName,\n datasource: definition,\n editsConfiguration: {\n onlyAllowPrivilegedEdits: false,\n },\n redacted: false,\n ...((securityConfig !== undefined) && { dataSecurity: securityConfig }),\n });\n}\n\nexport function cleanAndValidateLinkTypeId(apiName: string): string {\n // Insert a dash before any uppercase letter that follows a lowercase letter or digit\n const step1 = apiName.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\");\n // Insert a dash after a sequence of uppercase letters when followed by a lowercase letter\n // then convert the whole string to lowercase\n // e.g., apiName, APIname, and apiNAME will all be converted to api-name\n const linkTypeId = step1.replace(/([A-Z])([A-Z][a-z])/g, \"$1-$2\")\n .toLowerCase();\n\n const VALIDATION_PATTERN = /^([a-z][a-z0-9\\-]*)$/;\n if (!VALIDATION_PATTERN.test(linkTypeId)) {\n throw new Error(\n `LinkType id '${linkTypeId}' must be lower case with dashes.`,\n );\n }\n return linkTypeId;\n}\n\nexport function dumpOntologyFullMetadata(): OntologyIr {\n return convertOntologyDefinition(ontologyDefinition);\n}\n\nexport function dumpValueTypeWireType(): OntologyIrValueTypeBlockData {\n return convertOntologyToValueTypeIr(ontologyDefinition);\n}\n\nexport function convertObjectStatus(status: any): any {\n if (status === undefined) {\n return {\n type: \"active\",\n active: {},\n };\n }\n\n if (status === \"active\") {\n return {\n type: \"active\",\n active: {},\n };\n }\n\n if (status === \"experimental\") {\n return {\n type: \"experimental\",\n experimental: {},\n };\n }\n\n if (typeof status === \"object\" && status.type === \"deprecated\") {\n return {\n type: \"deprecated\",\n deprecated: {\n message: status.message,\n deadline: status.deadline,\n replacedBy: undefined,\n },\n };\n }\n\n return status;\n}\n\nexport function convertAction(\n action: ActionType,\n): OntologyIrActionTypeBlockDataV2 {\n const actionValidation = convertActionValidation(action);\n const actionParameters: Record<ParameterId, OntologyIrParameter> =\n convertActionParameters(action);\n const actionSections: Record<SectionId, OntologyIrSection> =\n convertActionSections(action);\n const parameterOrdering = action.parameterOrdering\n ?? (action.parameters ?? []).map(p => p.id);\n return {\n actionType: {\n actionTypeLogic: {\n logic: {\n rules: action.rules,\n },\n validation: actionValidation,\n },\n metadata: {\n apiName: action.apiName,\n displayMetadata: {\n configuration: {\n defaultLayout: action.defaultFormat ?? \"FORM\",\n displayAndFormat: action.displayAndFormat ?? {\n table: {\n columnWidthByParameterRid: {},\n enableFileImport: true,\n fitHorizontally: false,\n frozenColumnCount: 0,\n rowHeightInLines: 1,\n },\n },\n enableLayoutUserSwitch: action.enableLayoutSwitch ?? false,\n },\n description: action.description ?? \"\",\n displayName: action.displayName,\n icon: {\n type: \"blueprint\",\n blueprint: action.icon ?? { locator: \"edit\", color: \"#000000\" },\n },\n successMessage: action.submissionMetadata?.successMessage\n ? [{\n type: \"message\",\n message: action.submissionMetadata.successMessage,\n }]\n : [],\n typeClasses: action.typeClasses ?? [],\n ...(action.submissionMetadata?.submitButtonDisplayMetadata\n && {\n submitButtonDisplayMetadata:\n action.submissionMetadata.submitButtonDisplayMetadata,\n }),\n ...(action.submissionMetadata?.undoButtonConfiguration\n && {\n undoButtonConfiguration:\n action.submissionMetadata.undoButtonConfiguration,\n }),\n },\n parameterOrdering: parameterOrdering,\n formContentOrdering: getFormContentOrdering(action, parameterOrdering),\n parameters: actionParameters,\n sections: actionSections,\n status: typeof action.status === \"string\"\n ? {\n type: action.status,\n [action.status]: {},\n } as unknown as ActionTypeStatus\n : action.status,\n entities: action.entities,\n },\n },\n };\n}\n\nexport function extractAllowedValues(\n allowedValues: ActionParameterAllowedValues,\n): OntologyIrAllowedParameterValues {\n switch (allowedValues.type) {\n case \"oneOf\":\n return {\n type: \"oneOf\",\n oneOf: {\n type: \"oneOf\",\n oneOf: {\n labelledValues: allowedValues.oneOf,\n otherValueAllowed: {\n allowed: allowedValues.otherValueAllowed\n ?? false,\n },\n },\n },\n };\n case \"range\":\n const { min, max } = allowedValues;\n return {\n type: \"range\",\n range: {\n type: \"range\",\n range: {\n ...(min === undefined\n ? {}\n : { minimum: { inclusive: true, value: min } }),\n ...(max === undefined\n ? {}\n : { maximum: { inclusive: true, value: max } }),\n },\n },\n };\n case \"text\":\n const { minLength, maxLength, regex } = allowedValues;\n return {\n type: \"text\",\n text: {\n type: \"text\",\n text: {\n ...(minLength === undefined\n ? {}\n : { minLength: minLength }),\n ...(maxLength === undefined\n ? {}\n : { maxLength: maxLength }),\n ...(regex === undefined\n ? {}\n : { regex: { regex: regex, failureMessage: \"Invalid input\" } }),\n },\n },\n };\n case \"datetime\":\n const { minimum, maximum } = allowedValues;\n return {\n type: \"datetime\",\n datetime: {\n type: \"datetime\",\n datetime: {\n minimum,\n maximum,\n },\n },\n };\n case \"objectTypeReference\":\n return {\n type: \"objectTypeReference\",\n objectTypeReference: {\n type: \"objectTypeReference\",\n objectTypeReference: {\n interfaceTypeRids: allowedValues.interfaceTypes,\n },\n },\n };\n case \"redacted\":\n return {\n type: \"redacted\",\n redacted: {},\n };\n case \"geotimeSeriesReference\":\n return {\n type: \"geotimeSeriesReference\",\n geotimeSeriesReference: {\n type: \"geotimeSeries\",\n geotimeSeries: {},\n },\n };\n default:\n const k: Partial<OntologyIrAllowedParameterValues[\"type\"]> =\n allowedValues.type;\n return {\n type: k,\n [k]: {\n type: k,\n [k]: {},\n },\n } as unknown as OntologyIrAllowedParameterValues;\n // TODO(dpaquin): there's probably a TS clean way to do this\n }\n}\n\nexport function renderHintFromBaseType(\n parameter: ActionParameter,\n): ParameterRenderHint {\n // TODO(dpaquin): these are just guesses, we should find where they're actually defined\n const type = typeof parameter.type === \"string\"\n ? parameter.type\n : parameter.type.type;\n switch (type) {\n case \"boolean\":\n case \"booleanList\":\n return { type: \"checkbox\", checkbox: {} };\n case \"integer\":\n case \"integerList\":\n case \"long\":\n case \"longList\":\n case \"double\":\n case \"doubleList\":\n case \"decimal\":\n case \"decimalList\":\n return { type: \"numericInput\", numericInput: {} };\n case \"string\":\n case \"stringList\":\n case \"geohash\":\n case \"geohashList\":\n case \"geoshape\":\n case \"geoshapeList\":\n case \"objectSetRid\":\n return { type: \"textInput\", textInput: {} };\n case \"timestamp\":\n case \"timestampList\":\n case \"date\":\n case \"dateList\":\n return { type: \"dateTimePicker\", dateTimePicker: {} };\n case \"attachment\":\n case \"attachmentList\":\n return { type: \"filePicker\", filePicker: {} };\n case \"marking\":\n case \"markingList\":\n if (parameter.validation.allowedValues?.type === \"mandatoryMarking\") {\n return { type: \"mandatoryMarkingPicker\", mandatoryMarkingPicker: {} };\n } else if (parameter.validation.allowedValues?.type === \"cbacMarking\") {\n return { type: \"cbacMarkingPicker\", cbacMarkingPicker: {} };\n } else {\n throw new Error(\n `The allowed values for \"${parameter.displayName}\" are not compatible with the base parameter type`,\n );\n }\n case \"timeSeriesReference\":\n case \"objectReference\":\n case \"objectReferenceList\":\n case \"interfaceReference\":\n case \"interfaceReferenceList\":\n case \"objectTypeReference\":\n case \"mediaReference\":\n case \"mediaReferenceList\":\n case \"geotimeSeriesReference\":\n case \"geotimeSeriesReferenceList\":\n return { type: \"dropdown\", dropdown: {} };\n case \"struct\":\n case \"structList\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(`Unknown type ${type}`);\n }\n}\n\nexport function extractNamespace(apiName: string): string {\n return apiName.substring(0, apiName.lastIndexOf(\".\") + 1);\n}\n\nexport function withoutNamespace(apiName: string): string {\n const lastDot = apiName.lastIndexOf(\".\");\n if (lastDot === -1) {\n return apiName;\n }\n return apiName.substring(lastDot + 1);\n}\n\nfunction camel(str: string): string {\n if (!str) {\n return str;\n }\n let result = str.replace(/[-_]+(.)?/g, (_, c) => (c ? c.toUpperCase() : \"\"));\n result = result.charAt(0).toLowerCase() + result.slice(1);\n return result;\n}\n\n/**\n * Gets the TypeScript type name corresponding to an OntologyEntityTypeEnum value\n */\nfunction getEntityTypeName(type: string): string {\n return {\n [OntologyEntityTypeEnum.OBJECT_TYPE]: \"ObjectType\",\n [OntologyEntityTypeEnum.LINK_TYPE]: \"LinkType\",\n [OntologyEntityTypeEnum.INTERFACE_TYPE]: \"InterfaceType\",\n [OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE]: \"SharedPropertyType\",\n [OntologyEntityTypeEnum.ACTION_TYPE]: \"ActionType\",\n [OntologyEntityTypeEnum.VALUE_TYPE]: \"ValueTypeDefinitionVersion\",\n }[type]!;\n}\n\nfunction writeDependencyFile(dependencyFile: string): void {\n fs.writeFileSync(dependencyFile, JSON.stringify(dependencies, null, 2));\n}\n\nfunction dependencyInjectionString(): string {\n const namespaceNoDot: string = namespace.endsWith(\".\")\n ? namespace.slice(0, -1)\n : namespace;\n\n return `import { addDependency } from \"@osdk/maker\";\n// @ts-ignore\naddDependency(\"${namespaceNoDot}\", new URL(import.meta.url).pathname);\n`;\n}\n\nexport function addNamespaceIfNone(apiName: string): string {\n return apiName.includes(\".\") ? apiName : namespace + apiName;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13377,6 +13377,7 @@ const spt={apiName:"com.other.package.spt",nonNameSpacedApiName:"spt",type:"stri
13377
13377
  import { wrapWithProxy, OntologyEntityTypeEnum } from '@osdk/maker';
13378
13378
  import type { InterfaceType } from '@osdk/maker';
13379
13379
 
13380
+ /** @type {import('@osdk/maker').InterfaceType} */
13380
13381
  const myInterface_base: InterfaceType = {
13381
13382
  "apiName": "com.my.package.myInterface",
13382
13383
  "displayMetadata": {
@@ -13422,6 +13423,7 @@ const spt={apiName:"com.other.package.spt",nonNameSpacedApiName:"spt",type:"stri
13422
13423
  import { wrapWithProxy, OntologyEntityTypeEnum } from '@osdk/maker';
13423
13424
  import type { ObjectType } from '@osdk/maker';
13424
13425
 
13426
+ /** @type {import('@osdk/maker').ObjectType} */
13425
13427
  const myObject_base: ObjectType = {
13426
13428
  "titlePropertyApiName": "bar",
13427
13429
  "displayName": "My Object",
@@ -13492,6 +13494,7 @@ const spt={apiName:"com.other.package.spt",nonNameSpacedApiName:"spt",type:"stri
13492
13494
  import { wrapWithProxy, OntologyEntityTypeEnum } from '@osdk/maker';
13493
13495
  import type { SharedPropertyType } from '@osdk/maker';
13494
13496
 
13497
+ /** @type {import('@osdk/maker').SharedPropertyType} */
13495
13498
  const mySpt_base: SharedPropertyType = {
13496
13499
  "apiName": "com.my.package.mySpt",
13497
13500
  "type": "string",
@@ -13517,6 +13520,7 @@ const spt={apiName:"com.other.package.spt",nonNameSpacedApiName:"spt",type:"stri
13517
13520
  import { wrapWithProxy, OntologyEntityTypeEnum } from '@osdk/maker';
13518
13521
  import type { InterfaceType } from '@osdk/maker';
13519
13522
 
13523
+ /** @type {import('@osdk/maker').InterfaceType} */
13520
13524
  const childInterface_base: InterfaceType = {
13521
13525
  "apiName": "com.palantir.childInterface",
13522
13526
  "displayMetadata": {