@osdk/react 0.8.0-beta.1 → 0.8.0-beta.3

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.
Files changed (71) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/build/browser/intellisense.test.helpers/useOsdkObjectsWithPivot.js +35 -0
  3. package/build/browser/intellisense.test.helpers/useOsdkObjectsWithPivot.js.map +1 -0
  4. package/build/browser/intellisense.test.helpers/useOsdkObjectsWithProperties.js +34 -0
  5. package/build/browser/intellisense.test.helpers/useOsdkObjectsWithProperties.js.map +1 -0
  6. package/build/browser/intellisense.test.js +148 -0
  7. package/build/browser/intellisense.test.js.map +1 -0
  8. package/build/browser/new/types.js +2 -0
  9. package/build/browser/new/types.js.map +1 -0
  10. package/build/browser/new/useLinks.js +14 -5
  11. package/build/browser/new/useLinks.js.map +1 -1
  12. package/build/browser/new/useObjectSet.js +31 -19
  13. package/build/browser/new/useObjectSet.js.map +1 -1
  14. package/build/browser/new/useOsdkAggregation.js +83 -0
  15. package/build/browser/new/useOsdkAggregation.js.map +1 -0
  16. package/build/browser/new/useOsdkObject.js +23 -6
  17. package/build/browser/new/useOsdkObject.js.map +1 -1
  18. package/build/browser/new/useOsdkObjects.js +38 -15
  19. package/build/browser/new/useOsdkObjects.js.map +1 -1
  20. package/build/browser/public/experimental.js +2 -0
  21. package/build/browser/public/experimental.js.map +1 -1
  22. package/build/browser/utils/useDebouncedCallback.js +81 -0
  23. package/build/browser/utils/useDebouncedCallback.js.map +1 -0
  24. package/build/cjs/public/experimental.cjs +177 -44
  25. package/build/cjs/public/experimental.cjs.map +1 -1
  26. package/build/cjs/public/experimental.d.cts +225 -19
  27. package/build/esm/intellisense.test.helpers/useOsdkObjectsWithPivot.js +35 -0
  28. package/build/esm/intellisense.test.helpers/useOsdkObjectsWithPivot.js.map +1 -0
  29. package/build/esm/intellisense.test.helpers/useOsdkObjectsWithProperties.js +34 -0
  30. package/build/esm/intellisense.test.helpers/useOsdkObjectsWithProperties.js.map +1 -0
  31. package/build/esm/intellisense.test.js +148 -0
  32. package/build/esm/intellisense.test.js.map +1 -0
  33. package/build/esm/new/types.js +2 -0
  34. package/build/esm/new/types.js.map +1 -0
  35. package/build/esm/new/useLinks.js +14 -5
  36. package/build/esm/new/useLinks.js.map +1 -1
  37. package/build/esm/new/useObjectSet.js +31 -19
  38. package/build/esm/new/useObjectSet.js.map +1 -1
  39. package/build/esm/new/useOsdkAggregation.js +83 -0
  40. package/build/esm/new/useOsdkAggregation.js.map +1 -0
  41. package/build/esm/new/useOsdkObject.js +23 -6
  42. package/build/esm/new/useOsdkObject.js.map +1 -1
  43. package/build/esm/new/useOsdkObjects.js +38 -15
  44. package/build/esm/new/useOsdkObjects.js.map +1 -1
  45. package/build/esm/public/experimental.js +2 -0
  46. package/build/esm/public/experimental.js.map +1 -1
  47. package/build/esm/utils/useDebouncedCallback.js +81 -0
  48. package/build/esm/utils/useDebouncedCallback.js.map +1 -0
  49. package/build/types/intellisense.test.d.ts +1 -0
  50. package/build/types/intellisense.test.d.ts.map +1 -0
  51. package/build/types/intellisense.test.helpers/useOsdkObjectsWithPivot.d.ts +1 -0
  52. package/build/types/intellisense.test.helpers/useOsdkObjectsWithPivot.d.ts.map +1 -0
  53. package/build/types/intellisense.test.helpers/useOsdkObjectsWithProperties.d.ts +1 -0
  54. package/build/types/intellisense.test.helpers/useOsdkObjectsWithProperties.d.ts.map +1 -0
  55. package/build/types/new/types.d.ts +5 -0
  56. package/build/types/new/types.d.ts.map +1 -0
  57. package/build/types/new/useLinks.d.ts +20 -0
  58. package/build/types/new/useLinks.d.ts.map +1 -1
  59. package/build/types/new/useObjectSet.d.ts +38 -4
  60. package/build/types/new/useObjectSet.d.ts.map +1 -1
  61. package/build/types/new/useOsdkAggregation.d.ts +67 -0
  62. package/build/types/new/useOsdkAggregation.d.ts.map +1 -0
  63. package/build/types/new/useOsdkObject.d.ts +4 -2
  64. package/build/types/new/useOsdkObject.d.ts.map +1 -1
  65. package/build/types/new/useOsdkObjects.d.ts +77 -11
  66. package/build/types/new/useOsdkObjects.d.ts.map +1 -1
  67. package/build/types/public/experimental.d.ts +3 -0
  68. package/build/types/public/experimental.d.ts.map +1 -1
  69. package/build/types/utils/useDebouncedCallback.d.ts +34 -0
  70. package/build/types/utils/useDebouncedCallback.d.ts.map +1 -0
  71. package/package.json +10 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/new/OsdkContext2.ts","../../../src/new/OsdkProvider2.tsx","../../../src/new/makeExternalStore.ts","../../../src/new/useLinks.ts","../../../src/new/useObjectSet.tsx","../../../src/new/useOsdkAction.ts","../../../src/new/useOsdkObject.ts","../../../src/new/useOsdkObjects.ts"],"names":["useMemo","createObservableClient","React","OsdkContext","computeObjectSetCacheKey","applyAction","args","ActionValidationError","validateAction"],"mappings":"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","file":"experimental.cjs","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nfunction fakeClientFn(..._args) {\n throw new Error(\"This is not a real client. Did you forget to <OsdkContext.Provider>?\");\n}\nconst fakeClient = Object.assign(fakeClientFn, {\n fetchMetadata: fakeClientFn\n});\nexport const OsdkContext2 = /*#__PURE__*/React.createContext({\n client: fakeClient,\n observableClient: undefined\n});","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createObservableClient } from \"@osdk/client/unstable-do-not-use\";\nimport React, { useMemo } from \"react\";\nimport { OsdkContext } from \"../OsdkContext.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nexport function OsdkProvider2({\n children,\n client,\n observableClient\n}) {\n observableClient = useMemo(() => observableClient ?? createObservableClient(client), [client, observableClient]);\n return /*#__PURE__*/React.createElement(OsdkContext2.Provider, {\n value: {\n client,\n observableClient\n }\n }, /*#__PURE__*/React.createElement(OsdkContext.Provider, {\n value: {\n client\n }\n }, children));\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 makeExternalStore(createObservation, name) {\n let lastResult;\n function getSnapShot() {\n return lastResult;\n }\n function subscribe(notifyUpdate) {\n const obs = createObservation({\n next: payload => {\n lastResult = payload;\n notifyUpdate();\n },\n error: error => {\n lastResult = {\n ...(lastResult ?? {}),\n error: error instanceof Error ? error : new Error(String(error))\n };\n notifyUpdate();\n },\n complete: () => {}\n });\n return () => {\n obs.unsubscribe();\n };\n }\n return {\n subscribe,\n getSnapShot\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 React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nconst emptyArray = Object.freeze([]);\n\n/**\n * Hook to observe links from an object or array of objects.\n *\n * @param objects The source object(s) to observe links from\n * @param linkName The name of the link to observe\n * @param options Optional configuration for the link query\n * @returns UseLinksResult with links data and metadata\n */\nexport function useLinks(objects, linkName, options = {}) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n\n // Convert single object to array for consistent handling\n const objectsArray = React.useMemo(() => {\n return objects === undefined ? emptyArray : Array.isArray(objects) ? objects : [objects];\n }, [objects]);\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => {\n return makeExternalStore(observer => observableClient.observeLinks(objectsArray, linkName, {\n linkName,\n where: options.where,\n pageSize: options.pageSize,\n orderBy: options.orderBy,\n mode: options.mode\n }, observer), `links ${linkName} for ${objectsArray.map(obj => `${obj.$apiName}:${obj.$primaryKey}`).join(\",\")}`);\n }, [observableClient, objectsArray, linkName, options.where, options.pageSize, options.orderBy, options.mode]);\n const payload = React.useSyncExternalStore(subscribe, getSnapShot);\n return {\n links: payload?.resolvedList,\n isLoading: payload?.status === \"loading\",\n isOptimistic: payload?.isOptimistic ?? false,\n error: payload?.error,\n fetchMore: payload?.fetchMore,\n hasMore: payload?.hasMore ?? false\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 { computeObjectSetCacheKey } from \"@osdk/client/unstable-do-not-use\";\nimport React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\n/**\n * React hook for observing and interacting with OSDK object sets.\n *\n * @typeParam Q - The object type definition\n * @typeParam BaseRDPs - Derived properties that already exist on the input ObjectSet\n * @typeParam RDPs - New derived properties to be added via options.withProperties\n *\n * @param baseObjectSet - The ObjectSet to observe (may already have derived properties)\n * @param options - Options for filtering, sorting, and adding new derived properties\n * @returns Object set data with both existing and new derived properties\n */\nexport function useObjectSet(baseObjectSet, options = {}) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n\n // Compute a stable cache key for the ObjectSet and options\n // dedupeIntervalMs is excluded as it doesn't affect the data, only the refresh rate\n const stableKey = computeObjectSetCacheKey(baseObjectSet, {\n where: options.where,\n withProperties: options.withProperties,\n union: options.union,\n intersect: options.intersect,\n subtract: options.subtract,\n pivotTo: options.pivotTo,\n pageSize: options.pageSize,\n orderBy: options.orderBy\n });\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => {\n return makeExternalStore(observer => {\n const subscription = observableClient.observeObjectSet(baseObjectSet, {\n where: options.where,\n withProperties: options.withProperties,\n union: options.union,\n intersect: options.intersect,\n subtract: options.subtract,\n pivotTo: options.pivotTo,\n pageSize: options.pageSize,\n orderBy: options.orderBy,\n dedupeInterval: options.dedupeIntervalMs ?? 2_000\n }, observer);\n return subscription;\n }, process.env.NODE_ENV !== \"production\" ? `objectSet ${stableKey}` : void 0);\n }, [observableClient, stableKey]);\n const payload = React.useSyncExternalStore(subscribe, getSnapShot);\n return {\n data: payload?.resolvedList,\n isLoading: payload?.status === \"loading\" || !payload && true || false,\n error: payload && \"error\" in payload ? payload.error : undefined,\n fetchMore: payload?.fetchMore,\n objectSet: payload?.objectSet || baseObjectSet\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 { ActionValidationError } from \"@osdk/client\";\nimport React from \"react\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nexport function useOsdkAction(actionDef) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n const [error, setError] = React.useState();\n const [data, setData] = React.useState();\n const [isPending, setPending] = React.useState(false);\n const [isValidating, setValidating] = React.useState(false);\n const [validationResult, setValidationResult] = React.useState();\n const abortControllerRef = React.useRef(null);\n const applyAction = React.useCallback(async function applyAction(hookArgs) {\n try {\n // If validation is in progress, abort it\n if (isValidating && abortControllerRef.current) {\n abortControllerRef.current.abort();\n setValidating(false);\n }\n setPending(true);\n setError(undefined);\n if (Array.isArray(hookArgs)) {\n const updates = [];\n const args = hookArgs.map(a => {\n const {\n $optimisticUpdate,\n ...args\n } = a;\n if ($optimisticUpdate) {\n updates.push($optimisticUpdate);\n }\n return args;\n });\n const r = await observableClient.applyAction(actionDef, args, {\n optimisticUpdate: ctx => {\n for (const update of updates) {\n update?.(ctx);\n }\n }\n });\n setData(r);\n return r;\n } else {\n const {\n $optimisticUpdate,\n ...args\n } = hookArgs;\n const r = await observableClient.applyAction(actionDef, args, {\n optimisticUpdate: $optimisticUpdate\n });\n setData(r);\n return r;\n }\n } catch (e) {\n if (e instanceof ActionValidationError) {\n setError({\n actionValidation: e\n });\n } else {\n setError({\n unknown: e\n });\n }\n } finally {\n setPending(false);\n }\n }, [observableClient, actionDef, isValidating]);\n const validateAction = React.useCallback(async function validateAction(args) {\n try {\n // Check if action is being applied\n if (isPending) {\n return undefined;\n }\n\n // Abort any existing validation\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n\n // Create new AbortController\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n setValidating(true);\n setError(undefined);\n const result = await observableClient.validateAction(actionDef, args);\n\n // Check if aborted\n if (abortController.signal.aborted) {\n return undefined;\n }\n setValidationResult(result);\n return result;\n } catch (e) {\n // Check if it was aborted\n if (e instanceof Error && e.name === \"AbortError\") {\n return undefined;\n }\n if (e instanceof ActionValidationError) {\n setError({\n actionValidation: e\n });\n } else {\n setError({\n unknown: e\n });\n }\n throw e;\n } finally {\n setValidating(false);\n }\n }, [observableClient, actionDef, isPending]);\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n };\n }, []);\n return {\n applyAction,\n validateAction,\n error,\n data,\n isPending,\n isValidating,\n validationResult\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 React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\n\n/**\n * @param obj an existing `Osdk.Instance` object to get metadata for.\n */\n\n/**\n * Loads an object by type and primary key.\n *\n * @param type\n * @param primaryKey\n */\n\n/*\n Implementation of useOsdkObject\n */\nexport function useOsdkObject(...args) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n\n // TODO: Figure out what the correct default behavior is for the various scenarios\n const mode = args.length === 1 ? \"offline\" : undefined;\n const objectType = args.length === 1 ? args[0].$objectType : args[0].apiName;\n const primaryKey = args.length === 1 ? args[0].$primaryKey : args[1];\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => makeExternalStore(observer => observableClient.observeObject(objectType, primaryKey, {\n mode\n }, observer), `object ${objectType} ${primaryKey}`), [observableClient, objectType, primaryKey, mode]);\n const payload = React.useSyncExternalStore(subscribe, getSnapShot);\n let error;\n if (payload && \"error\" in payload && payload.error) {\n error = payload.error;\n } else if (payload?.status === \"error\") {\n error = new Error(\"Failed to load object\");\n }\n return {\n object: payload?.object,\n isLoading: payload?.status === \"loading\",\n isOptimistic: !!payload?.isOptimistic,\n error,\n forceUpdate: () => {\n throw new Error(\"not implemented\");\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 React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nexport function useOsdkObjects(type, {\n pageSize,\n orderBy,\n dedupeIntervalMs,\n where = {},\n streamUpdates\n} = {}) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n\n /* We want the canonical where clause so that the use of `React.useMemo`\n is stable. No real added cost as we canonicalize internal to\n the ObservableClient anyway.\n */\n const canonWhere = observableClient.canonicalizeWhereClause(where ?? {});\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => makeExternalStore(observer => observableClient.observeList({\n type,\n where: canonWhere,\n dedupeInterval: dedupeIntervalMs ?? 2_000,\n pageSize,\n orderBy,\n streamUpdates\n }, observer), process.env.NODE_ENV !== \"production\" ? `list ${type.apiName} ${JSON.stringify(canonWhere)}` : void 0), [observableClient, type, canonWhere, dedupeIntervalMs]);\n const listPayload = React.useSyncExternalStore(subscribe, getSnapShot);\n let error;\n if (listPayload && \"error\" in listPayload && listPayload.error) {\n error = listPayload.error;\n } else if (listPayload?.status === \"error\") {\n error = new Error(\"Failed to load objects\");\n }\n return {\n fetchMore: listPayload?.fetchMore,\n error,\n data: listPayload?.resolvedList,\n isLoading: listPayload?.status === \"loading\",\n isOptimistic: listPayload?.isOptimistic ?? false\n };\n}"]}
1
+ {"version":3,"sources":["../../../src/new/OsdkContext2.ts","../../../src/new/OsdkProvider2.tsx","../../../src/new/makeExternalStore.ts","../../../src/new/useLinks.ts","../../../src/new/useObjectSet.tsx","../../../src/new/useOsdkAction.ts","../../../src/new/useOsdkAggregation.ts","../../../src/new/useOsdkObject.ts","../../../src/new/useOsdkObjects.ts","../../../src/utils/useDebouncedCallback.ts"],"names":["useMemo","createObservableClient","React","OsdkContext","computeObjectSetCacheKey","applyAction","args","ActionValidationError","validateAction"],"mappings":"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","file":"experimental.cjs","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from \"react\";\nfunction fakeClientFn(..._args) {\n throw new Error(\"This is not a real client. Did you forget to <OsdkContext.Provider>?\");\n}\nconst fakeClient = Object.assign(fakeClientFn, {\n fetchMetadata: fakeClientFn\n});\nexport const OsdkContext2 = /*#__PURE__*/React.createContext({\n client: fakeClient,\n observableClient: undefined\n});","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createObservableClient } from \"@osdk/client/unstable-do-not-use\";\nimport React, { useMemo } from \"react\";\nimport { OsdkContext } from \"../OsdkContext.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nexport function OsdkProvider2({\n children,\n client,\n observableClient\n}) {\n observableClient = useMemo(() => observableClient ?? createObservableClient(client), [client, observableClient]);\n return /*#__PURE__*/React.createElement(OsdkContext2.Provider, {\n value: {\n client,\n observableClient\n }\n }, /*#__PURE__*/React.createElement(OsdkContext.Provider, {\n value: {\n client\n }\n }, children));\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 makeExternalStore(createObservation, name) {\n let lastResult;\n function getSnapShot() {\n return lastResult;\n }\n function subscribe(notifyUpdate) {\n const obs = createObservation({\n next: payload => {\n lastResult = payload;\n notifyUpdate();\n },\n error: error => {\n lastResult = {\n ...(lastResult ?? {}),\n error: error instanceof Error ? error : new Error(String(error))\n };\n notifyUpdate();\n },\n complete: () => {}\n });\n return () => {\n obs.unsubscribe();\n };\n }\n return {\n subscribe,\n getSnapShot\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 React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nconst emptyArray = Object.freeze([]);\n\n/**\n * Hook to observe links from an object or array of objects.\n *\n * @param objects The source object(s) to observe links from\n * @param linkName The name of the link to observe\n * @param options Optional configuration for the link query\n * @returns UseLinksResult with links data and metadata\n */\nexport function useLinks(objects, linkName, options = {}) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n const {\n enabled = true,\n ...otherOptions\n } = options;\n\n // Convert single object to array for consistent handling\n const objectsArray = React.useMemo(() => {\n return objects === undefined ? emptyArray : Array.isArray(objects) ? objects : [objects];\n }, [objects]);\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => {\n if (!enabled) {\n return makeExternalStore(() => ({\n unsubscribe: () => {}\n }), `links ${linkName} for ${objectsArray.map(obj => `${obj.$apiName}:${obj.$primaryKey}`).join(\",\")} [DISABLED]`);\n }\n return makeExternalStore(observer => observableClient.observeLinks(objectsArray, linkName, {\n linkName,\n where: otherOptions.where,\n pageSize: otherOptions.pageSize,\n orderBy: otherOptions.orderBy,\n mode: otherOptions.mode\n }, observer), `links ${linkName} for ${objectsArray.map(obj => `${obj.$apiName}:${obj.$primaryKey}`).join(\",\")}`);\n }, [enabled, observableClient, objectsArray, linkName, otherOptions.where, otherOptions.pageSize, otherOptions.orderBy, otherOptions.mode]);\n const payload = React.useSyncExternalStore(subscribe, getSnapShot);\n return {\n links: payload?.resolvedList,\n isLoading: payload?.status === \"loading\",\n isOptimistic: payload?.isOptimistic ?? false,\n error: payload?.error,\n fetchMore: payload?.fetchMore,\n hasMore: payload?.hasMore ?? false\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 { computeObjectSetCacheKey } from \"@osdk/client/unstable-do-not-use\";\nimport React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\n/**\n * React hook for observing and interacting with OSDK object sets.\n *\n * @typeParam Q - The object type definition\n * @typeParam BaseRDPs - Derived properties that already exist on the input ObjectSet\n * @typeParam RDPs - New derived properties to be added via options.withProperties\n *\n * @param baseObjectSet - The ObjectSet to observe (may already have derived properties)\n * @param options - Options for filtering, sorting, and adding new derived properties\n * @returns Object set data with both existing and new derived properties\n */\nexport function useObjectSet(baseObjectSet, options = {}) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n const {\n enabled = true,\n streamUpdates,\n ...otherOptions\n } = options;\n\n // Compute a stable cache key for the ObjectSet and options\n // dedupeIntervalMs and enabled are excluded as they don't affect the data\n const stableKey = computeObjectSetCacheKey(baseObjectSet, {\n where: otherOptions.where,\n withProperties: otherOptions.withProperties,\n union: otherOptions.union,\n intersect: otherOptions.intersect,\n subtract: otherOptions.subtract,\n pivotTo: otherOptions.pivotTo,\n pageSize: otherOptions.pageSize,\n orderBy: otherOptions.orderBy\n });\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => {\n if (!enabled) {\n return makeExternalStore(() => ({\n unsubscribe: () => {}\n }), process.env.NODE_ENV !== \"production\" ? `objectSet ${stableKey} [DISABLED]` : void 0);\n }\n return makeExternalStore(observer => {\n const subscription = observableClient.observeObjectSet(baseObjectSet, {\n where: otherOptions.where,\n withProperties: otherOptions.withProperties,\n union: otherOptions.union,\n intersect: otherOptions.intersect,\n subtract: otherOptions.subtract,\n pivotTo: otherOptions.pivotTo,\n pageSize: otherOptions.pageSize,\n orderBy: otherOptions.orderBy,\n dedupeInterval: otherOptions.dedupeIntervalMs ?? 2_000,\n autoFetchMore: otherOptions.autoFetchMore,\n streamUpdates\n }, observer);\n return subscription;\n }, process.env.NODE_ENV !== \"production\" ? `objectSet ${stableKey}` : void 0);\n }, [enabled, observableClient, stableKey, streamUpdates]);\n const payload = React.useSyncExternalStore(subscribe, getSnapShot);\n return {\n data: payload?.resolvedList,\n isLoading: payload?.status === \"loading\" || !payload && true || false,\n error: payload && \"error\" in payload ? payload.error : undefined,\n fetchMore: payload?.fetchMore,\n objectSet: payload?.objectSet || baseObjectSet\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 { ActionValidationError } from \"@osdk/client\";\nimport React from \"react\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nexport function useOsdkAction(actionDef) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n const [error, setError] = React.useState();\n const [data, setData] = React.useState();\n const [isPending, setPending] = React.useState(false);\n const [isValidating, setValidating] = React.useState(false);\n const [validationResult, setValidationResult] = React.useState();\n const abortControllerRef = React.useRef(null);\n const applyAction = React.useCallback(async function applyAction(hookArgs) {\n try {\n // If validation is in progress, abort it\n if (isValidating && abortControllerRef.current) {\n abortControllerRef.current.abort();\n setValidating(false);\n }\n setPending(true);\n setError(undefined);\n if (Array.isArray(hookArgs)) {\n const updates = [];\n const args = hookArgs.map(a => {\n const {\n $optimisticUpdate,\n ...args\n } = a;\n if ($optimisticUpdate) {\n updates.push($optimisticUpdate);\n }\n return args;\n });\n const r = await observableClient.applyAction(actionDef, args, {\n optimisticUpdate: ctx => {\n for (const update of updates) {\n update?.(ctx);\n }\n }\n });\n setData(r);\n return r;\n } else {\n const {\n $optimisticUpdate,\n ...args\n } = hookArgs;\n const r = await observableClient.applyAction(actionDef, args, {\n optimisticUpdate: $optimisticUpdate\n });\n setData(r);\n return r;\n }\n } catch (e) {\n if (e instanceof ActionValidationError) {\n setError({\n actionValidation: e\n });\n } else {\n setError({\n unknown: e\n });\n }\n } finally {\n setPending(false);\n }\n }, [observableClient, actionDef, isValidating]);\n const validateAction = React.useCallback(async function validateAction(args) {\n try {\n // Check if action is being applied\n if (isPending) {\n return undefined;\n }\n\n // Abort any existing validation\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n\n // Create new AbortController\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n setValidating(true);\n setError(undefined);\n const result = await observableClient.validateAction(actionDef, args);\n\n // Check if aborted\n if (abortController.signal.aborted) {\n return undefined;\n }\n setValidationResult(result);\n return result;\n } catch (e) {\n // Check if it was aborted\n if (e instanceof Error && e.name === \"AbortError\") {\n return undefined;\n }\n if (e instanceof ActionValidationError) {\n setError({\n actionValidation: e\n });\n } else {\n setError({\n unknown: e\n });\n }\n throw e;\n } finally {\n setValidating(false);\n }\n }, [observableClient, actionDef, isPending]);\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n };\n }, []);\n return {\n applyAction,\n validateAction,\n error,\n data,\n isPending,\n isValidating,\n validationResult\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 React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\n/**\n * React hook for performing aggregations on OSDK object sets.\n *\n * Executes server-side aggregations with groupBy and metric calculations on filtered object sets.\n * Supports runtime derived properties and where clauses.\n *\n * @param type - The object or interface type to aggregate\n * @param options - Aggregation configuration including where clause, aggregation spec, and optional derived properties\n * @returns Object containing aggregation results, loading state, error state, and refetch function\n *\n * @example\n * ```tsx\n * const { data, isLoading, error } = useOsdkAggregation(Employee, {\n * where: { department: \"Engineering\" },\n * aggregate: {\n * groupBy: { department: \"exact\" },\n * select: {\n * avgSalary: { $avg: \"salary\" },\n * count: { $count: {} }\n * }\n * }\n * });\n * ```\n */\nexport function useOsdkAggregation(type, {\n where = {},\n withProperties,\n aggregate,\n dedupeIntervalMs\n}) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n const canonWhere = observableClient.canonicalizeWhereClause(where ?? {});\n const stableWithProperties = React.useMemo(() => withProperties, [JSON.stringify(withProperties)]);\n const stableAggregate = React.useMemo(() => aggregate, [JSON.stringify(aggregate)]);\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => makeExternalStore(observer => observableClient.observeAggregation({\n type: type,\n where: canonWhere,\n withProperties: stableWithProperties,\n aggregate: stableAggregate,\n dedupeInterval: dedupeIntervalMs ?? 2_000\n }, observer), process.env.NODE_ENV !== \"production\" ? `aggregation ${type.apiName} ${JSON.stringify(canonWhere)}` : void 0), [observableClient, type.apiName, type.type, canonWhere, stableWithProperties, stableAggregate, dedupeIntervalMs]);\n const payload = React.useSyncExternalStore(subscribe, getSnapShot);\n let error;\n if (payload && \"error\" in payload && payload.error) {\n error = payload.error;\n } else if (payload?.status === \"error\") {\n error = new Error(\"Failed to execute aggregation\");\n }\n const refetch = React.useCallback(async () => {\n await observableClient.invalidateObjectType(type.apiName);\n }, [observableClient, type.apiName]);\n return {\n data: payload?.result,\n isLoading: payload?.status === \"loading\",\n error,\n refetch\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 React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\n\n/**\n * @param obj an existing `Osdk.Instance` object to get metadata for.\n * @param enabled Enable or disable the query (defaults to true)\n */\n\n/**\n * Loads an object by type and primary key.\n *\n * @param type\n * @param primaryKey\n * @param enabled Enable or disable the query (defaults to true)\n */\n\n/*\n Implementation of useOsdkObject\n */\nexport function useOsdkObject(...args) {\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n\n // Check if first arg is an instance to discriminate signatures\n // TypeScript cannot narrow rest parameter unions with optional parameters,\n // so we must use type assertions after runtime discrimination\n const isInstanceSignature = \"$objectType\" in args[0];\n\n // Extract enabled flag - 2nd param for instance signature, 3rd for type signature\n const enabled = isInstanceSignature ? typeof args[1] === \"boolean\" ? args[1] : true : typeof args[2] === \"boolean\" ? args[2] : true;\n\n // TODO: Figure out what the correct default behavior is for the various scenarios\n const mode = isInstanceSignature ? \"offline\" : undefined;\n const objectType = isInstanceSignature ? args[0].$objectType : args[0].apiName;\n const primaryKey = isInstanceSignature ? args[0].$primaryKey : args[1];\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => {\n if (!enabled) {\n return makeExternalStore(() => ({\n unsubscribe: () => {}\n }), `object ${objectType} ${primaryKey} [DISABLED]`);\n }\n return makeExternalStore(observer => observableClient.observeObject(objectType, primaryKey, {\n mode\n }, observer), `object ${objectType} ${primaryKey}`);\n }, [enabled, observableClient, objectType, primaryKey, mode]);\n const payload = React.useSyncExternalStore(subscribe, getSnapShot);\n let error;\n if (payload && \"error\" in payload && payload.error) {\n error = payload.error;\n } else if (payload?.status === \"error\") {\n error = new Error(\"Failed to load object\");\n }\n return {\n object: payload?.object,\n isLoading: payload?.status === \"loading\",\n isOptimistic: !!payload?.isOptimistic,\n error,\n forceUpdate: () => {\n throw new Error(\"not implemented\");\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 React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nexport function useOsdkObjects(type, options) {\n const {\n pageSize,\n orderBy,\n dedupeIntervalMs,\n where = {},\n streamUpdates,\n withProperties,\n autoFetchMore,\n intersectWith,\n pivotTo,\n enabled = true\n } = options ?? {};\n const {\n observableClient\n } = React.useContext(OsdkContext2);\n\n /* We want the canonical where clause so that the use of `React.useMemo`\n is stable. No real added cost as we canonicalize internal to\n the ObservableClient anyway.\n */\n const canonWhere = observableClient.canonicalizeWhereClause(where ?? {});\n const stableWithProperties = React.useMemo(() => withProperties, [JSON.stringify(withProperties)]);\n const stableIntersectWith = React.useMemo(() => intersectWith, [JSON.stringify(intersectWith)]);\n const {\n subscribe,\n getSnapShot\n } = React.useMemo(() => {\n if (!enabled) {\n return makeExternalStore(() => ({\n unsubscribe: () => {}\n }), process.env.NODE_ENV !== \"production\" ? `list ${type.apiName} ${JSON.stringify(canonWhere)} [DISABLED]` : void 0);\n }\n return makeExternalStore(observer => observableClient.observeList({\n type,\n where: canonWhere,\n dedupeInterval: dedupeIntervalMs ?? 2_000,\n pageSize,\n orderBy,\n streamUpdates,\n withProperties: stableWithProperties,\n autoFetchMore,\n ...(stableIntersectWith ? {\n intersectWith: stableIntersectWith\n } : {}),\n ...(pivotTo ? {\n pivotTo\n } : {})\n }, observer), process.env.NODE_ENV !== \"production\" ? `list ${type.apiName} ${JSON.stringify(canonWhere)}` : void 0);\n }, [enabled, observableClient, type, canonWhere, dedupeIntervalMs, pageSize, orderBy, streamUpdates, stableWithProperties, autoFetchMore, stableIntersectWith, pivotTo]);\n const listPayload = React.useSyncExternalStore(subscribe, getSnapShot);\n let error;\n if (listPayload && \"error\" in listPayload && listPayload.error) {\n error = listPayload.error;\n } else if (listPayload?.status === \"error\") {\n error = new Error(\"Failed to load objects\");\n }\n return {\n fetchMore: listPayload?.fetchMore,\n error,\n data: listPayload?.resolvedList,\n isLoading: listPayload?.status === \"loading\",\n isOptimistic: listPayload?.isOptimistic ?? false\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 React from \"react\";\n/**\n * Creates a debounced version of a callback function.\n *\n * @param callback The function to debounce\n * @param delay The delay in milliseconds\n * @returns A debounced function with cancel() and flush() methods\n *\n * @example\n * ```tsx\n * const { applyAction } = useOsdkAction(editOffice);\n *\n * const debouncedSave = useDebouncedCallback(\n * async (name: string) => {\n * await applyAction({\n * Office: office,\n * name,\n * location: office.location!,\n * $optimisticUpdate: (ctx) => {\n * ctx.updateObject(office.$clone({ name }));\n * },\n * });\n * },\n * 1000\n * );\n *\n * <input onChange={(e) => debouncedSave(e.target.value)} />\n * ```\n */\nexport function useDebouncedCallback(callback, delay) {\n const timeoutRef = React.useRef();\n const callbackRef = React.useRef(callback);\n const lastArgsRef = React.useRef();\n callbackRef.current = callback;\n const cancel = React.useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = undefined;\n }\n }, []);\n const flush = React.useCallback(() => {\n if (timeoutRef.current && lastArgsRef.current) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = undefined;\n void callbackRef.current(...lastArgsRef.current);\n }\n }, []);\n const debouncedCallback = React.useCallback((...args) => {\n lastArgsRef.current = args;\n cancel();\n timeoutRef.current = setTimeout(() => {\n void callbackRef.current(...args);\n }, delay);\n }, [delay, cancel]);\n React.useEffect(() => {\n return () => {\n cancel();\n };\n }, [cancel]);\n return Object.assign(debouncedCallback, {\n cancel,\n flush\n });\n}"]}
@@ -1,7 +1,7 @@
1
1
  import { Client, ObjectTypeDefinition, Osdk, InterfaceDefinition, WhereClause, PropertyKeys, ActionDefinition, ActionValidationError, ActionValidationResponse } from '@osdk/client';
2
2
  import { ObservableClient, ActionSignatureFromDef } from '@osdk/client/unstable-do-not-use';
3
3
  import React from 'react';
4
- import { LinkNames, LinkedType, ObjectTypeDefinition as ObjectTypeDefinition$1, WirePropertyTypes, ObjectSet, WhereClause as WhereClause$1, DerivedProperty, PropertyKeys as PropertyKeys$1, Osdk as Osdk$1, PrimaryKeyType } from '@osdk/api';
4
+ import { LinkNames, LinkedType, ObjectTypeDefinition as ObjectTypeDefinition$1, SimplePropertyDef, ObjectSet, WhereClause as WhereClause$1, DerivedProperty, PropertyKeys as PropertyKeys$1, Osdk as Osdk$1, InterfaceDefinition as InterfaceDefinition$1, AggregateOpts, AggregationsResults, PrimaryKeyType } from '@osdk/api';
5
5
  export { U as UseOsdkMetadataResult, u as useOsdkClient, a as useOsdkMetadata } from '../useOsdkMetadata-DFZhnhGZ.cjs';
6
6
 
7
7
  interface OsdkProviderOptions {
@@ -31,6 +31,26 @@ interface UseLinksOptions<T extends ObjectTypeDefinition | InterfaceDefinition>
31
31
  * - "offline": Only use cached data, don't make network requests
32
32
  */
33
33
  mode?: "force" | "offline";
34
+ /**
35
+ * Enable or disable the query.
36
+ *
37
+ * When `false`, the query will not automatically execute. It will still
38
+ * return any cached data, but will not fetch from the server.
39
+ *
40
+ * This is useful for:
41
+ * - Lazy/on-demand queries that should wait for user interaction
42
+ * - Dependent queries that need data from another query first
43
+ * - Conditional queries based on component state
44
+ *
45
+ * @default true
46
+ * @example
47
+ * // Dependent query - wait for employee data
48
+ * const { object: employee } = useOsdkObject(Employee, employeeId);
49
+ * const { links: reports } = useLinks(employee, "reports", {
50
+ * enabled: !!employee
51
+ * });
52
+ */
53
+ enabled?: boolean;
34
54
  }
35
55
  interface UseLinksResult<Q extends ObjectTypeDefinition | InterfaceDefinition> {
36
56
  links: Osdk.Instance<Q>[] | undefined;
@@ -59,12 +79,11 @@ interface UseLinksResult<Q extends ObjectTypeDefinition | InterfaceDefinition> {
59
79
  */
60
80
  declare function useLinks<T extends ObjectTypeDefinition, L extends LinkNames<T>>(objects: Osdk.Instance<T> | Array<Osdk.Instance<T>> | undefined, linkName: L, options?: UseLinksOptions<LinkedType<T, L>>): UseLinksResult<LinkedType<T, L>>;
61
81
 
62
- type SimplePropertyDef = WirePropertyTypes | undefined | Array<WirePropertyTypes>;
63
82
  interface UseObjectSetOptions<Q extends ObjectTypeDefinition$1, RDPs extends Record<string, SimplePropertyDef> = {}> {
64
83
  /**
65
84
  * Where clause for filtering
66
85
  */
67
- where?: WhereClause$1<Q>;
86
+ where?: WhereClause$1<Q, RDPs>;
68
87
  /**
69
88
  * Derived properties to add to the object set
70
89
  */
@@ -101,6 +120,42 @@ interface UseObjectSetOptions<Q extends ObjectTypeDefinition$1, RDPs extends Rec
101
120
  * Minimum time between fetch requests in milliseconds (defaults to 2000ms)
102
121
  */
103
122
  dedupeIntervalMs?: number;
123
+ /**
124
+ * Automatically fetch additional pages on initial load.
125
+ *
126
+ * - `true`: Fetch all available pages automatically
127
+ * - `number`: Fetch pages until at least this many items are loaded
128
+ * - `undefined` (default): Only fetch the first page, user must call fetchMore()
129
+ */
130
+ autoFetchMore?: boolean | number;
131
+ /**
132
+ * Enable streaming updates via websocket subscription.
133
+ * When true, the object set will automatically update when matching objects are
134
+ * added, updated, or removed.
135
+ *
136
+ * @default false
137
+ */
138
+ streamUpdates?: boolean;
139
+ /**
140
+ * Enable or disable the query.
141
+ *
142
+ * When `false`, the query will not automatically execute. It will still
143
+ * return any cached data, but will not fetch from the server.
144
+ *
145
+ * This is useful for:
146
+ * - Lazy/on-demand queries that should wait for user interaction
147
+ * - Dependent queries that need data from another query first
148
+ * - Conditional queries based on component state
149
+ *
150
+ * @default true
151
+ * @example
152
+ * // Dependent query - wait for filter selection
153
+ * const { data: filteredObjects } = useObjectSet(MyObject.all(), {
154
+ * where: { status: selectedStatus },
155
+ * enabled: !!selectedStatus
156
+ * });
157
+ */
158
+ enabled?: boolean;
104
159
  }
105
160
  interface UseObjectSetResult<Q extends ObjectTypeDefinition$1, RDPs extends Record<string, SimplePropertyDef> = {}> {
106
161
  /**
@@ -161,6 +216,64 @@ interface UseOsdkActionResult<Q extends ActionDefinition<any>> {
161
216
  }
162
217
  declare function useOsdkAction<Q extends ActionDefinition<any>>(actionDef: Q): UseOsdkActionResult<Q>;
163
218
 
219
+ type InferRdpTypes<Q extends ObjectTypeDefinition$1 | InterfaceDefinition$1, WP extends DerivedProperty.Clause<Q> | undefined> = WP extends DerivedProperty.Clause<Q> ? {
220
+ [K in keyof WP]: WP[K] extends DerivedProperty.Creator<Q, infer T> ? T : never;
221
+ } : {};
222
+
223
+ interface UseOsdkAggregationOptions<T extends ObjectTypeDefinition, A extends AggregateOpts<T>, WithProps extends DerivedProperty.Clause<T> | undefined = undefined> {
224
+ /**
225
+ * Standard OSDK Where clause to filter objects before aggregation
226
+ */
227
+ where?: WhereClause$1<T, InferRdpTypes<T, WithProps>>;
228
+ /**
229
+ * Define derived properties (RDPs) to be computed server-side.
230
+ * The derived properties can be used in the where clause and aggregation groupBy/select.
231
+ */
232
+ withProperties?: WithProps;
233
+ /**
234
+ * Aggregation options including groupBy and select
235
+ */
236
+ aggregate: A;
237
+ /**
238
+ * The number of milliseconds to wait after the last observed aggregation change.
239
+ *
240
+ * Two uses of `useOsdkAggregation` with the same parameters will only trigger one
241
+ * network request if the second is within `dedupeIntervalMs`.
242
+ */
243
+ dedupeIntervalMs?: number;
244
+ }
245
+ interface UseOsdkAggregationResult<T extends ObjectTypeDefinition, A extends AggregateOpts<T>> {
246
+ data: AggregationsResults<T, A> | undefined;
247
+ isLoading: boolean;
248
+ error: Error | undefined;
249
+ refetch: () => void;
250
+ }
251
+ /**
252
+ * React hook for performing aggregations on OSDK object sets.
253
+ *
254
+ * Executes server-side aggregations with groupBy and metric calculations on filtered object sets.
255
+ * Supports runtime derived properties and where clauses.
256
+ *
257
+ * @param type - The object or interface type to aggregate
258
+ * @param options - Aggregation configuration including where clause, aggregation spec, and optional derived properties
259
+ * @returns Object containing aggregation results, loading state, error state, and refetch function
260
+ *
261
+ * @example
262
+ * ```tsx
263
+ * const { data, isLoading, error } = useOsdkAggregation(Employee, {
264
+ * where: { department: "Engineering" },
265
+ * aggregate: {
266
+ * groupBy: { department: "exact" },
267
+ * select: {
268
+ * avgSalary: { $avg: "salary" },
269
+ * count: { $count: {} }
270
+ * }
271
+ * }
272
+ * });
273
+ * ```
274
+ */
275
+ declare function useOsdkAggregation<Q extends ObjectTypeDefinition, A extends AggregateOpts<Q>, WP extends DerivedProperty.Clause<Q> | undefined = undefined>(type: Q, { where, withProperties, aggregate, dedupeIntervalMs, }: UseOsdkAggregationOptions<Q, A, WP>): UseOsdkAggregationResult<Q, A>;
276
+
164
277
  interface UseOsdkObjectResult<Q extends ObjectTypeDefinition$1> {
165
278
  object: Osdk$1.Instance<Q> | undefined;
166
279
  isLoading: boolean;
@@ -173,34 +286,74 @@ interface UseOsdkObjectResult<Q extends ObjectTypeDefinition$1> {
173
286
  }
174
287
  /**
175
288
  * @param obj an existing `Osdk.Instance` object to get metadata for.
289
+ * @param enabled Enable or disable the query (defaults to true)
176
290
  */
177
- declare function useOsdkObject<Q extends ObjectTypeDefinition$1>(obj: Osdk$1.Instance<Q>): UseOsdkObjectResult<Q>;
291
+ declare function useOsdkObject<Q extends ObjectTypeDefinition$1>(obj: Osdk$1.Instance<Q>, enabled?: boolean): UseOsdkObjectResult<Q>;
178
292
  /**
179
293
  * Loads an object by type and primary key.
180
294
  *
181
295
  * @param type
182
296
  * @param primaryKey
297
+ * @param enabled Enable or disable the query (defaults to true)
183
298
  */
184
- declare function useOsdkObject<Q extends ObjectTypeDefinition$1>(type: Q, primaryKey: PrimaryKeyType<Q>): UseOsdkObjectResult<Q>;
299
+ declare function useOsdkObject<Q extends ObjectTypeDefinition$1>(type: Q, primaryKey: PrimaryKeyType<Q>, enabled?: boolean): UseOsdkObjectResult<Q>;
185
300
 
186
- interface UseOsdkObjectsOptions<T extends ObjectTypeDefinition | InterfaceDefinition> {
301
+ interface UseOsdkObjectsOptions<T extends ObjectTypeDefinition$1 | InterfaceDefinition$1, WithProps extends DerivedProperty.Clause<T> | undefined = undefined> {
187
302
  /**
188
- * Standard OSDK Where
303
+ * Standard OSDK Where with RDP support
189
304
  */
190
- where?: WhereClause<T>;
305
+ where?: WhereClause$1<T, InferRdpTypes<T, WithProps>>;
191
306
  /**
192
307
  * The preferred page size for the list.
193
308
  */
194
309
  pageSize?: number;
195
310
  /** */
196
311
  orderBy?: {
197
- [K in PropertyKeys<T>]?: "asc" | "desc";
312
+ [K in PropertyKeys$1<T>]?: "asc" | "desc";
198
313
  };
314
+ /**
315
+ * Define derived properties (RDPs) to be computed server-side and attached to each object.
316
+ * These properties will be available on the returned objects alongside their regular properties.
317
+ */
318
+ withProperties?: WithProps;
319
+ /**
320
+ * Intersect the results with additional object sets.
321
+ * Each element defines a where clause for an object set to intersect with.
322
+ * The final result will only include objects that match ALL conditions.
323
+ */
324
+ intersectWith?: Array<{
325
+ where: WhereClause$1<T, InferRdpTypes<T, WithProps>>;
326
+ }>;
327
+ /**
328
+ * Pivot to related objects through a link.
329
+ * This changes the return type from T to the linked object type.
330
+ */
331
+ pivotTo?: LinkNames<T>;
199
332
  /**
200
333
  * Causes the list to automatically fetch more as soon as the previous page
201
334
  * has been loaded. If a number is provided, it will continue to automatically
202
335
  * fetch more until the list is at least that long.
336
+ *
337
+ * - `true`: Fetch all available pages automatically
338
+ * - `number`: Fetch pages until at least this many items are loaded
339
+ * - `undefined` (default): Only fetch the first page, user must call fetchMore()
340
+ *
341
+ * Note: When using `autoFetchMore: true` with large datasets, the initial
342
+ * load may take significant time. Consider using a specific number instead
343
+ * or implementing virtual scrolling.
344
+ *
345
+ * @example
346
+ * // Fetch all todos at once
347
+ * const { data } = useOsdkObjects(Todo, { autoFetchMore: true })
348
+ *
349
+ * @example
350
+ * // Fetch at least 100 todos (with 25 per page, fetches 4 pages)
351
+ * const { data } = useOsdkObjects(Todo, {
352
+ * autoFetchMore: 100,
353
+ * pageSize: 25
354
+ * })
203
355
  */
356
+ autoFetchMore?: boolean | number;
204
357
  /**
205
358
  * Upon a list being revalidated, this option determines how the component
206
359
  * will be re-rendered with the data.
@@ -227,17 +380,32 @@ interface UseOsdkObjectsOptions<T extends ObjectTypeDefinition | InterfaceDefini
227
380
  * network request if the second is within `dedupeIntervalMs`.
228
381
  */
229
382
  dedupeIntervalMs?: number;
383
+ streamUpdates?: boolean;
230
384
  /**
231
- * If provided, the list will be considered this length for the purposes of
232
- * `invalidationMode` when using the `wait` option. If not provided,
233
- * the internal expectedLength will be determined by the number of times
234
- * `fetchMore` has been called.
385
+ * Enable or disable the query.
386
+ *
387
+ * When `false`, the query will not automatically execute. It will still
388
+ * return any cached data, but will not fetch from the server.
389
+ *
390
+ * This is useful for:
391
+ * - Lazy/on-demand queries that should wait for user interaction
392
+ * - Dependent queries that need data from another query first
393
+ * - Conditional queries based on component state
394
+ *
395
+ * @default true
396
+ * @example
397
+ * // Dependent query - wait for parent data
398
+ * const { data: employee } = useOsdkObject(Employee, employeeId);
399
+ * const { data: reports } = useOsdkObjects(Employee, {
400
+ * where: { managerId: employee?.id },
401
+ * enabled: !!employee
402
+ * });
235
403
  */
236
- streamUpdates?: boolean;
404
+ enabled?: boolean;
237
405
  }
238
- interface UseOsdkListResult<T extends ObjectTypeDefinition | InterfaceDefinition> {
239
- fetchMore: (() => Promise<unknown>) | undefined;
240
- data: Osdk.Instance<T>[] | undefined;
406
+ interface UseOsdkListResult<T extends ObjectTypeDefinition$1 | InterfaceDefinition$1> {
407
+ fetchMore: (() => Promise<void>) | undefined;
408
+ data: Osdk$1.Instance<T>[] | undefined;
241
409
  isLoading: boolean;
242
410
  error: Error | undefined;
243
411
  /**
@@ -249,6 +417,44 @@ interface UseOsdkListResult<T extends ObjectTypeDefinition | InterfaceDefinition
249
417
  */
250
418
  isOptimistic: boolean;
251
419
  }
252
- declare function useOsdkObjects<Q extends ObjectTypeDefinition | InterfaceDefinition>(type: Q, { pageSize, orderBy, dedupeIntervalMs, where, streamUpdates, }?: UseOsdkObjectsOptions<Q>): UseOsdkListResult<Q>;
420
+ declare function useOsdkObjects<Q extends ObjectTypeDefinition$1, L extends LinkNames<Q>>(type: Q, options: UseOsdkObjectsOptions<Q> & {
421
+ pivotTo: L;
422
+ }): UseOsdkListResult<LinkedType<Q, L>>;
423
+ declare function useOsdkObjects<Q extends ObjectTypeDefinition$1 | InterfaceDefinition$1, WP extends DerivedProperty.Clause<Q> | undefined>(type: Q, options?: UseOsdkObjectsOptions<Q, WP>): UseOsdkListResult<Q>;
424
+
425
+ interface DebouncedCallback<TArgs extends readonly unknown[]> {
426
+ (...args: TArgs): void;
427
+ cancel: () => void;
428
+ flush: () => void;
429
+ }
430
+ /**
431
+ * Creates a debounced version of a callback function.
432
+ *
433
+ * @param callback The function to debounce
434
+ * @param delay The delay in milliseconds
435
+ * @returns A debounced function with cancel() and flush() methods
436
+ *
437
+ * @example
438
+ * ```tsx
439
+ * const { applyAction } = useOsdkAction(editOffice);
440
+ *
441
+ * const debouncedSave = useDebouncedCallback(
442
+ * async (name: string) => {
443
+ * await applyAction({
444
+ * Office: office,
445
+ * name,
446
+ * location: office.location!,
447
+ * $optimisticUpdate: (ctx) => {
448
+ * ctx.updateObject(office.$clone({ name }));
449
+ * },
450
+ * });
451
+ * },
452
+ * 1000
453
+ * );
454
+ *
455
+ * <input onChange={(e) => debouncedSave(e.target.value)} />
456
+ * ```
457
+ */
458
+ declare function useDebouncedCallback<TArgs extends readonly unknown[]>(callback: (...args: TArgs) => void | Promise<void>, delay: number): DebouncedCallback<TArgs>;
253
459
 
254
- export { OsdkProvider2, type UseOsdkListResult, useLinks, useObjectSet, useOsdkAction, useOsdkObject, useOsdkObjects };
460
+ export { OsdkProvider2, type UseOsdkAggregationResult, type UseOsdkListResult, useDebouncedCallback, useLinks, useObjectSet, useOsdkAction, useOsdkAggregation, useOsdkObject, useOsdkObjects };
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ // WARNING!
18
+ // WARNING!
19
+ // This file is used for tests that check intellisense. Editing this file by hand will likely
20
+ // break tests that have hard coded line numbers and line offsets.
21
+
22
+ import { Employee } from "@osdk/client.test.ontology";
23
+ import { useOsdkObjects } from "@osdk/react/experimental";
24
+ function TestComponent() {
25
+ const {
26
+ data
27
+ } = useOsdkObjects(Employee, {
28
+ pivotTo: "lead"
29
+ });
30
+
31
+ // Line 31: Check that data has the correct pivoted type
32
+ data?.[0];
33
+ return null;
34
+ }
35
+ //# sourceMappingURL=useOsdkObjectsWithPivot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOsdkObjectsWithPivot.js","names":["Employee","useOsdkObjects","TestComponent","data","pivotTo"],"sources":["useOsdkObjectsWithPivot.ts"],"sourcesContent":["/*\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// WARNING!\n// WARNING!\n// This file is used for tests that check intellisense. Editing this file by hand will likely\n// break tests that have hard coded line numbers and line offsets.\n\nimport { Employee } from \"@osdk/client.test.ontology\";\nimport { useOsdkObjects } from \"@osdk/react/experimental\";\n\ndeclare const MyComponent: () => void;\n\nfunction TestComponent() {\n const { data } = useOsdkObjects(Employee, {\n pivotTo: \"lead\",\n });\n\n // Line 31: Check that data has the correct pivoted type\n const firstItem = data?.[0];\n\n return null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,4BAA4B;AACrD,SAASC,cAAc,QAAQ,0BAA0B;AAIzD,SAASC,aAAaA,CAAA,EAAG;EACvB,MAAM;IAAEC;EAAK,CAAC,GAAGF,cAAc,CAACD,QAAQ,EAAE;IACxCI,OAAO,EAAE;EACX,CAAC,CAAC;;EAEF;EACkBD,IAAI,GAAG,CAAC,CAAC;EAE3B,OAAO,IAAI;AACb","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ // WARNING!
18
+ // WARNING!
19
+ // This file is used for tests that check intellisense. Editing this file by hand will likely
20
+ // break tests that have hard coded line numbers and line offsets.
21
+
22
+ import { Employee } from "@osdk/client.test.ontology";
23
+ import { useOsdkObjects } from "@osdk/react/experimental";
24
+ function TestComponent() {
25
+ const {
26
+ data
27
+ } = useOsdkObjects(Employee, {
28
+ withProperties: {
29
+ constantValue: employee => employee.constant.integer(42)
30
+ }
31
+ });
32
+ return null;
33
+ }
34
+ //# sourceMappingURL=useOsdkObjectsWithProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOsdkObjectsWithProperties.js","names":["Employee","useOsdkObjects","TestComponent","data","withProperties","constantValue","employee","constant","integer"],"sources":["useOsdkObjectsWithProperties.ts"],"sourcesContent":["/*\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// WARNING!\n// WARNING!\n// This file is used for tests that check intellisense. Editing this file by hand will likely\n// break tests that have hard coded line numbers and line offsets.\n\nimport type { DerivedProperty } from \"@osdk/api\";\nimport { Employee } from \"@osdk/client.test.ontology\";\nimport { useOsdkObjects } from \"@osdk/react/experimental\";\n\nfunction TestComponent() {\n const withProps: DerivedProperty.Clause<typeof Employee> = {\n constantValue: (employee) => employee.constant.integer(42),\n };\n\n const { data } = useOsdkObjects(Employee, {\n withProperties: withProps,\n });\n\n return null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAGA,SAASA,QAAQ,QAAQ,4BAA4B;AACrD,SAASC,cAAc,QAAQ,0BAA0B;AAEzD,SAASC,aAAaA,CAAA,EAAG;EAKvB,MAAM;IAAEC;EAAK,CAAC,GAAGF,cAAc,CAACD,QAAQ,EAAE;IACxCI,cAAc,EAL2C;MACzDC,aAAa,EAAGC,QAAQ,IAAKA,QAAQ,CAACC,QAAQ,CAACC,OAAO,CAAC,EAAE;IAC3D;EAIA,CAAC,CAAC;EAEF,OAAO,IAAI;AACb","ignoreList":[]}