@osdk/client 2.3.0-beta.3 → 2.3.0-beta.5

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 (84) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js +6 -1
  3. package/build/browser/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  4. package/build/browser/createMediaReferenceProperty.js +7 -1
  5. package/build/browser/createMediaReferenceProperty.js.map +1 -1
  6. package/build/browser/derivedProperties/derivedPropertyRuntimeMetadata.js +2 -0
  7. package/build/browser/derivedProperties/derivedPropertyRuntimeMetadata.js.map +1 -0
  8. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js +30 -0
  9. package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -0
  10. package/build/browser/intellisense.test.js +22 -0
  11. package/build/browser/intellisense.test.js.map +1 -1
  12. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +57 -47
  13. package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  14. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js +27 -12
  15. package/build/browser/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  16. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +22 -9
  17. package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  18. package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
  19. package/build/browser/object/media.test.js +20 -1
  20. package/build/browser/object/media.test.js.map +1 -1
  21. package/build/browser/object/object.test.js +6 -2
  22. package/build/browser/object/object.test.js.map +1 -1
  23. package/build/browser/objectSet/ObjectSet.test.js +7 -0
  24. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  25. package/build/browser/tsserver.js +1 -0
  26. package/build/browser/tsserver.js.map +1 -1
  27. package/build/browser/util/UserAgent.js +1 -1
  28. package/build/browser/util/extractRdpDefinition.js +13 -2
  29. package/build/browser/util/extractRdpDefinition.js.map +1 -1
  30. package/build/browser/util/extractRdpDefinition.test.js +87 -5
  31. package/build/browser/util/extractRdpDefinition.test.js.map +1 -1
  32. package/build/cjs/{chunk-ZV5KKQ4R.cjs → chunk-C5D7744G.cjs} +15 -4
  33. package/build/cjs/chunk-C5D7744G.cjs.map +1 -0
  34. package/build/cjs/{chunk-JEHRAVC5.cjs → chunk-MZ4JZQUU.cjs} +14 -14
  35. package/build/cjs/{chunk-JEHRAVC5.cjs.map → chunk-MZ4JZQUU.cjs.map} +1 -1
  36. package/build/cjs/index.cjs +78 -56
  37. package/build/cjs/index.cjs.map +1 -1
  38. package/build/cjs/public/internal.cjs +8 -8
  39. package/build/cjs/public/unstable-do-not-use.cjs +8 -8
  40. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js +6 -1
  41. package/build/esm/__unstable/createBulkLinksAsyncIterFactory.js.map +1 -1
  42. package/build/esm/createMediaReferenceProperty.js +7 -1
  43. package/build/esm/createMediaReferenceProperty.js.map +1 -1
  44. package/build/esm/derivedProperties/derivedPropertyRuntimeMetadata.js +2 -0
  45. package/build/esm/derivedProperties/derivedPropertyRuntimeMetadata.js.map +1 -0
  46. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js +30 -0
  47. package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -0
  48. package/build/esm/intellisense.test.js +22 -0
  49. package/build/esm/intellisense.test.js.map +1 -1
  50. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +57 -47
  51. package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
  52. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js +27 -12
  53. package/build/esm/object/convertWireToOsdkObjects/createOsdkInterface.test.js.map +1 -1
  54. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +22 -9
  55. package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
  56. package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
  57. package/build/esm/object/media.test.js +20 -1
  58. package/build/esm/object/media.test.js.map +1 -1
  59. package/build/esm/object/object.test.js +6 -2
  60. package/build/esm/object/object.test.js.map +1 -1
  61. package/build/esm/objectSet/ObjectSet.test.js +7 -0
  62. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  63. package/build/esm/tsserver.js +1 -0
  64. package/build/esm/tsserver.js.map +1 -1
  65. package/build/esm/util/UserAgent.js +1 -1
  66. package/build/esm/util/extractRdpDefinition.js +13 -2
  67. package/build/esm/util/extractRdpDefinition.js.map +1 -1
  68. package/build/esm/util/extractRdpDefinition.test.js +87 -5
  69. package/build/esm/util/extractRdpDefinition.test.js.map +1 -1
  70. package/build/types/createMediaReferenceProperty.d.ts +4 -1
  71. package/build/types/createMediaReferenceProperty.d.ts.map +1 -1
  72. package/build/types/derivedProperties/derivedPropertyRuntimeMetadata.d.ts +6 -0
  73. package/build/types/derivedProperties/derivedPropertyRuntimeMetadata.d.ts.map +1 -0
  74. package/build/types/intellisense.test.helpers/orderBySuggestionIsRight.d.ts +1 -0
  75. package/build/types/intellisense.test.helpers/orderBySuggestionIsRight.d.ts.map +1 -0
  76. package/build/types/object/convertWireToOsdkObjects.d.ts +5 -4
  77. package/build/types/object/convertWireToOsdkObjects.d.ts.map +1 -1
  78. package/build/types/object/object.test.d.ts.map +1 -1
  79. package/build/types/tsserver.d.ts +1 -0
  80. package/build/types/tsserver.d.ts.map +1 -1
  81. package/build/types/util/extractRdpDefinition.d.ts +2 -2
  82. package/build/types/util/extractRdpDefinition.d.ts.map +1 -1
  83. package/package.json +9 -9
  84. package/build/cjs/chunk-ZV5KKQ4R.cjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @osdk/client
2
2
 
3
+ ## 2.3.0-beta.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [d6bccdf]
8
+ - Updated dependencies [e8c4aed]
9
+ - @osdk/client.unstable@2.3.0-beta.5
10
+ - @osdk/api@2.3.0-beta.5
11
+ - @osdk/generator-converters@2.3.0-beta.5
12
+
13
+ ## 2.3.0-beta.4
14
+
15
+ ### Minor Changes
16
+
17
+ - 43c5547: Add 'getMediaReference' method to Media
18
+ - 3736624: Ensure count operations return numbers
19
+ - 3b5ccaa: Fix orderBy argument on object load methods
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies [43c5547]
24
+ - Updated dependencies [cc2ce5f]
25
+ - Updated dependencies [a6c01ff]
26
+ - Updated dependencies [ef46ed6]
27
+ - Updated dependencies [3408ea9]
28
+ - Updated dependencies [3b5ccaa]
29
+ - @osdk/api@2.3.0-beta.4
30
+ - @osdk/client.unstable@2.3.0-beta.4
31
+ - @osdk/generator-converters@2.3.0-beta.4
32
+
3
33
  ## 2.3.0-beta.3
4
34
 
5
35
  ### Patch Changes
@@ -69,7 +69,12 @@ export function createBulkLinksAsyncIterFactory(ctx) {
69
69
  })))
70
70
  }]
71
71
  };
72
- const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, "object-set-service/api")), getResults, applyPageToken, req);
72
+ const bulkLinksIter = pageRequestAsAsyncIter(getBulkLinksPage.bind(undefined, makeConjureContext(ctx, "object-set-service/api")), getResults, (prevReq, prevResult) => applyPageToken({
73
+ ...prevReq,
74
+ pageToken: prevResult.pageToken
75
+ }, {
76
+ pageToken: prevResult.pageToken
77
+ }), req);
73
78
  for await (const item of bulkLinksIter) {
74
79
  const {
75
80
  objectIdentifier
@@ -1 +1 @@
1
- {"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","process","env","NODE_ENV","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.ts"],"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 type { OsdkBase } from \"@osdk/api\";\nimport type { EXPERIMENTAL_BulkLinkResult as BulkLinkResult } from \"@osdk/api/unstable\";\nimport type {\n DirectedLinkTypeRid,\n FoundryObjectReference,\n GetBulkLinksPageRequest,\n ObjectIdentifier,\n} from \"@osdk/client.unstable\";\nimport { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport {\n applyPageToken,\n getResults,\n pageRequestAsAsyncIter,\n} from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\n\nexport function createBulkLinksAsyncIterFactory(ctx: MinimalClient) {\n return async function*(\n objs: Array<OsdkBase<any>>,\n linkTypes: string[],\n ): AsyncGenerator<BulkLinkResult, void, unknown> {\n if (objs.length === 0) {\n return;\n }\n\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all(\n [\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ],\n );\n\n const linkMapping = Object.fromEntries(\n Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)),\n );\n\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n\n const req: GetBulkLinksPageRequest = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map<DirectedLinkTypeRid>(({ directedLinkTypeRid }) =>\n directedLinkTypeRid\n ),\n objects: conjureUnionType(\n \"objects\",\n objs.map<ObjectIdentifier>(o =>\n conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(\n propertyMapping.pk.type.type as \"string\",\n o.$primaryKey as string,\n ),\n },\n })\n ),\n ),\n }],\n };\n\n const bulkLinksIter = pageRequestAsAsyncIter(\n getBulkLinksPage.bind(\n undefined,\n makeConjureContext(ctx, \"object-set-service/api\"),\n ),\n getResults,\n applyPageToken,\n req,\n );\n\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n\n for (const link of item.links) {\n const ref = link.link[\n link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"\n ];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName =\n await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n\n const mappedLink = Object.values(linkMapping).find(a =>\n a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide\n );\n if (!mappedLink) throw new Error(\"Could not find link type\"); // should not happens\n\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\n\nfunction findObject(\n objectIdentifier: ObjectIdentifier,\n objs: (OsdkBase<any>)[],\n) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(\n `Needed to find object with pk ${pkValue}} and could not`,\n );\n }\n return obj;\n}\n\nfunction getPrimaryKeyOrThrow(\n ref: FoundryObjectReference | ObjectIdentifier,\n) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\n \"Unable to support this request due to multiple pks\",\n );\n }\n\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: (pks[0][1] as any)[pks[0][1].type] as unknown,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,OAAOC,SAAS,MAAM,gBAAgB;AAEtC,SAASC,gBAAgB,QAAQ,kCAAkC;AACnE,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,SACEC,cAAc,EACdC,UAAU,EACVC,sBAAsB,QACjB,8BAA8B;AACrC,SAASC,mBAAmB,QAAQ,qBAAqB;AAEzD,OAAO,SAASC,+BAA+BA,CAACC,GAAkB,EAAE;EAClE,OAAO,iBACLC,IAA0B,EAC1BC,SAAmB,EAC4B;IAC/C,IAAID,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;MACrB;IACF;IAEAH,GAAG,CAACI,MAAM,EAAEC,KAAK,CAAC,+BAA+B,CAAC;;IAElD;IACA,CAAUJ,IAAI,CAACK,KAAK,CAACC,CAAC,IAAIA,CAAC,CAACC,WAAW,KAAKP,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAhEnB,SAAS,UAATA,SAAS;IAET,MAAMoB,GAAG,GAAG,MAAMd,mBAAmB,CAACE,GAAG,CAAC;IAC1C,MAAMa,MAAM,GAAG,MAAMD,GAAG,CAACE,kBAAkB,CAACb,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC;IAEhE,MAAM,CAACO,aAAa,EAAEC,eAAe,EAAEC,eAAe,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CACzE,CACEN,MAAM,CAACO,MAAM,CAAC,CAAC,EACfP,MAAM,CAACQ,kBAAkB,CAAC,CAAC,EAC3BR,MAAM,CAACS,cAAc,CAAC,CAAC,CAE3B,CAAC;IAED,MAAMC,WAAW,GAAGC,MAAM,CAACC,WAAW,CACpCD,MAAM,CAACE,OAAO,CAACT,eAAe,CAAC,CAC5BU,MAAM,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK1B,SAAS,CAAC2B,QAAQ,CAACD,OAAO,CAAC,CACtD,CAAC;;IAED;IACA,KAAK,MAAME,QAAQ,IAAI5B,SAAS,EAAE;MAChC,IAAIqB,WAAW,CAACO,QAAQ,CAAC,IAAI,IAAI,EAAE;QACjC,MAAM,4BAA4B,GAAGA,QAAQ;MAC/C;IACF;IAEA,MAAMC,GAA4B,GAAG;MACnCC,gBAAgB,EAAE;QAChBC,OAAO,EAAEC,SAAS;QAClBC,sBAAsB,EAAE;UAAEC,kBAAkB,EAAE,CAAC;QAAE,CAAC;QAClDC,iBAAiB,EAAEH,SAAS;QAC5BI,SAAS,EAAEJ,SAAS;QACpBK,WAAW,EAAEL,SAAS;QACtBM,YAAY,EAAEN;MAChB,CAAC;MACDO,eAAe,EAAE;QACfC,wBAAwB,EAAE,IAAI;QAC9BC,gBAAgB,EAAE;MACpB,CAAC;MACDC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAEX,SAAS;MACpBY,aAAa,EAAE,CAAC;QACdC,iBAAiB,EAAEvB,MAAM,CAACwB,MAAM,CAACzB,WAAW,CAAC,CAC1C0B,GAAG,CAAsB,CAAC;UAAEC;QAAoB,CAAC,KAChDA,mBACF,CAAC;QACHC,OAAO,EAAE1D,gBAAgB,CACvB,SAAS,EACTQ,IAAI,CAACgD,GAAG,CAAmBG,CAAC,IAC1B3D,gBAAgB,CAAC,iBAAiB,EAAE;UAClCsB,aAAa;UACbsC,gBAAgB,EAAE;YAChB,CAACrC,eAAe,CAACsC,EAAE,CAACC,GAAG,GAAG9D,gBAAgB,CACxCuB,eAAe,CAACsC,EAAE,CAACE,IAAI,CAACA,IAAI,EAC5BJ,CAAC,CAACK,WACJ;UACF;QACF,CAAC,CACH,CACF;MACF,CAAC;IACH,CAAC;IAED,MAAMC,aAAa,GAAG7D,sBAAsB,CAC1CN,gBAAgB,CAACoE,IAAI,CACnBzB,SAAS,EACTxC,kBAAkB,CAACM,GAAG,EAAE,wBAAwB,CAClD,CAAC,EACDJ,UAAU,EACVD,cAAc,EACdoC,GACF,CAAC;IAED,WAAW,MAAM6B,IAAI,IAAIF,aAAa,EAAE;MACtC,MAAM;QAAEG;MAAiB,CAAC,GAAGD,IAAI;MACjC,MAAME,GAAG,GAAGC,UAAU,CAACF,gBAAgB,EAAE5D,IAAI,CAAC;MAE9C,KAAK,MAAM+D,IAAI,IAAIJ,IAAI,CAACK,KAAK,EAAE;QAC7B,MAAMC,GAAG,GAAGF,IAAI,CAACA,IAAI,CACnBA,IAAI,CAACG,QAAQ,KAAK,QAAQ,GACtB,aAAa,GACb,aAAa,CAClB;QACD,MAAMb,EAAE,GAAGc,oBAAoB,CAACF,GAAG,CAAC;QACpC,MAAMG,kBAAkB,GACtB,MAAM,CAAC,MAAMzD,GAAG,CAAC0D,cAAc,CAAChB,EAAE,CAACvC,aAAa,CAAC,EAC9CwD,UAAU,CAAC,CAAC;QAEjB,MAAMC,UAAU,GAAGhD,MAAM,CAACwB,MAAM,CAACzB,WAAW,CAAC,CAACkD,IAAI,CAAClE,CAAC,IAClDA,CAAC,CAAC2C,mBAAmB,CAACwB,WAAW,KAAKV,IAAI,CAACA,IAAI,CAACU,WAAW,IACxDnE,CAAC,CAAC2C,mBAAmB,CAACiB,QAAQ,KAAKH,IAAI,CAACG,QAC7C,CAAC;QACD,IAAI,CAACK,UAAU,EAAE,MAAM,IAAIG,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;;QAE9D,MAAM;UACJC,MAAM,EAAEd,GAAG;UACXe,WAAW,EAAEL,UAAU,CAAC5C,OAAO;UAC/ByC,kBAAkB,EAAEA,kBAAkB;UACtCS,aAAa,EAAExB,EAAE,CAACyB;QACpB,CAAC;MACH;IACF;EACF,CAAC;AACH;AAEA,SAAShB,UAAUA,CACjBF,gBAAkC,EAClC5D,IAAuB,EACvB;EACA,MAAM;IAAE8E;EAAQ,CAAC,GAAGX,oBAAoB,CAACP,gBAAgB,CAAC;EAE1D,MAAMC,GAAG,GAAG7D,IAAI,CAACwE,IAAI,CAACrB,CAAC,IAAIA,CAAC,CAACK,WAAW,KAAKsB,OAAO,CAAC;EACrD,IAAIjB,GAAG,IAAI,IAAI,EAAE;IACf,MAAM,IAAIa,KAAK,CACb,iCAAiCI,OAAO,iBAC1C,CAAC;EACH;EACA,OAAOjB,GAAG;AACZ;AAEA,SAASM,oBAAoBA,CAC3BF,GAA8C,EAC9C;EACA,IAAI,MAAM,IAAIA,GAAG,IAAIA,GAAG,CAACV,IAAI,KAAK,iBAAiB,EAAE;IACnD,MAAM,IAAImB,KAAK,CAAC,4CAA4C,CAAC;EAC/D;EAEA,MAAMK,GAAG,GAAGxD,MAAM,CAACE,OAAO,CAACwC,GAAG,CAACe,eAAe,CAAC5B,gBAAgB,CAAC;EAChE,IAAI2B,GAAG,CAAC7E,MAAM,KAAK,CAAC,EAAE;IACpB,MAAM,IAAIwE,KAAK,CACb,oDACF,CAAC;EACH;EAEA,OAAO;IACL5D,aAAa,EAAEmD,GAAG,CAACe,eAAe,CAAClE,aAAa;IAChDgE,OAAO,EAAGC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAASA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACxB,IAAI;EAC5C,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"createBulkLinksAsyncIterFactory.js","names":["getBulkLinksPage","invariant","conjureUnionType","makeConjureContext","applyPageToken","getResults","pageRequestAsAsyncIter","metadataCacheClient","createBulkLinksAsyncIterFactory","ctx","objs","linkTypes","length","logger","debug","every","a","$objectType","process","env","NODE_ENV","mcc","helper","forObjectByApiName","objectTypeRid","propertyMapping","fullLinkMapping","Promise","all","getRid","getPropertyMapping","getLinkMapping","linkMapping","Object","fromEntries","entries","filter","apiName","includes","linkType","req","objectSetContext","forkRid","undefined","objectSetFilterContext","parameterOverrides","ontologyBranchRid","owningRid","reportUsage","workstateRid","responseOptions","includeObjectSetEntities","includeUsageCost","pageSize","pageToken","linksRequests","directedLinkTypes","values","map","directedLinkTypeRid","objects","o","objectPrimaryKey","pk","rid","type","$primaryKey","bulkLinksIter","bind","prevReq","prevResult","item","objectIdentifier","obj","findObject","link","links","ref","linkSide","getPrimaryKeyOrThrow","otherObjectApiName","forObjectByRid","getApiName","mappedLink","find","linkTypeRid","Error","object","linkApiName","otherObjectPk","pkValue","pks","objectLocatorV2"],"sources":["createBulkLinksAsyncIterFactory.ts"],"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 type { OsdkBase } from \"@osdk/api\";\nimport type { EXPERIMENTAL_BulkLinkResult as BulkLinkResult } from \"@osdk/api/unstable\";\nimport type {\n DirectedLinkTypeRid,\n FoundryObjectReference,\n GetBulkLinksPageRequest,\n ObjectIdentifier,\n} from \"@osdk/client.unstable\";\nimport { getBulkLinksPage } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { conjureUnionType } from \"../objectSet/conjureUnionType.js\";\nimport { makeConjureContext } from \"../ontology/makeConjureContext.js\";\nimport {\n applyPageToken,\n getResults,\n pageRequestAsAsyncIter,\n} from \"../pageRequestAsAsyncIter.js\";\nimport { metadataCacheClient } from \"./ConjureSupport.js\";\n\nexport function createBulkLinksAsyncIterFactory(ctx: MinimalClient) {\n return async function*(\n objs: Array<OsdkBase<any>>,\n linkTypes: string[],\n ): AsyncGenerator<BulkLinkResult, void, unknown> {\n if (objs.length === 0) {\n return;\n }\n\n ctx.logger?.debug(\"Preparing to fetch bulk links\");\n\n // require all objects to be the same type for now\n invariant(objs.every(a => a.$objectType === objs[0].$objectType));\n\n const mcc = await metadataCacheClient(ctx);\n const helper = await mcc.forObjectByApiName(objs[0].$objectType);\n\n const [objectTypeRid, propertyMapping, fullLinkMapping] = await Promise.all(\n [\n helper.getRid(),\n helper.getPropertyMapping(),\n helper.getLinkMapping(),\n ],\n );\n\n const linkMapping = Object.fromEntries(\n Object.entries(fullLinkMapping)\n .filter(([apiName]) => linkTypes.includes(apiName)),\n );\n\n // make sure the link being requested exists\n for (const linkType of linkTypes) {\n if (linkMapping[linkType] == null) {\n throw \"Unable to find link type: \" + linkType;\n }\n }\n\n const req: GetBulkLinksPageRequest = {\n objectSetContext: {\n forkRid: undefined,\n objectSetFilterContext: { parameterOverrides: {} },\n ontologyBranchRid: undefined,\n owningRid: undefined,\n reportUsage: undefined,\n workstateRid: undefined,\n },\n responseOptions: {\n includeObjectSetEntities: true,\n includeUsageCost: false,\n },\n pageSize: 1000,\n pageToken: undefined,\n linksRequests: [{\n directedLinkTypes: Object.values(linkMapping)\n .map<DirectedLinkTypeRid>(({ directedLinkTypeRid }) =>\n directedLinkTypeRid\n ),\n objects: conjureUnionType(\n \"objects\",\n objs.map<ObjectIdentifier>(o =>\n conjureUnionType(\"objectLocatorV2\", {\n objectTypeRid,\n objectPrimaryKey: {\n [propertyMapping.pk.rid]: conjureUnionType(\n propertyMapping.pk.type.type as \"string\",\n o.$primaryKey as string,\n ),\n },\n })\n ),\n ),\n }],\n };\n\n const bulkLinksIter = pageRequestAsAsyncIter(\n getBulkLinksPage.bind(\n undefined,\n makeConjureContext(ctx, \"object-set-service/api\"),\n ),\n getResults,\n (prevReq, prevResult) =>\n applyPageToken({ ...prevReq, pageToken: prevResult.pageToken }, {\n pageToken: prevResult.pageToken,\n }),\n req,\n );\n\n for await (const item of bulkLinksIter) {\n const { objectIdentifier } = item;\n const obj = findObject(objectIdentifier, objs);\n\n for (const link of item.links) {\n const ref = link.link[\n link.linkSide === \"SOURCE\"\n ? \"objectSideB\"\n : \"objectSideA\"\n ];\n const pk = getPrimaryKeyOrThrow(ref);\n const otherObjectApiName =\n await (await mcc.forObjectByRid(pk.objectTypeRid))\n .getApiName();\n\n const mappedLink = Object.values(linkMapping).find(a =>\n a.directedLinkTypeRid.linkTypeRid === link.link.linkTypeRid\n && a.directedLinkTypeRid.linkSide === link.linkSide\n );\n if (!mappedLink) throw new Error(\"Could not find link type\"); // should not happens\n\n yield {\n object: obj,\n linkApiName: mappedLink.apiName,\n otherObjectApiName: otherObjectApiName,\n otherObjectPk: pk.pkValue,\n };\n }\n }\n };\n}\n\nfunction findObject(\n objectIdentifier: ObjectIdentifier,\n objs: (OsdkBase<any>)[],\n) {\n const { pkValue } = getPrimaryKeyOrThrow(objectIdentifier);\n\n const obj = objs.find(o => o.$primaryKey === pkValue);\n if (obj == null) {\n throw new Error(\n `Needed to find object with pk ${pkValue}} and could not`,\n );\n }\n return obj;\n}\n\nfunction getPrimaryKeyOrThrow(\n ref: FoundryObjectReference | ObjectIdentifier,\n) {\n if (\"type\" in ref && ref.type !== \"objectLocatorV2\") {\n throw new Error(\"We do not support looking up object by rid\");\n }\n\n const pks = Object.entries(ref.objectLocatorV2.objectPrimaryKey);\n if (pks.length !== 1) {\n throw new Error(\n \"Unable to support this request due to multiple pks\",\n );\n }\n\n return {\n objectTypeRid: ref.objectLocatorV2.objectTypeRid,\n pkValue: (pks[0][1] as any)[pks[0][1].type] as unknown,\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@
16
16
 
17
17
  import * as OntologiesV2 from "@osdk/foundry.ontologies";
18
18
  export class MediaReferencePropertyImpl {
19
+ #mediaReference;
19
20
  #triplet;
20
21
  #client;
21
22
  constructor(args) {
@@ -23,10 +24,12 @@ export class MediaReferencePropertyImpl {
23
24
  client,
24
25
  objectApiName,
25
26
  primaryKey,
26
- propertyName
27
+ propertyName,
28
+ mediaReference
27
29
  } = args;
28
30
  this.#client = client;
29
31
  this.#triplet = [objectApiName, primaryKey, propertyName];
32
+ this.#mediaReference = mediaReference;
30
33
  }
31
34
  async fetchContents() {
32
35
  return OntologiesV2.MediaReferenceProperties.getMediaContent(this.#client, await this.#client.ontologyRid, ...this.#triplet, {
@@ -43,5 +46,8 @@ export class MediaReferencePropertyImpl {
43
46
  mediaType: r.mediaType
44
47
  };
45
48
  }
49
+ getMediaReference() {
50
+ return this.#mediaReference;
51
+ }
46
52
  }
47
53
  //# sourceMappingURL=createMediaReferenceProperty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMediaReferenceProperty.js","names":["OntologiesV2","MediaReferencePropertyImpl","triplet","client","constructor","args","objectApiName","primaryKey","propertyName","fetchContents","MediaReferenceProperties","getMediaContent","ontologyRid","preview","fetchMetadata","r","getMediaMetadata","path","sizeBytes","Number","mediaType"],"sources":["createMediaReferenceProperty.ts"],"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 type { Media, MediaMetadata } from \"@osdk/api\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\n\nexport class MediaReferencePropertyImpl implements Media {\n #triplet: [string, any, string];\n #client: MinimalClient;\n\n constructor(args: {\n client: MinimalClient;\n objectApiName: string;\n primaryKey: any;\n propertyName: string;\n }) {\n const { client, objectApiName, primaryKey, propertyName } = args;\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n }\n\n public async fetchContents(): Promise<Response> {\n return OntologiesV2.MediaReferenceProperties.getMediaContent(\n this.#client,\n await this.#client.ontologyRid,\n ...this.#triplet,\n {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n },\n );\n }\n\n public async fetchMetadata(): Promise<MediaMetadata> {\n const r = await OntologiesV2.MediaReferenceProperties.getMediaMetadata(\n this.#client,\n await this.#client.ontologyRid,\n ...this.#triplet,\n {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n },\n );\n return {\n path: r.path as string,\n sizeBytes: Number(r.sizeBytes),\n mediaType: r.mediaType,\n };\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AAGxD,OAAO,MAAMC,0BAA0B,CAAkB;EACvD,CAACC,OAAO;EACR,CAACC,MAAM;EAEPC,WAAWA,CAACC,IAKX,EAAE;IACD,MAAM;MAAEF,MAAM;MAAEG,aAAa;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGH,IAAI;IAChE,IAAI,CAAC,CAACF,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;EAC3D;EAEA,MAAaC,aAAaA,CAAA,EAAsB;IAC9C,OAAOT,YAAY,CAACU,wBAAwB,CAACC,eAAe,CAC1D,IAAI,CAAC,CAACR,MAAM,EACZ,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAC9B,GAAG,IAAI,CAAC,CAACV,OAAO,EAChB;MACEW,OAAO,EAAE,IAAI,CAAE;IACjB,CACF,CAAC;EACH;EAEA,MAAaC,aAAaA,CAAA,EAA2B;IACnD,MAAMC,CAAC,GAAG,MAAMf,YAAY,CAACU,wBAAwB,CAACM,gBAAgB,CACpE,IAAI,CAAC,CAACb,MAAM,EACZ,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAC9B,GAAG,IAAI,CAAC,CAACV,OAAO,EAChB;MACEW,OAAO,EAAE,IAAI,CAAE;IACjB,CACF,CAAC;IACD,OAAO;MACLI,IAAI,EAAEF,CAAC,CAACE,IAAc;MACtBC,SAAS,EAAEC,MAAM,CAACJ,CAAC,CAACG,SAAS,CAAC;MAC9BE,SAAS,EAAEL,CAAC,CAACK;IACf,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"createMediaReferenceProperty.js","names":["OntologiesV2","MediaReferencePropertyImpl","mediaReference","triplet","client","constructor","args","objectApiName","primaryKey","propertyName","fetchContents","MediaReferenceProperties","getMediaContent","ontologyRid","preview","fetchMetadata","r","getMediaMetadata","path","sizeBytes","Number","mediaType","getMediaReference"],"sources":["createMediaReferenceProperty.ts"],"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 type { Media, MediaMetadata, MediaReference } from \"@osdk/api\";\nimport type { MediaReference as CoreMediaReference } from \"@osdk/foundry.core\";\nimport * as OntologiesV2 from \"@osdk/foundry.ontologies\";\nimport type { MinimalClient } from \"./MinimalClientContext.js\";\n\nexport class MediaReferencePropertyImpl implements Media {\n #mediaReference: MediaReference;\n #triplet: [string, any, string];\n #client: MinimalClient;\n\n constructor(args: {\n client: MinimalClient;\n objectApiName: string;\n primaryKey: any;\n propertyName: string;\n mediaReference: CoreMediaReference;\n }) {\n const {\n client,\n objectApiName,\n primaryKey,\n propertyName,\n mediaReference,\n } = args;\n this.#client = client;\n this.#triplet = [objectApiName, primaryKey, propertyName];\n this.#mediaReference = mediaReference;\n }\n\n public async fetchContents(): Promise<Response> {\n return OntologiesV2.MediaReferenceProperties.getMediaContent(\n this.#client,\n await this.#client.ontologyRid,\n ...this.#triplet,\n {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n },\n );\n }\n\n public async fetchMetadata(): Promise<MediaMetadata> {\n const r = await OntologiesV2.MediaReferenceProperties.getMediaMetadata(\n this.#client,\n await this.#client.ontologyRid,\n ...this.#triplet,\n {\n preview: true, // TODO: Can turn this back off when backend is no longer in beta.\n },\n );\n return {\n path: r.path as string,\n sizeBytes: Number(r.sizeBytes),\n mediaType: r.mediaType,\n };\n }\n\n public getMediaReference(): MediaReference {\n return this.#mediaReference;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,KAAKA,YAAY,MAAM,0BAA0B;AAGxD,OAAO,MAAMC,0BAA0B,CAAkB;EACvD,CAACC,cAAc;EACf,CAACC,OAAO;EACR,CAACC,MAAM;EAEPC,WAAWA,CAACC,IAMX,EAAE;IACD,MAAM;MACJF,MAAM;MACNG,aAAa;MACbC,UAAU;MACVC,YAAY;MACZP;IACF,CAAC,GAAGI,IAAI;IACR,IAAI,CAAC,CAACF,MAAM,GAAGA,MAAM;IACrB,IAAI,CAAC,CAACD,OAAO,GAAG,CAACI,aAAa,EAAEC,UAAU,EAAEC,YAAY,CAAC;IACzD,IAAI,CAAC,CAACP,cAAc,GAAGA,cAAc;EACvC;EAEA,MAAaQ,aAAaA,CAAA,EAAsB;IAC9C,OAAOV,YAAY,CAACW,wBAAwB,CAACC,eAAe,CAC1D,IAAI,CAAC,CAACR,MAAM,EACZ,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAC9B,GAAG,IAAI,CAAC,CAACV,OAAO,EAChB;MACEW,OAAO,EAAE,IAAI,CAAE;IACjB,CACF,CAAC;EACH;EAEA,MAAaC,aAAaA,CAAA,EAA2B;IACnD,MAAMC,CAAC,GAAG,MAAMhB,YAAY,CAACW,wBAAwB,CAACM,gBAAgB,CACpE,IAAI,CAAC,CAACb,MAAM,EACZ,MAAM,IAAI,CAAC,CAACA,MAAM,CAACS,WAAW,EAC9B,GAAG,IAAI,CAAC,CAACV,OAAO,EAChB;MACEW,OAAO,EAAE,IAAI,CAAE;IACjB,CACF,CAAC;IACD,OAAO;MACLI,IAAI,EAAEF,CAAC,CAACE,IAAc;MACtBC,SAAS,EAAEC,MAAM,CAACJ,CAAC,CAACG,SAAS,CAAC;MAC9BE,SAAS,EAAEL,CAAC,CAACK;IACf,CAAC;EACH;EAEOC,iBAAiBA,CAAA,EAAmB;IACzC,OAAO,IAAI,CAAC,CAACpB,cAAc;EAC7B;AACF","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=derivedPropertyRuntimeMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivedPropertyRuntimeMetadata.js","names":[],"sources":["derivedPropertyRuntimeMetadata.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\nimport type { ObjectMetadata } from \"@osdk/api\";\nimport type { DerivedPropertyDefinition } from \"@osdk/foundry.ontologies\";\n\nexport type DerivedPropertyRuntimeMetadata = Record<string, {\n definition: DerivedPropertyDefinition;\n selectedOrCollectedPropertyType: ObjectMetadata.Property | undefined;\n}>;\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Copyright 2024 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
+ void client(Employee).fetchPage({
24
+ $orderBy: {}
25
+ });
26
+ void client(Employee).fetchPage({
27
+ // @ts-expect-error
28
+ $orderBy
29
+ });
30
+ //# sourceMappingURL=orderBySuggestionIsRight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderBySuggestionIsRight.js","names":["Employee","client","fetchPage","$orderBy"],"sources":["orderBySuggestionIsRight.ts"],"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\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 type { Client } from \"../Client.js\";\n\ndeclare const client: Client;\n\nvoid client(Employee).fetchPage({\n $orderBy: {},\n});\n\nvoid client(Employee).fetchPage({\n // @ts-expect-error\n $orderBy,\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;AAKrD,KAAKC,MAAM,CAACD,QAAQ,CAAC,CAACE,SAAS,CAAC;EAC9BC,QAAQ,EAAE,CAAC;AACb,CAAC,CAAC;AAEF,KAAKF,MAAM,CAACD,QAAQ,CAAC,CAACE,SAAS,CAAC;EAC9B;EACAC;AACF,CAAC,CAAC","ignoreList":[]}
@@ -101,5 +101,27 @@ describe("intellisense", () => {
101
101
  });
102
102
  expect(resp.body?.documentation).toMatchInlineSnapshot(`"description: Geotime series reference of the location of the employee"`);
103
103
  });
104
+ it("orderBySuggestionIsRight", {
105
+ timeout: 40_000
106
+ }, async () => {
107
+ const {
108
+ resp
109
+ } = await tsServer.sendCompletionsRequest({
110
+ file: intellisenseFilePath,
111
+ line: 28,
112
+ offset: 14,
113
+ triggerKind: ts.CompletionTriggerKind.Invoked
114
+ });
115
+ expect(resp.body?.entries.length).toBeGreaterThan(2);
116
+ expect(resp.body?.entries.map(e => e.name)).toEqual(["class", "employeeId", "employeeLocation", "employeeSensor", "employeeStatus", "fullName", "office", "startDate"]);
117
+ const {
118
+ resp: resp2
119
+ } = await tsServer.sendQuickInfoRequest({
120
+ file: intellisenseFilePath,
121
+ line: 32,
122
+ offset: 3
123
+ });
124
+ expect(resp2.body?.documentation).not.toEqual("'(property) $orderBy: any'");
125
+ });
104
126
  });
105
127
  //# sourceMappingURL=intellisense.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","dirname","process","env","NODE_ENV","join","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot"],"sources":["intellisense.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport {\n afterEach,\n beforeAll,\n beforeEach,\n describe,\n expect,\n it,\n vi,\n} from \"vitest\";\nimport type { TsServer } from \"./tsserver.js\";\nimport { startTsServer } from \"./tsserver.js\";\n\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async (): Promise<Logger> => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a: string) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\") a = a.slice(0, -1);\n\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino(\n { level: \"info\" },\n (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n }),\n ));\n});\n\ndescribe(\"intellisense\", () => {\n let packagesDir: string;\n let clientPackagePath: string;\n\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.dirname,\n });\n console.log({ clientsPackageJson });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(\n path.dirname(clientsPackageJson),\n \"..\",\n );\n\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n\n let tsServer: TsServer;\n let intellisenseFilePath: string;\n\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(\n clientPackagePath,\n \"src\",\n \"intellisense.test.helpers\",\n `${a.task.name}.ts`,\n );\n\n console.log(intellisenseFilePath);\n\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined as any;\n });\n\n it(\"callsQueryAcceptsObject\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(\n `\"(no ontology metadata)\"`,\n );\n });\n\n it(\"showsObjectPropertyJsdoc\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 26,\n offset: 13,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(\n `\"description: Geotime series reference of the location of the employee\"`,\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"intellisense.test.js","names":["findUpSync","path","invariant","ts","afterEach","beforeAll","beforeEach","describe","expect","it","vi","startTsServer","rootLogger","hoisted","pino","pinoPretty","EventEmitter","Promise","resolve","level","build","sync","timestampKey","undefined","errorLikeObjectKeys","errorProps","ignore","destination","write","a","at","slice","console","log","packagesDir","clientPackagePath","clientsPackageJson","cwd","import","meta","dirname","process","env","NODE_ENV","join","tsServer","intellisenseFilePath","task","name","sys","fileExists","toBeTruthy","sendOpenRequest","file","stop","timeout","resp","sendQuickInfoRequest","line","offset","body","documentation","toMatchInlineSnapshot","sendCompletionsRequest","triggerKind","CompletionTriggerKind","Invoked","entries","length","toBeGreaterThan","map","e","toEqual","resp2","not"],"sources":["intellisense.test.ts"],"sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { Logger } from \"@osdk/api\";\nimport { findUpSync } from \"find-up\";\nimport * as path from \"node:path\";\nimport invariant from \"tiny-invariant\";\nimport * as ts from \"typescript\";\nimport {\n afterEach,\n beforeAll,\n beforeEach,\n describe,\n expect,\n it,\n vi,\n} from \"vitest\";\nimport type { TsServer } from \"./tsserver.js\";\nimport { startTsServer } from \"./tsserver.js\";\n\n// it needs to be hoisted because its referenced from our mocked WebSocket\n// which must be hoisted to work\nconst rootLogger = await vi.hoisted(async (): Promise<Logger> => {\n const pino = (await import(\"pino\")).pino;\n const pinoPretty = await import(\"pino-pretty\");\n const { EventEmitter } = await import(\"node:events\");\n class PinoConsoleLogDestination extends EventEmitter {\n write(a: string) {\n // remove trailing newline since console.log adds one\n if (a.at(-1) === \"\\n\") a = a.slice(0, -1);\n\n // This lets the test framework aggregate the logs per test, whereas direct to stdout does not\n console.log(a);\n }\n }\n return Promise.resolve(pino(\n { level: \"info\" },\n (pinoPretty.build)({\n sync: true,\n timestampKey: undefined,\n errorLikeObjectKeys: [\"error\", \"err\", \"exception\"],\n errorProps: \"stack,cause,properties\",\n ignore: \"time,hostname,pid\",\n destination: new PinoConsoleLogDestination(),\n }),\n ));\n});\n\ndescribe(\"intellisense\", () => {\n let packagesDir: string;\n let clientPackagePath: string;\n\n beforeAll(() => {\n const clientsPackageJson = findUpSync(\"package.json\", {\n cwd: import.meta.dirname,\n });\n console.log({ clientsPackageJson });\n invariant(clientsPackageJson != null);\n packagesDir = path.join(\n path.dirname(clientsPackageJson),\n \"..\",\n );\n\n clientPackagePath = path.join(packagesDir, \"client\");\n });\n\n let tsServer: TsServer;\n let intellisenseFilePath: string;\n\n beforeEach(async (a) => {\n intellisenseFilePath = path.join(\n clientPackagePath,\n \"src\",\n \"intellisense.test.helpers\",\n `${a.task.name}.ts`,\n );\n\n console.log(intellisenseFilePath);\n\n expect(ts.sys.fileExists(intellisenseFilePath)).toBeTruthy();\n\n tsServer = await startTsServer(rootLogger);\n await tsServer.sendOpenRequest({ file: intellisenseFilePath });\n });\n\n afterEach(async () => {\n tsServer.stop();\n tsServer = undefined as any;\n });\n\n it(\"callsQueryAcceptsObject\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 27,\n offset: 6,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(\n `\"(no ontology metadata)\"`,\n );\n });\n\n it(\"showsObjectPropertyJsdoc\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 26,\n offset: 13,\n });\n expect(resp.body?.documentation).toMatchInlineSnapshot(\n `\"description: Geotime series reference of the location of the employee\"`,\n );\n });\n\n it(\"orderBySuggestionIsRight\", { timeout: 40_000 }, async () => {\n const { resp } = await tsServer.sendCompletionsRequest({\n file: intellisenseFilePath,\n line: 28,\n offset: 14,\n triggerKind: ts.CompletionTriggerKind.Invoked,\n });\n expect(resp.body?.entries.length).toBeGreaterThan(2);\n expect(resp.body?.entries.map(e => e.name)).toEqual([\n \"class\",\n \"employeeId\",\n \"employeeLocation\",\n \"employeeSensor\",\n \"employeeStatus\",\n \"fullName\",\n \"office\",\n \"startDate\",\n ]);\n\n const { resp: resp2 } = await tsServer.sendQuickInfoRequest({\n file: intellisenseFilePath,\n line: 32,\n offset: 3,\n });\n expect(resp2.body?.documentation).not.toEqual(\"'(property) $orderBy: any'\");\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -22,19 +22,7 @@ describe(modernToLegacyWhereClause, () => {
22
22
  describe("api namespaces", () => {
23
23
  describe("interfaces", () => {
24
24
  it("properly converts shortname to fqApiName", () => {
25
- const r = modernToLegacyWhereClause({
26
- $and: [{
27
- prop: {
28
- $eq: 5
29
- }
30
- }, {
31
- prop2: {
32
- innerProp1: {
33
- $eq: "myProp"
34
- }
35
- }
36
- }]
37
- }, {
25
+ const T = {
38
26
  type: "interface",
39
27
  apiName: "a.Foo",
40
28
  __DefinitionMetadata: {
@@ -53,9 +41,23 @@ describe(modernToLegacyWhereClause, () => {
53
41
  apiName: "a.Foo",
54
42
  displayName: "",
55
43
  links: {},
56
- rid: ""
44
+ rid: "",
45
+ description: undefined
57
46
  }
58
- });
47
+ };
48
+ const r = modernToLegacyWhereClause({
49
+ $and: [{
50
+ prop: {
51
+ $eq: 5
52
+ }
53
+ }, {
54
+ prop2: {
55
+ innerProp1: {
56
+ $eq: "myProp"
57
+ }
58
+ }
59
+ }]
60
+ }, T);
59
61
  expect(r).toMatchInlineSnapshot(`
60
62
  {
61
63
  "type": "and",
@@ -80,15 +82,7 @@ describe(modernToLegacyWhereClause, () => {
80
82
  `);
81
83
  });
82
84
  it("properly does not convert when interface has no apiNamespace", () => {
83
- const r = modernToLegacyWhereClause({
84
- "b.prop": 5,
85
- foo: 6,
86
- "c.prop2": {
87
- innerProp1: {
88
- $eq: "myProp"
89
- }
90
- }
91
- }, {
85
+ const T = {
92
86
  type: "interface",
93
87
  apiName: "Foo",
94
88
  __DefinitionMetadata: {
@@ -113,9 +107,19 @@ describe(modernToLegacyWhereClause, () => {
113
107
  apiName: "Foo",
114
108
  displayName: "",
115
109
  links: {},
116
- rid: ""
110
+ rid: "",
111
+ description: undefined
117
112
  }
118
- });
113
+ };
114
+ const r = modernToLegacyWhereClause({
115
+ "b.prop": 5,
116
+ foo: 6,
117
+ "c.prop2": {
118
+ innerProp1: {
119
+ $eq: "myProp"
120
+ }
121
+ }
122
+ }, T);
119
123
  expect(r).toMatchInlineSnapshot(`
120
124
  {
121
125
  "type": "and",
@@ -145,15 +149,7 @@ describe(modernToLegacyWhereClause, () => {
145
149
  `);
146
150
  });
147
151
  it("gracefully handles redundant apiNamespace in property", () => {
148
- const r = modernToLegacyWhereClause({
149
- "b.prop": 5,
150
- "a.foo": 6,
151
- "c.prop2": {
152
- innerProp1: {
153
- $eq: "myProp"
154
- }
155
- }
156
- }, {
152
+ const T = {
157
153
  type: "interface",
158
154
  apiName: "a.Foo",
159
155
  __DefinitionMetadata: {
@@ -178,9 +174,19 @@ describe(modernToLegacyWhereClause, () => {
178
174
  apiName: "a.Foo",
179
175
  displayName: "",
180
176
  links: {},
181
- rid: ""
177
+ rid: "",
178
+ description: undefined
182
179
  }
183
- });
180
+ };
181
+ const r = modernToLegacyWhereClause({
182
+ "b.prop": 5,
183
+ "a.foo": 6,
184
+ "c.prop2": {
185
+ innerProp1: {
186
+ $eq: "myProp"
187
+ }
188
+ }
189
+ }, T);
184
190
  expect(r).toMatchInlineSnapshot(`
185
191
  {
186
192
  "type": "and",
@@ -210,9 +216,7 @@ describe(modernToLegacyWhereClause, () => {
210
216
  `);
211
217
  });
212
218
  it("properly does not convert different apiNamespaces", () => {
213
- expect(modernToLegacyWhereClause({
214
- "b.prop": 5
215
- }, {
219
+ const T = {
216
220
  type: "interface",
217
221
  apiName: "a.Foo",
218
222
  __DefinitionMetadata: {
@@ -231,9 +235,13 @@ describe(modernToLegacyWhereClause, () => {
231
235
  apiName: "a.Foo",
232
236
  displayName: "",
233
237
  links: {},
234
- rid: ""
238
+ rid: "",
239
+ description: undefined
235
240
  }
236
- })).toMatchInlineSnapshot(`
241
+ };
242
+ expect(modernToLegacyWhereClause({
243
+ "b.prop": 5
244
+ }, T)).toMatchInlineSnapshot(`
237
245
  {
238
246
  "field": "b.prop",
239
247
  "type": "eq",
@@ -244,9 +252,7 @@ describe(modernToLegacyWhereClause, () => {
244
252
  });
245
253
  describe("objects", () => {
246
254
  it("does not convert object short property names to fq", () => {
247
- const r = modernToLegacyWhereClause({
248
- prop: 5
249
- }, {
255
+ const T = {
250
256
  type: "interface",
251
257
  apiName: "a.Foo",
252
258
  __DefinitionMetadata: {
@@ -262,9 +268,13 @@ describe(modernToLegacyWhereClause, () => {
262
268
  apiName: "a.Foo",
263
269
  displayName: "",
264
270
  links: {},
265
- rid: ""
271
+ rid: "",
272
+ description: undefined
266
273
  }
267
- });
274
+ };
275
+ const r = modernToLegacyWhereClause({
276
+ prop: 5
277
+ }, T);
268
278
  expect(r).toMatchInlineSnapshot(`
269
279
  {
270
280
  "field": "a.prop",