Go to file
p-kona 9be5e2b2a1
Add Notification Type (#1753)
* first commit

* changeset

* update package.json

* tests

* move packages

* checks

* remove idea folder

* remove unnecessary files

* move packages

* changeset

* update imports

* update imports + exports

* update locks
2025-07-25 14:55:40 -04:00
.changeset Add Notification Type (#1753) 2025-07-25 14:55:40 -04:00
.clinerules docs: add comprehensive Memory Bank documentation for Cline (#1714) 2025-07-16 15:24:14 -04:00
.github Add GitHub Copilot instructions with changeset quoting guidelines (#1688) 2025-07-08 09:29:49 -04:00
.husky Dont use husky with cline checkpoints (#1693) 2025-07-08 18:00:40 -04:00
.vscode ObservableClient (#1183) 2025-02-18 17:35:30 -05:00
benchmarks Version Packages (beta) (#1770) 2025-07-24 21:27:23 +00:00
dev-docs initial faq (#743) 2024-09-26 16:22:40 +00:00
docs Confidential client (#488) 2024-07-23 17:13:30 -04:00
etc Add Notification Type (#1753) 2025-07-25 14:55:40 -04:00
examples Use root id rather than body for widgets react-dom (#1651) 2025-06-25 10:37:02 +00:00
examples-extra/docs_example Version Packages (beta) (#1733) 2025-07-15 15:05:46 -04:00
packages Add Notification Type (#1753) 2025-07-25 14:55:40 -04:00
scripts Copy Changelogs from 2.2.x (#1703) 2025-07-10 17:47:09 -04:00
tests Fix CJS bundle and properly test js runtme (#1175) 2025-02-05 14:55:55 -05:00
.bulldozer.yml Create .bulldozer.yml (#12) 2024-01-31 13:21:18 +00:00
.clineignore docs: add comprehensive Memory Bank documentation for Cline (#1714) 2025-07-16 15:24:14 -04:00
.envrc.sample Drop Next.js templates (#1278) 2025-03-07 16:45:31 +00:00
.gitignore docs: add comprehensive Memory Bank documentation for Cline (#1714) 2025-07-16 15:24:14 -04:00
.lintstagedrc.mjs Add expo template to create-app (#1021) 2024-12-06 08:37:32 -05:00
.monorepolint.config.mjs Add MRL rule for beta releases (#1670) 2025-06-27 13:19:58 -04:00
.node-version Actually fix script for foundry-sdk-generator (#499) 2024-07-19 11:33:38 -04:00
.nvmrc Actually fix script for foundry-sdk-generator (#499) 2024-07-19 11:33:38 -04:00
.pnpmfile.cjs Update some transitive deps (#827) 2024-10-09 12:29:21 -04:00
README.md Readme (#1611) 2025-06-12 09:26:48 -04:00
RELEASING.md Ea.release script (#203) 2024-04-19 13:13:12 -04:00
babel.config.mjs Fixes process.env.NODE_ENV handling (#904) 2024-10-23 10:40:11 -04:00
cspell.config.cjs Introduce spell checking into builds (#492) 2024-07-18 10:33:25 -04:00
dprint.json upgrade templates to eslint 9 (#929) 2024-10-25 15:09:24 -04:00
eslint.config.mjs Quite eslint some (#1181) 2025-02-24 16:09:16 -05:00
google-font-mocked-response.js Provide workaround for nextjs 2024-03-06 14:53:03 -05:00
jsconfig.json Initial public version 2023-09-27 15:15:29 -04:00
package.json Add MRL rule for beta releases (#1670) 2025-06-27 13:19:58 -04:00
pnpm-lock.yaml Add Notification Type (#1753) 2025-07-25 14:55:40 -04:00
pnpm-workspace.yaml Starts a benchmarking suite (#1032) 2024-12-05 08:51:54 -05:00
turbo.json [Functions] Fix exports (#1301) 2025-03-18 14:42:43 -04:00

README.md

TypeScript Ontology SDK

@osdk/client client npm version · @osdk/api api npm version · @osdk/foundry-sdk-generator foundry-sdk-generator npm version · @osdk/oauth oauth npm version

Getting Started

The TypeScript SDK is a library used for interacting with Palantir's Ontology.

To get started, visit the developer console application on your Foundry stack, or visit our public documentation.

Do you only want to hit specific APIs or don't need a generated SDK? Check out the foundry-platform-typescript package, which provides standalone APIs to interact with Foundry directly without the need to generate ontology-specific SDKs.

Frontend quick start with @osdk/create-app

See the instructions on how to get set up quickly with a frontend application in our public documentation.

Installation

Install the client and auth packages via npm:

npm install @osdk/client
npm install @osdk/oauth

Client Overview

Once you have generated an SDK in your Developer Console application, you need to create your token provider via OAuth. This token provider is supplied by creating the auth provider from the @osdk/oauth package. Once you have your token provider set up, you can pass the authentication instance when creating the client.

OAuth Instructions

Public Client

To create a public client, you will need to create an application in the Developer Console app on your Foundry stack. You will need the client ID as well as the base URL of your Foundry stack and a redirect URL that you can configure in Developer Console.

import { createPublicOauthClient } from "@osdk/oauth";

const auth = createPublicOauthClient(
  "<YOUR CLIENT ID>",
  "<YOUR FOUNDRY URL>",
  "http://redirect-url",
);

For more details, refer to the documentation provided in your Developer Console application.

Confidential Client

To create a confidential client, follow the steps to create a service user in the Developer Console. You will need the client ID, client secret, and the base URL of your Foundry stack.

import { createConfidentialOauthClient } from "@osdk/oauth";

const auth = createConfidentialOauthClient(
  "<YOUR CLIENT ID>",
  "<YOUR CLIENT SECRET>",
  "<YOUR FOUNDRY URL>",
);

For more details, refer to the public docs or documentation in the Developer Console application.

Creating Your Client

import { createClient } from "@osdk/client";

const client = createClient(
  "https://stack.palantir.com",
  "ri.foundry.main",
  auth, // This is the auth that we created above.
);

For more details, refer to the public docs or documentation in the Developer Console application.

Dev workflow

  1. Fork the repo

  2. Create a branch

  3. pnpm install

  4. Add your code

  5. Run all lint rules and tests with pnpm check from root. Run pnpm turbo typecheck to quickly check any issues with your types.

  6. Add a changeset

    📘 Note Follow semver rules here.

    1. Assuming you've run pnpm install, run changeset (or pnpm exec changeset).
    2. The tool will split things into changed vs unchanged packages (which you may need if you decide to add changeset logs in a future PR for past features)
    3. Select the packages you want the changeset applied to using the arrow keys (up/down) and space-bar to "select" the package.
    4. Press enter to continue.
    5. The CLI will go through a progression of asking you which packages you previously selected need a major bump? Then a minor bump? Patch bumps assumed for remaining packages changed. Arrows and space bar to select. Enter to continue (even if you selected nothing).
    6. Enter a change (or press enter on empty to open your editor.)

    Info Full docs on the changesets tool can be found at the changesets/changesets github repo.

  7. If you're curious what the final build output might look like you can run pnpm build from root.

Publishing

  1. Install the GitHub CLI
  2. gh auth login to authenticate with github.com
  3. pnpm install
  4. ./scripts/createReleasePr.sh
  5. Once your release PR has been merged, run /scripts/tag-release.sh [COMMIT_SHA] to tag your release.