@osdk/generator 0.0.10 → 0.0.12

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,25 @@
1
1
  # @osdk/generator
2
2
 
3
+ ## 0.0.12
4
+
5
+ ### Patch Changes
6
+
7
+ - ad425f9: Fix query return type for objects
8
+ - Updated dependencies [ad425f9]
9
+ - @osdk/gateway@0.0.7
10
+ - @osdk/api@0.0.14
11
+
12
+ ## 0.0.11
13
+
14
+ ### Patch Changes
15
+
16
+ - 11ac931: Adding groupBy for Array types, using primary keys for actions and queries, and re-exporting more types
17
+ - 25de57b: Small fixes
18
+ - Updated dependencies [11ac931]
19
+ - Updated dependencies [25de57b]
20
+ - @osdk/api@0.0.13
21
+ - @osdk/gateway@0.0.6
22
+
3
23
  ## 0.0.10
4
24
 
5
25
  ### Patch Changes
package/build/js/index.js CHANGED
@@ -27,21 +27,21 @@ function _interopNamespace(e) {
27
27
  var j__namespace = /*#__PURE__*/_interopNamespace(j);
28
28
  var ce__default = /*#__PURE__*/_interopDefault(ce);
29
29
 
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 w(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 c(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 s=Object.entries(n.parameters),y=w(n),m=Array.from(y.addedObjects),l=Array.from(y.modifiedObjects);m.forEach(t.add,t),l.forEach(t.add,t);let i=["/**"];n.description&&i.push(`* ${n.description}`);let p="";if(s.length>0){p=`params: {
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 c(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,n=[];for(let a of e.actionTypes){let s=Object.entries(a.parameters),y=$(a),m=Array.from(y.addedObjects),l=Array.from(y.modifiedObjects);m.forEach(t.add,t),l.forEach(t.add,t);let i=["/**"];a.description&&i.push(`* ${a.description}`);let p="";if(s.length>0){p=`params: {
31
31
  `;for(let[f,b]of s){p+=`"${f}"`,p+=b.required?": ":"?: ";let E=P(b.dataType,t);p+=`${E};
32
- `,i.push(`* @param {${E}} params.${f}`);}p+="}, ";}i.push("*/"),a.push(`
32
+ `,i.push(`* @param {${E}} params.${f}`);}p+="}, ";}i.push("*/"),n.push(`
33
33
  ${i.join(`
34
34
  `)}
35
- ${n.apiName}<O extends ActionExecutionOptions>(${p}options?: O):
35
+ ${a.apiName}<O extends ActionExecutionOptions>(${p}options?: O):
36
36
  Promise<Result<ActionResponseFromOptions<O, Edits<${m.length>0?m.join(" | "):"void"}, ${l.length>0?l.join(" | "):"void"}>>, ActionError>>;`);}await r.mkdir(o,{recursive:!0}),await r.writeFile(j__namespace.default.join(o,"Actions.ts"),await c(`
37
37
  import type { ObjectSet, LocalDate, Timestamp, Attachment, Edits, ActionExecutionOptions, ActionError, Result, ActionResponseFromOptions } from "@osdk/legacy-client";
38
- ${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
38
+ ${Array.from(t).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
39
39
  `)}
40
40
  export interface Actions {
41
- ${a.join(`
41
+ ${n.join(`
42
42
  `)}
43
43
  }
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 c(`
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} | ${t}["__primaryKey"]`}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 c(`
45
45
  import { BaseFoundryClient } from "@osdk/legacy-client";
46
46
  import type { Auth, FoundryClientOptions } from "@osdk/legacy-client";
47
47
  import { Ontology } from "./Ontology";
@@ -54,7 +54,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
54
54
  get ontology(): Ontology {
55
55
  return super.ontology;
56
56
  }
57
- }`));}async function C(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await c(`
57
+ }`));}async function I(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await c(`
58
58
  export {
59
59
  ActionExecutionMode,
60
60
  ActionResponse,
@@ -123,7 +123,7 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
123
123
  } from '@osdk/legacy-client';
124
124
  export { Ontology } from "./Ontology";
125
125
  export { FoundryClient } from "./FoundryClient";
126
- `));}function $(e,r){return e.map(o=>{let t=r?.get(o);return t?`${o}: ${t}`:o}).join(",")}function h(e,r){return e.map(o=>`${o}: typeof ${r?.get(o)??o}`).join(",")}async function I(e,r,o){let t=Object.keys(e.objectTypes),a=e.actionTypes.map(i=>i.apiName),n=e.queryTypes.map(i=>i.apiName),s=new Map,y=new Map,m=new Set(t);for(let i of a)m.has(i)?s.set(i,`${i}Action`):m.add(i);for(let i of n)m.has(i)&&y.set(i,`${i}Query`);let l=(i,p)=>{let f=p.get(i);return f?`${i} as ${f}`:i};await r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await c(`
126
+ `));}function w(e,r){return e.map(o=>{let t=r?.get(o);return t?`${o}: ${t}`:o}).join(",")}function h(e,r){return e.map(o=>`${o}: typeof ${r?.get(o)??o}`).join(",")}async function L(e,r,o){let t=Object.keys(e.objectTypes),n=e.actionTypes.map(i=>i.apiName),a=e.queryTypes.map(i=>i.apiName),s=new Map,y=new Map,m=new Set(t);for(let i of n)m.has(i)?s.set(i,`${i}Action`):m.add(i);for(let i of a)m.has(i)&&y.set(i,`${i}Query`);let l=(i,p)=>{let f=p.get(i);return f?`${i} as ${f}`:i};await r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await c(`
127
127
  import type { OntologyDefinition } from "@osdk/api";
128
128
  import type { Ontology as ClientOntology } from "@osdk/legacy-client";
129
129
  import type { Objects } from "./ontology/objects/Objects";
@@ -131,9 +131,9 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
131
131
  import type { Queries } from "./ontology/queries/Queries";
132
132
  ${t.map(i=>`import {${i}} from "./ontology/objects/${i}";`).join(`
133
133
  `)}
134
- ${a.map(i=>`import {${l(i,s)}} from "./ontology/actions/${i}";`).join(`
134
+ ${n.map(i=>`import {${l(i,s)}} from "./ontology/actions/${i}";`).join(`
135
135
  `)}
136
- ${n.map(i=>`import {${l(i,y)}} from "./ontology/queries/${i}";`).join(`
136
+ ${a.map(i=>`import {${l(i,y)}} from "./ontology/queries/${i}";`).join(`
137
137
  `)}
138
138
 
139
139
  export const Ontology : {
@@ -146,10 +146,10 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
146
146
  ${h(t)}
147
147
  },
148
148
  actions: {
149
- ${h(a,s)}
149
+ ${h(n,s)}
150
150
  },
151
151
  queries: {
152
- ${h(n,y)}
152
+ ${h(a,y)}
153
153
  },
154
154
  } = {
155
155
  metadata: {
@@ -158,13 +158,13 @@ function F(e){return {...e,actionTypes:e.actionTypes.map(r=>({...r,apiName:ie(r.
158
158
  userAgent: "foundry-typescript-osdk/0.0.1" as const,
159
159
  },
160
160
  objects: {
161
- ${$(t)}
161
+ ${w(t)}
162
162
  },
163
163
  actions: {
164
- ${$(a,s)}
164
+ ${w(n,s)}
165
165
  },
166
166
  queries: {
167
- ${$(n,y)}
167
+ ${w(a,y)}
168
168
  }
169
169
  } satisfies OntologyDefinition<${t.map(i=>`"${i}"`).join("|")}, ${e.actionTypes.map(i=>`"${i.apiName}"`).join("|")}, ${e.queryTypes.map(i=>`"${i.apiName}"`).join("|")}>;
170
170
 
@@ -172,7 +172,7 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
172
172
  objects: Objects;
173
173
  actions: Actions;
174
174
  queries: Queries;
175
- }`));}async function L(e,r,o){await r.mkdir(o,{recursive:!0}),await r.writeFile(j__namespace.default.join(o,"Objects.ts"),await c(`
175
+ }`));}async function M(e,r,o){await r.mkdir(o,{recursive:!0}),await r.writeFile(j__namespace.default.join(o,"Objects.ts"),await c(`
176
176
  import { BaseObjectSet } from "@osdk/legacy-client";
177
177
  ${Array.from(Object.keys(e.objectTypes)).map(t=>`import type { ${t} } from "./${t}";`).join(`
178
178
  `)}
@@ -181,23 +181,23 @@ export interface Ontology extends ClientOntology<typeof Ontology> {
181
181
  ${Object.keys(e.objectTypes).map(t=>`${t} : BaseObjectSet<${t}>;`).join(`
182
182
  `)}
183
183
  }
184
- ;`));}async function M(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await c(`
184
+ ;`));}async function R(e,r){await e.mkdir(r,{recursive:!0}),await e.writeFile(j__namespace.join(r,"index.ts"),await c(`
185
185
  export type { ObjectSet } from "@osdk/legacy-client";
186
- `));}function q(e){let r=w(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 c(`
186
+ `));}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 n=new Set(de(t));await r.writeFile(j__namespace.default.join(o,`${t.apiName}.ts`),await c(`
187
187
  import { ActionDefinition } from "@osdk/api";
188
188
 
189
- export const ${t.apiName} = ${JSON.stringify(q(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 c(`
189
+ export const ${t.apiName} = ${JSON.stringify(_(t),null,2)} satisfies ActionDefinition<"${t.apiName}", ${n.size>0?[...n].map(a=>`"${a}"`).join("|"):"never"}>;`));})),await r.writeFile(j__namespace.default.join(o,"index.ts"),await c(`
190
190
  ${e.actionTypes.map(t=>`export * from "./${t.apiName}";`).join(`
191
191
  `)}
192
- `));}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
+ `));}function de(e){let r=Object.values(e.parameters).flatMap(({dataType:t})=>{let n=U(t);return n?[n]:[]});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";
193
193
  ${Array.from(o).map(t=>`import type { ${t} } from "./${t}";`).join(`
194
194
  `)}
195
195
 
196
196
  ${J(e.description)}export interface ${e.apiName} extends OntologyObject {
197
197
  readonly __apiName: "${e.apiName}";
198
198
  readonly __primaryKey: ${S(e.properties[e.primaryKey].dataType)};
199
- ${Object.entries(e.properties).flatMap(([t,a])=>{let n=S(a.dataType),s=[`${J(a.description)}readonly ${t}: ${n} | undefined`];return B(t)&&s.push(`/** @deprecated please migrate to '${t}' instead */
200
- readonly ${t}_: ${n} | undefined`),s}).join(`;
199
+ ${Object.entries(e.properties).flatMap(([t,n])=>{let a=S(n.dataType),s=[`${J(n.description)}readonly ${t}: ${a} | undefined`];return B(t)&&s.push(`/** @deprecated please migrate to '${t}' instead */
200
+ readonly ${t}_: ${a} | undefined`),s}).join(`;
201
201
  `)}
202
202
  ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"SingleLink"}<${t.objectTypeApiName}>`]).join(`;
203
203
  `)}
@@ -205,43 +205,43 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
205
205
  `}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?`/**
206
206
  * ${e}
207
207
  */
208
- `:""}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(s=>s.objectTypeApiName));await r.writeFile(j__namespace.default.join(o,`${t.apiName}.ts`),await c(`
208
+ `:""}async function Z(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(Object.values(e.objectTypes).map(async t=>{let n=e.linkTypes[t.apiName],a=new Set(n?.map(s=>s.objectTypeApiName));await r.writeFile(j__namespace.default.join(o,`${t.apiName}.ts`),await c(`
209
209
  import { ObjectDefinition } from "@osdk/api";
210
- ${W(t,a)}
210
+ ${W(t,n)}
211
211
 
212
- export const ${t.apiName} = ${JSON.stringify(O(t,a),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${n.size>0?[...n].map(s=>`"${s}"`).join("|"):"never"}>;`));})),await r.writeFile(j__namespace.default.join(o,"index.ts"),await c(`
212
+ export const ${t.apiName} = ${JSON.stringify(O(t,n),null,2)} satisfies ObjectDefinition<"${t.apiName}", ${a.size>0?[...a].map(s=>`"${s}"`).join("|"):"never"}>;`));})),await r.writeFile(j__namespace.default.join(o,"index.ts"),await c(`
213
213
  ${Object.keys(e.objectTypes).map(t=>`export * from "./${t}";`).join(`
214
214
  `)}
215
215
  export type { ObjectSet } from "@osdk/legacy-client";
216
216
 
217
- `));}function d(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>d(r)):!1}function u(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 {...u(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:u(e.subType)},nullable:!1};case"union":let r=d(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(a=>a.type!==null);if(t)return {...u(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,a)=>(a.type==="null"||t.push(u(a)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,u(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:u(e.output)}}function Te(e){return {description:e.description,dataType:u(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 c(`
217
+ `));}function d(e){return e.type==="null"?!0:e.type==="union"?e.unionTypes.some(r=>d(r)):!1}function u(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 {...u(e.subType),multiplicity:!0};case"set":return {type:{type:"set",set:u(e.subType)},nullable:!1};case"union":let r=d(e);if(r&&e.unionTypes.length===2){let t=e.unionTypes.find(n=>n.type!==null);if(t)return {...u(t),nullable:!0}}return {type:{type:"union",union:e.unionTypes.reduce((t,n)=>(n.type==="null"||t.push(u(n)),t),[])},nullable:r};case"struct":return {type:{type:"struct",struct:Object.fromEntries(e.fields.map(t=>[t.name,u(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:u(e.output)}}function Te(e){return {description:e.description,dataType:u(e.dataType)}}async function te(e,r,o){await r.mkdir(o,{recursive:!0}),await Promise.all(e.queryTypes.map(async t=>{let n=je(t);await r.writeFile(j__namespace.default.join(o,`${t.apiName}.ts`),await c(`
218
218
  import { QueryDefinition } from "@osdk/api";
219
219
 
220
- 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 c(`
220
+ export const ${t.apiName} = ${JSON.stringify(X(t))} satisfies QueryDefinition<"${t.apiName}", ${n.length>0?n.map(a=>`"${a}"`).join("|"):"never"}>;`));})),await r.writeFile(j__namespace.default.join(o,"index.ts"),await c(`
221
221
  ${e.queryTypes.map(t=>`export * from "./${t.apiName}";`).join(`
222
222
  `)}
223
- `));}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 s=["/**"];n.description&&s.push(`* ${n.description}`);let y=g(n.output,t),m=[];for(let[i,p]of Object.entries(n.parameters)){let f=d(p.dataType),b=g(p.dataType,t);m.push(`"${i}"${f?"?":""}: ${b}`),s.push(`* @param {${oe(b)}} params.${i}${p.description?` - ${p.description}`:""}`);}let l=m.length===0?"":`params: { ${m.join("; ")} }`;s.push(`* @returns ${oe(y)}`,"*/"),a.push(`
223
+ `));}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,n=[];for(let a of e.queryTypes){let s=["/**"];a.description&&s.push(`* ${a.description}`);let y=g(a.output,t,!0),m=[];for(let[i,p]of Object.entries(a.parameters)){let f=d(p.dataType),b=g(p.dataType,t,!1);m.push(`"${i}"${f?"?":""}: ${b}`),s.push(`* @param {${oe(b)}} params.${i}${p.description?` - ${p.description}`:""}`);}let l=m.length===0?"":`params: { ${m.join("; ")} }`;s.push(`* @returns ${oe(y)}`,"*/"),n.push(`
224
224
  ${s.join(`
225
225
  `)}
226
- ${n.apiName}(${l}): Promise<Result<QueryResponse<${y}>, QueryError>>;
226
+ ${a.apiName}(${l}): Promise<Result<QueryResponse<${y}>, QueryError>>;
227
227
  `);}await r.mkdir(o,{recursive:!0}),await r.writeFile(j__namespace.default.join(o,"Queries.ts"),await c(`
228
228
  import type { QueryResponse, QueryError, Result, Timestamp, LocalDate, Range, Attachment, ObjectSet, TwoDimensionalAggregation, ThreeDimensionalAggregation } from "@osdk/legacy-client";
229
- ${Array.from(t).map(n=>`import type { ${n} } from "../objects/${n}";`).join(`
229
+ ${Array.from(t).map(a=>`import type { ${a} } from "../objects/${a}";`).join(`
230
230
  `)}
231
231
 
232
232
  export interface Queries {
233
- ${a.join(`
233
+ ${n.join(`
234
234
  `)}
235
235
  }
236
- `));}function g(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<${g(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<${g(e.subType,r)}>`;case"struct":return `{ ${e.fields.map(a=>{let n=d(a.fieldType);return `${a.name}${n?"?":""}: ${g(a.fieldType,r)}`}).join(`,
237
- `)} }`;case"union":return e.unionTypes.map(a=>g(a,r)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
236
+ `));}function g(e,r,o){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<${g(e.subType,r,o)}>`;case"object":{let a=e.objectTypeApiName;return r.add(a),o?a:`${a} | ${a}["__primaryKey"]`}case"objectSet":{let a=e.objectTypeApiName;return r.add(a),`ObjectSet<${a}>`}case"set":return `Set<${g(e.subType,r,o)}>`;case"struct":return `{ ${e.fields.map(a=>{let s=d(a.fieldType);return `${a.name}${s?"?":""}: ${g(a.fieldType,r,o)}`}).join(`,
237
+ `)} }`;case"union":return e.unionTypes.map(a=>g(a,r,o)).filter(a=>a!=="null").join("|");case"twoDimensionalAggregation":return e.valueType,`TwoDimensionalAggregation<
238
238
  ${x(e.keyType)},
239
239
  ${re(e.valueType)}
240
240
  >`;case"threeDimensionalAggregation":return `ThreeDimensionalAggregation<
241
241
  ${x(e.keyType)},
242
242
  ${x(e.valueType.keyType)},
243
243
  ${re(e.valueType.valueType)}
244
- >`;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=j__namespace.join(o,"ontology","objects"),a=j__namespace.join(o,"ontology","actions"),n=j__namespace.join(o,"ontology","queries"),s=F(e);await v(r,o),await I(s,r,o),await M(r,j__namespace.join(o,"ontology")),await L(s,r,t),await Z(s,r,t),await Q(s,r,a),await K(s,r,a),await ae(s,r,n),await te(s,r,n),await C(r,o);}function ne(e){return `
244
+ >`;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<${we(e.subType)}>`;default:throw new Error(`Unknown TwoDimensionalAggregation keyType ${e.type}`)}}function we(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=j__namespace.join(o,"ontology","objects"),n=j__namespace.join(o,"ontology","actions"),a=j__namespace.join(o,"ontology","queries"),s=F(e);await v(r,o),await L(s,r,o),await R(r,j__namespace.join(o,"ontology")),await M(s,r,t),await Z(s,r,t),await Q(s,r,n),await K(s,r,n),await ae(s,r,a),await te(s,r,a),await I(r,o);}function ne(e){return `
245
245
  export interface ${e.apiName} extends ObjectDefinition<"${e.apiName}", "${e.apiName}">{
246
246
  apiName: "${e.apiName}";
247
247
  properties: {
@@ -261,7 +261,7 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
261
261
  export { Ontology } from "./Ontology";
262
262
  `));let t=Object.keys(e.objectTypes);r.writeFile(j__namespace.default.join(o,"Ontology.ts"),await c(`
263
263
  import type { OntologyDefinition } from "@osdk/api";
264
- ${t.map(a=>`import {${a}} from "./objects/${a}";`).join(`
264
+ ${t.map(n=>`import {${n}} from "./objects/${n}";`).join(`
265
265
  `)}
266
266
 
267
267
  import { OntologyMetadata } from "./OntologyMetadata";
@@ -269,17 +269,17 @@ ${r.flatMap(t=>[`readonly ${t.apiName}: ${t.cardinality==="MANY"?"MultiLink":"Si
269
269
  export const Ontology = {
270
270
  metadata: OntologyMetadata,
271
271
  objects: {
272
- ${t.map(a=>`${a}: ${a},`).join(`
272
+ ${t.map(n=>`${n}: ${n},`).join(`
273
273
  `)}
274
274
  },
275
- } satisfies OntologyDefinition<${t.map(a=>`"${a}"`).join("|")}>;
276
- `));for(let a of t){let n=e.objectTypes[a];r.writeFile(j__namespace.default.join(o,"objects",`${a}.ts`),await c(`
275
+ } satisfies OntologyDefinition<${t.map(n=>`"${n}"`).join("|")}>;
276
+ `));for(let n of t){let a=e.objectTypes[n];r.writeFile(j__namespace.default.join(o,"objects",`${n}.ts`),await c(`
277
277
 
278
278
  import type { ObjectDefinition } from "@osdk/api";
279
279
 
280
- export const ${a} = ${JSON.stringify(O(n),null,2)} satisfies ${a};
280
+ export const ${n} = ${JSON.stringify(O(a),null,2)} satisfies ${n};
281
281
 
282
- ${ne(n)}
282
+ ${ne(a)}
283
283
  `));}}
284
284
 
285
285
  exports.generateClientSdkVersionOneDotOne = he;