@osdk/generator 0.0.16 → 1.0.1
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.
- package/CHANGELOG.md +21 -0
- package/build/js/index.cjs +386 -0
- package/build/js/index.cjs.map +1 -0
- package/build/js/index.mjs +163 -142
- package/build/js/index.mjs.map +1 -1
- package/build/types/WireOntologyDefinition.d.ts +7 -10
- package/build/types/shared/UNSTABLE_wireInterfaceTypeV2ToSdkObjectConst.d.ts +3 -0
- package/build/types/shared/sanitizeMetadata.d.ts +8 -1
- package/build/types/shared/wireObjectTypeV2ToSdkObjectConst.d.ts +3 -0
- package/build/types/shared/wireObjectTypeV2ToSdkObjectDefinition.d.ts +3 -3
- package/build/types/shared/wirePropertyV2ToSdkPrimaryKeyTypeDefinition.d.ts +2 -2
- package/build/types/shared/wirePropertyV2ToSdkPropertyDefinition.d.ts +2 -2
- package/build/types/util/test/TodoWireOntology.d.ts +87 -76
- package/build/types/v1.1/generateActions.d.ts +1 -1
- package/build/types/v1.1/generateClientSdkVersionOneDotOne.d.ts +1 -1
- package/build/types/v1.1/generateFoundryClientFile.d.ts +1 -1
- package/build/types/v1.1/generateIndexFile.d.ts +1 -1
- package/build/types/v1.1/generateMetadataFile.d.ts +1 -1
- package/build/types/v1.1/generateObjectsInterfaceFile.d.ts +1 -1
- package/build/types/v1.1/generateObjectsInterfaceSupportFiles.d.ts +1 -1
- package/build/types/v1.1/generatePerActionDataFiles.d.ts +1 -1
- package/build/types/v1.1/generatePerObjectInterfaceAndDataFiles.d.ts +1 -1
- package/build/types/v1.1/generatePerQueryDataFiles.d.ts +1 -1
- package/build/types/v1.1/generateQueries.d.ts +1 -1
- package/build/types/v1.1/wireObjectTypeV2ToV1ObjectInterfaceString.d.ts +2 -2
- package/build/types/v2.0/generateClientSdkVersionTwoPointZero.d.ts +2 -2
- package/build/types/v2.0/generateMetadata.d.ts +3 -0
- package/package.json +5 -5
- package/build/js/index.js +0 -365
- package/build/js/index.js.map +0 -1
package/build/js/index.mjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as d from 'path';
|
|
2
|
+
import d__default, { join } from 'path';
|
|
3
3
|
import { format } from 'prettier';
|
|
4
|
-
import
|
|
4
|
+
import at from 'prettier-plugin-organize-imports';
|
|
5
5
|
|
|
6
|
-
function
|
|
7
|
-
`;for(let[
|
|
8
|
-
`,
|
|
9
|
-
${
|
|
6
|
+
function B(e){return {...e,actionTypes:Object.fromEntries(Object.values(e.actionTypes).map(t=>[ee(t.apiName),{...t,apiName:ee(t.apiName)}]))}}function ee(e){return e.replace(/-./g,t=>t[1].toUpperCase())}function N(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 format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[at],tabWidth:2,printWidth:120})}async function te(e,t,r,n=""){let a=new Set,s=[];for(let c of Object.values(e.actionTypes)){let l=Object.entries(c.parameters),u=N(c),y=Array.from(u.addedObjects),w=Array.from(u.modifiedObjects);y.forEach(a.add,a),w.forEach(a.add,a);let p=["/**"];c.description&&p.push(`* ${c.description}`);let g="";if(l.length>0){g=`params: {
|
|
7
|
+
`;for(let[x,P]of l){g+=`"${x}"`,g+=P.required?": ":"?: ";let X=re(P.dataType,a);g+=`${X};
|
|
8
|
+
`,p.push(`* @param {${X}} params.${x}`);}g+="}, ";}p.push("*/"),s.push(`
|
|
9
|
+
${p.join(`
|
|
10
10
|
`)}
|
|
11
|
-
${
|
|
12
|
-
Promise<Result<ActionResponseFromOptions<O, Edits<${
|
|
11
|
+
${c.apiName}<O extends ActionExecutionOptions>(${g}options?: O):
|
|
12
|
+
Promise<Result<ActionResponseFromOptions<O, Edits<${y.length>0?y.join(" | "):"void"}, ${w.length>0?w.join(" | "):"void"}>>, ActionError>>;`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"Actions.ts"),await o(`
|
|
13
13
|
import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
|
|
14
|
-
${Array.from(
|
|
14
|
+
${Array.from(a).map(c=>`import type { ${c} } from "../objects/${c}${n}";`).join(`
|
|
15
15
|
`)}
|
|
16
16
|
export interface Actions {
|
|
17
17
|
${s.join(`
|
|
18
18
|
`)}
|
|
19
19
|
}
|
|
20
|
-
`));}function
|
|
20
|
+
`));}function re(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<${re(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 m(e){return `
|
|
21
21
|
import { ${e.map(t=>`${t} as OG_${t}`).join(", ")}} from "@osdk/legacy-client";
|
|
22
22
|
|
|
23
23
|
${e.map(t=>`
|
|
@@ -26,43 +26,43 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
26
26
|
`).join(`
|
|
27
27
|
|
|
28
28
|
`)}
|
|
29
|
-
`}async function
|
|
29
|
+
`}async function oe(e,t){let r=d__default.join(t,"ConfidentialClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
30
30
|
export * from "./ConfidentialClientAuth";
|
|
31
|
-
`)),await e.writeFile(
|
|
32
|
-
${
|
|
33
|
-
`));}async function
|
|
31
|
+
`)),await e.writeFile(d__default.join(r,"ConfidentialClientAuth.ts"),await o(`
|
|
32
|
+
${m(["ConfidentialClientAuth"])}
|
|
33
|
+
`));}async function ie(e,t){let r=d__default.join(t,"PublicClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
34
34
|
export * from "./PublicClientAuth";
|
|
35
|
-
`)),await e.writeFile(
|
|
36
|
-
${
|
|
37
|
-
`));}async function
|
|
35
|
+
`)),await e.writeFile(d__default.join(r,"PublicClientAuth.ts"),await o(`
|
|
36
|
+
${m(["PublicClientAuth"])}
|
|
37
|
+
`));}async function ae(e,t){let r=d__default.join(t,"UserToken");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
38
38
|
export * from "./UserTokenAuth";
|
|
39
|
-
`)),await e.writeFile(
|
|
40
|
-
${
|
|
41
|
-
`));}function
|
|
42
|
-
import type { ${e.map(
|
|
39
|
+
`)),await e.writeFile(d__default.join(r,"UserTokenAuth.ts"),await o(`
|
|
40
|
+
${m(["UserTokenAuth"])}
|
|
41
|
+
`));}function i(e,t="",r=ct(t)){return `
|
|
42
|
+
import type { ${e.map(n=>`${n} as OG_${n}`).join(", ")}} from "@osdk/legacy-client";
|
|
43
43
|
|
|
44
|
-
${e.map(
|
|
44
|
+
${e.map(n=>`
|
|
45
45
|
/** @deprecated submodule imports arent public api **/
|
|
46
|
-
export type ${
|
|
46
|
+
export type ${n}${t} = OG_${n}${r};
|
|
47
47
|
`).join(`
|
|
48
48
|
|
|
49
49
|
`)}
|
|
50
|
-
`}var
|
|
50
|
+
`}var st=/<(.*?)>/,pt=/^\s?(.+?)( extends .*?)?( = .*?)?\s?$/;function ct(e){return e.length===0?"":`<${st.exec(e)?.[1]?.split(",")?.map(r=>pt.exec(r)?.[1]??r)?.join(",")}>`}async function ne(e,t){let r=d.join(e,"internal","@foundry","oauth-client","dist");await t.mkdir(r,{recursive:!0}),await t.writeFile(d.join(r,"index.ts"),await o(`
|
|
51
51
|
export * from "./Auth";
|
|
52
52
|
export * from "./ConfidentialClient";
|
|
53
53
|
export * from "./OAuthClient";
|
|
54
54
|
export * from "./PublicClient";
|
|
55
55
|
export * from "./Token";
|
|
56
56
|
export * from "./UserToken";
|
|
57
|
-
`)),await t.writeFile(
|
|
57
|
+
`)),await t.writeFile(d.join(r,"Auth.ts"),await o(i(["Auth"]))),await t.writeFile(d.join(r,"Token.ts"),await o(i(["Token","TokenValue"]))),await t.writeFile(d.join(r,"OAuthClient.ts"),await o(i(["AuthSubscription","UnsubscribeFunction","SignInResponse","RefreshResponse","SignOutResponse"]))),await t.writeFile(d.join(r,"OAuthToken.ts"),await o(m(["OAuthToken"]))),await t.writeFile(d.join(r,"Auth.ts"),await o(i(["Auth"]))),await oe(t,r),await ie(t,r),await ae(t,r);}async function pe(e,t){await e.writeFile(d.join(t,"Aggregations.ts"),await o(`
|
|
58
58
|
import { LocalDate, Timestamp } from "@osdk/legacy-client";
|
|
59
|
-
`+
|
|
60
|
-
`));}async function
|
|
59
|
+
`+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>")+m(["assertBucketingInternal","visitInternalBucketing"])+i(["AggregatableObjectSetStep"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketableProperties, TBucketGroup extends BucketGroup = {}>")+i(["GroupedTerminalAggregationOperations"],"<TAggregatableProperties, TMultipleAggregationProperties, TBucketGroup extends BucketGroup = {}>")));}async function ce(e,t){await e.mkdir(d.join(t,"groupBy"),{recursive:!0});let r=["BooleanGroupBy","LocalDateGroupBy","NumericGroupBy","StringGroupBy","TimestampGroupBy"],n=[...r,"GroupKeyType"];for(let a of n)await e.writeFile(d.join(t,"groupBy",`${a}.ts`),await o(`export {${a}} from "./index";`));await e.writeFile(d.join(t,"groupBy","index.ts"),await o('import { Bucketing, BucketKey, Duration, Range, Rangeable } from "../Aggregations";'+m(r)+i(r,"<T extends BucketKey>")+`export {GroupKeyType} from "@osdk/legacy-client";
|
|
60
|
+
`));}async function me(e,t){let r=d.join(t,"metrics");await e.mkdir(r,{recursive:!0}),await e.writeFile(d.join(r,"metrics.ts"),await o('export {MetricValueType} from "@osdk/legacy-client";')),await e.writeFile(d.join(r,"ApproximateDistinctCountAggregatableProperty.ts"),await o(m(["ApproximateDistinctCountAggregatableProperty"])+i(["ApproximateDistinctCountAggregatableProperty"]))),await e.writeFile(d.join(r,"MultipleAggregatableProperty.ts"),await o(`
|
|
61
61
|
import { Double, MetricValue, MultipleAggregationsOperations } from "../Aggregations";
|
|
62
62
|
import { MetricValueType } from "./metrics";
|
|
63
|
-
`+
|
|
63
|
+
`+m(["MultipleAggregatableProperty"])+i(["MultipleAggregatableProperty"],"<TResult extends MetricValue = Double>")));for(let n of ["DefaultAggregatableProperty","LocalDatePropertyMetric","NumericPropertyMetric","TimestampPropertyMetric"])await e.writeFile(d.join(r,`${n}.ts`),await o(`
|
|
64
64
|
import { MultipleAggregatableProperty } from "./MultipleAggregatableProperty";
|
|
65
|
-
`+
|
|
65
|
+
`+m([n])));await e.writeFile(d.join(r,"index.ts"),await o(`
|
|
66
66
|
export * from "./ApproximateDistinctCountAggregatableProperty";
|
|
67
67
|
export * from "./DefaultAggregatableProperty";
|
|
68
68
|
export * from "./LocalDatePropertyMetric";
|
|
@@ -70,7 +70,7 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
70
70
|
export * from "./MultipleAggregatableProperty";
|
|
71
71
|
export * from "./NumericPropertyMetric";
|
|
72
72
|
export * from "./TimestampPropertyMetric";
|
|
73
|
-
`));}async function
|
|
73
|
+
`));}async function le(e,t){let r=d.join(t,"aggregations");await e.mkdir(r,{recursive:!0}),await ce(e,r),await pe(e,r),await me(e,r),await e.writeFile(d.join(r,"index.ts"),await o(`
|
|
74
74
|
|
|
75
75
|
|
|
76
76
|
|
|
@@ -80,16 +80,16 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
80
80
|
export * from "./groupBy";
|
|
81
81
|
export * from "./internalAggregationRequest";
|
|
82
82
|
export * from "./metrics";
|
|
83
|
-
`)),await e.writeFile(
|
|
83
|
+
`)),await e.writeFile(d.join(r,"ComputeStep.ts"),await o(`
|
|
84
84
|
import { ObjectSetDefinition } from "../baseTypes";
|
|
85
85
|
import { FoundryClientOptions } from "../client";
|
|
86
86
|
import { AggregateObjectsError, OntologyMetadata, Result } from "../ontologyProvider";
|
|
87
87
|
import { AggregationClause, AggregationResult, BucketGroup, BucketValue, InternalBucketing, Metrics, MetricValue } from "./Aggregations";
|
|
88
|
-
`+
|
|
88
|
+
`+m(["ComputeStep"])+i(["ComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue> ")+i(["AggregationComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+`
|
|
89
89
|
|
|
90
|
-
`)),await e.writeFile(
|
|
90
|
+
`)),await e.writeFile(d.join(r,"CountOperation.ts"),await o(""+m(["CountOperation","isCountOperation"])+i(["CountOperation"]))),await e.writeFile(d.join(r,"internalAggregationRequest.ts"),await o(i(["InternalAggregationRequest"])));}async function ue(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__default.join(e,"index.ts"),await o(`export * from "./Attachment";
|
|
91
91
|
export * from "./Attachments";
|
|
92
|
-
`)),await t.writeFile(
|
|
92
|
+
`)),await t.writeFile(d__default.join(e,"Attachment.ts"),await o(i(["Attachment","AttachmentMetadata"]))),await t.writeFile(d__default.join(e,"Attachments.ts"),await o(i(["Attachments"])));}async function ye(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d.join(e,"index.ts"),await o(`export * from "./Distance";
|
|
93
93
|
export * from "./GeoJson";
|
|
94
94
|
export * from "./GeometryCollection";
|
|
95
95
|
export * from "./GeoPoint";
|
|
@@ -98,19 +98,19 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
98
98
|
export * from "./MultiGeoPoint";
|
|
99
99
|
export * from "./MultiLineString";
|
|
100
100
|
export * from "./MultiPolygon";
|
|
101
|
-
export * from "./Polygon";`)),await t.writeFile(
|
|
101
|
+
export * from "./Polygon";`)),await t.writeFile(d.join(e,"Distance.ts"),await o(""+m(["Distance","DistanceUnit"])+i(["Distance","DistanceUnit"]))),await t.writeFile(d.join(e,"GeoJson.ts"),await o(i(["GeoJsonPoint","GeoJsonPolygon","GeoJsonLineString","GeoJsonMultiPoint","GeoJsonMultiPolygon","GeoJsonMultiLineString","GeoJsonGeometryCollection","GeoJsonGeometry","GeoJson"]))),await t.writeFile(d.join(e,"GeometryCollection.ts"),await o(m(["GeometryCollection"]))),await t.writeFile(d.join(e,"GeoPoint.ts"),await o(""+m(["isGeoPoint","GeoPoint","mapCoordinatesToGeoPoint"])+i(["GeoHash","Coordinates","GeoPoint"]))),await t.writeFile(d.join(e,"GeoShape.ts"),await o(m(["GeoShape"])+i(["GeoShape"]))),await t.writeFile(d.join(e,"LineString.ts"),await o(m(["LineString"])+i(["LineString"]))),await t.writeFile(d.join(e,"MultiGeoPoint.ts"),await o(m(["MultiGeoPoint"])+i(["MultiGeoPoint"]))),await t.writeFile(d.join(e,"MultiLineString.ts"),await o(m(["MultiLineString"])+i(["MultiLineString"]))),await t.writeFile(d.join(e,"MultiPolygon.ts"),await o(m(["MultiPolygon"])+i(["MultiPolygon"]))),await t.writeFile(d.join(e,"Polygon.ts"),await o(m(["Polygon"])+i(["LinearRing","Polygon"])));}async function ge(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__default.join(e,"index.ts"),await o(`
|
|
102
102
|
export * from "./ObjectSetDefinition";
|
|
103
103
|
export * from "./OntologyObjectSet";
|
|
104
|
-
`)),await t.writeFile(
|
|
104
|
+
`)),await t.writeFile(d__default.join(e,"ObjectSetDefinition.ts"),await o(i(["BaseObjectSetDefinition","ReferenceObjectSetDefinition","StaticObjectSetDefinition","IntersectObjectSetDefinition","SubtractObjectSetDefinition","SearchAroundObjectSetDefinition","FilterObjectSetDefinition","ObjectSetDefinition"]))),await t.writeFile(d__default.join(e,"OntologyObjectSet.ts"),await o(i(["OntologyObjectSet"])));}async function fe(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__default.join(e,"index.ts"),await o(`
|
|
105
105
|
export * from "./FilteredPropertiesTerminalOperations";
|
|
106
|
-
`)),await t.writeFile(
|
|
106
|
+
`)),await t.writeFile(d__default.join(e,"FilteredPropertiesTerminalOperations.ts"),await o('import { OntologyObject } from "../OntologyObject'+i(["FilteredPropertiesTerminalOperations","FilteredPropertiesTerminalOperationsWithGet"],"<T extends OntologyObject, V extends Array<keyof T>>")));}async function Te(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d.join(e,"index.ts"),await o(`
|
|
107
107
|
export * from "./TimeSeries";
|
|
108
108
|
export * from "./TimeSeriesDuration";
|
|
109
109
|
export * from "./TimeSeriesPoint";
|
|
110
110
|
|
|
111
111
|
export * from "./TimeSeriesQuery";
|
|
112
112
|
export * from "./TimeSeriesTerminalOperations";
|
|
113
|
-
`)),await t.writeFile(
|
|
113
|
+
`)),await t.writeFile(d.join(e,"TimeSeries.ts"),await o(i(["TimeSeries"],"<T extends number | string>"))),await t.writeFile(d.join(e,"TimeSeriesDuration.ts"),await o(i(["WhenUnit","DurationUnit","TimeSeriesDuration"]))),await t.writeFile(d.join(e,"TimeSeriesPoint.ts"),await o(i(["TimeSeriesPoint"],"<T extends number | string>"))),await t.writeFile(d.join(e,"TimeSeriesQuery.ts"),await o(i(["TimeSeriesQuery"],"<T extends number | string>"))),await t.writeFile(d.join(e,"TimeSeriesTerminalOperations.ts"),await o(i(["TimeSeriesTerminalOperations","TimeSeriesIterator"],"<T extends number | string>")));}async function we(e,t){let r=d.join(e,"baseTypes");await t.mkdir(r,{recursive:!0}),await t.writeFile(d.join(r,"index.ts"),await o(`export * from "./ActionType";
|
|
114
114
|
export * from "./attachments";
|
|
115
115
|
export * from "./geoshapes";
|
|
116
116
|
export * from "./links";
|
|
@@ -120,9 +120,9 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
120
120
|
export * from "./OntologyObject";
|
|
121
121
|
export * from "./Queries";
|
|
122
122
|
export * from "./timeseries";
|
|
123
|
-
export * from "./timestamp";`));let
|
|
124
|
-
`+
|
|
125
|
-
`+
|
|
123
|
+
export * from "./timestamp";`));let n=d.join(r,"geoshapes");await ye(n,t);let a=d.join(r,"timeseries");await Te(a,t);let s=d.join(r,"attachments");await ue(s,t);let c=d.join(r,"objectset");await ge(c,t);let l=d.join(r,"sharedObjectCode");await fe(l,t),await t.writeFile(d.join(r,"ActionType.ts"),await o(`import { OntologyObject } from "./OntologyObject";
|
|
124
|
+
`+m(["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(d.join(r,"OntologyObject.ts"),await o(i(["OntologyObject"])+m(["isOntologyObject"]))),await t.writeFile(d.join(r,"links.ts"),await o('import { OntologyObject } from "./OntologyObject'+i(["SingleLink","MultiLink"],"<T extends OntologyObject = OntologyObject>"))),await t.writeFile(d.join(r,"localDate.ts"),await o(m(["LocalDate"])+i(["LocalDate"]))),await t.writeFile(d.join(r,"timestamp.ts"),await o(m(["Timestamp"])+i(["Timestamp"]))),await t.writeFile(d.join(r,"Queries.ts"),await o(`import { BucketValue, Range, Rangeable } from "../aggregations";
|
|
125
|
+
`+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(d.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 je(e,t){let r=d__default.join(e,"client");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"index.ts"),await o('export * from "./clientOptions";')),await t.writeFile(d__default.join(r,"clientOptions.ts"),await o('import {Auth} from "@osdk/legacy-client";'+i(["FoundryClientOptions"],"<TAuth extends Auth = Auth>")));}async function be(e,t){let r=d__default.join(e,"filters");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"index.ts"),await o(`export * from "./ArrayFilter";
|
|
126
126
|
export * from "./AttachmentFilter";
|
|
127
127
|
export * from "./BooleanFilter";
|
|
128
128
|
export * from "./DateTimeFilters";
|
|
@@ -132,15 +132,15 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
132
132
|
export * from "./NumericFilter";
|
|
133
133
|
export * from "./Op";
|
|
134
134
|
export * from "./OrderByOption";
|
|
135
|
-
export * from "./StringFilter";`)),await t.writeFile(
|
|
136
|
-
`+
|
|
135
|
+
export * from "./StringFilter";`)),await t.writeFile(d__default.join(r,"ArrayFilter.ts"),await o('import { Attachment, GeoPoint, GeoShape, LocalDate, Timestamp } from "../baseTypes";'+m(["ArrayFilter"])+i(["ArrayFilter"],"<T extends string | number | Timestamp | LocalDate | boolean | GeoShape | GeoPoint | Attachment>"))),await t.writeFile(d__default.join(r,"AttachmentFilter.ts"),await o(m(["AttachmentFilter"])+i(["AttachmentFilter"]))),await t.writeFile(d__default.join(r,"BooleanFilter.ts"),await o(m(["BooleanFilter"])+i(["BooleanFilter"]))),await t.writeFile(d__default.join(r,"GeoPointFilter.ts"),await o(m(["GeoPointFilter"])+i(["GeoPointFilter","BoundingBox"]))),await t.writeFile(d__default.join(r,"DateTimeFilters.ts"),await o(m(["TimestampFilter","LocalDateFilter"])+i(["TimestampFilter","LocalDateFilter"]))),await t.writeFile(d__default.join(r,"GeoShapeFilter.ts"),await o(m(["GeoShapeFilter"])+i(["GeoShapeFilter"]))),await t.writeFile(d__default.join(r,"NumericFilter.ts"),await o(m(["NumericFilter"])+i(["NumericFilter"]))),await t.writeFile(d__default.join(r,"Op.ts"),await o(m(["Op"]))),await t.writeFile(d__default.join(r,"OrderByOption.ts"),await o(m(["OrderByOption"])+i(["OrderByOption"]))),await t.writeFile(d__default.join(r,"StringFilter.ts"),await o(m(["StringFilter"])+i(["StringFilter"]))),await t.writeFile(d__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 xe(e,t){await e.writeFile(d.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 Ae(e,t){await e.writeFile(d.join(t,"OntologyMetadata.ts"),await o(i(["OntologyMetadata"])));}async function Fe(e,t){await e.writeFile(d.join(t,"Result.ts"),await o(`import {FoundryApiError} from "@osdk/legacy-client";
|
|
136
|
+
`+i(["Ok","Err"],"<T>")+i(["Result"],"<V, E = FoundryApiError>","<V,E>")+m(["isOk","isErr","visitError"])+i(["ErrorVisitor"],"<E extends FoundryApiError, R>","<E,R>")+i(["ExtractKeysWithType"],"<T, K extends keyof T>","<T,K>")));}async function ke(e,t){let r=d.join(t,"ontologyProvider");await e.mkdir(r,{recursive:!0}),await xe(e,r),await Ae(e,r),await Fe(e,r),await e.writeFile(d.join(r,"index.ts"),await o(`
|
|
137
137
|
|
|
138
138
|
export * from "./Errors";
|
|
139
139
|
export * from "./OntologyMetadata";
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
// export * from "./Result";
|
|
143
|
-
`));}async function
|
|
143
|
+
`));}async function Se(e,t){let r=d.join(e,"paging");await t.mkdir(r,{recursive:!0}),await t.writeFile(d.join(r,"index.ts"),await o('export * from "./Page";')),await t.writeFile(d.join(r,"Page.ts"),await o(i(["Page"],"<T>")));}async function Pe(e,t){let r=d.join(e,"internal","@foundry","ontology-runtime","dist");await t.mkdir(r,{recursive:!0}),await ke(t,r),await le(t,r),await Se(r,t),await we(r,t),await je(r,t),await be(r,t),await t.writeFile(d.join(r,"index.ts"),await o(`
|
|
144
144
|
export * from "./aggregations";
|
|
145
145
|
export * from "./baseTypes";
|
|
146
146
|
|
|
@@ -150,10 +150,10 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
150
150
|
|
|
151
151
|
export * from "./ontologyProvider";
|
|
152
152
|
export * from "./paging";
|
|
153
|
-
`));}async function
|
|
153
|
+
`));}async function De(e,t){await Pe(t,e),await ne(t,e);}async function Be(e,t,r=""){await e.writeFile(d__default.join(t,"FoundryClient.ts"),await o(`
|
|
154
154
|
import { BaseFoundryClient } from "@osdk/legacy-client";
|
|
155
155
|
import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
|
|
156
|
-
import { Ontology } from "./Ontology";
|
|
156
|
+
import { Ontology } from "./Ontology${r}";
|
|
157
157
|
|
|
158
158
|
export class FoundryClient<TAuth extends Auth = Auth> extends BaseFoundryClient<typeof Ontology, TAuth> {
|
|
159
159
|
constructor(options: FoundryClientOptions<TAuth>) {
|
|
@@ -163,178 +163,199 @@ function Y(e){return {...e,actionTypes:e.actionTypes.map(t=>({...t,apiName:et(t.
|
|
|
163
163
|
get ontology(): Ontology {
|
|
164
164
|
return super.ontology;
|
|
165
165
|
}
|
|
166
|
-
}`));}async function
|
|
166
|
+
}`));}async function Ce(e,t,r){await e.mkdir(t,{recursive:!0}),await e.writeFile(d.join(t,"index.ts"),await o(`
|
|
167
167
|
export * from "@osdk/legacy-client";
|
|
168
|
-
export type { Ontology } from "./Ontology";
|
|
169
|
-
export { FoundryClient } from "./FoundryClient";
|
|
170
|
-
`));}function
|
|
168
|
+
export type { Ontology } from "./Ontology${r}";
|
|
169
|
+
export { FoundryClient } from "./FoundryClient${r}";
|
|
170
|
+
`));}function G(e,t){return e.map(r=>{let n=t?.get(r);return n?`${r}: ${n}`:r}).join(",")}function E(e,t){return e.map(r=>`${r}: typeof ${t?.get(r)??r}`).join(",")}async function Me(e,t,r,n=""){let a=Object.keys(e.objectTypes),s=Object.keys(e.actionTypes),c=Object.keys(e.queryTypes),l=new Map,u=new Map,y=new Set(a);for(let p of s)y.has(p)?l.set(p,`${p}Action`):y.add(p);for(let p of c)y.has(p)&&u.set(p,`${p}Query`);let w=(p,g)=>{let x=g.get(p);return x?`${p} as ${x}`:p};await t.writeFile(d__default.join(r,"Ontology.ts"),await o(`
|
|
171
171
|
import type { OntologyDefinition } from "@osdk/api";
|
|
172
172
|
import type { Ontology as ClientOntology } from "@osdk/legacy-client";
|
|
173
|
-
import type { Objects } from "./ontology/objects/Objects";
|
|
174
|
-
import type { Actions } from "./ontology/actions/Actions";
|
|
175
|
-
import type { Queries } from "./ontology/queries/Queries";
|
|
176
|
-
${
|
|
173
|
+
import type { Objects } from "./ontology/objects/Objects${n}";
|
|
174
|
+
import type { Actions } from "./ontology/actions/Actions${n}";
|
|
175
|
+
import type { Queries } from "./ontology/queries/Queries${n}";
|
|
176
|
+
${a.map(p=>`import {${p}} from "./ontology/objects/${p}${n}";`).join(`
|
|
177
177
|
`)}
|
|
178
|
-
${s.map(
|
|
178
|
+
${s.map(p=>`import {${w(p,l)}} from "./ontology/actions/${p}${n}";`).join(`
|
|
179
179
|
`)}
|
|
180
|
-
${
|
|
180
|
+
${c.map(p=>`import {${w(p,u)}} from "./ontology/queries/${p}${n}";`).join(`
|
|
181
181
|
`)}
|
|
182
182
|
|
|
183
183
|
export const Ontology : {
|
|
184
184
|
metadata: {
|
|
185
|
-
ontologyRid: "${e.rid}",
|
|
186
|
-
ontologyApiName: "${e.apiName}",
|
|
185
|
+
ontologyRid: "${e.ontology.rid}",
|
|
186
|
+
ontologyApiName: "${e.ontology.apiName}",
|
|
187
187
|
userAgent: "foundry-typescript-osdk/0.0.1",
|
|
188
188
|
},
|
|
189
189
|
objects: {
|
|
190
|
-
${
|
|
190
|
+
${E(a)}
|
|
191
191
|
},
|
|
192
192
|
actions: {
|
|
193
|
-
${
|
|
193
|
+
${E(s,l)}
|
|
194
194
|
},
|
|
195
195
|
queries: {
|
|
196
|
-
${
|
|
196
|
+
${E(c,u)}
|
|
197
197
|
},
|
|
198
198
|
} = {
|
|
199
199
|
metadata: {
|
|
200
|
-
ontologyRid: "${e.rid}" as const,
|
|
201
|
-
ontologyApiName: "${e.apiName}" as const,
|
|
200
|
+
ontologyRid: "${e.ontology.rid}" as const,
|
|
201
|
+
ontologyApiName: "${e.ontology.apiName}" as const,
|
|
202
202
|
userAgent: "foundry-typescript-osdk/0.0.1" as const,
|
|
203
203
|
},
|
|
204
204
|
objects: {
|
|
205
|
-
${
|
|
205
|
+
${G(a)}
|
|
206
206
|
},
|
|
207
207
|
actions: {
|
|
208
|
-
${
|
|
208
|
+
${G(s,l)}
|
|
209
209
|
},
|
|
210
210
|
queries: {
|
|
211
|
-
${
|
|
211
|
+
${G(c,u)}
|
|
212
212
|
}
|
|
213
|
-
} satisfies OntologyDefinition<${
|
|
213
|
+
} satisfies OntologyDefinition<${a.map(p=>`"${p}"`).join("|")}, ${Object.values(e.actionTypes).map(p=>`"${p.apiName}"`).join("|")}, ${Object.values(e.queryTypes).map(p=>`"${p.apiName}"`).join("|")}>;
|
|
214
214
|
|
|
215
215
|
export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
216
216
|
objects: Objects;
|
|
217
217
|
actions: Actions;
|
|
218
218
|
queries: Queries;
|
|
219
|
-
}`));}async function
|
|
219
|
+
}`));}async function Ge(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"Objects.ts"),await o(`
|
|
220
220
|
import { BaseObjectSet } from "@osdk/legacy-client";
|
|
221
|
-
${Array.from(Object.keys(e.objectTypes)).map(
|
|
221
|
+
${Array.from(Object.keys(e.objectTypes)).map(a=>`import type { ${a} } from "./${a}${n}";`).join(`
|
|
222
222
|
`)}
|
|
223
223
|
|
|
224
224
|
export interface Objects {
|
|
225
|
-
${Object.keys(e.objectTypes).map(
|
|
225
|
+
${Object.keys(e.objectTypes).map(a=>`${a} : BaseObjectSet<${a}>;`).join(`
|
|
226
226
|
`)}
|
|
227
227
|
}
|
|
228
|
-
;`));}async function
|
|
228
|
+
;`));}async function Ee(e,t,r,n=""){await t.mkdir(r,{recursive:!0});for(let{objectType:{apiName:a}}of Object.values(e.objectTypes)){let s=join(r,`${a}.ts`),c=`OG_${a}`,l=[];l.push('import { ObjectSetAggregateArg, ObjectSetFilterArg, ObjectSetGroupByArg, ObjectSetMultipleAggregateArg, ObjectSetOrderByArg } from "@osdk/legacy-client";'),l.push(`import { ${a} as ${c} } from "../${a}${n}";`),l.push(""),l.push(`/** @deprecated Use ${a} from ontology/objects instead */`,`export type ${a} = ${c};`),l.push(`/** @deprecated Use ObjectSetFilterArg<${a}> instead */`,`export type ${a}Filter = ObjectSetFilterArg<${c}>;`),l.push(`/** @deprecated Use ObjectSetOrderByArg<${a}> instead */`,`export type ${a}OrderBy = ObjectSetOrderByArg<${c}>;`),l.push(`/** @deprecated Use ObjectSetGroupByArg<${a}> instead */`,`export type ${a}GroupByProperties = ObjectSetGroupByArg<${c}>;`),l.push(`
|
|
229
229
|
/**
|
|
230
|
-
* Aggregation properties for ${
|
|
231
|
-
* @deprecated Use ObjectSetAggregateArg<${
|
|
232
|
-
*/`,`export type ${
|
|
230
|
+
* Aggregation properties for ${a}
|
|
231
|
+
* @deprecated Use ObjectSetAggregateArg<${a}> instead
|
|
232
|
+
*/`,`export type ${a}AggregationProperties = ObjectSetAggregateArg<${c}>;`),l.push(`
|
|
233
233
|
/**
|
|
234
|
-
* Multiple aggregation properties for ${
|
|
235
|
-
* @deprecated Use ObjectSetMultipleAggregateArg<${
|
|
236
|
-
*/`,`export type ${
|
|
237
|
-
`));}}async function
|
|
234
|
+
* Multiple aggregation properties for ${a}.
|
|
235
|
+
* @deprecated Use ObjectSetMultipleAggregateArg<${a}> instead
|
|
236
|
+
*/`,`export type ${a}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${c}>;`),await t.writeFile(s,l.join(`
|
|
237
|
+
`));}}async function Ve(e,t){await e.mkdir(t,{recursive:!0}),await e.writeFile(d.join(t,"index.ts"),await o(`
|
|
238
238
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
239
|
-
`));}function
|
|
239
|
+
`));}function Re(e){let t=N(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([r,n])=>[r,gt(n)])),displayName:e.displayName,description:e.description,modifiedEntities:dt(t.addedObjects,t.modifiedObjects)}}function gt(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:W(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:W(e.dataType),nullable:!e.required,description:e.description}}}function W(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 W(e.subType)}}function dt(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 v(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.actionTypes).map(async a=>{let s=new Set(ft(a));await t.writeFile(d__default.join(r,`${a.apiName}.ts`),await o(`
|
|
240
240
|
import { ActionDefinition } from "@osdk/api";
|
|
241
241
|
|
|
242
|
-
export const ${
|
|
243
|
-
${e.actionTypes.map(
|
|
242
|
+
export const ${a.apiName} = ${JSON.stringify(Re(a),null,2)} satisfies ActionDefinition<"${a.apiName}", ${s.size>0?[...s].map(c=>`"${c}"`).join("|"):"never"}>;`));})),await t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
243
|
+
${Object.values(e.actionTypes).map(a=>`export * from "./${a.apiName}${n}";`).join(`
|
|
244
244
|
`)}
|
|
245
|
-
`));}function
|
|
246
|
-
${
|
|
245
|
+
`));}function ft(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 Ke(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 V(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:z(e.dataType),nullable:t};case"array":return {multiplicity:!0,description:e.description,type:z(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function z(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 z(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function _e(e,t){if(e.objectType.properties[e.objectType.primaryKey]===void 0)throw new Error(`Primary key ${e.objectType.primaryKey} not found in ${e.objectType.apiName}`);return {apiName:e.objectType.apiName,description:e.objectType.description,primaryKeyType:Ke(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,V(n,!(t&&e.objectType.primaryKey===r))]))}}function R(e,t=!1){let r=new Set(e.linkTypes.map(n=>n.objectTypeApiName));return `
|
|
246
|
+
export const ${e.objectType.apiName} = ${JSON.stringify(_e(e,t),null,2)} satisfies ObjectTypeDefinition<"${e.objectType.apiName}", ${r.size>0?[...r].map(n=>`"${n}"`).join("|"):"never"}>;`}var Tt=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 Le(e){return Tt.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";
|
|
247
|
+
${Array.from(t).map(r=>`import type { ${r} } from "./${r}";`).join(`
|
|
247
248
|
`)}
|
|
248
249
|
|
|
249
|
-
${
|
|
250
|
-
readonly __apiName: "${e.apiName}";
|
|
251
|
-
readonly __primaryKey: ${
|
|
252
|
-
${Object.entries(e.properties).flatMap(([
|
|
253
|
-
readonly ${
|
|
250
|
+
${Ue(e.objectType.description)}export interface ${e.objectType.apiName} extends OntologyObject {
|
|
251
|
+
readonly __apiName: "${e.objectType.apiName}";
|
|
252
|
+
readonly __primaryKey: ${Y(e.objectType.properties[e.objectType.primaryKey].dataType)};
|
|
253
|
+
${Object.entries(e.objectType.properties).flatMap(([r,n])=>{let a=Y(n.dataType),s=[`${Ue(n.description)}readonly ${r}: ${a} | undefined`];return Le(r)&&s.push(`/** @deprecated please migrate to '${r}' instead */
|
|
254
|
+
readonly ${r}_: ${a} | undefined`),s}).join(`;
|
|
254
255
|
`)}
|
|
255
|
-
${
|
|
256
|
+
${e.linkTypes.flatMap(r=>[`readonly ${r.apiName}: ${r.cardinality==="MANY"?"MultiLink":"SingleLink"}<${r.objectTypeApiName}>`]).join(`;
|
|
256
257
|
`)}
|
|
257
258
|
}
|
|
258
|
-
`}function
|
|
259
|
+
`}function Y(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return Y(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 Ue(e){return e?`/**
|
|
259
260
|
* ${e}
|
|
260
261
|
*/
|
|
261
|
-
`:""}async function We(e,t,r){await t.mkdir(r,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async
|
|
262
|
-
import {
|
|
263
|
-
${
|
|
262
|
+
`:""}async function We(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(d__default.join(r,`${a.objectType.apiName}.ts`),await o(`
|
|
263
|
+
import { ObjectTypeDefinition } from "@osdk/api";
|
|
264
|
+
${qe(a)}
|
|
264
265
|
|
|
265
|
-
|
|
266
|
-
|
|
266
|
+
${R(a)}
|
|
267
|
+
`));})),await t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
268
|
+
${Object.keys(e.objectTypes).map(a=>`export * from "./${a}${n}";`).join(`
|
|
267
269
|
`)}
|
|
268
270
|
export type { ObjectSet } from "@osdk/legacy-client";
|
|
269
271
|
|
|
270
|
-
`));}function
|
|
272
|
+
`));}function F(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(t=>F(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=F(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:Z(e)};case"threeDimensionalAggregation":return {type:"threeDimensionalAggregation",threeDimensionalAggregation:wt(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 Z(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 wt(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:Z(e.valueType)};if(ze(e.keyType))return {keyType:e.keyType.type,valueType:Z(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,jt(r)])),output:b(e.output)}}function jt(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 s=bt(a);await t.writeFile(d__default.join(r,`${a.apiName}.ts`),await o(`
|
|
271
273
|
import { QueryDefinition } from "@osdk/api";
|
|
272
274
|
|
|
273
|
-
export const ${
|
|
274
|
-
${e.queryTypes.map(
|
|
275
|
+
export const ${a.apiName} = ${JSON.stringify(Ye(a))} satisfies QueryDefinition<"${a.apiName}", ${s.length>0?s.map(c=>`"${c}"`).join("|"):"never"}>;`));})),await t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
276
|
+
${Object.values(e.queryTypes).map(a=>`export * from "./${a.apiName}${n}";`).join(`
|
|
275
277
|
`)}
|
|
276
|
-
`));}function
|
|
277
|
-
${
|
|
278
|
+
`));}function bt(e){let t=new Set;for(let{dataType:r}of Object.values(e.parameters))D(r,t);return D(e.output,t),Array.from(t)}function D(e,t){switch(e.type){case"array":case"set":D(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))D(n.fieldType,t);return;case"union":for(let n of e.unionTypes)D(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,s=[];for(let c of Object.values(e.queryTypes)){let l=["/**"];c.description&&l.push(`* ${c.description}`);let u=k(c.output,a,!0),y=[];for(let[p,g]of Object.entries(c.parameters)){let x=F(g.dataType),P=k(g.dataType,a,!1);y.push(`"${p}"${x?"?":""}: ${P}`),l.push(`* @param {${et(P)}} params.${p}${g.description?` - ${g.description}`:""}`);}let w=y.length===0?"":`params: { ${y.join("; ")} }`;l.push(`* @returns ${et(u)}`,"*/"),s.push(`
|
|
279
|
+
${l.join(`
|
|
278
280
|
`)}
|
|
279
|
-
${
|
|
280
|
-
`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(
|
|
281
|
+
${c.apiName}(${w}): Promise<Result<QueryResponse<${u}>, QueryError>>;
|
|
282
|
+
`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(d__default.join(r,"Queries.ts"),await o(`
|
|
281
283
|
import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
|
|
282
|
-
${Array.from(
|
|
284
|
+
${Array.from(a).map(c=>`import type { ${c} } from "../objects/${c}${n}";`).join(`
|
|
283
285
|
`)}
|
|
284
286
|
|
|
285
287
|
export interface Queries {
|
|
286
288
|
${s.join(`
|
|
287
289
|
`)}
|
|
288
290
|
}
|
|
289
|
-
`));}function
|
|
290
|
-
`)} }`;case"union":return e.unionTypes.map(
|
|
291
|
-
${
|
|
292
|
-
${
|
|
291
|
+
`));}function k(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<${k(e.subType,t,r)}>`;case"object":{let s=e.objectTypeApiName;return t.add(s),r?s:`${s} | ${s}["__primaryKey"]`}case"objectSet":{let s=e.objectTypeApiName;return t.add(s),`ObjectSet<${s}>`}case"set":return `Set<${k(e.subType,t,r)}>`;case"struct":return `{ ${e.fields.map(s=>{let c=F(s.fieldType);return `${s.name}${c?"?":""}: ${k(s.fieldType,t,r)}`}).join(`,
|
|
292
|
+
`)} }`;case"union":return e.unionTypes.map(s=>k(s,t,r)).filter(s=>s!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
293
|
+
${H(e.keyType)},
|
|
294
|
+
${Xe(e.valueType)}
|
|
293
295
|
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
294
|
-
${
|
|
295
|
-
${
|
|
296
|
-
${
|
|
297
|
-
>`;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
|
|
298
|
-
export
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
${
|
|
302
|
-
|
|
303
|
-
* ${r.description??""}
|
|
304
|
-
**/
|
|
305
|
-
${t}: {
|
|
306
|
-
type: "${r.dataType.type}";
|
|
307
|
-
displayName: "${r.displayName??t}";
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
`)}
|
|
296
|
+
${H(e.keyType)},
|
|
297
|
+
${H(e.valueType.keyType)},
|
|
298
|
+
${Xe(e.valueType.valueType)}
|
|
299
|
+
>`;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 H(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 ht(e,t,r,n="commonjs"){let a=n==="module"?".js":"",s=d.join(r,"ontology","objects"),c=d.join(r,"ontology","actions"),l=d.join(r,"ontology","queries"),u=B(e);await Be(t,r,a),await Me(u,t,r,a),await Ve(t,d.join(r,"ontology")),await Ge(u,t,s,a),await Ee(u,t,d.join(s,"objects-api"),a),await We(u,t,s,a),await te(u,t,c,a),await v(u,t,c,a),await tt(u,t,l,a),await He(u,t,l,a),await Ce(t,r,a),await De(t,r);}function rt(e,t=!1){return `
|
|
300
|
+
export const ${e.apiName} = ${JSON.stringify(At(e),null,2)} satisfies InterfaceDefinition<"${e.apiName}", "">;`}function At(e,t){return {apiName:e.apiName,description:e.description,properties:Object.fromEntries(Object.entries(e.properties).map(([r,n])=>[r,V(n,!0)]))}}async function ot(e,t,r){t.writeFile(d__default.join(r,"OntologyMetadata.ts"),await o(`
|
|
301
|
+
export const OntologyMetadata = {
|
|
302
|
+
ontologyRid: "${e.ontology.rid}",
|
|
303
|
+
ontologyApiName: "${e.ontology.apiName}",
|
|
304
|
+
userAgent: "foundry-typescript-osdk/2.0.0",
|
|
311
305
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
`));let o=Object.keys(e.objectTypes);t.writeFile(l__default.join(r,"Ontology.ts"),await i(`
|
|
306
|
+
`));}async function Ft(e,t,r,n="commonjs"){let a=B(e),s=Object.keys(a.objectTypes),c=Object.keys(a.actionTypes),u=Object.keys(a.__UNSTABLE_interfaceTypes??{}),y=n==="module"?".js":"";await t.mkdir(r,{recursive:!0}),t.writeFile(d__default.join(r,"index.ts"),await o(`
|
|
307
|
+
export { Ontology } from "./Ontology${y}";
|
|
308
|
+
`)),await ot(a,t,r),await t.writeFile(d__default.join(r,"Ontology.ts"),await o(`
|
|
316
309
|
import type { OntologyDefinition } from "@osdk/api";
|
|
317
|
-
|
|
318
|
-
|
|
310
|
+
import * as Actions from "./ontology/actions/index${y}";
|
|
311
|
+
import * as Objects from "./ontology/objects${y}";
|
|
312
|
+
import * as Interfaces from "./ontology/interfaces${y}";
|
|
313
|
+
import { OntologyMetadata } from "./OntologyMetadata${y}";
|
|
319
314
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
export const Ontology = {
|
|
315
|
+
const _Ontology = {
|
|
323
316
|
metadata: OntologyMetadata,
|
|
324
317
|
objects: {
|
|
325
|
-
${
|
|
318
|
+
${s.map(p=>`${p}: Objects.${p}`).join(`,
|
|
319
|
+
`)}
|
|
320
|
+
|
|
321
|
+
},
|
|
322
|
+
actions: {
|
|
323
|
+
${c.map(p=>`${p}: Actions.${p}`).join(`,
|
|
326
324
|
`)}
|
|
327
325
|
},
|
|
328
|
-
|
|
329
|
-
|
|
326
|
+
queries: {
|
|
327
|
+
// TODO
|
|
328
|
+
},
|
|
329
|
+
interfaces: {
|
|
330
|
+
${u.map(p=>`${p}: Interfaces.${p}`).join(`,
|
|
331
|
+
`)}
|
|
332
|
+
|
|
333
|
+
}
|
|
334
|
+
} satisfies OntologyDefinition<${s.map(p=>`"${p}"`).join("|")}>;
|
|
335
|
+
|
|
336
|
+
type _Ontology = typeof _Ontology;
|
|
337
|
+
export interface Ontology extends _Ontology {}
|
|
338
|
+
export const Ontology = _Ontology as Ontology;
|
|
339
|
+
`)),await t.mkdir(d__default.join(r,"ontology","objects"),{recursive:!0});for(let p of s){let g=e.objectTypes[p];await t.writeFile(d__default.join(r,"ontology","objects",`${p}.ts`),await o(`
|
|
330
340
|
|
|
331
|
-
import type {
|
|
341
|
+
import type { ObjectTypeDefinition } from "@osdk/api";
|
|
342
|
+
|
|
343
|
+
${R(g,!0)}
|
|
332
344
|
|
|
333
|
-
|
|
345
|
+
|
|
346
|
+
`));}await kt(t,r,u,e,y);let w=d__default.join(r,"ontology","actions");await t.mkdir(w,{recursive:!0}),await v(a,t,w,y),await t.writeFile(d__default.join(r,"ontology","objects.ts"),await o(`
|
|
347
|
+
${Object.keys(e.objectTypes).map(p=>`export * from "./objects/${p}${y}";`).join(`
|
|
348
|
+
`)}
|
|
349
|
+
`));}async function kt(e,t,r,n,a){let s=d__default.join(t,"ontology","interfaces");await e.mkdir(s,{recursive:!0});for(let c of r){let l=n.__UNSTABLE_interfaceTypes[c];await e.writeFile(d__default.join(s,`${c}.ts`),await o(`
|
|
350
|
+
|
|
351
|
+
import type { InterfaceDefinition } from "@osdk/api";
|
|
334
352
|
|
|
335
|
-
${
|
|
336
|
-
`));}
|
|
353
|
+
${rt(l,!0)}
|
|
354
|
+
`));}await e.writeFile(s+".ts",await o(`
|
|
355
|
+
${Object.keys(n.__UNSTABLE_interfaceTypes??{}).map(c=>`export * from "./interfaces/${c}${a}";`).join(`
|
|
356
|
+
`)}
|
|
357
|
+
`));}
|
|
337
358
|
|
|
338
|
-
export {
|
|
359
|
+
export { ht as generateClientSdkVersionOneDotOne, Ft as generateClientSdkVersionTwoPointZero };
|
|
339
360
|
//# sourceMappingURL=out.js.map
|
|
340
361
|
//# sourceMappingURL=index.mjs.map
|