@osdk/generator 0.0.5 → 0.0.7

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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # @osdk/generator
2
2
 
3
+ ## 0.0.7
4
+
5
+ ### Patch Changes
6
+
7
+ - 7fc9fdc: Adjusting package structure to match existing
8
+ - Updated dependencies [0860ae9]
9
+ - @osdk/api@0.0.9
10
+
11
+ ## 0.0.6
12
+
13
+ ### Patch Changes
14
+
15
+ - e22ce70: Adding proper support for reservered keywords in properties
16
+ - 66cb4ce: Fixing generator for integration
17
+
3
18
  ## 0.0.5
4
19
 
5
20
  ### Patch Changes
package/build/js/index.js CHANGED
@@ -1,7 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var O = require('path');
3
+ var j = require('path');
4
4
  var prettier = require('prettier');
5
+ var ce = require('prettier-plugin-organize-imports');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
5
8
 
6
9
  function _interopNamespace(e) {
7
10
  if (e && e.__esModule) return e;
@@ -21,23 +24,24 @@ function _interopNamespace(e) {
21
24
  return Object.freeze(n);
22
25
  }
23
26
 
24
- var O__namespace = /*#__PURE__*/_interopNamespace(O);
27
+ var j__namespace = /*#__PURE__*/_interopNamespace(j);
28
+ var ce__default = /*#__PURE__*/_interopDefault(ce);
25
29
 
26
- function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.apiName)}))}}function ae(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function $(e){let r=new Set,a=new Set;for(let t of e.operations)switch(t.type){case"createObject":r.add(t.objectTypeApiName);break;case"modifyObject":a.add(t.objectTypeApiName);break;}return {addedObjects:r,modifiedObjects:a}}function s(e){return prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:["prettier-plugin-organize-imports"],tabWidth:2,printWidth:120})}async function Q(e,r,a){let t=new Set,o=[];for(let n of e.actionTypes){let i=Object.entries(n.parameters),d=$(n),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];n.description&&y.push(`* ${n.description}`);let c="";if(i.length>0){c=`params: {
27
- `;for(let[j,b]of i){c+=`"${j}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
28
- `,y.push(`* @param {${E}} params.${j}`);}c+="}, ";}y.push("*/"),o.push(`
30
+ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.apiName)}))}}function ie(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function $(e){let r=new Set,o=new Set;for(let t of e.operations)switch(t.type){case"createObject":r.add(t.objectTypeApiName);break;case"modifyObject":o.add(t.objectTypeApiName);break;}return {addedObjects:r,modifiedObjects:o}}function s(e){return prettier.format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ce__default.default],tabWidth:2,printWidth:120})}async function Q(e,r,o){let t=new Set,a=[];for(let n of e.actionTypes){let i=Object.entries(n.parameters),d=$(n),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];n.description&&y.push(`* ${n.description}`);let c="";if(i.length>0){c=`params: {
31
+ `;for(let[w,b]of i){c+=`"${w}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
32
+ `,y.push(`* @param {${E}} params.${w}`);}c+="}, ";}y.push("*/"),a.push(`
29
33
  ${y.join(`
30
34
  `)}
31
35
  ${n.apiName}<O extends ActionExecutionOptions>(${c}options?: O):
32
- Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(O__namespace.default.join(a,"ontologyActions.ts"),await s(`
36
+ Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(j__namespace.default.join(o,"ontologyActions.ts"),await s(`
33
37
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
34
- ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
38
+ ${Array.from(t).map(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
35
39
  `)}
36
40
  export interface Actions {
37
- ${o.join(`
41
+ ${a.join(`
38
42
  `)}
39
43
  }
40
- `));}function P(e,r){switch(e.type){case"objectSet":{let t=e.objectTypeApiName;return r.add(t),`ObjectSet<${t}>`}case"object":{let t=e.objectTypeApiName;return r.add(t),`${t}`}case"array":return `Array<${P(e.subType,r)}>`;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}`)}}async function V(e,r){await e.writeFile(O__namespace.default.join(r,"FoundryClient.ts"),await s(`
44
+ `));}function P(e,r){switch(e.type){case"objectSet":{let t=e.objectTypeApiName;return r.add(t),`ObjectSet<${t}>`}case"object":{let t=e.objectTypeApiName;return r.add(t),`${t}`}case"array":return `Array<${P(e.subType,r)}>`;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}`)}}async function V(e,r){await e.writeFile(j__namespace.default.join(r,"FoundryClient.ts"),await s(`
41
45
  import { BaseFoundryClient } from "@osdk/legacy-client";
42
46
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
43
47
  import { Ontology } from "./Ontology";
@@ -50,7 +54,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
50
54
  get ontology(): Ontology {
51
55
  return super.ontology;
52
56
  }
53
- }`));}async function C(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O__namespace.join(r,"index.ts"),await s(`
57
+ }`));}async function v(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await s(`
54
58
  export {
55
59
  ActionExecutionMode,
56
60
  ActionResponse,
@@ -119,17 +123,17 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
119
123
  } from '@osdk/legacy-client';
120
124
  export { Ontology } from "./Ontology";
121
125
  export { FoundryClient } from "./FoundryClient";
122
- `));}function u(e){return e.join(",")}function w(e){return e.map(r=>`${r}: typeof ${r}`).join(",")}async function R(e,r,a){let t=Object.keys(e.objectTypes),o=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName);await r.writeFile(O__namespace.default.join(a,"Ontology.ts"),await s(`
126
+ `));}function l(e){return e.join(",")}function h(e){return e.map(r=>`${r}: typeof ${r}`).join(",")}async function L(e,r,o){let t=Object.keys(e.objectTypes),a=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName);await r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await s(`
123
127
  import type { OntologyDefinition } from "@osdk/api";
124
128
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
125
129
  import type { Objects } from "./ontologyObjects";
126
130
  import type { Actions } from "./ontologyActions";
127
131
  import type { Queries } from "./ontologyQueries";
128
- ${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
132
+ ${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
129
133
  `)}
130
- ${o.map(i=>`import {${i}} from "./actions/${i}";`).join(`
134
+ ${a.map(i=>`import {${i}} from "./ontology/actions/${i}";`).join(`
131
135
  `)}
132
- ${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
136
+ ${n.map(i=>`import {${i}} from "./ontology/queries/${i}";`).join(`
133
137
  `)}
134
138
 
135
139
  export const Ontology : {
@@ -139,13 +143,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
139
143
  userAgent: "foundry-typescript-osdk/0.0.1",
140
144
  },
141
145
  objects: {
142
- ${w(t)}
146
+ ${h(t)}
143
147
  },
144
148
  actions: {
145
- ${w(o)}
149
+ ${h(a)}
146
150
  },
147
151
  queries: {
148
- ${w(n)}
152
+ ${h(n)}
149
153
  },
150
154
  } = {
151
155
  metadata: {
@@ -154,13 +158,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
154
158
  userAgent: "foundry-typescript-osdk/0.0.1" as const,
155
159
  },
156
160
  objects: {
157
- ${u(t)}
161
+ ${l(t)}
158
162
  },
159
163
  actions: {
160
- ${u(o)}
164
+ ${l(a)}
161
165
  },
162
166
  queries: {
163
- ${u(n)}
167
+ ${l(n)}
164
168
  }
165
169
  } satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
166
170
 
@@ -168,92 +172,95 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
168
172
  objects: Objects;
169
173
  actions: Actions;
170
174
  queries: Queries;
171
- }`));}async function v(e,r,a){await r.writeFile(O__namespace.default.join(a,"ontologyObjects.ts"),await s(`
175
+ }`));}async function R(e,r,o){await r.writeFile(j__namespace.default.join(o,"ontologyObjects.ts"),await s(`
172
176
  import { BaseObjectSet } from "@osdk/legacy-client";
173
- import { ${u(Object.keys(e.objectTypes))} } from "./objects";
177
+ import { ${l(Object.keys(e.objectTypes))} } from "./ontology/objects";
174
178
 
175
179
  export interface Objects {
176
180
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
177
181
  `)}
178
182
  }
179
- ;`));}function M(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([a,t])=>[a,pe(t)])),displayName:e.displayName,description:e.description,modifiedEntities:me(r.addedObjects,r.modifiedObjects)}}function pe(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:A(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:A(e.dataType),nullable:!e.required,description:e.description}}}function A(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 A(e.subType)}}function me(e,r){let a={};for(let t of e)a[t]={created:!0,modified:!1};for(let t of r)a[t]?a[t].modified=!0:a[t]={created:!1,modified:!0};return a}async function _(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let o=new Set(ye(t));await r.writeFile(O__namespace.default.join(a,`${t.apiName}.ts`),await s(`
183
+ ;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await s(`
184
+ export type { ObjectSet } from "@osdk/legacy-client";
185
+ `));}function _(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,ue(t)])),displayName:e.displayName,description:e.description,modifiedEntities:fe(r.addedObjects,r.modifiedObjects)}}function ue(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:A(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:A(e.dataType),nullable:!e.required,description:e.description}}}function A(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 A(e.subType)}}function fe(e,r){let o={};for(let t of e)o[t]={created:!0,modified:!1};for(let t of r)o[t]?o[t].modified=!0:o[t]={created:!1,modified:!0};return o}async function K(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let a=new Set(de(t));await r.writeFile(j__namespace.default.join(o,`${t.apiName}.ts`),await s(`
180
186
  import { ActionDefinition } from "@osdk/api";
181
187
 
182
- export const ${t.apiName} = ${JSON.stringify(M(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${o.size>0?[...o].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__namespace.default.join(a,"index.ts"),await s(`
188
+ export const ${t.apiName} = ${JSON.stringify(_(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${a.size>0?[...a].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(j__namespace.default.join(o,"index.ts"),await s(`
183
189
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
184
190
  `)}
185
- `));}function ye(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let o=q(t);return o?[o]:[]});return [...e.operations.flatMap(t=>{switch(t.type){case"createObject":return [t.objectTypeApiName];case"modifyObject":return [t.objectTypeApiName];case"deleteObject":case"createLink":case"deleteLink":return []}}),...r]}function q(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return q(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function K(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 U(e){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:N(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:N(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function N(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 N(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function h(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:K(e.properties[e.primaryKey]),links:Object.fromEntries(r.map(a=>[a.apiName,{multiplicity:a.cardinality==="MANY",targetType:a.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([a,t])=>[a,U(t)]))}}var ue=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 S(e){return ue.has(e)}function z(e,r=[]){let a=new Set(r.map(t=>t.objectTypeApiName).filter(t=>t!==e.apiName));return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink } from "@osdk/legacy-client";
186
- ${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
191
+ `));}function de(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let a=U(t);return a?[a]:[]});return [...e.operations.flatMap(t=>{switch(t.type){case"createObject":return [t.objectTypeApiName];case"modifyObject":return [t.objectTypeApiName];case"deleteObject":case"createLink":case"deleteLink":return []}}),...r]}function U(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return U(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function G(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 z(e){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:k(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:k(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function k(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 k(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function O(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:G(e.properties[e.primaryKey]),links:Object.fromEntries(r.map(o=>[o.apiName,{multiplicity:o.cardinality==="MANY",targetType:o.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([o,t])=>[o,z(t)]))}}var ge=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 B(e){return ge.has(e)}function W(e,r=[]){let o=new Set(r.map(t=>t.objectTypeApiName).filter(t=>t!==e.apiName));return `import type { OntologyObject, LocalDate, Timestamp, GeoShape, GeoPoint, Attachment, TimeSeries, MultiLink, SingleLink } from "@osdk/legacy-client";
192
+ ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
187
193
  `)}
188
194
 
189
- ${G(e.description)}export interface ${e.apiName} extends OntologyObject {
195
+ ${J(e.description)}export interface ${e.apiName} extends OntologyObject {
190
196
  readonly __apiName: "${e.apiName}";
191
- readonly __primaryKey: ${k(e.properties[e.primaryKey].dataType)};
192
- ${Object.entries(e.properties).flatMap(([t,o])=>{let n=k(o.dataType),i=[`${G(o.description)}readonly ${t}: ${n} | undefined`];return S(t)&&i.push(`/** @deprecated please migrate to '${t}' instead */
197
+ readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
198
+ ${Object.entries(e.properties).flatMap(([t,a])=>{let n=S(a.dataType),i=[`${J(a.description)}readonly ${t}: ${n} | undefined`];return B(t)&&i.push(`/** @deprecated please migrate to '${t}' instead */
193
199
  readonly ${t}_: ${n} | undefined`),i}).join(`;
194
200
  `)}
195
- ${r.flatMap(t=>{let o=[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`];return S(t.apiName)&&o.push(`/** @deprecated please migrate to '${t.apiName}' instead */
196
- readonly ${t.apiName}_: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`),o}).join(`;
201
+ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
197
202
  `)}
198
203
  }
199
- `}function k(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return k(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 G(e){return e?`/**
204
+ `}function S(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return S(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 J(e){return e?`/**
200
205
  * ${e}
201
206
  */
202
- `:""}async function J(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let o=e.linkTypes[t.apiName],n=new Set(o?.map(i=>i.objectTypeApiName));await r.writeFile(O__namespace.default.join(a,`${t.apiName}.ts`),await s(`
207
+ `:""}async function Z(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let a=e.linkTypes[t.apiName],n=new Set(a?.map(i=>i.objectTypeApiName));await r.writeFile(j__namespace.default.join(o,`${t.apiName}.ts`),await s(`
203
208
  import { ObjectDefinition } from "@osdk/api";
204
- ${z(t,o)}
209
+ ${W(t,a)}
205
210
 
206
- export const ${t.apiName} = ${JSON.stringify(h(t,o),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(O__namespace.default.join(a,"index.ts"),await s(`
211
+ export const ${t.apiName} = ${JSON.stringify(O(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(j__namespace.default.join(o,"index.ts"),await s(`
207
212
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
208
213
  `)}
209
- `));}function l(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>l(r)):!1}function p(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:{type:"object",object:e.objectTypeApiName},nullable:!1};case"objectSet":return {type:{type:"objectSet",objectSet:e.objectTypeApiName},nullable:!1};case"array":return {...p(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:p(e.subType)},nullable:!1};case"union":let r=l(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(o=>o.type!==null);if(t)return {...p(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,o)=>(o.type==="null"||t.push(p(o)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,p(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:D(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:le(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 D(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(Y(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 le(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:D(e.valueType)};if(Y(e.keyType))return {keyType:e.keyType.type,valueType:D(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function Y(e){return e.type==="string"||e.type==="boolean"}function W(e){return {apiName:e.apiName,description:e.description,displayName:e.displayName,rid:e.rid,version:e.version,parameters:Object.fromEntries(Object.entries(e.parameters).map(([r,a])=>[r,fe(a)])),output:p(e.output)}}function fe(e){return {description:e.description,dataType:p(e.dataType)}}async function H(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let o=de(t);await r.writeFile(O__namespace.default.join(a,`${t.apiName}.ts`),await s(`
214
+ export type { ObjectSet } from "@osdk/legacy-client";
215
+
216
+ `));}function u(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>u(r)):!1}function p(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:{type:"object",object:e.objectTypeApiName},nullable:!1};case"objectSet":return {type:{type:"objectSet",objectSet:e.objectTypeApiName},nullable:!1};case"array":return {...p(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:p(e.subType)},nullable:!1};case"union":let r=u(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(a=>a.type!==null);if(t)return {...p(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,a)=>(a.type==="null"||t.push(p(a)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,p(t.fieldType)]))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:be(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 N(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(H(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 be(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)};if(H(e.keyType))return {keyType:e.keyType.type,valueType:N(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function H(e){return e.type==="string"||e.type==="boolean"}function X(e){return {apiName:e.apiName,description:e.description,displayName:e.displayName,rid:e.rid,version:e.version,parameters:Object.fromEntries(Object.entries(e.parameters).map(([r,o])=>[r,Te(o)])),output:p(e.output)}}function Te(e){return {description:e.description,dataType:p(e.dataType)}}async function te(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let a=je(t);await r.writeFile(j__namespace.default.join(o,`${t.apiName}.ts`),await s(`
210
217
  import { QueryDefinition } from "@osdk/api";
211
218
 
212
- export const ${t.apiName} = ${JSON.stringify(W(t))} satisfies QueryDefinition<"${t.apiName}", ${o.length>0?o.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__namespace.default.join(a,"index.ts"),await s(`
219
+ export const ${t.apiName} = ${JSON.stringify(X(t))} satisfies QueryDefinition<"${t.apiName}", ${a.length>0?a.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(j__namespace.default.join(o,"index.ts"),await s(`
213
220
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
214
221
  `)}
215
- `));}function de(e){let r=new Set;for(let{dataType:a}of Object.values(e.parameters))T(a,r);return T(e.output,r),Array.from(r)}function T(e,r){switch(e.type){case"array":case"set":T(e.subType,r);return;case"object":r.add(e.objectTypeApiName);return;case"objectSet":r.add(e.objectTypeApiName);return;case"struct":for(let t of Object.values(e.fields))T(t.fieldType,r);return;case"union":for(let t of e.unionTypes)T(t,r);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 te(e,r,a){let t=new Set,o=[];for(let n of e.queryTypes){let i=["/**"];n.description&&i.push(`* ${n.description}`);let d=f(n.output,t),m=[];for(let[y,c]of Object.entries(n.parameters)){let j=l(c.dataType),b=f(c.dataType,t);m.push(`"${y}"${j?"?":""}: ${b}`),i.push(`* @param {${ee(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${ee(d)}`,"*/"),o.push(`
222
+ `));}function je(e){let r=new Set;for(let{dataType:o}of Object.values(e.parameters))T(o,r);return T(e.output,r),Array.from(r)}function T(e,r){switch(e.type){case"array":case"set":T(e.subType,r);return;case"object":r.add(e.objectTypeApiName);return;case"objectSet":r.add(e.objectTypeApiName);return;case"struct":for(let t of Object.values(e.fields))T(t.fieldType,r);return;case"union":for(let t of e.unionTypes)T(t,r);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 ae(e,r,o){let t=new Set,a=[];for(let n of e.queryTypes){let i=["/**"];n.description&&i.push(`* ${n.description}`);let d=f(n.output,t),m=[];for(let[y,c]of Object.entries(n.parameters)){let w=u(c.dataType),b=f(c.dataType,t);m.push(`"${y}"${w?"?":""}: ${b}`),i.push(`* @param {${oe(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${oe(d)}`,"*/"),a.push(`
216
223
  ${i.join(`
217
224
  `)}
218
225
  ${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
219
- `);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
226
+ `);}await r.writeFile(j__namespace.default.join(o,"ontologyQueries.ts"),await s(`
220
227
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
221
- ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
228
+ ${Array.from(t).map(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
222
229
  `)}
223
230
 
224
231
  export interface Queries {
225
- ${o.join(`
232
+ ${a.join(`
226
233
  `)}
227
234
  }
228
- `));}function f(e,r){switch(e.type){case"boolean":return "boolean";case"string":return "string";case"double":case"float":case"integer":case"long":return "number";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"attachment":return "Attachment";case"array":return `Array<${f(e.subType,r)}>`;case"object":{let o=e.objectTypeApiName;return r.add(o),o}case"objectSet":{let o=e.objectTypeApiName;return r.add(o),`ObjectSet<${o}>`}case"set":return `Set<${f(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(o=>{let n=l(o.fieldType);return `${o.name}${n?"?":""}: ${f(o.fieldType,r)}`}).join(`,
229
- `)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).filter(o=>o!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
235
+ `));}function f(e,r){switch(e.type){case"boolean":return "boolean";case"string":return "string";case"double":case"float":case"integer":case"long":return "number";case"date":return "LocalDate";case"timestamp":return "Timestamp";case"attachment":return "Attachment";case"array":return `Array<${f(e.subType,r)}>`;case"object":{let a=e.objectTypeApiName;return r.add(a),a}case"objectSet":{let a=e.objectTypeApiName;return r.add(a),`ObjectSet<${a}>`}case"set":return `Set<${f(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(a=>{let n=u(a.fieldType);return `${a.name}${n?"?":""}: ${f(a.fieldType,r)}`}).join(`,
236
+ `)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
230
237
  ${x(e.keyType)},
231
- ${X(e.valueType)}
238
+ ${re(e.valueType)}
232
239
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
233
240
  ${x(e.keyType)},
234
241
  ${x(e.valueType.keyType)},
235
- ${X(e.valueType.valueType)}
236
- >`;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 x(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<${ge(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function ge(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 X(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 ee(e){return e.replace(/\s/g,"")}async function be(e,r,a){let t=F(e);await V(r,a),await R(t,r,a),await v(t,r,a),await J(t,r,O__namespace.join(a,"objects")),await Q(t,r,a),await _(t,r,O__namespace.join(a,"actions")),await te(t,r,a),await H(t,r,O__namespace.join(a,"queries")),await C(r,a);}function re(e){return `
242
+ ${re(e.valueType.valueType)}
243
+ >`;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 x(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<${$e(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function $e(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 re(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 oe(e){return e.replace(/\s/g,"")}async function he(e,r,o){let t=F(e);await V(r,o),await L(t,r,o),await M(r,j__namespace.join(o,"ontology")),await R(t,r,o),await Z(t,r,j__namespace.join(o,"ontology","objects")),await Q(t,r,o),await K(t,r,j__namespace.join(o,"ontology","actions")),await ae(t,r,o),await te(t,r,j__namespace.join(o,"ontology","queries")),await v(r,o);}function ne(e){return `
237
244
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
238
245
  apiName: "${e.apiName}";
239
246
  properties: {
240
- ${Object.entries(e.properties).map(([r,a])=>`
247
+ ${Object.entries(e.properties).map(([r,o])=>`
241
248
  /**
242
- * ${a.description??""}
249
+ * ${o.description??""}
243
250
  **/
244
251
  ${r}: {
245
- type: "${a.dataType.type}";
246
- displayName: "${a.displayName??r}";
252
+ type: "${o.dataType.type}";
253
+ displayName: "${o.displayName??r}";
247
254
  }
248
255
 
249
256
  `)}
250
257
  }
251
258
  }
252
- `}async function Te(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
259
+ `}async function Oe(e,r,o){r.writeFile(j__namespace.default.join(o,"index.ts"),await s(`
253
260
  export { Ontology } from "./Ontology";
254
- `));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
261
+ `));let t=Object.keys(e.objectTypes);r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await s(`
255
262
  import type { OntologyDefinition } from "@osdk/api";
256
- ${t.map(o=>`import {${o}} from "./objects/${o}";`).join(`
263
+ ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
257
264
  `)}
258
265
 
259
266
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -261,20 +268,20 @@ ${r.flatMap(t=>{let o=[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLi
261
268
  export const Ontology = {
262
269
  metadata: OntologyMetadata,
263
270
  objects: {
264
- ${t.map(o=>`${o}: ${o},`).join(`
271
+ ${t.map(a=>`${a}: ${a},`).join(`
265
272
  `)}
266
273
  },
267
- } satisfies OntologyDefinition<${t.map(o=>`"${o}"`).join("|")}>;
268
- `));for(let o of t){let n=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
274
+ } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
275
+ `));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__namespace.default.join(o,"objects",`${a}.ts`),await s(`
269
276
 
270
277
  import type { ObjectDefinition } from "@osdk/api";
271
278
 
272
- export const ${o} = ${JSON.stringify(h(n),null,2)} satisfies ${o};
279
+ export const ${a} = ${JSON.stringify(O(n),null,2)} satisfies ${a};
273
280
 
274
- ${re(n)}
281
+ ${ne(n)}
275
282
  `));}}
276
283
 
277
- exports.generateClientSdkVersionOneDotOne = be;
278
- exports.generateClientSdkVersionTwoPointZero = Te;
284
+ exports.generateClientSdkVersionOneDotOne = he;
285
+ exports.generateClientSdkVersionTwoPointZero = Oe;
279
286
  //# sourceMappingURL=out.js.map
280
287
  //# sourceMappingURL=index.js.map