@osdk/api 2.2.0-beta.2 → 2.2.0-beta.20

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 (166) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/build/browser/Logger.js +17 -0
  3. package/build/browser/Logger.js.map +1 -0
  4. package/build/browser/OsdkBase.js.map +1 -1
  5. package/build/browser/OsdkObjectFrom.js +2 -4
  6. package/build/browser/OsdkObjectFrom.js.map +1 -1
  7. package/build/browser/OsdkObjectFrom.test.js +3 -3
  8. package/build/browser/OsdkObjectFrom.test.js.map +1 -1
  9. package/build/browser/actions/ActionResults.js.map +1 -1
  10. package/build/browser/actions/Actions.js.map +1 -1
  11. package/build/browser/aggregate/AggregatableKeys.js.map +1 -1
  12. package/build/browser/derivedProperties/DerivedProperty.js.map +1 -1
  13. package/build/browser/derivedProperties/Expressions.js +2 -0
  14. package/build/browser/derivedProperties/Expressions.js.map +1 -0
  15. package/build/browser/derivedProperties/WithPropertiesAggregationOptions.js.map +1 -1
  16. package/build/browser/experimental/createMediaReference.js +2 -2
  17. package/build/browser/experimental/createMediaReference.js.map +1 -1
  18. package/build/browser/experimental/fetchPageByRid.js +22 -0
  19. package/build/browser/experimental/fetchPageByRid.js.map +1 -0
  20. package/build/browser/groupby/GroupByClause.js.map +1 -1
  21. package/build/browser/index.js.map +1 -1
  22. package/build/browser/mapping/DataValueMapping.js.map +1 -1
  23. package/build/browser/object/FetchPageArgs.js +1 -0
  24. package/build/browser/object/FetchPageArgs.js.map +1 -1
  25. package/build/browser/object/FetchPageResult.js.map +1 -1
  26. package/build/browser/objectSet/BulkLinkResult.js.map +1 -1
  27. package/build/browser/objectSet/ObjectSet.js.map +1 -1
  28. package/build/browser/objectSet/ObjectSet.test.js +424 -9
  29. package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
  30. package/build/browser/ontology/ActionDefinition.js.map +1 -1
  31. package/build/browser/ontology/ObjectOrInterface.js +1 -0
  32. package/build/browser/ontology/ObjectOrInterface.js.map +1 -1
  33. package/build/browser/ontology/ObjectSpecifier.js +2 -0
  34. package/build/browser/ontology/ObjectSpecifier.js.map +1 -0
  35. package/build/browser/ontology/ObjectSpecifier.test.js +53 -0
  36. package/build/browser/ontology/ObjectSpecifier.test.js.map +1 -0
  37. package/build/browser/ontology/ObjectTypeDefinition.js.map +1 -1
  38. package/build/browser/ontology/PrimaryKeyTypes.js.map +1 -1
  39. package/build/browser/ontology/QueryDefinition.js.map +1 -1
  40. package/build/browser/ontology/SimplePropertyDef.js.map +1 -1
  41. package/build/browser/public/unstable.js +1 -0
  42. package/build/browser/public/unstable.js.map +1 -1
  43. package/build/browser/queries/Queries.js.map +1 -1
  44. package/build/browser/test/EmployeeApiTest.js +21 -0
  45. package/build/browser/test/EmployeeApiTest.js.map +1 -0
  46. package/build/browser/test/FooInterfaceApiTest.js +22 -0
  47. package/build/browser/test/FooInterfaceApiTest.js.map +1 -0
  48. package/build/browser/util/IncludeValuesExtending.js +2 -0
  49. package/build/browser/util/IncludeValuesExtending.js.map +1 -0
  50. package/build/cjs/{ObjectSet-C2x3lIr7.d.cts → ObjectSet-DOR8vbgj.d.cts} +214 -59
  51. package/build/cjs/index.d.cts +40 -8
  52. package/build/cjs/public/unstable.cjs +8 -0
  53. package/build/cjs/public/unstable.cjs.map +1 -1
  54. package/build/cjs/public/unstable.d.cts +14 -9
  55. package/build/esm/Logger.js +17 -0
  56. package/build/esm/Logger.js.map +1 -0
  57. package/build/esm/OsdkBase.js.map +1 -1
  58. package/build/esm/OsdkObjectFrom.js +2 -4
  59. package/build/esm/OsdkObjectFrom.js.map +1 -1
  60. package/build/esm/OsdkObjectFrom.test.js +3 -3
  61. package/build/esm/OsdkObjectFrom.test.js.map +1 -1
  62. package/build/esm/actions/ActionResults.js.map +1 -1
  63. package/build/esm/actions/Actions.js.map +1 -1
  64. package/build/esm/aggregate/AggregatableKeys.js.map +1 -1
  65. package/build/esm/derivedProperties/DerivedProperty.js.map +1 -1
  66. package/build/esm/derivedProperties/Expressions.js +2 -0
  67. package/build/esm/derivedProperties/Expressions.js.map +1 -0
  68. package/build/esm/derivedProperties/WithPropertiesAggregationOptions.js.map +1 -1
  69. package/build/esm/experimental/createMediaReference.js +2 -2
  70. package/build/esm/experimental/createMediaReference.js.map +1 -1
  71. package/build/esm/experimental/fetchPageByRid.js +22 -0
  72. package/build/esm/experimental/fetchPageByRid.js.map +1 -0
  73. package/build/esm/groupby/GroupByClause.js.map +1 -1
  74. package/build/esm/index.js.map +1 -1
  75. package/build/esm/mapping/DataValueMapping.js.map +1 -1
  76. package/build/esm/object/FetchPageArgs.js +1 -0
  77. package/build/esm/object/FetchPageArgs.js.map +1 -1
  78. package/build/esm/object/FetchPageResult.js.map +1 -1
  79. package/build/esm/objectSet/BulkLinkResult.js.map +1 -1
  80. package/build/esm/objectSet/ObjectSet.js.map +1 -1
  81. package/build/esm/objectSet/ObjectSet.test.js +424 -9
  82. package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
  83. package/build/esm/ontology/ActionDefinition.js.map +1 -1
  84. package/build/esm/ontology/ObjectOrInterface.js +1 -0
  85. package/build/esm/ontology/ObjectOrInterface.js.map +1 -1
  86. package/build/esm/ontology/ObjectSpecifier.js +2 -0
  87. package/build/esm/ontology/ObjectSpecifier.js.map +1 -0
  88. package/build/esm/ontology/ObjectSpecifier.test.js +53 -0
  89. package/build/esm/ontology/ObjectSpecifier.test.js.map +1 -0
  90. package/build/esm/ontology/ObjectTypeDefinition.js.map +1 -1
  91. package/build/esm/ontology/PrimaryKeyTypes.js.map +1 -1
  92. package/build/esm/ontology/QueryDefinition.js.map +1 -1
  93. package/build/esm/ontology/SimplePropertyDef.js.map +1 -1
  94. package/build/esm/public/unstable.js +1 -0
  95. package/build/esm/public/unstable.js.map +1 -1
  96. package/build/esm/queries/Queries.js.map +1 -1
  97. package/build/esm/test/EmployeeApiTest.js +21 -0
  98. package/build/esm/test/EmployeeApiTest.js.map +1 -0
  99. package/build/esm/test/FooInterfaceApiTest.js +22 -0
  100. package/build/esm/test/FooInterfaceApiTest.js.map +1 -0
  101. package/build/esm/util/IncludeValuesExtending.js +2 -0
  102. package/build/esm/util/IncludeValuesExtending.js.map +1 -0
  103. package/build/types/Logger.d.ts +19 -0
  104. package/build/types/Logger.d.ts.map +1 -0
  105. package/build/types/OsdkBase.d.ts +4 -0
  106. package/build/types/OsdkBase.d.ts.map +1 -1
  107. package/build/types/OsdkObjectFrom.d.ts +16 -10
  108. package/build/types/OsdkObjectFrom.d.ts.map +1 -1
  109. package/build/types/actions/ActionResults.d.ts +4 -0
  110. package/build/types/actions/ActionResults.d.ts.map +1 -1
  111. package/build/types/actions/Actions.d.ts +3 -3
  112. package/build/types/actions/Actions.d.ts.map +1 -1
  113. package/build/types/aggregate/AggregatableKeys.d.ts +10 -8
  114. package/build/types/aggregate/AggregatableKeys.d.ts.map +1 -1
  115. package/build/types/derivedProperties/DerivedProperty.d.ts +41 -14
  116. package/build/types/derivedProperties/DerivedProperty.d.ts.map +1 -1
  117. package/build/types/derivedProperties/Expressions.d.ts +53 -0
  118. package/build/types/derivedProperties/Expressions.d.ts.map +1 -0
  119. package/build/types/derivedProperties/WithPropertiesAggregationOptions.d.ts +6 -3
  120. package/build/types/derivedProperties/WithPropertiesAggregationOptions.d.ts.map +1 -1
  121. package/build/types/experimental/createMediaReference.d.ts +9 -5
  122. package/build/types/experimental/createMediaReference.d.ts.map +1 -1
  123. package/build/types/experimental/fetchPageByRid.d.ts +15 -0
  124. package/build/types/experimental/fetchPageByRid.d.ts.map +1 -0
  125. package/build/types/groupby/GroupByClause.d.ts +6 -0
  126. package/build/types/groupby/GroupByClause.d.ts.map +1 -1
  127. package/build/types/index.d.ts +43 -40
  128. package/build/types/index.d.ts.map +1 -1
  129. package/build/types/mapping/DataValueMapping.d.ts +4 -0
  130. package/build/types/mapping/DataValueMapping.d.ts.map +1 -1
  131. package/build/types/object/FetchPageArgs.d.ts +39 -6
  132. package/build/types/object/FetchPageArgs.d.ts.map +1 -1
  133. package/build/types/object/FetchPageResult.d.ts +6 -4
  134. package/build/types/object/FetchPageResult.d.ts.map +1 -1
  135. package/build/types/objectSet/BulkLinkResult.d.ts +1 -1
  136. package/build/types/objectSet/ObjectSet.d.ts +143 -34
  137. package/build/types/objectSet/ObjectSet.d.ts.map +1 -1
  138. package/build/types/objectSet/ObjectSet.test.d.ts +2 -1
  139. package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -1
  140. package/build/types/ontology/ActionDefinition.d.ts +1 -1
  141. package/build/types/ontology/ActionDefinition.d.ts.map +1 -1
  142. package/build/types/ontology/ObjectOrInterface.d.ts +12 -5
  143. package/build/types/ontology/ObjectOrInterface.d.ts.map +1 -1
  144. package/build/types/ontology/ObjectSpecifier.d.ts +6 -0
  145. package/build/types/ontology/ObjectSpecifier.d.ts.map +1 -0
  146. package/build/types/ontology/ObjectSpecifier.test.d.ts +1 -0
  147. package/build/types/ontology/ObjectSpecifier.test.d.ts.map +1 -0
  148. package/build/types/ontology/ObjectTypeDefinition.d.ts +1 -1
  149. package/build/types/ontology/ObjectTypeDefinition.d.ts.map +1 -1
  150. package/build/types/ontology/PrimaryKeyTypes.d.ts +1 -1
  151. package/build/types/ontology/PrimaryKeyTypes.d.ts.map +1 -1
  152. package/build/types/ontology/QueryDefinition.d.ts +5 -1
  153. package/build/types/ontology/QueryDefinition.d.ts.map +1 -1
  154. package/build/types/ontology/SimplePropertyDef.d.ts +4 -4
  155. package/build/types/ontology/SimplePropertyDef.d.ts.map +1 -1
  156. package/build/types/public/unstable.d.ts +4 -3
  157. package/build/types/public/unstable.d.ts.map +1 -1
  158. package/build/types/queries/Queries.d.ts +2 -2
  159. package/build/types/queries/Queries.d.ts.map +1 -1
  160. package/build/types/test/EmployeeApiTest.d.ts +86 -0
  161. package/build/types/test/EmployeeApiTest.d.ts.map +1 -0
  162. package/build/types/test/FooInterfaceApiTest.d.ts +50 -0
  163. package/build/types/test/FooInterfaceApiTest.d.ts.map +1 -0
  164. package/build/types/util/IncludeValuesExtending.d.ts +4 -0
  165. package/build/types/util/IncludeValuesExtending.d.ts.map +1 -0
  166. package/package.json +2 -2
@@ -56,10 +56,13 @@ interface MediaMetadata {
56
56
  mediaType: string;
57
57
  }
58
58
 
59
+ type DistinctWithPropAggregateOption = "approximateDistinct" | "exactDistinct";
59
60
  type CollectWithPropAggregations = "collectSet" | "collectList";
60
- type BaseWithPropAggregations = "approximateDistinct" | "exactDistinct";
61
- type StringWithPropAggregateOption = BaseWithPropAggregations | CollectWithPropAggregations;
62
- type NumericWithPropAggregateOption = "min" | "max" | "sum" | "avg" | "approximatePercentile" | BaseWithPropAggregations | CollectWithPropAggregations;
61
+ type BaseWithPropAggregations = DistinctWithPropAggregateOption | CollectWithPropAggregations;
62
+ type MinMaxWithPropAggregateOption = "min" | "max";
63
+ type DatetimeWithPropAggregateOption = MinMaxWithPropAggregateOption | BaseWithPropAggregations;
64
+ type NumericWithPropAggregateOption = "sum" | "avg" | "approximatePercentile" | MinMaxWithPropAggregateOption | BaseWithPropAggregations;
65
+ type ValidCollectPropertyKeysForSpecialTypes = "attachment" | "geopoint" | "geoshape" | "boolean";
63
66
 
64
67
  type TimeSeriesQuery = {
65
68
  $before: number;
@@ -244,11 +247,15 @@ type GetWirePropertyValueFromClient<T extends keyof PropertyValueClientToWire |
244
247
  [K in keyof T]: PropertyValueClientToWire[T[K]];
245
248
  } : never;
246
249
 
250
+ type IncludeValuesExtending<T extends Record<keyof any, any>, M> = {
251
+ [K in keyof T as T[K] extends M ? K : never]: T[K];
252
+ };
253
+
247
254
  interface OsdkMetadata {
248
255
  extraUserAgent: string;
249
256
  }
250
257
 
251
- type PrimaryKeyTypes = "string" | "datetime" | "double" | "boolean" | "integer" | "timestamp" | "short" | "long" | "byte";
258
+ type PrimaryKeyTypes = "string" | "datetime" | "double" | "integer" | "timestamp" | "short" | "long" | "byte";
252
259
 
253
260
  type VersionString<Major extends number, Minor extends number, Patch extends number> = `${Major}.${Minor}.${Patch}`;
254
261
 
@@ -322,7 +329,7 @@ interface PropertyDef<T extends WirePropertyTypes, N extends "nullable" | "non-n
322
329
  multiplicity: M extends "array" ? true : false;
323
330
  nullable: N extends "nullable" ? true : false;
324
331
  }
325
- type ReleaseStatus = "ACTIVE" | "EXPERIMENTAL" | "DEPRECATED";
332
+ type ReleaseStatus = "ACTIVE" | "EXPERIMENTAL" | "DEPRECATED" | "ENDORSED";
326
333
  type ObjectTypeVisibility = "NORMAL" | "PROMINENT" | "HIDDEN";
327
334
  type BlueprintIcon = {
328
335
  type: "blueprint";
@@ -344,8 +351,8 @@ interface InterfaceDefinition {
344
351
 
345
352
  type SimplePropertyDef = WirePropertyTypes | undefined | Array<WirePropertyTypes>;
346
353
  declare namespace SimplePropertyDef {
347
- type Make<T extends WirePropertyTypes, N extends boolean | undefined, M extends boolean | undefined> = M extends true ? N extends true ? Array<T> | undefined : Array<T> : N extends true ? T | undefined : T;
348
- type FromPropertyMetadata<P extends ObjectMetadata.Property> = Make<P["type"], P["nullable"], P["multiplicity"]>;
354
+ type Make<T extends WirePropertyTypes, N extends "nullable" | "non-nullable", M extends "array" | "single"> = M extends "array" ? N extends "nullable" ? Array<T> | undefined : Array<T> : N extends "nullable" ? T | undefined : T;
355
+ type FromPropertyMetadata<P extends ObjectMetadata.Property> = Make<P["type"], P["nullable"] extends true ? "nullable" : "non-nullable", P["multiplicity"] extends true ? "array" : "single">;
349
356
  type ExtractMultiplicity<T extends WirePropertyTypes | undefined | Array<WirePropertyTypes>> = NonNullable<T> extends Array<any> ? "array" : "single";
350
357
  type ExtractWirePropertyType<T extends SimplePropertyDef> = T extends Array<infer Z> ? NonNullable<Z> : NonNullable<T>;
351
358
  type ExtractNullable<T extends SimplePropertyDef> = [undefined] extends [T] ? "nullable" : [[undefined]] extends [T] ? "nullable" : "non-nullable";
@@ -367,13 +374,22 @@ declare namespace DerivedObjectOrInterfaceDefinition {
367
374
  };
368
375
  } & K;
369
376
  }
370
- type PropertyKeys<O extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> = (keyof NonNullable<O["__DefinitionMetadata"]>["properties"] | keyof RDPs) & string;
377
+ type PropertyKeys<O extends ObjectOrInterfaceDefinition> = (keyof CompileTimeMetadata<O>["properties"]) & string;
378
+ declare namespace PropertyKeys {
379
+ type Filtered<Q extends ObjectOrInterfaceDefinition, T extends WirePropertyTypes> = keyof IncludeValuesExtending<CompileTimeMetadata<Q>["properties"], {
380
+ type: T;
381
+ }>;
382
+ }
371
383
 
372
- type StringAggregateOption = "approximateDistinct" | "exactDistinct";
373
- type NumericAggregateOption = "min" | "max" | "sum" | "avg" | "approximateDistinct" | "exactDistinct";
374
- type AGG_FOR_TYPE<T, U extends boolean> = number extends T ? U extends true ? NumericAggregateOption : NumericWithPropAggregateOption : string extends T ? U extends true ? StringAggregateOption : StringWithPropAggregateOption : never;
384
+ type BaseAggregateOptions = "approximateDistinct" | "exactDistinct";
385
+ type MinMaxAggregateOption = "min" | "max";
386
+ type DatetimeAggregateOption = MinMaxAggregateOption | BaseAggregateOptions;
387
+ type NumericAggregateOption = "sum" | "avg" | "approximateDistinct" | "exactDistinct" | MinMaxAggregateOption;
388
+ type AGG_FOR_TYPE<WIRE_TYPE extends WirePropertyTypes> = number extends GetWirePropertyValueFromClient<WIRE_TYPE> ? NumericAggregateOption : WIRE_TYPE extends "datetime" | "timestamp" ? DatetimeAggregateOption : BaseAggregateOptions;
389
+ type WITH_PROPERTIES_AGG_FOR_TYPE<WIRE_TYPE extends WirePropertyTypes> = number extends GetWirePropertyValueFromClient<WIRE_TYPE> ? NumericWithPropAggregateOption : WIRE_TYPE extends "datetime" | "timestamp" ? DatetimeWithPropAggregateOption : WIRE_TYPE extends "string" ? BaseWithPropAggregations : WITH_PROPERTIES_AGG_FOR_SPECIAL_WIRE_TYPE<WIRE_TYPE>;
390
+ type WITH_PROPERTIES_AGG_FOR_SPECIAL_WIRE_TYPE<WIRE_TYPE extends WirePropertyTypes> = WIRE_TYPE extends ValidCollectPropertyKeysForSpecialTypes ? BaseWithPropAggregations : DistinctWithPropAggregateOption;
375
391
  type ValidAggregationKeys<Q extends ObjectOrInterfaceDefinition, R extends "aggregate" | "withPropertiesAggregate" = "aggregate"> = keyof ({
376
- [KK in AggregatableKeys<Q> as `${KK & string}:${AGG_FOR_TYPE<GetWirePropertyValueFromClient<CompileTimeMetadata<Q>["properties"][KK]["type"]>, R extends "aggregate" ? true : false>}`]?: any;
392
+ [KK in AggregatableKeys<Q> as `${KK & string}:${R extends "aggregate" ? AGG_FOR_TYPE<CompileTimeMetadata<Q>["properties"][KK]["type"]> : WITH_PROPERTIES_AGG_FOR_TYPE<CompileTimeMetadata<Q>["properties"][KK]["type"]>}`]?: any;
377
393
  } & {
378
394
  $count?: any;
379
395
  });
@@ -399,6 +415,12 @@ type GroupByClause<Q extends ObjectOrInterfaceDefinition> = {
399
415
  };
400
416
  type BaseGroupByValue = "exact" | {
401
417
  $exactWithLimit: number;
418
+ } | ExactGroupByWithOptions;
419
+ type ExactGroupByWithOptions = {
420
+ $exact: {
421
+ $limit?: number;
422
+ $defaultValue?: string;
423
+ };
402
424
  };
403
425
  type GroupByRange<T> = [T, T];
404
426
  type StringGroupByValue = BaseGroupByValue;
@@ -521,22 +543,39 @@ type NullabilityAdherence = false | "throw" | "drop";
521
543
  declare namespace NullabilityAdherence {
522
544
  type Default = "throw";
523
545
  }
546
+ declare namespace ObjectSetArgs {
547
+ interface Select<OBJECT_KEYS extends string = never, RDP_KEYS extends string = never> {
548
+ $select?: readonly (OBJECT_KEYS | RDP_KEYS)[];
549
+ $includeRid?: boolean;
550
+ }
551
+ interface OrderBy<L extends string = never> {
552
+ $orderBy?: {
553
+ [K in L]?: "asc" | "desc";
554
+ };
555
+ }
556
+ interface AsyncIter<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = never, T extends boolean = false, RDP_KEYS extends string = never> extends Select<K, RDP_KEYS>, OrderBy<K> {
557
+ $__UNSTABLE_useOldInterfaceApis?: boolean;
558
+ $includeAllBaseObjectProperties?: PropertyKeys<Q> extends K ? T : never;
559
+ }
560
+ interface FetchPage<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = never, T extends boolean = false, RDP_KEYS extends string = never> extends AsyncIter<Q, K, T, RDP_KEYS> {
561
+ $nextPageToken?: string;
562
+ $pageSize?: number;
563
+ }
564
+ }
524
565
  interface SelectArg<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, S extends NullabilityAdherence = NullabilityAdherence.Default> {
525
566
  $select?: readonly L[];
526
567
  $includeRid?: R;
527
568
  }
528
- interface OrderByArg<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> = PropertyKeys<Q>> {
529
- $orderBy?: {
530
- [K in L]?: "asc" | "desc";
531
- };
569
+ interface OrderByArg<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> = PropertyKeys<Q>> extends ObjectSetArgs.OrderBy<L> {
532
570
  }
533
571
  type SelectArgToKeys<Q extends ObjectOrInterfaceDefinition, A extends SelectArg<Q, any, any>> = A extends SelectArg<Q, never> ? PropertyKeys<Q> : A["$select"] extends readonly string[] ? A["$select"][number] : PropertyKeys<Q>;
534
- interface FetchPageArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default> extends AsyncIterArgs<Q, K, R, A, S> {
572
+ interface FetchPageArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false, RDP_KEYS extends string = never> extends AsyncIterArgs<Q, K, R, A, S, T, RDP_KEYS> {
535
573
  $nextPageToken?: string;
536
574
  $pageSize?: number;
537
575
  }
538
- interface AsyncIterArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default> extends SelectArg<Q, K, R, S>, OrderByArg<Q, PropertyKeys<Q>> {
576
+ interface AsyncIterArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false, RDP_KEYS extends string = never> extends SelectArg<Q, K, R, S>, OrderByArg<Q, PropertyKeys<Q>> {
539
577
  $__UNSTABLE_useOldInterfaceApis?: boolean;
578
+ $includeAllBaseObjectProperties?: PropertyKeys<Q> extends K ? T : never;
540
579
  }
541
580
  type Augment<X extends ObjectOrInterfaceDefinition, T extends string> = {
542
581
  [K in CompileTimeMetadata<X>["apiName"]]: T[];
@@ -585,14 +624,18 @@ type UnionIfTrue<S extends string, UNION_IF_TRUE extends boolean, E extends stri
585
624
  /**
586
625
  * Helper type for converting fetch options into an Osdk object
587
626
  */
588
- type FetchPageResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q>, R extends boolean, S extends NullabilityAdherence> = PageResult<PropertyKeys<Q> extends L ? Osdk.Instance<Q, ExtractOptions<R, S>> : Osdk.Instance<Q, ExtractOptions<R, S>, L>>;
627
+ type FetchPageResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q>, R extends boolean, S extends NullabilityAdherence, T extends boolean = false> = PageResult<PropertyKeys<Q> extends L ? Osdk.Instance<Q, ExtractOptions<R, S, T>> : Osdk.Instance<Q, ExtractOptions<R, S, T>, L>>;
589
628
  /**
590
629
  * Helper type for converting fetch options into an Osdk object
591
630
  */
592
- type SingleOsdkResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> | (keyof RDPs & string), R extends boolean, S extends NullabilityAdherence, RDPs extends Record<string, SimplePropertyDef> = {}> = Osdk.Instance<Q, ExtractOptions<R, S>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
631
+ type SingleOsdkResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> | (keyof RDPs & string), R extends boolean, S extends NullabilityAdherence, RDPs extends Record<string, SimplePropertyDef> = {}, T extends boolean = false> = Osdk.Instance<Q, ExtractOptions<R, S, T>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
593
632
  [K in Extract<keyof RDPs, L>]: RDPs[K];
594
633
  }>;
595
634
 
635
+ type ObjectSpecifier<Q extends ObjectOrInterfaceDefinition> = string & {
636
+ __apiName: Q["apiName"] | (Q extends InterfaceDefinition ? CompileTimeMetadata<Q> extends InterfaceMetadata ? NonNullable<CompileTimeMetadata<Q>["implementedBy"]>[number] : never : never);
637
+ };
638
+
596
639
  type OsdkObjectPrimaryKeyType<Q extends ObjectTypeDefinition> = PropertyValueWireToClient[CompileTimeMetadata<Q>["primaryKeyType"]];
597
640
 
598
641
  type OsdkBase<Q extends ObjectOrInterfaceDefinition> = {
@@ -601,6 +644,9 @@ type OsdkBase<Q extends ObjectOrInterfaceDefinition> = {
601
644
  readonly $primaryKey: PrimaryKeyType<Q>;
602
645
  readonly $title: string | undefined;
603
646
  };
647
+ interface OsdkBaseWithObjectSpecifier<Q extends ObjectOrInterfaceDefinition> extends OsdkBase<Q> {
648
+ readonly $objectSpecifier: ObjectSpecifier<Q>;
649
+ }
604
650
  type PrimaryKeyType<Q extends ObjectOrInterfaceDefinition> = (Q extends ObjectTypeDefinition ? OsdkObjectPrimaryKeyType<Q> : unknown) & PropertyValueWireToClient[PrimaryKeyTypes];
605
651
 
606
652
  type SpecialOsdkPropParams = "$all" | "$rid" | "$strict" | "$notStrict";
@@ -608,15 +654,17 @@ type ValidOsdkPropParams<Q extends ObjectOrInterfaceDefinition> = SpecialOsdkPro
608
654
  type ApiNameAsString<T extends ObjectOrInterfaceDefinition> = CompileTimeMetadata<T>["apiName"];
609
655
  type JustProps<T extends ObjectOrInterfaceDefinition, P extends ValidOsdkPropParams<T>> = P extends "$all" ? PropertyKeys<T> : Exclude<P, SpecialOsdkPropParams>;
610
656
  type PropMapToObject<FROM extends ObjectOrInterfaceDefinition, TO extends ObjectTypeDefinition> = NonNullable<CompileTimeMetadata<TO>["interfaceMap"]>[ApiNameAsString<FROM>];
611
- type MapPropNamesToObjectType<FROM extends ObjectOrInterfaceDefinition, TO extends ObjectTypeDefinition, P extends ValidOsdkPropParams<FROM>> = PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>];
657
+ type MapPropNamesToObjectType<FROM extends ObjectOrInterfaceDefinition, TO extends ObjectTypeDefinition, P extends ValidOsdkPropParams<FROM>, OPTIONS extends never | "$rid" | "$allBaseProperties" = never> = "$allBaseProperties" extends OPTIONS ? PropertyKeys<FROM> extends P ? PropertyKeys<TO> : PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>] : PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>];
612
658
  type PropMapToInterface<FROM extends ObjectTypeDefinition, TO extends InterfaceDefinition> = NonNullable<CompileTimeMetadata<FROM>["inverseInterfaceMap"]>[ApiNameAsString<TO>];
613
659
  type MapPropNamesToInterface<FROM extends ObjectTypeDefinition, TO extends InterfaceDefinition, P extends ValidOsdkPropParams<FROM>> = PropMapToInterface<FROM, TO>[JustProps<FROM, P> & keyof PropMapToInterface<FROM, TO>];
614
660
  /**
661
+ * Older version of this helper that allows for `$rid` and co in
662
+ * the properties field.
615
663
  * @param FROM - the interface or object type to convert from
616
664
  * @param TO - the interface or object type to convert to
617
665
  * @param P - the property(s) to convert
618
666
  */
619
- type ConvertProps<FROM extends ObjectOrInterfaceDefinition, TO extends ValidToFrom<FROM>, P extends ValidOsdkPropParams<FROM>> = TO extends FROM ? P : TO extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToObjectType<FROM, TO, P>, P extends "$rid" ? true : false, "$rid">) : TO extends InterfaceDefinition ? FROM extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToInterface<FROM, TO, P>, P extends "$rid" ? true : false, "$rid">) : never : never;
667
+ type ConvertProps<FROM extends ObjectOrInterfaceDefinition, TO extends ValidToFrom<FROM>, P extends ValidOsdkPropParams<FROM>, OPTIONS extends never | "$rid" | "$allBaseProperties" = never> = TO extends FROM ? P : TO extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToObjectType<FROM, TO, P, OPTIONS>, P extends "$rid" ? true : false, "$rid">) : TO extends InterfaceDefinition ? FROM extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToInterface<FROM, TO, P>, P extends "$rid" ? true : false, "$rid">) : never : never;
620
668
  /** DO NOT EXPORT FROM PACKAGE */
621
669
  type ValidToFrom<FROM extends ObjectOrInterfaceDefinition> = FROM extends InterfaceDefinition ? ObjectOrInterfaceDefinition : InterfaceDefinition;
622
670
  type IsNever<T> = [T] extends [never] ? true : false;
@@ -628,13 +676,13 @@ type GetPropsKeys<Q extends ObjectOrInterfaceDefinition, P extends PropertyKeys<
628
676
  */
629
677
  type Osdk<Q extends ObjectOrInterfaceDefinition, OPTIONS extends string = never, P extends PropertyKeys<Q> = PropertyKeys<Q>> = IsNever<OPTIONS> extends true ? Osdk.Instance<Q, never, P> : IsAny<OPTIONS> extends true ? Osdk.Instance<Q, never, P> : (IsNever<Exclude<OPTIONS, "$rid">>) extends true ? Osdk.Instance<Q, OPTIONS & "$rid", P> : Osdk.Instance<Q, ("$rid" extends OPTIONS ? "$rid" : never), ExtractPropsKeysFromOldPropsStyle<Q, OPTIONS>>;
630
678
  declare namespace Osdk {
631
- type Instance<Q extends ObjectOrInterfaceDefinition, OPTIONS extends never | "$rid" = never, P extends PropertyKeys<Q> = PropertyKeys<Q>, R extends Record<string, SimplePropertyDef> = {}> = OsdkBase<Q> & Pick<CompileTimeMetadata<Q>["props"], GetPropsKeys<Q, P, [R] extends [{}] ? false : true>> & ([R] extends [never] ? {} : {
679
+ type Instance<Q extends ObjectOrInterfaceDefinition, OPTIONS extends never | "$rid" | "$allBaseProperties" = never, P extends PropertyKeys<Q> = PropertyKeys<Q>, R extends Record<string, SimplePropertyDef> = {}> = OsdkBaseWithObjectSpecifier<Q> & Pick<CompileTimeMetadata<Q>["props"], GetPropsKeys<Q, P, [R] extends [{}] ? false : true>> & ([R] extends [never] ? {} : {
632
680
  [A in keyof R]: SimplePropertyDef.ToRuntimeProperty<R[A]>;
633
681
  }) & {
634
682
  readonly $link: Q extends {
635
683
  linksType?: any;
636
684
  } ? Q["linksType"] : Q extends ObjectTypeDefinition ? OsdkObjectLinksObject<Q> : never;
637
- readonly $as: <NEW_Q extends ValidToFrom<Q>>(type: NEW_Q | string) => Osdk.Instance<NEW_Q, OPTIONS, ConvertProps<Q, NEW_Q, P>>;
685
+ readonly $as: <NEW_Q extends ValidToFrom<Q>>(type: NEW_Q | string) => Osdk.Instance<NEW_Q, OPTIONS, ConvertProps<Q, NEW_Q, P, OPTIONS>>;
638
686
  readonly $clone: <NEW_PROPS extends PropertyKeys<Q>>(updatedObject?: Osdk.Instance<Q, any, NEW_PROPS> | {
639
687
  [K in NEW_PROPS]?: CompileTimeMetadata<Q>["props"][K];
640
688
  }) => Osdk.Instance<Q, OPTIONS, P | NEW_PROPS>;
@@ -648,7 +696,8 @@ declare namespace Osdk {
648
696
  * Anything you throw at this that is not exactly `true` should always be `never`.
649
697
  */
650
698
  type ExtractRidOption<R extends boolean> = IsNever<R> extends true ? never : DefaultToFalse<R> extends false ? never : "$rid";
651
- type ExtractOptions<R extends boolean, S extends NullabilityAdherence = NullabilityAdherence.Default> = ExtractRidOption<R>;
699
+ type ExtractAllPropertiesOption<T extends boolean> = IsNever<T> extends true ? never : DefaultToFalse<T> extends false ? never : "$allBaseProperties";
700
+ type ExtractOptions<R extends boolean, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false> = ExtractRidOption<R> | ExtractAllPropertiesOption<T>;
652
701
 
653
702
  type Just<Z extends keyof V, V> = {
654
703
  [k in Z]: V[k];
@@ -897,20 +946,53 @@ type WhereClause<T extends ObjectOrInterfaceDefinition> = OrWhereClause<T> | And
897
946
  type LinkNames<Q extends ObjectOrInterfaceDefinition> = keyof CompileTimeMetadata<Q>["links"] & string;
898
947
  type LinkedType<Q extends ObjectOrInterfaceDefinition, L extends LinkNames<Q>> = NonNullable<CompileTimeMetadata<Q>["links"][L]["__OsdkLinkTargetType"]>;
899
948
 
949
+ type WithPropertiesNumerics = "integer" | "double" | "float" | "short" | "long";
950
+ type WithPropertiesDatetime = "datetime" | "timestamp";
951
+ type DefinitionForType<Q extends ObjectOrInterfaceDefinition, T extends SimplePropertyDef> = SimplePropertyDef.ExtractMultiplicity<T> extends "array" ? DerivedProperty.Definition<T, Q> : SimplePropertyDef.ExtractWirePropertyType<T> extends WithPropertiesNumerics ? DerivedProperty.NumericPropertyDefinition<T, Q> : SimplePropertyDef.ExtractWirePropertyType<T> extends WithPropertiesDatetime ? DerivedProperty.DatetimePropertyDefinition<T, Q> : DerivedProperty.Definition<T, Q>;
952
+ type NumericExpressionArg<Q extends ObjectOrInterfaceDefinition> = number | DerivedProperty.NumericPropertyDefinition<any, Q>;
953
+ type ReturnTypeForNumericMethod<Q extends ObjectOrInterfaceDefinition, LEFT extends WirePropertyTypes, RIGHT extends WirePropertyTypes> = "double" extends (LEFT | RIGHT) ? DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"double", "non-nullable", "single">, Q> : "float" extends (LEFT | RIGHT) ? DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"double", "non-nullable", "single">, Q> : "long" extends (LEFT | RIGHT) ? DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"long", "non-nullable", "single">, Q> : DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"integer", "non-nullable", "single">, Q>;
954
+ type ReturnTypeForDatetimeMethod<Q extends ObjectOrInterfaceDefinition, LEFT extends WirePropertyTypes, RIGHT extends WirePropertyTypes> = "timestamp" extends (LEFT | RIGHT) ? DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"timestamp", "non-nullable", "single">, Q> : DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"datetime", "non-nullable", "single">, Q>;
955
+ type ExtractWirePropertyTypeFromNumericArg<Q extends ObjectOrInterfaceDefinition, ARG extends NumericExpressionArg<Q>> = ARG extends number ? "double" : ARG extends DerivedProperty.NumericPropertyDefinition<infer T, Q> ? T extends SimplePropertyDef ? SimplePropertyDef.ExtractWirePropertyType<T> : never : ARG extends PropertyKeys.Filtered<Q, WithPropertiesNumerics> ? NonNullable<CompileTimeMetadata<Q>["properties"][ARG]["type"]> : never;
956
+ type NumericExpressions<Q extends ObjectOrInterfaceDefinition, LEFT_PROPERTY_TYPE extends SimplePropertyDef> = {
957
+ readonly add: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
958
+ readonly subtract: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
959
+ readonly multiply: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
960
+ readonly divide: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
961
+ readonly abs: () => DerivedProperty.NumericPropertyDefinition<LEFT_PROPERTY_TYPE, Q>;
962
+ readonly negate: () => DerivedProperty.NumericPropertyDefinition<LEFT_PROPERTY_TYPE, Q>;
963
+ readonly max: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
964
+ readonly min: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
965
+ };
966
+ type DatetimeExpressionArg<Q extends ObjectOrInterfaceDefinition> = DerivedProperty.DatetimePropertyDefinition<any, Q>;
967
+ type ExtractPropertyTypeFromDatetimeArg<Q extends ObjectOrInterfaceDefinition, ARG extends DatetimeExpressionArg<Q>> = ARG extends DerivedProperty.DatetimePropertyDefinition<infer T, Q> ? T extends SimplePropertyDef ? SimplePropertyDef.ExtractWirePropertyType<T> : never : ARG extends PropertyKeys.Filtered<Q, WithPropertiesDatetime> ? NonNullable<CompileTimeMetadata<Q>["properties"][ARG]["type"]> : never;
968
+ type DatetimeExpressions<Q extends ObjectOrInterfaceDefinition, LEFT_PROPERTY_TYPE extends SimplePropertyDef> = {
969
+ readonly min: <A extends DatetimeExpressionArg<Q>>(value: A) => ReturnTypeForDatetimeMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractPropertyTypeFromDatetimeArg<Q, A>>;
970
+ readonly max: (value: DatetimeExpressionArg<Q>) => ReturnTypeForDatetimeMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractPropertyTypeFromDatetimeArg<Q, typeof value>>;
971
+ readonly extractPart: (value: DerivedProperty.ValidParts) => DerivedProperty.Definition<SimplePropertyDef.Make<"string", "non-nullable", "single">, Q>;
972
+ };
973
+
900
974
  declare namespace DerivedProperty {
901
- type SelectorResult<T extends SimplePropertyDef> = {
975
+ export interface Definition<T extends SimplePropertyDef, Q extends ObjectOrInterfaceDefinition> {
902
976
  type: T;
977
+ }
978
+ export interface NumericPropertyDefinition<T extends SimplePropertyDef, Q extends ObjectOrInterfaceDefinition> extends Definition<T, Q>, NumericExpressions<Q, T> {
979
+ }
980
+ export interface DatetimePropertyDefinition<T extends SimplePropertyDef, Q extends ObjectOrInterfaceDefinition> extends Definition<T, Q>, DatetimeExpressions<Q, T> {
981
+ }
982
+ export type Clause<Q extends ObjectOrInterfaceDefinition> = {
983
+ [key: string]: Creator<Q, SimplePropertyDef>;
903
984
  };
904
- type Clause<Q extends ObjectOrInterfaceDefinition> = {
905
- [key: string]: Selector<Q, SimplePropertyDef>;
906
- };
907
- type Selector<Q extends ObjectOrInterfaceDefinition, T extends SimplePropertyDef> = (baseObjectSet: DerivedProperty.Builder<Q, false>) => SelectorResult<T>;
908
- interface Builder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends Filterable<Q, CONSTRAINED>, Pivotable<Q, CONSTRAINED> {
985
+ export type Creator<Q extends ObjectOrInterfaceDefinition, T extends SimplePropertyDef> = (baseObjectSet: Builder<Q, false>) => Definition<T, Q> | NumericPropertyDefinition<T, Q> | DatetimePropertyDefinition<T, Q>;
986
+ interface BaseBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends Filterable<Q, CONSTRAINED>, Pivotable<Q, CONSTRAINED> {
909
987
  }
910
- interface AggregateBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends Builder<Q, CONSTRAINED>, Aggregatable<Q> {
988
+ export interface Builder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends BaseBuilder<Q, CONSTRAINED>, Selectable<Q>, Constant<Q> {
911
989
  }
912
- interface SelectPropertyBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends AggregateBuilder<Q, CONSTRAINED>, Selectable<Q> {
990
+ export interface AggregateBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends BaseBuilder<Q, CONSTRAINED>, Aggregatable<Q> {
913
991
  }
992
+ export interface SelectPropertyBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends AggregateBuilder<Q, CONSTRAINED>, Selectable<Q> {
993
+ }
994
+ export type ValidParts = "DAYS" | "MONTHS" | "QUARTERS" | "YEARS";
995
+ export { };
914
996
  }
915
997
  type BuilderTypeFromConstraint<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> = CONSTRAINED extends true ? DerivedProperty.AggregateBuilder<Q, true> : DerivedProperty.SelectPropertyBuilder<Q, false>;
916
998
  type Filterable<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> = {
@@ -919,15 +1001,24 @@ type Filterable<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boole
919
1001
  type Pivotable<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> = {
920
1002
  readonly pivotTo: <L extends LinkNames<Q>>(type: L) => CONSTRAINED extends true ? DerivedProperty.AggregateBuilder<LinkedType<Q, L>, true> : NonNullable<CompileTimeMetadata<Q>["links"][L]["multiplicity"]> extends true ? DerivedProperty.AggregateBuilder<LinkedType<Q, L>, true> : DerivedProperty.SelectPropertyBuilder<LinkedType<Q, L>, false>;
921
1003
  };
1004
+ type Constant<Q extends ObjectOrInterfaceDefinition> = {
1005
+ readonly constant: {
1006
+ readonly double: (value: number) => DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"double", "non-nullable", "single">, Q>;
1007
+ readonly integer: (value: number) => DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"integer", "non-nullable", "single">, Q>;
1008
+ readonly long: (value: string) => DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"long", "non-nullable", "single">, Q>;
1009
+ readonly datetime: (value: string) => DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"datetime", "non-nullable", "single">, Q>;
1010
+ readonly timestamp: (value: string) => DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"timestamp", "non-nullable", "single">, Q>;
1011
+ };
1012
+ };
922
1013
  type Aggregatable<Q extends ObjectOrInterfaceDefinition> = {
923
1014
  readonly aggregate: <V extends ValidAggregationKeys<Q, "withPropertiesAggregate">>(aggregationSpecifier: V, opts?: V extends `${any}:${infer P}` ? P extends CollectWithPropAggregations ? {
924
1015
  limit: number;
925
1016
  } : P extends "approximatePercentile" ? {
926
1017
  percentile: number;
927
- } : never : never) => DerivedProperty.SelectorResult<V extends `${infer N}:${infer P}` ? P extends CollectWithPropAggregations ? Array<CompileTimeMetadata<Q>["properties"][N]["type"]> | undefined : P extends "approximateDistinct" | "exactDistinct" | "$count" ? "integer" | undefined : "double" | undefined : V extends "$count" ? "integer" | undefined : never>;
1018
+ } : never : never) => DefinitionForType<Q, V extends `${infer N}:${infer P}` ? P extends CollectWithPropAggregations ? SimplePropertyDef.Make<CompileTimeMetadata<Q>["properties"][N]["type"], "nullable", "array"> : P extends MinMaxWithPropAggregateOption ? SimplePropertyDef.Make<CompileTimeMetadata<Q>["properties"][N]["type"], "nullable", "single"> : P extends "approximateDistinct" | "exactDistinct" ? SimplePropertyDef.Make<"integer", "non-nullable", "single"> : SimplePropertyDef.Make<"double", "nullable", "single"> : V extends "$count" ? SimplePropertyDef.Make<"integer", "non-nullable", "single"> : never>;
928
1019
  };
929
1020
  type Selectable<Q extends ObjectOrInterfaceDefinition> = {
930
- readonly selectProperty: <R extends PropertyKeys<Q>>(propertyName: R) => DerivedProperty.SelectorResult<SimplePropertyDef.Make<CompileTimeMetadata<Q>["properties"][R]["type"], CompileTimeMetadata<Q>["properties"][R]["nullable"], CompileTimeMetadata<Q>["properties"][R]["multiplicity"]>>;
1021
+ readonly selectProperty: <R extends PropertyKeys<Q>>(propertyName: R) => DefinitionForType<Q, SimplePropertyDef.Make<CompileTimeMetadata<Q>["properties"][R]["type"], CompileTimeMetadata<Q>["properties"][R]["nullable"] extends true ? "nullable" : "non-nullable", CompileTimeMetadata<Q>["properties"][R]["multiplicity"] extends true ? "array" : "single">>;
931
1022
  };
932
1023
 
933
1024
  interface BaseObjectSet<Q extends ObjectOrInterfaceDefinition> {
@@ -974,11 +1065,29 @@ type ObjectUpdate<O extends ObjectOrInterfaceDefinition, P extends PropertyKeys<
974
1065
  state: "ADDED_OR_UPDATED" | "REMOVED";
975
1066
  };
976
1067
 
977
- type MergeObjectSet<Q extends ObjectOrInterfaceDefinition, D extends ObjectSet<Q> | Record<string, SimplePropertyDef> = {}> = D extends Record<string, SimplePropertyDef> ? DerivedObjectOrInterfaceDefinition.WithDerivedProperties<Q, D> : Q;
978
- type ExtractRdp<D extends ObjectSet<any, any> | Record<string, SimplePropertyDef>> = D extends Record<string, SimplePropertyDef> ? D : {};
1068
+ type MergeObjectSet<Q extends ObjectOrInterfaceDefinition, D extends Record<string, SimplePropertyDef> = {}> = DerivedObjectOrInterfaceDefinition.WithDerivedProperties<Q, D>;
1069
+ type ExtractRdp<D extends BaseObjectSet<any> | Record<string, SimplePropertyDef>> = [D] extends [never] ? {} : D extends BaseObjectSet<any> ? {} : D extends Record<string, SimplePropertyDef> ? D : {};
1070
+ type MaybeSimplifyPropertyKeys<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q>> = PropertyKeys<Q> extends L ? PropertyKeys<Q> : L;
1071
+ type SubSelectKeysHelper<Q extends ObjectOrInterfaceDefinition, L extends string> = [L] extends [never] ? PropertyKeys<Q> : PropertyKeys<Q> extends L ? PropertyKeys<Q> : L & PropertyKeys<Q>;
1072
+ type SubSelectKeys<Q extends ObjectOrInterfaceDefinition, X extends SelectArg<Q, PropertyKeys<Q>, any, any> = never> = SubSelectKeysHelper<Q, Extract$Select<X>>;
1073
+ type NOOP<T> = T extends (...args: any[]) => any ? T : T extends abstract new (...args: any[]) => any ? T : {
1074
+ [K in keyof T]: T[K];
1075
+ };
1076
+ type SubSelectRDPsHelper<X extends ValidFetchPageArgs<any, any> | ValidAsyncIterArgs<any, any>, DEFAULT extends string> = [X] extends [never] ? DEFAULT : (X["$select"] & string[])[number] & DEFAULT;
1077
+ type SubSelectRDPs<RDPs extends Record<string, SimplePropertyDef>, X extends ValidFetchPageArgs<any, RDPs> | ValidAsyncIterArgs<any, RDPs>> = [RDPs] extends [never] ? never : NOOP<{
1078
+ [K in SubSelectRDPsHelper<X, string & keyof RDPs>]: RDPs[K];
1079
+ }>;
979
1080
  interface MinimalObjectSet<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> extends BaseObjectSet<Q>, FetchPage<Q, RDPs>, AsyncIter<Q, RDPs>, Where<Q, RDPs> {
980
1081
  }
1082
+ type ExtractOptions2<X extends FetchPageArgs<any, any, any, any, any, any, any>> = [X] extends [never] ? never : ExtractRidOption<X["$includeRid"] extends true ? true : false> | ExtractAllPropertiesOption<X["$includeAllBaseObjectProperties"] extends true ? true : false>;
1083
+ type Extract$Select<X extends FetchPageArgs<any, any>> = NonNullable<X["$select"]>[number];
981
1084
  interface FetchPage<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
1085
+ readonly fetchPage: FetchPageSignature<Q, RDPs>;
1086
+ readonly fetchPageWithErrors: FetchPageWithErrorsSignature<Q, RDPs>;
1087
+ }
1088
+ type ValidFetchPageArgs<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef>> = ObjectSetArgs.FetchPage<Q, PropertyKeys<Q>, false, string & keyof RDPs> | ObjectSetArgs.FetchPage<Q, never, true, string & keyof RDPs>;
1089
+ type ValidAsyncIterArgs<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef>> = ObjectSetArgs.AsyncIter<Q, PropertyKeys<Q>, false, string & keyof RDPs> | AsyncIterArgs<Q, never, any, any, any, true, string & keyof RDPs>;
1090
+ interface FetchPageSignature<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
982
1091
  /**
983
1092
  * Gets a page of objects of this type, with a result wrapper
984
1093
  * @param args - Args to specify next page token and page size, if applicable
@@ -991,9 +1100,22 @@ interface FetchPage<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<s
991
1100
 
992
1101
  * @returns a page of objects
993
1102
  */
994
- readonly fetchPage: <L extends PropertyKeys<Q, RDPs>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default>(args?: FetchPageArgs<Q, L, R, A, S>) => Promise<PageResult<Osdk.Instance<Q, ExtractOptions<R, S>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
995
- [K in Extract<keyof RDPs, L>]: RDPs[K];
996
- }>>>;
1103
+ <const X extends ValidFetchPageArgs<Q, RDPs> = never>(args?: X): Promise<PageResult<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>>;
1104
+ /**
1105
+ * Gets a page of objects of this type, with a result wrapper
1106
+ * @param args - Args to specify next page token and page size, if applicable
1107
+ * @example
1108
+ * const myObjs = await objectSet.fetchPage({
1109
+ $pageSize: 10,
1110
+ $nextPageToken: "nextPage"
1111
+ });
1112
+ const myObjsResult = myObjs.data;
1113
+
1114
+ * @returns a page of objects
1115
+ */
1116
+ <L extends PropertyKeys<Q>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false>(args?: FetchPageArgs<Q, L, R, A, S, T>): Promise<PageResult<Osdk.Instance<Q, ExtractOptions<R, S, T>, MaybeSimplifyPropertyKeys<Q, L>>>>;
1117
+ }
1118
+ interface FetchPageWithErrorsSignature<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
997
1119
  /**
998
1120
  * Gets a page of objects of this type, with a result wrapper
999
1121
  * @param args - Args to specify next page token and page size, if applicable
@@ -1008,9 +1130,22 @@ interface FetchPage<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<s
1008
1130
  }
1009
1131
  * @returns a page of objects, wrapped in a result wrapper
1010
1132
  */
1011
- readonly fetchPageWithErrors: <L extends PropertyKeys<Q, RDPs>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default>(args?: FetchPageArgs<Q, L, R, A, S>) => Promise<Result<PageResult<Osdk.Instance<Q, ExtractOptions<R, S>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
1012
- [K in Extract<keyof RDPs, L>]: RDPs[K];
1013
- }>>>>;
1133
+ <X extends ValidFetchPageArgs<Q, RDPs> = never>(args?: X): Promise<Result<PageResult<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>>>;
1134
+ /**
1135
+ * Gets a page of objects of this type, with a result wrapper
1136
+ * @param args - Args to specify next page token and page size, if applicable
1137
+ * @example
1138
+ * const myObjs = await objectSet.fetchPage({
1139
+ $pageSize: 10,
1140
+ $nextPageToken: "nextPage"
1141
+ });
1142
+
1143
+ if(isOk(myObjs)){
1144
+ const myObjsResult = myObjs.value.data;
1145
+ }
1146
+ * @returns a page of objects, wrapped in a result wrapper
1147
+ */
1148
+ <L extends PropertyKeys<Q>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false>(args?: FetchPageArgs<Q, L, R, A, S, T>): Promise<Result<PageResult<Osdk.Instance<Q, ExtractOptions<R, S, T>, MaybeSimplifyPropertyKeys<Q, L>>>>>;
1014
1149
  }
1015
1150
  interface Where<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
1016
1151
  /**
@@ -1025,7 +1160,16 @@ interface Where<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<strin
1025
1160
  */
1026
1161
  readonly where: (clause: WhereClause<MergeObjectSet<Q, RDPs>>) => this;
1027
1162
  }
1028
- interface AsyncIter<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
1163
+ interface AsyncIterSignature<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
1164
+ /**
1165
+ * Returns an async iterator to load all objects of this type
1166
+ * @example
1167
+ * for await (const obj of myObjectSet.asyncIter()){
1168
+ * // Handle obj
1169
+ * }
1170
+ * @returns an async iterator to load all objects
1171
+ */
1172
+ <X extends ValidAsyncIterArgs<Q, RDPs> = never>(args?: X): AsyncIterableIterator<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>;
1029
1173
  /**
1030
1174
  * Returns an async iterator to load all objects of this type
1031
1175
  * @example
@@ -1034,18 +1178,19 @@ interface AsyncIter<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<s
1034
1178
  * }
1035
1179
  * @returns an async iterator to load all objects
1036
1180
  */
1037
- readonly asyncIter: <L extends PropertyKeys<Q, RDPs>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default>(args?: AsyncIterArgs<Q, L, R, A, S>) => AsyncIterableIterator<Osdk.Instance<Q, ExtractOptions<R, S>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
1038
- [K in Extract<keyof RDPs, L>]: RDPs[K];
1039
- }>>;
1181
+ <L extends PropertyKeys<Q>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false>(args?: AsyncIterArgs<Q, L, R, A, S, T>): AsyncIterableIterator<Osdk.Instance<Q, ExtractOptions<R, S, T>, MaybeSimplifyPropertyKeys<Q, L>>>;
1182
+ }
1183
+ interface AsyncIter<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
1184
+ asyncIter: AsyncIterSignature<Q, RDPs>;
1040
1185
  }
1041
1186
  interface WithProperties<Q extends ObjectOrInterfaceDefinition = any, RDPs extends Record<string, SimplePropertyDef> = {}> {
1042
1187
  readonly withProperties: <NEW extends Record<string, SimplePropertyDef>>(clause: {
1043
- [K in keyof NEW]: DerivedProperty.Selector<Q, NEW[K]>;
1188
+ [K in keyof NEW]: DerivedProperty.Creator<Q, NEW[K]>;
1044
1189
  }) => ObjectSet<Q, {
1045
1190
  [NN in keyof NEW | keyof RDPs]: NN extends keyof NEW ? NEW[NN] : NN extends keyof RDPs ? RDPs[NN] : never;
1046
1191
  }>;
1047
1192
  }
1048
- interface ObjectSet<Q extends ObjectOrInterfaceDefinition = any, UNUSED_OR_RDP extends ObjectSet<Q, any> | Record<string, SimplePropertyDef> = ObjectSet<Q, any>> extends ObjectSetCleanedTypes<Q, ExtractRdp<UNUSED_OR_RDP>, MergeObjectSet<Q, UNUSED_OR_RDP>> {
1193
+ interface ObjectSet<Q extends ObjectOrInterfaceDefinition = any, UNUSED_OR_RDP extends BaseObjectSet<Q> | Record<string, SimplePropertyDef> = never> extends ObjectSetCleanedTypes<Q, ExtractRdp<UNUSED_OR_RDP>, MergeObjectSet<Q, ExtractRdp<UNUSED_OR_RDP>>> {
1049
1194
  }
1050
1195
  interface Aggregate<Q extends ObjectOrInterfaceDefinition> {
1051
1196
  /**
@@ -1111,21 +1256,31 @@ interface PivotTo<Q extends ObjectOrInterfaceDefinition> {
1111
1256
  * @param type - The linked object type you want to pivot to
1112
1257
  * @returns an object set of the specified linked type
1113
1258
  */
1114
- readonly pivotTo: <L extends LinkNames<Q>>(type: L) => CompileTimeMetadata<LinkedType<Q, L>>["objectSet"];
1259
+ readonly pivotTo: <L extends LinkNames<Q>>(type: L) => ObjectSet<LinkedType<Q, L>>;
1115
1260
  }
1116
- interface FetchOne<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef>> {
1261
+ interface FetchOneSignature<Q extends ObjectTypeDefinition, RDPs extends Record<string, SimplePropertyDef>> {
1117
1262
  /**
1118
1263
  * Fetches one object with the specified primary key, without a result wrapper
1119
1264
  */
1120
- readonly fetchOne: Q extends ObjectTypeDefinition ? <const L extends PropertyKeys<Q, RDPs>, const R extends boolean, const S extends false | "throw" = NullabilityAdherence.Default>(primaryKey: PrimaryKeyType<Q>, options?: SelectArg<Q, L, R, S>) => Promise<Osdk.Instance<Q, ExtractOptions<R, S>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
1121
- [K in Extract<keyof RDPs, L>]: RDPs[K];
1122
- }>> : never;
1265
+ <X extends ObjectSetArgs.Select<PropertyKeys<Q>, string & keyof RDPs> = never>(primaryKey: PrimaryKeyType<Q>, options?: X): Promise<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>;
1266
+ /**
1267
+ * Fetches one object with the specified primary key, without a result wrapper
1268
+ */
1269
+ <const L extends PropertyKeys<Q>, const R extends boolean, const S extends false | "throw" = NullabilityAdherence.Default>(primaryKey: PrimaryKeyType<Q>, options?: SelectArg<Q, L, R, S>): Promise<Osdk.Instance<Q, ExtractOptions<R, S>, MaybeSimplifyPropertyKeys<Q, L>>>;
1270
+ }
1271
+ interface FetchOneWithErrorsSignature<Q extends ObjectTypeDefinition, RDPs extends Record<string, SimplePropertyDef>> {
1123
1272
  /**
1124
1273
  * Fetches one object with the specified primary key, with a result wrapper
1125
1274
  */
1126
- readonly fetchOneWithErrors: Q extends ObjectTypeDefinition ? <L extends PropertyKeys<Q, RDPs>, R extends boolean, S extends false | "throw" = NullabilityAdherence.Default>(primaryKey: PrimaryKeyType<Q>, options?: SelectArg<Q, L, R, S>) => Promise<Result<Osdk.Instance<Q, ExtractOptions<R, S>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
1127
- [K in Extract<keyof RDPs, L>]: RDPs[K];
1128
- }>>> : never;
1275
+ <X extends ObjectSetArgs.Select<PropertyKeys<Q>, string & keyof RDPs>>(primaryKey: PrimaryKeyType<Q>, options?: X): Promise<Result<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>>;
1276
+ /**
1277
+ * Fetches one object with the specified primary key, with a result wrapper
1278
+ */
1279
+ <const L extends PropertyKeys<Q>, const R extends boolean, const S extends false | "throw" = NullabilityAdherence.Default>(primaryKey: PrimaryKeyType<Q>, options?: SelectArg<Q, L, R, S>): Promise<Result<Osdk.Instance<Q, ExtractOptions<R, S>, MaybeSimplifyPropertyKeys<Q, L>>>>;
1280
+ }
1281
+ interface FetchOne<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef>> {
1282
+ fetchOne: Q extends ObjectTypeDefinition ? FetchOneSignature<Q, RDPs> : never;
1283
+ fetchOneWithErrors: Q extends ObjectTypeDefinition ? FetchOneWithErrorsSignature<Q, RDPs> : never;
1129
1284
  }
1130
1285
  interface Subscribe<Q extends ObjectOrInterfaceDefinition> {
1131
1286
  /**
@@ -1138,7 +1293,7 @@ interface Subscribe<Q extends ObjectOrInterfaceDefinition> {
1138
1293
  unsubscribe: () => void;
1139
1294
  };
1140
1295
  }
1141
- interface ObjectSetCleanedTypes<Q extends ObjectOrInterfaceDefinition, D extends Record<string, SimplePropertyDef>, MERGED extends ObjectOrInterfaceDefinition> extends MinimalObjectSet<Q, D>, WithProperties<Q, D>, Aggregate<MERGED>, SetArithmetic<MERGED>, PivotTo<MERGED>, FetchOne<Q, D>, Subscribe<MERGED> {
1296
+ interface ObjectSetCleanedTypes<Q extends ObjectOrInterfaceDefinition, D extends Record<string, SimplePropertyDef>, MERGED extends ObjectOrInterfaceDefinition & Q> extends MinimalObjectSet<Q, D>, WithProperties<Q, D>, Aggregate<MERGED>, SetArithmetic<MERGED>, PivotTo<Q>, FetchOne<Q, D>, Subscribe<MERGED> {
1142
1297
  }
1143
1298
 
1144
- export { type PropertyDef as $, type Attachment as A, type SelectArgToKeys as B, type FetchPageResult as C, DistanceUnitMapping as D, type SingleOsdkResult as E, type FetchPageArgs as F, type GeoFilterOptions as G, type Media as H, type InterfaceDefinition as I, type MediaMetadata as J, isOk as K, type Result as L, type MediaReference as M, NullabilityAdherence as N, type ObjectTypeDefinition as O, type PropertyValueWireToClient as P, type BaseObjectSet as Q, type ReleaseStatus as R, type SingleLinkAccessor as S, ObjectSetSubscription as T, type InterfaceMetadata as U, type ValidAggregationKeys as V, type WhereClause as W, type ObjectOrInterfaceDefinition as X, type PropertyKeys as Y, type CompileTimeMetadata as Z, ObjectMetadata as _, type AttachmentUpload as a, type VersionBound as a0, type BaseWirePropertyTypes as a1, type WirePropertyTypes as a2, type PrimaryKeyType as a3, type ConvertProps as a4, Osdk as a5, type PageResult as a6, TimeseriesDurationMapping as a7, type GeotimeSeriesProperty as a8, type TimeSeriesPoint as a9, type TimeSeriesProperty as aa, type TimeSeriesQuery as ab, type LinkedType as ac, type LinkNames as ad, type ExtractOptions as ae, type MinimalObjectSet as af, type OsdkBase as b, type OsdkObjectPrimaryKeyType as c, type ObjectSet as d, type OsdkMetadata as e, type PrimaryKeyTypes as f, type AggregateOpts as g, type AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy as h, type AggregationResultsWithGroups as i, type AggregationResultsWithoutGroups as j, type AggregationClause as k, type AggregationsResults as l, type GeoFilter_Intersects as m, type GeoFilter_Within as n, type PossibleWhereClauseFilters as o, type OsdkObjectPropertyType as p, type OsdkObjectLinksObject as q, DerivedProperty as r, DurationMapping as s, type AllGroupByValues as t, type GroupByClause as u, type GroupByRange as v, type AsyncIterArgs as w, type Augment as x, type Augments as y, type SelectArg as z };
1299
+ export { type ObjectSpecifier as $, type AttachmentUpload as A, type SelectArg as B, type CompileTimeMetadata as C, DistanceUnitMapping as D, type SelectArgToKeys as E, type FetchPageArgs as F, type GeoFilterOptions as G, type FetchPageResult as H, type InterfaceDefinition as I, type SingleOsdkResult as J, type Media as K, type MediaMetadata as L, type MediaReference as M, NullabilityAdherence as N, type ObjectTypeDefinition as O, type PropertyValueWireToClient as P, isOk as Q, type ReleaseStatus as R, type SingleLinkAccessor as S, type Result as T, type BaseObjectSet as U, type ValidAggregationKeys as V, type WhereClause as W, ObjectSetSubscription as X, type InterfaceMetadata as Y, type ObjectOrInterfaceDefinition as Z, PropertyKeys as _, type Attachment as a, ObjectMetadata as a0, type PropertyDef as a1, type VersionBound as a2, type BaseWirePropertyTypes as a3, type WirePropertyTypes as a4, type PrimaryKeyType as a5, type ConvertProps as a6, Osdk as a7, type PageResult as a8, TimeseriesDurationMapping as a9, type GeotimeSeriesProperty as aa, type TimeSeriesPoint as ab, type TimeSeriesProperty as ac, type TimeSeriesQuery as ad, type LinkedType as ae, type LinkNames as af, type ExtractOptions as ag, type MinimalObjectSet as ah, type OsdkBase as b, type OsdkObjectPrimaryKeyType as c, type ObjectSet as d, type OsdkMetadata as e, type PrimaryKeyTypes as f, type OsdkBaseWithObjectSpecifier as g, type AggregateOpts as h, type AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy as i, type AggregationResultsWithGroups as j, type AggregationResultsWithoutGroups as k, type AggregationClause as l, type AggregationsResults as m, type GeoFilter_Intersects as n, type GeoFilter_Within as o, type PossibleWhereClauseFilters as p, type OsdkObjectPropertyType as q, type OsdkObjectLinksObject as r, DerivedProperty as s, DurationMapping as t, type AllGroupByValues as u, type GroupByClause as v, type GroupByRange as w, type AsyncIterArgs as x, type Augment as y, type Augments as z };