@osdk/generator 0.0.3 → 0.0.4

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,14 @@
1
1
  # @osdk/generator
2
2
 
3
+ ## 0.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 1674b35: Releasing clients for integration
8
+ - Updated dependencies [1674b35]
9
+ - @osdk/api@0.0.8
10
+ - @osdk/gateway@0.0.3
11
+
3
12
  ## 0.0.3
4
13
 
5
14
  ### Patch Changes
package/build/js/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var w = require('path');
3
+ var O = require('path');
4
4
  var prettier = require('prettier');
5
5
 
6
6
  function _interopNamespace(e) {
@@ -21,23 +21,23 @@ function _interopNamespace(e) {
21
21
  return Object.freeze(n);
22
22
  }
23
23
 
24
- var w__namespace = /*#__PURE__*/_interopNamespace(w);
24
+ var O__namespace = /*#__PURE__*/_interopNamespace(O);
25
25
 
26
- function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.apiName)}))}}function H(e){return e.replace(/-./g,r=>r[1].toUpperCase())}function j(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 D(e,r,a){let t=new Set,o=[];for(let i of e.actionTypes){let n=Object.entries(i.parameters),d=j(i),m=Array.from(d.addedObjects),g=Array.from(d.modifiedObjects);m.forEach(t.add,t),g.forEach(t.add,t);let y=["/**"];i.description&&y.push(`* ${i.description}`);let c="";if(n.length>0){c=`params: {
27
- `;for(let[b,T]of n){c+=`"${b}"`,c+=T.required?": ":"?: ";let k=E(T.dataType,t);c+=`${k};
28
- `,y.push(`* @param {${k}} params.${b}`);}c+="}, ";}y.push("*/"),o.push(`
26
+ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ee(r.apiName)}))}}function ee(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 E(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 D=F(b.dataType,t);c+=`${D};
28
+ `,y.push(`* @param {${D}} params.${j}`);}c+="}, ";}y.push("*/"),o.push(`
29
29
  ${y.join(`
30
30
  `)}
31
- ${i.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(w__namespace.default.join(a,"ontologyActions.ts"),await s(`
31
+ ${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(`
33
33
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
34
- ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
34
+ ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
35
35
  `)}
36
36
  export interface Actions {
37
37
  ${o.join(`
38
38
  `)}
39
39
  }
40
- `));}function E(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<${E(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 F(e,r){await e.writeFile(w__namespace.default.join(r,"FoundryClient.ts"),await s(`
40
+ `));}function F(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<${F(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 Q(e,r){await e.writeFile(O__namespace.default.join(r,"FoundryClient.ts"),await s(`
41
41
  import { BaseFoundryClient } from "@osdk/legacy-client";
42
42
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
43
43
  import { Ontology } from "./Ontology";
@@ -48,9 +48,9 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
48
48
  }
49
49
 
50
50
  get ontology(): Ontology {
51
- return this.ontology;
51
+ return super.ontology;
52
52
  }
53
- }`));}async function P(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(w__namespace.join(r,"index.ts"),await s(`
53
+ }`));}async function V(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O__namespace.join(r,"index.ts"),await s(`
54
54
  export {
55
55
  ActionExecutionMode,
56
56
  ActionResponse,
@@ -116,17 +116,17 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
116
116
  } from '@osdk/legacy-client';
117
117
  export { Ontology } from "./Ontology";
118
118
  export { FoundryClient } from "./FoundryClient";
119
- `));}function l(e){return e.join(",")}async function V(e,r,a){let t=Object.keys(e.objectTypes),o=e.actionTypes.map(n=>n.apiName),i=e.queryTypes.map(n=>n.apiName);await r.writeFile(w__namespace.default.join(a,"Ontology.ts"),await s(`
119
+ `));}function u(e){return e.join(",")}async function L(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(`
120
120
  import type { OntologyDefinition } from "@osdk/api";
121
121
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
122
122
  import type { Objects } from "./ontologyObjects";
123
123
  import type { Actions } from "./ontologyActions";
124
124
  import type { Queries } from "./ontologyQueries";
125
- ${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
125
+ ${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
126
126
  `)}
127
- ${o.map(n=>`import {${n}} from "./actions/${n}";`).join(`
127
+ ${o.map(i=>`import {${i}} from "./actions/${i}";`).join(`
128
128
  `)}
129
- ${i.map(n=>`import {${n}} from "./queries/${n}";`).join(`
129
+ ${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
130
130
  `)}
131
131
 
132
132
  export const Ontology = {
@@ -136,35 +136,35 @@ function x(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:H(r.a
136
136
  userAgent: "foundry-typescript-osdk/0.0.1",
137
137
  },
138
138
  objects: {
139
- ${l(t)}
139
+ ${u(t)}
140
140
  },
141
141
  actions: {
142
- ${l(o)}
142
+ ${u(o)}
143
143
  },
144
144
  queries: {
145
- ${l(i)}
145
+ ${u(n)}
146
146
  }
147
- } satisfies OntologyDefinition<${t.map(n=>`"${n}"`).join("|")}, ${e.actionTypes.map(n=>`"${n.apiName}"`).join("|")}, ${e.queryTypes.map(n=>`"${n.apiName}"`).join("|")}>;
147
+ } satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
148
148
 
149
149
  export interface Ontology extends ClientOntology<typeof Ontology> {
150
150
  objects: Objects;
151
151
  actions: Actions;
152
152
  queries: Queries;
153
- }`));}async function L(e,r,a){await r.writeFile(w__namespace.default.join(a,"ontologyObjects.ts"),await s(`
153
+ }`));}async function C(e,r,a){await r.writeFile(O__namespace.default.join(a,"ontologyObjects.ts"),await s(`
154
154
  import { BaseObjectSet } from "@osdk/legacy-client";
155
- import { ${l(Object.keys(e.objectTypes))} } from "./objects";
155
+ import { ${u(Object.keys(e.objectTypes))} } from "./objects";
156
156
 
157
157
  export interface Objects {
158
158
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
159
159
  `)}
160
160
  }
161
- ;`));}function R(e){let r=j(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([a,t])=>[a,oe(t)])),displayName:e.displayName,description:e.description,modifiedEntities:ie(r.addedObjects,r.modifiedObjects)}}function oe(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:O(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:O(e.dataType),nullable:!e.required,description:e.description}}}function O(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 O(e.subType)}}function ie(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 M(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let o=new Set(ne(t));await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
161
+ ;`));}function R(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([a,t])=>[a,ie(t)])),displayName:e.displayName,description:e.description,modifiedEntities:se(r.addedObjects,r.modifiedObjects)}}function ie(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:h(e.dataType),nullable:!e.required,description:e.description};case"array":return {multiplicity:!0,type:h(e.dataType),nullable:!e.required,description:e.description}}}function h(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 h(e.subType)}}function se(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 I(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let o=new Set(ce(t));await r.writeFile(O__namespace.default.join(a,`${t.apiName}.ts`),await s(`
162
162
  import { ActionDefinition } from "@osdk/api";
163
163
 
164
- export const ${t.apiName} = ${JSON.stringify(R(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${o.size>0?[...o].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
164
+ export const ${t.apiName} = ${JSON.stringify(R(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(`
165
165
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
166
166
  `)}
167
- `));}function ne(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let o=I(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 I(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return I(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function q(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 _(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,type:h(e.dataType),nullable:!0};case"array":return {multiplicity:!0,type:h(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function h(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 h(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function $(e,r=[]){return {apiName:e.apiName,primaryKeyType:q(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,_(t)]))}}function v(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";
167
+ `));}function ce(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let o=v(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 v(e){switch(e.type){case"objectSet":case"object":return e.objectTypeApiName;case"array":return v(e.subType);case"string":case"boolean":case"attachment":case"date":case"double":case"integer":case"long":case"timestamp":return}}function _(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 q(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:A(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:A(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function A(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 A(e.subType);case"timeseries":return e.itemType.type==="string"?"stringTimeseries":"numericTimeseries";default:throw new Error(`Unexecpected data type ${e}`)}}function w(e,r=[]){return {apiName:e.apiName,description:e.description,primaryKeyType:_(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,q(t)]))}}function U(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";
168
168
  ${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
169
169
  `)}
170
170
 
@@ -173,50 +173,50 @@ ${Array.from(a).map(t=>`import type { ${t} } from "./${t}";`).join(`
173
173
  */
174
174
  export interface ${e.apiName} extends OntologyObject {
175
175
  readonly __apiName: "${e.apiName}";
176
- readonly __primaryKey: ${A(e.properties[e.primaryKey].dataType)};
177
- ${Object.entries(e.properties).map(([t,o])=>`${se(o.description)}readonly ${t}: ${A(o.dataType)} | undefined`).join(`;
176
+ readonly __primaryKey: ${N(e.properties[e.primaryKey].dataType)};
177
+ ${Object.entries(e.properties).map(([t,o])=>`${pe(o.description)}readonly ${t}: ${N(o.dataType)} | undefined`).join(`;
178
178
  `)}
179
- ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>;`).join(`;
179
+ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`).join(`;
180
180
  `)}
181
181
  }
182
- `}function A(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return A(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 se(e){return e?`/**
182
+ `}function N(e){switch(e.type){case"string":return "string";case"boolean":return "boolean";case"array":return N(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 pe(e){return e?`/**
183
183
  * ${e}
184
184
  */
185
- `:""}async function G(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],i=new Set(o?.map(n=>n.objectTypeApiName));await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
185
+ `:""}async function K(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(`
186
186
  import { ObjectDefinition } from "@osdk/api";
187
- ${v(t,o)}
187
+ ${U(t,o)}
188
188
 
189
- export const ${t.apiName} = ${JSON.stringify($(t,o),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${i.size>0?[...i].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
189
+ export const ${t.apiName} = ${JSON.stringify(w(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(`
190
190
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
191
191
  `)}
192
- `));}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(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:e.fields.map(t=>({name:t.name,fieldType:p(t.fieldType)}))},nullable:!1};case"twoDimensionalAggregation":return {type:{type:"twoDimensionalAggregation",twoDimensionalAggregation:N(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:ce(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){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type}:{keyType:e.keyType.type,valueType:e.valueType.type}}function ce(e){return e.keyType.type==="range"?{keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)}:{keyType:e.keyType.type,valueType:N(e.valueType)}}function z(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,pe(a)])),output:p(e.output)}}function pe(e){return {description:e.description,dataType:p(e.dataType)}}async function K(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{await r.writeFile(w__namespace.default.join(a,`${t.apiName}.ts`),await s(`
192
+ `));}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:S(e)}};case"threeDimensionalAggregation":return {type:{type:"threeDimensionalAggregation",threeDimensionalAggregation:me(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 S(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:e.valueType.type};if(z(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 me(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:S(e.valueType)};if(z(e.keyType))return {keyType:e.keyType.type,valueType:S(e.valueType)};throw new Error(`Cannot create 3D aggregation with ${e.keyType.type} as its type`)}function z(e){return e.type==="string"||e.type==="boolean"}function B(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,ye(a)])),output:p(e.output)}}function ye(e){return {description:e.description,dataType:p(e.dataType)}}async function W(e,r,a){await r.mkdir(a,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let o=ue(t);await r.writeFile(O__namespace.default.join(a,`${t.apiName}.ts`),await s(`
193
193
  import { QueryDefinition } from "@osdk/api";
194
194
 
195
- export const ${t.apiName} = ${JSON.stringify(z(t))} satisfies QueryDefinition<"${t.apiName}">;`));})),await r.writeFile(w__namespace.default.join(a,"index.ts"),await s(`
195
+ export const ${t.apiName} = ${JSON.stringify(B(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(`
196
196
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
197
197
  `)}
198
- `));}async function Y(e,r,a){let t=new Set,o=[];for(let i of e.queryTypes){let n=["/**"];i.description&&n.push(`* ${i.description}`);let d=f(i.output,t),m=[];for(let[y,c]of Object.entries(i.parameters)){let b=u(c.dataType),T=f(c.dataType,t);m.push(`"${y}"${b?"?":""}: ${T}`),n.push(`* @param {${W(T)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;n.push(`* @returns ${W(d)}`,"*/"),o.push(`
199
- ${n.join(`
198
+ `));}function ue(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 H(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 {${Z(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${Z(d)}`,"*/"),o.push(`
199
+ ${i.join(`
200
200
  `)}
201
- ${i.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
201
+ ${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
202
202
  `);}await r.writeFile(`${a}/ontologyQueries.ts`,await s(`
203
203
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
204
- ${Array.from(t).map(i=>`import type { ${i} } from "./objects/${i}";`).join(`
204
+ ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
205
205
  `)}
206
206
 
207
207
  export interface Queries {
208
208
  ${o.join(`
209
209
  `)}
210
210
  }
211
- `));}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 i=u(o.fieldType);return `${o.name}${i?"?":""}: ${f(o.fieldType,r)}`}).join(`,
211
+ `));}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(`,
212
212
  `)} }`;case"union":return e.unionTypes.map(o=>f(o,r)).join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
213
- ${S(e.keyType)},
214
- ${J(e.valueType)}
213
+ ${k(e.keyType)},
214
+ ${Y(e.valueType)}
215
215
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
216
- ${S(e.keyType)},
217
- ${S(e.valueType.keyType)},
218
- ${J(e.valueType.valueType)}
219
- >`;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 S(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<${me(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function me(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 J(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 W(e){return e.replace(/\s/g,"")}async function ye(e,r,a){let t=x(e);await F(r,a),await V(t,r,a),await L(t,r,a),await G(t,r,w__namespace.join(a,"objects")),await D(t,r,a),await M(t,r,w__namespace.join(a,"actions")),await Y(t,r,a),await K(t,r,w__namespace.join(a,"queries")),await P(r,a);}function Z(e){return `
216
+ ${k(e.keyType)},
217
+ ${k(e.valueType.keyType)},
218
+ ${Y(e.valueType.valueType)}
219
+ >`;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 k(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<${le(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function le(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 Y(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 Z(e){return e.replace(/\s/g,"")}async function fe(e,r,a){let t=x(e);await Q(r,a),await L(t,r,a),await C(t,r,a),await K(t,r,O__namespace.join(a,"objects")),await E(t,r,a),await I(t,r,O__namespace.join(a,"actions")),await H(t,r,a),await W(t,r,O__namespace.join(a,"queries")),await V(r,a);}function X(e){return `
220
220
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
221
221
  apiName: "${e.apiName}";
222
222
  properties: {
@@ -232,7 +232,7 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
232
232
  `)}
233
233
  }
234
234
  }
235
- `}async function le(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
235
+ `}async function de(e,r,a){r.writeFile(`${a}/index.ts`,await s(`
236
236
  export { Ontology } from "./Ontology";
237
237
  `));let t=Object.keys(e.objectTypes);r.writeFile(`${a}/Ontology.ts`,await s(`
238
238
  import type { OntologyDefinition } from "@osdk/api";
@@ -248,16 +248,16 @@ ${r.map(t=>`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleL
248
248
  `)}
249
249
  },
250
250
  } satisfies OntologyDefinition<${t.map(o=>`"${o}"`).join("|")}>;
251
- `));for(let o of t){let i=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
251
+ `));for(let o of t){let n=e.objectTypes[o];r.writeFile(`${a}/objects/${o}.ts`,await s(`
252
252
 
253
253
  import type { ObjectDefinition } from "@osdk/api";
254
254
 
255
- export const ${o} = ${JSON.stringify($(i),null,2)} satisfies ${o};
255
+ export const ${o} = ${JSON.stringify(w(n),null,2)} satisfies ${o};
256
256
 
257
- ${Z(i)}
257
+ ${X(n)}
258
258
  `));}}
259
259
 
260
- exports.generateClientSdkVersionOneDotOne = ye;
261
- exports.generateClientSdkVersionTwoPointZero = le;
260
+ exports.generateClientSdkVersionOneDotOne = fe;
261
+ exports.generateClientSdkVersionTwoPointZero = de;
262
262
  //# sourceMappingURL=out.js.map
263
263
  //# sourceMappingURL=index.js.map