@osdk/generator 0.0.15 → 1.0.0

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 (28) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/build/js/index.cjs +361 -0
  3. package/build/js/index.cjs.map +1 -0
  4. package/build/js/index.mjs +137 -141
  5. package/build/js/index.mjs.map +1 -1
  6. package/build/types/WireOntologyDefinition.d.ts +1 -10
  7. package/build/types/shared/wireObjectTypeV2ToSdkObjectConst.d.ts +2 -0
  8. package/build/types/shared/wireObjectTypeV2ToSdkObjectDefinition.d.ts +3 -3
  9. package/build/types/shared/wirePropertyV2ToSdkPrimaryKeyTypeDefinition.d.ts +2 -2
  10. package/build/types/shared/wirePropertyV2ToSdkPropertyDefinition.d.ts +2 -2
  11. package/build/types/util/test/TodoWireOntology.d.ts +86 -76
  12. package/build/types/v1.1/generateActions.d.ts +1 -1
  13. package/build/types/v1.1/generateClientSdkVersionOneDotOne.d.ts +1 -1
  14. package/build/types/v1.1/generateFoundryClientFile.d.ts +1 -1
  15. package/build/types/v1.1/generateIndexFile.d.ts +1 -1
  16. package/build/types/v1.1/generateMetadataFile.d.ts +1 -1
  17. package/build/types/v1.1/generateObjectsInterfaceFile.d.ts +1 -1
  18. package/build/types/v1.1/generateObjectsInterfaceSupportFiles.d.ts +1 -1
  19. package/build/types/v1.1/generatePerActionDataFiles.d.ts +1 -1
  20. package/build/types/v1.1/generatePerObjectInterfaceAndDataFiles.d.ts +1 -1
  21. package/build/types/v1.1/generatePerQueryDataFiles.d.ts +1 -1
  22. package/build/types/v1.1/generateQueries.d.ts +1 -1
  23. package/build/types/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.d.ts +2 -2
  24. package/build/types/v2.0/generateClientSdkVersionTwoPointZero.d.ts +1 -1
  25. package/build/types/v2.0/generateMetadata.d.ts +3 -0
  26. package/package.json +10 -6
  27. package/build/js/index.js +0 -365
  28. package/build/js/index.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @osdk/generator
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - bfd4d9a: Stable 1.0 version
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [bfd4d9a]
12
+ - @osdk/api@1.0.0
13
+ - @osdk/gateway@1.0.0
14
+
15
+ ## 0.0.16
16
+
17
+ ### Patch Changes
18
+
19
+ - ed78694: Fixes imports from older module resolution
20
+ - Updated dependencies [ed78694]
21
+ - @osdk/gateway@0.0.10
22
+ - @osdk/api@0.0.17
23
+
3
24
  ## 0.0.15
4
25
 
5
26
  ### Patch Changes
@@ -0,0 +1,361 @@
1
+ 'use strict';
2
+
3
+ var y = require('path');
4
+ var prettier = require('prettier');
5
+ var it = require('prettier-plugin-organize-imports');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var y__namespace = /*#__PURE__*/_interopNamespace(y);
28
+ var it__default = /*#__PURE__*/_interopDefault(it);
29
+
30
+ function H(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.actionTypes).map(t=>[Z(t.apiName),{...t,apiName:Z(t.apiName)}]))}}function Z(e){return e.replace(/-./g,t=>t[1].toUpperCase())}function B(e){let t=new Set,r=new Set;for(let n of e.operations)switch(n.type){case"createObject":t.add(n.objectTypeApiName);break;case"modifyObject":r.add(n.objectTypeApiName);break;}return {addedObjects:t,modifiedObjects:r}}function o(e){return prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[it__default.default],tabWidth:2,printWidth:120})}async function X(e,t,r,n=""){let a=new Set,p=[];for(let s of Object.values(e.actionTypes)){let l=Object.entries(s.parameters),u=B(s),T=Array.from(u.addedObjects),w=Array.from(u.modifiedObjects);T.forEach(a.add,a),w.forEach(a.add,a);let m=["/**"];s.description&&m.push(`* ${s.description}`);let g="";if(l.length>0){g=`params: {
31
+ `;for(let[x,S]of l){g+=`"${x}"`,g+=S.required?": ":"?: ";let Y=ee(S.dataType,a);g+=`${Y};
32
+ `,m.push(`* @param {${Y}} params.${x}`);}g+="}, ";}m.push("*/"),p.push(`
33
+ ${m.join(`
34
+ `)}
35
+ ${s.apiName}<O extends ActionExecutionOptions>(${g}options?: O):
36
+ Promise<Result<ActionResponseFromOptions<O, Edits<${T.length>0?T.join(" | "):"void"}, ${w.length>0?w.join(" | "):"void"}>>, ActionError>>;`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.default.join(r,"Actions.ts"),await o(`
37
+ import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
38
+ ${Array.from(a).map(s=>`import type { ${s} } from "../objects/${s}${n}";`).join(`
39
+ `)}
40
+ export interface Actions {
41
+ ${p.join(`
42
+ `)}
43
+ }
44
+ `));}function ee(e,t){switch(e.type){case"objectSet":{let n=e.objectTypeApiName;return t.add(n),`ObjectSet<${n}>`}case"object":{let n=e.objectTypeApiName;return t.add(n),`${n} | ${n}["__primaryKey"]`}case"array":return `Array<${ee(e.subType,t)}>`;case"string":return "string";case"boolean":return "boolean";case"attachment":return "Attachment";case"date":return "LocalDate";case"double":case"integer":case"long":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported action parameter type: ${e}`)}}function c(e){return `
45
+ import { ${e.map(t=>`${t} as OG_${t}`).join(", ")}} from "@osdk/legacy-client";
46
+
47
+ ${e.map(t=>`
48
+ /** @deprecated submodule imports arent public api **/
49
+ export const ${t} = OG_${t};
50
+ `).join(`
51
+
52
+ `)}
53
+ `}async function te(e,t){let r=y__namespace.default.join(t,"ConfidentialClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(y__namespace.default.join(r,"index.ts"),await o(`
54
+ export * from "./ConfidentialClientAuth";
55
+ `)),await e.writeFile(y__namespace.default.join(r,"ConfidentialClientAuth.ts"),await o(`
56
+ ${c(["ConfidentialClientAuth"])}
57
+ `));}async function re(e,t){let r=y__namespace.default.join(t,"PublicClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(y__namespace.default.join(r,"index.ts"),await o(`
58
+ export * from "./PublicClientAuth";
59
+ `)),await e.writeFile(y__namespace.default.join(r,"PublicClientAuth.ts"),await o(`
60
+ ${c(["PublicClientAuth"])}
61
+ `));}async function oe(e,t){let r=y__namespace.default.join(t,"UserToken");await e.mkdir(r,{recursive:!0}),await e.writeFile(y__namespace.default.join(r,"index.ts"),await o(`
62
+ export * from "./UserTokenAuth";
63
+ `)),await e.writeFile(y__namespace.default.join(r,"UserTokenAuth.ts"),await o(`
64
+ ${c(["UserTokenAuth"])}
65
+ `));}function i(e,t="",r=pt(t)){return `
66
+ import type { ${e.map(n=>`${n} as OG_${n}`).join(", ")}} from "@osdk/legacy-client";
67
+
68
+ ${e.map(n=>`
69
+ /** @deprecated submodule imports arent public api **/
70
+ export type ${n}${t} = OG_${n}${r};
71
+ `).join(`
72
+
73
+ `)}
74
+ `}var nt=/<(.*?)>/,st=/^\s?(.+?)( extends .*?)?( = .*?)?\s?$/;function pt(e){return e.length===0?"":`<${nt.exec(e)?.[1]?.split(",")?.map(r=>st.exec(r)?.[1]??r)?.join(",")}>`}async function ie(e,t){let r=y__namespace.join(e,"internal","@foundry","oauth-client","dist");await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.join(r,"index.ts"),await o(`
75
+ export * from "./Auth";
76
+ export * from "./ConfidentialClient";
77
+ export * from "./OAuthClient";
78
+ export * from "./PublicClient";
79
+ export * from "./Token";
80
+ export * from "./UserToken";
81
+ `)),await t.writeFile(y__namespace.join(r,"Auth.ts"),await o(i(["Auth"]))),await t.writeFile(y__namespace.join(r,"Token.ts"),await o(i(["Token","TokenValue"]))),await t.writeFile(y__namespace.join(r,"OAuthClient.ts"),await o(i(["AuthSubscription","UnsubscribeFunction","SignInResponse","RefreshResponse","SignOutResponse"]))),await t.writeFile(y__namespace.join(r,"OAuthToken.ts"),await o(c(["OAuthToken"]))),await t.writeFile(y__namespace.join(r,"Auth.ts"),await o(i(["Auth"]))),await te(t,r),await re(t,r),await oe(t,r);}async function ne(e,t){await e.writeFile(y__namespace.join(t,"Aggregations.ts"),await o(`
82
+ import { LocalDate, Timestamp } from "@osdk/legacy-client";
83
+ `+i(["Double","Rangeable","MetricValue","Date","BucketKey","BucketValue","TimeUnit","BucketGroup","Metrics","AggregatableProperties","AggregationClause"])+i(["Range"],"<T extends Rangeable>","<T>")+i(["BaseGroupBy"],"<_T extends BucketValue = BucketValue>")+i(["Duration"],"<_T extends Timestamp | LocalDate = Timestamp | LocalDate>")+i(["AggregatableProperty","MultipleAggregationsOperations"],"<_T extends MetricValue = MetricValue>")+i(["AggregationGroup"],"<TMetrics extends Metrics | MetricValue, TBucketGroup extends BucketGroup>")+i(["Bucketing"],"<_T extends string , _X extends BucketValue>")+i(["AggregationResult"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+i(["BaseBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue, Kind extends string>")+i(["ExactValueBucketing","InternalBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends BucketValue>")+i(["RangeBucketing","FixedWidthBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Range<Rangeable>>")+i(["DurationBucketing"],"<TBucketKey extends BucketKey, TBucketValue extends Date>")+i(["InternalBucketingVisitor"],"<TBucketKey extends BucketKey, T extends BucketValue, R>")+i(["AggregationBuilderResult"],"<T, TMultipleAggregationProperties>")+i(["AggregatablePropertiesForResult","AggregatablePropertyNamesForResult"],"<TAggregatableProperties, TResult extends MetricValue>")+c(["assertBucketingInternal","visitInternalBucketing"])+i(["AggregatableObjectSetStep"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketableProperties, TBucketGroup extends BucketGroup = {}>")+i(["GroupedTerminalAggregationOperations"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketGroup extends BucketGroup = {}>")));}async function se(e,t){await e.mkdir(y__namespace.join(t,"groupBy"),{recursive:!0});let r=["BooleanGroupBy","LocalDateGroupBy","NumericGroupBy","StringGroupBy","TimestampGroupBy"],n=[...r,"GroupKeyType"];for(let a of n)await e.writeFile(y__namespace.join(t,"groupBy",`${a}.ts`),await o(`export {${a}} from "./index";`));await e.writeFile(y__namespace.join(t,"groupBy","index.ts"),await o('import { Bucketing, BucketKey, Duration, Range, Rangeable } from "../Aggregations";'+c(r)+i(r,"<T extends BucketKey>")+`export {GroupKeyType} from "@osdk/legacy-client";
84
+ `));}async function pe(e,t){let r=y__namespace.join(t,"metrics");await e.mkdir(r,{recursive:!0}),await e.writeFile(y__namespace.join(r,"metrics.ts"),await o('export {MetricValueType} from "@osdk/legacy-client";')),await e.writeFile(y__namespace.join(r,"ApproximateDistinctCountAggregatableProperty.ts"),await o(c(["ApproximateDistinctCountAggregatableProperty"])+i(["ApproximateDistinctCountAggregatableProperty"]))),await e.writeFile(y__namespace.join(r,"MultipleAggregatableProperty.ts"),await o(`
85
+ import { Double, MetricValue, MultipleAggregationsOperations } from "../Aggregations";
86
+ import { MetricValueType } from "./metrics";
87
+ `+c(["MultipleAggregatableProperty"])+i(["MultipleAggregatableProperty"],"<TResult extends MetricValue = Double>")));for(let n of ["DefaultAggregatableProperty","LocalDatePropertyMetric","NumericPropertyMetric","TimestampPropertyMetric"])await e.writeFile(y__namespace.join(r,`${n}.ts`),await o(`
88
+ import { MultipleAggregatableProperty } from "./MultipleAggregatableProperty";
89
+ `+c([n])));await e.writeFile(y__namespace.join(r,"index.ts"),await o(`
90
+ export * from "./ApproximateDistinctCountAggregatableProperty";
91
+ export * from "./DefaultAggregatableProperty";
92
+ export * from "./LocalDatePropertyMetric";
93
+ export * from "./metrics";
94
+ export * from "./MultipleAggregatableProperty";
95
+ export * from "./NumericPropertyMetric";
96
+ export * from "./TimestampPropertyMetric";
97
+ `));}async function ce(e,t){let r=y__namespace.join(t,"aggregations");await e.mkdir(r,{recursive:!0}),await se(e,r),await ne(e,r),await pe(e,r),await e.writeFile(y__namespace.join(r,"index.ts"),await o(`
98
+
99
+
100
+
101
+ export * from "./Aggregations";
102
+ export * from "./ComputeStep";
103
+ export * from "./CountOperation";
104
+ export * from "./groupBy";
105
+ export * from "./internalAggregationRequest";
106
+ export * from "./metrics";
107
+ `)),await e.writeFile(y__namespace.join(r,"ComputeStep.ts"),await o(`
108
+ import { ObjectSetDefinition } from "../baseTypes";
109
+ import { FoundryClientOptions } from "../client";
110
+ import { AggregateObjectsError, OntologyMetadata, Result } from "../ontologyProvider";
111
+ import { AggregationClause, AggregationResult, BucketGroup, BucketValue, InternalBucketing, Metrics, MetricValue } from "./Aggregations";
112
+ `+c(["ComputeStep"])+i(["ComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue> ")+i(["AggregationComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+`
113
+
114
+ `)),await e.writeFile(y__namespace.join(r,"CountOperation.ts"),await o(""+c(["CountOperation","isCountOperation"])+i(["CountOperation"]))),await e.writeFile(y__namespace.join(r,"internalAggregationRequest.ts"),await o(i(["InternalAggregationRequest"])));}async function me(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(y__namespace.default.join(e,"index.ts"),await o(`export * from "./Attachment";
115
+ export * from "./Attachments";
116
+ `)),await t.writeFile(y__namespace.default.join(e,"Attachment.ts"),await o(i(["Attachment","AttachmentMetadata"]))),await t.writeFile(y__namespace.default.join(e,"Attachments.ts"),await o(i(["Attachments"])));}async function le(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(y__namespace.join(e,"index.ts"),await o(`export * from "./Distance";
117
+ export * from "./GeoJson";
118
+ export * from "./GeometryCollection";
119
+ export * from "./GeoPoint";
120
+ export * from "./GeoShape";
121
+ export * from "./LineString";
122
+ export * from "./MultiGeoPoint";
123
+ export * from "./MultiLineString";
124
+ export * from "./MultiPolygon";
125
+ export * from "./Polygon";`)),await t.writeFile(y__namespace.join(e,"Distance.ts"),await o(""+c(["Distance","DistanceUnit"])+i(["Distance","DistanceUnit"]))),await t.writeFile(y__namespace.join(e,"GeoJson.ts"),await o(i(["GeoJsonPoint","GeoJsonPolygon","GeoJsonLineString","GeoJsonMultiPoint","GeoJsonMultiPolygon","GeoJsonMultiLineString","GeoJsonGeometryCollection","GeoJsonGeometry","GeoJson"]))),await t.writeFile(y__namespace.join(e,"GeometryCollection.ts"),await o(c(["GeometryCollection"]))),await t.writeFile(y__namespace.join(e,"GeoPoint.ts"),await o(""+c(["isGeoPoint","GeoPoint","mapCoordinatesToGeoPoint"])+i(["GeoHash","Coordinates","GeoPoint"]))),await t.writeFile(y__namespace.join(e,"GeoShape.ts"),await o(c(["GeoShape"])+i(["GeoShape"]))),await t.writeFile(y__namespace.join(e,"LineString.ts"),await o(c(["LineString"])+i(["LineString"]))),await t.writeFile(y__namespace.join(e,"MultiGeoPoint.ts"),await o(c(["MultiGeoPoint"])+i(["MultiGeoPoint"]))),await t.writeFile(y__namespace.join(e,"MultiLineString.ts"),await o(c(["MultiLineString"])+i(["MultiLineString"]))),await t.writeFile(y__namespace.join(e,"MultiPolygon.ts"),await o(c(["MultiPolygon"])+i(["MultiPolygon"]))),await t.writeFile(y__namespace.join(e,"Polygon.ts"),await o(c(["Polygon"])+i(["LinearRing","Polygon"])));}async function ue(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(y__namespace.default.join(e,"index.ts"),await o(`
126
+ export * from "./ObjectSetDefinition";
127
+ export * from "./OntologyObjectSet";
128
+ `)),await t.writeFile(y__namespace.default.join(e,"ObjectSetDefinition.ts"),await o(i(["BaseObjectSetDefinition","ReferenceObjectSetDefinition","StaticObjectSetDefinition","IntersectObjectSetDefinition","SubtractObjectSetDefinition","SearchAroundObjectSetDefinition","FilterObjectSetDefinition","ObjectSetDefinition"]))),await t.writeFile(y__namespace.default.join(e,"OntologyObjectSet.ts"),await o(i(["OntologyObjectSet"])));}async function ge(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(y__namespace.default.join(e,"index.ts"),await o(`
129
+ export * from "./FilteredPropertiesTerminalOperations";
130
+ `)),await t.writeFile(y__namespace.default.join(e,"FilteredPropertiesTerminalOperations.ts"),await o('import { OntologyObject } from "../OntologyObject'+i(["FilteredPropertiesTerminalOperations","FilteredPropertiesTerminalOperationsWithGet"],"<T extends OntologyObject, V extends Array<keyof T>>")));}async function de(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(y__namespace.join(e,"index.ts"),await o(`
131
+ export * from "./TimeSeries";
132
+ export * from "./TimeSeriesDuration";
133
+ export * from "./TimeSeriesPoint";
134
+
135
+ export * from "./TimeSeriesQuery";
136
+ export * from "./TimeSeriesTerminalOperations";
137
+ `)),await t.writeFile(y__namespace.join(e,"TimeSeries.ts"),await o(i(["TimeSeries"],"<T extends number | string>"))),await t.writeFile(y__namespace.join(e,"TimeSeriesDuration.ts"),await o(i(["WhenUnit","DurationUnit","TimeSeriesDuration"]))),await t.writeFile(y__namespace.join(e,"TimeSeriesPoint.ts"),await o(i(["TimeSeriesPoint"],"<T extends number | string>"))),await t.writeFile(y__namespace.join(e,"TimeSeriesQuery.ts"),await o(i(["TimeSeriesQuery"],"<T extends number | string>"))),await t.writeFile(y__namespace.join(e,"TimeSeriesTerminalOperations.ts"),await o(i(["TimeSeriesTerminalOperations","TimeSeriesIterator"],"<T extends number | string>")));}async function fe(e,t){let r=y__namespace.join(e,"baseTypes");await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.join(r,"index.ts"),await o(`export * from "./ActionType";
138
+ export * from "./attachments";
139
+ export * from "./geoshapes";
140
+ export * from "./links";
141
+ export * from "./localDate";
142
+ export * from "./objectset";
143
+ export * from "./ObjectType";
144
+ export * from "./OntologyObject";
145
+ export * from "./Queries";
146
+ export * from "./timeseries";
147
+ export * from "./timestamp";`));let n=y__namespace.join(r,"geoshapes");await le(n,t);let a=y__namespace.join(r,"timeseries");await de(a,t);let p=y__namespace.join(r,"attachments");await me(p,t);let s=y__namespace.join(r,"objectset");await ue(s,t);let l=y__namespace.join(r,"sharedObjectCode");await ge(l,t),await t.writeFile(y__namespace.join(r,"ActionType.ts"),await o(`import { OntologyObject } from "./OntologyObject";
148
+ `+c(["ActionExecutionMode","ReturnEditsMode","ActionValidationResult"])+i(["ActionExecutionOptions","ValidationResponse","BulkEdits"])+i(["CreatedObjectEdits","ModifiedObjectEdits"],"<T extends OntologyObject>")+i(["Edits"],"<TAddedObjects extends OntologyObject | void, TModifiedObjects extends OntologyObject | void>")+i(["ActionResponse"],"<TEdits extends Edits<any, any> | undefined = undefined>","<TEdits>")+i(["ActionResponseFromOptions"],"<TOptions extends ActionExecutionOptions | undefined = undefined, TEdits extends Edits<any, any> | undefined = undefined>","<TOptions, TEdits>"))),await t.writeFile(y__namespace.join(r,"OntologyObject.ts"),await o(i(["OntologyObject"])+c(["isOntologyObject"]))),await t.writeFile(y__namespace.join(r,"links.ts"),await o('import { OntologyObject } from "./OntologyObject'+i(["SingleLink","MultiLink"],"<T extends OntologyObject = OntologyObject>"))),await t.writeFile(y__namespace.join(r,"localDate.ts"),await o(c(["LocalDate"])+i(["LocalDate"]))),await t.writeFile(y__namespace.join(r,"timestamp.ts"),await o(c(["Timestamp"])+i(["Timestamp"]))),await t.writeFile(y__namespace.join(r,"Queries.ts"),await o(`import { BucketValue, Range, Rangeable } from "../aggregations";
149
+ `+i(["QueryResponse"],"<T>")+i(["BaseBucket"],"<K, V>")+i(["NestedBucket"],"<TGroupKey, TSegmentKey, TValue extends BucketValue>")+i(["TwoDimensionalAggregation"],"<TGroupKey extends QueryBucketKey, TValue extends BucketValue = number>")+i(["ThreeDimensionalAggregation"],"<TGroupKey extends QueryBucketKey, TSegmentKey extends QueryBucketKey, TValue extends BucketValue = number>")+i(["QueryBucketKey"]))),await t.writeFile(y__namespace.join(r,"ObjectType.ts"),await o('import { OntologyObject } from "./OntologyObject";'+i(["BaseType","StringType","IntegerType","DateType","BooleanType","ByteType","DecimalType","FloatType","TimestampType","ShortType","LongType","DoubleType","GeoPointType","GeoShapeType","AttachmentType","ObjectType","StructField","QueryBucketRangeableType","QueryBucketKeyType","QueryBucketValueType","AllValueTypes","OntologyType","ObjectTypeProperties","StructType"])+i(["TimeSeriesType","ArrayType","SetType"],"<T extends BaseType>")+i(["Property"],"<TType extends OntologyType = OntologyType>")+i(["BaseObjectType"],"<TOntologyObject extends OntologyObject = OntologyObject>")+i(["ObjectSetType"],"<T extends ObjectType>")+i(["RangeType"],"<T extends QueryBucketRangeableType>")+i(["TwoDimensionalAggregationType"],"<TGroupKey extends QueryBucketKeyType, TValue extends QueryBucketValueType>")+i(["ThreeDimensionalAggregationType"],"<TGroupKey extends QueryBucketKeyType, TSegmentKey extends QueryBucketKeyType, TValue extends QueryBucketValueType>")));}async function Te(e,t){let r=y__namespace.default.join(e,"client");await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.default.join(r,"index.ts"),await o('export * from "./clientOptions";')),await t.writeFile(y__namespace.default.join(r,"clientOptions.ts"),await o('import {Auth} from "@osdk/legacy-client";'+i(["FoundryClientOptions"],"<TAuth extends Auth = Auth>")));}async function we(e,t){let r=y__namespace.default.join(e,"filters");await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.default.join(r,"index.ts"),await o(`export * from "./ArrayFilter";
150
+ export * from "./AttachmentFilter";
151
+ export * from "./BooleanFilter";
152
+ export * from "./DateTimeFilters";
153
+ export * from "./Filters";
154
+ export * from "./GeoPointFilter";
155
+ export * from "./GeoShapeFilter";
156
+ export * from "./NumericFilter";
157
+ export * from "./Op";
158
+ export * from "./OrderByOption";
159
+ export * from "./StringFilter";`)),await t.writeFile(y__namespace.default.join(r,"ArrayFilter.ts"),await o('import { Attachment, GeoPoint, GeoShape, LocalDate, Timestamp } from "../baseTypes";'+c(["ArrayFilter"])+i(["ArrayFilter"],"<T extends string | number | Timestamp | LocalDate | boolean | GeoShape | GeoPoint | Attachment>"))),await t.writeFile(y__namespace.default.join(r,"AttachmentFilter.ts"),await o(c(["AttachmentFilter"])+i(["AttachmentFilter"]))),await t.writeFile(y__namespace.default.join(r,"BooleanFilter.ts"),await o(c(["BooleanFilter"])+i(["BooleanFilter"]))),await t.writeFile(y__namespace.default.join(r,"GeoPointFilter.ts"),await o(c(["GeoPointFilter"])+i(["GeoPointFilter","BoundingBox"]))),await t.writeFile(y__namespace.default.join(r,"DateTimeFilters.ts"),await o(c(["TimestampFilter","LocalDateFilter"])+i(["TimestampFilter","LocalDateFilter"]))),await t.writeFile(y__namespace.default.join(r,"GeoShapeFilter.ts"),await o(c(["GeoShapeFilter"])+i(["GeoShapeFilter"]))),await t.writeFile(y__namespace.default.join(r,"NumericFilter.ts"),await o(c(["NumericFilter"])+i(["NumericFilter"]))),await t.writeFile(y__namespace.default.join(r,"Op.ts"),await o(c(["Op"]))),await t.writeFile(y__namespace.default.join(r,"OrderByOption.ts"),await o(c(["OrderByOption"])+i(["OrderByOption"]))),await t.writeFile(y__namespace.default.join(r,"StringFilter.ts"),await o(c(["StringFilter"])+i(["StringFilter"]))),await t.writeFile(y__namespace.default.join(r,"Filters.ts"),await o('import { OntologyObject } from "@osdk/legacy-client";'+i(["ObjectTypeFilterFunction","ObjectTypeOrderByFunction"],"<T extends OntologyObject>")+i(["BoundingBoxFilter","DistanceOf","SearchClause","LtWhereClause","GtWhereClause","LteWhereClause","GteWhereClause","EqWhereClause","IsNullWhereClause","ContainsWhereClause","StartsWithWhereClause","ContainsAllTermsInOrderWhereClause","ContainsAnyTermWhereClause","ContainsAllTermsWhereClause","WithinDistanceOfWhereClause","WithinBoundingBoxWhereClause","IntersectsBoundingBoxWhereClause","DoesNotIntersectBoundingBoxWhereClause","WithinPolygonWhereClause","IntersectsPolygonWhereClause","DoesNotIntersectPolygonWhereClause","AndWhereClause","OrWhereClause","NotWhereClause","WhereClause","OrderByClause"])+i(["FilterType"],"<T extends string | number>")));}async function be(e,t){await e.writeFile(y__namespace.join(t,"Errors.ts"),await o(i(["PermissionDenied","Unauthorized","InvalidAggregationRangeValue","MalformedPropertyFilters","PropertiesNotFilterable","ParametersNotFound","ApplyActionFailed","PropertyTypesSearchNotSupported","InvalidParameterValue","QueryTimeExceededLimit","CompositePrimaryKeyNotSupported","PropertyBaseTypeNotSupported","PropertiesNotSearchable","AttachmentNotFound","ObjectTypeNotFound","InvalidGroupId","OntologySyncing","ActionNotFound","ParameterObjectSetRidNotFound","LinkTypeNotFound","InvalidRangeQuery","ActionParameterObjectNotFound","InvalidPropertyValue","PropertiesNotSortable","FunctionExecutionTimedOut","InvalidFields","ActionTypeNotFound","ObjectTypeNotSynced","OntologyEditsExceededLimit","AggregationGroupCountExceededLimit","InvalidContentType","PropertiesNotFound","FunctionInvalidInput","InvalidSortOrder","QueryDepthExceededLimit","InvalidPropertyFiltersCombination","ObjectsExceededLimit","DuplicateOrderBy","FunctionEncounteredUserFacingError","InvalidUserId","QueryNotFound","InvalidAggregationRange","ParameterObjectNotFound","QueryMemoryExceededLimit","InvalidContentLength","OntologyNotFound","ActionParameterObjectTypeNotFound","UnknownParameter","InvalidSortType","PropertyFiltersNotSupported","ActionValidationFailed","MultipleGroupByOnFieldNotSupported","LinkedObjectNotFound","ActionEditedPropertiesNotFound","InvalidPropertyFilterValue","QueryEncounteredUserFacingError","AttachmentSizeExceededLimit","ObjectNotFound","PropertyApiNameNotFound","ParameterTypeNotSupported","InvalidAggregationRangePropertyType","MissingParameter"])));}async function Oe(e,t){await e.writeFile(y__namespace.join(t,"OntologyMetadata.ts"),await o(i(["OntologyMetadata"])));}async function Ae(e,t){await e.writeFile(y__namespace.join(t,"Result.ts"),await o(`import {FoundryApiError} from "@osdk/legacy-client";
160
+ `+i(["Ok","Err"],"<T>")+i(["Result"],"<V, E = FoundryApiError>","<V,E>")+c(["isOk","isErr","visitError"])+i(["ErrorVisitor"],"<E extends FoundryApiError, R>","<E,R>")+i(["ExtractKeysWithType"],"<T, K extends keyof T>","<T,K>")));}async function $e(e,t){let r=y__namespace.join(t,"ontologyProvider");await e.mkdir(r,{recursive:!0}),await be(e,r),await Oe(e,r),await Ae(e,r),await e.writeFile(y__namespace.join(r,"index.ts"),await o(`
161
+
162
+ export * from "./Errors";
163
+ export * from "./OntologyMetadata";
164
+
165
+
166
+ // export * from "./Result";
167
+ `));}async function Fe(e,t){let r=y__namespace.join(e,"paging");await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.join(r,"index.ts"),await o('export * from "./Page";')),await t.writeFile(y__namespace.join(r,"Page.ts"),await o(i(["Page"],"<T>")));}async function ke(e,t){let r=y__namespace.join(e,"internal","@foundry","ontology-runtime","dist");await t.mkdir(r,{recursive:!0}),await $e(t,r),await ce(t,r),await Fe(r,t),await fe(r,t),await Te(r,t),await we(r,t),await t.writeFile(y__namespace.join(r,"index.ts"),await o(`
168
+ export * from "./aggregations";
169
+ export * from "./baseTypes";
170
+
171
+ // export * from "./filters";
172
+
173
+
174
+
175
+ export * from "./ontologyProvider";
176
+ export * from "./paging";
177
+ `));}async function Se(e,t){await ke(t,e),await ie(t,e);}async function Pe(e,t,r=""){await e.writeFile(y__namespace.default.join(t,"FoundryClient.ts"),await o(`
178
+ import { BaseFoundryClient } from "@osdk/legacy-client";
179
+ import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
180
+ import { Ontology } from "./Ontology${r}";
181
+
182
+ export class FoundryClient<TAuth extends Auth = Auth> extends BaseFoundryClient<typeof Ontology, TAuth> {
183
+ constructor(options: FoundryClientOptions<TAuth>) {
184
+ super(options, Ontology);
185
+ }
186
+
187
+ get ontology(): Ontology {
188
+ return super.ontology;
189
+ }
190
+ }`));}async function Be(e,t,r){await e.mkdir(t,{recursive:!0}),await e.writeFile(y__namespace.join(t,"index.ts"),await o(`
191
+ export * from "@osdk/legacy-client";
192
+ export type { Ontology } from "./Ontology${r}";
193
+ export { FoundryClient } from "./FoundryClient${r}";
194
+ `));}function M(e,t){return e.map(r=>{let n=t?.get(r);return n?`${r}: ${n}`:r}).join(",")}function G(e,t){return e.map(r=>`${r}: typeof ${t?.get(r)??r}`).join(",")}async function Ce(e,t,r,n=""){let a=Object.keys(e.objectTypes),p=Object.keys(e.actionTypes),s=Object.keys(e.queryTypes),l=new Map,u=new Map,T=new Set(a);for(let m of p)T.has(m)?l.set(m,`${m}Action`):T.add(m);for(let m of s)T.has(m)&&u.set(m,`${m}Query`);let w=(m,g)=>{let x=g.get(m);return x?`${m} as ${x}`:m};await t.writeFile(y__namespace.default.join(r,"Ontology.ts"),await o(`
195
+ import type { OntologyDefinition } from "@osdk/api";
196
+ import type { Ontology as ClientOntology } from "@osdk/legacy-client";
197
+ import type { Objects } from "./ontology/objects/Objects${n}";
198
+ import type { Actions } from "./ontology/actions/Actions${n}";
199
+ import type { Queries } from "./ontology/queries/Queries${n}";
200
+ ${a.map(m=>`import {${m}} from "./ontology/objects/${m}${n}";`).join(`
201
+ `)}
202
+ ${p.map(m=>`import {${w(m,l)}} from "./ontology/actions/${m}${n}";`).join(`
203
+ `)}
204
+ ${s.map(m=>`import {${w(m,u)}} from "./ontology/queries/${m}${n}";`).join(`
205
+ `)}
206
+
207
+ export const Ontology : {
208
+ metadata: {
209
+ ontologyRid: "${e.ontology.rid}",
210
+ ontologyApiName: "${e.ontology.apiName}",
211
+ userAgent: "foundry-typescript-osdk/0.0.1",
212
+ },
213
+ objects: {
214
+ ${G(a)}
215
+ },
216
+ actions: {
217
+ ${G(p,l)}
218
+ },
219
+ queries: {
220
+ ${G(s,u)}
221
+ },
222
+ } = {
223
+ metadata: {
224
+ ontologyRid: "${e.ontology.rid}" as const,
225
+ ontologyApiName: "${e.ontology.apiName}" as const,
226
+ userAgent: "foundry-typescript-osdk/0.0.1" as const,
227
+ },
228
+ objects: {
229
+ ${M(a)}
230
+ },
231
+ actions: {
232
+ ${M(p,l)}
233
+ },
234
+ queries: {
235
+ ${M(s,u)}
236
+ }
237
+ } satisfies OntologyDefinition<${a.map(m=>`"${m}"`).join("|")}, ${Object.values(e.actionTypes).map(m=>`"${m.apiName}"`).join("|")}, ${Object.values(e.queryTypes).map(m=>`"${m.apiName}"`).join("|")}>;
238
+
239
+ export interface Ontology extends ClientOntology<typeof Ontology> {
240
+ objects: Objects;
241
+ actions: Actions;
242
+ queries: Queries;
243
+ }`));}async function Ne(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.default.join(r,"Objects.ts"),await o(`
244
+ import { BaseObjectSet } from "@osdk/legacy-client";
245
+ ${Array.from(Object.keys(e.objectTypes)).map(a=>`import type { ${a} } from "./${a}${n}";`).join(`
246
+ `)}
247
+
248
+ export interface Objects {
249
+ ${Object.keys(e.objectTypes).map(a=>`${a} : BaseObjectSet<${a}>;`).join(`
250
+ `)}
251
+ }
252
+ ;`));}async function Me(e,t,r,n=""){await t.mkdir(r,{recursive:!0});for(let{objectType:{apiName:a}}of Object.values(e.objectTypes)){let p=y.join(r,`${a}.ts`),s=`OG_${a}`,l=[];l.push('import { ObjectSetAggregateArg, ObjectSetFilterArg, ObjectSetGroupByArg, ObjectSetMultipleAggregateArg, ObjectSetOrderByArg } from "@osdk/legacy-client";'),l.push(`import { ${a} as ${s} } from "../${a}${n}";`),l.push(""),l.push(`/** @deprecated Use ${a} from ontology/objects instead */`,`export type ${a} = ${s};`),l.push(`/** @deprecated Use ObjectSetFilterArg<${a}> instead */`,`export type ${a}Filter = ObjectSetFilterArg<${s}>;`),l.push(`/** @deprecated Use ObjectSetOrderByArg<${a}> instead */`,`export type ${a}OrderBy = ObjectSetOrderByArg<${s}>;`),l.push(`/** @deprecated Use ObjectSetGroupByArg<${a}> instead */`,`export type ${a}GroupByProperties = ObjectSetGroupByArg<${s}>;`),l.push(`
253
+ /**
254
+ * Aggregation properties for ${a}
255
+ * @deprecated Use ObjectSetAggregateArg<${a}> instead
256
+ */`,`export type ${a}AggregationProperties = ObjectSetAggregateArg<${s}>;`),l.push(`
257
+ /**
258
+ * Multiple aggregation properties for ${a}.
259
+ * @deprecated Use ObjectSetMultipleAggregateArg<${a}> instead
260
+ */`,`export type ${a}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${s}>;`),await t.writeFile(p,l.join(`
261
+ `));}}async function ve(e,t){await e.mkdir(t,{recursive:!0}),await e.writeFile(y__namespace.join(t,"index.ts"),await o(`
262
+ export type { ObjectSet } from "@osdk/legacy-client";
263
+ `));}function Ee(e){let t=B(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([r,n])=>[r,yt(n)])),displayName:e.displayName,description:e.description,modifiedEntities:gt(t.addedObjects,t.modifiedObjects)}}function yt(e){switch(e.dataType.type){case"string":case"boolean":case"object":case"attachment":case"date":case"double":case"integer":case"long":case"objectSet":case"timestamp":return {multiplicity:!1,type:_(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:_(e.dataType),nullable:!e.required,description:e.description}}}function _(e){switch(e.type){case"string":case"boolean":case"attachment":case"double":case"integer":case"long":case"timestamp":return e.type;case"date":return "datetime";case"objectSet":return {type:"objectSet",objectSet:e.objectTypeApiName};case"object":return {type:"object",object:e.objectTypeApiName};case"array":return _(e.subType)}}function gt(e,t){let r={};for(let n of e)r[n]={created:!0,modified:!1};for(let n of t)r[n]?r[n].modified=!0:r[n]={created:!1,modified:!0};return r}async function Re(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.actionTypes).map(async a=>{let p=new Set(dt(a));await t.writeFile(y__namespace.default.join(r,`${a.apiName}.ts`),await o(`
264
+ import { ActionDefinition } from "@osdk/api";
265
+
266
+ export const ${a.apiName} = ${JSON.stringify(Ee(a),null,2)} satisfies ActionDefinition<"${a.apiName}", ${p.size>0?[...p].map(s=>`"${s}"`).join("|"):"never"}>;`));})),await t.writeFile(y__namespace.default.join(r,"index.ts"),await o(`
267
+ ${Object.values(e.actionTypes).map(a=>`export * from "./${a.apiName}";`).join(`
268
+ `)}
269
+ `));}function dt(e){let t=Object.values(e.parameters).flatMap(({dataType:n})=>{let a=Qe(n);return a?[a]:[]});return [...e.operations.flatMap(n=>{switch(n.type){case"createObject":return [n.objectTypeApiName];case"modifyObject":return [n.objectTypeApiName];case"deleteObject":case"createLink":case"deleteLink":return []}}),...t]}function Qe(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return Qe(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function Ie(e){switch(e.dataType.type){case"integer":case"double":case"string":case"boolean":case"attachment":case"byte":case"decimal":case"float":case"geopoint":case"geoshape":case"long":case"short":return e.dataType.type;case"date":return "datetime";case"timestamp":return "timestamp";case"timeseries":case"array":throw new Error(`Type not supported for primaryKey: ${e.dataType.type}`);default:e.dataType;throw new Error(`Unknown type encountered for primaryKey: ${e.dataType}`)}}function Ke(e,t=!0){switch(e.dataType.type){case"integer":case"string":case"byte":case"decimal":case"double":case"float":case"long":case"short":case"boolean":case"date":case"attachment":case"geopoint":case"geoshape":case"timestamp":case"timeseries":return {multiplicity:!1,description:e.description,type:q(e.dataType),nullable:t};case"array":return {multiplicity:!0,description:e.description,type:q(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function q(e){switch(e.type){case"integer":case"string":case"byte":case"decimal":case"double":case"float":case"long":case"short":case"boolean":case"attachment":case"geopoint":case"geoshape":case"timestamp":return e.type;case"date":return "datetime";case"array":return q(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function Le(e,t){return {apiName:e.objectType.apiName,description:e.objectType.description,primaryKeyType:Ie(e.objectType.properties[e.objectType.primaryKey]),links:Object.fromEntries(e.linkTypes.map(r=>[r.apiName,{multiplicity:r.cardinality==="MANY",targetType:r.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.objectType.properties).map(([r,n])=>[r,Ke(n,!(t&&e.objectType.primaryKey===r))]))}}function v(e,t=!1){let r=new Set(e.linkTypes.map(n=>n.objectTypeApiName));return `
270
+ export const ${e.objectType.apiName} = ${JSON.stringify(Le(e,t),null,2)} satisfies ObjectTypeDefinition<"${e.objectType.apiName}", ${r.size>0?[...r].map(n=>`"${n}"`).join("|"):"never"}>;`}var ft=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","implements","interface","let","package","private","protected","public","static","yield"]);function Ue(e){return ft.has(e)}function qe(e){let t=new Set(e.linkTypes.map(r=>r.objectTypeApiName).filter(r=>r!==e.objectType.apiName));return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink } from "@osdk/legacy-client";
271
+ ${Array.from(t).map(r=>`import type { ${r} } from "./${r}";`).join(`
272
+ `)}
273
+
274
+ ${_e(e.objectType.description)}export interface ${e.objectType.apiName} extends OntologyObject {
275
+ readonly __apiName: "${e.objectType.apiName}";
276
+ readonly __primaryKey: ${W(e.objectType.properties[e.objectType.primaryKey].dataType)};
277
+ ${Object.entries(e.objectType.properties).flatMap(([r,n])=>{let a=W(n.dataType),p=[`${_e(n.description)}readonly ${r}: ${a} | undefined`];return Ue(r)&&p.push(`/** @deprecated please migrate to '${r}' instead */
278
+ readonly ${r}_: ${a} | undefined`),p}).join(`;
279
+ `)}
280
+ ${e.linkTypes.flatMap(r=>[`readonly ${r.apiName}: ${r.cardinality==="MANY"?"MultiLink":"SingleLink"}<${r.objectTypeApiName}>`]).join(`;
281
+ `)}
282
+ }
283
+ `}function W(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return W(e.subType)+"[]";case"integer":return "number";case"attachment":return "Attachment";case"byte":return "number";case"date":return "LocalDate";case"decimal":return "number";case"double":return "number";case"float":return "number";case"geopoint":return "GeoPoint";case"geoshape":return "GeoShape";case"long":return "number";case"short":return "number";case"timestamp":return "Timestamp";case"timeseries":return e.itemType.type==="string"?"TimeSeries<string>":"TimeSeries<number>";default:throw new Error(`Unknown property type ${e}`)}}function _e(e){return e?`/**
284
+ * ${e}
285
+ */
286
+ `:""}async function Je(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async a=>{a.linkTypes;await t.writeFile(y__namespace.default.join(r,`${a.objectType.apiName}.ts`),await o(`
287
+ import { ObjectTypeDefinition } from "@osdk/api";
288
+ ${qe(a)}
289
+
290
+ ${v(a)}
291
+ `));})),await t.writeFile(y__namespace.default.join(r,"index.ts"),await o(`
292
+ ${Object.keys(e.objectTypes).map(a=>`export * from "./${a}${n}";`).join(`
293
+ `)}
294
+ export type { ObjectSet } from "@osdk/legacy-client";
295
+
296
+ `));}function $(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(t=>$(t)):!1}function b(e){switch(e.type){case"double":case"float":case"integer":case"long":case"attachment":case"boolean":case"date":case"string":case"timestamp":return {type:e.type,nullable:!1};case"object":return {type:"object",object:e.objectTypeApiName,nullable:!1};case"objectSet":return {type:"objectSet",objectSet:e.objectTypeApiName,nullable:!1};case"array":return {...b(e.subType),multiplicity:!0};case"set":return {type:"set",set:b(e.subType),nullable:!1};case"union":let t=$(e);if(t&&e.unionTypes.length===2){let n=e.unionTypes.find(a=>a.type!==null);if(n)return {...b(n),nullable:!0}}return {type:"union",union:e.unionTypes.reduce((n,a)=>(a.type==="null"||n.push(b(a)),n),[]),nullable:t};case"struct":return {type:"struct",struct:Object.fromEntries(e.fields.map(n=>[n.name,b(n.fieldType)])),nullable:!1};case"twoDimensionalAggregation":return {type:"twoDimensionalAggregation",twoDimensionalAggregation:J(e)};case"threeDimensionalAggregation":return {type:"threeDimensionalAggregation",threeDimensionalAggregation:Tt(e)};case"null":case"unsupported":throw new Error(`Accidentally tried to handle QueryDataType.type ${e.type}`);default:throw new Error(`Unsupported QueryDataType.type ${e.type}`)}}function J(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(ze(e.keyType))return {keyType:e.keyType.type,valueType:e.valueType.type};throw new Error(`Cannot create 2D aggregation with ${e.keyType.type} as its type`)}function Tt(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:J(e.valueType)};if(ze(e.keyType))return {keyType:e.keyType.type,valueType:J(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function ze(e){return e.type==="string"||e.type==="boolean"}function Ye(e){return {apiName:e.apiName,description:e.description,displayName:e.displayName,version:e.version,parameters:Object.fromEntries(Object.entries(e.parameters).map(([t,r])=>[t,wt(r)])),output:b(e.output)}}function wt(e){return {description:e.description,...b(e.dataType)}}async function He(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.queryTypes).map(async a=>{let p=jt(a);await t.writeFile(y__namespace.default.join(r,`${a.apiName}.ts`),await o(`
297
+ import { QueryDefinition } from "@osdk/api";
298
+
299
+ export const ${a.apiName} = ${JSON.stringify(Ye(a))} satisfies QueryDefinition<"${a.apiName}", ${p.length>0?p.map(s=>`"${s}"`).join("|"):"never"}>;`));})),await t.writeFile(y__namespace.default.join(r,"index.ts"),await o(`
300
+ ${Object.values(e.queryTypes).map(a=>`export * from "./${a.apiName}${n}";`).join(`
301
+ `)}
302
+ `));}function jt(e){let t=new Set;for(let{dataType:r}of Object.values(e.parameters))P(r,t);return P(e.output,t),Array.from(t)}function P(e,t){switch(e.type){case"array":case"set":P(e.subType,t);return;case"object":t.add(e.objectTypeApiName);return;case"objectSet":t.add(e.objectTypeApiName);return;case"struct":for(let n of Object.values(e.fields))P(n.fieldType,t);return;case"union":for(let n of e.unionTypes)P(n,t);return;case"attachment":case"boolean":case"date":case"double":case"float":case"integer":case"long":case"null":case"string":case"threeDimensionalAggregation":case"timestamp":case"twoDimensionalAggregation":case"unsupported":return;default:throw new Error(`Cannot find object types from unsupported QueryDataType ${e.type}`)}}async function tt(e,t,r,n=""){let a=new Set,p=[];for(let s of Object.values(e.queryTypes)){let l=["/**"];s.description&&l.push(`* ${s.description}`);let u=F(s.output,a,!0),T=[];for(let[m,g]of Object.entries(s.parameters)){let x=$(g.dataType),S=F(g.dataType,a,!1);T.push(`"${m}"${x?"?":""}: ${S}`),l.push(`* @param {${et(S)}} params.${m}${g.description?` - ${g.description}`:""}`);}let w=T.length===0?"":`params: { ${T.join("; ")} }`;l.push(`* @returns ${et(u)}`,"*/"),p.push(`
303
+ ${l.join(`
304
+ `)}
305
+ ${s.apiName}(${w}): Promise<Result<QueryResponse<${u}>, QueryError>>;
306
+ `);}await t.mkdir(r,{recursive:!0}),await t.writeFile(y__namespace.default.join(r,"Queries.ts"),await o(`
307
+ import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
308
+ ${Array.from(a).map(s=>`import type { ${s} } from "../objects/${s}${n}";`).join(`
309
+ `)}
310
+
311
+ export interface Queries {
312
+ ${p.join(`
313
+ `)}
314
+ }
315
+ `));}function F(e,t,r){switch(e.type){case"boolean":return "boolean";case"string":return "string";case"double":case"float":case"integer":case"long":return "number";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"attachment":return "Attachment";case"array":return `Array<${F(e.subType,t,r)}>`;case"object":{let p=e.objectTypeApiName;return t.add(p),r?p:`${p} | ${p}["__primaryKey"]`}case"objectSet":{let p=e.objectTypeApiName;return t.add(p),`ObjectSet<${p}>`}case"set":return `Set<${F(e.subType,t,r)}>`;case"struct":return `{ ${e.fields.map(p=>{let s=$(p.fieldType);return `${p.name}${s?"?":""}: ${F(p.fieldType,t,r)}`}).join(`,
316
+ `)} }`;case"union":return e.unionTypes.map(p=>F(p,t,r)).filter(p=>p!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
317
+ ${z(e.keyType)},
318
+ ${Xe(e.valueType)}
319
+ >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
320
+ ${z(e.keyType)},
321
+ ${z(e.valueType.keyType)},
322
+ ${Xe(e.valueType.valueType)}
323
+ >`;case"null":return "null";case"unsupported":throw new Error("Cannot generate queries for unsupported type");default:throw new Error(`Cannot generate queries for type ${e.type}`)}}function z(e){switch(e.type){case"boolean":return "boolean";case"double":case"integer":return "number";case"string":return "string";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"range":return `Range<${xt(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function xt(e){switch(e.type){case"date":return "LocalDate";case"double":case"integer":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported QueryAggregationRangeSubType ${e.type}`)}}function Xe(e){switch(e.type){case"date":return "LocalDate";case"double":return "number";case"timestamp":return "Timestamp";default:throw new Error(`Unsupported QueryAggregationValueType ${e.type}`)}}function et(e){return e.replace(/\s/g,"")}async function Ot(e,t,r,n="commonjs"){let a=n==="module"?".js":"",p=y__namespace.join(r,"ontology","objects"),s=y__namespace.join(r,"ontology","actions"),l=y__namespace.join(r,"ontology","queries"),u=H(e);await Pe(t,r,a),await Ce(u,t,r,a),await ve(t,y__namespace.join(r,"ontology")),await Ne(u,t,p,a),await Me(u,t,y__namespace.join(p,"objects-api"),a),await Je(u,t,p,a),await X(u,t,s,a),await Re(u,t,s,a),await tt(u,t,l,a),await He(u,t,l,a),await Be(t,r,a),await Se(t,r);}async function rt(e,t,r){t.writeFile(y__namespace.default.join(r,"OntologyMetadata.ts"),await o(`
324
+ export const OntologyMetadata = {
325
+ ontologyRid: "${e.ontology.rid}",
326
+ ontologyApiName: "${e.ontology.apiName}",
327
+ userAgent: "foundry-typescript-osdk/2.0.0",
328
+ }
329
+ `));}async function At(e,t,r,n="commonjs"){let a=n==="module"?".js":"";await t.mkdir(r,{recursive:!0}),t.writeFile(y__namespace.default.join(r,"index.ts"),await o(`
330
+ export { Ontology } from "./Ontology${a}";
331
+ `));let p=Object.keys(e.objectTypes);await rt(e,t,r),t.writeFile(y__namespace.default.join(r,"Ontology.ts"),await o(`
332
+ import type { OntologyDefinition } from "@osdk/api";
333
+ ${p.map(s=>`import {${s}} from "./objects/${s}${a}";`).join(`
334
+ `)}
335
+ import { OntologyMetadata } from "./OntologyMetadata${a}";
336
+
337
+ export const Ontology = {
338
+ metadata: OntologyMetadata,
339
+ objects: {
340
+ ${p.map(s=>`${s}: ${s},`).join(`
341
+ `)}
342
+ },
343
+ actions: {},
344
+ queries: {},
345
+ } satisfies OntologyDefinition<${p.map(s=>`"${s}"`).join("|")}>;
346
+ `)),await t.mkdir(y__namespace.default.join(r,"objects"),{recursive:!0});for(let s of p){let l=e.objectTypes[s];await t.writeFile(y__namespace.default.join(r,"objects",`${s}.ts`),await o(`
347
+
348
+ import type { ObjectTypeDefinition } from "@osdk/api";
349
+
350
+ ${v(l,!0)}
351
+
352
+
353
+ `));}await t.writeFile(y__namespace.default.join(r,"objects","index.ts"),await o(`
354
+ ${Object.keys(e.objectTypes).map(s=>`export * from "./${s}${a}";`).join(`
355
+ `)}
356
+ `));}
357
+
358
+ exports.generateClientSdkVersionOneDotOne = Ot;
359
+ exports.generateClientSdkVersionTwoPointZero = At;
360
+ //# sourceMappingURL=out.js.map
361
+ //# sourceMappingURL=index.cjs.map