@osdk/client 2.7.0-beta.9 → 2.7.0
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 +236 -0
- package/build/browser/MinimalClientContext.js.map +1 -1
- package/build/browser/actions/actions.test.js +9 -8
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/actions/applyAction.js +0 -4
- package/build/browser/actions/applyAction.js.map +1 -1
- package/build/browser/createClient.js +1 -2
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/createMinimalClient.js +0 -1
- package/build/browser/createMinimalClient.js.map +1 -1
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js +1 -17
- package/build/browser/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/browser/index.js +1 -1
- package/build/browser/index.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js +14 -9
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +74 -0
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/browser/object/SimpleOsdkProperties.js.map +1 -1
- package/build/browser/object/aggregate.js +0 -1
- package/build/browser/object/aggregate.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
- package/build/browser/object/fetchPage.js +0 -2
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +13 -4
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +46 -2
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +1 -1
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/objectSet/fetchLinksPage.js +0 -1
- package/build/browser/objectSet/fetchLinksPage.js.map +1 -1
- package/build/browser/observable/FunctionPayload.js +2 -0
- package/build/browser/observable/FunctionPayload.js.map +1 -0
- package/build/browser/observable/ObservableClient.js.map +1 -1
- package/build/browser/observable/internal/BulkObjectLoader.js +2 -1
- package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
- package/build/browser/observable/internal/Changes.js +4 -1
- package/build/browser/observable/internal/Changes.js.map +1 -1
- package/build/browser/observable/internal/KnownCacheKey.js.map +1 -1
- package/build/browser/observable/internal/ObservableClientImpl.js +21 -1
- package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/browser/observable/internal/RidListCanonicalizer.js +30 -0
- package/build/browser/observable/internal/RidListCanonicalizer.js.map +1 -0
- package/build/browser/observable/internal/RidListCanonicalizer.test.js +50 -0
- package/build/browser/observable/internal/RidListCanonicalizer.test.js.map +1 -0
- package/build/browser/observable/internal/Store.js +11 -1
- package/build/browser/observable/internal/Store.js.map +1 -1
- package/build/browser/observable/internal/Store.test.js +57 -4
- package/build/browser/observable/internal/Store.test.js.map +1 -1
- package/build/browser/observable/internal/actions/ActionApplication.js +12 -9
- package/build/browser/observable/internal/actions/ActionApplication.js.map +1 -1
- package/build/browser/observable/internal/base-list/BaseCollectionQuery.js.map +1 -1
- package/build/browser/observable/internal/base-list/BaseListQuery.js +15 -9
- package/build/browser/observable/internal/base-list/BaseListQuery.js.map +1 -1
- package/build/browser/observable/internal/base-list/createCollectionConnectable.js +4 -2
- package/build/browser/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
- package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js +1 -2
- package/build/browser/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
- package/build/browser/observable/internal/evaluateFilter.js +1 -1
- package/build/browser/observable/internal/evaluateFilter.js.map +1 -1
- package/build/browser/observable/internal/evaluateFilter.test.js +105 -0
- package/build/browser/observable/internal/evaluateFilter.test.js.map +1 -0
- package/build/browser/observable/internal/function/FunctionCacheKey.js +26 -0
- package/build/browser/observable/internal/function/FunctionCacheKey.js.map +1 -0
- package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js +151 -0
- package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
- package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
- package/build/browser/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
- package/build/browser/observable/internal/function/FunctionQuery.js +137 -0
- package/build/browser/observable/internal/function/FunctionQuery.js.map +1 -0
- package/build/browser/observable/internal/function/FunctionQuery.test.js +278 -0
- package/build/browser/observable/internal/function/FunctionQuery.test.js.map +1 -0
- package/build/browser/observable/internal/function/FunctionsHelper.js +92 -0
- package/build/browser/observable/internal/function/FunctionsHelper.js.map +1 -0
- package/build/browser/observable/internal/links/SpecificLinkQuery.js +2 -1
- package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -1
- package/build/browser/observable/internal/list/InterfaceListQuery.js +27 -10
- package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -1
- package/build/browser/observable/internal/list/ListCacheKey.js +1 -0
- package/build/browser/observable/internal/list/ListCacheKey.js.map +1 -1
- package/build/browser/observable/internal/list/ListQuery.js +10 -4
- package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
- package/build/browser/observable/internal/list/ListQuery.test.js +167 -3
- package/build/browser/observable/internal/list/ListQuery.test.js.map +1 -1
- package/build/browser/observable/internal/list/ListsHelper.js +6 -3
- package/build/browser/observable/internal/list/ListsHelper.js.map +1 -1
- package/build/browser/observable/internal/list/ObjectListQuery.js +23 -9
- package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -1
- package/build/browser/observable/internal/object/ObjectQuery.js +15 -1
- package/build/browser/observable/internal/object/ObjectQuery.js.map +1 -1
- package/build/browser/observable/internal/object/ObjectsHelper.js +1 -3
- package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -1
- package/build/browser/observable/internal/objectMatchesWhereClause.test.js +11 -1
- package/build/browser/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
- package/build/browser/observable/internal/objectset/ObjectSetQuery.js +6 -2
- package/build/browser/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
- package/build/browser/observable/internal/testUtils.js +8 -5
- package/build/browser/observable/internal/testUtils.js.map +1 -1
- package/build/browser/observable/internal/utils/rdpFieldOperations.js +6 -3
- package/build/browser/observable/internal/utils/rdpFieldOperations.js.map +1 -1
- package/build/browser/ontology/loadActionMetadata.js +1 -3
- package/build/browser/ontology/loadActionMetadata.js.map +1 -1
- package/build/browser/ontology/loadFullObjectMetadata.js +1 -2
- package/build/browser/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/browser/ontology/loadInterfaceMetadata.js +1 -2
- package/build/browser/ontology/loadInterfaceMetadata.js.map +1 -1
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/browser/queries/applyQuery.js +14 -0
- package/build/browser/queries/applyQuery.js.map +1 -1
- package/build/browser/queries/queries.test.js +14 -2
- package/build/browser/queries/queries.test.js.map +1 -1
- package/build/browser/util/UserAgent.js +2 -2
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/browser/util/isObjectSpecifiersObject.js.map +1 -1
- package/build/browser/util/toDataValue.js +0 -5
- package/build/browser/util/toDataValue.js.map +1 -1
- package/build/browser/util/toDataValue.test.js +2 -7
- package/build/browser/util/toDataValue.test.js.map +1 -1
- package/build/cjs/{Client-DaUJl7jZ.d.cts → Client-Cmx6x_V1.d.cts} +1 -1
- package/build/cjs/{chunk-IQJTM3KW.cjs → chunk-W4BHRZWL.cjs} +79 -82
- package/build/cjs/chunk-W4BHRZWL.cjs.map +1 -0
- package/build/cjs/{chunk-PARVKNVB.cjs → chunk-Y362HOIZ.cjs} +30 -35
- package/build/cjs/chunk-Y362HOIZ.cjs.map +1 -0
- package/build/cjs/{createClient-D5G3qzAO.d.cts → createClient-BDmrDOzZ.d.cts} +1 -2
- package/build/cjs/index.cjs +8 -12
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +3 -3
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/internal.d.cts +1 -1
- package/build/cjs/public/unstable-do-not-use.cjs +537 -95
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +75 -4
- package/build/esm/MinimalClientContext.js.map +1 -1
- package/build/esm/actions/actions.test.js +9 -8
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/actions/applyAction.js +0 -4
- package/build/esm/actions/applyAction.js.map +1 -1
- package/build/esm/createClient.js +1 -2
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/createMinimalClient.js +0 -1
- package/build/esm/createMinimalClient.js.map +1 -1
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js +1 -17
- package/build/esm/derivedProperties/createWithPropertiesObjectSet.js.map +1 -1
- package/build/esm/index.js +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js +14 -9
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +74 -0
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/esm/object/SimpleOsdkProperties.js.map +1 -1
- package/build/esm/object/aggregate.js +0 -1
- package/build/esm/object/aggregate.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/BaseHolder.js.map +1 -1
- package/build/esm/object/fetchPage.js +0 -2
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +13 -4
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +46 -2
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +1 -1
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/objectSet/fetchLinksPage.js +0 -1
- package/build/esm/objectSet/fetchLinksPage.js.map +1 -1
- package/build/esm/observable/FunctionPayload.js +2 -0
- package/build/esm/observable/FunctionPayload.js.map +1 -0
- package/build/esm/observable/ObservableClient.js.map +1 -1
- package/build/esm/observable/internal/BulkObjectLoader.js +2 -1
- package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
- package/build/esm/observable/internal/Changes.js +4 -1
- package/build/esm/observable/internal/Changes.js.map +1 -1
- package/build/esm/observable/internal/KnownCacheKey.js.map +1 -1
- package/build/esm/observable/internal/ObservableClientImpl.js +21 -1
- package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/esm/observable/internal/RidListCanonicalizer.js +30 -0
- package/build/esm/observable/internal/RidListCanonicalizer.js.map +1 -0
- package/build/esm/observable/internal/RidListCanonicalizer.test.js +50 -0
- package/build/esm/observable/internal/RidListCanonicalizer.test.js.map +1 -0
- package/build/esm/observable/internal/Store.js +11 -1
- package/build/esm/observable/internal/Store.js.map +1 -1
- package/build/esm/observable/internal/Store.test.js +57 -4
- package/build/esm/observable/internal/Store.test.js.map +1 -1
- package/build/esm/observable/internal/actions/ActionApplication.js +12 -9
- package/build/esm/observable/internal/actions/ActionApplication.js.map +1 -1
- package/build/esm/observable/internal/base-list/BaseCollectionQuery.js.map +1 -1
- package/build/esm/observable/internal/base-list/BaseListQuery.js +15 -9
- package/build/esm/observable/internal/base-list/BaseListQuery.js.map +1 -1
- package/build/esm/observable/internal/base-list/createCollectionConnectable.js +4 -2
- package/build/esm/observable/internal/base-list/createCollectionConnectable.js.map +1 -1
- package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js +1 -2
- package/build/esm/observable/internal/base-list/createCollectionConnectable.test.js.map +1 -1
- package/build/esm/observable/internal/evaluateFilter.js +1 -1
- package/build/esm/observable/internal/evaluateFilter.js.map +1 -1
- package/build/esm/observable/internal/evaluateFilter.test.js +105 -0
- package/build/esm/observable/internal/evaluateFilter.test.js.map +1 -0
- package/build/esm/observable/internal/function/FunctionCacheKey.js +26 -0
- package/build/esm/observable/internal/function/FunctionCacheKey.js.map +1 -0
- package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js +151 -0
- package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.js.map +1 -0
- package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js +186 -0
- package/build/esm/observable/internal/function/FunctionParamsCanonicalizer.test.js.map +1 -0
- package/build/esm/observable/internal/function/FunctionQuery.js +137 -0
- package/build/esm/observable/internal/function/FunctionQuery.js.map +1 -0
- package/build/esm/observable/internal/function/FunctionQuery.test.js +278 -0
- package/build/esm/observable/internal/function/FunctionQuery.test.js.map +1 -0
- package/build/esm/observable/internal/function/FunctionsHelper.js +92 -0
- package/build/esm/observable/internal/function/FunctionsHelper.js.map +1 -0
- package/build/esm/observable/internal/links/SpecificLinkQuery.js +2 -1
- package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -1
- package/build/esm/observable/internal/list/InterfaceListQuery.js +27 -10
- package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -1
- package/build/esm/observable/internal/list/ListCacheKey.js +1 -0
- package/build/esm/observable/internal/list/ListCacheKey.js.map +1 -1
- package/build/esm/observable/internal/list/ListQuery.js +10 -4
- package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
- package/build/esm/observable/internal/list/ListQuery.test.js +167 -3
- package/build/esm/observable/internal/list/ListQuery.test.js.map +1 -1
- package/build/esm/observable/internal/list/ListsHelper.js +6 -3
- package/build/esm/observable/internal/list/ListsHelper.js.map +1 -1
- package/build/esm/observable/internal/list/ObjectListQuery.js +23 -9
- package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -1
- package/build/esm/observable/internal/object/ObjectQuery.js +15 -1
- package/build/esm/observable/internal/object/ObjectQuery.js.map +1 -1
- package/build/esm/observable/internal/object/ObjectsHelper.js +1 -3
- package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -1
- package/build/esm/observable/internal/objectMatchesWhereClause.test.js +11 -1
- package/build/esm/observable/internal/objectMatchesWhereClause.test.js.map +1 -1
- package/build/esm/observable/internal/objectset/ObjectSetQuery.js +6 -2
- package/build/esm/observable/internal/objectset/ObjectSetQuery.js.map +1 -1
- package/build/esm/observable/internal/testUtils.js +8 -5
- package/build/esm/observable/internal/testUtils.js.map +1 -1
- package/build/esm/observable/internal/utils/rdpFieldOperations.js +6 -3
- package/build/esm/observable/internal/utils/rdpFieldOperations.js.map +1 -1
- package/build/esm/ontology/loadActionMetadata.js +1 -3
- package/build/esm/ontology/loadActionMetadata.js.map +1 -1
- package/build/esm/ontology/loadFullObjectMetadata.js +1 -2
- package/build/esm/ontology/loadFullObjectMetadata.js.map +1 -1
- package/build/esm/ontology/loadInterfaceMetadata.js +1 -2
- package/build/esm/ontology/loadInterfaceMetadata.js.map +1 -1
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/queries/applyQuery.js +14 -0
- package/build/esm/queries/applyQuery.js.map +1 -1
- package/build/esm/queries/queries.test.js +14 -2
- package/build/esm/queries/queries.test.js.map +1 -1
- package/build/esm/util/UserAgent.js +2 -2
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/esm/util/isObjectSpecifiersObject.js.map +1 -1
- package/build/esm/util/toDataValue.js +0 -5
- package/build/esm/util/toDataValue.js.map +1 -1
- package/build/esm/util/toDataValue.test.js +2 -7
- package/build/esm/util/toDataValue.test.js.map +1 -1
- package/build/types/MinimalClientContext.d.ts +1 -1
- package/build/types/actions/applyAction.d.ts.map +1 -1
- package/build/types/createClient.d.ts +0 -1
- package/build/types/createClient.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/types/objectSet/createObjectSet.d.ts +14 -1
- package/build/types/objectSet/createObjectSet.d.ts.map +1 -1
- package/build/types/objectSet/fetchLinksPage.d.ts +9 -1
- package/build/types/objectSet/fetchLinksPage.d.ts.map +1 -1
- package/build/types/observable/FunctionPayload.d.ts +10 -0
- package/build/types/observable/FunctionPayload.d.ts.map +1 -0
- package/build/types/observable/ObservableClient.d.ts +73 -1
- package/build/types/observable/ObservableClient.d.ts.map +1 -1
- package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
- package/build/types/observable/internal/Changes.d.ts +5 -3
- package/build/types/observable/internal/Changes.d.ts.map +1 -1
- package/build/types/observable/internal/KnownCacheKey.d.ts +2 -1
- package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -1
- package/build/types/observable/internal/RidListCanonicalizer.d.ts +5 -0
- package/build/types/observable/internal/RidListCanonicalizer.d.ts.map +1 -0
- package/build/types/observable/internal/RidListCanonicalizer.test.d.ts +1 -0
- package/build/types/observable/internal/RidListCanonicalizer.test.d.ts.map +1 -0
- package/build/types/observable/internal/Store.d.ts +7 -1
- package/build/types/observable/internal/Store.d.ts.map +1 -1
- package/build/types/observable/internal/Store.test.d.ts.map +1 -1
- package/build/types/observable/internal/actions/ActionApplication.d.ts.map +1 -1
- package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts +3 -0
- package/build/types/observable/internal/base-list/BaseCollectionQuery.d.ts.map +1 -1
- package/build/types/observable/internal/base-list/BaseListQuery.d.ts +3 -1
- package/build/types/observable/internal/base-list/BaseListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/evaluateFilter.test.d.ts +1 -0
- package/build/types/observable/internal/evaluateFilter.test.d.ts.map +1 -0
- package/build/types/observable/internal/function/FunctionCacheKey.d.ts +17 -0
- package/build/types/observable/internal/function/FunctionCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts +16 -0
- package/build/types/observable/internal/function/FunctionParamsCanonicalizer.d.ts.map +1 -0
- package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts +1 -0
- package/build/types/observable/internal/function/FunctionParamsCanonicalizer.test.d.ts.map +1 -0
- package/build/types/observable/internal/function/FunctionQuery.d.ts +40 -0
- package/build/types/observable/internal/function/FunctionQuery.d.ts.map +1 -0
- package/build/types/observable/internal/function/FunctionQuery.test.d.ts +1 -0
- package/build/types/observable/internal/function/FunctionQuery.test.d.ts.map +1 -0
- package/build/types/observable/internal/function/FunctionsHelper.d.ts +25 -0
- package/build/types/observable/internal/function/FunctionsHelper.d.ts.map +1 -0
- package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -1
- package/build/types/observable/internal/list/InterfaceListQuery.d.ts +3 -0
- package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/list/ListCacheKey.d.ts +2 -1
- package/build/types/observable/internal/list/ListCacheKey.d.ts.map +1 -1
- package/build/types/observable/internal/list/ListQuery.d.ts +1 -1
- package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/list/ListsHelper.d.ts +3 -1
- package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -1
- package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/object/ObjectQuery.d.ts.map +1 -1
- package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -1
- package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts +1 -0
- package/build/types/observable/internal/objectset/ObjectSetQuery.d.ts.map +1 -1
- package/build/types/observable/internal/testUtils.d.ts.map +1 -1
- package/build/types/observable/internal/utils/rdpFieldOperations.d.ts.map +1 -1
- package/build/types/public/unstable-do-not-use.d.ts +2 -1
- package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
- package/build/types/queries/applyQuery.d.ts.map +1 -1
- package/build/types/util/isObjectSpecifiersObject.d.ts +1 -0
- package/build/types/util/isObjectSpecifiersObject.d.ts.map +1 -1
- package/package.json +11 -12
- package/build/cjs/chunk-IQJTM3KW.cjs.map +0 -1
- package/build/cjs/chunk-PARVKNVB.cjs.map +0 -1
- package/build/cjs/delay-W2TSML2P.cjs +0 -75
- package/build/cjs/delay-W2TSML2P.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/actions/ActionValidationError.ts","../../src/object/AttachmentUpload.ts","../../src/util/objectSpecifierUtils.ts","../../src/createClient.ts","../../src/__unstable/createBulkLinksAsyncIterFactory.ts","../../src/objectSet/conjureUnionType.ts","../../src/ontology/makeConjureContext.ts","../../src/pageRequestAsAsyncIter.ts","../../src/__unstable/ConjureSupport.ts","../../src/object/SimpleCache.ts","../../src/actions/applyAction.ts","../../src/util/toDataValue.ts","../../../../node_modules/.pnpm/@osdk+foundry.mediasets@2.44.0/node_modules/@osdk/foundry.mediasets/build/esm/index.js","../../../../node_modules/.pnpm/@osdk+foundry.mediasets@2.44.0/node_modules/@osdk/foundry.mediasets/build/esm/public/MediaSet.js","../../src/object/mediaUpload.ts","../../src/util/interfaceUtils.ts","../../src/util/isObjectSpecifiersObject.ts","../../src/util/isOntologyObjectV2.ts","../../src/util/isPoint.ts","../../src/createMinimalClient.ts","../../src/object/convertWireToOsdkObjects.ts","../../src/object/convertWireToOsdkObjects/createOsdkObject.ts","../../src/createGeotimeSeriesProperty.ts","../../src/util/timeseriesUtils.ts","../../src/util/streamutils.ts","../../src/createMediaReferenceProperty.ts","../../src/createTimeseriesProperty.ts","../../src/object/formatting/applyPropertyFormatter.ts","../../src/object/formatting/formatBoolean.ts","../../src/object/formatting/formatDateTime.ts","../../src/object/formatting/propertyFormattingUtils.ts","../../src/object/formatting/formatNumber.ts","../../src/object/convertWireToOsdkObjects/getDollarAs.ts","../../src/ontology/OntologyProvider.ts","../../src/object/convertWireToOsdkObjects/createOsdkInterface.ts","../../src/object/convertWireToOsdkObjects/getDollarLink.ts","../../src/object/convertWireToOsdkObjects/InternalSymbols.ts","../../src/ontology/StandardOntologyProvider.ts","../../src/object/Cache.ts","../../src/util/deepFreeze.ts","../../src/ontology/loadActionMetadata.ts","../../src/ontology/loadFullObjectMetadata.ts","../../src/ontology/loadInterfaceMetadata.ts","../../src/ontology/loadQueryMetadata.ts","../../src/util/UserAgent.ts","../../src/fetchMetadata.ts","../../src/queries/applyQuery.ts","../../src/util/toDataValueQueries.ts"],"names":["init_cjs_shims","loadAllOntologies","invariant","getLinkTypesForObjectTypes","bulkLoadOntologyEntities","getBulkLinksPage","__export","foundryPlatformFetch","value","Attachment_exports","isWireObjectSet","isObjectSet","getWireObjectSet","addUserAgentAndRequestContextHeaders","augmentRequestContext","Action_exports","TimeseriesDurationMapping","TimeSeriesValueBankProperty_exports","MediaReferenceProperty_exports","TimeSeriesPropertyV2_exports","fetchSingle","fetchSingleWithErrors","extractNamespace","hydrateAttachmentFromRidInternal","ActionTypeV2_exports","wireActionTypeV2ToSdkActionMetadata","ObjectTypeV2_exports","wireObjectTypeFullMetadataToSdkObjectMetadata","OntologyInterface_exports","__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition","QueryType_exports","wireQueryTypeV2ToSdkQueryMetadata","client","createObjectSet","createSharedClientContext","Query_exports","ontologyRid","MinimalLogger","__EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","fetchPage","fetchStaticRidPage","symbolClientContext","additionalContext"],"mappings":"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","file":"chunk-W4BHRZWL.cjs","sourcesContent":["/*\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 class ActionValidationError extends Error {\n constructor(validation) {\n super(\"Validation Error: \" + JSON.stringify(validation, null, 2));\n this.validation = validation;\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 isAttachmentUpload(o) {\n return typeof o === \"object\" && o != null && \"name\" in o && typeof o.name === \"string\" && \"data\" in o && o.data instanceof Blob && !(\"fileName\" in o);\n}\nexport function isAttachmentFile(o) {\n return typeof o === \"object\" && o instanceof Blob && \"name\" in o;\n}\nexport function createAttachmentUpload(data, name) {\n return {\n data,\n name\n };\n}","/*\n * Copyright 2025 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 * Creates an Object Specifier. An ObjectSpecifier is a string that uniquely identifies an object in the system,\n * even when loading an interface object where primary key uniqueness is not guaranteed.\n *\n * @param objectDef - An Object Type Definition\n * @param primaryKey - The value you want to use as the primary key\n * @returns An Object Specifier\n */\nexport function createObjectSpecifierFromPrimaryKey(objectDef, primaryKey) {\n return `${objectDef.apiName}:${primaryKey}`;\n}\n\n/**\n * Creates an Object Specifier. An ObjectSpecifier is a string that uniquely identifies an object in the system,\n * even when loading an interface object where primary key uniqueness is not guaranteed.\n *\n * @param objectDef - An Object Type Definition\n * @param primaryKey - The value you want to use as the primary key\n * @returns An Object Specifier\n */\nexport function createObjectSpecifierFromInterfaceSpecifier(interfaceDef, interfaceSpecifier) {\n return `${interfaceSpecifier.objectTypeApiName}:${interfaceSpecifier.primaryKeyValue}`;\n}\n\n/**\n * Extracts the primary key from an ObjectSpecifier on an OSDK object.\n *\n * @param ObjectSpecifier\n * @returns A string representing the primary key\n */\nexport function extractPrimaryKeyFromObjectSpecifier(ObjectSpecifier) {\n return ObjectSpecifier.split(\":\")[1];\n}\n\n/**\n * Extracts the object type from an ObjectSpecifier on an OSDK object.\n *\n * @param ObjectSpecifier\n * @returns The object type extracted from the ObjectSpecifier\n */\nexport function extractObjectTypeFromObjectSpecifier(ObjectSpecifier) {\n return ObjectSpecifier.split(\":\")[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 { __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid, __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks } from \"@osdk/api/unstable\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { symbolClientContext as oldSymbolClientContext } from \"@osdk/shared.client\";\nimport { createBulkLinksAsyncIterFactory } from \"./__unstable/createBulkLinksAsyncIterFactory.js\";\nimport { applyAction } from \"./actions/applyAction.js\";\nimport { additionalContext } from \"./Client.js\";\nimport { createMinimalClient } from \"./createMinimalClient.js\";\nimport { fetchMetadataInternal } from \"./fetchMetadata.js\";\nimport { MinimalLogger } from \"./logger/MinimalLogger.js\";\nimport { fetchPage, fetchStaticRidPage } from \"./object/fetchPage.js\";\nimport { fetchSingle } from \"./object/fetchSingle.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport { applyQuery } from \"./queries/applyQuery.js\";\n\n// We import it this way to keep compatible with CJS. If we referenced the\n// value of `symbolClientContext` directly, then we would have to a dynamic import\n// in `createClientInternal` which would make it async and a break.\n// Since this is just a string in `@osdk/shared.client2` instead of a symbol,\n// we can safely perform this trick.\n\nclass ActionInvoker {\n constructor(clientCtx, actionDef) {\n // We type the property as a generic function as binding `applyAction`\n // doesn't return a type thats all that useful anyway\n // The implements covers us for the most part here as this exact type doesn't\n // escape this file\n this.applyAction = applyAction.bind(undefined, clientCtx, actionDef);\n this.batchApplyAction = applyAction.bind(undefined, clientCtx, actionDef);\n }\n}\nclass QueryInvoker {\n constructor(clientCtx, queryDef) {\n this.executeFunction = applyQuery.bind(undefined, clientCtx, queryDef);\n }\n}\n\n/** @internal */\nexport function createClientInternal(objectSetFactory, transactionRid, flushEdits, baseUrl, ontologyRid, tokenProvider, options = undefined, fetchFn = fetch) {\n if (typeof ontologyRid === \"string\") {\n if (!ontologyRid.startsWith(\"ri.\")) {\n throw new Error(\"Invalid ontology RID\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n ontologyRid.then(ontologyRid => {\n if (!ontologyRid.startsWith(\"ri.\")) {\n // FIXME this promise is not await so this just shows up as an unhandled promise rejection\n throw new Error(\"Invalid ontology RID\");\n }\n });\n }\n const clientCtx = createMinimalClient({\n ontologyRid\n }, baseUrl, tokenProvider, {\n ...options,\n logger: options?.logger ?? new MinimalLogger(),\n transactionId: transactionRid,\n flushEdits\n }, fetchFn, objectSetFactory);\n return createClientFromContext(clientCtx);\n}\n\n/**\n * @internal\n */\nexport function createClientFromContext(clientCtx) {\n function clientFn(o) {\n if (o.type === \"object\" || o.type === \"interface\") {\n return clientCtx.objectSetFactory(o, clientCtx);\n } else if (o.type === \"action\") {\n return new ActionInvoker(clientCtx, o); // then as any for dealing with the conditional return value\n } else if (o.type === \"query\") {\n return new QueryInvoker(clientCtx, o);\n } else if (o.type === \"experiment\") {\n switch (o.name) {\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__getBulkLinks.name:\n return {\n getBulkLinks: createBulkLinksAsyncIterFactory(clientCtx)\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid.name:\n return {\n fetchOneByRid: async (objectType, rid, options) => {\n return await fetchSingle(clientCtx, objectType, options, createWithRid([rid]));\n }\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__createMediaReference.name:\n return {\n createMediaReference: async args => {\n const {\n data,\n fileName,\n objectType,\n propertyType\n } = args;\n return await OntologiesV2.MediaReferenceProperties.upload(clientCtx, await clientCtx.ontologyRid, objectType.apiName, propertyType, data, {\n mediaItemPath: fileName,\n preview: true\n });\n }\n };\n case __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid.name:\n return {\n fetchPageByRid: async (objectOrInterfaceType, rids, options = {}) => {\n return await fetchPage(clientCtx, objectOrInterfaceType, options, createWithRid(rids));\n },\n fetchPageByRidNoType: async (rids, options) => {\n return await fetchStaticRidPage(clientCtx, rids, options ?? {});\n }\n };\n }\n throw new Error(\"not implemented\");\n } else {\n throw new Error(\"not implemented\");\n }\n }\n const fetchMetadata = fetchMetadataInternal.bind(undefined, clientCtx);\n const symbolClientContext = \"__osdkClientContext\";\n const client = Object.defineProperties(clientFn, {\n [oldSymbolClientContext]: {\n value: clientCtx\n },\n [symbolClientContext]: {\n value: clientCtx\n },\n [additionalContext]: {\n value: clientCtx\n },\n fetchMetadata: {\n value: fetchMetadata\n }\n });\n return client;\n}\nexport const createClient = createClientInternal.bind(undefined, createObjectSet, undefined, undefined);\nexport const createClientWithTransaction = (transactionRid, flushEdits, ...args) => createClientInternal(createObjectSet, transactionRid, flushEdits, ...args);\nfunction createWithRid(rids) {\n const withRid = {\n type: \"static\",\n \"objects\": rids\n };\n return withRid;\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 { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport { applyPageToken, getResults, pageRequestAsAsyncIter } from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\nexport function createBulkLinksAsyncIterFactory(ctx) {\n return async function* (objs, linkTypes) {\n if (objs.length === 0) {\n return;\n }\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n\n // require all objects to be the same type for now\n !objs.every(a => a.$objectType === objs[0].$objectType) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all([helper.getRid(), helper.getPropertyMapping(), helper.getLinkMapping()]);\n const linkMapping = Object.fromEntries(Object.entries(fullLinkMapping).filter(([apiName]) => linkTypes.includes(apiName)));\n\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n const req = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: {\n parameterOverrides: {}\n },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping).map(({\n directedLinkTypeRid\n }) => directedLinkTypeRid),\n objects: conjureUnionType(\"objects\", objs.map(o => conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(propertyMapping.pk.type.type, o.$primaryKey)\n }\n })))\n }]\n };\n const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, \"object-set-service/api\")), getResults, (prevReq, prevResult) => applyPageToken({\n ...prevReq,\n pageToken: prevResult.pageToken\n }, {\n pageToken: prevResult.pageToken\n }), req);\n for await (const item of bulkLinksIter) {\n const {\n objectIdentifier\n } = item;\n const obj = findObject(objectIdentifier, objs);\n for (const link of item.links) {\n const ref = link.link[link.linkSide === \"SOURCE\" ? \"objectSideB\" : \"objectSideA\"];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName = await (await mcc.forObjectByRid(pk.objectTypeRid)).getApiName();\n const mappedLink = Object.values(linkMapping).find(a => a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid && a.directedLinkTypeRid.linkSide === link.linkSide);\n if (!mappedLink) throw new Error(\"Could not find link type\"); // should not happens\n\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue\n };\n }\n }\n };\n}\nfunction findObject(objectIdentifier, objs) {\n const {\n pkValue\n } = getPrimaryKeyOrThrow(objectIdentifier);\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(`Needed to find object with pk ${pkValue}} and could not`);\n }\n return obj;\n}\nfunction getPrimaryKeyOrThrow(ref) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\"Unable to support this request due to multiple pks\");\n }\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: pks[0][1][pks[0][1].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\n/**\n * Helper function that creates the shape of a conjure union in fewer bytes than manually declaring it (when compressed)\n *\n * e.g `{type:\"base\",base:{foo:5}}` becomes `a(\"base\",{foo:5})`\n */\nexport function conjureUnionType(type, value) {\n return {\n type,\n [type]: value\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 makeConjureContext({\n baseUrl,\n fetch: fetchFn,\n tokenProvider\n}, servicePath) {\n return {\n baseUrl,\n servicePath,\n fetchFn,\n tokenProvider\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 getResults(x) {\n return x.results;\n}\nexport function applyPageToken(payload, {\n pageToken\n}) {\n return pageToken ? {\n ...payload,\n pageToken\n } : undefined;\n}\nexport async function* pageRequestAsAsyncIter(call, values, nextArgs, initialPayload) {\n let payload = initialPayload;\n while (payload) {\n const r = await call(payload);\n for (const q of values(r)) {\n yield q;\n }\n payload = nextArgs(payload, r);\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 { bulkLoadOntologyEntities, getLinkTypesForObjectTypes, loadAllOntologies } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { createSimpleAsyncCache, createSimpleCache } from \"../object/SimpleCache.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nlet cachedAllOntologies;\nasync function getOntologyVersionForRid(ctx, ontologyRid) {\n cachedAllOntologies ??= await loadAllOntologies(ctx, {});\n !cachedAllOntologies.ontologies[ontologyRid] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"ontology should be loaded\") : invariant(false) : void 0;\n return cachedAllOntologies.ontologies[ontologyRid].currentOntologyVersion;\n}\nconst strongMemoSync = fn => createSimpleCache(new Map(), fn).get;\nconst weakMemoSync = fn => createSimpleCache(new WeakMap(), fn).get; // FIXME\n\nconst strongMemoAsync = fn => createSimpleAsyncCache(\"strong\", fn).get;\nconst weakMemoAsync = fn => createSimpleAsyncCache(\"weak\", fn).get;\nexport class MetadataClient {\n #client;\n #ctx;\n #logger;\n constructor(client) {\n this.#client = client;\n this.#ctx = makeConjureContext(client, \"ontology-metadata/api\");\n this.#client.ontologyProvider.getObjectDefinition;\n this.#logger = this.#client.logger?.child({\n mcc: true\n });\n }\n forObjectByRid = strongMemoAsync(async rid => {\n return Promise.resolve({\n getPropertyMapping: this.#objectPropertyMapping.bind(this, rid),\n getLinkMapping: this.#objectLinkMapping.bind(this, rid),\n getRid: () => rid,\n getApiName: async () => (await this.#getConjureObjectType(rid)).apiName\n });\n });\n forObjectByApiName = strongMemoAsync(async objectApiName => {\n const objectDef = await this.#client.ontologyProvider.getObjectDefinition(objectApiName);\n return this.forObjectByRid(objectDef.rid);\n });\n #objectPropertyMapping = strongMemoAsync(async objectTypeRid => {\n const conjureObjectType = await this.#getConjureObjectType(objectTypeRid);\n return createObjectPropertyMapping(conjureObjectType);\n });\n #objectLinkMapping = strongMemoAsync(async objectTypeRid => {\n const linkTypes = await getLinkTypesForObjectTypes(this.#ctx, {\n includeObjectTypesWithoutSearchableDatasources: true,\n loadRedacted: false,\n objectTypeBranches: {},\n objectTypeVersions: {\n [objectTypeRid]: await this.ontologyVersion(\"\")\n }\n });\n !linkTypes.linkTypes[objectTypeRid] ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"link type should be loaded\") : invariant(false) : void 0;\n\n // apiName to content\n const ret = {};\n for (const l of linkTypes.linkTypes[objectTypeRid]) {\n const helper = ({\n apiName\n }, linkSide, otherObjectType) => {\n if (apiName) {\n ret[apiName] = {\n apiName,\n directedLinkTypeRid: {\n linkTypeRid: l.rid,\n linkSide\n },\n otherObjectType\n };\n }\n };\n if (l.definition.type === \"oneToMany\") {\n const {\n oneToMany: {\n objectTypeRidManySide,\n manyToOneLinkMetadata,\n objectTypeRidOneSide,\n oneToManyLinkMetadata\n }\n } = l.definition;\n if (objectTypeRidManySide === objectTypeRid) {\n helper(manyToOneLinkMetadata, \"TARGET\", objectTypeRidOneSide);\n }\n if (objectTypeRidOneSide === objectTypeRid) {\n helper(oneToManyLinkMetadata, \"SOURCE\", objectTypeRidManySide);\n }\n } else if (l.definition.type === \"manyToMany\") {\n const {\n manyToMany: {\n objectTypeRidA,\n objectTypeAToBLinkMetadata,\n objectTypeRidB,\n objectTypeBToALinkMetadata\n }\n } = l.definition;\n if (objectTypeRidA === objectTypeRid) {\n helper(objectTypeAToBLinkMetadata, \"SOURCE\", objectTypeRidB);\n }\n if (objectTypeRidB === objectTypeRid) {\n helper(objectTypeBToALinkMetadata, \"TARGET\", objectTypeRidA);\n }\n }\n }\n return ret;\n });\n #getConjureObjectType = strongMemoAsync(async objectTypeRid => {\n this.#logger?.debug(`getConjureObjectType(${objectTypeRid})`);\n const body = {\n datasourceTypes: [],\n objectTypes: [{\n identifier: {\n type: \"objectTypeRid\",\n objectTypeRid: objectTypeRid\n },\n versionReference: {\n type: \"ontologyVersion\",\n ontologyVersion: await this.ontologyVersion(\"\")\n }\n }],\n linkTypes: [],\n sharedPropertyTypes: [],\n interfaceTypes: [],\n typeGroups: [],\n loadRedacted: false,\n includeObjectTypeCount: undefined,\n includeObjectTypesWithoutSearchableDatasources: true,\n includeEntityMetadata: undefined,\n actionTypes: [],\n includeTypeGroupEntitiesCount: undefined,\n entityMetadata: undefined\n };\n const entities = await bulkLoadOntologyEntities(this.#ctx, undefined, body);\n !entities.objectTypes[0]?.objectType ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"object type should be loaded\") : invariant(false) : void 0;\n return entities.objectTypes[0].objectType;\n });\n ontologyVersion = strongMemoAsync(async _ => getOntologyVersionForRid(this.#ctx, await this.#client.ontologyRid));\n}\nexport const metadataCacheClient = weakMemoAsync(client => Promise.resolve(new MetadataClient(client)));\nfunction createObjectPropertyMapping(conjureOT) {\n !(conjureOT.primaryKeys.length === 1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `only one primary key supported, got ${conjureOT.primaryKeys.length}`) : invariant(false) : void 0;\n const pkRid = conjureOT.primaryKeys[0];\n const pkProperty = Object.values(conjureOT.propertyTypes).find(a => a.rid === pkRid);\n if (!pkProperty) {\n throw new Error(`Could not find PK property by rid: ${pkRid}`);\n }\n const propertyIdToApiNameMapping = Object.fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.id, property.apiName];\n }));\n const propertyApiNameToIdMapping = Object.fromEntries(Object.values(conjureOT.propertyTypes).map(property => {\n return [property.apiName, property.id];\n }));\n return {\n apiName: conjureOT.apiName,\n id: conjureOT.id,\n propertyIdToApiNameMapping,\n propertyApiNameToIdMapping,\n pk: {\n rid: pkRid,\n apiName: pkProperty.apiName,\n type: pkProperty.type\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\n/**\n * A simple cache that can be used to store values for a given client.\n */\n\n/**\n * Create a new cache with a factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n */\n\n/**\n * Create a new cache without a factory function.\n */\n\nexport function createSimpleCache(map = new Map(), fn) {\n function get(key) {\n const r = map.get(key);\n if (r === undefined && fn !== undefined) {\n return set(key, fn(key));\n } else {\n return r;\n }\n }\n function set(key, value) {\n map.set(key, value);\n return value;\n }\n function remove(key) {\n return map.delete(key);\n }\n return {\n get,\n set,\n remove\n };\n}\n/**\n * A simple async cache that can be used to store values for a given client.\n */\n\n/**\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\n\nexport function createSimpleAsyncCache(type, fn, createCacheLocal = createSimpleCache) {\n const cache = createCacheLocal(type === \"weak\" ? new WeakMap() : new Map());\n const inProgress = createCacheLocal(type === \"weak\" ? new WeakMap() : new Map());\n const ret = {\n getOrUndefined: function getOrUndefined(key) {\n return cache.get(key);\n },\n get: async function get(key) {\n return cache.get(key) ?? inProgress.get(key) ?? ret.set(key, fn(key));\n },\n set: async function set(k, v) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(k, v); // returns v\n\n cache.set(k, r);\n inProgress.remove(k);\n return r;\n } catch (e) {\n // we don't want to cache failures\n inProgress.remove(k);\n throw e;\n }\n }\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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { toDataValue } from \"../util/toDataValue.js\";\nimport { ActionValidationError } from \"./ActionValidationError.js\";\nexport async function applyAction(client, action, parameters, options = {}) {\n const clientWithHeaders = addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({\n finalMethodCall: \"applyAction\"\n })), action);\n if (Array.isArray(parameters)) {\n const response = await OntologiesV2.Actions.applyBatch(clientWithHeaders, await client.ontologyRid, action.apiName, {\n requests: parameters ? await remapBatchActionParams(parameters, client, await client.ontologyProvider.getActionDefinition(action.apiName)) : [],\n options: {\n returnEdits: options?.$returnEdits ? \"ALL\" : \"NONE\"\n }\n });\n const edits = response.edits;\n return options?.$returnEdits ? edits?.type === \"edits\" ? remapActionResponse(response) : edits : undefined;\n } else {\n const response = await OntologiesV2.Actions.apply(clientWithHeaders, await client.ontologyRid, action.apiName, {\n parameters: await remapActionParams(parameters, client, await client.ontologyProvider.getActionDefinition(action.apiName)),\n options: {\n mode: options?.$validateOnly ? \"VALIDATE_ONLY\" : \"VALIDATE_AND_EXECUTE\",\n returnEdits: options?.$returnEdits ? \"ALL_V2_WITH_DELETIONS\" : \"NONE\"\n }\n });\n if (options?.$validateOnly) {\n return response.validation;\n }\n if (response.validation && response.validation?.result === \"INVALID\") {\n const validation = response.validation;\n throw new ActionValidationError(validation);\n }\n const edits = response.edits;\n return options?.$returnEdits ? edits?.type === \"edits\" ? remapActionResponse(response) : edits : undefined;\n }\n}\nasync function remapActionParams(params, client, actionMetadata) {\n if (params == null) {\n return {};\n }\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValue(value, client, actionMetadata);\n }\n return parameterMap;\n}\nasync function remapBatchActionParams(params, client, actionMetadata) {\n const remappedParams = await Promise.all(params.map(async param => {\n return {\n parameters: await remapActionParams(param, client, actionMetadata)\n };\n }));\n return remappedParams;\n}\nexport function remapActionResponse(response) {\n const editResponses = response?.edits;\n if (editResponses?.type === \"edits\") {\n const remappedActionResponse = {\n type: editResponses.type,\n deletedLinksCount: editResponses.deletedLinksCount,\n deletedObjectsCount: editResponses.deletedObjectsCount,\n addedLinks: [],\n deletedLinks: [],\n addedObjects: [],\n deletedObjects: [],\n modifiedObjects: [],\n editedObjectTypes: []\n };\n const editedObjectTypesSet = new Set();\n for (const edit of editResponses.edits) {\n if (edit.type === \"addLink\" || edit.type === \"deleteLink\") {\n const osdkEdit = {\n linkTypeApiNameAtoB: edit.linkTypeApiNameAtoB,\n linkTypeApiNameBtoA: edit.linkTypeApiNameBtoA,\n aSideObject: edit.aSideObject,\n bSideObject: edit.bSideObject\n };\n edit.type === \"addLink\" ? remappedActionResponse.addedLinks.push(osdkEdit) : remappedActionResponse.deletedLinks?.push(osdkEdit);\n editedObjectTypesSet.add(edit.aSideObject.objectType);\n editedObjectTypesSet.add(edit.bSideObject.objectType);\n } else if (edit.type === \"addObject\" || edit.type === \"deleteObject\" || edit.type === \"modifyObject\") {\n const osdkEdit = {\n objectType: edit.objectType,\n primaryKey: edit.primaryKey\n };\n if (edit.type === \"addObject\") {\n remappedActionResponse.addedObjects.push(osdkEdit);\n } else if (edit.type === \"deleteObject\") {\n remappedActionResponse.deletedObjects?.push(osdkEdit);\n } else if (edit.type === \"modifyObject\") {\n remappedActionResponse.modifiedObjects.push(osdkEdit);\n }\n editedObjectTypesSet.add(edit.objectType);\n } else {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(`Unexpected edit type: ${JSON.stringify(edit)}`);\n }\n }\n }\n remappedActionResponse.editedObjectTypes = [...editedObjectTypesSet];\n return remappedActionResponse;\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 { MediaSets } from \"@osdk/foundry.mediasets\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { isAttachmentFile, isAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { isMediaReference, isMediaUpload } from \"../object/mediaUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isInterfaceActionParam } from \"./interfaceUtils.js\";\nimport { isObjectSpecifiersObject } from \"./isObjectSpecifiersObject.js\";\nimport { isOntologyObjectV2 } from \"./isOntologyObjectV2.js\";\nimport { isPoint } from \"./isPoint.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValue(value, client, actionMetadata) {\n if (value == null) {\n // typeof null is 'object' so do this first\n // Sending null over the wire clears the data, whereas undefined is dropped at request time.\n return value;\n }\n\n // arrays and sets are both sent over the wire as arrays\n if (Array.isArray(value) || value instanceof Set) {\n const values = Array.from(value);\n if (values.some(dataValue => isAttachmentUpload(dataValue) || isAttachmentFile(dataValue))) {\n const converted = [];\n for (const value of values) {\n converted.push(await toDataValue(value, client, actionMetadata));\n }\n return converted;\n }\n const promiseArray = Array.from(value, async innerValue => await toDataValue(innerValue, client, actionMetadata));\n return Promise.all(promiseArray);\n }\n\n // For uploads, we need to upload ourselves first to get the RID of the attachment\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(client, value.data, {\n filename: value.name\n });\n return await toDataValue(attachment.rid, client, actionMetadata);\n }\n if (isAttachmentFile(value)) {\n const attachment = await OntologiesV2.Attachments.upload(client, value, {\n filename: value.name\n });\n return await toDataValue(attachment.rid, client, actionMetadata);\n }\n\n // new media item upload interface, very similar to how attachments work above\n\n if (isMediaUpload(value)) {\n const mediaRef = await MediaSets.uploadMedia(client, value.data, {\n filename: value.fileName,\n preview: true\n });\n return await toDataValue(mediaRef, client, actionMetadata);\n }\n\n // objects just send the JSON'd primaryKey\n if (isOntologyObjectV2(value)) {\n return await toDataValue(value.__primaryKey, client, actionMetadata);\n }\n if (isObjectSpecifiersObject(value)) {\n return await toDataValue(value.$primaryKey, client, actionMetadata);\n }\n if (isPoint(value)) {\n return await toDataValue(`${value.coordinates[1]},${value.coordinates[0]}`, client, actionMetadata);\n }\n\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n if (isMediaReference(value)) {\n return value;\n }\n if (isInterfaceActionParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey\n };\n }\n\n // TODO (during queries implementation)\n // two dimensional aggregation\n // three dimensional aggregation\n\n // struct\n if (typeof value === \"object\") {\n return Object.entries(value).reduce(async (promisedAcc, [key, structValue]) => {\n const acc = await promisedAcc;\n acc[key] = await toDataValue(structValue, client, actionMetadata);\n return acc;\n }, Promise.resolve({}));\n }\n\n // expected to pass through - boolean, byte, date, decimal, float, double, integer, long, short, string, timestamp, object type reference\n return value;\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 */\nexport * as MediaSets from \"./public/MediaSet.js\";","/*\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 */\nimport { foundryPlatformFetch as $foundryPlatformFetch } from \"@osdk/shared.net.platformapi\";\n//\nconst _abort = [1, \"/v2/mediasets/{0}/transactions/{1}/abort\", 2];\n/**\n * Aborts an open transaction. Items uploaded to the media set during this transaction will be deleted.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-write]\n * URL: /v2/mediasets/{mediaSetRid}/transactions/{transactionId}/abort\n */\nexport function abort($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _abort, ...args);\n}\nconst _calculate = [0, \"/v2/mediasets/{0}/items/{1}/transform/imagery/thumbnail/calculate\", 6];\n/**\n * Starts calculation of a thumbnail for a given image.\n *\n * @alpha\n *\n * Required Scopes: [api:mediasets-read]\n * URL: /v2/mediasets/{mediaSetRid}/items/{mediaItemRid}/transform/imagery/thumbnail/calculate\n */\nexport function calculate($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _calculate, ...args);\n}\nconst _commit = [1, \"/v2/mediasets/{0}/transactions/{1}/commit\", 2];\n/**\n * Commits an open transaction. On success, items uploaded to the media set during this transaction will become available.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-write]\n * URL: /v2/mediasets/{mediaSetRid}/transactions/{transactionId}/commit\n */\nexport function commit($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _commit, ...args);\n}\nconst _create = [1, \"/v2/mediasets/{0}/transactions\", 2];\n/**\n * Creates a new transaction. Items uploaded to the media set while this transaction is open will not be reflected until the transaction is committed.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-write]\n * URL: /v2/mediasets/{mediaSetRid}/transactions\n */\nexport function create($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _create, ...args);\n}\nconst _info = [0, \"/v2/mediasets/{0}/items/{1}\", 6];\n/**\n * Gets information about the media item.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-read]\n * URL: /v2/mediasets/{mediaSetRid}/items/{mediaItemRid}\n */\nexport function info($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _info, ...args);\n}\nconst _reference = [0, \"/v2/mediasets/{0}/items/{1}/reference\", 6];\n/**\n * Gets the [media reference](https://www.palantir.com/docs/foundry/data-integration/media-sets/#media-references) for this media item.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-read]\n * URL: /v2/mediasets/{mediaSetRid}/items/{mediaItemRid}/reference\n */\nexport function reference($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _reference, ...args);\n}\nconst _getRidByPath = [0, \"/v2/mediasets/{0}/items/getRidByPath\", 2];\n/**\n * Returns the media item RID for the media item with the specified path.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-read]\n * URL: /v2/mediasets/{mediaSetRid}/items/getRidByPath\n */\nexport function getRidByPath($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _getRidByPath, ...args);\n}\nconst _upload = [1, \"/v2/mediasets/{0}/items\", 3, \"*/*\"];\n/**\n * Uploads a media item to an existing media set.\n * The body of the request must contain the binary content of the file and the `Content-Type` header must be `application/octet-stream`.\n * A branch name, or branch rid, or view rid may optionally be specified. If none is specified, the item will be uploaded to the default branch. If more than one is specified, an error is thrown.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-write]\n * URL: /v2/mediasets/{mediaSetRid}/items\n */\nexport function upload($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _upload, ...args);\n}\nconst _read = [0, \"/v2/mediasets/{0}/items/{1}/content\", 6,, \"*/*\"];\n/**\n * Gets the content of a media item.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-read]\n * URL: /v2/mediasets/{mediaSetRid}/items/{mediaItemRid}/content\n */\nexport function read($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _read, ...args);\n}\nconst _readOriginal = [0, \"/v2/mediasets/{0}/items/{1}/original\", 6,, \"*/*\"];\n/**\n * Gets the content of an original file uploaded to the media item, even if it was transformed on upload due to being an additional input format.\n *\n * @beta\n *\n * Required Scopes: [api:mediasets-read]\n * URL: /v2/mediasets/{mediaSetRid}/items/{mediaItemRid}/original\n */\nexport function readOriginal($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _readOriginal, ...args);\n}\nconst _retrieve = [0, \"/v2/mediasets/{0}/items/{1}/transform/imagery/thumbnail/retrieve\", 6,, \"*/*\"];\n/**\n * Retrieves a successfully calculated thumbnail for a given image.\n *\n * Thumbnails are 200px wide in the format of `image/webp`\n *\n * @alpha\n *\n * Required Scopes: [api:mediasets-read]\n * URL: /v2/mediasets/{mediaSetRid}/items/{mediaItemRid}/transform/imagery/thumbnail/retrieve\n */\nexport function retrieve($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _retrieve, ...args);\n}\nconst _uploadMedia = [2, \"/v2/mediasets/media/upload\", 7, \"*/*\"];\n/**\n * Uploads a temporary media item. If the media item isn't persisted within 1 hour, the item will be deleted.\n *\n * If multiple resources are attributed to, usage will be attributed to the first one in the list.\n *\n * The body of the request must contain the binary content of the file and the `Content-Type` header must be `application/octet-stream`.\n * Third-party applications using this endpoint via OAuth2 must request the following operation scopes: `api:ontologies-read api:ontologies-write`.\n *\n * @beta\n *\n * Required Scopes: [api:ontologies-read, api:ontologies-write]\n * URL: /v2/mediasets/media/upload\n */\nexport function uploadMedia($ctx, ...args) {\n return $foundryPlatformFetch($ctx, _uploadMedia, ...args);\n}","/*\n * Copyright 2025 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 isMediaReference(o) {\n return typeof o === `object` && typeof o.mimeType === \"string\" && \"reference\" in o && typeof o.reference === \"object\" && o.reference.type === \"mediaSetViewItem\" && \"mediaSetViewItem\" in o.reference && typeof o.reference.mediaSetViewItem === \"object\" && typeof o.reference.mediaSetViewItem.mediaSetRid === \"string\" && typeof o.reference.mediaSetViewItem.mediaSetViewRid === \"string\" && typeof o.reference.mediaSetViewItem.mediaItemRid === \"string\";\n}\nexport function isMediaUpload(o) {\n return typeof o === \"object\" && o != null && \"fileName\" in o && typeof o.fileName === \"string\" && \"data\" in o && typeof o.data === \"object\" && o.data instanceof Blob;\n}","/*\n * Copyright 2025 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/** @internal */\nexport function isInterfaceActionParam(o) {\n return o != null && typeof o === \"object\" && \"$objectType\" in o && \"$primaryKey\" in o;\n}\n\n/** @internal */\nexport function isInterfaceQueryParam(o) {\n return o != null && typeof o === \"object\" && \"$objectType\" in o && \"$primaryKey\" in o;\n}\n\n/** @internal */\nexport function isInterfaceSpecifier(o) {\n return o != null && typeof o === \"object\" && \"$objectType\" in o && \"$primaryKey\" in o && o.$objectType !== o.$apiName;\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 isObjectSpecifiersObject(o) {\n return o && typeof o === \"object\" && typeof o.$apiName === \"string\" && o.$primaryKey != null;\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/** @internal */\nexport function isOntologyObjectV2(o) {\n return o && typeof o === \"object\" && typeof o.__apiName === \"string\" && o.__primaryKey != null;\n}","/*\n * Copyright 2025 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 isPoint(o) {\n return o && typeof o === \"object\" && \"type\" in o && o.type === \"Point\" && \"coordinates\" in o && o.coordinates.length === 2;\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 { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { convertWireToOsdkObjects, convertWireToOsdkObjects2 } from \"./object/convertWireToOsdkObjects.js\";\nimport { createObjectSet } from \"./objectSet/createObjectSet.js\";\nimport { createStandardOntologyProviderFactory } from \"./ontology/StandardOntologyProvider.js\";\nimport { USER_AGENT } from \"./util/UserAgent.js\";\n\n/** @internal */\nexport function createMinimalClient(metadata, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = createObjectSet, createOntologyProviderFactory = createStandardOntologyProviderFactory) {\n if (process.env.NODE_ENV !== \"production\") {\n try {\n new URL(baseUrl);\n } catch (e) {\n const hint = !baseUrl.startsWith(\"http://\") || !baseUrl.startsWith(\"https://\") ? \". Did you forget to add 'http://' or 'https://'?\" : \"\";\n throw new Error(`Invalid stack URL: ${baseUrl}${hint}`);\n }\n }\n const processedBaseUrl = new URL(baseUrl);\n processedBaseUrl.pathname += processedBaseUrl.pathname.endsWith(\"/\") ? \"\" : \"/\";\n const minimalClient = {\n ...createSharedClientContext(processedBaseUrl.toString(), tokenProvider, USER_AGENT, fetchFn),\n objectSetFactory,\n objectFactory: convertWireToOsdkObjects,\n objectFactory2: convertWireToOsdkObjects2,\n ontologyRid: metadata.ontologyRid,\n logger: options.logger,\n transactionId: options.transactionId,\n clientCacheKey: {},\n requestContext: {},\n narrowTypeInterfaceOrObjectMapping: {}\n };\n return Object.freeze(Object.assign(minimalClient, {\n ontologyProvider: createOntologyProviderFactory(options)(minimalClient)\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 invariant from \"tiny-invariant\";\nimport { createOsdkObject } from \"./convertWireToOsdkObjects/createOsdkObject.js\";\n/**\n * If interfaceApiName is not undefined, converts the instances of the\n * interface into their respective\n * underlying concrete types and then returns the $as() representation\n * for the consumers.\n *\n * Otherwise just does the conversion\n *\n * May mutate in place for performance reasons. If you need a clean copy,\n * keep it first.\n *\n * However, you must use the returned value, which will be whatever is correct.\n *\n * @internal\n * @param interfaceApiName - if undefined\n */\nexport async function convertWireToOsdkObjects(client, objects, interfaceApiName, forceRemoveRid = false, derivedPropertyTypesByName, selectedProps, strictNonNull = false) {\n // remove the __ prefixed properties and convert them to $ prefixed.\n // updates in place\n fixObjectPropertiesInPlace(objects, forceRemoveRid);\n const ifaceDef = interfaceApiName ? await client.ontologyProvider.getInterfaceDefinition(interfaceApiName) : undefined;\n const ifaceSelected = ifaceDef ? selectedProps ?? Object.keys(ifaceDef.properties) : undefined;\n const ret = [];\n for (const rawObj of objects) {\n const objectDef = await client.ontologyProvider.getObjectDefinition(rawObj.$apiName);\n !objectDef ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Missing definition for '${rawObj.$apiName}'`) : invariant(false) : void 0;\n\n // default value for when we are checking an object\n let objProps;\n let conforming = true;\n if (ifaceDef && ifaceSelected) {\n // API returns interface spt names but we cache by real values\n invariantInterfacesAsViews(objectDef, ifaceDef.apiName, client);\n conforming &&= isConforming(client, ifaceDef, rawObj, ifaceSelected);\n reframeAsObjectInPlace(objectDef, ifaceDef.apiName, rawObj);\n objProps = convertInterfacePropNamesToObjectPropNames(objectDef, ifaceDef.apiName, ifaceSelected);\n } else {\n objProps = selectedProps ?? Object.keys(objectDef.properties);\n }\n conforming &&= isConforming(client, objectDef, rawObj, objProps);\n if (strictNonNull === \"throw\" && !conforming) {\n throw new Error(\"Unable to safely convert objects as some non nullable properties are null\");\n } else if (strictNonNull === \"drop\" && !conforming) {\n continue;\n }\n let osdkObject = createOsdkObject(client, objectDef, rawObj, derivedPropertyTypesByName);\n if (interfaceApiName) osdkObject = osdkObject.$as(interfaceApiName);\n ret.push(osdkObject);\n }\n return ret;\n}\n/**\n * @internal\n */\nexport async function convertWireToOsdkObjects2(client, objects, interfaceApiName, derivedPropertyTypeByName, forceRemoveRid = false, selectedProps, strictNonNull = false, interfaceToObjectTypeMappings = {}, interfaceToObjectTypeMappingsV2 = {}) {\n fixObjectPropertiesInPlace(objects, forceRemoveRid);\n\n // prefer V2 mappings if non-empty, otherwise fall back to V1\n const effectiveMappings = Object.keys(interfaceToObjectTypeMappingsV2).length > 0 ? convertInterfaceToObjectTypeMappingsV2ToV1(interfaceToObjectTypeMappingsV2) : interfaceToObjectTypeMappings;\n const isInterfaceScoped = Object.keys(effectiveMappings).length > 0;\n const ret = [];\n for (const rawObj of objects) {\n const objectDef = await client.ontologyProvider.getObjectDefinition(rawObj.$apiName);\n !objectDef ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Missing definition for '${rawObj.$apiName}'`) : invariant(false) : void 0;\n const interfaceToObjMapping = interfaceApiName && isInterfaceScoped ? effectiveMappings[interfaceApiName][rawObj.$apiName] : undefined;\n const ifaceSelected = interfaceApiName && interfaceToObjMapping ? selectedProps ? Object.keys(interfaceToObjMapping).filter(val => {\n selectedProps?.includes(interfaceToObjMapping[val]);\n }) : [...Object.values(interfaceToObjMapping), objectDef.primaryKeyApiName] : undefined;\n\n // default value for when we are checking an object\n let objProps;\n let conforming = true;\n if (interfaceApiName && ifaceSelected) {\n invariantInterfacesAsViews(objectDef, interfaceApiName, client);\n objProps = ifaceSelected;\n } else {\n objProps = selectedProps ?? Object.keys(objectDef.properties);\n }\n conforming &&= isConforming(client, objectDef, rawObj, objProps);\n if (strictNonNull === \"throw\" && !conforming) {\n throw new Error(\"Unable to safely convert objects as some non nullable properties are null\");\n } else if (strictNonNull === \"drop\" && !conforming) {\n continue;\n }\n let osdkObject = createOsdkObject(client, objectDef, rawObj, derivedPropertyTypeByName);\n if (interfaceApiName && isInterfaceScoped) osdkObject = osdkObject.$as(interfaceApiName);\n ret.push(osdkObject);\n }\n return ret;\n}\n\n/**\n * @internal\n *\n * Utility function that lets us take down selected property names from an interface\n * and convert them to an array of property names on an object.\n */\nexport function convertInterfacePropNamesToObjectPropNames(objectDef, interfaceApiName, ifacePropsToMap) {\n return ifacePropsToMap.map(ifaceProp => objectDef.interfaceMap[interfaceApiName][ifaceProp]);\n}\n\n/**\n * Takes a raw object from the wire (contextually as an interface) and\n * updates the fields to reflect the underlying objectDef instead\n * @param objectDef\n * @param interfaceApiName\n * @param client\n * @param rawObj\n */\nfunction reframeAsObjectInPlace(objectDef, interfaceApiName, rawObj) {\n const newProps = {};\n for (const [sptProp, regularProp] of Object.entries(objectDef.interfaceMap[interfaceApiName])) {\n if (sptProp in rawObj) {\n const value = rawObj[sptProp];\n delete rawObj[sptProp];\n if (value !== undefined) {\n newProps[regularProp] = value;\n }\n }\n }\n Object.assign(rawObj, newProps);\n if (!(objectDef.primaryKeyApiName in rawObj)) {\n rawObj[objectDef.primaryKeyApiName] = rawObj.$primaryKey;\n }\n}\nfunction isConforming(client, def, obj, propsToCheck) {\n for (const propName of propsToCheck) {\n if (propName in def.properties && def.properties[propName].nullable === false && obj[propName] == null) {\n if (process.env.NODE_ENV !== \"production\") {\n client.logger?.debug({\n obj: {\n $apiName: obj[\"$apiName\"],\n $objectType: obj[\"$objectType\"],\n $primaryKey: obj[\"$primaryKey\"]\n }\n }, `Found object that does not conform to its definition. Expected ${def.apiName}'s ${propName} to not be null.`);\n }\n return false;\n }\n }\n return true;\n}\nfunction invariantInterfacesAsViews(objectDef, interfaceApiName, client) {\n if (objectDef.interfaceMap?.[interfaceApiName] == null) {\n const warning = \"Interfaces are only supported 'as views' but your metadata object is missing the correct information. This suggests your interfaces have not been migrated to the newer version yet and you cannot use this version of the SDK.\";\n if (client.logger) {\n client.logger.warn(warning);\n } else {\n // eslint-disable-next-line no-console\n console.error(`WARNING! ${warning}`);\n }\n throw new Error(warning);\n }\n}\nfunction fixObjectPropertiesInPlace(objs, forceRemoveRid) {\n for (const obj of objs) {\n if (forceRemoveRid) {\n delete obj.__rid;\n }\n if (obj.__rid) {\n obj.$rid = obj.__rid;\n delete obj.__rid;\n }\n if (obj.__score) {\n obj.$score = obj.__score;\n delete obj.__score;\n }\n\n // Backend returns as __apiName but we want to stick to $ structure\n obj.$apiName ??= obj.__apiName;\n\n // for now these are the same but when we start doing interface projections the $objectType will always be underlying and\n // the $apiName will be for the current view (in current designs)\n obj.$objectType = obj.$apiName;\n\n // copying over for now as its always returned. In the future, this should just be inferred from underlying\n obj.$primaryKey ??= obj.__primaryKey;\n obj.$title ??= obj.__title;\n\n // we don't want people to use these\n delete obj.__apiName;\n delete obj.__primaryKey;\n delete obj.__title;\n }\n}\n\n/**\n * Converts interfaceToObjectTypeMappingsV2 format to the V1 format.\n * V2 format: { interfaceProp: { type: \"localPropertyImplementation\", propertyApiName: \"objectProp\" } }\n * V1 format: { interfaceProp: \"objectProp\" }\n */\nfunction convertInterfaceToObjectTypeMappingsV2ToV1(mappingsV2) {\n return Object.fromEntries(Object.entries(mappingsV2).map(([interfaceApiName, objectTypeMappingsV2]) => [interfaceApiName, Object.fromEntries(Object.entries(objectTypeMappingsV2).map(([objectTypeName, propertyMappings]) => [objectTypeName, Object.fromEntries(Object.entries(propertyMappings).filter(([, impl]) => impl.type === \"localPropertyImplementation\").map(([interfaceProp, impl]) => [interfaceProp, impl.propertyApiName]))]))]));\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 invariant from \"tiny-invariant\";\nimport { GeotimeSeriesPropertyImpl } from \"../../createGeotimeSeriesProperty.js\";\nimport { MediaReferencePropertyImpl } from \"../../createMediaReferenceProperty.js\";\nimport { TimeSeriesPropertyImpl } from \"../../createTimeseriesProperty.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../../public-utils/hydrateAttachmentFromRid.js\";\nimport { createObjectSpecifierFromPrimaryKey } from \"../../util/objectSpecifierUtils.js\";\nimport { applyPropertyFormatter } from \"../formatting/applyPropertyFormatter.js\";\nimport { get$as } from \"./getDollarAs.js\";\nimport { get$link } from \"./getDollarLink.js\";\nimport { ClientRef, ObjectDefRef, UnderlyingOsdkObject } from \"./InternalSymbols.js\";\nconst specialPropertyTypes = new Set([\"attachment\", \"geotimeSeriesReference\", \"mediaReference\", \"numericTimeseries\", \"stringTimeseries\", \"sensorTimeseries\"]);\n\n// kept separate so we are not redefining these functions\n// every time an object is created.\nconst basePropDefs = {\n \"$as\": {\n get: function () {\n return get$as(this[ObjectDefRef]);\n }\n },\n \"$link\": {\n get: function () {\n return get$link(this);\n }\n },\n \"$clone\": {\n value: function (update) {\n // I think `rawObj` is the same thing as `this` and can be removed?\n const rawObj = this[UnderlyingOsdkObject];\n const def = this[ObjectDefRef];\n if (update == null) {\n return createOsdkObject(this[ClientRef], def, {\n ...rawObj\n });\n }\n if (def.primaryKeyApiName in update && rawObj[def.primaryKeyApiName] !== update[def.primaryKeyApiName]) {\n throw new Error(`Cannot update ${def.apiName} object with differing primary key values `);\n }\n if (def.titleProperty in update && !(\"$title\" in update)) {\n update.$title = update[def.titleProperty];\n }\n const newObject = {\n ...this[UnderlyingOsdkObject],\n ...update\n };\n return createOsdkObject(this[ClientRef], this[ObjectDefRef], newObject);\n }\n },\n \"$objectSpecifier\": {\n get: function () {\n const rawObj = this[UnderlyingOsdkObject];\n return createObjectSpecifierFromPrimaryKey(this[ObjectDefRef], rawObj.$primaryKey);\n },\n enumerable: true\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n get: function () {\n return {\n ObjectMetadata: this[ObjectDefRef]\n };\n },\n enumerable: false\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue\": {\n value: function (propertyApiName, options) {\n const rawObj = this[UnderlyingOsdkObject];\n const def = this[ObjectDefRef];\n const propertyValue = rawObj[propertyApiName];\n return applyPropertyFormatter(propertyValue, def.properties[propertyApiName], rawObj, options);\n },\n enumerable: false\n }\n};\n\n/**\n * @internal\n * @param client\n * @param objectDef\n * @param simpleOsdkProperties\n */\nexport function createOsdkObject(client, objectDef, simpleOsdkProperties, derivedPropertyTypeByName = {}) {\n // updates the object's \"hidden class/map\".\n const rawObj = simpleOsdkProperties;\n Object.defineProperties(rawObj, {\n [UnderlyingOsdkObject]: {\n enumerable: false,\n value: simpleOsdkProperties\n },\n [ObjectDefRef]: {\n value: objectDef,\n enumerable: false\n },\n // TODO: Potentially update when GA metadata field\n [ClientRef]: {\n value: client,\n enumerable: false\n },\n ...basePropDefs\n });\n\n // Assign the special values\n for (const propKey of Object.keys(rawObj)) {\n if (propKey in objectDef.properties && typeof objectDef.properties[propKey].type === \"string\" && specialPropertyTypes.has(objectDef.properties[propKey].type)) {\n rawObj[propKey] = createSpecialProperty(client, objectDef, rawObj, propKey);\n } else if (propKey in derivedPropertyTypeByName) {\n rawObj[propKey] = modifyRdpProperties(client, derivedPropertyTypeByName, rawObj[propKey], propKey);\n }\n }\n return Object.freeze(rawObj);\n}\nfunction modifyRdpProperties(client, derivedPropertyTypeByName, rawValue, propKey) {\n if (derivedPropertyTypeByName[propKey].definition.type === \"selection\" && derivedPropertyTypeByName[propKey].definition.operation.type === \"count\") {\n const num = Number(rawValue);\n !Number.isSafeInteger(num) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Count aggregation for derived property \" + propKey + \" returned a value larger than safe integer.\") : invariant(false) : void 0;\n return num;\n } // Selected or collected properties need to be deserialized specially when constructed with RDP\n else if (derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType != null && typeof derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType.type === \"string\" && specialPropertyTypes.has(derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType.type)) {\n switch (derivedPropertyTypeByName[propKey].selectedOrCollectedPropertyType?.type) {\n case \"attachment\":\n if (Array.isArray(rawValue)) {\n return rawValue.map(a => hydrateAttachmentFromRidInternal(client, a.rid));\n } else {\n return hydrateAttachmentFromRidInternal(client, rawValue.rid);\n }\n break;\n default:\n !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Derived property aggregations for Timeseries and Media are not supported\") : invariant(false) : void 0;\n }\n }\n return rawValue;\n}\nfunction createSpecialProperty(client, objectDef, rawObject, p) {\n const rawValue = rawObject[p];\n const propDef = objectDef.properties[p];\n if (process.env.NODE_ENV !== \"production\") {\n !(propDef != null && typeof propDef.type === \"string\" && specialPropertyTypes.has(propDef.type)) ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n }\n if (propDef.type === \"attachment\") {\n if (Array.isArray(rawValue)) {\n return rawValue.map(a => hydrateAttachmentFromRidInternal(client, a.rid));\n }\n return hydrateAttachmentFromRidInternal(client, rawValue.rid);\n }\n if (propDef.type === \"numericTimeseries\" || propDef.type === \"stringTimeseries\" || propDef.type === \"sensorTimeseries\") {\n return new TimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p);\n }\n if (propDef.type === \"geotimeSeriesReference\") {\n return new GeotimeSeriesPropertyImpl(client, objectDef.apiName, rawObject[objectDef.primaryKeyApiName], p, rawValue.type === \"geotimeSeriesValue\" ? {\n time: rawValue.timestamp,\n value: {\n type: \"Point\",\n coordinates: rawValue.position\n }\n } : undefined);\n }\n if (propDef.type === \"mediaReference\") {\n return new MediaReferencePropertyImpl({\n client,\n objectApiName: objectDef.apiName,\n primaryKey: rawObject[objectDef.primaryKeyApiName],\n propertyName: p,\n mediaReference: rawValue\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\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { asyncIterPointsHelper, getTimeRange } from \"./util/timeseriesUtils.js\";\nexport class GeotimeSeriesPropertyImpl {\n #triplet;\n #client;\n constructor(client, objectApiName, primaryKey, propertyName, initialValue) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n if (initialValue != null) {\n this.lastFetchedValue = initialValue;\n }\n }\n async getLatestValue() {\n const latestPointPromise = OntologiesV2.TimeSeriesValueBankProperties.getLatestValue(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n latestPointPromise.then(latestPoint => this.lastFetchedValue = latestPoint,\n // eslint-disable-next-line no-console\n err => void console.error(err));\n return latestPointPromise;\n }\n async getAllValues(query) {\n const allPoints = [];\n for await (const point of this.asyncIterValues(query)) {\n allPoints.push(point);\n }\n return allPoints;\n }\n async *asyncIterValues(query) {\n const streamPointsIterator = await OntologiesV2.TimeSeriesValueBankProperties.streamValues(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? {\n range: getTimeRange(query)\n } : {});\n for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {\n yield timeseriesPoint;\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\nimport { TimeseriesDurationMapping } from \"@osdk/api\";\nimport { iterateReadableStream, parseStreamedResponse } from \"./streamutils.js\";\nexport function getTimeRange(body) {\n if (\"$startTime\" in body || \"$endTime\" in body) {\n return {\n type: \"absolute\",\n startTime: body.$startTime,\n endTime: body.$endTime\n };\n }\n return body.$before ? {\n type: \"relative\",\n startTime: {\n when: \"BEFORE\",\n value: body.$before,\n unit: TimeseriesDurationMapping[body.$unit]\n }\n } : {\n type: \"relative\",\n endTime: {\n when: \"AFTER\",\n value: body.$after,\n unit: TimeseriesDurationMapping[body.$unit]\n }\n };\n}\nexport async function* asyncIterPointsHelper(iterator) {\n const reader = iterator.body?.getReader();\n for await (const point of parseStreamedResponse(iterateReadableStream(reader))) {\n yield {\n time: point.time,\n value: point.value\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\nconst START_TOKEN = new Uint8Array([123, 34, 100, 97, 116, 97, 34, 58, 91]); // `{\"data\":[`\nconst OBJECT_OPEN_CHAR_CODE = 123; // '{'\nconst OBJECT_CLOSE_CHAR_CODE = 125; // '}'\n\nexport async function* parseStreamedResponse(asyncIterable) {\n const utf8decoder = new TextDecoder(\"utf-8\");\n let parsedStart = false;\n let prevChunks = [];\n let openBracesCount = 0;\n for await (const chunk of asyncIterable) {\n // on the first chunk, skip the expected START_TOKEN if we see it\n let i = 0;\n if (!parsedStart) {\n parsedStart = true;\n if (startsWith(chunk, START_TOKEN)) {\n i = START_TOKEN.length;\n }\n }\n for (; i < chunk.length; i++) {\n // if we aren't currently parsing an object, skip until we find the next object start\n while (openBracesCount === 0 && chunk[i] !== OBJECT_OPEN_CHAR_CODE && i < chunk.length) {\n i++;\n }\n\n // iterate through the chunk looking for the end of the current top level object\n let j = i;\n for (; j < chunk.length; j++) {\n const c = chunk[j];\n if (c === OBJECT_OPEN_CHAR_CODE) {\n openBracesCount++;\n } else if (c === OBJECT_CLOSE_CHAR_CODE) {\n openBracesCount--;\n\n // found a complete top level object, emit it\n if (0 === openBracesCount) {\n yield combineAndParse(utf8decoder, prevChunks, chunk.subarray(i, j + 1));\n\n // if there was a prevChunk, we've consumed it now\n prevChunks = [];\n\n // advance the start index to the final '}' of the current object,\n // which lets us start seeking the beginning of the next object\n i = j;\n break;\n }\n }\n }\n\n // if we reached the end of our chunk before finding the end of the object\n // store off the relevant remainder of our current chunk and go grab the next one\n if (j === chunk.length) {\n prevChunks.push(chunk.subarray(i));\n break;\n }\n }\n }\n}\nfunction startsWith(a, b) {\n if (a.length < b.length) {\n return false;\n }\n for (let i = 0; i < b.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\nfunction combineAndParse(utf8decoder, prev, curr) {\n let str = \"\";\n for (const chunk of prev) {\n str += utf8decoder.decode(chunk, {\n stream: true\n });\n }\n str += utf8decoder.decode(curr);\n return JSON.parse(str);\n}\nexport async function* iterateReadableStream(readableStream) {\n let res = await readableStream.read();\n while (!res.done) {\n yield res.value;\n res = await readableStream.read();\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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nexport class MediaReferencePropertyImpl {\n #mediaReference;\n #triplet;\n #client;\n constructor(args) {\n const {\n client,\n objectApiName,\n primaryKey,\n propertyName,\n mediaReference\n } = args;\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n this.#mediaReference = mediaReference;\n }\n async fetchContents() {\n return OntologiesV2.MediaReferenceProperties.getMediaContent(this.#client, await this.#client.ontologyRid, ...this.#triplet, {\n preview: true // TODO: Can turn this back off when backend is no longer in beta.\n });\n }\n async fetchMetadata() {\n const r = await OntologiesV2.MediaReferenceProperties.getMediaMetadata(this.#client, await this.#client.ontologyRid, ...this.#triplet, {\n preview: true // TODO: Can turn this back off when backend is no longer in beta.\n });\n return {\n path: r.path,\n sizeBytes: Number(r.sizeBytes),\n mediaType: r.mediaType\n };\n }\n getMediaReference() {\n return this.#mediaReference;\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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { asyncIterPointsHelper, getTimeRange } from \"./util/timeseriesUtils.js\";\nexport class TimeSeriesPropertyImpl {\n #triplet;\n #client;\n constructor(client, objectApiName, primaryKey, propertyName) {\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n }\n async getFirstPoint() {\n return OntologiesV2.TimeSeriesPropertiesV2.getFirstPoint(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n }\n async getLastPoint() {\n return OntologiesV2.TimeSeriesPropertiesV2.getLastPoint(this.#client, await this.#client.ontologyRid, ...this.#triplet);\n }\n async getAllPoints(query) {\n const allPoints = [];\n for await (const point of this.asyncIterPoints(query)) {\n allPoints.push(point);\n }\n return allPoints;\n }\n async *asyncIterPoints(query) {\n const streamPointsIterator = await OntologiesV2.TimeSeriesPropertiesV2.streamPoints(this.#client, await this.#client.ontologyRid, ...this.#triplet, query ? {\n range: getTimeRange(query)\n } : {});\n for await (const timeseriesPoint of asyncIterPointsHelper(streamPointsIterator)) {\n yield timeseriesPoint;\n }\n }\n}","/*\n * Copyright 2025 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 { formatBoolean } from \"./formatBoolean.js\";\nimport { formatDateTime } from \"./formatDateTime.js\";\nimport { formatNumber } from \"./formatNumber.js\";\nimport { getBrowserLocale } from \"./propertyFormattingUtils.js\";\n/**\n * Applies formatting rules to a property value and returns the formatted string value.\n *\n * @param propertyValue - The value of the property to format\n * @returns The formatted string value, or undefined if the property cannot be formatted\n *\n * @experimental This is a stub implementation that returns undefined.\n * The actual formatting logic will be implemented later.\n */\nexport function applyPropertyFormatter(propertyValue, propertyDefinition, objectData, options = {}) {\n if (propertyDefinition?.valueFormatting == null || propertyValue == null) {\n return undefined;\n }\n return formatPropertyValue(propertyValue, propertyDefinition.valueFormatting, objectData, options);\n}\nfunction formatPropertyValue(value, rule, objectData, options) {\n switch (rule.type) {\n case \"boolean\":\n if (typeof value !== \"boolean\") {\n return undefined;\n }\n return formatBoolean(value, rule);\n case \"number\":\n if (typeof value !== \"number\") {\n return undefined;\n }\n return formatNumber(value, rule.numberType, objectData, options.locale ?? getBrowserLocale());\n case \"date\":\n case \"timestamp\":\n if (typeof value !== \"string\") {\n return undefined;\n }\n return formatDateTime(new Date(value), rule.format, rule.type === \"timestamp\" ? rule.displayTimezone : undefined, objectData, options.locale ?? getBrowserLocale(), options.timezoneId);\n default:\n return undefined;\n }\n}","/*\n * Copyright 2025 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 * Formats a boolean value according to the specified formatting rule\n */\nexport function formatBoolean(value, rule) {\n return value ? rule.valueIfTrue : rule.valueIfFalse;\n}","/*\n * Copyright 2025 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 { resolvePropertyReference } from \"./propertyFormattingUtils.js\";\n\n/**\n * Formats a date/timestamp value according to the specified formatting rule\n */\nexport function formatDateTime(value, format, timezone, objectData, locale, userTimezoneOverride) {\n const date = value instanceof Date ? value : new Date(value);\n if (isNaN(date.getTime())) {\n return undefined;\n }\n const resolvedTimezone = resolveTimezone(timezone, objectData, userTimezoneOverride);\n switch (format.type) {\n case \"localizedFormat\":\n return formatLocalized(date, format, locale, resolvedTimezone);\n case \"stringFormat\":\n // TODO - pattern formatting\n return undefined;\n default:\n format;\n return undefined;\n }\n}\nconst INVALID_DATE_STRING = \"Invalid date or timezone\";\nfunction formatLocalized(date, format, locale, timezone) {\n if (format.format === \"DATE_FORMAT_ISO_INSTANT\") {\n return date.toISOString();\n }\n if (format.format === \"DATE_FORMAT_RELATIVE_TO_NOW\") {\n return formatRelativeToNow(date, locale, timezone);\n }\n const options = getLocalizedFormatOptions(format.format);\n try {\n return new Intl.DateTimeFormat(locale, timezone ? {\n ...options,\n timeZone: timezone\n } : options).format(date);\n } catch (_e) {\n // If a property reference is an invalid timezone we specifically say that it's invalid instead of returning undefined;\n return INVALID_DATE_STRING;\n }\n}\nfunction getLocalizedFormatOptions(format) {\n switch (format) {\n case \"DATE_FORMAT_DATE\":\n return FORMAT_DATE;\n case \"DATE_FORMAT_YEAR_AND_MONTH\":\n return FORMAT_YEAR_AND_MONTH;\n case \"DATE_FORMAT_DATE_TIME\":\n return FORMAT_DATE_TIME;\n case \"DATE_FORMAT_DATE_TIME_SHORT\":\n return FORMAT_DATE_TIME_SHORT;\n case \"DATE_FORMAT_TIME\":\n return FORMAT_TIME;\n default:\n format;\n return {};\n }\n}\nconst FORMAT_DATE = {\n day: \"numeric\",\n month: \"short\",\n weekday: \"short\",\n year: \"numeric\"\n};\nconst FORMAT_YEAR_AND_MONTH = {\n month: \"short\",\n year: \"numeric\"\n};\nconst FORMAT_DATE_TIME = {\n day: \"numeric\",\n month: \"short\",\n weekday: \"short\",\n year: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\"\n};\nconst FORMAT_DATE_TIME_SHORT = {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\"\n};\nconst FORMAT_TIME = {\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\"\n};\nconst DATE_TIME_SHORT_WITH_WEEKDAY = {\n day: \"numeric\",\n month: \"short\",\n weekday: \"short\",\n year: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\"\n};\nfunction resolveTimezone(timezone, objectData, userTimezoneOverride) {\n if (userTimezoneOverride != null) {\n return userTimezoneOverride;\n }\n if (timezone == null) {\n return undefined;\n }\n switch (timezone.type) {\n case \"user\":\n return undefined;\n case \"static\":\n return resolvePropertyReference(timezone.zoneId, objectData);\n default:\n timezone;\n return undefined;\n }\n}\nconst SECOND_MS = 1_000;\nconst MINUTE_MS = 60 * SECOND_MS;\nconst HOUR_MS = 60 * MINUTE_MS;\nconst DAY_MS = 24 * HOUR_MS;\nfunction formatRelativeToNow(date, locale, timezone) {\n const now = Date.now();\n const diff = date.valueOf() - now;\n const absDiff = Math.abs(diff);\n\n // More than 1 day - fall back to absolute date formatting\n if (absDiff >= DAY_MS) {\n const dtf = new Intl.DateTimeFormat(locale, {\n ...DATE_TIME_SHORT_WITH_WEEKDAY,\n timeZone: timezone\n });\n return dtf.format(date);\n }\n\n // Within 1 day - use relative formatting\n const rtf = new Intl.RelativeTimeFormat(locale, {\n numeric: \"auto\"\n });\n const units = [[\"hour\", HOUR_MS], [\"minute\", MINUTE_MS], [\"second\", SECOND_MS]];\n for (const [unit, ms] of units) {\n if (absDiff >= ms) {\n return rtf.format(Math.floor(diff / ms), unit);\n }\n }\n return rtf.format(0, \"second\");\n}","/*\n * Copyright 2025 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 * Resolves a property reference or string constant to its actual value\n */\n\nexport function resolvePropertyReference(ref, objectData) {\n if (ref.type === \"constant\") {\n return ref.value;\n } else if (ref.type === \"propertyType\") {\n const value = objectData[ref.propertyApiName];\n return value != null ? String(value) : undefined;\n }\n return undefined;\n}\n/**\n * Gets the browser's current locale\n */\nexport function getBrowserLocale() {\n if (typeof navigator !== \"undefined\" && navigator.language != null) {\n return navigator.language;\n }\n return \"en-US\";\n}","/*\n * Copyright 2025 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 { resolvePropertyReference } from \"./propertyFormattingUtils.js\";\n\n/**\n * Extended NumberFormatOptions that includes rounding mode support\n * which is available in modern browsers but not yet in TypeScript types.\n * Only includes modes that are actually supported by Intl.NumberFormat and used in our API.\n */\n\n/**\n * Formats a number value according to the specified formatting rule\n */\nexport function formatNumber(value, numberType, objectData, locale) {\n switch (numberType.type) {\n case \"standard\":\n return formatStandardNumber(value, numberType.baseFormatOptions, locale);\n case \"fixedValues\":\n return numberType.values[value];\n case \"currency\":\n return formatCurrency(value, numberType, objectData, locale);\n case \"standardUnit\":\n return formatStandardUnit(value, numberType, objectData, locale);\n case \"customUnit\":\n return formatCustomUnit(value, numberType, objectData, locale);\n case \"affix\":\n return formatAffix(value, numberType, objectData, locale);\n case \"duration\":\n // TODO (duration is a bit more complex)\n return undefined;\n case \"scale\":\n return formatScale(value, numberType, locale);\n case \"ratio\":\n return formatRatio(value, numberType, locale);\n default:\n numberType;\n return undefined;\n }\n}\nfunction formatStandardNumber(value, options, locale) {\n return formatNumberWithAffixes(value, options, locale);\n}\nfunction formatCurrency(value, rule, objectData, locale) {\n const currencyCode = resolvePropertyReference(rule.currencyCode, objectData);\n if (currencyCode == null) {\n return formatStandardNumber(value, rule.baseFormatOptions, locale);\n }\n const options = {\n ...convertToIntlOptions(rule.baseFormatOptions),\n style: \"currency\",\n currency: currencyCode,\n currencyDisplay: rule.style === \"COMPACT\" ? \"narrowSymbol\" : \"symbol\"\n };\n return formatWithIntl(value, options, locale);\n}\nfunction formatStandardUnit(value, rule, objectData, locale) {\n const unit = resolvePropertyReference(rule.unit, objectData);\n if (unit == null) {\n return formatStandardNumber(value, rule.baseFormatOptions, locale);\n }\n const options = {\n ...convertToIntlOptions(rule.baseFormatOptions),\n style: \"unit\",\n unit: unit\n };\n try {\n return formatWithIntl(value, options, locale);\n } catch (error) {\n const suffix = ` ${unit}`;\n return formatNumberWithAffixes(value, rule.baseFormatOptions, locale, \"\", suffix);\n }\n}\nfunction formatCustomUnit(value, rule, objectData, locale) {\n const unit = resolvePropertyReference(rule.unit, objectData);\n const suffix = unit != null ? ` ${unit}` : \"\";\n return formatNumberWithAffixes(value, rule.baseFormatOptions, locale, \"\", suffix);\n}\nfunction formatAffix(value, rule, objectData, locale) {\n const prefix = rule.affix.prefix != null ? resolvePropertyReference(rule.affix.prefix, objectData) ?? \"\" : \"\";\n const suffix = rule.affix.postfix != null ? resolvePropertyReference(rule.affix.postfix, objectData) ?? \"\" : \"\";\n return formatNumberWithAffixes(value, rule.baseFormatOptions, locale, prefix, suffix);\n}\n\n/**\n * Gets the scale divisor for a given scale type\n */\nfunction getScaleDivisor(scaleType) {\n switch (scaleType) {\n case \"THOUSANDS\":\n return 1e3;\n case \"MILLIONS\":\n return 1e6;\n case \"BILLIONS\":\n return 1e9;\n default:\n scaleType;\n throw new Error(`Unknown scale type: ${scaleType}`);\n }\n}\n\n/**\n * Extracts the localized compact suffix for a given scale.\n * Uses Intl.NumberFormat with compact notation to get the proper i18n suffix.\n */\nfunction getLocalizedCompactSuffix(scaleDivisor, locale) {\n const compactFormatter = new Intl.NumberFormat(locale, {\n notation: \"compact\",\n compactDisplay: \"short\"\n });\n const parts = compactFormatter.formatToParts(scaleDivisor);\n const compactPart = parts.find(p => p.type === \"compact\");\n return compactPart?.value ?? \"\";\n}\nfunction formatScale(value, rule, locale) {\n const scaleDivisor = getScaleDivisor(rule.scaleType);\n const scaledValue = value / scaleDivisor;\n const suffix = getLocalizedCompactSuffix(scaleDivisor, locale);\n return formatNumberWithAffixes(scaledValue, rule.baseFormatOptions, locale, \"\", suffix);\n}\nfunction getRatioScaledValue(value, ratioType) {\n switch (ratioType) {\n case \"PERCENTAGE\":\n return value * 100;\n case \"PER_MILLE\":\n return value * 1000;\n case \"BASIS_POINTS\":\n return value * 10000;\n default:\n ratioType;\n throw new Error(`Unknown ratio type: ${ratioType}`);\n }\n}\nfunction formatRatio(value, rule, locale) {\n // Special case: PERCENTAGE uses Intl's native percent style\n if (rule.ratioType === \"PERCENTAGE\") {\n const options = {\n ...convertToIntlOptions(rule.baseFormatOptions),\n style: \"percent\"\n };\n return formatWithIntl(value, options, locale);\n }\n\n // Other ratio types: scale and add suffix\n const scaledValue = getRatioScaledValue(value, rule.ratioType);\n let suffix;\n switch (rule.ratioType) {\n case \"PER_MILLE\":\n suffix = \"‰\";\n break;\n case \"BASIS_POINTS\":\n suffix = \" bps\";\n break;\n default:\n rule.ratioType;\n throw new Error(`Unknown ratio type: ${rule.ratioType}`);\n }\n return formatNumberWithAffixes(scaledValue, rule.baseFormatOptions, locale, \"\", suffix);\n}\n\n/**\n * Maps notation from OSDK format to Intl format\n */\nfunction mapNotation(notation) {\n switch (notation) {\n case \"STANDARD\":\n return \"standard\";\n case \"SCIENTIFIC\":\n return \"scientific\";\n case \"ENGINEERING\":\n return \"engineering\";\n case \"COMPACT\":\n return \"compact\";\n default:\n notation;\n }\n}\n\n/**\n * Maps rounding mode from OSDK format to Intl format\n */\nfunction mapRoundingMode(mode) {\n switch (mode) {\n case \"CEIL\":\n return \"ceil\";\n case \"FLOOR\":\n return \"floor\";\n case \"ROUND_CLOSEST\":\n return \"halfExpand\";\n default:\n mode;\n return undefined;\n }\n}\nfunction convertToIntlOptions(options) {\n return {\n useGrouping: options.useGrouping,\n minimumIntegerDigits: options.minimumIntegerDigits,\n minimumFractionDigits: options.minimumFractionDigits,\n maximumFractionDigits: options.maximumFractionDigits,\n minimumSignificantDigits: options.minimumSignificantDigits,\n maximumSignificantDigits: options.maximumSignificantDigits,\n notation: options.notation ? mapNotation(options.notation) : undefined,\n roundingMode: options.roundingMode ? mapRoundingMode(options.roundingMode) : undefined,\n convertNegativeToParenthesis: options.convertNegativeToParenthesis\n };\n}\n\n/**\n * Applies negative-to-parenthesis conversion if requested\n */\nfunction maybeConvertNegativeToParenthesis(formatted, value, shouldConvert) {\n if (shouldConvert && value < 0) {\n return formatted.replace(/^-/, \"(\") + \")\";\n }\n return formatted;\n}\n\n/**\n * Formats a number using Intl.NumberFormat with the given options\n */\nfunction formatWithIntl(value, options, locale) {\n const formatter = new Intl.NumberFormat(locale, options);\n const formatted = formatter.format(value);\n return maybeConvertNegativeToParenthesis(formatted, value, options.convertNegativeToParenthesis ?? false);\n}\n\n/**\n * Formats a number and optionally adds prefix/suffix\n */\nfunction formatNumberWithAffixes(value, baseOptions, locale, prefix, suffix) {\n const intlOptions = convertToIntlOptions(baseOptions);\n const formatted = formatWithIntl(value, intlOptions, locale);\n return `${prefix || \"\"}${formatted}${suffix || \"\"}`;\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 { InterfaceDefinitions } from \"../../ontology/OntologyProvider.js\";\nimport { createSimpleCache } from \"../SimpleCache.js\";\nimport { createOsdkInterface } from \"./createOsdkInterface.js\";\nimport { UnderlyingOsdkObject } from \"./InternalSymbols.js\";\n\n/** @internal */\n\nexport const get$as = createSimpleCache(new WeakMap(), $asFactory).get;\nconst osdkObjectToInterfaceView = createSimpleCache(new WeakMap(), () => new Map());\nfunction $asFactory(objDef) {\n // We use the exact same logic for both the interface rep and the underlying rep\n\n return function $as(targetMinDef) {\n let targetInterfaceApiName;\n if (typeof targetMinDef === \"string\") {\n if (targetMinDef === objDef.apiName) {\n return this[UnderlyingOsdkObject];\n }\n\n // this is sufficient to determine if we implement the interface\n if (objDef.interfaceMap?.[targetMinDef] == null) {\n throw new Error(`Object does not implement interface '${targetMinDef}'.`);\n }\n targetInterfaceApiName = targetMinDef;\n } else if (targetMinDef.apiName === objDef.apiName) {\n return this[UnderlyingOsdkObject];\n } else {\n if (targetMinDef.type === \"object\") {\n throw new Error(`'${targetMinDef.apiName}' is not an interface nor is it '${objDef.apiName}', which is the object type.`);\n }\n targetInterfaceApiName = targetMinDef.apiName;\n }\n const def = objDef[InterfaceDefinitions][targetInterfaceApiName];\n if (!def) {\n throw new Error(`Object does not implement interface '${targetInterfaceApiName}'.`);\n }\n const underlying = this[UnderlyingOsdkObject];\n const existing = osdkObjectToInterfaceView.get(underlying).get(targetInterfaceApiName)?.deref();\n if (existing) return existing;\n const osdkInterface = createOsdkInterface(underlying, def.def);\n osdkObjectToInterfaceView.get(underlying).set(targetInterfaceApiName, new WeakRef(osdkInterface));\n return osdkInterface;\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 const InterfaceDefinitions = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinitions\" : undefined);","/*\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 { extractNamespace } from \"../../internal/conversions/extractNamespace.js\";\nimport { get$linkForInterface } from \"./getDollarLink.js\";\nimport { InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject } from \"./InternalSymbols.js\";\n/** @internal */\nexport function createOsdkInterface(underlying, interfaceDef) {\n const [objApiNamespace] = extractNamespace(interfaceDef.apiName);\n return Object.freeze(Object.defineProperties({}, {\n // first to minimize hidden classes\n [UnderlyingOsdkObject]: {\n value: underlying\n },\n \"$apiName\": {\n value: interfaceDef.apiName,\n enumerable: true\n },\n \"$as\": {\n value: underlying.$as,\n enumerable: false\n },\n \"$objectType\": {\n value: underlying.$objectType,\n enumerable: \"$objectType\" in underlying\n },\n \"$primaryKey\": {\n value: underlying.$primaryKey,\n enumerable: \"$primaryKey\" in underlying\n },\n \"$objectSpecifier\": {\n value: underlying.$objectSpecifier,\n enumerable: \"$objectSpecifier\" in underlying\n },\n \"$title\": {\n value: underlying.$title,\n enumerable: \"$title\" in underlying\n },\n \"$rid\": {\n value: underlying.$rid,\n enumerable: \"$rid\" in underlying\n },\n \"$clone\": {\n value: clone,\n enumerable: false\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__metadata\": {\n value: {\n \"ObjectMetadata\": underlying[ObjectDefRef],\n \"InterfaceMetadata\": interfaceDef\n },\n enumerable: false\n },\n \"$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue\": {\n value: underlying.$__EXPERIMENTAL__NOT_SUPPORTED_YET__getFormattedValue,\n enumerable: false\n },\n \"$link\": {\n get: function () {\n return get$linkForInterface(this);\n }\n },\n [InterfaceDefRef]: {\n value: interfaceDef\n },\n ...Object.fromEntries(Object.keys(interfaceDef.properties).map(p => {\n const objDef = underlying[ObjectDefRef];\n const [apiNamespace, apiName] = extractNamespace(p);\n const targetPropName = objDef.interfaceMap[interfaceDef.apiName][p];\n return [apiNamespace === objApiNamespace ? apiName : p, {\n enumerable: targetPropName in underlying,\n value: underlying[targetPropName]\n }];\n }))\n }));\n function clone(update) {\n if (update == null) {\n return underlying.$clone().$as(interfaceDef);\n }\n for (const key of Object.keys(update)) {\n if (!(key in interfaceDef.properties)) {\n throw new Error(`Invalid property ${key} for interface ${interfaceDef.apiName}`);\n }\n }\n const remappedProps = Object.fromEntries(Object.keys(update).map(p => mapProperty(p, update[p])).filter(x => x != null));\n return underlying.$clone(remappedProps).$as(interfaceDef);\n }\n function mapProperty(propertyName, value) {\n const objDef = underlying[ObjectDefRef];\n const targetPropName = objDef.interfaceMap[interfaceDef.apiName][propertyName];\n // If the underlying object does not implement the SPT, throw errors\n if (targetPropName == null) {\n throw new Error(`Cannot clone interface with ${propertyName} as property is not implemented by the underlying object type ${objDef.apiName}`);\n }\n return [targetPropName, value];\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 { getWireObjectSet } from \"../../objectSet/createObjectSet.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../fetchSingle.js\";\nimport { ClientRef, InterfaceDefRef, ObjectDefRef, UnderlyingOsdkObject } from \"./InternalSymbols.js\";\n/** @internal */\nexport function get$link(holder) {\n const client = holder[ClientRef];\n const objDef = holder[ObjectDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(Object.keys(objDef.links).map(linkName => {\n const linkDef = objDef.links[linkName];\n const objectSet = client.objectSetFactory(objDef, client).where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey\n }).pivotTo(linkName);\n const value = !linkDef.multiplicity ? {\n fetchOne: options => fetchSingle(client, objDef, options ?? {}, getWireObjectSet(objectSet)),\n fetchOneWithErrors: options => fetchSingleWithErrors(client, objDef, options ?? {}, getWireObjectSet(objectSet))\n } : objectSet;\n return [linkName, value];\n })));\n}\n\n/** @internal */\nexport function get$linkForInterface(holder) {\n const client = holder[UnderlyingOsdkObject][ClientRef];\n const objDef = holder[UnderlyingOsdkObject][ObjectDefRef];\n const interfaceDef = holder[InterfaceDefRef];\n const rawObj = holder[UnderlyingOsdkObject];\n return Object.freeze(Object.fromEntries(Object.keys(interfaceDef.links).map(linkName => {\n const linkDef = interfaceDef.links[linkName];\n const objectSet = client.objectSetFactory(interfaceDef, client).intersect(client.objectSetFactory(objDef, client).where({\n [objDef.primaryKeyApiName]: rawObj.$primaryKey\n })).pivotTo(linkName);\n const value = !linkDef.multiplicity ? {\n fetchOne: options => fetchSingle(client, objDef, options ?? {}, getWireObjectSet(objectSet)),\n fetchOneWithErrors: options => fetchSingleWithErrors(client, objDef, options ?? {}, getWireObjectSet(objectSet))\n } : objectSet;\n return [linkName, value];\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\n/** @internal */\nexport const UnderlyingOsdkObject = Symbol(process.env.MODE !== \"production\" ? \"Underlying Object\" : undefined);\n\n/** @internal */\nexport const ObjectDefRef = Symbol(process.env.MODE !== \"production\" ? \"ObjectDefinition\" : undefined);\n\n/** @internal */\nexport const InterfaceDefRef = Symbol(process.env.MODE !== \"production\" ? \"InterfaceDefinition\" : undefined);\n\n/** @internal */\nexport const ClientRef = Symbol(process.env.MODE !== \"production\" ? \"ClientRef\" : undefined);","/*\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 { createAsyncClientCache } from \"../object/Cache.js\";\nimport { deepFreeze } from \"../util/deepFreeze.js\";\nimport { loadActionMetadata } from \"./loadActionMetadata.js\";\nimport { loadFullObjectMetadata } from \"./loadFullObjectMetadata.js\";\nimport { loadInterfaceMetadata } from \"./loadInterfaceMetadata.js\";\nimport { loadQueryMetadata } from \"./loadQueryMetadata.js\";\nimport { InterfaceDefinitions } from \"./OntologyProvider.js\";\nexport const createStandardOntologyProviderFactory = client => {\n return client => {\n async function loadObject(client, key) {\n const objectDef = await loadFullObjectMetadata(client, key);\n\n // ensure we have all of the interfaces loaded\n const interfaceDefs = Object.fromEntries((await Promise.all(objectDef.implements?.map(i => ret.getInterfaceDefinition(i)) ?? [])).map(i => [i.apiName, {\n def: i,\n handler: undefined\n }]));\n const fullObjectDef = {\n ...objectDef,\n [InterfaceDefinitions]: interfaceDefs\n };\n return deepFreeze(fullObjectDef);\n }\n async function loadInterface(client, key) {\n return deepFreeze(await loadInterfaceMetadata(client, key));\n }\n async function loadQuery(client, key) {\n return loadQueryMetadata(client, key);\n }\n async function loadAction(client, key) {\n const r = await loadActionMetadata(client, key);\n return r;\n }\n function makeGetter(fn) {\n const cache = createAsyncClientCache((client, key) => fn(client, key, false));\n return async apiName => {\n return await cache.get(client, apiName);\n };\n }\n function makeQueryGetter(client, fn) {\n const queryCache = createAsyncClientCache((client, key) => {\n return fn(client, key);\n });\n return async (apiName, version) => {\n const key = version ? `${apiName}:${version}` : apiName;\n return await queryCache.get(client, key);\n };\n }\n const ret = {\n getObjectDefinition: makeGetter(loadObject),\n getInterfaceDefinition: makeGetter(loadInterface),\n getActionDefinition: makeGetter(loadAction),\n getQueryDefinition: makeQueryGetter(client, loadQuery)\n };\n return ret;\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\n/**\n * A simple cache that can be used to store values for a given client.\n */\n\n/**\n * @internal\n * A simple async cache that can be used to store values for a given client.\n */\n\n/** @internal */\n\n/**\n * @internal\n * Create a new cache without a factory function.\n */\n\n/**\n * @internal\n * Create a new cache with a factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n */\n\nexport function createClientCache(fn) {\n const cache = new WeakMap();\n function get(client, key) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n const r = cache.get(client.clientCacheKey).get(key);\n if (r === undefined && fn !== undefined) {\n return set(client, key, fn(client, key));\n } else {\n return r;\n }\n }\n function set(client, key, value) {\n if (cache.get(client.clientCacheKey) == null) {\n cache.set(client.clientCacheKey, new Map());\n }\n cache.get(client.clientCacheKey).set(key, value);\n return value;\n }\n function remove(client, key) {\n if (cache.get(client.clientCacheKey) == null) return false;\n return cache.get(client.clientCacheKey).delete(key);\n }\n return {\n get,\n set,\n remove\n };\n}\n\n/** @internal */\n\n/**\n * @internal\n * Create a new cache with an async factory function.\n * @param fn A factory function that will be used to create the value if it does not exist in the cache.\n * @returns\n */\nexport function createAsyncClientCache(fn, createCacheLocal = createClientCache) {\n const cache = createCacheLocal();\n const inProgress = createCacheLocal();\n const ret = {\n getOrUndefined: function getOrUndefined(client, key) {\n return cache.get(client, key);\n },\n get: async function get(client, key) {\n return cache.get(client, key) ?? inProgress.get(client, key) ?? ret.set(client, key, fn(client, key));\n },\n set: async function set(client, k, v) {\n // the `.set` happens first to prevent races.\n try {\n const r = await inProgress.set(client, k, v); // returns v\n\n cache.set(client, k, r);\n inProgress.remove(client, k);\n return r;\n } catch (e) {\n // we don't want to cache failures\n inProgress.remove(client, k);\n throw e;\n }\n }\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\nexport function deepFreeze(obj) {\n Object.getOwnPropertyNames(obj).forEach(name => {\n const prop = obj[name];\n if (typeof prop === \"object\" && prop != null && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n return Object.freeze(obj);\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 OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { wireActionTypeV2ToSdkActionMetadata } from \"@osdk/generator-converters\";\nexport async function loadActionMetadata(client, actionType) {\n const r = await OntologiesV2.ActionTypesV2.get(client, await client.ontologyRid, actionType);\n return wireActionTypeV2ToSdkActionMetadata(r);\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 OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { wireObjectTypeFullMetadataToSdkObjectMetadata } from \"@osdk/generator-converters\";\nexport async function loadFullObjectMetadata(client, objectType) {\n const full = await OntologiesV2.ObjectTypesV2.getFullMetadata(client, await client.ontologyRid, objectType, {\n preview: true\n });\n const ret = wireObjectTypeFullMetadataToSdkObjectMetadata(full, true);\n return {\n ...ret\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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition } from \"@osdk/generator-converters\";\nexport async function loadInterfaceMetadata(client, objectType) {\n const r = await OntologiesV2.OntologyInterfaces.get(client, await client.ontologyRid, objectType, {\n preview: true\n });\n return __UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(r, 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 OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { wireQueryTypeV2ToSdkQueryMetadata } from \"@osdk/generator-converters\";\nexport async function loadQueryMetadata(client, queryTypeApiNameAndVersion) {\n const [apiName, version] = queryTypeApiNameAndVersion.split(\":\");\n const r = await OntologiesV2.QueryTypes.get(client, await client.ontologyRid, apiName, {\n version\n });\n return wireQueryTypeV2ToSdkQueryMetadata(r);\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 const USER_AGENT = `osdk-client/${process.env.PACKAGE_VERSION}`;\nexport const OBSERVABLE_USER_AGENT = `osdk-observable-client/${process.env.PACKAGE_VERSION}`;","/*\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 { InterfaceDefinitions } from \"./ontology/OntologyProvider.js\";\n\n/** @internal */\nexport const fetchMetadataInternal = async (client, definition) => {\n if (definition.type === \"object\") {\n const {\n [InterfaceDefinitions]: interfaceDefs,\n ...objectTypeDef\n } = await client.ontologyProvider.getObjectDefinition(definition.apiName);\n return objectTypeDef;\n } else if (definition.type === \"interface\") {\n return client.ontologyProvider.getInterfaceDefinition(definition.apiName);\n } else if (definition.type === \"action\") {\n return client.ontologyProvider.getActionDefinition(definition.apiName);\n } else if (definition.type === \"query\") {\n return client.ontologyProvider.getQueryDefinition(definition.apiName, definition.isFixedVersion ? definition.version : undefined);\n } else {\n throw new Error(\"Not implemented for given definition\");\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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport invariant from \"tiny-invariant\";\nimport { createObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { hydrateAttachmentFromRidInternal } from \"../public-utils/hydrateAttachmentFromRid.js\";\nimport { addUserAgentAndRequestContextHeaders } from \"../util/addUserAgentAndRequestContextHeaders.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { createObjectSpecifierFromInterfaceSpecifier, createObjectSpecifierFromPrimaryKey } from \"../util/objectSpecifierUtils.js\";\nimport { toDataValueQueries } from \"../util/toDataValueQueries.js\";\nexport async function applyQuery(client, query, params) {\n // We fire and forget so if a function has no parameters we don't unnecessarily load all metadata\n const qd = client.ontologyProvider.getQueryDefinition(query.apiName, query.isFixedVersion ? query.version : undefined);\n if (client.flushEdits != null) {\n await client.flushEdits();\n }\n const response = await OntologiesV2.Queries.execute(addUserAgentAndRequestContextHeaders(augmentRequestContext(client, _ => ({\n finalMethodCall: \"applyQuery\"\n })), query), await client.ontologyRid, query.apiName, {\n parameters: params ? await remapQueryParams(params, client, (await qd).parameters) : {}\n }, {\n version: query.isFixedVersion ? query.version : undefined,\n transactionId: client.transactionId\n });\n const objectOutputDefs = await getRequiredDefinitions((await qd).output, client);\n const remappedResponse = await remapQueryResponse(client, (await qd).output, response.value, objectOutputDefs);\n return remappedResponse;\n}\nasync function remapQueryParams(params, client, paramTypes) {\n const parameterMap = {};\n for (const [key, value] of Object.entries(params)) {\n parameterMap[key] = await toDataValueQueries(value, client, paramTypes[key]);\n }\n return parameterMap;\n}\nasync function remapQueryResponse(client, responseDataType, responseValue, definitions) {\n // handle null responses\n if (responseValue == null) {\n if (responseDataType.nullable) {\n return undefined;\n } else {\n throw new Error(\"Got null response when nullable was not allowed\");\n }\n }\n switch (responseDataType.type) {\n case \"union\":\n {\n throw new Error(\"Union return types are not yet supported\");\n }\n case \"array\":\n {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(client, responseDataType.array, responseValue[i], definitions);\n }\n return responseValue;\n }\n case \"set\":\n {\n for (let i = 0; i < responseValue.length; i++) {\n responseValue[i] = await remapQueryResponse(client, responseDataType.set, responseValue[i], definitions);\n }\n return responseValue;\n }\n case \"attachment\":\n {\n return hydrateAttachmentFromRidInternal(client, responseValue);\n }\n case \"object\":\n {\n const def = definitions.get(responseDataType.object);\n if (!def || def.type !== \"object\") {\n throw new Error(`Missing definition for ${responseDataType.object}`);\n }\n return createQueryObjectResponse(responseValue, def);\n }\n case \"interface\":\n {\n const def = definitions.get(responseDataType.interface);\n if (!def || def.type !== \"interface\") {\n throw new Error(`Missing definition for ${responseDataType.interface}`);\n }\n return createQueryInterfaceResponse(responseValue, def);\n }\n case \"objectSet\":\n {\n const def = definitions.get(responseDataType.objectSet);\n if (!def) {\n throw new Error(`Missing definition for ${responseDataType.objectSet}`);\n }\n if (typeof responseValue === \"string\") {\n return createObjectSet(def, client, {\n type: \"intersect\",\n objectSets: [{\n type: \"base\",\n objectType: responseDataType.objectSet\n }, {\n type: \"reference\",\n reference: responseValue\n }]\n });\n }\n return createObjectSet(def, client, responseValue);\n }\n case \"struct\":\n {\n // figure out what keys need to be fixed up\n for (const [key, subtype] of Object.entries(responseDataType.struct)) {\n if (requiresConversion(subtype)) {\n responseValue[key] = await remapQueryResponse(client, subtype, responseValue[key], definitions);\n }\n }\n return responseValue;\n }\n case \"map\":\n {\n const map = {};\n !Array.isArray(responseValue) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Expected array entry\") : invariant(false) : void 0;\n for (const entry of responseValue) {\n !(entry.key != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Expected key\") : invariant(false) : void 0;\n !(entry.value != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Expected value\") : invariant(false) : void 0;\n const key = responseDataType.keyType.type === \"object\" ? getObjectSpecifier(entry.key, responseDataType.keyType.object, definitions) : entry.key;\n const value = await remapQueryResponse(client, responseDataType.valueType, entry.value, definitions);\n map[key] = value;\n }\n return map;\n }\n case \"twoDimensionalAggregation\":\n {\n const result = [];\n for (const {\n key,\n value\n } of responseValue.groups) {\n result.push({\n key,\n value\n });\n }\n return result;\n }\n case \"threeDimensionalAggregation\":\n {\n const result = [];\n for (const {\n key,\n groups\n } of responseValue.groups) {\n const subResult = [];\n for (const {\n key: subKey,\n value\n } of groups) {\n subResult.push({\n key: subKey,\n value\n });\n }\n result.push({\n key,\n groups: subResult\n });\n }\n return result;\n }\n }\n return responseValue;\n}\nasync function getRequiredDefinitions(dataType, client) {\n const result = new Map();\n switch (dataType.type) {\n case \"objectSet\":\n {\n const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.objectSet);\n result.set(dataType.objectSet, objectDef);\n break;\n }\n case \"interfaceObjectSet\":\n {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(dataType.objectSet);\n result.set(dataType.objectSet, interfaceDef);\n break;\n }\n case \"object\":\n {\n const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.object);\n result.set(dataType.object, objectDef);\n break;\n }\n case \"interface\":\n {\n const interfaceDef = await client.ontologyProvider.getInterfaceDefinition(dataType.interface);\n result.set(dataType.interface, interfaceDef);\n break;\n }\n case \"set\":\n {\n return getRequiredDefinitions(dataType.set, client);\n }\n case \"array\":\n {\n return getRequiredDefinitions(dataType.array, client);\n }\n case \"map\":\n {\n const types = [dataType.keyType, dataType.valueType];\n const allDefs = await Promise.all(types.map(value => getRequiredDefinitions(value, client)));\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"struct\":\n {\n const structValues = Object.values(dataType.struct);\n const allDefs = await Promise.all(structValues.map(value => getRequiredDefinitions(value, client)));\n for (const defs of allDefs) {\n for (const [type, objectDef] of defs) {\n result.set(type, objectDef);\n }\n }\n break;\n }\n case \"attachment\":\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"union\":\n break;\n default:\n {\n const _ = dataType;\n break;\n }\n }\n return result;\n}\nfunction requiresConversion(dataType) {\n switch (dataType.type) {\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return false;\n case \"union\":\n return true;\n case \"struct\":\n return Object.values(dataType.struct).some(requiresConversion);\n case \"set\":\n return requiresConversion(dataType.set);\n case \"attachment\":\n case \"objectSet\":\n case \"twoDimensionalAggregation\":\n case \"threeDimensionalAggregation\":\n case \"object\":\n return true;\n default:\n return false;\n }\n}\nfunction getObjectSpecifier(primaryKey, objectTypeApiName, definitions) {\n const def = definitions.get(objectTypeApiName);\n if (!def || def.type !== \"object\") {\n throw new Error(`Missing definition for ${objectTypeApiName}`);\n }\n return createObjectSpecifierFromPrimaryKey(def, primaryKey);\n}\nexport function createQueryObjectResponse(primaryKey, objectDef) {\n return {\n $apiName: objectDef.apiName,\n $title: undefined,\n $objectType: objectDef.apiName,\n $primaryKey: primaryKey,\n $objectSpecifier: createObjectSpecifierFromPrimaryKey(objectDef, primaryKey)\n };\n}\nexport function createQueryInterfaceResponse(interfaceSpecifier, interfaceDef) {\n return {\n $apiName: interfaceDef.apiName,\n $title: undefined,\n $objectType: interfaceSpecifier.objectTypeApiName,\n $primaryKey: interfaceSpecifier.primaryKeyValue,\n $objectSpecifier: createObjectSpecifierFromInterfaceSpecifier(interfaceDef, interfaceSpecifier)\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 * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport { isAttachmentFile, isAttachmentUpload } from \"../object/AttachmentUpload.js\";\nimport { getWireObjectSet, isObjectSet } from \"../objectSet/createObjectSet.js\";\nimport { isInterfaceQueryParam, isInterfaceSpecifier } from \"./interfaceUtils.js\";\nimport { isObjectSpecifiersObject } from \"./isObjectSpecifiersObject.js\";\nimport { extractPrimaryKeyFromObjectSpecifier } from \"./objectSpecifierUtils.js\";\nimport { isWireObjectSet } from \"./WireObjectSet.js\";\n\n/**\n * Marshall user-facing data into the wire DataValue type\n *\n * @see DataValue for the expected payloads\n * @internal\n */\nexport async function toDataValueQueries(value, client, desiredType) {\n if (value == null) {\n return value;\n }\n if (Array.isArray(value) && desiredType.type === \"array\") {\n const values = Array.from(value);\n if (values.some(dataValue => isAttachmentUpload(dataValue) || isAttachmentFile(dataValue))) {\n const converted = [];\n for (const value of values) {\n converted.push(await toDataValueQueries(value, client, desiredType));\n }\n return converted;\n }\n const promiseArray = Array.from(value, async innerValue => await toDataValueQueries(innerValue, client, desiredType.array));\n return Promise.all(promiseArray);\n }\n switch (desiredType.type) {\n case \"attachment\":\n {\n if (isAttachmentUpload(value)) {\n const attachment = await OntologiesV2.Attachments.upload(client, value.data, {\n filename: value.name\n });\n return attachment.rid;\n }\n if (isAttachmentFile(value)) {\n const attachment = await OntologiesV2.Attachments.upload(client, value, {\n filename: value.name\n });\n return attachment.rid;\n }\n\n // If it's not an upload, it's just an attachment rid string which we can pass through\n return value;\n }\n case \"twoDimensionalAggregation\":\n {\n return {\n groups: value\n };\n }\n case \"threeDimensionalAggregation\":\n {\n return {\n groups: value\n };\n }\n case \"set\":\n {\n if (value instanceof Set) {\n const promiseArray = Array.from(value, async innerValue => await toDataValueQueries(innerValue, client, desiredType[\"set\"]));\n return Promise.all(promiseArray);\n }\n break;\n }\n case \"object\":\n {\n if (isObjectSpecifiersObject(value)) {\n return value.$primaryKey;\n }\n break;\n }\n case \"interface\":\n {\n if (isInterfaceSpecifier(value) || isInterfaceQueryParam(value)) {\n return {\n objectTypeApiName: value.$objectType,\n primaryKeyValue: value.$primaryKey\n };\n }\n }\n case \"objectSet\":\n case \"interfaceObjectSet\":\n {\n // object set (the rid as a string (passes through the last return), or the ObjectSet definition directly)\n if (isWireObjectSet(value)) {\n return value;\n }\n if (isObjectSet(value)) {\n return getWireObjectSet(value);\n }\n break;\n }\n case \"map\":\n {\n if (typeof value === \"object\") {\n const entrySet = [];\n for (const [key, mapValue] of Object.entries(value)) {\n entrySet.push({\n key: desiredType.keyType.type === \"object\" ? extractPrimaryKeyFromObjectSpecifier(key) : await toDataValueQueries(key, client, desiredType.keyType),\n value: await toDataValueQueries(mapValue, client, desiredType.valueType)\n });\n }\n return entrySet;\n }\n break;\n }\n case \"struct\":\n {\n if (typeof value === \"object\") {\n const structMap = {};\n for (const [key, structValue] of Object.entries(value)) {\n structMap[key] = await toDataValueQueries(structValue, client, desiredType[\"struct\"][key]);\n }\n return structMap;\n }\n }\n case \"boolean\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"string\":\n case \"timestamp\":\n return value;\n }\n return value;\n}"]}
|