OSDK fails to release because of unsupported query data type

I suddenly started getting this error when trying to create a new release of my OSDK application:

Error: Unable to process query because the server indicated an unsupported QueryDataType.type: unsupported. Please check that your query is using supported types.

The error has occurred multiple times and does not appear to be transitory. Please help. This is blocking release of new features.


Full logs:

INFO  [2025-05-28T16:34:46.810911Z] foundry-telemetry-sidecar: Node version: v20.19.2 {} {} 
INFO  [2025-05-28T16:34:46.810917Z] foundry-telemetry-sidecar: NPM version: 11.4.1 {} {} 
INFO  [2025-05-28T16:34:46.810932Z] foundry-telemetry-sidecar: Working directory: /var/data {} {} 
INFO  [2025-05-28T16:34:46.810932Z] foundry-telemetry-sidecar: NPM Install registry: https://waypoint-envoy.rubix-system.svc.cluster.local:8443/compute/fc27e2/foundry/foundry-artifacts-api-mesh/artifacts/api/repositories/ri.foundry-sdk-asset-bundle.main.artifacts.repository/contents/release/npm/ {} {} 
INFO  [2025-05-28T16:34:46.810933Z] foundry-telemetry-sidecar: NPM package name: @vicki/sdk {} {} 
INFO  [2025-05-28T16:34:46.810933Z] foundry-telemetry-sidecar: NPM Publishing registry: https://waypoint-envoy.rubix-system.svc.cluster.local:8443/compute/fc27e2/foundry/foundry-artifacts-api-mesh/artifacts/api/repositories/ri.artifacts.main.repository.c0c5454c-a321-4017-bd3c-5eae488d3c8b/contents/release/npm/ {} {} 
INFO  [2025-05-28T16:34:46.810934Z] foundry-telemetry-sidecar: NPM package version: 0.46.0 {} {} 
INFO  [2025-05-28T16:34:46.810934Z] foundry-telemetry-sidecar: NPM generator version: 2.1.5 {} {} 
INFO  [2025-05-28T16:34:46.810934Z] foundry-telemetry-sidecar: Enable beta features: false {} {} 
INFO  [2025-05-28T16:34:46.810935Z] foundry-telemetry-sidecar: Ontology rid: ri.ontology.main.ontology.76c90752-177d-45ee-baf9-f4f2d2660316 {} {} 
INFO  [2025-05-28T16:34:46.810935Z] foundry-telemetry-sidecar: Object types: Threads OpenTracingEventModel Contacts XReasonTrainingData OpenTracingResourceModel OpenTracingSpanModel Communications OpenTracingLinkModel MachineExecutions CommunicationsTrainingData MemoryRecall {} {} 
INFO  [2025-05-28T16:34:46.810935Z] foundry-telemetry-sidecar: Link types:  {} {} 
INFO  [2025-05-28T16:34:46.810936Z] foundry-telemetry-sidecar: Action types: create-threads create-communication-tasks-with-vici collect-telemetry create-machine-executions modify-threads delete-threads upsert-state-action {} {} 
INFO  [2025-05-28T16:34:46.810936Z] foundry-telemetry-sidecar: Query types: getProjectFilesOsdk vickieForAutomate createTaskOsdk executeTaskList sendEmailOsdk resolveUnavailableAttendeesOsdk createSalesTasksFunction sendSlackMessageOsdk askBennie createCommunicationsTasksFunction getAvailableMeetingTimesOsdk writeEmailOsdk gpt4oProxy getComsState getComsEmailParams writeSlackMessageOsdk scheduleMeetingOsdk upsertState getProjectStatusReportOsdk {} {} 
INFO  [2025-05-28T16:34:46.810937Z] foundry-telemetry-sidecar:  {} {} 
INFO  [2025-05-28T16:34:46.810937Z] foundry-telemetry-sidecar: Interface types:  {} {} 
INFO  [2025-05-28T16:34:46.810937Z] foundry-telemetry-sidecar: Creating .npmrc for installation {} {} 
INFO  [2025-05-28T16:34:46.810938Z] foundry-telemetry-sidecar: Created .npmrc for installation {} {} 
INFO  [2025-05-28T16:34:46.810938Z] foundry-telemetry-sidecar: Installing @osdk/foundry-sdk-generator {} {} 
INFO  [2025-05-28T16:34:50.840411Z] foundry-telemetry-sidecar:  {} {} 
INFO  [2025-05-28T16:34:50.840417Z] foundry-telemetry-sidecar: added 107 packages in 5s {} {} 
INFO  [2025-05-28T16:34:50.840433Z] foundry-telemetry-sidecar:  {} {} 
INFO  [2025-05-28T16:34:50.840579Z] foundry-telemetry-sidecar: 20 packages are looking for funding {} {} 
INFO  [2025-05-28T16:34:50.840580Z] foundry-telemetry-sidecar:   run `npm fund` for details {} {} 
INFO  [2025-05-28T16:34:50.856420Z] foundry-telemetry-sidecar: Installed @osdk/foundry-sdk-generator {} {} 
INFO  [2025-05-28T16:34:50.856444Z] foundry-telemetry-sidecar: Installation complete {} {} 
INFO  [2025-05-28T16:34:50.856445Z] foundry-telemetry-sidecar: Running reverse proxy {} {} 
INFO  [2025-05-28T16:34:50.856745Z] foundry-telemetry-sidecar: Generating package {} {} 
INFO  [2025-05-28T16:34:51.267410Z] foundry-telemetry-sidecar: Proxying to https://waypoint-envoy.rubix-system.svc.cluster.local:8443/compute/c7d7b3/foundry/api-gateway/api on port 5716 {} {} 
INFO  [2025-05-28T16:34:52.407176Z] foundry-telemetry-sidecar: ◐ Generating OSDK: @vicki/sdk at version: 0.46.0 {} {} 
INFO  [2025-05-28T16:34:53.393834Z] foundry-telemetry-sidecar: ℹ "vector" is not a supported propertyType {} {} 
INFO  [2025-05-28T16:34:53.562642Z] foundry-telemetry-sidecar: foundry-sdk-generator generatePackage {} {} 
INFO  [2025-05-28T16:34:53.562664Z] foundry-telemetry-sidecar:  {} {} 
INFO  [2025-05-28T16:34:53.562665Z] foundry-telemetry-sidecar: Generates a new npm package which can be published {} {} 
INFO  [2025-05-28T16:34:53.562666Z] foundry-telemetry-sidecar:  {} {} 
INFO  [2025-05-28T16:34:53.562667Z] foundry-telemetry-sidecar: Positionals: {} {} 
INFO  [2025-05-28T16:34:53.562835Z] foundry-telemetry-sidecar:   authToken                                                             [string] {} {} 
INFO  [2025-05-28T16:34:53.562836Z] foundry-telemetry-sidecar:   foundryHostname                                                       [string] {} {} 
INFO  [2025-05-28T16:34:53.562837Z] foundry-telemetry-sidecar:   packageName      The name of the package to generate                  [string] {} {} 
INFO  [2025-05-28T16:34:53.562900Z] foundry-telemetry-sidecar:   packageVersion   The version of the package to generate               [string] {} {} 
INFO  [2025-05-28T16:34:53.563016Z] foundry-telemetry-sidecar:   outputDir        The path where the package with the provided package name wil {} {} 
INFO  [2025-05-28T16:34:53.563050Z] foundry-telemetry-sidecar:                    l be generated                                       [string] {} {} 
INFO  [2025-05-28T16:34:53.563145Z] foundry-telemetry-sidecar:   ontology         The ontology rid or ontology API name of the ontology to gene {} {} 
INFO  [2025-05-28T16:34:53.563185Z] foundry-telemetry-sidecar:                    rate. Example Usage: --ontology palantirOntology {} {} 
INFO  [2025-05-28T16:34:53.563256Z] foundry-telemetry-sidecar:   [string] [default: "ri.ontology.main.ontology.00000000-0000-0000-0000-00000000 {} {} 
INFO  [2025-05-28T16:34:53.563320Z] foundry-telemetry-sidecar:                                                                           0000"] {} {} 
INFO  [2025-05-28T16:34:53.563321Z] foundry-telemetry-sidecar: Options: {} {} 
INFO  [2025-05-28T16:34:53.563321Z] foundry-telemetry-sidecar:  {} {} 
INFO  [2025-05-28T16:34:53.563405Z] foundry-telemetry-sidecar:   --help                  Show help                                    [boolean] {} {} 
INFO  [2025-05-28T16:34:53.563484Z] foundry-telemetry-sidecar:   --version               Show version number                          [boolean] {} {} 
INFO  [2025-05-28T16:34:53.563555Z] foundry-telemetry-sidecar:   --objectTypes           The API names of the object types to generate. Example {} {} 
INFO  [2025-05-28T16:34:53.563598Z] foundry-telemetry-sidecar:                            Usage: --objectTypes Aircraft Airport {} {} 
INFO  [2025-05-28T16:34:53.563663Z] foundry-telemetry-sidecar:       [array] [default: By default, no arguments will not load any object type.] {} {} 
INFO  [2025-05-28T16:34:53.563755Z] foundry-telemetry-sidecar:   --actionTypes           The API names of the action types to generate. Example {} {} 
INFO  [2025-05-28T16:34:53.563790Z] foundry-telemetry-sidecar:                            Usage: --actionTypes schedule-airplane-maintenance {} {} 
INFO  [2025-05-28T16:34:53.563887Z] foundry-telemetry-sidecar:       [array] [default: By default, no arguments will not load any action type.] {} {} 
INFO  [2025-05-28T16:34:53.563924Z] foundry-telemetry-sidecar:   --linkTypes             The link types to generate in the format of ObjectType {} {} 
INFO  [2025-05-28T16:34:53.564047Z] foundry-telemetry-sidecar:                           ApiName.LinkTypeApiName. Example Usage: --linkTypes Ai {} {} 
INFO  [2025-05-28T16:34:53.564049Z] foundry-telemetry-sidecar:                           rcraft.scheduledFlight {} {} 
INFO  [2025-05-28T16:34:53.564137Z] foundry-telemetry-sidecar:         [array] [default: By default, no arguments will not load any link type.] {} {} 
INFO  [2025-05-28T16:34:53.564228Z] foundry-telemetry-sidecar:   --queryTypes            The API Names of the query types to generate. Example {} {} 
INFO  [2025-05-28T16:34:53.564264Z] foundry-telemetry-sidecar:                           Usage: --queryTypes calculateMetric {} {} 
INFO  [2025-05-28T16:34:53.565158Z] foundry-telemetry-sidecar:        [array] [default: By default, no arguments will not load any query type.] {} {} 
INFO  [2025-05-28T16:34:53.565160Z] foundry-telemetry-sidecar:   --interfaceTypes        The API Names of the interface types to generate. Exam {} {} 
INFO  [2025-05-28T16:34:53.565161Z] foundry-telemetry-sidecar:                           ple Usage: --interfaceTypes Geolocatable {} {} 
INFO  [2025-05-28T16:34:53.565161Z] foundry-telemetry-sidecar:    [array] [default: By default, no arguments will not load any interface type.] {} {} 
INFO  [2025-05-28T16:34:53.565162Z] foundry-telemetry-sidecar:   --experimentalFeatures  Experimental features that can be modified or removed {} {} 
INFO  [2025-05-28T16:34:53.565162Z] foundry-telemetry-sidecar:                           at any time. Example Usage: --experimentalFeatures rea {} {} 
INFO  [2025-05-28T16:34:53.565163Z] foundry-telemetry-sidecar:                                                                         atures.] {} {} 
INFO  [2025-05-28T16:34:53.565163Z] foundry-telemetry-sidecar:                           ltimeUpdates {} {} 
INFO  [2025-05-28T16:34:53.565163Z] foundry-telemetry-sidecar:   [array] [default: By default, no arguments will not enable any experimental fe {} {} 
INFO  [2025-05-28T16:34:53.565164Z] foundry-telemetry-sidecar: Error: Unable to process query because the server indicated an unsupported QueryDataType.type: unsupported. Please check that your query is using supported types. {} {} 
INFO  [2025-05-28T16:34:53.565164Z] foundry-telemetry-sidecar:  {} {} 
INFO  [2025-05-28T16:34:53.565165Z] foundry-telemetry-sidecar:     at wireQueryDataTypeToQueryDataTypeDefinition (file:///var/data/node_modules/@osdk/generator-converters/build/esm/wireQueryDataTypeToQueryDataTypeDefinition.js:100:13) {} {} 
INFO  [2025-05-28T16:34:53.565330Z] foundry-telemetry-sidecar:     at wireQueryDataTypeToQueryDataTypeDefinition (file:///var/data/node_modules/@osdk/generator-converters/build/esm/wireQueryDataTypeToQueryDataTypeDefinition.js:64:16) {} {} 
INFO  [2025-05-28T16:34:53.565398Z] foundry-telemetry-sidecar:     at wireQueryParameterV2ToQueryParameterDefinition (file:///var/data/node_modules/@osdk/generator-converters/build/esm/wireQueryTypeV2ToSdkQueryMetadata.js:43:8) {} {} 
INFO  [2025-05-28T16:34:53.565542Z] foundry-telemetry-sidecar:     at * (file:///var/data/node_modules/@osdk/generator/build/esm/v2.0/generatePerQueryDataFiles.js:69:17) {} {} 
INFO  [2025-05-28T16:34:53.565625Z] foundry-telemetry-sidecar:     at stringify (file:///var/data/node_modules/@osdk/generator/build/esm/util/stringify.js:41:74) {} {} 
INFO  [2025-05-28T16:34:53.565732Z] foundry-telemetry-sidecar:     at generateV2QueryFile (file:///var/data/node_modules/@osdk/generator/build/esm/v2.0/generatePerQueryDataFiles.js:67:15) {} {} 
INFO  [2025-05-28T16:34:53.565813Z] foundry-telemetry-sidecar:     at file:///var/data/node_modules/@osdk/generator/build/esm/v2.0/generatePerQueryDataFiles.js:38:11 {} {} 
INFO  [2025-05-28T16:34:53.565847Z] foundry-telemetry-sidecar:     at Array.map (<anonymous>) {} {} 
INFO  [2025-05-28T16:34:53.565942Z] foundry-telemetry-sidecar:     at generatePerQueryDataFilesV2 (file:///var/data/node_modules/@osdk/generator/build/esm/v2.0/generatePerQueryDataFiles.js:37:56) {} {} 
INFO  [2025-05-28T16:34:53.566072Z] foundry-telemetry-sidecar:     at async generateClientSdkVersionTwoPointZero (file:///var/data/node_modules/@osdk/generator/build/esm/v2.0/generateClientSdkVersionTwoPointZero.js:57:3) {} {} 
…
Switch to tabular view for the rest of the logs.
…

Hi! Was there a change to any of the imported queries, specifically to their input or output params? Currently, when generating an OSDK with a query, the OSDK will always pick the latest version of the query. So, if the query previously had supported input/output types and has changed to have unsupported ones that would break generation.
You can find a list of unsupported function/query outputs here: https://www.palantir.com/docs/foundry/ontology-sdk/unsupported-types#function-output-types
and it’s probably safe to bet that unsupported object properties are also unsupported query input/outputs: https://www.palantir.com/docs/foundry/ontology-sdk/unsupported-types#typescript-sdk

I will check later tonight. There were some changes to outputs in this release.

I do have one object that has a property of type vector, but it’s been in this SDK for a long time.


The docs state: “If you use an object type with a property of a type which is listed below, the code generator will skip that property and log the error.”. So I assume this would not cause a failure to generate the SDK.

None of my functions accept unsupported types. Some functions return custom types which are below:

interface SalesForgeTaskListResponse {
    status: Integer;
    message: string;
    executionId: string;
    taskList?: string;
    error?: string;
}

export interface ComsContext {
    requestId: string;
    status: Integer;
    stateId: string,
    stateName: string,
    stack?: string[];
    solution?: string;
    response?: string;
    slackMessage?: string;
    meetingTimes?: string;
    meetingSubject?: string;
    meetingAgenda?: string;
    meetingDuration?: Integer;
    meetingAllAvailable?: boolean;
    scheduledMeeting?: string;
    projectId?: string;
    projectEstimatedCompletionDate?: LocalDate;
    projectSprintsRemaining?: Integer;
    emailId?: string;
    emailThreadId?: string;
    emailLabels?: string;
    emailMessage?: string,
    emailSubject?: string,
    emailRecipients?: string,
    modelDialog?: string,
    files?: string;
    error?: string;
}

But all these have supported types. Please advise.

Hi! That’s strange. Can you try regenerating with TS version 2.1.2 and see if the issue persists? That would let us know if the issue has to do with a change between TS osdk v2.1.2->2.1.5 or if the issue is related to a change in the ontology data entities you’re using for generation.
Can you also try hitting this ontology metadata endpoint, filling in the blanks for your hostname, ontology rid, token, and the list of queries you’re using in your osdk, and inspecting the parameters and output of the functions? Then cross referencing those with the unsupported types? Here’s an example curl:

curl -X POST "<your hostname>/api/v2/ontologies/<ontology rid>/metadata?preview=true" \
-H "Authorization: Bearer {{TOKEN}}" \
-H "Content-Type: application/json" \
-d '{
  "objectTypes": [],
  "linkTypes": [],
  "actionTypes": [],
  "queryTypes": [<query type api names>],
  "interfaceTypes": []
}'

The response will look something like

{
  "ontology": {
    "apiName": "my_ontology",
    "displayName": "MyOntology",
    "description": " My Ontology",
    "rid": "ri.ontology.main.ontology.123"
  },
  "objectTypes": {},
  "actionTypes": {},
  "queryTypes": {
    "myQuery": {
      "apiName": "myQuery",
      "displayName": "myQuery",
      "parameters": {
        "A": {
          "dataType": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "object",
        "objectApiName": "B",
        "objectTypeApiName": "B"
      },
      "rid": "ri.function-registry.main.function.abc",
      "version": "0.1.0"
    }
  },
  "interfaceTypes": {},
  "sharedPropertyTypes": {}
}

Thanks for the response. I’ll try later tonight and post the response.


This issue is still there with 2.1.2. I ran the cURL and will post the output to the internal support ticket. I didn’t see anything unsupported.

I left the response from the cURL in the ticket in the internal support ticket.

After analysing the output of the cURL request, we can see the unsupported type is an input parameter to the upsertState function, which has been in my SDK for a while: Full function declaration:

@Query({ apiName: "upsertState" })
    @ExternalSystems({ sources: [FoundryApis, Slack, OpenAICodeStrapEng] })
    @Trace({
        resource: {
            service_name: 'vickie',
            service_instance_id: 'production',
            telemetry_sdk_name: 'xreason-functions',
            telemetry_sdk_version: '7.0.2',
            host_hostname: 'REDACTED',
            host_architecture: 'prod',
        },
        operationName: 'upsertState',
        kind: 'Server',
        samplingDecision: 'RECORD_AND_SAMPLE',
        samplingRate: 1.0,
        attributes: { endpoint: '/api/v2/ontologies/ontology-c0c8a326-cd0a-4f69-a575-b0399c04b74d/queries/upsertState/execute' }
    })
    public async upsertState(
        plan?: string,
        forward: boolean = true,
        executionId?: string,
        inputs: string = '{}',
        xreason: string = SupportedEngines.COMS,
        // We pass machine execution because of this issue:
        // https://community.palantir.com/t/is-there-an-eventually-consistency-problem-in-the-ontology-when-executing-fetch-vs-edits/4015/2        // it can be removed if that issue is ever solved
        machineExecution?: MachineExecutions): Promise<MachineExecutions> {...}

I am 90% sure it’s this parameter: machineExecution?: MachineExecutions that is throwing it off. I had to add that parameter recently as a workaround to an eventual consistency problem, which you can read about here: https://community.palantir.com/t/is-there-an-eventually-consistency-problem-in-the-ontology-when-executing-fetch-vs-edits/4015/1. So, I introduced this parameter to pass the updated object directly, and that is when things started breaking.

I see that OntologyEdits is an unsupported parameter type for TypeScript functions:

  • Principal User
  • Notification
  • OntologyEdit
  • ClassificationMarking

In my case, I do read and edit an ontology object, then pass it to the upsertState function to get around the eventual consistency issue. I assume that is what is causing the OSDK generation to fail (assuming that’s what OntologyEdit is).

The challenge I am now facing is how to handle cases where I need to read after write. If the OSDK can’t support passing the object as a parameter to this function I may have to create a separate function that copies the behavior of the original until this read after write issue is figured out.