@osdk/generator 0.0.6 → 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.
@@ -1,23 +1,23 @@
1
- import * as O from 'path';
2
- import O__default from 'path';
1
+ import * as j from 'path';
2
+ import j__default from 'path';
3
3
  import { format } from 'prettier';
4
- import ie from 'prettier-plugin-organize-imports';
4
+ import ce from 'prettier-plugin-organize-imports';
5
5
 
6
- 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,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 format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ie],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: {
7
- `;for(let[j,b]of i){c+=`"${j}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
8
- `,y.push(`* @param {${E}} params.${j}`);}c+="}, ";}y.push("*/"),a.push(`
6
+ 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 format(e,{parser:"typescript",singleQuote:!0,trailingComma:"all",plugins:[ce],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: {
7
+ `;for(let[w,b]of i){c+=`"${w}"`,c+=b.required?": ":"?: ";let E=P(b.dataType,t);c+=`${E};
8
+ `,y.push(`* @param {${E}} params.${w}`);}c+="}, ";}y.push("*/"),a.push(`
9
9
  ${y.join(`
10
10
  `)}
11
11
  ${n.apiName}<O extends ActionExecutionOptions>(${c}options?: O):
12
- Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(O__default.join(o,"ontologyActions.ts"),await s(`
12
+ Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${g.length>0?g.join(" | "):"void"}>>, ActionError>>;`);}await r.writeFile(j__default.join(o,"ontologyActions.ts"),await s(`
13
13
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
14
- ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
14
+ ${Array.from(t).map(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
15
15
  `)}
16
16
  export interface Actions {
17
17
  ${a.join(`
18
18
  `)}
19
19
  }
20
- `));}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__default.join(r,"FoundryClient.ts"),await s(`
20
+ `));}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__default.join(r,"FoundryClient.ts"),await s(`
21
21
  import { BaseFoundryClient } from "@osdk/legacy-client";
22
22
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
23
23
  import { Ontology } from "./Ontology";
@@ -30,7 +30,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
30
30
  get ontology(): Ontology {
31
31
  return super.ontology;
32
32
  }
33
- }`));}async function L(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(O.join(r,"index.ts"),await s(`
33
+ }`));}async function v(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await s(`
34
34
  export {
35
35
  ActionExecutionMode,
36
36
  ActionResponse,
@@ -99,17 +99,17 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
99
99
  } from '@osdk/legacy-client';
100
100
  export { Ontology } from "./Ontology";
101
101
  export { FoundryClient } from "./FoundryClient";
102
- `));}function u(e){return e.join(",")}function w(e){return e.map(r=>`${r}: typeof ${r}`).join(",")}async function R(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(O__default.join(o,"Ontology.ts"),await s(`
102
+ `));}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__default.join(o,"Ontology.ts"),await s(`
103
103
  import type { OntologyDefinition } from "@osdk/api";
104
104
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
105
105
  import type { Objects } from "./ontologyObjects";
106
106
  import type { Actions } from "./ontologyActions";
107
107
  import type { Queries } from "./ontologyQueries";
108
- ${t.map(i=>`import {${i}} from "./objects/${i}";`).join(`
108
+ ${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
109
109
  `)}
110
- ${a.map(i=>`import {${i}} from "./actions/${i}";`).join(`
110
+ ${a.map(i=>`import {${i}} from "./ontology/actions/${i}";`).join(`
111
111
  `)}
112
- ${n.map(i=>`import {${i}} from "./queries/${i}";`).join(`
112
+ ${n.map(i=>`import {${i}} from "./ontology/queries/${i}";`).join(`
113
113
  `)}
114
114
 
115
115
  export const Ontology : {
@@ -119,13 +119,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
119
119
  userAgent: "foundry-typescript-osdk/0.0.1",
120
120
  },
121
121
  objects: {
122
- ${w(t)}
122
+ ${h(t)}
123
123
  },
124
124
  actions: {
125
- ${w(a)}
125
+ ${h(a)}
126
126
  },
127
127
  queries: {
128
- ${w(n)}
128
+ ${h(n)}
129
129
  },
130
130
  } = {
131
131
  metadata: {
@@ -134,13 +134,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ae(r.
134
134
  userAgent: "foundry-typescript-osdk/0.0.1" as const,
135
135
  },
136
136
  objects: {
137
- ${u(t)}
137
+ ${l(t)}
138
138
  },
139
139
  actions: {
140
- ${u(a)}
140
+ ${l(a)}
141
141
  },
142
142
  queries: {
143
- ${u(n)}
143
+ ${l(n)}
144
144
  }
145
145
  } satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
146
146
 
@@ -148,71 +148,75 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
148
148
  objects: Objects;
149
149
  actions: Actions;
150
150
  queries: Queries;
151
- }`));}async function v(e,r,o){await r.writeFile(O__default.join(o,"ontologyObjects.ts"),await s(`
151
+ }`));}async function R(e,r,o){await r.writeFile(j__default.join(o,"ontologyObjects.ts"),await s(`
152
152
  import { BaseObjectSet } from "@osdk/legacy-client";
153
- import { ${u(Object.keys(e.objectTypes))} } from "./objects";
153
+ import { ${l(Object.keys(e.objectTypes))} } from "./ontology/objects";
154
154
 
155
155
  export interface Objects {
156
156
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
157
157
  `)}
158
158
  }
159
- ;`));}function I(e){let r=$(e);return {apiName:e.apiName,parameters:Object.fromEntries(Object.entries(e.parameters).map(([o,t])=>[o,ye(t)])),displayName:e.displayName,description:e.description,modifiedEntities:ue(r.addedObjects,r.modifiedObjects)}}function ye(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 ue(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 _(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.actionTypes.map(async t=>{let a=new Set(le(t));await r.writeFile(O__default.join(o,`${t.apiName}.ts`),await s(`
159
+ ;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j.join(r,"index.ts"),await s(`
160
+ export type { ObjectSet } from "@osdk/legacy-client";
161
+ `));}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__default.join(o,`${t.apiName}.ts`),await s(`
160
162
  import { ActionDefinition } from "@osdk/api";
161
163
 
162
- export const ${t.apiName} = ${JSON.stringify(I(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${a.size>0?[...a].map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__default.join(o,"index.ts"),await s(`
164
+ 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__default.join(o,"index.ts"),await s(`
163
165
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
164
166
  `)}
165
- `));}function le(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let a=q(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 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:S(e.dataType),nullable:!0};case"array":return {multiplicity:!0,description:e.description,type:S(e.dataType),nullable:!0};default:e.dataType;throw new Error(`Unexpected data type ${JSON.stringify(e.dataType)}`)}}function S(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 S(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(o=>[o.apiName,{multiplicity:o.cardinality==="MANY",targetType:o.objectTypeApiName}])),properties:Object.fromEntries(Object.entries(e.properties).map(([o,t])=>[o,U(t)]))}}var fe=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 G(e){return fe.has(e)}function B(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";
167
+ `));}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";
166
168
  ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
167
169
  `)}
168
170
 
169
- ${z(e.description)}export interface ${e.apiName} extends OntologyObject {
171
+ ${J(e.description)}export interface ${e.apiName} extends OntologyObject {
170
172
  readonly __apiName: "${e.apiName}";
171
- readonly __primaryKey: ${k(e.properties[e.primaryKey].dataType)};
172
- ${Object.entries(e.properties).flatMap(([t,a])=>{let n=k(a.dataType),i=[`${z(a.description)}readonly ${t}: ${n} | undefined`];return G(t)&&i.push(`/** @deprecated please migrate to '${t}' instead */
173
+ readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
174
+ ${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 */
173
175
  readonly ${t}_: ${n} | undefined`),i}).join(`;
174
176
  `)}
175
177
  ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
176
178
  `)}
177
179
  }
178
- `}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 z(e){return e?`/**
180
+ `}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?`/**
179
181
  * ${e}
180
182
  */
181
- `:""}async function W(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(O__default.join(o,`${t.apiName}.ts`),await s(`
183
+ `:""}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__default.join(o,`${t.apiName}.ts`),await s(`
182
184
  import { ObjectDefinition } from "@osdk/api";
183
- ${B(t,a)}
185
+ ${W(t,a)}
184
186
 
185
- export const ${t.apiName} = ${JSON.stringify(h(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(i=>`"${i}"`).join("|"):"never"}>;`));})),await r.writeFile(O__default.join(o,"index.ts"),await s(`
187
+ 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__default.join(o,"index.ts"),await s(`
186
188
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
187
189
  `)}
188
- `));}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(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:de(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(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 de(e){if(e.keyType.type==="range")return {keyType:e.keyType.type,keySubtype:e.keyType.subType.type,valueType:N(e.valueType)};if(Y(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 Y(e){return e.type==="string"||e.type==="boolean"}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,o])=>[r,ge(o)])),output:p(e.output)}}function ge(e){return {description:e.description,dataType:p(e.dataType)}}async function X(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let a=be(t);await r.writeFile(O__default.join(o,`${t.apiName}.ts`),await s(`
190
+ export type { ObjectSet } from "@osdk/legacy-client";
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(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__default.join(o,`${t.apiName}.ts`),await s(`
189
193
  import { QueryDefinition } from "@osdk/api";
190
194
 
191
- export const ${t.apiName} = ${JSON.stringify(Z(t))} satisfies QueryDefinition<"${t.apiName}", ${a.length>0?a.map(n=>`"${n}"`).join("|"):"never"}>;`));})),await r.writeFile(O__default.join(o,"index.ts"),await s(`
195
+ 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__default.join(o,"index.ts"),await s(`
192
196
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
193
197
  `)}
194
- `));}function be(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 re(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 j=l(c.dataType),b=f(c.dataType,t);m.push(`"${y}"${j?"?":""}: ${b}`),i.push(`* @param {${te(b)}} params.${y}${c.description?` - ${c.description}`:""}`);}let g=m.length===0?"":`params: { ${m.join("; ")} }`;i.push(`* @returns ${te(d)}`,"*/"),a.push(`
198
+ `));}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(`
195
199
  ${i.join(`
196
200
  `)}
197
201
  ${n.apiName}(${g}): Promise<Result<QueryResponse<${d}>, QueryError>>;
198
- `);}await r.writeFile(O__default.join(o,"ontologyQueries.ts"),await s(`
202
+ `);}await r.writeFile(j__default.join(o,"ontologyQueries.ts"),await s(`
199
203
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
200
- ${Array.from(t).map(n=>`import type { ${n} } from "./objects/${n}";`).join(`
204
+ ${Array.from(t).map(n=>`import type { ${n} } from "./ontology/objects/${n}";`).join(`
201
205
  `)}
202
206
 
203
207
  export interface Queries {
204
208
  ${a.join(`
205
209
  `)}
206
210
  }
207
- `));}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=l(a.fieldType);return `${a.name}${n?"?":""}: ${f(a.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 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(`,
208
212
  `)} }`;case"union":return e.unionTypes.map(a=>f(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
209
- ${D(e.keyType)},
210
- ${ee(e.valueType)}
213
+ ${x(e.keyType)},
214
+ ${re(e.valueType)}
211
215
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
212
- ${D(e.keyType)},
213
- ${D(e.valueType.keyType)},
214
- ${ee(e.valueType.valueType)}
215
- >`;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 D(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<${je(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function je(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 ee(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 te(e){return e.replace(/\s/g,"")}async function $e(e,r,o){let t=F(e);await V(r,o),await R(t,r,o),await v(t,r,o),await W(t,r,O.join(o,"objects")),await Q(t,r,o),await _(t,r,O.join(o,"actions")),await re(t,r,o),await X(t,r,O.join(o,"queries")),await L(r,o);}function oe(e){return `
216
+ ${x(e.keyType)},
217
+ ${x(e.valueType.keyType)},
218
+ ${re(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 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.join(o,"ontology")),await R(t,r,o),await Z(t,r,j.join(o,"ontology","objects")),await Q(t,r,o),await K(t,r,j.join(o,"ontology","actions")),await ae(t,r,o),await te(t,r,j.join(o,"ontology","queries")),await v(r,o);}function ne(e){return `
216
220
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
217
221
  apiName: "${e.apiName}";
218
222
  properties: {
@@ -228,9 +232,9 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
228
232
  `)}
229
233
  }
230
234
  }
231
- `}async function we(e,r,o){r.writeFile(O__default.join(o,"index.ts"),await s(`
235
+ `}async function Oe(e,r,o){r.writeFile(j__default.join(o,"index.ts"),await s(`
232
236
  export { Ontology } from "./Ontology";
233
- `));let t=Object.keys(e.objectTypes);r.writeFile(O__default.join(o,"Ontology.ts"),await s(`
237
+ `));let t=Object.keys(e.objectTypes);r.writeFile(j__default.join(o,"Ontology.ts"),await s(`
234
238
  import type { OntologyDefinition } from "@osdk/api";
235
239
  ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
236
240
  `)}
@@ -244,15 +248,15 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
244
248
  `)}
245
249
  },
246
250
  } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
247
- `));for(let a of t){let n=e.objectTypes[a];r.writeFile(O__default.join(o,"objects",`${a}.ts`),await s(`
251
+ `));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__default.join(o,"objects",`${a}.ts`),await s(`
248
252
 
249
253
  import type { ObjectDefinition } from "@osdk/api";
250
254
 
251
- export const ${a} = ${JSON.stringify(h(n),null,2)} satisfies ${a};
255
+ export const ${a} = ${JSON.stringify(O(n),null,2)} satisfies ${a};
252
256
 
253
- ${oe(n)}
257
+ ${ne(n)}
254
258
  `));}}
255
259
 
256
- export { $e as generateClientSdkVersionOneDotOne, we as generateClientSdkVersionTwoPointZero };
260
+ export { he as generateClientSdkVersionOneDotOne, Oe as generateClientSdkVersionTwoPointZero };
257
261
  //# sourceMappingURL=out.js.map
258
262
  //# sourceMappingURL=index.mjs.map