@osdk/generator 2.2.0-beta.6 → 2.2.0-beta.7
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 +16 -0
- package/build/browser/shared/getObjectTypesFromQueryDataType.js +1 -0
- package/build/browser/shared/getObjectTypesFromQueryDataType.js.map +1 -1
- package/build/browser/util/test/TodoWireOntology.js +4 -2
- package/build/browser/util/test/TodoWireOntology.js.map +1 -1
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +83 -3
- package/build/browser/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js +6 -3
- package/build/browser/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
- package/build/cjs/index.cjs +1138 -69
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/prompt-IKRSF7JL.cjs +954 -0
- package/build/cjs/prompt-IKRSF7JL.cjs.map +1 -0
- package/build/esm/shared/getObjectTypesFromQueryDataType.js +1 -0
- package/build/esm/shared/getObjectTypesFromQueryDataType.js.map +1 -1
- package/build/esm/util/test/TodoWireOntology.js +4 -2
- package/build/esm/util/test/TodoWireOntology.js.map +1 -1
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js +83 -3
- package/build/esm/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.test.js.map +1 -1
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js +6 -3
- package/build/esm/v2.0/generateClientSdkVersionTwoPointZero.test.js.map +1 -1
- package/package.json +7 -7
- package/build/cjs/chunk-XOCES5YA.cjs +0 -978
- package/build/cjs/chunk-XOCES5YA.cjs.map +0 -1
- package/build/cjs/prompt-YMFYYBNJ.cjs +0 -860
- package/build/cjs/prompt-YMFYYBNJ.cjs.map +0 -1
package/build/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/GenerateContext/EnhancedBase.ts","../../src/GenerateContext/EnhancedAction.ts","../../src/util/deleteUndefineds.ts","../../src/GenerateContext/EnhancedInterfaceType.ts","../../src/GenerateContext/EnhancedObjectType.ts","../../src/GenerateContext/EnhancedQuery.ts","../../src/GenerateContext/EnhancedSharedPropertyType.ts","../../src/GenerateContext/ForeignType.ts","../../src/GenerateContext/EnhancedOntologyDefinition.ts","../../src/GenerateContext/enhanceOntology.ts","../../src/shared/sanitizeMetadata.ts","../../src/util/verifyOutDir.ts","../../src/util/test/formatTs.ts","../../src/v2.0/generateMetadata.ts","../../src/shared/getObjectImports.ts","../../src/util/stringify.ts","../../src/util/stringUnionFrom.ts","../../src/v2.0/getDescriptionIfPresent.ts","../../src/v2.0/generatePerActionDataFiles.ts","../../src/shared/propertyJsdoc.ts","../../src/v2.0/wireObjectTypeV2ToSdkObjectConstV2.ts","../../src/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.ts","../../src/v2.0/generatePerInterfaceDataFiles.ts","../../src/v2.0/generatePerObjectDataFiles.ts","../../src/shared/getObjectTypesFromQueryDataType.ts","../../src/shared/getObjectTypeApiNamesFromQuery.ts","../../src/v2.0/generatePerQueryDataFiles.ts","../../src/v2.0/generateRootIndexTsFile.ts","../../src/v2.0/generateClientSdkVersionTwoPointZero.ts","../../src/generateClientSdkPackage.ts"],"names":["path","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","wireObjectTypeFullMetadataToSdkObjectMetadata","fs","format","value","wireActionTypeV2ToSdkActionMetadata","consola","object","forInternalUse","definition","fastDeepEqual","invariant","wireQueryTypeV2ToSdkQueryDefinitionNoParams","wireQueryDataTypeToQueryDataTypeDefinition","paramToDef","x","path8"],"mappings":"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","file":"index.cjs","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 * as path from \"node:path\";\nexport class AbstractImportable {\n /**\n * Either a path relative to the ourDir (e.g. \"./ontology/objects/foo.js\") or a normal\n * module import (e.g. \"@something/foo\")/\n */\n\n constructor(common, fullApiName, basePath, isLocal = true) {\n this._common = common;\n this.fullApiName = fullApiName;\n [this.apiNamespace, this.shortApiName] = extractNamespace(this.fullApiName);\n const {\n importExt\n } = common;\n this.importPath = isLocal ? `${basePath}/${this.shortApiName}${importExt}` : basePath;\n this.uniqueImportName = this.shortApiName;\n }\n getImportPathRelTo = filePath => {\n if (this.importPath.startsWith(\".\")) {\n const result = path.relative(path.dirname(filePath), this.importPath).split(path.sep).join(\"/\");\n if (result.startsWith(\".\")) {\n return result;\n } else {\n return `./${result}`;\n }\n } else {\n return this.importPath;\n }\n };\n}\nexport class EnhancedBase extends AbstractImportable {\n constructor(common, raw, fullApiName, basePath) {\n super(common, fullApiName, basePath);\n this.raw = raw;\n }\n}\nexport function extractNamespace(fqApiName) {\n const last = fqApiName.lastIndexOf(\".\");\n if (last === -1) return [undefined, fqApiName];\n return [fqApiName.slice(0, last), fqApiName.slice(last + 1)];\n}","/*\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 { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedAction extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/actions\");\n this.raw = raw;\n }\n get description() {\n return this.raw.description;\n }\n get parameters() {\n return this.raw.parameters;\n }\n get operations() {\n return this.raw.operations;\n }\n get paramsIdentifier() {\n return `${this.shortApiName}.Params`;\n }\n get definitionIdentifier() {\n return `${this.shortApiName}.Definition`;\n }\n get definitionParamsIdentifier() {\n return `${this.shortApiName}.ParamsDefinition`;\n }\n}","/*\n * Copyright 2023 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\nexport function deleteUndefineds(obj) {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined));\n}","/*\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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedInterfaceType extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/interfaces\");\n this.raw = raw;\n }\n getDefinitionIdentifier(v2) {\n return v2 ? this.shortApiName : `${this.shortApiName}Def`;\n }\n getImportedDefinitionIdentifier(v2) {\n return this.getDefinitionIdentifier(v2);\n }\n get properties() {\n return this.raw.properties;\n }\n getCleanedUpDefinition(v2) {\n return deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(this.raw, v2));\n }\n}","/*\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 { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedObjectType extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.objectType.apiName, \"./ontology/objects\");\n this.raw = raw;\n }\n getDefinitionIdentifier(v2) {\n return v2 ? this.shortApiName : `${this.shortApiName}Def`;\n }\n getImportedDefinitionIdentifier(v2) {\n return this.getDefinitionIdentifier(v2);\n }\n getCleanedUpDefinition(v2) {\n return deleteUndefineds(wireObjectTypeFullMetadataToSdkObjectMetadata(this.raw, v2));\n }\n}","/*\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 { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedQuery extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/queries\");\n this.raw = raw;\n }\n get description() {\n return this.raw.description;\n }\n get parameters() {\n return this.raw.parameters;\n }\n get output() {\n return this.raw.output;\n }\n get paramsIdentifier() {\n return `${this.shortApiName}.Parameters`;\n }\n get definitionIdentifier() {\n return this.shortApiName;\n }\n get definitionParamsIdentifier() {\n return `${this.definitionIdentifier}$Params`;\n }\n}","/*\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 { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedSharedPropertyType extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/interfaces\");\n this.raw = raw;\n }\n}","/*\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 { AbstractImportable } from \"./EnhancedBase.js\";\nexport class ForeignType extends AbstractImportable {\n constructor(_common, apiNamespace, shortApiName, destinationPackage) {\n super(_common, apiNamespace ? `${apiNamespace}.${shortApiName}` : shortApiName, destinationPackage, false);\n this._common = _common;\n }\n getImportedDefinitionIdentifier(v2) {\n return `$Imported$${this.apiNamespace?.replace(/\\./g, \"$\")}$${this.shortApiName}`;\n }\n getDefinitionIdentifier(v2) {\n return this.uniqueImportName;\n }\n}","/*\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 { EnhancedAction } from \"./EnhancedAction.js\";\nimport { extractNamespace } from \"./EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"./EnhancedInterfaceType.js\";\nimport { EnhancedObjectType } from \"./EnhancedObjectType.js\";\nimport { EnhancedQuery } from \"./EnhancedQuery.js\";\nimport { EnhancedSharedPropertyType } from \"./EnhancedSharedPropertyType.js\";\nimport { ForeignType } from \"./ForeignType.js\";\nexport class EnhancedOntologyDefinition {\n #foreignTypes = {};\n constructor(raw, importExt, externalObjects, externalInterfaces, externalSpts) {\n this.common = {\n enhancedOntology: this,\n importExt\n };\n this.raw = raw;\n this.ontology = raw.ontology;\n this.objectTypes = remap(raw.objectTypes, this.common, EnhancedObjectType, externalObjects);\n this.actionTypes = remap(raw.actionTypes, this.common, EnhancedAction);\n this.queryTypes = remap(raw.queryTypes, this.common, EnhancedQuery);\n this.interfaceTypes = remap(raw.interfaceTypes, this.common, EnhancedInterfaceType, externalInterfaces);\n this.sharedPropertyTypes = remap(raw.sharedPropertyTypes, this.common, EnhancedSharedPropertyType, externalSpts);\n }\n #createRequireType = type => {\n return (fullApiName, localOnly) => {\n const ret = this[type][fullApiName];\n if (!ret) {\n const [apiNamespace, shortApiName] = extractNamespace(fullApiName);\n throw new Error(`Unable to find ${type}: No entry for '${fullApiName}`);\n }\n return ret;\n };\n };\n requireObjectType = this.#createRequireType(\"objectTypes\");\n requireInterfaceType = this.#createRequireType(\"interfaceTypes\");\n requireActionType = this.#createRequireType(\"actionTypes\");\n requireQueryType = this.#createRequireType(\"queryTypes\");\n requireSharedPropertyType = this.#createRequireType(\"sharedPropertyTypes\");\n}\nfunction remap(r, common, Constructor, externalMap) {\n const entries = [];\n for (const [fullApiName, v] of Object.entries(r ?? {})) {\n if (externalMap?.has(fullApiName)) {\n // skip it, we handle it below\n } else {\n entries.push([fullApiName, new Constructor(common, v)]);\n }\n }\n if (externalMap) {\n for (const [fullApiName, destPackage] of externalMap) {\n const [apiNamespace, shortApiName] = extractNamespace(fullApiName);\n // I think this check should be required but the ontology manager / dev console doesn't enforce it right now\n // if (apiNamespace === undefined) {\n // throw new Error(\n // `Cannot reference an external type (${fullApiName}) that is missing a namespace`,\n // );\n // }\n entries.push([fullApiName, new ForeignType(common, apiNamespace, shortApiName, destPackage)]);\n }\n }\n return Object.fromEntries(entries.sort((a, b) => a[0].localeCompare(b[0])));\n}","/*\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 { EnhancedOntologyDefinition } from \"./EnhancedOntologyDefinition.js\";\nexport function enhanceOntology({\n sanitized,\n importExt,\n externalObjects,\n externalInterfaces,\n externalSpts\n}) {\n return new EnhancedOntologyDefinition(sanitized, importExt, externalObjects, externalInterfaces, externalSpts);\n}","/*\n * Copyright 2023 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\n/**\n * @internal\n */\n\n/**\n * @internal\n */\n\n/**\n * @internal\n */\nexport function sanitizeMetadata(ontology) {\n return {\n ...ontology,\n actionTypes: Object.fromEntries(Object.values(ontology.actionTypes).map(actionType => {\n return [camelize(actionType.apiName), {\n ...actionType,\n apiName: camelize(actionType.apiName)\n }];\n }))\n };\n}\nfunction camelize(name) {\n return name.replace(/-./g, segment => segment[1].toUpperCase());\n}","/*\n * Copyright 2023 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\n/**\n * Verify that the target outDir does not yet exist OR is empty.\n *\n * Re-generating an ontology on top of itself is not supported and may leave old\n * files around or refuse to update files with new contents in some cases.\n */\nexport async function verifyOutDir(outDir, fs) {\n // if outDir exists and is not empty, we cannot proceed with the generation\n try {\n const contents = await fs.readdir(outDir);\n if (contents.length !== 0) {\n throw new Error(`outDir ${outDir} is not empty, please delete its contents and try again`);\n }\n } catch (e) {\n if (e.code === \"ENOENT\") {\n // acceptable, we'll create the directory ourselves\n } else {\n throw e;\n }\n }\n}","/*\n * Copyright 2023 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 { format } from \"prettier\";\nexport function formatTs(contents) {\n try {\n return format(contents, {\n parser: \"typescript\",\n singleQuote: true,\n trailingComma: \"all\",\n tabWidth: 2,\n printWidth: 120\n });\n } catch (e) {\n console.error(\"Failed to format file\", e);\n console.log(contents);\n return contents;\n }\n}","/*\n * Copyright 2023 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 path from \"path\";\nimport { formatTs } from \"../util/test/formatTs.js\";\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst ExpectedOsdkVersion = \"2.2.0\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\n\nexport async function generateOntologyMetadataFile({\n fs,\n outDir,\n ontology,\n ontologyApiNamespace\n}, userAgent) {\n await fs.writeFile(path.join(outDir, \"OntologyMetadata.ts\"), await formatTs(`\n export type $ExpectedClientVersion = \"${ExpectedOsdkVersion}\";\n export const $osdkMetadata = { extraUserAgent: \"${userAgent}\" };\n ${ontologyApiNamespace == null ? `\n export const $ontologyRid = \"${ontology.ontology.rid}\";\n ` : \"\"}\n `));\n}","/*\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\nexport function getObjectImports(objects, curApiName, currentFilePath, v2) {\n return Array.from(objects).filter(obj => obj.fullApiName !== curApiName).map(obj => {\n const defId = obj.getDefinitionIdentifier(v2);\n const importedId = obj.getImportedDefinitionIdentifier(v2);\n const nameOrAlias = defId === importedId ? defId : `${defId} as ${importedId}`;\n return `import type { ${nameOrAlias} } from \"${obj.getImportPathRelTo(\"./\" + currentFilePath)}\";`;\n }).join(\"\\n\");\n}","/*\n * Copyright 2023 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\n/**\n * A function for changing the stringified key/value pairs of an object.\n *\n * @param value The value of the key/value pair.\n * @param defaultValueFormatter The function that would be called if this customizer wasn't used\n * @param key The key of the key/value pair.\n * @param defaultKeyFormatter The function that would be called if this customizer wasn't used\n *\n * @returns A string, a tuple of strings, or undefined.\n * If a string is returned, it will be used as the value of the key/value pair.\n * If a tuple of strings is returned, the first string will be used as the key of the key/value pair\n * and the second string will be used as the value of the key/value pair.\n * If undefined is returned, the pair will be removed\n */\n\nconst defaultCustomizer = (value, defaultValueFormatter, key, defaultKeyFormatter) => {\n return [defaultKeyFormatter(key), defaultValueFormatter(value)];\n};\nexport function stringify(obj, customizer = {}, separator = \",\\n\") {\n const defaultKeyFormatter = key => `${JSON.stringify(key)}`;\n const entries = [];\n const sortedKeys = Object.keys(obj).sort((a, b) => a.localeCompare(b));\n for (const key of sortedKeys) {\n const value = obj[key];\n const res = (customizer[key] ?? customizer[\"*\"] ?? defaultCustomizer)(value, value => JSON.stringify(value, null, 2), key, defaultKeyFormatter);\n if (res) {\n if (typeof res === \"string\") {\n entries.push(`${defaultKeyFormatter(key)}: ${res}`);\n } else {\n entries.push(`${res[0]}: ${res[1]}`);\n }\n }\n }\n return entries.join(separator);\n}","/*\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\nexport function stringUnionFrom(values) {\n if (values.length === 0) {\n return \"never\";\n } else {\n return values.map(v => `\"${v}\"`).join(\"|\");\n }\n}","/*\n * Copyright 2023 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\nexport function getDescriptionIfPresent(description, includeNewline) {\n if (description) {\n return `/**\n * ${description}\n */${includeNewline ? \"\\n\" : \"\"}`;\n }\n return \"\";\n}","/*\n * Copyright 2023 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 { wireActionTypeV2ToSdkActionMetadata } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { stringUnionFrom } from \"../util/stringUnionFrom.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\nexport async function generatePerActionDataFiles({\n sanitizedOntology: ontology,\n fs,\n outDir: rootOutDir,\n importExt = \"\",\n ontology: enhancedOntology,\n forInternalUse = false\n}) {\n const outDir = path.join(rootOutDir, \"ontology\", \"actions\");\n await fs.mkdir(outDir, {\n recursive: true\n });\n await Promise.all(Object.values(enhancedOntology.actionTypes).map(async action => {\n const currentFilePath = path.join(\"ontology\", \"actions\", `${action.shortApiName}.ts`);\n const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.raw);\n const uniqueApiNames = new Set(uniqueApiNamesArray);\n const uniqueApiNamesString = stringUnionFrom([...uniqueApiNames]);\n const fullActionDef = deleteUndefineds(wireActionTypeV2ToSdkActionMetadata(action.raw));\n function createParamsDef() {\n const entries = Object.entries(fullActionDef.parameters ?? {});\n entries.sort((a, b) => a[0].localeCompare(b[0]));\n if (entries.length === 0) {\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = Record<string, never>;`;\n }\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = {\n ${entries.map(([key, value]) => {\n return `\"${key}\": {\n ${stringify(value, {\n description: (value, d) => value ? d(value) : undefined,\n // trick to remove undefineds\n type: type => {\n if (typeof type === \"string\") {\n return JSON.stringify(type);\n } else if (type.type === \"object\") {\n const obj = enhancedOntology.requireObjectType(type.object);\n return `ActionMetadata.DataType.Object<${obj.getImportedDefinitionIdentifier(true)}>`;\n } else if (type.type === \"objectSet\") {\n const obj = enhancedOntology.requireObjectType(type.objectSet);\n return `ActionMetadata.DataType.ObjectSet<${obj.getImportedDefinitionIdentifier(true)}>`;\n } else if (type.type === \"interface\") {\n const obj = enhancedOntology.requireInterfaceType(type.interface);\n return `ActionMetadata.DataType.Interface<${obj.getImportedDefinitionIdentifier(true)}>`;\n } else if (type.type === \"struct\") {\n return `ActionMetadata.DataType.Struct<${JSON.stringify(type.struct)}>`;\n }\n return undefined;\n }\n })}\n }`;\n }).join(\";\\n\")}\n }`;\n }\n function getActionParamType(input) {\n if (typeof input === \"string\") {\n return `ActionParam.PrimitiveType<${JSON.stringify(input)}>`;\n } else if (input.type === \"object\") {\n return `ActionParam.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;\n } else if (input.type === \"objectSet\") {\n return `ActionParam.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;\n } else if (input.type === \"interface\") {\n return `ActionParam.InterfaceType<${enhancedOntology.requireInterfaceType(input.interface).getImportedDefinitionIdentifier(true)}>`;\n } else if (input.type === \"struct\") {\n return `ActionParam.StructType<${JSON.stringify(input.struct)}>`;\n }\n }\n function createV2Types() {\n const oldParamsIdentifier = `${action.shortApiName}$Params`;\n const jsDocBlock = [\"/**\"];\n if (action.description != null) {\n jsDocBlock.push(`* ${action.description}`);\n }\n // the params must be a `type` to align properly with the `ActionDefinition` interface\n // this way we can generate a strict type for the function itself and reference it from the Action Definition\n return `\n \n export namespace ${action.shortApiName}{\n ${createParamsDef()}\n\n ${getDescriptionIfPresent(action.description)}\n export interface Params {\n ${stringify(fullActionDef.parameters, {\n \"*\": (ogValue, _, ogKey) => {\n const key = `${getDescriptionIfPresent(ogValue.description)}\n readonly \"${ogKey}\"${ogValue.nullable ? \"?\" : \"\"}`;\n const value = ogValue.multiplicity ? `ReadonlyArray<${getActionParamType(ogValue.type)}>` : `${getActionParamType(ogValue.type)}`;\n jsDocBlock.push(`* @param {${getActionParamType(ogValue.type)}} ${ogValue.nullable ? `[${ogKey}]` : ogKey} ${ogValue.description ?? \"\"} `);\n return [key, value];\n }\n })}\n }\n\n // Represents a fqn of the action\n export interface Signatures {\n ${getDescriptionIfPresent(action.description)}\n applyAction<P extends ${action.paramsIdentifier}, OP extends ApplyActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n \n batchApplyAction<P extends ReadonlyArray<${action.paramsIdentifier}>, OP extends ApplyBatchActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n }\n \n }\n\n \n ${jsDocBlock.join(\"\\n\")}\n */\n export interface ${action.shortApiName} extends ActionDefinition<${action.shortApiName}.Signatures> {\n __DefinitionMetadata?: {\n ${stringify(fullActionDef, {\n \"parameters\": () => action.definitionParamsIdentifier\n })}\n \n signatures: ${action.shortApiName}.Signatures;\n },\n ${stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined\n })}\n osdkMetadata: typeof $osdkMetadata;\n }\n `;\n }\n function createV2Object() {\n return ` export const ${action.shortApiName}: ${action.shortApiName} = \n {\n ${stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined\n })},\n osdkMetadata: $osdkMetadata\n }\n `;\n }\n const referencedObjectDefs = new Set();\n for (const p of Object.values(action.parameters)) {\n if (p.dataType.type === \"object\" || p.dataType.type === \"objectSet\") {\n if (p.dataType.objectApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectApiName));\n }\n if (p.dataType.objectTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectTypeApiName));\n }\n }\n if (p.dataType.type === \"interfaceObject\") {\n if (p.dataType.interfaceTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.interfaceTypeApiName));\n }\n }\n if (p.dataType.type === \"array\") {\n if (p.dataType.subType.type === \"object\" || p.dataType.subType.type === \"objectSet\") {\n if (p.dataType.subType.objectApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectApiName));\n }\n if (p.dataType.subType.objectTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectTypeApiName));\n }\n }\n if (p.dataType.subType.type === \"interfaceObject\") {\n if (p.dataType.subType.interfaceTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.subType.interfaceTypeApiName));\n }\n }\n }\n }\n const imports = getObjectImports(referencedObjectDefs, undefined, currentFilePath, true);\n await fs.writeFile(path.join(rootOutDir, currentFilePath), await formatTs(`\n import type {\n ActionDefinition,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${imports}\n\n \n ${createV2Types()}\n\n ${createV2Object()}\n `));\n }));\n const indexFileRelPath = path.join(\"ontology\", \"actions.ts\");\n await fs.writeFile(path.join(rootOutDir, indexFileRelPath), await formatTs(`\n ${Object.values(enhancedOntology.actionTypes).map(action => {\n const exportConstLine = `export {${action.shortApiName} } from \"${action.getImportPathRelTo(indexFileRelPath)}\";`;\n return exportConstLine;\n }).join(\"\\n\")}\n ${Object.keys(ontology.actionTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}\nfunction extractReferencedObjectsFromAction(actionType) {\n const referencedObjectsInParameters = Object.values(actionType.parameters).flatMap(({\n dataType\n }) => {\n const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);\n return objectTypeReference ? [objectTypeReference] : [];\n });\n const referenceObjectsInEdits = actionType.operations.flatMap(value => {\n switch (value.type) {\n case \"createObject\":\n return [value.objectTypeApiName];\n case \"modifyObject\":\n return [value.objectTypeApiName];\n case \"deleteObject\":\n case \"createLink\":\n case \"deleteLink\":\n default:\n return [];\n }\n });\n return [...referenceObjectsInEdits, ...referencedObjectsInParameters];\n}\nfunction extractReferencedObjectsFromActionParameter(actionParameter) {\n switch (actionParameter.type) {\n case \"objectSet\":\n case \"object\":\n return actionParameter.objectTypeApiName;\n case \"array\":\n return extractReferencedObjectsFromActionParameter(actionParameter.subType);\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n return undefined;\n }\n}","/*\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\nexport function propertyJsdoc(property, {\n isInherited,\n apiName\n}) {\n let ret = `/**\\n`;\n const renderDisplayName = property.displayName && property.displayName !== apiName;\n if (isInherited || renderDisplayName || property.description) {\n if (isInherited) {\n ret += ` * (inherited from parent)\\n`;\n }\n if (renderDisplayName) {\n ret += ` * display name: '${property.displayName}'${property.description ? \",\" : \"\"}\\n`;\n }\n if (property.description) {\n ret += ` * description: ${property.description}\\n`;\n }\n } else {\n ret += ` * (no ontology metadata)\\n`;\n }\n ret += ` */\\n`;\n return ret;\n}","/*\n * Copyright 2023 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 { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\n\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {\n ontology,\n forInternalUse\n}, currentFilePath) {\n const object = ontology.requireObjectType(wireObject.objectType.apiName, true);\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(wireObject.linkTypes.map(a => ontology.requireObjectType(a.objectTypeApiName, false)));\n const definition = deleteUndefineds(wireObjectTypeFullMetadataToSdkObjectMetadata(object.raw, true, consola));\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\n const objectSetIdentifier = `${object.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${object.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${object.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${object.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `${object.shortApiName}.Links`;\n const osdkObjectIdentifier = `${object.shortApiName}.OsdkObject`;\n const identifiers = {\n objectDefIdentifier: object.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier\n };\n function getV2Types(object, forInternalUse = false) {\n return `import type {\n PropertyKeys as $PropertyKeys, \n ObjectTypeDefinition as $ObjectTypeDefinition,\n ObjectMetadata as $ObjectMetadata,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type {\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n OsdkObject as $OsdkObject,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n\n\n export namespace ${object.shortApiName} {\n\n ${createPropertyKeys(object)}\n\n\n ${createLinks(ontology, object, \"Links\")}\n\n ${createProps(object, \"Props\", false)}\n ${createProps(object, \"StrictProps\", true)}\n\n ${createObjectSet(object, identifiers)}\n \n ${createOsdkObject(object, \"OsdkInstance\", identifiers)}\n } \n\n\n\n ${createDefinition(object, ontology, object.shortApiName, identifiers)}\n `;\n }\n const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, true);\n return `${imports}${getV2Types(object, forInternalUse)}\n\n export const ${object.shortApiName}: ${objectDefIdentifier}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata, \n };`;\n}\nexport function createOsdkObject(object, identifier, {\n osdkObjectPropsIdentifier,\n objectDefIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier\n}) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export type ${identifier}<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > \n = $Osdk.Instance<\n ${objectDefIdentifier}, \n OPTIONS,\n K\n >;\n \n\n /** @deprecated use ${identifier} */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > = ${identifier}<OPTIONS, K>;\n ;\n `;\n}\nexport function createObjectSet(object, {\n objectDefIdentifier,\n objectSetIdentifier,\n propertyKeysIdentifier,\n osdkObjectIdentifier\n}) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\nfunction maybeStripNamespace(type, q) {\n if (type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)) {\n return q.slice(type.apiNamespace.length + 1);\n } else {\n return q;\n }\n}\nexport function createProps(type, identifier, strict) {\n if (identifier === \"StrictProps\") {\n return `export type StrictProps = Props`;\n }\n const definition = type.getCleanedUpDefinition(true);\n return `export interface ${identifier} {\n${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n return [`readonly \"${maybeStripNamespace(type, apiName)}\"${\n // after we convert everything over we can do this:\n // !strict || propertyDefinition.nullable ? \"?\" : \"\"\n \"\"}`, (typeof propertyDefinition.type === \"object\" ? remapStructType(propertyDefinition.type) : `$PropType[${JSON.stringify(propertyDefinition.type)}]`) + `${propertyDefinition.multiplicity ? \"[]\" : \"\"}${propertyDefinition.nullable || !strict && !(definition.type === \"object\" && definition.primaryKeyApiName === apiName) ? `| undefined` : \"\"}`];\n }\n })}\n }`;\n}\nexport function createDefinition(object, ontology, identifier, {\n objectDefIdentifier,\n objectSetIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier\n}) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export interface ${identifier} extends ${object instanceof EnhancedObjectType ? `$ObjectTypeDefinition` : `$InterfaceDefinition`} {\n osdkMetadata: typeof $osdkMetadata;\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\";\n apiName: \"${object.fullApiName}\";\n __DefinitionMetadata?: {\n objectSet: ${objectSetIdentifier};\n props: ${osdkObjectPropsIdentifier};\n linksType: ${osdkObjectLinksIdentifier};\n strictProps: ${osdkObjectStrictPropsIdentifier};\n ${stringify(definition, {\n links: _value => `{\n ${stringify(definition.links, {\n \"*\": definition => `$ObjectMetadata.Link<${ontology.requireObjectType(definition.targetType).getImportedDefinitionIdentifier(true)}, ${definition.multiplicity}>`\n })}\n }`,\n properties: _value => `{\n ${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => [`${propertyJsdoc(propertyDefinition, {\n apiName\n })}\"${maybeStripNamespace(object, apiName)}\"`, `$PropertyDef<${JSON.stringify(propertyDefinition.type)}, \"${propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"}\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`]\n })}\n }`\n })}\n } \n}\n `;\n}\nexport function createLinks(ontology, object, identifier) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n ${Object.keys(definition.links).length === 0 ? `export type ${identifier} = {};` : `\n export interface ${identifier} {\n${stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(definition.targetType).getImportedDefinitionIdentifier(true);\n return [`readonly ${key}`, `${definition.multiplicity ? `${linkTarget}.ObjectSet` : `$SingleLinkAccessor<${linkTarget}>`}\n `];\n }\n })}\n }\n `}`;\n}\nexport function createPropertyKeys(type) {\n const properties = Object.keys(type.getCleanedUpDefinition(true).properties);\n return `export type PropertyKeys = ${properties.length === 0 ? \"never\" : properties.map(a => maybeStripNamespace(type, a)).map(a => `\"${a}\"`).join(\"|\")};`;\n}\nfunction remapStructType(structType) {\n let output = `{`;\n Object.entries(structType).map(([key, value]) => output += `${key}:$PropType[${JSON.stringify(value)}]|undefined;`);\n output += \"}\";\n return output;\n}","/*\n * Copyright 2023 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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport fastDeepEqual from \"fast-deep-equal\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../GenerateContext/EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { createDefinition, createObjectSet, createOsdkObject, createPropertyKeys, createProps } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\n\n/** @internal */\nexport function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ontology, v2 = false, forInternalUse = false) {\n const definition = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(interfaceDef.raw, v2));\n const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);\n const parents = definition.implements?.map(p => {\n const parent = ontology.requireInterfaceType(p, true);\n if (parent instanceof EnhancedInterfaceType) {\n const it = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(parent.raw, v2, consola));\n return it;\n }\n }) ?? [];\n const mergedProperties = {\n ...definition.properties\n };\n for (const parent of parents) {\n if (parent == null) {\n // came from a foreign type and we cannot merge properties yet\n // so if they weren't listed on the interface its over\n continue;\n }\n for (const apiName of Object.keys(parent.properties)) {\n if (definition.properties[apiName] != null) {\n !fastDeepEqual(definition.properties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`) : invariant(false) : void 0;\n } else if (mergedProperties[apiName] != null) {\n !fastDeepEqual(mergedProperties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`) : invariant(false) : void 0;\n }\n mergedProperties[apiName] = parent.properties[apiName];\n }\n }\n definition.properties = mergedProperties;\n const objectSetIdentifier = `${interfaceDef.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${interfaceDef.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${interfaceDef.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${interfaceDef.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `OsdkObjectLinks$${objectDefIdentifier}`;\n const osdkObjectIdentifier = `${interfaceDef.shortApiName}.OsdkObject`;\n const ids = {\n objectDefIdentifier: interfaceDef.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier\n };\n if (interfaceDef.apiNamespace) {\n const badProperties = Object.keys(definition.properties).filter(apiName => extractNamespace(apiName)[0] == null);\n if (badProperties.length > 0) {\n throw new Error(`Interfaces with fully qualified api names MUST NOT have any properties with an unqualified api name. Interface: ${interfaceDef.fullApiName}, properties: ${badProperties.join(\", \")}`);\n }\n }\n function getV2Types(forInternalUse = false) {\n return `import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n \n ${Object.keys(definition.links).length === 0 ? `export type ${osdkObjectLinksIdentifier} = {};` : `\n export interface ${osdkObjectLinksIdentifier} {\n${stringify(definition.links, {\n \"*\": definition => {\n const linkTarget = ontology.requireObjectType(definition.targetType).getImportedDefinitionIdentifier(v2);\n return `${definition.multiplicity ? `${linkTarget}[\"objectSet\"]` : `SingleLinkAccessor<${linkTarget}>`}\n `;\n }\n })}\n }\n `}\n\n export namespace ${interfaceDef.shortApiName} {\n\n ${createPropertyKeys(interfaceDef)}\n\n\n ${createProps(interfaceDef, \"Props\", false)}\n ${createProps(interfaceDef, \"StrictProps\", true)}\n\n\n ${createObjectSet(interfaceDef, ids)}\n\n ${createOsdkObject(interfaceDef, \"OsdkInstance\", ids)}\n \n } \n\n ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}\n\n`;\n }\n\n // FIXME: We need to fill in the imports\n // if we want links to work\n const imports = [];\n definition;\n return `${imports.join(\"\\n\")}\n ${v2 ? getV2Types(forInternalUse) : \"\"}\n\n export const ${interfaceDef.shortApiName}: ${interfaceDef.shortApiName} = {\n type: \"interface\",\n apiName: \"${interfaceDef.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n };`;\n}","/*\n * Copyright 2023 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 path from \"node:path\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\n\n/** @internal */\nexport async function generatePerInterfaceDataFiles({\n fs,\n outDir,\n ontology,\n importExt,\n forInternalUse\n}) {\n const interfacesDir = path.join(outDir, \"ontology\", \"interfaces\");\n await fs.mkdir(interfacesDir, {\n recursive: true\n });\n for (const obj of Object.values(ontology.interfaceTypes)) {\n if (obj instanceof ForeignType) continue;\n await fs.writeFile(path.join(interfacesDir, `${obj.shortApiName}.ts`), await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n ${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, ontology, true, forInternalUse)}\n `));\n }\n await fs.writeFile(interfacesDir + \".ts\", await formatTs(`\n ${Object.values(ontology.interfaceTypes).filter(i => i instanceof EnhancedInterfaceType).map(interfaceType => `export {${interfaceType.shortApiName}} from \"./interfaces/${interfaceType.shortApiName}${importExt}\";`).join(\"\\n\")}\n ${Object.keys(ontology.interfaceTypes).length === 0 ? \"export {}\" : \"\"}\n `));\n}","/*\n * Copyright 2023 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 path from \"node:path\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { wireObjectTypeV2ToSdkObjectConstV2 } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\nexport async function generatePerObjectDataFiles(ctx) {\n const {\n fs,\n outDir,\n ontology,\n importExt\n } = ctx;\n await fs.mkdir(path.join(outDir, \"ontology\", \"objects\"), {\n recursive: true\n });\n for (const obj of Object.values(ontology.objectTypes)) {\n if (obj instanceof ForeignType) continue;\n const relPath = path.join(\".\", \"ontology\", `objects`, `${obj.shortApiName}.ts`);\n const outFilePath = path.join(outDir, relPath);\n await fs.writeFile(outFilePath, await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${ctx.forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n ${wireObjectTypeV2ToSdkObjectConstV2(obj.raw, ctx, relPath)}\n `));\n }\n await fs.writeFile(path.join(outDir, \"ontology\", \"objects.ts\"), await formatTs(`\n ${Object.values(ctx.ontology.objectTypes).filter(o => o instanceof EnhancedObjectType).map(objType => `export {${objType.shortApiName}} from \"./objects/${objType.shortApiName}${importExt}\";`).join(\"\\n\")}\n ${Object.keys(ontology.objectTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}","/*\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\nexport function getObjectTypesFromQueryDataType(dataType, types) {\n switch (dataType.type) {\n case \"array\":\n case \"set\":\n getObjectTypesFromQueryDataType(dataType.subType, types);\n return;\n case \"object\":\n types.add(dataType.objectTypeApiName);\n return;\n case \"objectSet\":\n types.add(dataType.objectTypeApiName);\n return;\n case \"struct\":\n for (const prop of Object.values(dataType.fields)) {\n getObjectTypesFromQueryDataType(prop.fieldType, types);\n }\n return;\n case \"union\":\n for (const type of dataType.unionTypes) {\n getObjectTypesFromQueryDataType(type, types);\n }\n return;\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"null\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"unsupported\":\n /* complete no-op */\n return;\n default:\n const _ = dataType;\n throw new Error(`Cannot find object types from unsupported QueryDataType ${dataType.type}`);\n }\n}","/*\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 { getObjectTypesFromQueryDataType } from \"./getObjectTypesFromQueryDataType.js\";\nexport function getObjectTypeApiNamesFromQuery(query) {\n const types = new Set();\n for (const {\n dataType\n } of Object.values(query.parameters)) {\n getObjectTypesFromQueryDataType(dataType, types);\n }\n getObjectTypesFromQueryDataType(query.output, types);\n return Array.from(types);\n}","/*\n * Copyright 2023 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 { wireQueryDataTypeToQueryDataTypeDefinition, wireQueryParameterV2ToQueryParameterDefinition as paramToDef, wireQueryTypeV2ToSdkQueryDefinitionNoParams } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { getObjectTypeApiNamesFromQuery } from \"../shared/getObjectTypeApiNamesFromQuery.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\nexport async function generatePerQueryDataFilesV2({\n fs,\n outDir: rootOutDir,\n ontology,\n importExt = \"\",\n forInternalUse = false\n}, v2) {\n const relOutDir = path.join(\".\", \"ontology\", \"queries\");\n const outDir = path.join(rootOutDir, \"ontology\", \"queries\");\n await fs.mkdir(outDir, {\n recursive: true\n });\n await Promise.all(Object.values(ontology.queryTypes).map(async query => {\n await generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology, forInternalUse);\n }));\n const indexFilePath = `${outDir}.ts`;\n await fs.writeFile(indexFilePath, await formatTs(`\n ${Object.values(ontology.queryTypes).map(query => `export {${query.shortApiName}} from \"${query.getImportPathRelTo(relOutDir)}\";`).join(\"\\n\")}\n ${Object.keys(ontology.queryTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}\nasync function generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology, forInternalUse) {\n const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);\n const objectTypes = getObjectTypeApiNamesFromQuery(query);\n const objectTypeObjects = new Set(objectTypes.map(o => ontology.requireObjectType(o)));\n const importObjects = getObjectImports(objectTypeObjects, \"\", relFilePath, true);\n const baseProps = deleteUndefineds(wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw));\n const outputBase = deleteUndefineds(wireQueryDataTypeToQueryDataTypeDefinition(query.output));\n const referencedObjectTypes = objectTypes.length > 0 ? objectTypes.map(apiNameObj => `\"${apiNameObj}\"`).join(\"|\") : \"never\";\n await fs.writeFile(path.join(outDir, `${query.shortApiName}.ts`), await formatTs(`\n import type { QueryDefinition , QueryParam, QueryResult, VersionBound} from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${importObjects}\n\n export namespace ${query.shortApiName} {\n export interface Signature {\n ${getDescriptionIfPresent(query.description)}\n (${Object.keys(query.parameters).length > 0 ? `query: ${query.paramsIdentifier}` : \"\"}): Promise<${query.shortApiName}.ReturnType>\n }\n\n ${Object.keys(query.parameters).length > 0 ? `\n export interface Parameters {\n ${stringify(query.parameters, {\n \"*\": (parameter, formatter, apiName) => {\n const q = paramToDef(parameter);\n return [`\n ${queryParamJsDoc(paramToDef(parameter), {\n apiName\n })}readonly \"${apiName}\"${q.nullable ? \"?\" : \"\"}`, getQueryParamType(ontology, q, \"Param\")];\n }\n })}\n }` : \"\"}\n\n ${query.output.type === \"struct\" ? `\n export interface ReturnType \n ${getQueryParamType(ontology, paramToDef({\n dataType: query.output\n }), \"Result\")}\n ` : `\n export type ReturnType = ${getQueryParamType(ontology, paramToDef({\n dataType: query.output\n }), \"Result\")}\n `}\n }\n \n \n export interface ${query.shortApiName} extends QueryDefinition<\n ${query.shortApiName}.Signature\n >, VersionBound<$ExpectedClientVersion>{\n __DefinitionMetadata?: {\n ${stringify(baseProps)}\n parameters: {\n ${parameterDefsForType(ontology, query)}\n };\n output: {\n ${stringify(outputBase)},\n ${getLineFor__OsdkTargetType(ontology, query.output)}\n };\n signature: ${query.shortApiName}.Signature;\n }, \n ${stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined\n })}, \n osdkMetadata: typeof $osdkMetadata;\n }\n\n\n export const ${query.shortApiName}: ${query.definitionIdentifier} = {\n ${stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined\n })},\n osdkMetadata: $osdkMetadata\n };\n `));\n}\nfunction parametersForConst(query) {\n return stringify(query.parameters, {\n \"*\": (parameter, formatter) => formatter(deleteUndefineds(paramToDef(parameter)))\n });\n}\nfunction parameterDefsForType(ontology, query) {\n return stringify(query.parameters, {\n \"*\": (parameter, valueFormatter, apiName) => [`${queryParamJsDoc(paramToDef(parameter), {\n apiName\n })} ${apiName}`, ` {\n ${stringify(deleteUndefineds(paramToDef(parameter)))},\n ${getLineFor__OsdkTargetType(ontology, parameter.dataType)}\n }`]\n });\n}\nfunction getLineFor__OsdkTargetType(ontology, qdt) {\n if (qdt.type === \"object\" || qdt.type === \"objectSet\") {\n return `__OsdkTargetType?: ${ontology.requireObjectType(qdt.objectTypeApiName).getImportedDefinitionIdentifier(true)}`;\n }\n return \"\";\n}\nexport function queryParamJsDoc(param, {\n apiName\n}) {\n let ret = `/**\\n`;\n if (param.description) {\n if (param.description) {\n ret += ` * description: ${param.description}\\n`;\n }\n } else {\n ret += ` * (no ontology metadata)\\n`;\n }\n ret += ` */\\n`;\n return ret;\n}\nexport function getQueryParamType(enhancedOntology, input, type) {\n let inner = `unknown /* ${input.type} */`;\n switch (input.type) {\n case \"date\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(\"datetime\")}>`;\n break;\n case \"attachment\":\n case \"boolean\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;\n break;\n case \"struct\":\n inner = `{\n ${stringify(input.struct, {\n \"*\": (p, formatter, apiName) => {\n return [`\n ${type === \"Param\" ? \"readonly \" : \"\"}\"${apiName}\"${p.nullable ? \"?\" : \"\"}`, getQueryParamType(enhancedOntology, p, type)];\n }\n })}\n }`;\n break;\n case \"twoDimensionalAggregation\":\n inner = `Query${type}.TwoDimensionalAggregationType<${input.twoDimensionalAggregation.keyType === \"range\" ? `Query${type}.RangeKey<\"${input.twoDimensionalAggregation.keySubtype}\">` : `\"${input.twoDimensionalAggregation.keyType}\"`}, \"${input.twoDimensionalAggregation.valueType}\">`;\n break;\n case \"threeDimensionalAggregation\":\n inner = `Query${type}.ThreeDimensionalAggregationType<${input.threeDimensionalAggregation.keyType === \"range\" ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.keySubtype}\">` : `\"${input.threeDimensionalAggregation.keyType}\"`},${input.threeDimensionalAggregation.valueType.keyType === \"range\" ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.valueType.keySubtype}\">` : `\"${input.threeDimensionalAggregation.valueType.keyType}\"`}, \n \"${input.threeDimensionalAggregation.valueType.valueType}\">`;\n break;\n case \"object\":\n inner = `Query${type}.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;\n break;\n case \"objectSet\":\n inner = `Query${type}.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;\n break;\n case \"set\":\n inner = `${type === \"Param\" ? \"Readonly\" : \"\"}Set<${getQueryParamType(enhancedOntology, input.set, type)}>`;\n break;\n case \"union\":\n inner = input.union.map(u => getQueryParamType(enhancedOntology, u, type)).join(\" | \");\n break;\n }\n if (input.multiplicity && type === \"Param\") {\n return `ReadonlyArray<${inner}>`;\n } else if (input.multiplicity) {\n return `Array<${inner}>`;\n }\n return inner;\n}","/*\n * Copyright 2023 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 path from \"node:path\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nexport async function generateRootIndexTsFile({\n fs,\n outDir,\n importExt,\n ontologyApiNamespace,\n ontology\n}) {\n await fs.writeFile(path.join(outDir, \"index.ts\"), await formatTs(`export {${helper(ontology.actionTypes)}} from \"./ontology/actions${importExt}\";\n export * as $Actions from \"./ontology/actions${importExt}\";\n export {${helper(ontology.interfaceTypes)}} from \"./ontology/interfaces${importExt}\";\n export * as $Interfaces from \"./ontology/interfaces${importExt}\";\n export {${helper(ontology.objectTypes)}} from \"./ontology/objects${importExt}\";\n export * as $Objects from \"./ontology/objects${importExt}\";\n export {${helper(ontology.queryTypes)}} from \"./ontology/queries${importExt}\";\n export * as $Queries from \"./ontology/queries${importExt}\";\n export { $osdkMetadata } from \"./OntologyMetadata${importExt}\";\n ${ontologyApiNamespace == null ? `export { $ontologyRid } from \"./OntologyMetadata${importExt}\";` : ``}\n `));\n}\nfunction helper(x) {\n return Object.values(x).filter(x => !(x instanceof ForeignType)).map(a => a.shortApiName).join(\", \");\n}","/*\n * Copyright 2023 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 { enhanceOntology } from \"../GenerateContext/enhanceOntology.js\";\nimport { sanitizeMetadata } from \"../shared/sanitizeMetadata.js\";\nimport { verifyOutDir } from \"../util/verifyOutDir.js\";\nimport { generateOntologyMetadataFile } from \"./generateMetadata.js\";\nimport { generatePerActionDataFiles } from \"./generatePerActionDataFiles.js\";\nimport { generatePerInterfaceDataFiles } from \"./generatePerInterfaceDataFiles.js\";\nimport { generatePerObjectDataFiles } from \"./generatePerObjectDataFiles.js\";\nimport { generatePerQueryDataFilesV2 } from \"./generatePerQueryDataFiles.js\";\nimport { generateRootIndexTsFile } from \"./generateRootIndexTsFile.js\";\nexport async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs, outDir, packageType = \"commonjs\", externalObjects = new Map(), externalInterfaces = new Map(), externalSpts = new Map(), forInternalUse = false) {\n const importExt = \".js\"; // turns out you can always use the extension\n\n // Structurally, we need to have multiple ontologies read in\n // with one per package.\n\n await verifyOutDir(outDir, fs);\n const sanitizedOntology = sanitizeMetadata(ontology);\n await fs.mkdir(outDir, {\n recursive: true\n });\n const enhancedOntology = enhanceOntology({\n sanitized: sanitizedOntology,\n importExt,\n externalObjects,\n externalInterfaces,\n externalSpts\n });\n const ctx = {\n sanitizedOntology,\n ontology: enhancedOntology,\n importExt,\n fs,\n outDir,\n forInternalUse\n };\n await generateRootIndexTsFile(ctx);\n await generateOntologyMetadataFile(ctx, userAgent);\n await generatePerObjectDataFiles(ctx);\n await generatePerInterfaceDataFiles(ctx);\n await generatePerActionDataFiles(ctx);\n await generatePerQueryDataFilesV2(ctx, true);\n}","/*\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 * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { generateClientSdkVersionTwoPointZero } from \"./v2.0/generateClientSdkVersionTwoPointZero.js\";\nexport async function generateClientSdkPackage(packageName, packageVersion, sdkVersion, baseOutDir, ontology, minimalFs, dependencyVersions, cliVersion, externalObjects = new Map(), externalInterfaces = new Map()) {\n if (!packageName) throw new Error(\"Package name is required\");\n if (sdkVersion === \"1.1\") {\n throw new Error(\"This generator version does not support generating v1 sdks\");\n }\n for (const packageType of [\"module\", \"commonjs\"]) {\n const outDir = path.join(baseOutDir, \"dist\", packageType);\n await generateClientSdkVersionTwoPointZero(ontology, `typescript-sdk/${packageVersion} osdk-cli/${cliVersion}`, minimalFs, outDir, packageType, externalObjects, externalInterfaces);\n await fs.promises.mkdir(outDir, {\n recursive: true\n });\n await writeJson(minimalFs, path.join(outDir, \"package.json\"), {\n type: packageType\n });\n await writeJson(minimalFs, path.join(outDir, `tsconfig.json`), {\n compilerOptions: getTsCompilerOptions(packageType)\n });\n }\n await writeJson(minimalFs, path.join(baseOutDir, \"package.json\"), getPackageJsonContents(packageName, packageVersion, dependencyVersions));\n\n // we need to shim for the node10 resolver\n await minimalFs.mkdir(path.join(baseOutDir, \"ontology\"), {\n recursive: true\n });\n await minimalFs.writeFile(path.join(baseOutDir, \"ontology\", \"objects.js\"), `module.exports = require(\"../../dist/module/ontology/objects\")`);\n await minimalFs.writeFile(path.join(baseOutDir, \"ontology\", \"objects.d.ts\"), `export * from \"../dist/module/ontology/objects\"`);\n}\nfunction getTsCompilerOptions(packageType) {\n const commonTsconfig = {\n importHelpers: true,\n declaration: true,\n isolatedModules: true,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n strict: true,\n skipLibCheck: true\n };\n const compilerOptions = packageType === \"commonjs\" ? {\n ...commonTsconfig,\n module: \"commonjs\",\n target: \"es2018\"\n } : {\n ...commonTsconfig,\n module: \"NodeNext\",\n target: \"ES2020\"\n };\n return compilerOptions;\n}\nexport function getExpectedDependencies({\n osdkApiVersion,\n osdkClientVersion\n}) {\n return {\n devDependencies: {\n \"@osdk/api\": osdkApiVersion\n },\n peerDependencies: {\n \"@osdk/api\": osdkApiVersion,\n \"@osdk/client\": osdkClientVersion\n }\n };\n}\nfunction getExpectedDependenciesFull(dependencyVersions) {\n const {\n typescriptVersion,\n tslibVersion,\n areTheTypesWrongVersion\n } = dependencyVersions;\n const base = getExpectedDependencies(dependencyVersions);\n return {\n devDependencies: {\n ...base.devDependencies,\n \"typescript\": typescriptVersion,\n \"tslib\": tslibVersion,\n \"@arethetypeswrong/cli\": areTheTypesWrongVersion\n },\n peerDependencies: {\n ...base.peerDependencies\n }\n };\n}\nexport function getPackageJsonContents(name, version, dependencyVersions) {\n const esmPrefix = \"./dist/module\";\n const commonjsPrefix = \"./dist/commonjs\";\n return {\n name,\n version,\n main: `${commonjsPrefix}/index.js`,\n module: `${esmPrefix}/index.js`,\n exports: {\n \".\": {\n import: `${esmPrefix}/index.js`,\n require: `${commonjsPrefix}/index.js`\n }\n },\n scripts: {\n prepack: `tsc -p ${esmPrefix}/tsconfig.json && tsc -p ${commonjsPrefix}/tsconfig.json`,\n check: \"npm exec attw $(npm pack)\"\n },\n ...getExpectedDependenciesFull(dependencyVersions),\n files: [\"**/*.js\", \"**/*.d.ts\", \"dist/**/package.json\"]\n };\n}\nasync function writeJson(minimalFs, filePath, body) {\n // consola.info(`Writing ${filePath}`);\n // consola.debug(`Writing ${filePath} with body`, body);\n return void (await minimalFs.writeFile(filePath, JSON.stringify(body, undefined, 2) + \"\\n\"));\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/GenerateContext/EnhancedBase.ts","../../src/GenerateContext/EnhancedAction.ts","../../src/util/deleteUndefineds.ts","../../src/GenerateContext/EnhancedInterfaceType.ts","../../src/GenerateContext/EnhancedObjectType.ts","../../src/GenerateContext/EnhancedQuery.ts","../../src/GenerateContext/EnhancedSharedPropertyType.ts","../../src/GenerateContext/ForeignType.ts","../../src/GenerateContext/EnhancedOntologyDefinition.ts","../../src/GenerateContext/enhanceOntology.ts","../../src/shared/sanitizeMetadata.ts","../../src/util/verifyOutDir.ts","../../src/util/test/formatTs.ts","../../src/v2.0/generateMetadata.ts","../../src/shared/getObjectImports.ts","../../src/util/stringify.ts","../../src/util/stringUnionFrom.ts","../../src/v2.0/getDescriptionIfPresent.ts","../../src/v2.0/generatePerActionDataFiles.ts","../../../../node_modules/.pnpm/consola@3.4.0/node_modules/consola/dist/core.mjs","../../../../node_modules/.pnpm/consola@3.4.0/node_modules/consola/dist/shared/consola.Cs5FdtHD.mjs","../../../../node_modules/.pnpm/consola@3.4.0/node_modules/consola/dist/shared/consola.lX6kr4n8.mjs","../../../../node_modules/.pnpm/consola@3.4.0/node_modules/consola/dist/index.mjs","../../src/shared/propertyJsdoc.ts","../../src/v2.0/wireObjectTypeV2ToSdkObjectConstV2.ts","../../src/v2.0/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.ts","../../src/v2.0/generatePerInterfaceDataFiles.ts","../../src/v2.0/generatePerObjectDataFiles.ts","../../src/shared/getObjectTypesFromQueryDataType.ts","../../src/shared/getObjectTypeApiNamesFromQuery.ts","../../src/v2.0/generatePerQueryDataFiles.ts","../../src/v2.0/generateRootIndexTsFile.ts","../../src/v2.0/generateClientSdkVersionTwoPointZero.ts","../../src/generateClientSdkPackage.ts"],"names":["path","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","wireObjectTypeFullMetadataToSdkObjectMetadata","r","a","fs","format","value","wireActionTypeV2ToSdkActionMetadata","_","p","c","i","sep","l","formatWithOptions","tty","ansiRegex","stripAnsi","env","p$1","getColor","createConsola","object","forInternalUse","definition","fastDeepEqual","invariant","wireQueryTypeV2ToSdkQueryDefinitionNoParams","wireQueryDataTypeToQueryDataTypeDefinition","paramToDef","u","x","path8"],"mappings":"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","file":"index.cjs","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 * as path from \"node:path\";\nexport class AbstractImportable {\n /**\n * Either a path relative to the ourDir (e.g. \"./ontology/objects/foo.js\") or a normal\n * module import (e.g. \"@something/foo\")/\n */\n\n constructor(common, fullApiName, basePath, isLocal = true) {\n this._common = common;\n this.fullApiName = fullApiName;\n [this.apiNamespace, this.shortApiName] = extractNamespace(this.fullApiName);\n const {\n importExt\n } = common;\n this.importPath = isLocal ? `${basePath}/${this.shortApiName}${importExt}` : basePath;\n this.uniqueImportName = this.shortApiName;\n }\n getImportPathRelTo = filePath => {\n if (this.importPath.startsWith(\".\")) {\n const result = path.relative(path.dirname(filePath), this.importPath).split(path.sep).join(\"/\");\n if (result.startsWith(\".\")) {\n return result;\n } else {\n return `./${result}`;\n }\n } else {\n return this.importPath;\n }\n };\n}\nexport class EnhancedBase extends AbstractImportable {\n constructor(common, raw, fullApiName, basePath) {\n super(common, fullApiName, basePath);\n this.raw = raw;\n }\n}\nexport function extractNamespace(fqApiName) {\n const last = fqApiName.lastIndexOf(\".\");\n if (last === -1) return [undefined, fqApiName];\n return [fqApiName.slice(0, last), fqApiName.slice(last + 1)];\n}","/*\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 { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedAction extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/actions\");\n this.raw = raw;\n }\n get description() {\n return this.raw.description;\n }\n get parameters() {\n return this.raw.parameters;\n }\n get operations() {\n return this.raw.operations;\n }\n get paramsIdentifier() {\n return `${this.shortApiName}.Params`;\n }\n get definitionIdentifier() {\n return `${this.shortApiName}.Definition`;\n }\n get definitionParamsIdentifier() {\n return `${this.shortApiName}.ParamsDefinition`;\n }\n}","/*\n * Copyright 2023 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\nexport function deleteUndefineds(obj) {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined));\n}","/*\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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedInterfaceType extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/interfaces\");\n this.raw = raw;\n }\n getDefinitionIdentifier(v2) {\n return v2 ? this.shortApiName : `${this.shortApiName}Def`;\n }\n getImportedDefinitionIdentifier(v2) {\n return this.getDefinitionIdentifier(v2);\n }\n get properties() {\n return this.raw.properties;\n }\n getCleanedUpDefinition(v2) {\n return deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(this.raw, v2));\n }\n}","/*\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 { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedObjectType extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.objectType.apiName, \"./ontology/objects\");\n this.raw = raw;\n }\n getDefinitionIdentifier(v2) {\n return v2 ? this.shortApiName : `${this.shortApiName}Def`;\n }\n getImportedDefinitionIdentifier(v2) {\n return this.getDefinitionIdentifier(v2);\n }\n getCleanedUpDefinition(v2) {\n return deleteUndefineds(wireObjectTypeFullMetadataToSdkObjectMetadata(this.raw, v2));\n }\n}","/*\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 { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedQuery extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/queries\");\n this.raw = raw;\n }\n get description() {\n return this.raw.description;\n }\n get parameters() {\n return this.raw.parameters;\n }\n get output() {\n return this.raw.output;\n }\n get paramsIdentifier() {\n return `${this.shortApiName}.Parameters`;\n }\n get definitionIdentifier() {\n return this.shortApiName;\n }\n get definitionParamsIdentifier() {\n return `${this.definitionIdentifier}$Params`;\n }\n}","/*\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 { EnhancedBase } from \"./EnhancedBase.js\";\nexport class EnhancedSharedPropertyType extends EnhancedBase {\n constructor(common, raw) {\n super(common, raw, raw.apiName, \"./ontology/interfaces\");\n this.raw = raw;\n }\n}","/*\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 { AbstractImportable } from \"./EnhancedBase.js\";\nexport class ForeignType extends AbstractImportable {\n constructor(_common, apiNamespace, shortApiName, destinationPackage) {\n super(_common, apiNamespace ? `${apiNamespace}.${shortApiName}` : shortApiName, destinationPackage, false);\n this._common = _common;\n }\n getImportedDefinitionIdentifier(v2) {\n return `$Imported$${this.apiNamespace?.replace(/\\./g, \"$\")}$${this.shortApiName}`;\n }\n getDefinitionIdentifier(v2) {\n return this.uniqueImportName;\n }\n}","/*\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 { EnhancedAction } from \"./EnhancedAction.js\";\nimport { extractNamespace } from \"./EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"./EnhancedInterfaceType.js\";\nimport { EnhancedObjectType } from \"./EnhancedObjectType.js\";\nimport { EnhancedQuery } from \"./EnhancedQuery.js\";\nimport { EnhancedSharedPropertyType } from \"./EnhancedSharedPropertyType.js\";\nimport { ForeignType } from \"./ForeignType.js\";\nexport class EnhancedOntologyDefinition {\n #foreignTypes = {};\n constructor(raw, importExt, externalObjects, externalInterfaces, externalSpts) {\n this.common = {\n enhancedOntology: this,\n importExt\n };\n this.raw = raw;\n this.ontology = raw.ontology;\n this.objectTypes = remap(raw.objectTypes, this.common, EnhancedObjectType, externalObjects);\n this.actionTypes = remap(raw.actionTypes, this.common, EnhancedAction);\n this.queryTypes = remap(raw.queryTypes, this.common, EnhancedQuery);\n this.interfaceTypes = remap(raw.interfaceTypes, this.common, EnhancedInterfaceType, externalInterfaces);\n this.sharedPropertyTypes = remap(raw.sharedPropertyTypes, this.common, EnhancedSharedPropertyType, externalSpts);\n }\n #createRequireType = type => {\n return (fullApiName, localOnly) => {\n const ret = this[type][fullApiName];\n if (!ret) {\n const [apiNamespace, shortApiName] = extractNamespace(fullApiName);\n throw new Error(`Unable to find ${type}: No entry for '${fullApiName}`);\n }\n return ret;\n };\n };\n requireObjectType = this.#createRequireType(\"objectTypes\");\n requireInterfaceType = this.#createRequireType(\"interfaceTypes\");\n requireActionType = this.#createRequireType(\"actionTypes\");\n requireQueryType = this.#createRequireType(\"queryTypes\");\n requireSharedPropertyType = this.#createRequireType(\"sharedPropertyTypes\");\n}\nfunction remap(r, common, Constructor, externalMap) {\n const entries = [];\n for (const [fullApiName, v] of Object.entries(r ?? {})) {\n if (externalMap?.has(fullApiName)) {\n // skip it, we handle it below\n } else {\n entries.push([fullApiName, new Constructor(common, v)]);\n }\n }\n if (externalMap) {\n for (const [fullApiName, destPackage] of externalMap) {\n const [apiNamespace, shortApiName] = extractNamespace(fullApiName);\n // I think this check should be required but the ontology manager / dev console doesn't enforce it right now\n // if (apiNamespace === undefined) {\n // throw new Error(\n // `Cannot reference an external type (${fullApiName}) that is missing a namespace`,\n // );\n // }\n entries.push([fullApiName, new ForeignType(common, apiNamespace, shortApiName, destPackage)]);\n }\n }\n return Object.fromEntries(entries.sort((a, b) => a[0].localeCompare(b[0])));\n}","/*\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 { EnhancedOntologyDefinition } from \"./EnhancedOntologyDefinition.js\";\nexport function enhanceOntology({\n sanitized,\n importExt,\n externalObjects,\n externalInterfaces,\n externalSpts\n}) {\n return new EnhancedOntologyDefinition(sanitized, importExt, externalObjects, externalInterfaces, externalSpts);\n}","/*\n * Copyright 2023 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\n/**\n * @internal\n */\n\n/**\n * @internal\n */\n\n/**\n * @internal\n */\nexport function sanitizeMetadata(ontology) {\n return {\n ...ontology,\n actionTypes: Object.fromEntries(Object.values(ontology.actionTypes).map(actionType => {\n return [camelize(actionType.apiName), {\n ...actionType,\n apiName: camelize(actionType.apiName)\n }];\n }))\n };\n}\nfunction camelize(name) {\n return name.replace(/-./g, segment => segment[1].toUpperCase());\n}","/*\n * Copyright 2023 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\n/**\n * Verify that the target outDir does not yet exist OR is empty.\n *\n * Re-generating an ontology on top of itself is not supported and may leave old\n * files around or refuse to update files with new contents in some cases.\n */\nexport async function verifyOutDir(outDir, fs) {\n // if outDir exists and is not empty, we cannot proceed with the generation\n try {\n const contents = await fs.readdir(outDir);\n if (contents.length !== 0) {\n throw new Error(`outDir ${outDir} is not empty, please delete its contents and try again`);\n }\n } catch (e) {\n if (e.code === \"ENOENT\") {\n // acceptable, we'll create the directory ourselves\n } else {\n throw e;\n }\n }\n}","/*\n * Copyright 2023 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 { format } from \"prettier\";\nexport function formatTs(contents) {\n try {\n return format(contents, {\n parser: \"typescript\",\n singleQuote: true,\n trailingComma: \"all\",\n tabWidth: 2,\n printWidth: 120\n });\n } catch (e) {\n console.error(\"Failed to format file\", e);\n console.log(contents);\n return contents;\n }\n}","/*\n * Copyright 2023 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 path from \"path\";\nimport { formatTs } from \"../util/test/formatTs.js\";\n\n// BEGIN: THIS IS GENERATED CODE. DO NOT EDIT.\nconst ExpectedOsdkVersion = \"2.2.0\";\n// END: THIS IS GENERATED CODE. DO NOT EDIT.\n\nexport async function generateOntologyMetadataFile({\n fs,\n outDir,\n ontology,\n ontologyApiNamespace\n}, userAgent) {\n await fs.writeFile(path.join(outDir, \"OntologyMetadata.ts\"), await formatTs(`\n export type $ExpectedClientVersion = \"${ExpectedOsdkVersion}\";\n export const $osdkMetadata = { extraUserAgent: \"${userAgent}\" };\n ${ontologyApiNamespace == null ? `\n export const $ontologyRid = \"${ontology.ontology.rid}\";\n ` : \"\"}\n `));\n}","/*\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\nexport function getObjectImports(objects, curApiName, currentFilePath, v2) {\n return Array.from(objects).filter(obj => obj.fullApiName !== curApiName).map(obj => {\n const defId = obj.getDefinitionIdentifier(v2);\n const importedId = obj.getImportedDefinitionIdentifier(v2);\n const nameOrAlias = defId === importedId ? defId : `${defId} as ${importedId}`;\n return `import type { ${nameOrAlias} } from \"${obj.getImportPathRelTo(\"./\" + currentFilePath)}\";`;\n }).join(\"\\n\");\n}","/*\n * Copyright 2023 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\n/**\n * A function for changing the stringified key/value pairs of an object.\n *\n * @param value The value of the key/value pair.\n * @param defaultValueFormatter The function that would be called if this customizer wasn't used\n * @param key The key of the key/value pair.\n * @param defaultKeyFormatter The function that would be called if this customizer wasn't used\n *\n * @returns A string, a tuple of strings, or undefined.\n * If a string is returned, it will be used as the value of the key/value pair.\n * If a tuple of strings is returned, the first string will be used as the key of the key/value pair\n * and the second string will be used as the value of the key/value pair.\n * If undefined is returned, the pair will be removed\n */\n\nconst defaultCustomizer = (value, defaultValueFormatter, key, defaultKeyFormatter) => {\n return [defaultKeyFormatter(key), defaultValueFormatter(value)];\n};\nexport function stringify(obj, customizer = {}, separator = \",\\n\") {\n const defaultKeyFormatter = key => `${JSON.stringify(key)}`;\n const entries = [];\n const sortedKeys = Object.keys(obj).sort((a, b) => a.localeCompare(b));\n for (const key of sortedKeys) {\n const value = obj[key];\n const res = (customizer[key] ?? customizer[\"*\"] ?? defaultCustomizer)(value, value => JSON.stringify(value, null, 2), key, defaultKeyFormatter);\n if (res) {\n if (typeof res === \"string\") {\n entries.push(`${defaultKeyFormatter(key)}: ${res}`);\n } else {\n entries.push(`${res[0]}: ${res[1]}`);\n }\n }\n }\n return entries.join(separator);\n}","/*\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\nexport function stringUnionFrom(values) {\n if (values.length === 0) {\n return \"never\";\n } else {\n return values.map(v => `\"${v}\"`).join(\"|\");\n }\n}","/*\n * Copyright 2023 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\nexport function getDescriptionIfPresent(description, includeNewline) {\n if (description) {\n return `/**\n * ${description}\n */${includeNewline ? \"\\n\" : \"\"}`;\n }\n return \"\";\n}","/*\n * Copyright 2023 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 { wireActionTypeV2ToSdkActionMetadata } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { stringUnionFrom } from \"../util/stringUnionFrom.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\nexport async function generatePerActionDataFiles({\n sanitizedOntology: ontology,\n fs,\n outDir: rootOutDir,\n importExt = \"\",\n ontology: enhancedOntology,\n forInternalUse = false\n}) {\n const outDir = path.join(rootOutDir, \"ontology\", \"actions\");\n await fs.mkdir(outDir, {\n recursive: true\n });\n await Promise.all(Object.values(enhancedOntology.actionTypes).map(async action => {\n const currentFilePath = path.join(\"ontology\", \"actions\", `${action.shortApiName}.ts`);\n const uniqueApiNamesArray = extractReferencedObjectsFromAction(action.raw);\n const uniqueApiNames = new Set(uniqueApiNamesArray);\n const uniqueApiNamesString = stringUnionFrom([...uniqueApiNames]);\n const fullActionDef = deleteUndefineds(wireActionTypeV2ToSdkActionMetadata(action.raw));\n function createParamsDef() {\n const entries = Object.entries(fullActionDef.parameters ?? {});\n entries.sort((a, b) => a[0].localeCompare(b[0]));\n if (entries.length === 0) {\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = Record<string, never>;`;\n }\n return `// Represents the definition of the parameters for the action\n export type ParamsDefinition = {\n ${entries.map(([key, value]) => {\n return `\"${key}\": {\n ${stringify(value, {\n description: (value, d) => value ? d(value) : undefined,\n // trick to remove undefineds\n type: type => {\n if (typeof type === \"string\") {\n return JSON.stringify(type);\n } else if (type.type === \"object\") {\n const obj = enhancedOntology.requireObjectType(type.object);\n return `ActionMetadata.DataType.Object<${obj.getImportedDefinitionIdentifier(true)}>`;\n } else if (type.type === \"objectSet\") {\n const obj = enhancedOntology.requireObjectType(type.objectSet);\n return `ActionMetadata.DataType.ObjectSet<${obj.getImportedDefinitionIdentifier(true)}>`;\n } else if (type.type === \"interface\") {\n const obj = enhancedOntology.requireInterfaceType(type.interface);\n return `ActionMetadata.DataType.Interface<${obj.getImportedDefinitionIdentifier(true)}>`;\n } else if (type.type === \"struct\") {\n return `ActionMetadata.DataType.Struct<${JSON.stringify(type.struct)}>`;\n }\n return undefined;\n }\n })}\n }`;\n }).join(\";\\n\")}\n }`;\n }\n function getActionParamType(input) {\n if (typeof input === \"string\") {\n return `ActionParam.PrimitiveType<${JSON.stringify(input)}>`;\n } else if (input.type === \"object\") {\n return `ActionParam.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;\n } else if (input.type === \"objectSet\") {\n return `ActionParam.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;\n } else if (input.type === \"interface\") {\n return `ActionParam.InterfaceType<${enhancedOntology.requireInterfaceType(input.interface).getImportedDefinitionIdentifier(true)}>`;\n } else if (input.type === \"struct\") {\n return `ActionParam.StructType<${JSON.stringify(input.struct)}>`;\n }\n }\n function createV2Types() {\n const oldParamsIdentifier = `${action.shortApiName}$Params`;\n const jsDocBlock = [\"/**\"];\n if (action.description != null) {\n jsDocBlock.push(`* ${action.description}`);\n }\n // the params must be a `type` to align properly with the `ActionDefinition` interface\n // this way we can generate a strict type for the function itself and reference it from the Action Definition\n return `\n \n export namespace ${action.shortApiName}{\n ${createParamsDef()}\n\n ${getDescriptionIfPresent(action.description)}\n export interface Params {\n ${stringify(fullActionDef.parameters, {\n \"*\": (ogValue, _, ogKey) => {\n const key = `${getDescriptionIfPresent(ogValue.description)}\n readonly \"${ogKey}\"${ogValue.nullable ? \"?\" : \"\"}`;\n const value = ogValue.multiplicity ? `ReadonlyArray<${getActionParamType(ogValue.type)}>` : `${getActionParamType(ogValue.type)}`;\n jsDocBlock.push(`* @param {${getActionParamType(ogValue.type)}} ${ogValue.nullable ? `[${ogKey}]` : ogKey} ${ogValue.description ?? \"\"} `);\n return [key, value];\n }\n })}\n }\n\n // Represents a fqn of the action\n export interface Signatures {\n ${getDescriptionIfPresent(action.description)}\n applyAction<P extends ${action.paramsIdentifier}, OP extends ApplyActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n \n batchApplyAction<P extends ReadonlyArray<${action.paramsIdentifier}>, OP extends ApplyBatchActionOptions>(args: P, options?: OP): Promise<ActionReturnTypeForOptions<OP>>;\n }\n \n }\n\n \n ${jsDocBlock.join(\"\\n\")}\n */\n export interface ${action.shortApiName} extends ActionDefinition<${action.shortApiName}.Signatures> {\n __DefinitionMetadata?: {\n ${stringify(fullActionDef, {\n \"parameters\": () => action.definitionParamsIdentifier\n })}\n \n signatures: ${action.shortApiName}.Signatures;\n },\n ${stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined\n })}\n osdkMetadata: typeof $osdkMetadata;\n }\n `;\n }\n function createV2Object() {\n return ` export const ${action.shortApiName}: ${action.shortApiName} = \n {\n ${stringify(fullActionDef, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"modifiedEntities\": () => undefined,\n \"parameters\": () => undefined,\n \"rid\": () => undefined,\n \"status\": () => undefined\n })},\n osdkMetadata: $osdkMetadata\n }\n `;\n }\n const referencedObjectDefs = new Set();\n for (const p of Object.values(action.parameters)) {\n if (p.dataType.type === \"object\" || p.dataType.type === \"objectSet\") {\n if (p.dataType.objectApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectApiName));\n }\n if (p.dataType.objectTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.objectTypeApiName));\n }\n }\n if (p.dataType.type === \"interfaceObject\") {\n if (p.dataType.interfaceTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.interfaceTypeApiName));\n }\n }\n if (p.dataType.type === \"array\") {\n if (p.dataType.subType.type === \"object\" || p.dataType.subType.type === \"objectSet\") {\n if (p.dataType.subType.objectApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectApiName));\n }\n if (p.dataType.subType.objectTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireObjectType(p.dataType.subType.objectTypeApiName));\n }\n }\n if (p.dataType.subType.type === \"interfaceObject\") {\n if (p.dataType.subType.interfaceTypeApiName) {\n referencedObjectDefs.add(enhancedOntology.requireInterfaceType(p.dataType.subType.interfaceTypeApiName));\n }\n }\n }\n }\n const imports = getObjectImports(referencedObjectDefs, undefined, currentFilePath, true);\n await fs.writeFile(path.join(rootOutDir, currentFilePath), await formatTs(`\n import type {\n ActionDefinition,\n ActionMetadata,\n ActionParam,\n ActionReturnTypeForOptions,\n ApplyActionOptions,\n ApplyBatchActionOptions,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${imports}\n\n \n ${createV2Types()}\n\n ${createV2Object()}\n `));\n }));\n const indexFileRelPath = path.join(\"ontology\", \"actions.ts\");\n await fs.writeFile(path.join(rootOutDir, indexFileRelPath), await formatTs(`\n ${Object.values(enhancedOntology.actionTypes).map(action => {\n const exportConstLine = `export {${action.shortApiName} } from \"${action.getImportPathRelTo(indexFileRelPath)}\";`;\n return exportConstLine;\n }).join(\"\\n\")}\n ${Object.keys(ontology.actionTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}\nfunction extractReferencedObjectsFromAction(actionType) {\n const referencedObjectsInParameters = Object.values(actionType.parameters).flatMap(({\n dataType\n }) => {\n const objectTypeReference = extractReferencedObjectsFromActionParameter(dataType);\n return objectTypeReference ? [objectTypeReference] : [];\n });\n const referenceObjectsInEdits = actionType.operations.flatMap(value => {\n switch (value.type) {\n case \"createObject\":\n return [value.objectTypeApiName];\n case \"modifyObject\":\n return [value.objectTypeApiName];\n case \"deleteObject\":\n case \"createLink\":\n case \"deleteLink\":\n default:\n return [];\n }\n });\n return [...referenceObjectsInEdits, ...referencedObjectsInParameters];\n}\nfunction extractReferencedObjectsFromActionParameter(actionParameter) {\n switch (actionParameter.type) {\n case \"objectSet\":\n case \"object\":\n return actionParameter.objectTypeApiName;\n case \"array\":\n return extractReferencedObjectsFromActionParameter(actionParameter.subType);\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n return undefined;\n }\n}","const LogLevels = {\n silent: Number.NEGATIVE_INFINITY,\n fatal: 0,\n error: 0,\n warn: 1,\n log: 2,\n info: 3,\n success: 3,\n fail: 3,\n ready: 3,\n start: 3,\n box: 3,\n debug: 4,\n trace: 5,\n verbose: Number.POSITIVE_INFINITY\n};\nconst LogTypes = {\n // Silent\n silent: {\n level: -1\n },\n // Level 0\n fatal: {\n level: LogLevels.fatal\n },\n error: {\n level: LogLevels.error\n },\n // Level 1\n warn: {\n level: LogLevels.warn\n },\n // Level 2\n log: {\n level: LogLevels.log\n },\n // Level 3\n info: {\n level: LogLevels.info\n },\n success: {\n level: LogLevels.success\n },\n fail: {\n level: LogLevels.fail\n },\n ready: {\n level: LogLevels.info\n },\n start: {\n level: LogLevels.info\n },\n box: {\n level: LogLevels.info\n },\n // Level 4\n debug: {\n level: LogLevels.debug\n },\n // Level 5\n trace: {\n level: LogLevels.trace\n },\n // Verbose\n verbose: {\n level: LogLevels.verbose\n }\n};\nfunction isPlainObject$1(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {\n return false;\n }\n if (Symbol.iterator in value) {\n return false;\n }\n if (Symbol.toStringTag in value) {\n return Object.prototype.toString.call(value) === \"[object Module]\";\n }\n return true;\n}\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isPlainObject$1(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = Object.assign({}, defaults);\n for (const key in baseObject) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === undefined) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isPlainObject$1(value) && isPlainObject$1(object[key])) {\n object[key] = _defu(value, object[key], (namespace ? `${namespace}.` : \"\") + key.toString(), merger);\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) =>\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {});\n}\nconst defu = createDefu();\nfunction isPlainObject(obj) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n}\nfunction isLogObj(arg) {\n if (!isPlainObject(arg)) {\n return false;\n }\n if (!arg.message && !arg.args) {\n return false;\n }\n if (arg.stack) {\n return false;\n }\n return true;\n}\nlet paused = false;\nconst queue = [];\nclass Consola {\n options;\n _lastLog;\n _mockFn;\n /**\n * Creates an instance of Consola with specified options or defaults.\n *\n * @param {Partial<ConsolaOptions>} [options={}] - Configuration options for the Consola instance.\n */\n constructor(options = {}) {\n const types = options.types || LogTypes;\n this.options = defu({\n ...options,\n defaults: {\n ...options.defaults\n },\n level: _normalizeLogLevel(options.level, types),\n reporters: [...(options.reporters || [])]\n }, {\n types: LogTypes,\n throttle: 1e3,\n throttleMin: 5,\n formatOptions: {\n date: true,\n colors: false,\n compact: true\n }\n });\n for (const type in types) {\n const defaults = {\n type,\n ...this.options.defaults,\n ...types[type]\n };\n this[type] = this._wrapLogFn(defaults);\n this[type].raw = this._wrapLogFn(defaults, true);\n }\n if (this.options.mockFn) {\n this.mockTypes();\n }\n this._lastLog = {};\n }\n /**\n * Gets the current log level of the Consola instance.\n *\n * @returns {number} The current log level.\n */\n get level() {\n return this.options.level;\n }\n /**\n * Sets the minimum log level that will be output by the instance.\n *\n * @param {number} level - The new log level to set.\n */\n set level(level) {\n this.options.level = _normalizeLogLevel(level, this.options.types, this.options.level);\n }\n /**\n * Displays a prompt to the user and returns the response.\n * Throw an error if `prompt` is not supported by the current configuration.\n *\n * @template T\n * @param {string} message - The message to display in the prompt.\n * @param {T} [opts] - Optional options for the prompt. See {@link PromptOptions}.\n * @returns {promise<T>} A promise that infer with the prompt options. See {@link PromptOptions}.\n */\n prompt(message, opts) {\n if (!this.options.prompt) {\n throw new Error(\"prompt is not supported!\");\n }\n return this.options.prompt(message, opts);\n }\n /**\n * Creates a new instance of Consola, inheriting options from the current instance, with possible overrides.\n *\n * @param {Partial<ConsolaOptions>} options - Optional overrides for the new instance. See {@link ConsolaOptions}.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n create(options) {\n const instance = new Consola({\n ...this.options,\n ...options\n });\n if (this._mockFn) {\n instance.mockTypes(this._mockFn);\n }\n return instance;\n }\n /**\n * Creates a new Consola instance with the specified default log object properties.\n *\n * @param {InputLogObject} defaults - Default properties to include in any log from the new instance. See {@link InputLogObject}.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n withDefaults(defaults) {\n return this.create({\n ...this.options,\n defaults: {\n ...this.options.defaults,\n ...defaults\n }\n });\n }\n /**\n * Creates a new Consola instance with a specified tag, which will be included in every log.\n *\n * @param {string} tag - The tag to include in each log of the new instance.\n * @returns {ConsolaInstance} A new Consola instance. See {@link ConsolaInstance}.\n */\n withTag(tag) {\n return this.withDefaults({\n tag: this.options.defaults.tag ? this.options.defaults.tag + \":\" + tag : tag\n });\n }\n /**\n * Adds a custom reporter to the Consola instance.\n * Reporters will be called for each log message, depending on their implementation and log level.\n *\n * @param {ConsolaReporter} reporter - The reporter to add. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n addReporter(reporter) {\n this.options.reporters.push(reporter);\n return this;\n }\n /**\n * Removes a custom reporter from the Consola instance.\n * If no reporter is specified, all reporters will be removed.\n *\n * @param {ConsolaReporter} reporter - The reporter to remove. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n removeReporter(reporter) {\n if (reporter) {\n const i = this.options.reporters.indexOf(reporter);\n if (i !== -1) {\n return this.options.reporters.splice(i, 1);\n }\n } else {\n this.options.reporters.splice(0);\n }\n return this;\n }\n /**\n * Replaces all reporters of the Consola instance with the specified array of reporters.\n *\n * @param {ConsolaReporter[]} reporters - The new reporters to set. See {@link ConsolaReporter}.\n * @returns {Consola} The current Consola instance.\n */\n setReporters(reporters) {\n this.options.reporters = Array.isArray(reporters) ? reporters : [reporters];\n return this;\n }\n wrapAll() {\n this.wrapConsole();\n this.wrapStd();\n }\n restoreAll() {\n this.restoreConsole();\n this.restoreStd();\n }\n /**\n * Overrides console methods with Consola logging methods for consistent logging.\n */\n wrapConsole() {\n for (const type in this.options.types) {\n if (!console[\"__\" + type]) {\n console[\"__\" + type] = console[type];\n }\n console[type] = this[type].raw;\n }\n }\n /**\n * Restores the original console methods, removing Consola overrides.\n */\n restoreConsole() {\n for (const type in this.options.types) {\n if (console[\"__\" + type]) {\n console[type] = console[\"__\" + type];\n delete console[\"__\" + type];\n }\n }\n }\n /**\n * Overrides standard output and error streams to redirect them through Consola.\n */\n wrapStd() {\n this._wrapStream(this.options.stdout, \"log\");\n this._wrapStream(this.options.stderr, \"log\");\n }\n _wrapStream(stream, type) {\n if (!stream) {\n return;\n }\n if (!stream.__write) {\n stream.__write = stream.write;\n }\n stream.write = data => {\n this[type].raw(String(data).trim());\n };\n }\n /**\n * Restores the original standard output and error streams, removing the Consola redirection.\n */\n restoreStd() {\n this._restoreStream(this.options.stdout);\n this._restoreStream(this.options.stderr);\n }\n _restoreStream(stream) {\n if (!stream) {\n return;\n }\n if (stream.__write) {\n stream.write = stream.__write;\n delete stream.__write;\n }\n }\n /**\n * Pauses logging, queues incoming logs until resumed.\n */\n pauseLogs() {\n paused = true;\n }\n /**\n * Resumes logging, processing any queued logs.\n */\n resumeLogs() {\n paused = false;\n const _queue = queue.splice(0);\n for (const item of _queue) {\n item[0]._logFn(item[1], item[2]);\n }\n }\n /**\n * Replaces logging methods with mocks if a mock function is provided.\n *\n * @param {ConsolaOptions[\"mockFn\"]} mockFn - The function to use for mocking logging methods. See {@link ConsolaOptions[\"mockFn\"]}.\n */\n mockTypes(mockFn) {\n const _mockFn = mockFn || this.options.mockFn;\n this._mockFn = _mockFn;\n if (typeof _mockFn !== \"function\") {\n return;\n }\n for (const type in this.options.types) {\n this[type] = _mockFn(type, this.options.types[type]) || this[type];\n this[type].raw = this[type];\n }\n }\n _wrapLogFn(defaults, isRaw) {\n return (...args) => {\n if (paused) {\n queue.push([this, defaults, args, isRaw]);\n return;\n }\n return this._logFn(defaults, args, isRaw);\n };\n }\n _logFn(defaults, args, isRaw) {\n if ((defaults.level || 0) > this.level) {\n return false;\n }\n const logObj = {\n date: /* @__PURE__ */new Date(),\n args: [],\n ...defaults,\n level: _normalizeLogLevel(defaults.level, this.options.types)\n };\n if (!isRaw && args.length === 1 && isLogObj(args[0])) {\n Object.assign(logObj, args[0]);\n } else {\n logObj.args = [...args];\n }\n if (logObj.message) {\n logObj.args.unshift(logObj.message);\n delete logObj.message;\n }\n if (logObj.additional) {\n if (!Array.isArray(logObj.additional)) {\n logObj.additional = logObj.additional.split(\"\\n\");\n }\n logObj.args.push(\"\\n\" + logObj.additional.join(\"\\n\"));\n delete logObj.additional;\n }\n logObj.type = typeof logObj.type === \"string\" ? logObj.type.toLowerCase() : \"log\";\n logObj.tag = typeof logObj.tag === \"string\" ? logObj.tag : \"\";\n const resolveLog = (newLog = false) => {\n const repeated = (this._lastLog.count || 0) - this.options.throttleMin;\n if (this._lastLog.object && repeated > 0) {\n const args2 = [...this._lastLog.object.args];\n if (repeated > 1) {\n args2.push(`(repeated ${repeated} times)`);\n }\n this._log({\n ...this._lastLog.object,\n args: args2\n });\n this._lastLog.count = 1;\n }\n if (newLog) {\n this._lastLog.object = logObj;\n this._log(logObj);\n }\n };\n clearTimeout(this._lastLog.timeout);\n const diffTime = this._lastLog.time && logObj.date ? logObj.date.getTime() - this._lastLog.time.getTime() : 0;\n this._lastLog.time = logObj.date;\n if (diffTime < this.options.throttle) {\n try {\n const serializedLog = JSON.stringify([logObj.type, logObj.tag, logObj.args]);\n const isSameLog = this._lastLog.serialized === serializedLog;\n this._lastLog.serialized = serializedLog;\n if (isSameLog) {\n this._lastLog.count = (this._lastLog.count || 0) + 1;\n if (this._lastLog.count > this.options.throttleMin) {\n this._lastLog.timeout = setTimeout(resolveLog, this.options.throttle);\n return;\n }\n }\n } catch {}\n }\n resolveLog(true);\n }\n _log(logObj) {\n for (const reporter of this.options.reporters) {\n reporter.log(logObj, {\n options: this.options\n });\n }\n }\n}\nfunction _normalizeLogLevel(input, types = {}, defaultLevel = 3) {\n if (input === undefined) {\n return defaultLevel;\n }\n if (typeof input === \"number\") {\n return input;\n }\n if (types[input] && types[input].level !== undefined) {\n return types[input].level;\n }\n return defaultLevel;\n}\nConsola.prototype.add = Consola.prototype.addReporter;\nConsola.prototype.remove = Consola.prototype.removeReporter;\nConsola.prototype.clear = Consola.prototype.removeReporter;\nConsola.prototype.withScope = Consola.prototype.withTag;\nConsola.prototype.mock = Consola.prototype.mockTypes;\nConsola.prototype.pause = Consola.prototype.pauseLogs;\nConsola.prototype.resume = Consola.prototype.resumeLogs;\nfunction createConsola(options = {}) {\n return new Consola(options);\n}\nexport { Consola, LogLevels, LogTypes, createConsola };","import { formatWithOptions } from 'node:util';\nimport { sep } from 'node:path';\nfunction parseStack(stack) {\n const cwd = process.cwd() + sep;\n const lines = stack.split(\"\\n\").splice(1).map(l => l.trim().replace(\"file://\", \"\").replace(cwd, \"\"));\n return lines;\n}\nfunction writeStream(data, stream) {\n const write = stream.__write || stream.write;\n return write.call(stream, data);\n}\nconst bracket = x => x ? `[${x}]` : \"\";\nclass BasicReporter {\n formatStack(stack, opts) {\n const indent = \" \".repeat((opts?.errorLevel || 0) + 1);\n return indent + parseStack(stack).join(`\n${indent}`);\n }\n formatError(err, opts) {\n const message = err.message ?? formatWithOptions(opts, err);\n const stack = err.stack ? this.formatStack(err.stack, opts) : \"\";\n const level = opts?.errorLevel || 0;\n const causedPrefix = level > 0 ? `${\" \".repeat(level)}[cause]: ` : \"\";\n const causedError = err.cause ? \"\\n\\n\" + this.formatError(err.cause, {\n ...opts,\n errorLevel: level + 1\n }) : \"\";\n return causedPrefix + message + \"\\n\" + stack + causedError;\n }\n formatArgs(args, opts) {\n const _args = args.map(arg => {\n if (arg && typeof arg.stack === \"string\") {\n return this.formatError(arg, opts);\n }\n return arg;\n });\n return formatWithOptions(opts, ..._args);\n }\n formatDate(date, opts) {\n return opts.date ? date.toLocaleTimeString() : \"\";\n }\n filterAndJoin(arr) {\n return arr.filter(Boolean).join(\" \");\n }\n formatLogObj(logObj, opts) {\n const message = this.formatArgs(logObj.args, opts);\n if (logObj.type === \"box\") {\n return \"\\n\" + [bracket(logObj.tag), logObj.title && logObj.title, ...message.split(\"\\n\")].filter(Boolean).map(l => \" > \" + l).join(\"\\n\") + \"\\n\";\n }\n return this.filterAndJoin([bracket(logObj.type), bracket(logObj.tag), message]);\n }\n log(logObj, ctx) {\n const line = this.formatLogObj(logObj, {\n columns: ctx.options.stdout.columns || 0,\n ...ctx.options.formatOptions\n });\n return writeStream(line + \"\\n\", logObj.level < 2 ? ctx.options.stderr || process.stderr : ctx.options.stdout || process.stdout);\n }\n}\nexport { BasicReporter as B, parseStack as p };","import * as tty from 'node:tty';\nconst {\n env = {},\n argv = [],\n platform = \"\"\n} = typeof process === \"undefined\" ? {} : process;\nconst isDisabled = \"NO_COLOR\" in env || argv.includes(\"--no-color\");\nconst isForced = \"FORCE_COLOR\" in env || argv.includes(\"--color\");\nconst isWindows = platform === \"win32\";\nconst isDumbTerminal = env.TERM === \"dumb\";\nconst isCompatibleTerminal = tty && tty.isatty && tty.isatty(1) && env.TERM && !isDumbTerminal;\nconst isCI = \"CI\" in env && (\"GITHUB_ACTIONS\" in env || \"GITLAB_CI\" in env || \"CIRCLECI\" in env);\nconst isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);\nfunction replaceClose(index, string, close, replace, head = string.slice(0, Math.max(0, index)) + replace, tail = string.slice(Math.max(0, index + close.length)), next = tail.indexOf(close)) {\n return head + (next < 0 ? tail : replaceClose(next, tail, close, replace));\n}\nfunction clearBleed(index, string, open, close, replace) {\n return index < 0 ? open + string + close : open + replaceClose(index, string, close, replace) + close;\n}\nfunction filterEmpty(open, close, replace = open, at = open.length + 1) {\n return string => string || !(string === \"\" || string === undefined) ? clearBleed((\"\" + string).indexOf(close, at), string, open, close, replace) : \"\";\n}\nfunction init(open, close, replace) {\n return filterEmpty(`\\x1B[${open}m`, `\\x1B[${close}m`, replace);\n}\nconst colorDefs = {\n reset: init(0, 0),\n bold: init(1, 22, \"\\x1B[22m\\x1B[1m\"),\n dim: init(2, 22, \"\\x1B[22m\\x1B[2m\"),\n italic: init(3, 23),\n underline: init(4, 24),\n inverse: init(7, 27),\n hidden: init(8, 28),\n strikethrough: init(9, 29),\n black: init(30, 39),\n red: init(31, 39),\n green: init(32, 39),\n yellow: init(33, 39),\n blue: init(34, 39),\n magenta: init(35, 39),\n cyan: init(36, 39),\n white: init(37, 39),\n gray: init(90, 39),\n bgBlack: init(40, 49),\n bgRed: init(41, 49),\n bgGreen: init(42, 49),\n bgYellow: init(43, 49),\n bgBlue: init(44, 49),\n bgMagenta: init(45, 49),\n bgCyan: init(46, 49),\n bgWhite: init(47, 49),\n blackBright: init(90, 39),\n redBright: init(91, 39),\n greenBright: init(92, 39),\n yellowBright: init(93, 39),\n blueBright: init(94, 39),\n magentaBright: init(95, 39),\n cyanBright: init(96, 39),\n whiteBright: init(97, 39),\n bgBlackBright: init(100, 49),\n bgRedBright: init(101, 49),\n bgGreenBright: init(102, 49),\n bgYellowBright: init(103, 49),\n bgBlueBright: init(104, 49),\n bgMagentaBright: init(105, 49),\n bgCyanBright: init(106, 49),\n bgWhiteBright: init(107, 49)\n};\nfunction createColors(useColor = isColorSupported) {\n return useColor ? colorDefs : Object.fromEntries(Object.keys(colorDefs).map(key => [key, String]));\n}\nconst colors = createColors();\nfunction getColor(color, fallback = \"reset\") {\n return colors[color] || colors[fallback];\n}\nfunction colorize(color, text) {\n return getColor(color)(text);\n}\nconst ansiRegex = [String.raw`[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)`, String.raw`(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))`].join(\"|\");\nfunction stripAnsi(text) {\n return text.replace(new RegExp(ansiRegex, \"g\"), \"\");\n}\nfunction centerAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n const freeLeft = Math.floor(free / 2);\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < freeLeft || i >= freeLeft + str.length ? space : str[i - freeLeft];\n }\n return _str;\n}\nfunction rightAlign(str, len, space = \" \") {\n const free = len - str.length;\n if (free <= 0) {\n return str;\n }\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < free ? space : str[i - free];\n }\n return _str;\n}\nfunction leftAlign(str, len, space = \" \") {\n let _str = \"\";\n for (let i = 0; i < len; i++) {\n _str += i < str.length ? str[i] : space;\n }\n return _str;\n}\nfunction align(alignment, str, len, space = \" \") {\n switch (alignment) {\n case \"left\":\n {\n return leftAlign(str, len, space);\n }\n case \"right\":\n {\n return rightAlign(str, len, space);\n }\n case \"center\":\n {\n return centerAlign(str, len, space);\n }\n default:\n {\n return str;\n }\n }\n}\nconst boxStylePresets = {\n solid: {\n tl: \"\\u250C\",\n tr: \"\\u2510\",\n bl: \"\\u2514\",\n br: \"\\u2518\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n },\n double: {\n tl: \"\\u2554\",\n tr: \"\\u2557\",\n bl: \"\\u255A\",\n br: \"\\u255D\",\n h: \"\\u2550\",\n v: \"\\u2551\"\n },\n doubleSingle: {\n tl: \"\\u2553\",\n tr: \"\\u2556\",\n bl: \"\\u2559\",\n br: \"\\u255C\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n doubleSingleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2551\"\n },\n singleThick: {\n tl: \"\\u250F\",\n tr: \"\\u2513\",\n bl: \"\\u2517\",\n br: \"\\u251B\",\n h: \"\\u2501\",\n v: \"\\u2503\"\n },\n singleDouble: {\n tl: \"\\u2552\",\n tr: \"\\u2555\",\n bl: \"\\u2558\",\n br: \"\\u255B\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n singleDoubleRounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2550\",\n v: \"\\u2502\"\n },\n rounded: {\n tl: \"\\u256D\",\n tr: \"\\u256E\",\n bl: \"\\u2570\",\n br: \"\\u256F\",\n h: \"\\u2500\",\n v: \"\\u2502\"\n }\n};\nconst defaultStyle = {\n borderColor: \"white\",\n borderStyle: \"rounded\",\n valign: \"center\",\n padding: 2,\n marginLeft: 1,\n marginTop: 1,\n marginBottom: 1\n};\nfunction box(text, _opts = {}) {\n const opts = {\n ..._opts,\n style: {\n ...defaultStyle,\n ..._opts.style\n }\n };\n const textLines = text.split(\"\\n\");\n const boxLines = [];\n const _color = getColor(opts.style.borderColor);\n const borderStyle = {\n ...(typeof opts.style.borderStyle === \"string\" ? boxStylePresets[opts.style.borderStyle] || boxStylePresets.solid : opts.style.borderStyle)\n };\n if (_color) {\n for (const key in borderStyle) {\n borderStyle[key] = _color(borderStyle[key]);\n }\n }\n const paddingOffset = opts.style.padding % 2 === 0 ? opts.style.padding : opts.style.padding + 1;\n const height = textLines.length + paddingOffset;\n const width = Math.max(...textLines.map(line => stripAnsi(line).length)) + paddingOffset;\n const widthOffset = width + paddingOffset;\n const leftSpace = opts.style.marginLeft > 0 ? \" \".repeat(opts.style.marginLeft) : \"\";\n if (opts.style.marginTop > 0) {\n boxLines.push(\"\".repeat(opts.style.marginTop));\n }\n if (opts.title) {\n const title = _color ? _color(opts.title) : opts.title;\n const left = borderStyle.h.repeat(Math.floor((width - stripAnsi(opts.title).length) / 2));\n const right = borderStyle.h.repeat(width - stripAnsi(opts.title).length - stripAnsi(left).length + paddingOffset);\n boxLines.push(`${leftSpace}${borderStyle.tl}${left}${title}${right}${borderStyle.tr}`);\n } else {\n boxLines.push(`${leftSpace}${borderStyle.tl}${borderStyle.h.repeat(widthOffset)}${borderStyle.tr}`);\n }\n const valignOffset = opts.style.valign === \"center\" ? Math.floor((height - textLines.length) / 2) : opts.style.valign === \"top\" ? height - textLines.length - paddingOffset : height - textLines.length;\n for (let i = 0; i < height; i++) {\n if (i < valignOffset || i >= valignOffset + textLines.length) {\n boxLines.push(`${leftSpace}${borderStyle.v}${\" \".repeat(widthOffset)}${borderStyle.v}`);\n } else {\n const line = textLines[i - valignOffset];\n const left = \" \".repeat(paddingOffset);\n const right = \" \".repeat(width - stripAnsi(line).length);\n boxLines.push(`${leftSpace}${borderStyle.v}${left}${line}${right}${borderStyle.v}`);\n }\n }\n boxLines.push(`${leftSpace}${borderStyle.bl}${borderStyle.h.repeat(widthOffset)}${borderStyle.br}`);\n if (opts.style.marginBottom > 0) {\n boxLines.push(\"\".repeat(opts.style.marginBottom));\n }\n return boxLines.join(\"\\n\");\n}\nexport { align as a, box as b, centerAlign as c, colors as d, colorize as e, getColor as g, leftAlign as l, rightAlign as r, stripAnsi as s };","import { createConsola as createConsola$1, LogLevels } from './core.mjs';\nexport { Consola, LogTypes } from './core.mjs';\nimport { B as BasicReporter, p as parseStack } from './shared/consola.Cs5FdtHD.mjs';\nimport p$1 from 'node:process';\nimport { d as colors, b as box, s as stripAnsi$1 } from './shared/consola.lX6kr4n8.mjs';\nimport 'node:util';\nimport 'node:path';\nimport 'node:tty';\nconst r = Object.create(null),\n i = e => globalThis.process?.env || import.meta.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (e ? r : globalThis),\n s$1 = new Proxy(r, {\n get(e, o) {\n return i()[o] ?? r[o];\n },\n has(e, o) {\n const E = i();\n return o in E || o in r;\n },\n set(e, o, E) {\n const b = i(true);\n return b[o] = E, true;\n },\n deleteProperty(e, o) {\n if (!o) return false;\n const E = i(true);\n return delete E[o], true;\n },\n ownKeys() {\n const e = i(true);\n return Object.keys(e);\n }\n }),\n t = typeof process < \"u\" && process.env && process.env.NODE_ENV || \"\",\n B = [[\"APPVEYOR\"], [\"AWS_AMPLIFY\", \"AWS_APP_ID\", {\n ci: true\n }], [\"AZURE_PIPELINES\", \"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\"], [\"AZURE_STATIC\", \"INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN\"], [\"APPCIRCLE\", \"AC_APPCIRCLE\"], [\"BAMBOO\", \"bamboo_planKey\"], [\"BITBUCKET\", \"BITBUCKET_COMMIT\"], [\"BITRISE\", \"BITRISE_IO\"], [\"BUDDY\", \"BUDDY_WORKSPACE_ID\"], [\"BUILDKITE\"], [\"CIRCLE\", \"CIRCLECI\"], [\"CIRRUS\", \"CIRRUS_CI\"], [\"CLOUDFLARE_PAGES\", \"CF_PAGES\", {\n ci: true\n }], [\"CODEBUILD\", \"CODEBUILD_BUILD_ARN\"], [\"CODEFRESH\", \"CF_BUILD_ID\"], [\"DRONE\"], [\"DRONE\", \"DRONE_BUILD_EVENT\"], [\"DSARI\"], [\"GITHUB_ACTIONS\"], [\"GITLAB\", \"GITLAB_CI\"], [\"GITLAB\", \"CI_MERGE_REQUEST_ID\"], [\"GOCD\", \"GO_PIPELINE_LABEL\"], [\"LAYERCI\"], [\"HUDSON\", \"HUDSON_URL\"], [\"JENKINS\", \"JENKINS_URL\"], [\"MAGNUM\"], [\"NETLIFY\"], [\"NETLIFY\", \"NETLIFY_LOCAL\", {\n ci: false\n }], [\"NEVERCODE\"], [\"RENDER\"], [\"SAIL\", \"SAILCI\"], [\"SEMAPHORE\"], [\"SCREWDRIVER\"], [\"SHIPPABLE\"], [\"SOLANO\", \"TDDIUM\"], [\"STRIDER\"], [\"TEAMCITY\", \"TEAMCITY_VERSION\"], [\"TRAVIS\"], [\"VERCEL\", \"NOW_BUILDER\"], [\"VERCEL\", \"VERCEL\", {\n ci: false\n }], [\"VERCEL\", \"VERCEL_ENV\", {\n ci: false\n }], [\"APPCENTER\", \"APPCENTER_BUILD_ID\"], [\"CODESANDBOX\", \"CODESANDBOX_SSE\", {\n ci: false\n }], [\"STACKBLITZ\"], [\"STORMKIT\"], [\"CLEAVR\"], [\"ZEABUR\"], [\"CODESPHERE\", \"CODESPHERE_APP_ID\", {\n ci: true\n }], [\"RAILWAY\", \"RAILWAY_PROJECT_ID\"], [\"RAILWAY\", \"RAILWAY_SERVICE_ID\"], [\"DENO-DEPLOY\", \"DENO_DEPLOYMENT_ID\"], [\"FIREBASE_APP_HOSTING\", \"FIREBASE_APP_HOSTING\", {\n ci: true\n }]];\nfunction p() {\n if (globalThis.process?.env) for (const e of B) {\n const o = e[1] || e[0];\n if (globalThis.process?.env[o]) return {\n name: e[0].toLowerCase(),\n ...e[2]\n };\n }\n return globalThis.process?.env?.SHELL === \"/bin/jsh\" && globalThis.process?.versions?.webcontainer ? {\n name: \"stackblitz\",\n ci: false\n } : {\n name: \"\",\n ci: false\n };\n}\nconst l = p();\nl.name;\nfunction n(e) {\n return e ? e !== \"false\" : false;\n}\nconst I = globalThis.process?.platform || \"\",\n T = n(s$1.CI) || l.ci !== false,\n R = n(globalThis.process?.stdout && globalThis.process?.stdout.isTTY),\n U = n(s$1.DEBUG),\n A = t === \"test\" || n(s$1.TEST);\nn(s$1.MINIMAL) || T || A || !R;\nconst _ = /^win/i.test(I);\n!n(s$1.NO_COLOR) && (n(s$1.FORCE_COLOR) || (R || _) && s$1.TERM !== \"dumb\" || T);\nconst C = (globalThis.process?.versions?.node || \"\").replace(/^v/, \"\") || null;\nNumber(C?.split(\".\")[0]) || null;\nconst y = globalThis.process || Object.create(null),\n c = {\n versions: {}\n };\nnew Proxy(y, {\n get(e, o) {\n if (o === \"env\") return s$1;\n if (o in e) return e[o];\n if (o in c) return c[o];\n }\n});\nconst L = globalThis.process?.release?.name === \"node\",\n a = !!globalThis.Bun || !!globalThis.process?.versions?.bun,\n D = !!globalThis.Deno,\n O = !!globalThis.fastly,\n S = !!globalThis.Netlify,\n N = !!globalThis.EdgeRuntime,\n P = globalThis.navigator?.userAgent === \"Cloudflare-Workers\",\n F = [[S, \"netlify\"], [N, \"edge-light\"], [P, \"workerd\"], [O, \"fastly\"], [D, \"deno\"], [a, \"bun\"], [L, \"node\"]];\nfunction G() {\n const e = F.find(o => o[0]);\n if (e) return {\n name: e[1]\n };\n}\nconst u = G();\nu?.name || \"\";\nfunction ansiRegex({\n onlyFirst = false\n} = {}) {\n // Valid string terminator sequences are BEL, ESC\\, and 0x9c\n const ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n const pattern = [`[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?${ST})`, '(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]))'].join('|');\n return new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\nconst regex = ansiRegex();\nfunction stripAnsi(string) {\n if (typeof string !== 'string') {\n throw new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n }\n\n // Even though the regex is global, we don't need to reset the `.lastIndex`\n // because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n // and doing it manually has a performance penalty.\n return string.replace(regex, '');\n}\n\n// Generated code.\n\nfunction isAmbiguous(x) {\n return x === 0xA1 || x === 0xA4 || x === 0xA7 || x === 0xA8 || x === 0xAA || x === 0xAD || x === 0xAE || x >= 0xB0 && x <= 0xB4 || x >= 0xB6 && x <= 0xBA || x >= 0xBC && x <= 0xBF || x === 0xC6 || x === 0xD0 || x === 0xD7 || x === 0xD8 || x >= 0xDE && x <= 0xE1 || x === 0xE6 || x >= 0xE8 && x <= 0xEA || x === 0xEC || x === 0xED || x === 0xF0 || x === 0xF2 || x === 0xF3 || x >= 0xF7 && x <= 0xFA || x === 0xFC || x === 0xFE || x === 0x101 || x === 0x111 || x === 0x113 || x === 0x11B || x === 0x126 || x === 0x127 || x === 0x12B || x >= 0x131 && x <= 0x133 || x === 0x138 || x >= 0x13F && x <= 0x142 || x === 0x144 || x >= 0x148 && x <= 0x14B || x === 0x14D || x === 0x152 || x === 0x153 || x === 0x166 || x === 0x167 || x === 0x16B || x === 0x1CE || x === 0x1D0 || x === 0x1D2 || x === 0x1D4 || x === 0x1D6 || x === 0x1D8 || x === 0x1DA || x === 0x1DC || x === 0x251 || x === 0x261 || x === 0x2C4 || x === 0x2C7 || x >= 0x2C9 && x <= 0x2CB || x === 0x2CD || x === 0x2D0 || x >= 0x2D8 && x <= 0x2DB || x === 0x2DD || x === 0x2DF || x >= 0x300 && x <= 0x36F || x >= 0x391 && x <= 0x3A1 || x >= 0x3A3 && x <= 0x3A9 || x >= 0x3B1 && x <= 0x3C1 || x >= 0x3C3 && x <= 0x3C9 || x === 0x401 || x >= 0x410 && x <= 0x44F || x === 0x451 || x === 0x2010 || x >= 0x2013 && x <= 0x2016 || x === 0x2018 || x === 0x2019 || x === 0x201C || x === 0x201D || x >= 0x2020 && x <= 0x2022 || x >= 0x2024 && x <= 0x2027 || x === 0x2030 || x === 0x2032 || x === 0x2033 || x === 0x2035 || x === 0x203B || x === 0x203E || x === 0x2074 || x === 0x207F || x >= 0x2081 && x <= 0x2084 || x === 0x20AC || x === 0x2103 || x === 0x2105 || x === 0x2109 || x === 0x2113 || x === 0x2116 || x === 0x2121 || x === 0x2122 || x === 0x2126 || x === 0x212B || x === 0x2153 || x === 0x2154 || x >= 0x215B && x <= 0x215E || x >= 0x2160 && x <= 0x216B || x >= 0x2170 && x <= 0x2179 || x === 0x2189 || x >= 0x2190 && x <= 0x2199 || x === 0x21B8 || x === 0x21B9 || x === 0x21D2 || x === 0x21D4 || x === 0x21E7 || x === 0x2200 || x === 0x2202 || x === 0x2203 || x === 0x2207 || x === 0x2208 || x === 0x220B || x === 0x220F || x === 0x2211 || x === 0x2215 || x === 0x221A || x >= 0x221D && x <= 0x2220 || x === 0x2223 || x === 0x2225 || x >= 0x2227 && x <= 0x222C || x === 0x222E || x >= 0x2234 && x <= 0x2237 || x === 0x223C || x === 0x223D || x === 0x2248 || x === 0x224C || x === 0x2252 || x === 0x2260 || x === 0x2261 || x >= 0x2264 && x <= 0x2267 || x === 0x226A || x === 0x226B || x === 0x226E || x === 0x226F || x === 0x2282 || x === 0x2283 || x === 0x2286 || x === 0x2287 || x === 0x2295 || x === 0x2299 || x === 0x22A5 || x === 0x22BF || x === 0x2312 || x >= 0x2460 && x <= 0x24E9 || x >= 0x24EB && x <= 0x254B || x >= 0x2550 && x <= 0x2573 || x >= 0x2580 && x <= 0x258F || x >= 0x2592 && x <= 0x2595 || x === 0x25A0 || x === 0x25A1 || x >= 0x25A3 && x <= 0x25A9 || x === 0x25B2 || x === 0x25B3 || x === 0x25B6 || x === 0x25B7 || x === 0x25BC || x === 0x25BD || x === 0x25C0 || x === 0x25C1 || x >= 0x25C6 && x <= 0x25C8 || x === 0x25CB || x >= 0x25CE && x <= 0x25D1 || x >= 0x25E2 && x <= 0x25E5 || x === 0x25EF || x === 0x2605 || x === 0x2606 || x === 0x2609 || x === 0x260E || x === 0x260F || x === 0x261C || x === 0x261E || x === 0x2640 || x === 0x2642 || x === 0x2660 || x === 0x2661 || x >= 0x2663 && x <= 0x2665 || x >= 0x2667 && x <= 0x266A || x === 0x266C || x === 0x266D || x === 0x266F || x === 0x269E || x === 0x269F || x === 0x26BF || x >= 0x26C6 && x <= 0x26CD || x >= 0x26CF && x <= 0x26D3 || x >= 0x26D5 && x <= 0x26E1 || x === 0x26E3 || x === 0x26E8 || x === 0x26E9 || x >= 0x26EB && x <= 0x26F1 || x === 0x26F4 || x >= 0x26F6 && x <= 0x26F9 || x === 0x26FB || x === 0x26FC || x === 0x26FE || x === 0x26FF || x === 0x273D || x >= 0x2776 && x <= 0x277F || x >= 0x2B56 && x <= 0x2B59 || x >= 0x3248 && x <= 0x324F || x >= 0xE000 && x <= 0xF8FF || x >= 0xFE00 && x <= 0xFE0F || x === 0xFFFD || x >= 0x1F100 && x <= 0x1F10A || x >= 0x1F110 && x <= 0x1F12D || x >= 0x1F130 && x <= 0x1F169 || x >= 0x1F170 && x <= 0x1F18D || x === 0x1F18F || x === 0x1F190 || x >= 0x1F19B && x <= 0x1F1AC || x >= 0xE0100 && x <= 0xE01EF || x >= 0xF0000 && x <= 0xFFFFD || x >= 0x100000 && x <= 0x10FFFD;\n}\nfunction isFullWidth(x) {\n return x === 0x3000 || x >= 0xFF01 && x <= 0xFF60 || x >= 0xFFE0 && x <= 0xFFE6;\n}\nfunction isWide(x) {\n return x >= 0x1100 && x <= 0x115F || x === 0x231A || x === 0x231B || x === 0x2329 || x === 0x232A || x >= 0x23E9 && x <= 0x23EC || x === 0x23F0 || x === 0x23F3 || x === 0x25FD || x === 0x25FE || x === 0x2614 || x === 0x2615 || x >= 0x2630 && x <= 0x2637 || x >= 0x2648 && x <= 0x2653 || x === 0x267F || x >= 0x268A && x <= 0x268F || x === 0x2693 || x === 0x26A1 || x === 0x26AA || x === 0x26AB || x === 0x26BD || x === 0x26BE || x === 0x26C4 || x === 0x26C5 || x === 0x26CE || x === 0x26D4 || x === 0x26EA || x === 0x26F2 || x === 0x26F3 || x === 0x26F5 || x === 0x26FA || x === 0x26FD || x === 0x2705 || x === 0x270A || x === 0x270B || x === 0x2728 || x === 0x274C || x === 0x274E || x >= 0x2753 && x <= 0x2755 || x === 0x2757 || x >= 0x2795 && x <= 0x2797 || x === 0x27B0 || x === 0x27BF || x === 0x2B1B || x === 0x2B1C || x === 0x2B50 || x === 0x2B55 || x >= 0x2E80 && x <= 0x2E99 || x >= 0x2E9B && x <= 0x2EF3 || x >= 0x2F00 && x <= 0x2FD5 || x >= 0x2FF0 && x <= 0x2FFF || x >= 0x3001 && x <= 0x303E || x >= 0x3041 && x <= 0x3096 || x >= 0x3099 && x <= 0x30FF || x >= 0x3105 && x <= 0x312F || x >= 0x3131 && x <= 0x318E || x >= 0x3190 && x <= 0x31E5 || x >= 0x31EF && x <= 0x321E || x >= 0x3220 && x <= 0x3247 || x >= 0x3250 && x <= 0xA48C || x >= 0xA490 && x <= 0xA4C6 || x >= 0xA960 && x <= 0xA97C || x >= 0xAC00 && x <= 0xD7A3 || x >= 0xF900 && x <= 0xFAFF || x >= 0xFE10 && x <= 0xFE19 || x >= 0xFE30 && x <= 0xFE52 || x >= 0xFE54 && x <= 0xFE66 || x >= 0xFE68 && x <= 0xFE6B || x >= 0x16FE0 && x <= 0x16FE4 || x === 0x16FF0 || x === 0x16FF1 || x >= 0x17000 && x <= 0x187F7 || x >= 0x18800 && x <= 0x18CD5 || x >= 0x18CFF && x <= 0x18D08 || x >= 0x1AFF0 && x <= 0x1AFF3 || x >= 0x1AFF5 && x <= 0x1AFFB || x === 0x1AFFD || x === 0x1AFFE || x >= 0x1B000 && x <= 0x1B122 || x === 0x1B132 || x >= 0x1B150 && x <= 0x1B152 || x === 0x1B155 || x >= 0x1B164 && x <= 0x1B167 || x >= 0x1B170 && x <= 0x1B2FB || x >= 0x1D300 && x <= 0x1D356 || x >= 0x1D360 && x <= 0x1D376 || x === 0x1F004 || x === 0x1F0CF || x === 0x1F18E || x >= 0x1F191 && x <= 0x1F19A || x >= 0x1F200 && x <= 0x1F202 || x >= 0x1F210 && x <= 0x1F23B || x >= 0x1F240 && x <= 0x1F248 || x === 0x1F250 || x === 0x1F251 || x >= 0x1F260 && x <= 0x1F265 || x >= 0x1F300 && x <= 0x1F320 || x >= 0x1F32D && x <= 0x1F335 || x >= 0x1F337 && x <= 0x1F37C || x >= 0x1F37E && x <= 0x1F393 || x >= 0x1F3A0 && x <= 0x1F3CA || x >= 0x1F3CF && x <= 0x1F3D3 || x >= 0x1F3E0 && x <= 0x1F3F0 || x === 0x1F3F4 || x >= 0x1F3F8 && x <= 0x1F43E || x === 0x1F440 || x >= 0x1F442 && x <= 0x1F4FC || x >= 0x1F4FF && x <= 0x1F53D || x >= 0x1F54B && x <= 0x1F54E || x >= 0x1F550 && x <= 0x1F567 || x === 0x1F57A || x === 0x1F595 || x === 0x1F596 || x === 0x1F5A4 || x >= 0x1F5FB && x <= 0x1F64F || x >= 0x1F680 && x <= 0x1F6C5 || x === 0x1F6CC || x >= 0x1F6D0 && x <= 0x1F6D2 || x >= 0x1F6D5 && x <= 0x1F6D7 || x >= 0x1F6DC && x <= 0x1F6DF || x === 0x1F6EB || x === 0x1F6EC || x >= 0x1F6F4 && x <= 0x1F6FC || x >= 0x1F7E0 && x <= 0x1F7EB || x === 0x1F7F0 || x >= 0x1F90C && x <= 0x1F93A || x >= 0x1F93C && x <= 0x1F945 || x >= 0x1F947 && x <= 0x1F9FF || x >= 0x1FA70 && x <= 0x1FA7C || x >= 0x1FA80 && x <= 0x1FA89 || x >= 0x1FA8F && x <= 0x1FAC6 || x >= 0x1FACE && x <= 0x1FADC || x >= 0x1FADF && x <= 0x1FAE9 || x >= 0x1FAF0 && x <= 0x1FAF8 || x >= 0x20000 && x <= 0x2FFFD || x >= 0x30000 && x <= 0x3FFFD;\n}\nfunction validate(codePoint) {\n if (!Number.isSafeInteger(codePoint)) {\n throw new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n }\n}\nfunction eastAsianWidth(codePoint, {\n ambiguousAsWide = false\n} = {}) {\n validate(codePoint);\n if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {\n return 2;\n }\n return 1;\n}\nconst emojiRegex = () => {\n // https://mths.be/emoji\n return /[#*0-9]\\uFE0F?\\u20E3|[\\xA9\\xAE\\u203C\\u2049\\u2122\\u2139\\u2194-\\u2199\\u21A9\\u21AA\\u231A\\u231B\\u2328\\u23CF\\u23ED-\\u23EF\\u23F1\\u23F2\\u23F8-\\u23FA\\u24C2\\u25AA\\u25AB\\u25B6\\u25C0\\u25FB\\u25FC\\u25FE\\u2600-\\u2604\\u260E\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262A\\u262E\\u262F\\u2638-\\u263A\\u2640\\u2642\\u2648-\\u2653\\u265F\\u2660\\u2663\\u2665\\u2666\\u2668\\u267B\\u267E\\u267F\\u2692\\u2694-\\u2697\\u2699\\u269B\\u269C\\u26A0\\u26A7\\u26AA\\u26B0\\u26B1\\u26BD\\u26BE\\u26C4\\u26C8\\u26CF\\u26D1\\u26E9\\u26F0-\\u26F5\\u26F7\\u26F8\\u26FA\\u2702\\u2708\\u2709\\u270F\\u2712\\u2714\\u2716\\u271D\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u27A1\\u2934\\u2935\\u2B05-\\u2B07\\u2B1B\\u2B1C\\u2B55\\u3030\\u303D\\u3297\\u3299]\\uFE0F?|[\\u261D\\u270C\\u270D](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\u270A\\u270B](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\u23E9-\\u23EC\\u23F0\\u23F3\\u25FD\\u2693\\u26A1\\u26AB\\u26C5\\u26CE\\u26D4\\u26EA\\u26FD\\u2705\\u2728\\u274C\\u274E\\u2753-\\u2755\\u2795-\\u2797\\u27B0\\u27BF\\u2B50]|\\u26D3\\uFE0F?(?:\\u200D\\uD83D\\uDCA5)?|\\u26F9(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\u2764\\uFE0F?(?:\\u200D(?:\\uD83D\\uDD25|\\uD83E\\uDE79))?|\\uD83C(?:[\\uDC04\\uDD70\\uDD71\\uDD7E\\uDD7F\\uDE02\\uDE37\\uDF21\\uDF24-\\uDF2C\\uDF36\\uDF7D\\uDF96\\uDF97\\uDF99-\\uDF9B\\uDF9E\\uDF9F\\uDFCD\\uDFCE\\uDFD4-\\uDFDF\\uDFF5\\uDFF7]\\uFE0F?|[\\uDF85\\uDFC2\\uDFC7](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDFC4\\uDFCA](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDFCB\\uDFCC](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDCCF\\uDD8E\\uDD91-\\uDD9A\\uDE01\\uDE1A\\uDE2F\\uDE32-\\uDE36\\uDE38-\\uDE3A\\uDE50\\uDE51\\uDF00-\\uDF20\\uDF2D-\\uDF35\\uDF37-\\uDF43\\uDF45-\\uDF4A\\uDF4C-\\uDF7C\\uDF7E-\\uDF84\\uDF86-\\uDF93\\uDFA0-\\uDFC1\\uDFC5\\uDFC6\\uDFC8\\uDFC9\\uDFCF-\\uDFD3\\uDFE0-\\uDFF0\\uDFF8-\\uDFFF]|\\uDDE6\\uD83C[\\uDDE8-\\uDDEC\\uDDEE\\uDDF1\\uDDF2\\uDDF4\\uDDF6-\\uDDFA\\uDDFC\\uDDFD\\uDDFF]|\\uDDE7\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEF\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9\\uDDFB\\uDDFC\\uDDFE\\uDDFF]|\\uDDE8\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDEE\\uDDF0-\\uDDF7\\uDDFA-\\uDDFF]|\\uDDE9\\uD83C[\\uDDEA\\uDDEC\\uDDEF\\uDDF0\\uDDF2\\uDDF4\\uDDFF]|\\uDDEA\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDED\\uDDF7-\\uDDFA]|\\uDDEB\\uD83C[\\uDDEE-\\uDDF0\\uDDF2\\uDDF4\\uDDF7]|\\uDDEC\\uD83C[\\uDDE6\\uDDE7\\uDDE9-\\uDDEE\\uDDF1-\\uDDF3\\uDDF5-\\uDDFA\\uDDFC\\uDDFE]|\\uDDED\\uD83C[\\uDDF0\\uDDF2\\uDDF3\\uDDF7\\uDDF9\\uDDFA]|\\uDDEE\\uD83C[\\uDDE8-\\uDDEA\\uDDF1-\\uDDF4\\uDDF6-\\uDDF9]|\\uDDEF\\uD83C[\\uDDEA\\uDDF2\\uDDF4\\uDDF5]|\\uDDF0\\uD83C[\\uDDEA\\uDDEC-\\uDDEE\\uDDF2\\uDDF3\\uDDF5\\uDDF7\\uDDFC\\uDDFE\\uDDFF]|\\uDDF1\\uD83C[\\uDDE6-\\uDDE8\\uDDEE\\uDDF0\\uDDF7-\\uDDFB\\uDDFE]|\\uDDF2\\uD83C[\\uDDE6\\uDDE8-\\uDDED\\uDDF0-\\uDDFF]|\\uDDF3\\uD83C[\\uDDE6\\uDDE8\\uDDEA-\\uDDEC\\uDDEE\\uDDF1\\uDDF4\\uDDF5\\uDDF7\\uDDFA\\uDDFF]|\\uDDF4\\uD83C\\uDDF2|\\uDDF5\\uD83C[\\uDDE6\\uDDEA-\\uDDED\\uDDF0-\\uDDF3\\uDDF7-\\uDDF9\\uDDFC\\uDDFE]|\\uDDF6\\uD83C\\uDDE6|\\uDDF7\\uD83C[\\uDDEA\\uDDF4\\uDDF8\\uDDFA\\uDDFC]|\\uDDF8\\uD83C[\\uDDE6-\\uDDEA\\uDDEC-\\uDDF4\\uDDF7-\\uDDF9\\uDDFB\\uDDFD-\\uDDFF]|\\uDDF9\\uD83C[\\uDDE6\\uDDE8\\uDDE9\\uDDEB-\\uDDED\\uDDEF-\\uDDF4\\uDDF7\\uDDF9\\uDDFB\\uDDFC\\uDDFF]|\\uDDFA\\uD83C[\\uDDE6\\uDDEC\\uDDF2\\uDDF3\\uDDF8\\uDDFE\\uDDFF]|\\uDDFB\\uD83C[\\uDDE6\\uDDE8\\uDDEA\\uDDEC\\uDDEE\\uDDF3\\uDDFA]|\\uDDFC\\uD83C[\\uDDEB\\uDDF8]|\\uDDFD\\uD83C\\uDDF0|\\uDDFE\\uD83C[\\uDDEA\\uDDF9]|\\uDDFF\\uD83C[\\uDDE6\\uDDF2\\uDDFC]|\\uDF44(?:\\u200D\\uD83D\\uDFEB)?|\\uDF4B(?:\\u200D\\uD83D\\uDFE9)?|\\uDFC3(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDFF3\\uFE0F?(?:\\u200D(?:\\u26A7\\uFE0F?|\\uD83C\\uDF08))?|\\uDFF4(?:\\u200D\\u2620\\uFE0F?|\\uDB40\\uDC67\\uDB40\\uDC62\\uDB40(?:\\uDC65\\uDB40\\uDC6E\\uDB40\\uDC67|\\uDC73\\uDB40\\uDC63\\uDB40\\uDC74|\\uDC77\\uDB40\\uDC6C\\uDB40\\uDC73)\\uDB40\\uDC7F)?)|\\uD83D(?:[\\uDC3F\\uDCFD\\uDD49\\uDD4A\\uDD6F\\uDD70\\uDD73\\uDD76-\\uDD79\\uDD87\\uDD8A-\\uDD8D\\uDDA5\\uDDA8\\uDDB1\\uDDB2\\uDDBC\\uDDC2-\\uDDC4\\uDDD1-\\uDDD3\\uDDDC-\\uDDDE\\uDDE1\\uDDE3\\uDDE8\\uDDEF\\uDDF3\\uDDFA\\uDECB\\uDECD-\\uDECF\\uDEE0-\\uDEE5\\uDEE9\\uDEF0\\uDEF3]\\uFE0F?|[\\uDC42\\uDC43\\uDC46-\\uDC50\\uDC66\\uDC67\\uDC6B-\\uDC6D\\uDC72\\uDC74-\\uDC76\\uDC78\\uDC7C\\uDC83\\uDC85\\uDC8F\\uDC91\\uDCAA\\uDD7A\\uDD95\\uDD96\\uDE4C\\uDE4F\\uDEC0\\uDECC](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDC6E\\uDC70\\uDC71\\uDC73\\uDC77\\uDC81\\uDC82\\uDC86\\uDC87\\uDE45-\\uDE47\\uDE4B\\uDE4D\\uDE4E\\uDEA3\\uDEB4\\uDEB5](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD74\\uDD90](?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?|[\\uDC00-\\uDC07\\uDC09-\\uDC14\\uDC16-\\uDC25\\uDC27-\\uDC3A\\uDC3C-\\uDC3E\\uDC40\\uDC44\\uDC45\\uDC51-\\uDC65\\uDC6A\\uDC79-\\uDC7B\\uDC7D-\\uDC80\\uDC84\\uDC88-\\uDC8E\\uDC90\\uDC92-\\uDCA9\\uDCAB-\\uDCFC\\uDCFF-\\uDD3D\\uDD4B-\\uDD4E\\uDD50-\\uDD67\\uDDA4\\uDDFB-\\uDE2D\\uDE2F-\\uDE34\\uDE37-\\uDE41\\uDE43\\uDE44\\uDE48-\\uDE4A\\uDE80-\\uDEA2\\uDEA4-\\uDEB3\\uDEB7-\\uDEBF\\uDEC1-\\uDEC5\\uDED0-\\uDED2\\uDED5-\\uDED7\\uDEDC-\\uDEDF\\uDEEB\\uDEEC\\uDEF4-\\uDEFC\\uDFE0-\\uDFEB\\uDFF0]|\\uDC08(?:\\u200D\\u2B1B)?|\\uDC15(?:\\u200D\\uD83E\\uDDBA)?|\\uDC26(?:\\u200D(?:\\u2B1B|\\uD83D\\uDD25))?|\\uDC3B(?:\\u200D\\u2744\\uFE0F?)?|\\uDC41\\uFE0F?(?:\\u200D\\uD83D\\uDDE8\\uFE0F?)?|\\uDC68(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDC68\\uDC69]\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?)|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?\\uDC68\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D\\uDC68\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC69(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:\\uDC8B\\u200D\\uD83D)?[\\uDC68\\uDC69]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D(?:[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?|\\uDC69\\u200D\\uD83D(?:\\uDC66(?:\\u200D\\uD83D\\uDC66)?|\\uDC67(?:\\u200D\\uD83D[\\uDC66\\uDC67])?))|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFC-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D\\uD83D(?:[\\uDC68\\uDC69]|\\uDC8B\\u200D\\uD83D[\\uDC68\\uDC69])\\uD83C[\\uDFFB-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83D[\\uDC68\\uDC69]\\uD83C[\\uDFFB-\\uDFFE])))?))?|\\uDC6F(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDD75(?:\\uD83C[\\uDFFB-\\uDFFF]|\\uFE0F)?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|\\uDE2E(?:\\u200D\\uD83D\\uDCA8)?|\\uDE35(?:\\u200D\\uD83D\\uDCAB)?|\\uDE36(?:\\u200D\\uD83C\\uDF2B\\uFE0F?)?|\\uDE42(?:\\u200D[\\u2194\\u2195]\\uFE0F?)?|\\uDEB6(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?)|\\uD83E(?:[\\uDD0C\\uDD0F\\uDD18-\\uDD1F\\uDD30-\\uDD34\\uDD36\\uDD77\\uDDB5\\uDDB6\\uDDBB\\uDDD2\\uDDD3\\uDDD5\\uDEC3-\\uDEC5\\uDEF0\\uDEF2-\\uDEF8](?:\\uD83C[\\uDFFB-\\uDFFF])?|[\\uDD26\\uDD35\\uDD37-\\uDD39\\uDD3D\\uDD3E\\uDDB8\\uDDB9\\uDDCD\\uDDCF\\uDDD4\\uDDD6-\\uDDDD](?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDDDE\\uDDDF](?:\\u200D[\\u2640\\u2642]\\uFE0F?)?|[\\uDD0D\\uDD0E\\uDD10-\\uDD17\\uDD20-\\uDD25\\uDD27-\\uDD2F\\uDD3A\\uDD3F-\\uDD45\\uDD47-\\uDD76\\uDD78-\\uDDB4\\uDDB7\\uDDBA\\uDDBC-\\uDDCC\\uDDD0\\uDDE0-\\uDDFF\\uDE70-\\uDE7C\\uDE80-\\uDE89\\uDE8F-\\uDEC2\\uDEC6\\uDECE-\\uDEDC\\uDEDF-\\uDEE9]|\\uDD3C(?:\\u200D[\\u2640\\u2642]\\uFE0F?|\\uD83C[\\uDFFB-\\uDFFF])?|\\uDDCE(?:\\uD83C[\\uDFFB-\\uDFFF])?(?:\\u200D(?:[\\u2640\\u2642]\\uFE0F?(?:\\u200D\\u27A1\\uFE0F?)?|\\u27A1\\uFE0F?))?|\\uDDD1(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1|\\uDDD1\\u200D\\uD83E\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?|\\uDDD2(?:\\u200D\\uD83E\\uDDD2)?))|\\uD83C(?:\\uDFFB(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFC-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFC(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFD-\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFD(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFE(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFD\\uDFFF]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?|\\uDFFF(?:\\u200D(?:[\\u2695\\u2696\\u2708]\\uFE0F?|\\u2764\\uFE0F?\\u200D(?:\\uD83D\\uDC8B\\u200D)?\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFE]|\\uD83C[\\uDF3E\\uDF73\\uDF7C\\uDF84\\uDF93\\uDFA4\\uDFA8\\uDFEB\\uDFED]|\\uD83D[\\uDCBB\\uDCBC\\uDD27\\uDD2C\\uDE80\\uDE92]|\\uD83E(?:[\\uDDAF\\uDDBC\\uDDBD](?:\\u200D\\u27A1\\uFE0F?)?|[\\uDDB0-\\uDDB3]|\\uDD1D\\u200D\\uD83E\\uDDD1\\uD83C[\\uDFFB-\\uDFFF])))?))?|\\uDEF1(?:\\uD83C(?:\\uDFFB(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFC-\\uDFFF])?|\\uDFFC(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFD-\\uDFFF])?|\\uDFFD(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB\\uDFFC\\uDFFE\\uDFFF])?|\\uDFFE(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFD\\uDFFF])?|\\uDFFF(?:\\u200D\\uD83E\\uDEF2\\uD83C[\\uDFFB-\\uDFFE])?))?)/g;\n};\nconst segmenter = globalThis.Intl?.Segmenter ? new Intl.Segmenter() : {\n segment: str => str.split('')\n};\nconst defaultIgnorableCodePointRegex = /^\\p{Default_Ignorable_Code_Point}$/u;\nfunction stringWidth$1(string, options = {}) {\n if (typeof string !== 'string' || string.length === 0) {\n return 0;\n }\n const {\n ambiguousIsNarrow = true,\n countAnsiEscapeCodes = false\n } = options;\n if (!countAnsiEscapeCodes) {\n string = stripAnsi(string);\n }\n if (string.length === 0) {\n return 0;\n }\n let width = 0;\n const eastAsianWidthOptions = {\n ambiguousAsWide: !ambiguousIsNarrow\n };\n for (const {\n segment: character\n } of segmenter.segment(string)) {\n const codePoint = character.codePointAt(0);\n\n // Ignore control characters\n if (codePoint <= 0x1F || codePoint >= 0x7F && codePoint <= 0x9F) {\n continue;\n }\n\n // Ignore zero-width characters\n if (codePoint >= 0x20_0B && codePoint <= 0x20_0F // Zero-width space, non-joiner, joiner, left-to-right mark, right-to-left mark\n || codePoint === 0xFE_FF // Zero-width no-break space\n ) {\n continue;\n }\n\n // Ignore combining characters\n if (codePoint >= 0x3_00 && codePoint <= 0x3_6F // Combining diacritical marks\n || codePoint >= 0x1A_B0 && codePoint <= 0x1A_FF // Combining diacritical marks extended\n || codePoint >= 0x1D_C0 && codePoint <= 0x1D_FF // Combining diacritical marks supplement\n || codePoint >= 0x20_D0 && codePoint <= 0x20_FF // Combining diacritical marks for symbols\n || codePoint >= 0xFE_20 && codePoint <= 0xFE_2F // Combining half marks\n ) {\n continue;\n }\n\n // Ignore surrogate pairs\n if (codePoint >= 0xD8_00 && codePoint <= 0xDF_FF) {\n continue;\n }\n\n // Ignore variation selectors\n if (codePoint >= 0xFE_00 && codePoint <= 0xFE_0F) {\n continue;\n }\n\n // This covers some of the above cases, but we still keep them for performance reasons.\n if (defaultIgnorableCodePointRegex.test(character)) {\n continue;\n }\n\n // TODO: Use `/\\p{RGI_Emoji}/v` when targeting Node.js 20.\n if (emojiRegex().test(character)) {\n width += 2;\n continue;\n }\n width += eastAsianWidth(codePoint, eastAsianWidthOptions);\n }\n return width;\n}\nfunction isUnicodeSupported() {\n const {\n env\n } = p$1;\n const {\n TERM,\n TERM_PROGRAM\n } = env;\n if (p$1.platform !== 'win32') {\n return TERM !== 'linux'; // Linux console (kernel)\n }\n return Boolean(env.WT_SESSION) // Windows Terminal\n || Boolean(env.TERMINUS_SUBLIME) // Terminus (<0.2.27)\n || env.ConEmuTask === '{cmd::Cmder}' // ConEmu and cmder\n || TERM_PROGRAM === 'Terminus-Sublime' || TERM_PROGRAM === 'vscode' || TERM === 'xterm-256color' || TERM === 'alacritty' || TERM === 'rxvt-unicode' || TERM === 'rxvt-unicode-256color' || env.TERMINAL_EMULATOR === 'JetBrains-JediTerm';\n}\nconst TYPE_COLOR_MAP = {\n info: \"cyan\",\n fail: \"red\",\n success: \"green\",\n ready: \"green\",\n start: \"magenta\"\n};\nconst LEVEL_COLOR_MAP = {\n 0: \"red\",\n 1: \"yellow\"\n};\nconst unicode = isUnicodeSupported();\nconst s = (c, fallback) => unicode ? c : fallback;\nconst TYPE_ICONS = {\n error: s(\"\\u2716\", \"\\xD7\"),\n fatal: s(\"\\u2716\", \"\\xD7\"),\n ready: s(\"\\u2714\", \"\\u221A\"),\n warn: s(\"\\u26A0\", \"\\u203C\"),\n info: s(\"\\u2139\", \"i\"),\n success: s(\"\\u2714\", \"\\u221A\"),\n debug: s(\"\\u2699\", \"D\"),\n trace: s(\"\\u2192\", \"\\u2192\"),\n fail: s(\"\\u2716\", \"\\xD7\"),\n start: s(\"\\u25D0\", \"o\"),\n log: \"\"\n};\nfunction stringWidth(str) {\n const hasICU = typeof Intl === \"object\";\n if (!hasICU || !Intl.Segmenter) {\n return stripAnsi$1(str).length;\n }\n return stringWidth$1(str);\n}\nclass FancyReporter extends BasicReporter {\n formatStack(stack, opts) {\n const indent = \" \".repeat((opts?.errorLevel || 0) + 1);\n return `\n${indent}` + parseStack(stack).map(line => \" \" + line.replace(/^at +/, m => colors.gray(m)).replace(/\\((.+)\\)/, (_, m) => `(${colors.cyan(m)})`)).join(`\n${indent}`);\n }\n formatType(logObj, isBadge, opts) {\n const typeColor = TYPE_COLOR_MAP[logObj.type] || LEVEL_COLOR_MAP[logObj.level] || \"gray\";\n if (isBadge) {\n return getBgColor(typeColor)(colors.black(` ${logObj.type.toUpperCase()} `));\n }\n const _type = typeof TYPE_ICONS[logObj.type] === \"string\" ? TYPE_ICONS[logObj.type] : logObj.icon || logObj.type;\n return _type ? getColor(typeColor)(_type) : \"\";\n }\n formatLogObj(logObj, opts) {\n const [message, ...additional] = this.formatArgs(logObj.args, opts).split(\"\\n\");\n if (logObj.type === \"box\") {\n return box(characterFormat(message + (additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\")), {\n title: logObj.title ? characterFormat(logObj.title) : undefined,\n style: logObj.style\n });\n }\n const date = this.formatDate(logObj.date, opts);\n const coloredDate = date && colors.gray(date);\n const isBadge = logObj.badge ?? logObj.level < 2;\n const type = this.formatType(logObj, isBadge, opts);\n const tag = logObj.tag ? colors.gray(logObj.tag) : \"\";\n let line;\n const left = this.filterAndJoin([type, characterFormat(message)]);\n const right = this.filterAndJoin(opts.columns ? [tag, coloredDate] : [tag]);\n const space = (opts.columns || 0) - stringWidth(left) - stringWidth(right) - 2;\n line = space > 0 && (opts.columns || 0) >= 80 ? left + \" \".repeat(space) + right : (right ? `${colors.gray(`[${right}]`)} ` : \"\") + left;\n line += characterFormat(additional.length > 0 ? \"\\n\" + additional.join(\"\\n\") : \"\");\n if (logObj.type === \"trace\") {\n const _err = new Error(\"Trace: \" + logObj.message);\n line += this.formatStack(_err.stack || \"\");\n }\n return isBadge ? \"\\n\" + line + \"\\n\" : line;\n }\n}\nfunction characterFormat(str) {\n return str.replace(/`([^`]+)`/gm, (_, m) => colors.cyan(m)).replace(/\\s+_([^_]+)_\\s+/gm, (_, m) => ` ${colors.underline(m)} `);\n}\nfunction getColor(color = \"white\") {\n return colors[color] || colors.white;\n}\nfunction getBgColor(color = \"bgWhite\") {\n return colors[`bg${color[0].toUpperCase()}${color.slice(1)}`] || colors.bgWhite;\n}\nfunction createConsola(options = {}) {\n let level = _getDefaultLogLevel();\n if (process.env.CONSOLA_LEVEL) {\n level = Number.parseInt(process.env.CONSOLA_LEVEL) ?? level;\n }\n const consola2 = createConsola$1({\n level,\n defaults: {\n level\n },\n stdout: process.stdout,\n stderr: process.stderr,\n prompt: (...args) => import('./chunks/prompt.mjs').then(m => m.prompt(...args)),\n reporters: options.reporters || [options.fancy ?? !(T || A) ? new FancyReporter() : new BasicReporter()],\n ...options\n });\n return consola2;\n}\nfunction _getDefaultLogLevel() {\n if (U) {\n return LogLevels.debug;\n }\n if (A) {\n return LogLevels.warn;\n }\n return LogLevels.info;\n}\nconst consola = createConsola();\nexport { LogLevels, consola, createConsola, consola as default };","/*\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\nexport function propertyJsdoc(property, {\n isInherited,\n apiName\n}) {\n let ret = `/**\\n`;\n const renderDisplayName = property.displayName && property.displayName !== apiName;\n if (isInherited || renderDisplayName || property.description) {\n if (isInherited) {\n ret += ` * (inherited from parent)\\n`;\n }\n if (renderDisplayName) {\n ret += ` * display name: '${property.displayName}'${property.description ? \",\" : \"\"}\\n`;\n }\n if (property.description) {\n ret += ` * description: ${property.description}\\n`;\n }\n } else {\n ret += ` * (no ontology metadata)\\n`;\n }\n ret += ` */\\n`;\n return ret;\n}","/*\n * Copyright 2023 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 { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { propertyJsdoc } from \"../shared/propertyJsdoc.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\n\n/** @internal */\nexport function wireObjectTypeV2ToSdkObjectConstV2(wireObject, {\n ontology,\n forInternalUse\n}, currentFilePath) {\n const object = ontology.requireObjectType(wireObject.objectType.apiName, true);\n if (object instanceof ForeignType) {\n throw new Error(\"Should not be generating types for an external type\");\n }\n const uniqueLinkTargetTypes = new Set(wireObject.linkTypes.map(a => ontology.requireObjectType(a.objectTypeApiName, false)));\n const definition = deleteUndefineds(wireObjectTypeFullMetadataToSdkObjectMetadata(object.raw, true, consola));\n const objectDefIdentifier = object.getDefinitionIdentifier(true);\n const objectSetIdentifier = `${object.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${object.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${object.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${object.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `${object.shortApiName}.Links`;\n const osdkObjectIdentifier = `${object.shortApiName}.OsdkObject`;\n const identifiers = {\n objectDefIdentifier: object.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier\n };\n function getV2Types(object, forInternalUse = false) {\n return `import type {\n PropertyKeys as $PropertyKeys, \n ObjectTypeDefinition as $ObjectTypeDefinition,\n ObjectMetadata as $ObjectMetadata,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type {\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n OsdkObject as $OsdkObject,\n PropertyValueWireToClient as $PropType,\n SingleLinkAccessor as $SingleLinkAccessor,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n\n\n export namespace ${object.shortApiName} {\n\n ${createPropertyKeys(object)}\n\n\n ${createLinks(ontology, object, \"Links\")}\n\n ${createProps(object, \"Props\", false)}\n ${createProps(object, \"StrictProps\", true)}\n\n ${createObjectSet(object, identifiers)}\n \n ${createOsdkObject(object, \"OsdkInstance\", identifiers)}\n } \n\n\n\n ${createDefinition(object, ontology, object.shortApiName, identifiers)}\n `;\n }\n const imports = getObjectImports(uniqueLinkTargetTypes, definition.apiName, currentFilePath, true);\n return `${imports}${getV2Types(object, forInternalUse)}\n\n export const ${object.shortApiName}: ${objectDefIdentifier}\n = {\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\",\n apiName: \"${object.fullApiName}\",\n osdkMetadata: $osdkMetadata, \n };`;\n}\nexport function createOsdkObject(object, identifier, {\n osdkObjectPropsIdentifier,\n objectDefIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier\n}) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export type ${identifier}<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > \n = $Osdk.Instance<\n ${objectDefIdentifier}, \n OPTIONS,\n K\n >;\n \n\n /** @deprecated use ${identifier} */\n export type OsdkObject<\n OPTIONS extends never | \"$rid\" = never,\n K extends keyof ${osdkObjectPropsIdentifier}= keyof ${osdkObjectPropsIdentifier},\n > = ${identifier}<OPTIONS, K>;\n ;\n `;\n}\nexport function createObjectSet(object, {\n objectDefIdentifier,\n objectSetIdentifier,\n propertyKeysIdentifier,\n osdkObjectIdentifier\n}) {\n return `\nexport interface ObjectSet extends \n$ObjectSet<${objectDefIdentifier},\n\n${objectSetIdentifier}\n>\n{\n\n}\n`;\n}\nfunction maybeStripNamespace(type, q) {\n if (type.apiNamespace && q.startsWith(`${type.apiNamespace}.`)) {\n return q.slice(type.apiNamespace.length + 1);\n } else {\n return q;\n }\n}\nexport function createProps(type, identifier, strict) {\n if (identifier === \"StrictProps\") {\n return `export type StrictProps = Props`;\n }\n const definition = type.getCleanedUpDefinition(true);\n return `export interface ${identifier} {\n${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => {\n return [`readonly \"${maybeStripNamespace(type, apiName)}\"${\n // after we convert everything over we can do this:\n // !strict || propertyDefinition.nullable ? \"?\" : \"\"\n \"\"}`, (typeof propertyDefinition.type === \"object\" ? remapStructType(propertyDefinition.type) : `$PropType[${JSON.stringify(propertyDefinition.type)}]`) + `${propertyDefinition.multiplicity ? \"[]\" : \"\"}${propertyDefinition.nullable || !strict && !(definition.type === \"object\" && definition.primaryKeyApiName === apiName) ? `| undefined` : \"\"}`];\n }\n })}\n }`;\n}\nexport function createDefinition(object, ontology, identifier, {\n objectDefIdentifier,\n objectSetIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n osdkObjectLinksIdentifier\n}) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n export interface ${identifier} extends ${object instanceof EnhancedObjectType ? `$ObjectTypeDefinition` : `$InterfaceDefinition`} {\n osdkMetadata: typeof $osdkMetadata;\n type: \"${object instanceof EnhancedObjectType ? \"object\" : \"interface\"}\";\n apiName: \"${object.fullApiName}\";\n __DefinitionMetadata?: {\n objectSet: ${objectSetIdentifier};\n props: ${osdkObjectPropsIdentifier};\n linksType: ${osdkObjectLinksIdentifier};\n strictProps: ${osdkObjectStrictPropsIdentifier};\n ${stringify(definition, {\n links: _value => `{\n ${stringify(definition.links, {\n \"*\": definition => `$ObjectMetadata.Link<${ontology.requireObjectType(definition.targetType).getImportedDefinitionIdentifier(true)}, ${definition.multiplicity}>`\n })}\n }`,\n properties: _value => `{\n ${stringify(definition.properties, {\n \"*\": (propertyDefinition, _, apiName) => [`${propertyJsdoc(propertyDefinition, {\n apiName\n })}\"${maybeStripNamespace(object, apiName)}\"`, `$PropertyDef<${JSON.stringify(propertyDefinition.type)}, \"${propertyDefinition.nullable ? \"nullable\" : \"non-nullable\"}\", \"${propertyDefinition.multiplicity ? \"array\" : \"single\"}\">`]\n })}\n }`\n })}\n } \n}\n `;\n}\nexport function createLinks(ontology, object, identifier) {\n const definition = object.getCleanedUpDefinition(true);\n return `\n ${Object.keys(definition.links).length === 0 ? `export type ${identifier} = {};` : `\n export interface ${identifier} {\n${stringify(definition.links, {\n \"*\": (definition, _, key) => {\n const linkTarget = ontology.requireObjectType(definition.targetType).getImportedDefinitionIdentifier(true);\n return [`readonly ${key}`, `${definition.multiplicity ? `${linkTarget}.ObjectSet` : `$SingleLinkAccessor<${linkTarget}>`}\n `];\n }\n })}\n }\n `}`;\n}\nexport function createPropertyKeys(type) {\n const properties = Object.keys(type.getCleanedUpDefinition(true).properties);\n return `export type PropertyKeys = ${properties.length === 0 ? \"never\" : properties.map(a => maybeStripNamespace(type, a)).map(a => `\"${a}\"`).join(\"|\")};`;\n}\nfunction remapStructType(structType) {\n let output = `{`;\n Object.entries(structType).map(([key, value]) => output += `${key}:$PropType[${JSON.stringify(value)}]|undefined;`);\n output += \"}\";\n return output;\n}","/*\n * Copyright 2023 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 { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nimport consola from \"consola\";\nimport fastDeepEqual from \"fast-deep-equal\";\nimport invariant from \"tiny-invariant\";\nimport { extractNamespace } from \"../GenerateContext/EnhancedBase.js\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { createDefinition, createObjectSet, createOsdkObject, createPropertyKeys, createProps } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\n\n/** @internal */\nexport function __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(interfaceDef, ontology, v2 = false, forInternalUse = false) {\n const definition = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(interfaceDef.raw, v2));\n const objectDefIdentifier = interfaceDef.getDefinitionIdentifier(v2);\n const parents = definition.implements?.map(p => {\n const parent = ontology.requireInterfaceType(p, true);\n if (parent instanceof EnhancedInterfaceType) {\n const it = deleteUndefineds(__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(parent.raw, v2, consola));\n return it;\n }\n }) ?? [];\n const mergedProperties = {\n ...definition.properties\n };\n for (const parent of parents) {\n if (parent == null) {\n // came from a foreign type and we cannot merge properties yet\n // so if they weren't listed on the interface its over\n continue;\n }\n for (const apiName of Object.keys(parent.properties)) {\n if (definition.properties[apiName] != null) {\n !fastDeepEqual(definition.properties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Interface ${definition.apiName} redefines property '${apiName}' from parent '${parent.apiName}' but the properties do not match`) : invariant(false) : void 0;\n } else if (mergedProperties[apiName] != null) {\n !fastDeepEqual(mergedProperties[apiName], parent.properties[apiName]) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Some interface defines a conflicting property '${apiName}' that does not match property from parent '${parent.apiName}'`) : invariant(false) : void 0;\n }\n mergedProperties[apiName] = parent.properties[apiName];\n }\n }\n definition.properties = mergedProperties;\n const objectSetIdentifier = `${interfaceDef.shortApiName}.ObjectSet`;\n const propertyKeysIdentifier = `${interfaceDef.shortApiName}.PropertyKeys`;\n // const osdkObjectPropsIdentifier = `OsdkObjectProps$${objectDefIdentifier}`;\n const osdkObjectPropsIdentifier = `${interfaceDef.shortApiName}.Props`;\n const osdkObjectStrictPropsIdentifier = `${interfaceDef.shortApiName}.StrictProps`;\n const osdkObjectLinksIdentifier = `OsdkObjectLinks$${objectDefIdentifier}`;\n const osdkObjectIdentifier = `${interfaceDef.shortApiName}.OsdkObject`;\n const ids = {\n objectDefIdentifier: interfaceDef.shortApiName,\n osdkObjectLinksIdentifier,\n osdkObjectPropsIdentifier,\n osdkObjectStrictPropsIdentifier,\n objectSetIdentifier,\n osdkObjectIdentifier,\n propertyKeysIdentifier\n };\n if (interfaceDef.apiNamespace) {\n const badProperties = Object.keys(definition.properties).filter(apiName => extractNamespace(apiName)[0] == null);\n if (badProperties.length > 0) {\n throw new Error(`Interfaces with fully qualified api names MUST NOT have any properties with an unqualified api name. Interface: ${interfaceDef.fullApiName}, properties: ${badProperties.join(\", \")}`);\n }\n }\n function getV2Types(forInternalUse = false) {\n return `import type {\n InterfaceDefinition as $InterfaceDefinition,\n ObjectSet as $ObjectSet, \n Osdk as $Osdk,\n PropertyValueWireToClient as $PropType,\n } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n \n ${Object.keys(definition.links).length === 0 ? `export type ${osdkObjectLinksIdentifier} = {};` : `\n export interface ${osdkObjectLinksIdentifier} {\n${stringify(definition.links, {\n \"*\": definition => {\n const linkTarget = ontology.requireObjectType(definition.targetType).getImportedDefinitionIdentifier(v2);\n return `${definition.multiplicity ? `${linkTarget}[\"objectSet\"]` : `SingleLinkAccessor<${linkTarget}>`}\n `;\n }\n })}\n }\n `}\n\n export namespace ${interfaceDef.shortApiName} {\n\n ${createPropertyKeys(interfaceDef)}\n\n\n ${createProps(interfaceDef, \"Props\", false)}\n ${createProps(interfaceDef, \"StrictProps\", true)}\n\n\n ${createObjectSet(interfaceDef, ids)}\n\n ${createOsdkObject(interfaceDef, \"OsdkInstance\", ids)}\n \n } \n\n ${createDefinition(interfaceDef, ontology, interfaceDef.shortApiName, ids)}\n\n`;\n }\n\n // FIXME: We need to fill in the imports\n // if we want links to work\n const imports = [];\n definition;\n return `${imports.join(\"\\n\")}\n ${v2 ? getV2Types(forInternalUse) : \"\"}\n\n export const ${interfaceDef.shortApiName}: ${interfaceDef.shortApiName} = {\n type: \"interface\",\n apiName: \"${interfaceDef.fullApiName}\",\n osdkMetadata: $osdkMetadata,\n };`;\n}","/*\n * Copyright 2023 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 path from \"node:path\";\nimport { EnhancedInterfaceType } from \"../GenerateContext/EnhancedInterfaceType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst } from \"./UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.js\";\n\n/** @internal */\nexport async function generatePerInterfaceDataFiles({\n fs,\n outDir,\n ontology,\n importExt,\n forInternalUse\n}) {\n const interfacesDir = path.join(outDir, \"ontology\", \"interfaces\");\n await fs.mkdir(interfacesDir, {\n recursive: true\n });\n for (const obj of Object.values(ontology.interfaceTypes)) {\n if (obj instanceof ForeignType) continue;\n await fs.writeFile(path.join(interfacesDir, `${obj.shortApiName}.ts`), await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n ${__UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst(obj, ontology, true, forInternalUse)}\n `));\n }\n await fs.writeFile(interfacesDir + \".ts\", await formatTs(`\n ${Object.values(ontology.interfaceTypes).filter(i => i instanceof EnhancedInterfaceType).map(interfaceType => `export {${interfaceType.shortApiName}} from \"./interfaces/${interfaceType.shortApiName}${importExt}\";`).join(\"\\n\")}\n ${Object.keys(ontology.interfaceTypes).length === 0 ? \"export {}\" : \"\"}\n `));\n}","/*\n * Copyright 2023 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 path from \"node:path\";\nimport { EnhancedObjectType } from \"../GenerateContext/EnhancedObjectType.js\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { wireObjectTypeV2ToSdkObjectConstV2 } from \"./wireObjectTypeV2ToSdkObjectConstV2.js\";\nexport async function generatePerObjectDataFiles(ctx) {\n const {\n fs,\n outDir,\n ontology,\n importExt\n } = ctx;\n await fs.mkdir(path.join(outDir, \"ontology\", \"objects\"), {\n recursive: true\n });\n for (const obj of Object.values(ontology.objectTypes)) {\n if (obj instanceof ForeignType) continue;\n const relPath = path.join(\".\", \"ontology\", `objects`, `${obj.shortApiName}.ts`);\n const outFilePath = path.join(outDir, relPath);\n await fs.writeFile(outFilePath, await formatTs(`\n import type { PropertyDef as $PropertyDef } from \"${ctx.forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import { $osdkMetadata } from \"../../OntologyMetadata${importExt}\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n ${wireObjectTypeV2ToSdkObjectConstV2(obj.raw, ctx, relPath)}\n `));\n }\n await fs.writeFile(path.join(outDir, \"ontology\", \"objects.ts\"), await formatTs(`\n ${Object.values(ctx.ontology.objectTypes).filter(o => o instanceof EnhancedObjectType).map(objType => `export {${objType.shortApiName}} from \"./objects/${objType.shortApiName}${importExt}\";`).join(\"\\n\")}\n ${Object.keys(ontology.objectTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}","/*\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\nexport function getObjectTypesFromQueryDataType(dataType, types) {\n switch (dataType.type) {\n case \"array\":\n case \"set\":\n getObjectTypesFromQueryDataType(dataType.subType, types);\n return;\n case \"object\":\n types.add(dataType.objectTypeApiName);\n return;\n case \"objectSet\":\n types.add(dataType.objectTypeApiName);\n return;\n case \"struct\":\n for (const prop of Object.values(dataType.fields)) {\n getObjectTypesFromQueryDataType(prop.fieldType, types);\n }\n return;\n case \"union\":\n for (const type of dataType.unionTypes) {\n getObjectTypesFromQueryDataType(type, types);\n }\n return;\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"null\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"entrySet\":\n case \"unsupported\":\n /* complete no-op */\n return;\n default:\n const _ = dataType;\n throw new Error(`Cannot find object types from unsupported QueryDataType ${dataType.type}`);\n }\n}","/*\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 { getObjectTypesFromQueryDataType } from \"./getObjectTypesFromQueryDataType.js\";\nexport function getObjectTypeApiNamesFromQuery(query) {\n const types = new Set();\n for (const {\n dataType\n } of Object.values(query.parameters)) {\n getObjectTypesFromQueryDataType(dataType, types);\n }\n getObjectTypesFromQueryDataType(query.output, types);\n return Array.from(types);\n}","/*\n * Copyright 2023 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 { wireQueryDataTypeToQueryDataTypeDefinition, wireQueryParameterV2ToQueryParameterDefinition as paramToDef, wireQueryTypeV2ToSdkQueryDefinitionNoParams } from \"@osdk/generator-converters\";\nimport path from \"node:path\";\nimport { getObjectImports } from \"../shared/getObjectImports.js\";\nimport { getObjectTypeApiNamesFromQuery } from \"../shared/getObjectTypeApiNamesFromQuery.js\";\nimport { deleteUndefineds } from \"../util/deleteUndefineds.js\";\nimport { stringify } from \"../util/stringify.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nimport { getDescriptionIfPresent } from \"./getDescriptionIfPresent.js\";\nexport async function generatePerQueryDataFilesV2({\n fs,\n outDir: rootOutDir,\n ontology,\n importExt = \"\",\n forInternalUse = false\n}, v2) {\n const relOutDir = path.join(\".\", \"ontology\", \"queries\");\n const outDir = path.join(rootOutDir, \"ontology\", \"queries\");\n await fs.mkdir(outDir, {\n recursive: true\n });\n await Promise.all(Object.values(ontology.queryTypes).map(async query => {\n await generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology, forInternalUse);\n }));\n const indexFilePath = `${outDir}.ts`;\n await fs.writeFile(indexFilePath, await formatTs(`\n ${Object.values(ontology.queryTypes).map(query => `export {${query.shortApiName}} from \"${query.getImportPathRelTo(relOutDir)}\";`).join(\"\\n\")}\n ${Object.keys(ontology.queryTypes).length === 0 ? \"export {};\" : \"\"}\n `));\n}\nasync function generateV2QueryFile(fs, outDir, relOutDir, query, importExt, ontology, forInternalUse) {\n const relFilePath = path.join(relOutDir, `${query.shortApiName}.ts`);\n const objectTypes = getObjectTypeApiNamesFromQuery(query);\n const objectTypeObjects = new Set(objectTypes.map(o => ontology.requireObjectType(o)));\n const importObjects = getObjectImports(objectTypeObjects, \"\", relFilePath, true);\n const baseProps = deleteUndefineds(wireQueryTypeV2ToSdkQueryDefinitionNoParams(query.raw));\n const outputBase = deleteUndefineds(wireQueryDataTypeToQueryDataTypeDefinition(query.output));\n const referencedObjectTypes = objectTypes.length > 0 ? objectTypes.map(apiNameObj => `\"${apiNameObj}\"`).join(\"|\") : \"never\";\n await fs.writeFile(path.join(outDir, `${query.shortApiName}.ts`), await formatTs(`\n import type { QueryDefinition , QueryParam, QueryResult, VersionBound} from \"${forInternalUse ? \"@osdk/api\" : \"@osdk/client\"}\";\n import type { $ExpectedClientVersion } from \"../../OntologyMetadata${importExt}\";\n import { $osdkMetadata} from \"../../OntologyMetadata${importExt}\";\n ${importObjects}\n\n export namespace ${query.shortApiName} {\n export interface Signature {\n ${getDescriptionIfPresent(query.description)}\n (${Object.keys(query.parameters).length > 0 ? `query: ${query.paramsIdentifier}` : \"\"}): Promise<${query.shortApiName}.ReturnType>\n }\n\n ${Object.keys(query.parameters).length > 0 ? `\n export interface Parameters {\n ${stringify(query.parameters, {\n \"*\": (parameter, formatter, apiName) => {\n const q = paramToDef(parameter);\n return [`\n ${queryParamJsDoc(paramToDef(parameter), {\n apiName\n })}readonly \"${apiName}\"${q.nullable ? \"?\" : \"\"}`, getQueryParamType(ontology, q, \"Param\")];\n }\n })}\n }` : \"\"}\n\n ${query.output.type === \"struct\" ? `\n export interface ReturnType \n ${getQueryParamType(ontology, paramToDef({\n dataType: query.output\n }), \"Result\")}\n ` : `\n export type ReturnType = ${getQueryParamType(ontology, paramToDef({\n dataType: query.output\n }), \"Result\")}\n `}\n }\n \n \n export interface ${query.shortApiName} extends QueryDefinition<\n ${query.shortApiName}.Signature\n >, VersionBound<$ExpectedClientVersion>{\n __DefinitionMetadata?: {\n ${stringify(baseProps)}\n parameters: {\n ${parameterDefsForType(ontology, query)}\n };\n output: {\n ${stringify(outputBase)},\n ${getLineFor__OsdkTargetType(ontology, query.output)}\n };\n signature: ${query.shortApiName}.Signature;\n }, \n ${stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined\n })}, \n osdkMetadata: typeof $osdkMetadata;\n }\n\n\n export const ${query.shortApiName}: ${query.definitionIdentifier} = {\n ${stringify(baseProps, {\n \"description\": () => undefined,\n \"displayName\": () => undefined,\n \"rid\": () => undefined\n })},\n osdkMetadata: $osdkMetadata\n };\n `));\n}\nfunction parametersForConst(query) {\n return stringify(query.parameters, {\n \"*\": (parameter, formatter) => formatter(deleteUndefineds(paramToDef(parameter)))\n });\n}\nfunction parameterDefsForType(ontology, query) {\n return stringify(query.parameters, {\n \"*\": (parameter, valueFormatter, apiName) => [`${queryParamJsDoc(paramToDef(parameter), {\n apiName\n })} ${apiName}`, ` {\n ${stringify(deleteUndefineds(paramToDef(parameter)))},\n ${getLineFor__OsdkTargetType(ontology, parameter.dataType)}\n }`]\n });\n}\nfunction getLineFor__OsdkTargetType(ontology, qdt) {\n if (qdt.type === \"object\" || qdt.type === \"objectSet\") {\n return `__OsdkTargetType?: ${ontology.requireObjectType(qdt.objectTypeApiName).getImportedDefinitionIdentifier(true)}`;\n }\n return \"\";\n}\nexport function queryParamJsDoc(param, {\n apiName\n}) {\n let ret = `/**\\n`;\n if (param.description) {\n if (param.description) {\n ret += ` * description: ${param.description}\\n`;\n }\n } else {\n ret += ` * (no ontology metadata)\\n`;\n }\n ret += ` */\\n`;\n return ret;\n}\nexport function getQueryParamType(enhancedOntology, input, type) {\n let inner = `unknown /* ${input.type} */`;\n switch (input.type) {\n case \"date\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(\"datetime\")}>`;\n break;\n case \"attachment\":\n case \"boolean\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n inner = `Query${type}.PrimitiveType<${JSON.stringify(input.type)}>`;\n break;\n case \"struct\":\n inner = `{\n ${stringify(input.struct, {\n \"*\": (p, formatter, apiName) => {\n return [`\n ${type === \"Param\" ? \"readonly \" : \"\"}\"${apiName}\"${p.nullable ? \"?\" : \"\"}`, getQueryParamType(enhancedOntology, p, type)];\n }\n })}\n }`;\n break;\n case \"twoDimensionalAggregation\":\n inner = `Query${type}.TwoDimensionalAggregationType<${input.twoDimensionalAggregation.keyType === \"range\" ? `Query${type}.RangeKey<\"${input.twoDimensionalAggregation.keySubtype}\">` : `\"${input.twoDimensionalAggregation.keyType}\"`}, \"${input.twoDimensionalAggregation.valueType}\">`;\n break;\n case \"threeDimensionalAggregation\":\n inner = `Query${type}.ThreeDimensionalAggregationType<${input.threeDimensionalAggregation.keyType === \"range\" ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.keySubtype}\">` : `\"${input.threeDimensionalAggregation.keyType}\"`},${input.threeDimensionalAggregation.valueType.keyType === \"range\" ? `Query${type}.RangeKey<\"${input.threeDimensionalAggregation.valueType.keySubtype}\">` : `\"${input.threeDimensionalAggregation.valueType.keyType}\"`}, \n \"${input.threeDimensionalAggregation.valueType.valueType}\">`;\n break;\n case \"object\":\n inner = `Query${type}.ObjectType<${enhancedOntology.requireObjectType(input.object).getImportedDefinitionIdentifier(true)}>`;\n break;\n case \"objectSet\":\n inner = `Query${type}.ObjectSetType<${enhancedOntology.requireObjectType(input.objectSet).getImportedDefinitionIdentifier(true)}>`;\n break;\n case \"set\":\n inner = `${type === \"Param\" ? \"Readonly\" : \"\"}Set<${getQueryParamType(enhancedOntology, input.set, type)}>`;\n break;\n case \"union\":\n inner = input.union.map(u => getQueryParamType(enhancedOntology, u, type)).join(\" | \");\n break;\n }\n if (input.multiplicity && type === \"Param\") {\n return `ReadonlyArray<${inner}>`;\n } else if (input.multiplicity) {\n return `Array<${inner}>`;\n }\n return inner;\n}","/*\n * Copyright 2023 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 path from \"node:path\";\nimport { ForeignType } from \"../GenerateContext/ForeignType.js\";\nimport { formatTs } from \"../util/test/formatTs.js\";\nexport async function generateRootIndexTsFile({\n fs,\n outDir,\n importExt,\n ontologyApiNamespace,\n ontology\n}) {\n await fs.writeFile(path.join(outDir, \"index.ts\"), await formatTs(`export {${helper(ontology.actionTypes)}} from \"./ontology/actions${importExt}\";\n export * as $Actions from \"./ontology/actions${importExt}\";\n export {${helper(ontology.interfaceTypes)}} from \"./ontology/interfaces${importExt}\";\n export * as $Interfaces from \"./ontology/interfaces${importExt}\";\n export {${helper(ontology.objectTypes)}} from \"./ontology/objects${importExt}\";\n export * as $Objects from \"./ontology/objects${importExt}\";\n export {${helper(ontology.queryTypes)}} from \"./ontology/queries${importExt}\";\n export * as $Queries from \"./ontology/queries${importExt}\";\n export { $osdkMetadata } from \"./OntologyMetadata${importExt}\";\n ${ontologyApiNamespace == null ? `export { $ontologyRid } from \"./OntologyMetadata${importExt}\";` : ``}\n `));\n}\nfunction helper(x) {\n return Object.values(x).filter(x => !(x instanceof ForeignType)).map(a => a.shortApiName).join(\", \");\n}","/*\n * Copyright 2023 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 { enhanceOntology } from \"../GenerateContext/enhanceOntology.js\";\nimport { sanitizeMetadata } from \"../shared/sanitizeMetadata.js\";\nimport { verifyOutDir } from \"../util/verifyOutDir.js\";\nimport { generateOntologyMetadataFile } from \"./generateMetadata.js\";\nimport { generatePerActionDataFiles } from \"./generatePerActionDataFiles.js\";\nimport { generatePerInterfaceDataFiles } from \"./generatePerInterfaceDataFiles.js\";\nimport { generatePerObjectDataFiles } from \"./generatePerObjectDataFiles.js\";\nimport { generatePerQueryDataFilesV2 } from \"./generatePerQueryDataFiles.js\";\nimport { generateRootIndexTsFile } from \"./generateRootIndexTsFile.js\";\nexport async function generateClientSdkVersionTwoPointZero(ontology, userAgent, fs, outDir, packageType = \"commonjs\", externalObjects = new Map(), externalInterfaces = new Map(), externalSpts = new Map(), forInternalUse = false) {\n const importExt = \".js\"; // turns out you can always use the extension\n\n // Structurally, we need to have multiple ontologies read in\n // with one per package.\n\n await verifyOutDir(outDir, fs);\n const sanitizedOntology = sanitizeMetadata(ontology);\n await fs.mkdir(outDir, {\n recursive: true\n });\n const enhancedOntology = enhanceOntology({\n sanitized: sanitizedOntology,\n importExt,\n externalObjects,\n externalInterfaces,\n externalSpts\n });\n const ctx = {\n sanitizedOntology,\n ontology: enhancedOntology,\n importExt,\n fs,\n outDir,\n forInternalUse\n };\n await generateRootIndexTsFile(ctx);\n await generateOntologyMetadataFile(ctx, userAgent);\n await generatePerObjectDataFiles(ctx);\n await generatePerInterfaceDataFiles(ctx);\n await generatePerActionDataFiles(ctx);\n await generatePerQueryDataFilesV2(ctx, true);\n}","/*\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 * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { generateClientSdkVersionTwoPointZero } from \"./v2.0/generateClientSdkVersionTwoPointZero.js\";\nexport async function generateClientSdkPackage(packageName, packageVersion, sdkVersion, baseOutDir, ontology, minimalFs, dependencyVersions, cliVersion, externalObjects = new Map(), externalInterfaces = new Map()) {\n if (!packageName) throw new Error(\"Package name is required\");\n if (sdkVersion === \"1.1\") {\n throw new Error(\"This generator version does not support generating v1 sdks\");\n }\n for (const packageType of [\"module\", \"commonjs\"]) {\n const outDir = path.join(baseOutDir, \"dist\", packageType);\n await generateClientSdkVersionTwoPointZero(ontology, `typescript-sdk/${packageVersion} osdk-cli/${cliVersion}`, minimalFs, outDir, packageType, externalObjects, externalInterfaces);\n await fs.promises.mkdir(outDir, {\n recursive: true\n });\n await writeJson(minimalFs, path.join(outDir, \"package.json\"), {\n type: packageType\n });\n await writeJson(minimalFs, path.join(outDir, `tsconfig.json`), {\n compilerOptions: getTsCompilerOptions(packageType)\n });\n }\n await writeJson(minimalFs, path.join(baseOutDir, \"package.json\"), getPackageJsonContents(packageName, packageVersion, dependencyVersions));\n\n // we need to shim for the node10 resolver\n await minimalFs.mkdir(path.join(baseOutDir, \"ontology\"), {\n recursive: true\n });\n await minimalFs.writeFile(path.join(baseOutDir, \"ontology\", \"objects.js\"), `module.exports = require(\"../../dist/module/ontology/objects\")`);\n await minimalFs.writeFile(path.join(baseOutDir, \"ontology\", \"objects.d.ts\"), `export * from \"../dist/module/ontology/objects\"`);\n}\nfunction getTsCompilerOptions(packageType) {\n const commonTsconfig = {\n importHelpers: true,\n declaration: true,\n isolatedModules: true,\n esModuleInterop: true,\n forceConsistentCasingInFileNames: true,\n strict: true,\n skipLibCheck: true\n };\n const compilerOptions = packageType === \"commonjs\" ? {\n ...commonTsconfig,\n module: \"commonjs\",\n target: \"es2018\"\n } : {\n ...commonTsconfig,\n module: \"NodeNext\",\n target: \"ES2020\"\n };\n return compilerOptions;\n}\nexport function getExpectedDependencies({\n osdkApiVersion,\n osdkClientVersion\n}) {\n return {\n devDependencies: {\n \"@osdk/api\": osdkApiVersion\n },\n peerDependencies: {\n \"@osdk/api\": osdkApiVersion,\n \"@osdk/client\": osdkClientVersion\n }\n };\n}\nfunction getExpectedDependenciesFull(dependencyVersions) {\n const {\n typescriptVersion,\n tslibVersion,\n areTheTypesWrongVersion\n } = dependencyVersions;\n const base = getExpectedDependencies(dependencyVersions);\n return {\n devDependencies: {\n ...base.devDependencies,\n \"typescript\": typescriptVersion,\n \"tslib\": tslibVersion,\n \"@arethetypeswrong/cli\": areTheTypesWrongVersion\n },\n peerDependencies: {\n ...base.peerDependencies\n }\n };\n}\nexport function getPackageJsonContents(name, version, dependencyVersions) {\n const esmPrefix = \"./dist/module\";\n const commonjsPrefix = \"./dist/commonjs\";\n return {\n name,\n version,\n main: `${commonjsPrefix}/index.js`,\n module: `${esmPrefix}/index.js`,\n exports: {\n \".\": {\n import: `${esmPrefix}/index.js`,\n require: `${commonjsPrefix}/index.js`\n }\n },\n scripts: {\n prepack: `tsc -p ${esmPrefix}/tsconfig.json && tsc -p ${commonjsPrefix}/tsconfig.json`,\n check: \"npm exec attw $(npm pack)\"\n },\n ...getExpectedDependenciesFull(dependencyVersions),\n files: [\"**/*.js\", \"**/*.d.ts\", \"dist/**/package.json\"]\n };\n}\nasync function writeJson(minimalFs, filePath, body) {\n // consola.info(`Writing ${filePath}`);\n // consola.debug(`Writing ${filePath} with body`, body);\n return void (await minimalFs.writeFile(filePath, JSON.stringify(body, undefined, 2) + \"\\n\"));\n}"]}
|