@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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @osdk/generator
|
|
2
2
|
|
|
3
|
+
## 1.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- b07ff14: CLI can now request ontology data directly from the backend
|
|
8
|
+
- Updated dependencies [b07ff14]
|
|
9
|
+
- @osdk/gateway@1.0.1
|
|
10
|
+
- @osdk/api@1.0.1
|
|
11
|
+
|
|
12
|
+
## 1.0.0
|
|
13
|
+
|
|
14
|
+
### Major Changes
|
|
15
|
+
|
|
16
|
+
- bfd4d9a: Stable 1.0 version
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [bfd4d9a]
|
|
21
|
+
- @osdk/api@1.0.0
|
|
22
|
+
- @osdk/gateway@1.0.0
|
|
23
|
+
|
|
3
24
|
## 0.0.16
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var d = require('path');
|
|
4
|
+
var prettier = require('prettier');
|
|
5
|
+
var at = 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 d__namespace = /*#__PURE__*/_interopNamespace(d);
|
|
28
|
+
var at__default = /*#__PURE__*/_interopDefault(at);
|
|
29
|
+
|
|
30
|
+
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 prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[at__default.default],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: {
|
|
31
|
+
`;for(let[x,P]of l){g+=`"${x}"`,g+=P.required?": ":"?: ";let X=re(P.dataType,a);g+=`${X};
|
|
32
|
+
`,p.push(`* @param {${X}} params.${x}`);}g+="}, ";}p.push("*/"),s.push(`
|
|
33
|
+
${p.join(`
|
|
34
|
+
`)}
|
|
35
|
+
${c.apiName}<O extends ActionExecutionOptions>(${g}options?: O):
|
|
36
|
+
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__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(c=>`import type { ${c} } from "../objects/${c}${n}";`).join(`
|
|
39
|
+
`)}
|
|
40
|
+
export interface Actions {
|
|
41
|
+
${s.join(`
|
|
42
|
+
`)}
|
|
43
|
+
}
|
|
44
|
+
`));}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 `
|
|
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 oe(e,t){let r=d__namespace.default.join(t,"ConfidentialClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__namespace.default.join(r,"index.ts"),await o(`
|
|
54
|
+
export * from "./ConfidentialClientAuth";
|
|
55
|
+
`)),await e.writeFile(d__namespace.default.join(r,"ConfidentialClientAuth.ts"),await o(`
|
|
56
|
+
${m(["ConfidentialClientAuth"])}
|
|
57
|
+
`));}async function ie(e,t){let r=d__namespace.default.join(t,"PublicClient");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__namespace.default.join(r,"index.ts"),await o(`
|
|
58
|
+
export * from "./PublicClientAuth";
|
|
59
|
+
`)),await e.writeFile(d__namespace.default.join(r,"PublicClientAuth.ts"),await o(`
|
|
60
|
+
${m(["PublicClientAuth"])}
|
|
61
|
+
`));}async function ae(e,t){let r=d__namespace.default.join(t,"UserToken");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__namespace.default.join(r,"index.ts"),await o(`
|
|
62
|
+
export * from "./UserTokenAuth";
|
|
63
|
+
`)),await e.writeFile(d__namespace.default.join(r,"UserTokenAuth.ts"),await o(`
|
|
64
|
+
${m(["UserTokenAuth"])}
|
|
65
|
+
`));}function i(e,t="",r=ct(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 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__namespace.join(e,"internal","@foundry","oauth-client","dist");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__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(d__namespace.join(r,"Auth.ts"),await o(i(["Auth"]))),await t.writeFile(d__namespace.join(r,"Token.ts"),await o(i(["Token","TokenValue"]))),await t.writeFile(d__namespace.join(r,"OAuthClient.ts"),await o(i(["AuthSubscription","UnsubscribeFunction","SignInResponse","RefreshResponse","SignOutResponse"]))),await t.writeFile(d__namespace.join(r,"OAuthToken.ts"),await o(m(["OAuthToken"]))),await t.writeFile(d__namespace.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__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>")+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__namespace.join(t,"groupBy"),{recursive:!0});let r=["BooleanGroupBy","LocalDateGroupBy","NumericGroupBy","StringGroupBy","TimestampGroupBy"],n=[...r,"GroupKeyType"];for(let a of n)await e.writeFile(d__namespace.join(t,"groupBy",`${a}.ts`),await o(`export {${a}} from "./index";`));await e.writeFile(d__namespace.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";
|
|
84
|
+
`));}async function me(e,t){let r=d__namespace.join(t,"metrics");await e.mkdir(r,{recursive:!0}),await e.writeFile(d__namespace.join(r,"metrics.ts"),await o('export {MetricValueType} from "@osdk/legacy-client";')),await e.writeFile(d__namespace.join(r,"ApproximateDistinctCountAggregatableProperty.ts"),await o(m(["ApproximateDistinctCountAggregatableProperty"])+i(["ApproximateDistinctCountAggregatableProperty"]))),await e.writeFile(d__namespace.join(r,"MultipleAggregatableProperty.ts"),await o(`
|
|
85
|
+
import { Double, MetricValue, MultipleAggregationsOperations } from "../Aggregations";
|
|
86
|
+
import { MetricValueType } from "./metrics";
|
|
87
|
+
`+m(["MultipleAggregatableProperty"])+i(["MultipleAggregatableProperty"],"<TResult extends MetricValue = Double>")));for(let n of ["DefaultAggregatableProperty","LocalDatePropertyMetric","NumericPropertyMetric","TimestampPropertyMetric"])await e.writeFile(d__namespace.join(r,`${n}.ts`),await o(`
|
|
88
|
+
import { MultipleAggregatableProperty } from "./MultipleAggregatableProperty";
|
|
89
|
+
`+m([n])));await e.writeFile(d__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 le(e,t){let r=d__namespace.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__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(d__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
|
+
`+m(["ComputeStep"])+i(["ComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue> ")+i(["AggregationComputeStep"],"<TBucketGroup extends BucketGroup, TMetrics extends Metrics | MetricValue>")+`
|
|
113
|
+
|
|
114
|
+
`)),await e.writeFile(d__namespace.join(r,"CountOperation.ts"),await o(""+m(["CountOperation","isCountOperation"])+i(["CountOperation"]))),await e.writeFile(d__namespace.join(r,"internalAggregationRequest.ts"),await o(i(["InternalAggregationRequest"])));}async function ue(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__namespace.default.join(e,"index.ts"),await o(`export * from "./Attachment";
|
|
115
|
+
export * from "./Attachments";
|
|
116
|
+
`)),await t.writeFile(d__namespace.default.join(e,"Attachment.ts"),await o(i(["Attachment","AttachmentMetadata"]))),await t.writeFile(d__namespace.default.join(e,"Attachments.ts"),await o(i(["Attachments"])));}async function ye(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__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(d__namespace.join(e,"Distance.ts"),await o(""+m(["Distance","DistanceUnit"])+i(["Distance","DistanceUnit"]))),await t.writeFile(d__namespace.join(e,"GeoJson.ts"),await o(i(["GeoJsonPoint","GeoJsonPolygon","GeoJsonLineString","GeoJsonMultiPoint","GeoJsonMultiPolygon","GeoJsonMultiLineString","GeoJsonGeometryCollection","GeoJsonGeometry","GeoJson"]))),await t.writeFile(d__namespace.join(e,"GeometryCollection.ts"),await o(m(["GeometryCollection"]))),await t.writeFile(d__namespace.join(e,"GeoPoint.ts"),await o(""+m(["isGeoPoint","GeoPoint","mapCoordinatesToGeoPoint"])+i(["GeoHash","Coordinates","GeoPoint"]))),await t.writeFile(d__namespace.join(e,"GeoShape.ts"),await o(m(["GeoShape"])+i(["GeoShape"]))),await t.writeFile(d__namespace.join(e,"LineString.ts"),await o(m(["LineString"])+i(["LineString"]))),await t.writeFile(d__namespace.join(e,"MultiGeoPoint.ts"),await o(m(["MultiGeoPoint"])+i(["MultiGeoPoint"]))),await t.writeFile(d__namespace.join(e,"MultiLineString.ts"),await o(m(["MultiLineString"])+i(["MultiLineString"]))),await t.writeFile(d__namespace.join(e,"MultiPolygon.ts"),await o(m(["MultiPolygon"])+i(["MultiPolygon"]))),await t.writeFile(d__namespace.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__namespace.default.join(e,"index.ts"),await o(`
|
|
126
|
+
export * from "./ObjectSetDefinition";
|
|
127
|
+
export * from "./OntologyObjectSet";
|
|
128
|
+
`)),await t.writeFile(d__namespace.default.join(e,"ObjectSetDefinition.ts"),await o(i(["BaseObjectSetDefinition","ReferenceObjectSetDefinition","StaticObjectSetDefinition","IntersectObjectSetDefinition","SubtractObjectSetDefinition","SearchAroundObjectSetDefinition","FilterObjectSetDefinition","ObjectSetDefinition"]))),await t.writeFile(d__namespace.default.join(e,"OntologyObjectSet.ts"),await o(i(["OntologyObjectSet"])));}async function fe(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__namespace.default.join(e,"index.ts"),await o(`
|
|
129
|
+
export * from "./FilteredPropertiesTerminalOperations";
|
|
130
|
+
`)),await t.writeFile(d__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 Te(e,t){await t.mkdir(e,{recursive:!0}),await t.writeFile(d__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(d__namespace.join(e,"TimeSeries.ts"),await o(i(["TimeSeries"],"<T extends number | string>"))),await t.writeFile(d__namespace.join(e,"TimeSeriesDuration.ts"),await o(i(["WhenUnit","DurationUnit","TimeSeriesDuration"]))),await t.writeFile(d__namespace.join(e,"TimeSeriesPoint.ts"),await o(i(["TimeSeriesPoint"],"<T extends number | string>"))),await t.writeFile(d__namespace.join(e,"TimeSeriesQuery.ts"),await o(i(["TimeSeriesQuery"],"<T extends number | string>"))),await t.writeFile(d__namespace.join(e,"TimeSeriesTerminalOperations.ts"),await o(i(["TimeSeriesTerminalOperations","TimeSeriesIterator"],"<T extends number | string>")));}async function we(e,t){let r=d__namespace.join(e,"baseTypes");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__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=d__namespace.join(r,"geoshapes");await ye(n,t);let a=d__namespace.join(r,"timeseries");await Te(a,t);let s=d__namespace.join(r,"attachments");await ue(s,t);let c=d__namespace.join(r,"objectset");await ge(c,t);let l=d__namespace.join(r,"sharedObjectCode");await fe(l,t),await t.writeFile(d__namespace.join(r,"ActionType.ts"),await o(`import { OntologyObject } from "./OntologyObject";
|
|
148
|
+
`+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__namespace.join(r,"OntologyObject.ts"),await o(i(["OntologyObject"])+m(["isOntologyObject"]))),await t.writeFile(d__namespace.join(r,"links.ts"),await o('import { OntologyObject } from "./OntologyObject'+i(["SingleLink","MultiLink"],"<T extends OntologyObject = OntologyObject>"))),await t.writeFile(d__namespace.join(r,"localDate.ts"),await o(m(["LocalDate"])+i(["LocalDate"]))),await t.writeFile(d__namespace.join(r,"timestamp.ts"),await o(m(["Timestamp"])+i(["Timestamp"]))),await t.writeFile(d__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(d__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 je(e,t){let r=d__namespace.default.join(e,"client");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__namespace.default.join(r,"index.ts"),await o('export * from "./clientOptions";')),await t.writeFile(d__namespace.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__namespace.default.join(e,"filters");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__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(d__namespace.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__namespace.default.join(r,"AttachmentFilter.ts"),await o(m(["AttachmentFilter"])+i(["AttachmentFilter"]))),await t.writeFile(d__namespace.default.join(r,"BooleanFilter.ts"),await o(m(["BooleanFilter"])+i(["BooleanFilter"]))),await t.writeFile(d__namespace.default.join(r,"GeoPointFilter.ts"),await o(m(["GeoPointFilter"])+i(["GeoPointFilter","BoundingBox"]))),await t.writeFile(d__namespace.default.join(r,"DateTimeFilters.ts"),await o(m(["TimestampFilter","LocalDateFilter"])+i(["TimestampFilter","LocalDateFilter"]))),await t.writeFile(d__namespace.default.join(r,"GeoShapeFilter.ts"),await o(m(["GeoShapeFilter"])+i(["GeoShapeFilter"]))),await t.writeFile(d__namespace.default.join(r,"NumericFilter.ts"),await o(m(["NumericFilter"])+i(["NumericFilter"]))),await t.writeFile(d__namespace.default.join(r,"Op.ts"),await o(m(["Op"]))),await t.writeFile(d__namespace.default.join(r,"OrderByOption.ts"),await o(m(["OrderByOption"])+i(["OrderByOption"]))),await t.writeFile(d__namespace.default.join(r,"StringFilter.ts"),await o(m(["StringFilter"])+i(["StringFilter"]))),await t.writeFile(d__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 xe(e,t){await e.writeFile(d__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 Ae(e,t){await e.writeFile(d__namespace.join(t,"OntologyMetadata.ts"),await o(i(["OntologyMetadata"])));}async function Fe(e,t){await e.writeFile(d__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>")+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__namespace.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__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 Se(e,t){let r=d__namespace.join(e,"paging");await t.mkdir(r,{recursive:!0}),await t.writeFile(d__namespace.join(r,"index.ts"),await o('export * from "./Page";')),await t.writeFile(d__namespace.join(r,"Page.ts"),await o(i(["Page"],"<T>")));}async function Pe(e,t){let r=d__namespace.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__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 De(e,t){await Pe(t,e),await ne(t,e);}async function Be(e,t,r=""){await e.writeFile(d__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 Ce(e,t,r){await e.mkdir(t,{recursive:!0}),await e.writeFile(d__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 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__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(p=>`import {${p}} from "./ontology/objects/${p}${n}";`).join(`
|
|
201
|
+
`)}
|
|
202
|
+
${s.map(p=>`import {${w(p,l)}} from "./ontology/actions/${p}${n}";`).join(`
|
|
203
|
+
`)}
|
|
204
|
+
${c.map(p=>`import {${w(p,u)}} from "./ontology/queries/${p}${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
|
+
${E(a)}
|
|
215
|
+
},
|
|
216
|
+
actions: {
|
|
217
|
+
${E(s,l)}
|
|
218
|
+
},
|
|
219
|
+
queries: {
|
|
220
|
+
${E(c,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
|
+
${G(a)}
|
|
230
|
+
},
|
|
231
|
+
actions: {
|
|
232
|
+
${G(s,l)}
|
|
233
|
+
},
|
|
234
|
+
queries: {
|
|
235
|
+
${G(c,u)}
|
|
236
|
+
}
|
|
237
|
+
} 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("|")}>;
|
|
238
|
+
|
|
239
|
+
export interface Ontology extends ClientOntology<typeof Ontology> {
|
|
240
|
+
objects: Objects;
|
|
241
|
+
actions: Actions;
|
|
242
|
+
queries: Queries;
|
|
243
|
+
}`));}async function Ge(e,t,r,n=""){await t.mkdir(r,{recursive:!0}),await t.writeFile(d__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 Ee(e,t,r,n=""){await t.mkdir(r,{recursive:!0});for(let{objectType:{apiName:a}}of Object.values(e.objectTypes)){let s=d.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(`
|
|
253
|
+
/**
|
|
254
|
+
* Aggregation properties for ${a}
|
|
255
|
+
* @deprecated Use ObjectSetAggregateArg<${a}> instead
|
|
256
|
+
*/`,`export type ${a}AggregationProperties = ObjectSetAggregateArg<${c}>;`),l.push(`
|
|
257
|
+
/**
|
|
258
|
+
* Multiple aggregation properties for ${a}.
|
|
259
|
+
* @deprecated Use ObjectSetMultipleAggregateArg<${a}> instead
|
|
260
|
+
*/`,`export type ${a}MultipleAggregationProperties = ObjectSetMultipleAggregateArg<${c}>;`),await t.writeFile(s,l.join(`
|
|
261
|
+
`));}}async function Ve(e,t){await e.mkdir(t,{recursive:!0}),await e.writeFile(d__namespace.join(t,"index.ts"),await o(`
|
|
262
|
+
export type { ObjectSet } from "@osdk/legacy-client";
|
|
263
|
+
`));}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__namespace.default.join(r,`${a.apiName}.ts`),await o(`
|
|
264
|
+
import { ActionDefinition } from "@osdk/api";
|
|
265
|
+
|
|
266
|
+
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__namespace.default.join(r,"index.ts"),await o(`
|
|
267
|
+
${Object.values(e.actionTypes).map(a=>`export * from "./${a.apiName}${n}";`).join(`
|
|
268
|
+
`)}
|
|
269
|
+
`));}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 `
|
|
270
|
+
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";
|
|
271
|
+
${Array.from(t).map(r=>`import type { ${r} } from "./${r}";`).join(`
|
|
272
|
+
`)}
|
|
273
|
+
|
|
274
|
+
${Ue(e.objectType.description)}export interface ${e.objectType.apiName} extends OntologyObject {
|
|
275
|
+
readonly __apiName: "${e.objectType.apiName}";
|
|
276
|
+
readonly __primaryKey: ${Y(e.objectType.properties[e.objectType.primaryKey].dataType)};
|
|
277
|
+
${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 */
|
|
278
|
+
readonly ${r}_: ${a} | undefined`),s}).join(`;
|
|
279
|
+
`)}
|
|
280
|
+
${e.linkTypes.flatMap(r=>[`readonly ${r.apiName}: ${r.cardinality==="MANY"?"MultiLink":"SingleLink"}<${r.objectTypeApiName}>`]).join(`;
|
|
281
|
+
`)}
|
|
282
|
+
}
|
|
283
|
+
`}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?`/**
|
|
284
|
+
* ${e}
|
|
285
|
+
*/
|
|
286
|
+
`:""}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__namespace.default.join(r,`${a.objectType.apiName}.ts`),await o(`
|
|
287
|
+
import { ObjectTypeDefinition } from "@osdk/api";
|
|
288
|
+
${qe(a)}
|
|
289
|
+
|
|
290
|
+
${R(a)}
|
|
291
|
+
`));})),await t.writeFile(d__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 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__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}", ${s.length>0?s.map(c=>`"${c}"`).join("|"):"never"}>;`));})),await t.writeFile(d__namespace.default.join(r,"index.ts"),await o(`
|
|
300
|
+
${Object.values(e.queryTypes).map(a=>`export * from "./${a.apiName}${n}";`).join(`
|
|
301
|
+
`)}
|
|
302
|
+
`));}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(`
|
|
303
|
+
${l.join(`
|
|
304
|
+
`)}
|
|
305
|
+
${c.apiName}(${w}): Promise<Result<QueryResponse<${u}>, QueryError>>;
|
|
306
|
+
`);}await t.mkdir(r,{recursive:!0}),await t.writeFile(d__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(c=>`import type { ${c} } from "../objects/${c}${n}";`).join(`
|
|
309
|
+
`)}
|
|
310
|
+
|
|
311
|
+
export interface Queries {
|
|
312
|
+
${s.join(`
|
|
313
|
+
`)}
|
|
314
|
+
}
|
|
315
|
+
`));}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(`,
|
|
316
|
+
`)} }`;case"union":return e.unionTypes.map(s=>k(s,t,r)).filter(s=>s!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
|
|
317
|
+
${H(e.keyType)},
|
|
318
|
+
${Xe(e.valueType)}
|
|
319
|
+
>`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
|
|
320
|
+
${H(e.keyType)},
|
|
321
|
+
${H(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 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__namespace.join(r,"ontology","objects"),c=d__namespace.join(r,"ontology","actions"),l=d__namespace.join(r,"ontology","queries"),u=B(e);await Be(t,r,a),await Me(u,t,r,a),await Ve(t,d__namespace.join(r,"ontology")),await Ge(u,t,s,a),await Ee(u,t,d__namespace.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 `
|
|
324
|
+
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__namespace.default.join(r,"OntologyMetadata.ts"),await o(`
|
|
325
|
+
export const OntologyMetadata = {
|
|
326
|
+
ontologyRid: "${e.ontology.rid}",
|
|
327
|
+
ontologyApiName: "${e.ontology.apiName}",
|
|
328
|
+
userAgent: "foundry-typescript-osdk/2.0.0",
|
|
329
|
+
}
|
|
330
|
+
`));}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__namespace.default.join(r,"index.ts"),await o(`
|
|
331
|
+
export { Ontology } from "./Ontology${y}";
|
|
332
|
+
`)),await ot(a,t,r),await t.writeFile(d__namespace.default.join(r,"Ontology.ts"),await o(`
|
|
333
|
+
import type { OntologyDefinition } from "@osdk/api";
|
|
334
|
+
import * as Actions from "./ontology/actions/index${y}";
|
|
335
|
+
import * as Objects from "./ontology/objects${y}";
|
|
336
|
+
import * as Interfaces from "./ontology/interfaces${y}";
|
|
337
|
+
import { OntologyMetadata } from "./OntologyMetadata${y}";
|
|
338
|
+
|
|
339
|
+
const _Ontology = {
|
|
340
|
+
metadata: OntologyMetadata,
|
|
341
|
+
objects: {
|
|
342
|
+
${s.map(p=>`${p}: Objects.${p}`).join(`,
|
|
343
|
+
`)}
|
|
344
|
+
|
|
345
|
+
},
|
|
346
|
+
actions: {
|
|
347
|
+
${c.map(p=>`${p}: Actions.${p}`).join(`,
|
|
348
|
+
`)}
|
|
349
|
+
},
|
|
350
|
+
queries: {
|
|
351
|
+
// TODO
|
|
352
|
+
},
|
|
353
|
+
interfaces: {
|
|
354
|
+
${u.map(p=>`${p}: Interfaces.${p}`).join(`,
|
|
355
|
+
`)}
|
|
356
|
+
|
|
357
|
+
}
|
|
358
|
+
} satisfies OntologyDefinition<${s.map(p=>`"${p}"`).join("|")}>;
|
|
359
|
+
|
|
360
|
+
type _Ontology = typeof _Ontology;
|
|
361
|
+
export interface Ontology extends _Ontology {}
|
|
362
|
+
export const Ontology = _Ontology as Ontology;
|
|
363
|
+
`)),await t.mkdir(d__namespace.default.join(r,"ontology","objects"),{recursive:!0});for(let p of s){let g=e.objectTypes[p];await t.writeFile(d__namespace.default.join(r,"ontology","objects",`${p}.ts`),await o(`
|
|
364
|
+
|
|
365
|
+
import type { ObjectTypeDefinition } from "@osdk/api";
|
|
366
|
+
|
|
367
|
+
${R(g,!0)}
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
`));}await kt(t,r,u,e,y);let w=d__namespace.default.join(r,"ontology","actions");await t.mkdir(w,{recursive:!0}),await v(a,t,w,y),await t.writeFile(d__namespace.default.join(r,"ontology","objects.ts"),await o(`
|
|
371
|
+
${Object.keys(e.objectTypes).map(p=>`export * from "./objects/${p}${y}";`).join(`
|
|
372
|
+
`)}
|
|
373
|
+
`));}async function kt(e,t,r,n,a){let s=d__namespace.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__namespace.default.join(s,`${c}.ts`),await o(`
|
|
374
|
+
|
|
375
|
+
import type { InterfaceDefinition } from "@osdk/api";
|
|
376
|
+
|
|
377
|
+
${rt(l,!0)}
|
|
378
|
+
`));}await e.writeFile(s+".ts",await o(`
|
|
379
|
+
${Object.keys(n.__UNSTABLE_interfaceTypes??{}).map(c=>`export * from "./interfaces/${c}${a}";`).join(`
|
|
380
|
+
`)}
|
|
381
|
+
`));}
|
|
382
|
+
|
|
383
|
+
exports.generateClientSdkVersionOneDotOne = ht;
|
|
384
|
+
exports.generateClientSdkVersionTwoPointZero = Ft;
|
|
385
|
+
//# sourceMappingURL=out.js.map
|
|
386
|
+
//# sourceMappingURL=index.cjs.map
|