@osdk/faux 0.19.0 → 0.19.1-beta.0

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.
@@ -99,7 +99,11 @@ type JustProps<T extends ObjectTypeV2 | ObjectTypeDefinition> = CompileTimeMetad
99
99
 
100
100
  type TH_ActionParameterType_Primitive<X extends ActionParameterType> = X extends {
101
101
  type: "attachment";
102
- } ? AttachmentRid : ActionParam.PrimitiveType<Exclude<X["type"], "object" | "array" | "objectSet" | "interfaceObject" | "attachment" | "vector">>;
102
+ } ? AttachmentRid : X extends {
103
+ type: "scenarioReference";
104
+ } ? {
105
+ scenarioRid: string;
106
+ } : ActionParam.PrimitiveType<Exclude<X["type"], "object" | "array" | "objectSet" | "interfaceObject" | "attachment" | "vector" | "scenarioReference">>;
103
107
  type TH_ActionParameterType<X extends ActionParameterType> = X extends {
104
108
  type: "array";
105
109
  } ? TH_ActionParameterType_Primitive<Extract<X, {
@@ -113,6 +117,10 @@ type TH_ActionParameterType<X extends ActionParameterType> = X extends {
113
117
  } ? {
114
118
  objectTypeApiName: string;
115
119
  primaryKeyValue: string;
120
+ } : X extends {
121
+ type: "scenarioReference";
122
+ } ? {
123
+ scenarioRid: string;
116
124
  } : TH_ActionParameterType_Primitive<X>;
117
125
  type TH_Parameters<X extends Record<ParameterId, ActionParameterV2>> = {
118
126
  [K in keyof X & string as X[K]["required"] extends true ? K : never]: TH_ActionParameterType<X[K]["dataType"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"TH_ApplyActionRequestV2.js","names":[],"sources":["TH_ApplyActionRequestV2.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ActionParam } from \"@osdk/api\";\nimport type {\n ActionParameterType,\n ActionParameterV2,\n ActionTypeV2,\n ApplyActionRequestV2,\n AttachmentRid,\n ParameterId,\n} from \"@osdk/foundry.ontologies\";\n\ntype TH_ActionParameterType_Primitive<X extends ActionParameterType> = X extends\n { type: \"attachment\" } ? AttachmentRid\n : ActionParam.PrimitiveType<\n Exclude<\n X[\"type\"],\n | \"object\"\n | \"array\"\n | \"objectSet\"\n | \"interfaceObject\"\n | \"attachment\"\n | \"vector\"\n >\n >;\n\ntype TH_ActionParameterType<X extends ActionParameterType> = X extends\n { type: \"array\" }\n ? TH_ActionParameterType_Primitive<Extract<X, { type: \"array\" }>[\"subType\"]>[]\n : X extends { type: \"object\" } ? string | number | boolean\n : X extends { type: \"objectSet\" } ? string\n : X extends { type: \"interfaceObject\" }\n ? { objectTypeApiName: string; primaryKeyValue: string }\n : TH_ActionParameterType_Primitive<X>;\n\ntype TH_Parameters<X extends Record<ParameterId, ActionParameterV2>> =\n & {\n [K in keyof X & string as X[K][\"required\"] extends true ? K : never]:\n TH_ActionParameterType<X[K][\"dataType\"]>;\n }\n & {\n [K in keyof X & string as X[K][\"required\"] extends true ? never : K]?:\n TH_ActionParameterType<X[K][\"dataType\"]>;\n };\n\nexport type TH_ApplyActionRequestV2<X extends ActionTypeV2> =\n & Omit<ApplyActionRequestV2, \"parameters\">\n & { parameters: TH_Parameters<X[\"parameters\"]> };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"TH_ApplyActionRequestV2.js","names":[],"sources":["TH_ApplyActionRequestV2.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ActionParam } from \"@osdk/api\";\nimport type {\n ActionParameterType,\n ActionParameterV2,\n ActionTypeV2,\n ApplyActionRequestV2,\n AttachmentRid,\n ParameterId,\n} from \"@osdk/foundry.ontologies\";\n\ntype TH_ActionParameterType_Primitive<X extends ActionParameterType> = X extends\n { type: \"attachment\" } ? AttachmentRid\n : X extends { type: \"scenarioReference\" } ? { scenarioRid: string }\n : ActionParam.PrimitiveType<\n Exclude<\n X[\"type\"],\n | \"object\"\n | \"array\"\n | \"objectSet\"\n | \"interfaceObject\"\n | \"attachment\"\n | \"vector\"\n | \"scenarioReference\"\n >\n >;\n\ntype TH_ActionParameterType<X extends ActionParameterType> = X extends\n { type: \"array\" }\n ? TH_ActionParameterType_Primitive<Extract<X, { type: \"array\" }>[\"subType\"]>[]\n : X extends { type: \"object\" } ? string | number | boolean\n : X extends { type: \"objectSet\" } ? string\n : X extends { type: \"interfaceObject\" }\n ? { objectTypeApiName: string; primaryKeyValue: string }\n : X extends { type: \"scenarioReference\" } ? { scenarioRid: string }\n : TH_ActionParameterType_Primitive<X>;\n\ntype TH_Parameters<X extends Record<ParameterId, ActionParameterV2>> =\n & {\n [K in keyof X & string as X[K][\"required\"] extends true ? K : never]:\n TH_ActionParameterType<X[K][\"dataType\"]>;\n }\n & {\n [K in keyof X & string as X[K][\"required\"] extends true ? never : K]?:\n TH_ActionParameterType<X[K][\"dataType\"]>;\n };\n\nexport type TH_ApplyActionRequestV2<X extends ActionTypeV2> =\n & Omit<ApplyActionRequestV2, \"parameters\">\n & { parameters: TH_Parameters<X[\"parameters\"]> };\n"],"mappings":"","ignoreList":[]}
@@ -211,6 +211,16 @@ function validateActionParameterType(dataType, paramDef, value, ret, paramKey, d
211
211
  }
212
212
  return;
213
213
  }
214
+ case "scenarioReference":
215
+ {
216
+ if (!value || typeof value !== "object" || typeof value.scenarioRid !== "string") {
217
+ ret.result = "INVALID";
218
+ ret.parameters[paramKey] = {
219
+ ...baseParam
220
+ };
221
+ }
222
+ return;
223
+ }
214
224
  default:
215
225
  {
216
226
  throw new Error(`validateDataType: unknown type`);
@@ -1 +1 @@
1
- {"version":3,"file":"validateAction.js","names":["NUMERIC_LITERAL_BOUNDS","byte","minimum","maximum","double","Number","MAX_VALUE","float","integer","long","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","short","validateAction","payload","def","dataStore","ret","parameters","submissionCriteria","result","k","v","Object","entries","value","validateActionParameterType","dataType","paramDef","paramKey","required","evaluatedConstraints","baseParam","type","Array","isArray","item","subType","matchesOntologyDataType","isInterfaceActionParam","getObject","objectTypeApiName","primaryKeyValue","isMediaReference","name","fieldType","fields","fieldValue","ontology","getObjectTypeFullMetadata","Error","odt","every","itemType","isInBounds","isValidCipherText","isValidDateString","isValidDecimalString","isInteger","startsWith","isValidTimestampString","o","mimeType","reference","mediaSetViewItem","mediaSetRid","mediaSetViewRid","mediaItemRid","isPoint","obj","coordinates","length","bounds","test","date","Date","isNaN","getTime","toISOString","parts","split","isValidCipherAffix","channelRid","encryptedValue","affix","prefixOnly","totalParts","parseFloat"],"sources":["validateAction.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type {\n ActionParameterType,\n ActionParameterV2,\n ActionTypeV2,\n ApplyActionRequestV2,\n BatchApplyActionRequestItem,\n OntologyDataType,\n ParameterEvaluationResult,\n ValidateActionResponseV2,\n} from \"@osdk/foundry.ontologies\";\nimport type { FauxDataStore } from \"./FauxDataStore.js\";\n\ninterface Bounds {\n minimum: number;\n maximum: number;\n}\n\nconst NUMERIC_LITERAL_BOUNDS: Record<\n Extract<\n OntologyDataType[\"type\"],\n \"double\" | \"integer\" | \"long\" | \"float\" | \"byte\" | \"short\"\n >,\n Bounds\n> = {\n byte: {\n // Java min/max byte bounds\n minimum: -128,\n maximum: 127,\n },\n double: {\n // These numbers are smaller than the actual min/max of a java double,\n // but going higher will require using BigInt in our input fields.\n minimum: -Number.MAX_VALUE,\n maximum: Number.MAX_VALUE,\n },\n float: {\n // Java min/max float bounds\n minimum: -3.4028235e38,\n maximum: 3.4028235e38,\n },\n integer: {\n // Java min/max integer bounds\n minimum: -2147483648,\n maximum: 2147483647,\n },\n long: {\n // These numbers are smaller than the actual min/max of a java long,\n // but going higher will require using BigInt in our input fields.\n minimum: Number.MIN_SAFE_INTEGER,\n maximum: Number.MAX_SAFE_INTEGER,\n },\n short: {\n // Java min/max short bounds\n minimum: -32768,\n maximum: 32767,\n },\n} as const;\n\nexport function validateAction(\n payload: ApplyActionRequestV2 | BatchApplyActionRequestItem,\n def: ActionTypeV2,\n dataStore: FauxDataStore,\n): ValidateActionResponseV2 {\n const ret: ValidateActionResponseV2 = {\n parameters: {},\n submissionCriteria: [],\n result: \"VALID\",\n };\n for (const [k, v] of Object.entries(def.parameters)) {\n const value = payload.parameters[k];\n validateActionParameterType(v.dataType, v, value, ret, k, dataStore);\n }\n\n return ret;\n}\n\n// So far these all basically return the same thing\n// and can likely be rewritten as a function that return boolean\nfunction validateActionParameterType(\n dataType: ActionParameterType,\n paramDef: ActionParameterV2,\n value: unknown,\n ret: ValidateActionResponseV2,\n paramKey: string,\n dataStore: FauxDataStore,\n) {\n if (paramDef.required && value == null) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n result: \"INVALID\",\n evaluatedConstraints: [],\n required: true,\n };\n return;\n }\n if (!paramDef.required && value == null) {\n return;\n }\n\n const baseParam: ParameterEvaluationResult = {\n result: \"INVALID\",\n evaluatedConstraints: [],\n required: paramDef.required,\n };\n\n switch (dataType.type) {\n case \"array\": {\n if (!Array.isArray(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n for (const item of value) {\n validateActionParameterType(\n dataType.subType,\n paramDef,\n item,\n ret,\n paramKey,\n dataStore,\n );\n }\n return;\n }\n\n case \"attachment\": {\n if (typeof value !== \"string\") {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n }\n\n case \"boolean\":\n case \"date\":\n case \"long\":\n case \"double\":\n case \"integer\":\n case \"marking\":\n case \"objectSet\":\n case \"timestamp\":\n case \"object\":\n case \"string\":\n if (!matchesOntologyDataType(dataType, value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n case \"geohash\":\n if (!(typeof value === \"string\")) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n\n case \"geoshape\":\n if (\n !(typeof value === \"object\"\n && (\"coordinates\" in value! || \"geometries\" in value!\n || \"features\" in value!))\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n case \"interfaceObject\": {\n if (!isInterfaceActionParam(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n } else if (\n dataStore.getObject(\n value.objectTypeApiName,\n value.primaryKeyValue,\n ) == null\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n evaluatedConstraints: [{\n type: \"objectPropertyValue\",\n }],\n };\n }\n return;\n }\n\n case \"mediaReference\": {\n if (!isMediaReference(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n }\n\n case \"vector\": {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n\n case \"struct\": {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n\n for (const { name, fieldType, required } of dataType.fields) {\n const fieldValue = (value as Record<string, unknown>)[name];\n if (\n (required && fieldValue == null)\n || !matchesOntologyDataType(fieldType, fieldValue)\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n\n return;\n }\n }\n\n return;\n }\n\n case \"objectType\": {\n if (\n typeof value !== \"string\"\n || !dataStore.ontology.getObjectTypeFullMetadata(value)\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n\n return;\n }\n\n default: {\n const _assertNever: never = dataType;\n throw new Error(\n `validateDataType: unknown type`,\n );\n }\n }\n}\n\nexport function matchesOntologyDataType(\n odt: OntologyDataType,\n value: unknown,\n): boolean {\n switch (odt.type) {\n case \"any\":\n return true;\n case \"array\":\n return Array.isArray(value)\n && value.every((v) => matchesOntologyDataType(odt.itemType, v));\n case \"binary\":\n throw new Error(`validateDataType: ${odt.type} not implemented yet.`);\n case \"boolean\":\n return typeof value === \"boolean\";\n case \"byte\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.byte);\n case \"cipherText\":\n return isValidCipherText(value);\n case \"date\":\n return isValidDateString(value);\n case \"decimal\":\n return isValidDecimalString(value);\n case \"double\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.double);\n case \"float\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.float);\n case \"integer\":\n return (typeof value === \"number\" && Number.isInteger(value)\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.integer));\n case \"long\":\n return (typeof value === \"number\" && Number.isInteger(value)\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.long));\n case \"map\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n case \"marking\":\n return typeof value === \"string\";\n case \"object\":\n return typeof value === \"string\"\n || (value != null && typeof value === \"object\"\n && \"$primaryKey\" in value);\n case \"objectSet\":\n return typeof value === \"string\" && value.startsWith(\"ri.\")\n || (value != null && typeof value === \"object\"\n && \"objectSet\" in value);\n case \"set\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n case \"short\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.short);\n case \"string\":\n return (typeof value === \"string\");\n case \"struct\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n case \"timestamp\":\n return isValidTimestampString(value);\n case \"unsupported\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n default:\n const _assertNever = odt;\n throw new Error(\n `matchesOntologyDataType: ${(odt as any).type} not implemented yet.`,\n );\n }\n}\n\nexport function isMediaReference(o: any): o is MediaReference {\n return typeof o === `object`\n && typeof o.mimeType === \"string\"\n && \"reference\" in o\n && typeof o.reference === \"object\"\n && o.reference.type === \"mediaSetViewItem\"\n && \"mediaSetViewItem\" in o.reference\n && typeof o.reference.mediaSetViewItem === \"object\"\n && typeof o.reference.mediaSetViewItem.mediaSetRid === \"string\"\n && typeof o.reference.mediaSetViewItem.mediaSetViewRid === \"string\"\n && typeof o.reference.mediaSetViewItem.mediaItemRid === \"string\";\n}\n\nexport function isInterfaceActionParam(value: any): value is {\n objectTypeApiName: string;\n primaryKeyValue: string | number | boolean;\n} {\n return (\n typeof value === \"object\"\n && \"objectTypeApiName\" in value\n && typeof value.objectTypeApiName === \"string\"\n && \"primaryKeyValue\" in value\n && (typeof value.primaryKeyValue === \"string\"\n || typeof value.primaryKeyValue === \"number\"\n || typeof value.primaryKeyValue === \"boolean\")\n );\n}\n\nfunction isPoint(obj: any): obj is GeoJSON.Point {\n return obj.type === \"Point\"\n && Array.isArray(obj.coordinates)\n && obj.coordinates.length === 2\n && typeof obj.coordinates[0] === \"number\"\n && typeof obj.coordinates[1] === \"number\";\n}\n\nfunction isInBounds(\n value: number,\n bounds: { minimum: number; maximum: number },\n) {\n return bounds.minimum <= value && value <= bounds.maximum;\n}\n\nfunction isValidDateString(value: unknown): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!dateRegex.test(value)) {\n return false;\n }\n const date = new Date(value);\n return !isNaN(date.getTime()) && date.toISOString().startsWith(value);\n}\n\nfunction isValidTimestampString(value: unknown): boolean {\n return typeof value === \"string\" && !isNaN(new Date(value).getTime());\n}\n\nfunction isValidCipherText(value: unknown): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n\n const parts = value.split(\"::\");\n\n if (\n !(isValidCipherAffix(parts, \"CIPHER\")\n || isValidCipherAffix(parts, \"BELLASO\")\n || isValidCipherAffix(parts, \"BELLASO\", true))\n ) {\n return false;\n }\n\n const channelRid = parts[1];\n const encryptedValue = parts[2];\n\n return channelRid.startsWith(\"ri.\") && encryptedValue !== \"\";\n}\n\nfunction isValidCipherAffix(\n parts: string[],\n affix: \"BELLASO\" | \"CIPHER\",\n prefixOnly: boolean = false,\n): boolean {\n const totalParts = prefixOnly ? 3 : 4;\n\n return parts.length === totalParts && parts[0] === affix\n && (prefixOnly || parts[3] === affix);\n}\n\nfunction isValidDecimalString(value: unknown): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n\n const decimalRegex = /^[+-]?(\\d+\\.?\\d*|\\.\\d+)(E[+-]?\\d+)?$/;\n return decimalRegex.test(value) && !isNaN(parseFloat(value));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAoBA,MAAMA,sBAML,GAAG;EACFC,IAAI,EAAE;IACJ;IACAC,OAAO,EAAE,CAAC,GAAG;IACbC,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAE;IACN;IACA;IACAF,OAAO,EAAE,CAACG,MAAM,CAACC,SAAS;IAC1BH,OAAO,EAAEE,MAAM,CAACC;EAClB,CAAC;EACDC,KAAK,EAAE;IACL;IACAL,OAAO,EAAE,CAAC,YAAY;IACtBC,OAAO,EAAE;EACX,CAAC;EACDK,OAAO,EAAE;IACP;IACAN,OAAO,EAAE,CAAC,UAAU;IACpBC,OAAO,EAAE;EACX,CAAC;EACDM,IAAI,EAAE;IACJ;IACA;IACAP,OAAO,EAAEG,MAAM,CAACK,gBAAgB;IAChCP,OAAO,EAAEE,MAAM,CAACM;EAClB,CAAC;EACDC,KAAK,EAAE;IACL;IACAV,OAAO,EAAE,CAAC,KAAK;IACfC,OAAO,EAAE;EACX;AACF,CAAU;AAEV,OAAO,SAASU,cAAcA,CAC5BC,OAA2D,EAC3DC,GAAiB,EACjBC,SAAwB,EACE;EAC1B,MAAMC,GAA6B,GAAG;IACpCC,UAAU,EAAE,CAAC,CAAC;IACdC,kBAAkB,EAAE,EAAE;IACtBC,MAAM,EAAE;EACV,CAAC;EACD,KAAK,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACT,GAAG,CAACG,UAAU,CAAC,EAAE;IACnD,MAAMO,KAAK,GAAGX,OAAO,CAACI,UAAU,CAACG,CAAC,CAAC;IACnCK,2BAA2B,CAACJ,CAAC,CAACK,QAAQ,EAAEL,CAAC,EAAEG,KAAK,EAAER,GAAG,EAAEI,CAAC,EAAEL,SAAS,CAAC;EACtE;EAEA,OAAOC,GAAG;AACZ;;AAEA;AACA;AACA,SAASS,2BAA2BA,CAClCC,QAA6B,EAC7BC,QAA2B,EAC3BH,KAAc,EACdR,GAA6B,EAC7BY,QAAgB,EAChBb,SAAwB,EACxB;EACA,IAAIY,QAAQ,CAACE,QAAQ,IAAIL,KAAK,IAAI,IAAI,EAAE;IACtCR,GAAG,CAACG,MAAM,GAAG,SAAS;IACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;MACzBT,MAAM,EAAE,SAAS;MACjBW,oBAAoB,EAAE,EAAE;MACxBD,QAAQ,EAAE;IACZ,CAAC;IACD;EACF;EACA,IAAI,CAACF,QAAQ,CAACE,QAAQ,IAAIL,KAAK,IAAI,IAAI,EAAE;IACvC;EACF;EAEA,MAAMO,SAAoC,GAAG;IAC3CZ,MAAM,EAAE,SAAS;IACjBW,oBAAoB,EAAE,EAAE;IACxBD,QAAQ,EAAEF,QAAQ,CAACE;EACrB,CAAC;EAED,QAAQH,QAAQ,CAACM,IAAI;IACnB,KAAK,OAAO;MAAE;QACZ,IAAI,CAACC,KAAK,CAACC,OAAO,CAACV,KAAK,CAAC,EAAE;UACzBR,GAAG,CAACG,MAAM,GAAG,SAAS;UACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;YACzB,GAAGG;UACL,CAAC;UACD;QACF;QACA,KAAK,MAAMI,IAAI,IAAIX,KAAK,EAAE;UACxBC,2BAA2B,CACzBC,QAAQ,CAACU,OAAO,EAChBT,QAAQ,EACRQ,IAAI,EACJnB,GAAG,EACHY,QAAQ,EACRb,SACF,CAAC;QACH;QACA;MACF;IAEA,KAAK,YAAY;MAAE;QACjB,IAAI,OAAOS,KAAK,KAAK,QAAQ,EAAE;UAC7BR,GAAG,CAACG,MAAM,GAAG,SAAS;UACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;YACzB,GAAGG;UACL,CAAC;QACH;QACA;MACF;IAEA,KAAK,SAAS;IACd,KAAK,MAAM;IACX,KAAK,MAAM;IACX,KAAK,QAAQ;IACb,KAAK,SAAS;IACd,KAAK,SAAS;IACd,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,KAAK,QAAQ;IACb,KAAK,QAAQ;MACX,IAAI,CAACM,uBAAuB,CAACX,QAAQ,EAAEF,KAAK,CAAC,EAAE;QAC7CR,GAAG,CAACG,MAAM,GAAG,SAAS;QACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;UACzB,GAAGG;QACL,CAAC;MACH;MACA;IACF,KAAK,SAAS;MACZ,IAAI,EAAE,OAAOP,KAAK,KAAK,QAAQ,CAAC,EAAE;QAChCR,GAAG,CAACG,MAAM,GAAG,SAAS;QACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;UACzB,GAAGG;QACL,CAAC;MACH;MACA;IAEF,KAAK,UAAU;MACb,IACE,EAAE,OAAOP,KAAK,KAAK,QAAQ,KACrB,aAAa,IAAIA,KAAM,IAAI,YAAY,IAAIA,KAAM,IAChD,UAAU,IAAIA,KAAM,CAAC,CAAC,EAC7B;QACAR,GAAG,CAACG,MAAM,GAAG,SAAS;QACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;UACzB,GAAGG;QACL,CAAC;MACH;MACA;IACF,KAAK,iBAAiB;MAAE;QACtB,IAAI,CAACO,sBAAsB,CAACd,KAAK,CAAC,EAAE;UAClCR,GAAG,CAACG,MAAM,GAAG,SAAS;UACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;YACzB,GAAGG;UACL,CAAC;QACH,CAAC,MAAM,IACLhB,SAAS,CAACwB,SAAS,CACjBf,KAAK,CAACgB,iBAAiB,EACvBhB,KAAK,CAACiB,eACR,CAAC,IAAI,IAAI,EACT;UACAzB,GAAG,CAACG,MAAM,GAAG,SAAS;UACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;YACzB,GAAGG,SAAS;YACZD,oBAAoB,EAAE,CAAC;cACrBE,IAAI,EAAE;YACR,CAAC;UACH,CAAC;QACH;QACA;MACF;IAEA,KAAK,gBAAgB;MAAE;QACrB,IAAI,CAACU,gBAAgB,CAAClB,KAAK,CAAC,EAAE;UAC5BR,GAAG,CAACG,MAAM,GAAG,SAAS;UACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;YACzB,GAAGG;UACL,CAAC;QACH;QACA;MACF;IAEA,KAAK,QAAQ;MAAE;QACbf,GAAG,CAACG,MAAM,GAAG,SAAS;QACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;UACzB,GAAGG;QACL,CAAC;QACD;MACF;IAEA,KAAK,QAAQ;MAAE;QACb,IAAI,CAACP,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIS,KAAK,CAACC,OAAO,CAACV,KAAK,CAAC,EAAE;UAC/DR,GAAG,CAACG,MAAM,GAAG,SAAS;UACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;YACzB,GAAGG;UACL,CAAC;UACD;QACF;QAEA,KAAK,MAAM;UAAEY,IAAI;UAAEC,SAAS;UAAEf;QAAS,CAAC,IAAIH,QAAQ,CAACmB,MAAM,EAAE;UAC3D,MAAMC,UAAU,GAAItB,KAAK,CAA6BmB,IAAI,CAAC;UAC3D,IACGd,QAAQ,IAAIiB,UAAU,IAAI,IAAI,IAC5B,CAACT,uBAAuB,CAACO,SAAS,EAAEE,UAAU,CAAC,EAClD;YACA9B,GAAG,CAACG,MAAM,GAAG,SAAS;YACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;cACzB,GAAGG;YACL,CAAC;YAED;UACF;QACF;QAEA;MACF;IAEA,KAAK,YAAY;MAAE;QACjB,IACE,OAAOP,KAAK,KAAK,QAAQ,IACtB,CAACT,SAAS,CAACgC,QAAQ,CAACC,yBAAyB,CAACxB,KAAK,CAAC,EACvD;UACAR,GAAG,CAACG,MAAM,GAAG,SAAS;UACtBH,GAAG,CAACC,UAAU,CAACW,QAAQ,CAAC,GAAG;YACzB,GAAGG;UACL,CAAC;UACD;QACF;QAEA;MACF;IAEA;MAAS;QAEP,MAAM,IAAIkB,KAAK,CACb,gCACF,CAAC;MACH;EACF;AACF;AAEA,OAAO,SAASZ,uBAAuBA,CACrCa,GAAqB,EACrB1B,KAAc,EACL;EACT,QAAQ0B,GAAG,CAAClB,IAAI;IACd,KAAK,KAAK;MACR,OAAO,IAAI;IACb,KAAK,OAAO;MACV,OAAOC,KAAK,CAACC,OAAO,CAACV,KAAK,CAAC,IACtBA,KAAK,CAAC2B,KAAK,CAAE9B,CAAC,IAAKgB,uBAAuB,CAACa,GAAG,CAACE,QAAQ,EAAE/B,CAAC,CAAC,CAAC;IACnE,KAAK,QAAQ;MACX,MAAM,IAAI4B,KAAK,CAAC,qBAAqBC,GAAG,CAAClB,IAAI,uBAAuB,CAAC;IACvE,KAAK,SAAS;MACZ,OAAO,OAAOR,KAAK,KAAK,SAAS;IACnC,KAAK,MAAM;MACT,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAC3B6B,UAAU,CAAC7B,KAAK,EAAEzB,sBAAsB,CAACC,IAAI,CAAC;IACrD,KAAK,YAAY;MACf,OAAOsD,iBAAiB,CAAC9B,KAAK,CAAC;IACjC,KAAK,MAAM;MACT,OAAO+B,iBAAiB,CAAC/B,KAAK,CAAC;IACjC,KAAK,SAAS;MACZ,OAAOgC,oBAAoB,CAAChC,KAAK,CAAC;IACpC,KAAK,QAAQ;MACX,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAC3B6B,UAAU,CAAC7B,KAAK,EAAEzB,sBAAsB,CAACI,MAAM,CAAC;IACvD,KAAK,OAAO;MACV,OAAO,OAAOqB,KAAK,KAAK,QAAQ,IAC3B6B,UAAU,CAAC7B,KAAK,EAAEzB,sBAAsB,CAACO,KAAK,CAAC;IACtD,KAAK,SAAS;MACZ,OAAQ,OAAOkB,KAAK,KAAK,QAAQ,IAAIpB,MAAM,CAACqD,SAAS,CAACjC,KAAK,CAAC,IACvD6B,UAAU,CAAC7B,KAAK,EAAEzB,sBAAsB,CAACQ,OAAO,CAAC;IACxD,KAAK,MAAM;MACT,OAAQ,OAAOiB,KAAK,KAAK,QAAQ,IAAIpB,MAAM,CAACqD,SAAS,CAACjC,KAAK,CAAC,IACvD6B,UAAU,CAAC7B,KAAK,EAAEzB,sBAAsB,CAACS,IAAI,CAAC;IACrD,KAAK,KAAK;MACR,MAAM,IAAIyC,KAAK,CACb,4BAA4BC,GAAG,CAAClB,IAAI,uBACtC,CAAC;IACH,KAAK,SAAS;MACZ,OAAO,OAAOR,KAAK,KAAK,QAAQ;IAClC,KAAK,QAAQ;MACX,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAC1BA,KAAK,IAAI,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,IACzC,aAAa,IAAIA,KAAM;IAChC,KAAK,WAAW;MACd,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACkC,UAAU,CAAC,KAAK,CAAC,IACrDlC,KAAK,IAAI,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,IACzC,WAAW,IAAIA,KAAM;IAC9B,KAAK,KAAK;MACR,MAAM,IAAIyB,KAAK,CACb,4BAA4BC,GAAG,CAAClB,IAAI,uBACtC,CAAC;IACH,KAAK,OAAO;MACV,OAAO,OAAOR,KAAK,KAAK,QAAQ,IAC3B6B,UAAU,CAAC7B,KAAK,EAAEzB,sBAAsB,CAACY,KAAK,CAAC;IACtD,KAAK,QAAQ;MACX,OAAQ,OAAOa,KAAK,KAAK,QAAQ;IACnC,KAAK,QAAQ;MACX,MAAM,IAAIyB,KAAK,CACb,4BAA4BC,GAAG,CAAClB,IAAI,uBACtC,CAAC;IACH,KAAK,WAAW;MACd,OAAO2B,sBAAsB,CAACnC,KAAK,CAAC;IACtC,KAAK,aAAa;MAChB,MAAM,IAAIyB,KAAK,CACb,4BAA4BC,GAAG,CAAClB,IAAI,uBACtC,CAAC;IACH;MAEE,MAAM,IAAIiB,KAAK,CACb,4BAA6BC,GAAG,CAASlB,IAAI,uBAC/C,CAAC;EACL;AACF;AAEA,OAAO,SAASU,gBAAgBA,CAACkB,CAAM,EAAuB;EAC5D,OAAO,OAAOA,CAAC,KAAK,QAAQ,IACvB,OAAOA,CAAC,CAACC,QAAQ,KAAK,QAAQ,IAC9B,WAAW,IAAID,CAAC,IAChB,OAAOA,CAAC,CAACE,SAAS,KAAK,QAAQ,IAC/BF,CAAC,CAACE,SAAS,CAAC9B,IAAI,KAAK,kBAAkB,IACvC,kBAAkB,IAAI4B,CAAC,CAACE,SAAS,IACjC,OAAOF,CAAC,CAACE,SAAS,CAACC,gBAAgB,KAAK,QAAQ,IAChD,OAAOH,CAAC,CAACE,SAAS,CAACC,gBAAgB,CAACC,WAAW,KAAK,QAAQ,IAC5D,OAAOJ,CAAC,CAACE,SAAS,CAACC,gBAAgB,CAACE,eAAe,KAAK,QAAQ,IAChE,OAAOL,CAAC,CAACE,SAAS,CAACC,gBAAgB,CAACG,YAAY,KAAK,QAAQ;AACpE;AAEA,OAAO,SAAS5B,sBAAsBA,CAACd,KAAU,EAG/C;EACA,OACE,OAAOA,KAAK,KAAK,QAAQ,IACtB,mBAAmB,IAAIA,KAAK,IAC5B,OAAOA,KAAK,CAACgB,iBAAiB,KAAK,QAAQ,IAC3C,iBAAiB,IAAIhB,KAAK,KACzB,OAAOA,KAAK,CAACiB,eAAe,KAAK,QAAQ,IACxC,OAAOjB,KAAK,CAACiB,eAAe,KAAK,QAAQ,IACzC,OAAOjB,KAAK,CAACiB,eAAe,KAAK,SAAS,CAAC;AAEpD;AAEA,SAAS0B,OAAOA,CAACC,GAAQ,EAAwB;EAC/C,OAAOA,GAAG,CAACpC,IAAI,KAAK,OAAO,IACtBC,KAAK,CAACC,OAAO,CAACkC,GAAG,CAACC,WAAW,CAAC,IAC9BD,GAAG,CAACC,WAAW,CAACC,MAAM,KAAK,CAAC,IAC5B,OAAOF,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,IACtC,OAAOD,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ;AAC7C;AAEA,SAAShB,UAAUA,CACjB7B,KAAa,EACb+C,MAA4C,EAC5C;EACA,OAAOA,MAAM,CAACtE,OAAO,IAAIuB,KAAK,IAAIA,KAAK,IAAI+C,MAAM,CAACrE,OAAO;AAC3D;AAEA,SAASqD,iBAAiBA,CAAC/B,KAAc,EAAW;EAClD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,KAAK;EACd;EAGA,IAAI,CADc,qBAAqB,CACxBgD,IAAI,CAAChD,KAAK,CAAC,EAAE;IAC1B,OAAO,KAAK;EACd;EACA,MAAMiD,IAAI,GAAG,IAAIC,IAAI,CAAClD,KAAK,CAAC;EAC5B,OAAO,CAACmD,KAAK,CAACF,IAAI,CAACG,OAAO,CAAC,CAAC,CAAC,IAAIH,IAAI,CAACI,WAAW,CAAC,CAAC,CAACnB,UAAU,CAAClC,KAAK,CAAC;AACvE;AAEA,SAASmC,sBAAsBA,CAACnC,KAAc,EAAW;EACvD,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAACmD,KAAK,CAAC,IAAID,IAAI,CAAClD,KAAK,CAAC,CAACoD,OAAO,CAAC,CAAC,CAAC;AACvE;AAEA,SAAStB,iBAAiBA,CAAC9B,KAAc,EAAW;EAClD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,MAAMsD,KAAK,GAAGtD,KAAK,CAACuD,KAAK,CAAC,IAAI,CAAC;EAE/B,IACE,EAAEC,kBAAkB,CAACF,KAAK,EAAE,QAAQ,CAAC,IAChCE,kBAAkB,CAACF,KAAK,EAAE,SAAS,CAAC,IACpCE,kBAAkB,CAACF,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,EAChD;IACA,OAAO,KAAK;EACd;EAEA,MAAMG,UAAU,GAAGH,KAAK,CAAC,CAAC,CAAC;EAC3B,MAAMI,cAAc,GAAGJ,KAAK,CAAC,CAAC,CAAC;EAE/B,OAAOG,UAAU,CAACvB,UAAU,CAAC,KAAK,CAAC,IAAIwB,cAAc,KAAK,EAAE;AAC9D;AAEA,SAASF,kBAAkBA,CACzBF,KAAe,EACfK,KAA2B,EAC3BC,UAAmB,GAAG,KAAK,EAClB;EACT,MAAMC,UAAU,GAAGD,UAAU,GAAG,CAAC,GAAG,CAAC;EAErC,OAAON,KAAK,CAACR,MAAM,KAAKe,UAAU,IAAIP,KAAK,CAAC,CAAC,CAAC,KAAKK,KAAK,KAClDC,UAAU,IAAIN,KAAK,CAAC,CAAC,CAAC,KAAKK,KAAK,CAAC;AACzC;AAEA,SAAS3B,oBAAoBA,CAAChC,KAAc,EAAW;EACrD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,KAAK;EACd;EAGA,OADqB,sCAAsC,CACvCgD,IAAI,CAAChD,KAAK,CAAC,IAAI,CAACmD,KAAK,CAACW,UAAU,CAAC9D,KAAK,CAAC,CAAC;AAC9D","ignoreList":[]}
1
+ {"version":3,"file":"validateAction.js","names":["NUMERIC_LITERAL_BOUNDS","byte","minimum","maximum","double","Number","MAX_VALUE","float","integer","long","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","short","validateAction","payload","def","dataStore","ret","parameters","submissionCriteria","result","k","v","Object","entries","value","validateActionParameterType","dataType","paramDef","paramKey","required","evaluatedConstraints","baseParam","type","Array","isArray","item","subType","matchesOntologyDataType","isInterfaceActionParam","getObject","objectTypeApiName","primaryKeyValue","isMediaReference","name","fieldType","fields","fieldValue","ontology","getObjectTypeFullMetadata","scenarioRid","Error","odt","every","itemType","isInBounds","isValidCipherText","isValidDateString","isValidDecimalString","isInteger","startsWith","isValidTimestampString","o","mimeType","reference","mediaSetViewItem","mediaSetRid","mediaSetViewRid","mediaItemRid","isPoint","obj","coordinates","length","bounds","test","date","Date","isNaN","getTime","toISOString","parts","split","isValidCipherAffix","channelRid","encryptedValue","affix","prefixOnly","totalParts","parseFloat"],"sources":["validateAction.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { MediaReference } from \"@osdk/foundry.core\";\nimport type {\n ActionParameterType,\n ActionParameterV2,\n ActionTypeV2,\n ApplyActionRequestV2,\n BatchApplyActionRequestItem,\n OntologyDataType,\n ParameterEvaluationResult,\n ValidateActionResponseV2,\n} from \"@osdk/foundry.ontologies\";\nimport type { FauxDataStore } from \"./FauxDataStore.js\";\n\ninterface Bounds {\n minimum: number;\n maximum: number;\n}\n\nconst NUMERIC_LITERAL_BOUNDS: Record<\n Extract<\n OntologyDataType[\"type\"],\n \"double\" | \"integer\" | \"long\" | \"float\" | \"byte\" | \"short\"\n >,\n Bounds\n> = {\n byte: {\n // Java min/max byte bounds\n minimum: -128,\n maximum: 127,\n },\n double: {\n // These numbers are smaller than the actual min/max of a java double,\n // but going higher will require using BigInt in our input fields.\n minimum: -Number.MAX_VALUE,\n maximum: Number.MAX_VALUE,\n },\n float: {\n // Java min/max float bounds\n minimum: -3.4028235e38,\n maximum: 3.4028235e38,\n },\n integer: {\n // Java min/max integer bounds\n minimum: -2147483648,\n maximum: 2147483647,\n },\n long: {\n // These numbers are smaller than the actual min/max of a java long,\n // but going higher will require using BigInt in our input fields.\n minimum: Number.MIN_SAFE_INTEGER,\n maximum: Number.MAX_SAFE_INTEGER,\n },\n short: {\n // Java min/max short bounds\n minimum: -32768,\n maximum: 32767,\n },\n} as const;\n\nexport function validateAction(\n payload: ApplyActionRequestV2 | BatchApplyActionRequestItem,\n def: ActionTypeV2,\n dataStore: FauxDataStore,\n): ValidateActionResponseV2 {\n const ret: ValidateActionResponseV2 = {\n parameters: {},\n submissionCriteria: [],\n result: \"VALID\",\n };\n for (const [k, v] of Object.entries(def.parameters)) {\n const value = payload.parameters[k];\n validateActionParameterType(v.dataType, v, value, ret, k, dataStore);\n }\n\n return ret;\n}\n\n// So far these all basically return the same thing\n// and can likely be rewritten as a function that return boolean\nfunction validateActionParameterType(\n dataType: ActionParameterType,\n paramDef: ActionParameterV2,\n value: unknown,\n ret: ValidateActionResponseV2,\n paramKey: string,\n dataStore: FauxDataStore,\n) {\n if (paramDef.required && value == null) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n result: \"INVALID\",\n evaluatedConstraints: [],\n required: true,\n };\n return;\n }\n if (!paramDef.required && value == null) {\n return;\n }\n\n const baseParam: ParameterEvaluationResult = {\n result: \"INVALID\",\n evaluatedConstraints: [],\n required: paramDef.required,\n };\n\n switch (dataType.type) {\n case \"array\": {\n if (!Array.isArray(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n for (const item of value) {\n validateActionParameterType(\n dataType.subType,\n paramDef,\n item,\n ret,\n paramKey,\n dataStore,\n );\n }\n return;\n }\n\n case \"attachment\": {\n if (typeof value !== \"string\") {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n }\n\n case \"boolean\":\n case \"date\":\n case \"long\":\n case \"double\":\n case \"integer\":\n case \"marking\":\n case \"objectSet\":\n case \"timestamp\":\n case \"object\":\n case \"string\":\n if (!matchesOntologyDataType(dataType, value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n case \"geohash\":\n if (!(typeof value === \"string\")) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n\n case \"geoshape\":\n if (\n !(typeof value === \"object\"\n && (\"coordinates\" in value! || \"geometries\" in value!\n || \"features\" in value!))\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n case \"interfaceObject\": {\n if (!isInterfaceActionParam(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n } else if (\n dataStore.getObject(\n value.objectTypeApiName,\n value.primaryKeyValue,\n ) == null\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n evaluatedConstraints: [{\n type: \"objectPropertyValue\",\n }],\n };\n }\n return;\n }\n\n case \"mediaReference\": {\n if (!isMediaReference(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n }\n\n case \"vector\": {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n\n case \"struct\": {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n\n for (const { name, fieldType, required } of dataType.fields) {\n const fieldValue = (value as Record<string, unknown>)[name];\n if (\n (required && fieldValue == null)\n || !matchesOntologyDataType(fieldType, fieldValue)\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n\n return;\n }\n }\n\n return;\n }\n\n case \"objectType\": {\n if (\n typeof value !== \"string\"\n || !dataStore.ontology.getObjectTypeFullMetadata(value)\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n return;\n }\n\n return;\n }\n\n case \"scenarioReference\": {\n if (\n !value\n || typeof value !== \"object\"\n || typeof (value as { scenarioRid?: unknown }).scenarioRid !== \"string\"\n ) {\n ret.result = \"INVALID\";\n ret.parameters[paramKey] = {\n ...baseParam,\n };\n }\n return;\n }\n\n default: {\n const _assertNever: never = dataType;\n throw new Error(\n `validateDataType: unknown type`,\n );\n }\n }\n}\n\nexport function matchesOntologyDataType(\n odt: OntologyDataType,\n value: unknown,\n): boolean {\n switch (odt.type) {\n case \"any\":\n return true;\n case \"array\":\n return Array.isArray(value)\n && value.every((v) => matchesOntologyDataType(odt.itemType, v));\n case \"binary\":\n throw new Error(`validateDataType: ${odt.type} not implemented yet.`);\n case \"boolean\":\n return typeof value === \"boolean\";\n case \"byte\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.byte);\n case \"cipherText\":\n return isValidCipherText(value);\n case \"date\":\n return isValidDateString(value);\n case \"decimal\":\n return isValidDecimalString(value);\n case \"double\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.double);\n case \"float\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.float);\n case \"integer\":\n return (typeof value === \"number\" && Number.isInteger(value)\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.integer));\n case \"long\":\n return (typeof value === \"number\" && Number.isInteger(value)\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.long));\n case \"map\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n case \"marking\":\n return typeof value === \"string\";\n case \"object\":\n return typeof value === \"string\"\n || (value != null && typeof value === \"object\"\n && \"$primaryKey\" in value);\n case \"objectSet\":\n return typeof value === \"string\" && value.startsWith(\"ri.\")\n || (value != null && typeof value === \"object\"\n && \"objectSet\" in value);\n case \"set\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n case \"short\":\n return typeof value === \"number\"\n && isInBounds(value, NUMERIC_LITERAL_BOUNDS.short);\n case \"string\":\n return (typeof value === \"string\");\n case \"struct\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n case \"timestamp\":\n return isValidTimestampString(value);\n case \"unsupported\":\n throw new Error(\n `matchesOntologyDataType: ${odt.type} not implemented yet.`,\n );\n default:\n const _assertNever = odt;\n throw new Error(\n `matchesOntologyDataType: ${(odt as any).type} not implemented yet.`,\n );\n }\n}\n\nexport function isMediaReference(o: any): o is MediaReference {\n return typeof o === `object`\n && typeof o.mimeType === \"string\"\n && \"reference\" in o\n && typeof o.reference === \"object\"\n && o.reference.type === \"mediaSetViewItem\"\n && \"mediaSetViewItem\" in o.reference\n && typeof o.reference.mediaSetViewItem === \"object\"\n && typeof o.reference.mediaSetViewItem.mediaSetRid === \"string\"\n && typeof o.reference.mediaSetViewItem.mediaSetViewRid === \"string\"\n && typeof o.reference.mediaSetViewItem.mediaItemRid === \"string\";\n}\n\nexport function isInterfaceActionParam(value: any): value is {\n objectTypeApiName: string;\n primaryKeyValue: string | number | boolean;\n} {\n return (\n typeof value === \"object\"\n && \"objectTypeApiName\" in value\n && typeof value.objectTypeApiName === \"string\"\n && \"primaryKeyValue\" in value\n && (typeof value.primaryKeyValue === \"string\"\n || typeof value.primaryKeyValue === \"number\"\n || typeof value.primaryKeyValue === \"boolean\")\n );\n}\n\nfunction isPoint(obj: any): obj is GeoJSON.Point {\n return obj.type === \"Point\"\n && Array.isArray(obj.coordinates)\n && obj.coordinates.length === 2\n && typeof obj.coordinates[0] === \"number\"\n && typeof obj.coordinates[1] === \"number\";\n}\n\nfunction isInBounds(\n value: number,\n bounds: { minimum: number; maximum: number },\n) {\n return bounds.minimum <= value && value <= bounds.maximum;\n}\n\nfunction isValidDateString(value: unknown): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\n if (!dateRegex.test(value)) {\n return false;\n }\n const date = new Date(value);\n return !isNaN(date.getTime()) && date.toISOString().startsWith(value);\n}\n\nfunction isValidTimestampString(value: unknown): boolean {\n return typeof value === \"string\" && !isNaN(new Date(value).getTime());\n}\n\nfunction isValidCipherText(value: unknown): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n\n const parts = value.split(\"::\");\n\n if (\n !(isValidCipherAffix(parts, \"CIPHER\")\n || isValidCipherAffix(parts, \"BELLASO\")\n || isValidCipherAffix(parts, \"BELLASO\", true))\n ) {\n return false;\n }\n\n const channelRid = parts[1];\n const encryptedValue = parts[2];\n\n return channelRid.startsWith(\"ri.\") && encryptedValue !== \"\";\n}\n\nfunction isValidCipherAffix(\n parts: string[],\n affix: \"BELLASO\" | \"CIPHER\",\n prefixOnly: boolean = false,\n): boolean {\n const totalParts = prefixOnly ? 3 : 4;\n\n return parts.length === totalParts && parts[0] === affix\n && (prefixOnly || parts[3] === affix);\n}\n\nfunction isValidDecimalString(value: unknown): boolean {\n if (typeof value !== \"string\") {\n return false;\n }\n\n const decimalRegex = /^[+-]?(\\d+\\.?\\d*|\\.\\d+)(E[+-]?\\d+)?$/;\n return decimalRegex.test(value) && !isNaN(parseFloat(value));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,11 @@ import type { ActionParam } from "@osdk/api";
2
2
  import type { ActionParameterType, ActionParameterV2, ActionTypeV2, ApplyActionRequestV2, AttachmentRid, ParameterId } from "@osdk/foundry.ontologies";
3
3
  type TH_ActionParameterType_Primitive<X extends ActionParameterType> = X extends {
4
4
  type: "attachment"
5
- } ? AttachmentRid : ActionParam.PrimitiveType<Exclude<X["type"], "object" | "array" | "objectSet" | "interfaceObject" | "attachment" | "vector">>;
5
+ } ? AttachmentRid : X extends {
6
+ type: "scenarioReference"
7
+ } ? {
8
+ scenarioRid: string
9
+ } : ActionParam.PrimitiveType<Exclude<X["type"], "object" | "array" | "objectSet" | "interfaceObject" | "attachment" | "vector" | "scenarioReference">>;
6
10
  type TH_ActionParameterType<X extends ActionParameterType> = X extends {
7
11
  type: "array"
8
12
  } ? TH_ActionParameterType_Primitive<Extract<X, {
@@ -16,6 +20,10 @@ type TH_ActionParameterType<X extends ActionParameterType> = X extends {
16
20
  } ? {
17
21
  objectTypeApiName: string
18
22
  primaryKeyValue: string
23
+ } : X extends {
24
+ type: "scenarioReference"
25
+ } ? {
26
+ scenarioRid: string
19
27
  } : TH_ActionParameterType_Primitive<X>;
20
28
  type TH_Parameters<X extends Record<ParameterId, ActionParameterV2>> = { [K in keyof X & string as X[K]["required"] extends true ? K : never] : TH_ActionParameterType<X[K]["dataType"]> } & { [K in keyof X & string as X[K]["required"] extends true ? never : K]? : TH_ActionParameterType<X[K]["dataType"]> };
21
29
  export type TH_ApplyActionRequestV2<X extends ActionTypeV2> = Omit<ApplyActionRequestV2, "parameters"> & {
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,mBAAmB,WAAY;AAC7C,cACE,qBACA,mBACA,cACA,sBACA,eACA,mBACK,0BAA2B;KAE7B,iCAAiC,UAAU,uBAAuB,UACrE;CAAE,MAAM;AAAc,IAAG,gBACvB,YAAY,cACZ,QACE,EAAE,SACA,WACA,UACA,cACA,oBACA,eACA;KAIH,uBAAuB,UAAU,uBAAuB,UAC3D;CAAE,MAAM;AAAS,IACf,iCAAiC,QAAQ,GAAG;CAAE,MAAM;AAAS,GAAE,gBAC/D,UAAU;CAAE,MAAM;AAAU,gCAC5B,UAAU;CAAE,MAAM;AAAa,aAC/B,UAAU;CAAE,MAAM;AAAmB,IACnC;CAAE;CAA2B;AAAyB,IACxD,iCAAiC;KAEhC,cAAc,UAAU,OAAO,aAAa,yBAE5C,WAAW,cAAc,EAAE,GAAG,oBAAoB,OAAO,aACxD,uBAAuB,EAAE,GAAG,oBAG7B,WAAW,cAAc,EAAE,GAAG,oBAAoB,eAAe,MAChE,uBAAuB,EAAE,GAAG;AAGlC,YAAY,wBAAwB,UAAU,gBAC1C,KAAK,sBAAsB,gBAC3B;CAAE,YAAY,cAAc,EAAE;AAAgB","names":[],"sources":["../../../../src/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.ts"],"version":3,"file":"TH_ApplyActionRequestV2.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,mBAAmB,WAAY;AAC7C,cACE,qBACA,mBACA,cACA,sBACA,eACA,mBACK,0BAA2B;KAE7B,iCAAiC,UAAU,uBAAuB,UACrE;CAAE,MAAM;AAAc,IAAG,gBACvB,UAAU;CAAE,MAAM;AAAqB,IAAG;CAAE;AAAqB,IACjE,YAAY,cACZ,QACE,EAAE,SACA,WACA,UACA,cACA,oBACA,eACA,WACA;KAIH,uBAAuB,UAAU,uBAAuB,UAC3D;CAAE,MAAM;AAAS,IACf,iCAAiC,QAAQ,GAAG;CAAE,MAAM;AAAS,GAAE,gBAC/D,UAAU;CAAE,MAAM;AAAU,gCAC5B,UAAU;CAAE,MAAM;AAAa,aAC/B,UAAU;CAAE,MAAM;AAAmB,IACnC;CAAE;CAA2B;AAAyB,IACxD,UAAU;CAAE,MAAM;AAAqB,IAAG;CAAE;AAAqB,IACjE,iCAAiC;KAEhC,cAAc,UAAU,OAAO,aAAa,yBAE5C,WAAW,cAAc,EAAE,GAAG,oBAAoB,OAAO,aACxD,uBAAuB,EAAE,GAAG,oBAG7B,WAAW,cAAc,EAAE,GAAG,oBAAoB,eAAe,MAChE,uBAAuB,EAAE,GAAG;AAGlC,YAAY,wBAAwB,UAAU,gBAC1C,KAAK,sBAAsB,gBAC3B;CAAE,YAAY,cAAc,EAAE;AAAgB","names":[],"sources":["../../../../src/FauxFoundry/typeHelpers/TH_ApplyActionRequestV2.ts"],"version":3,"file":"TH_ApplyActionRequestV2.d.ts"}
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,sBAAsB,oBAAqB;AACzD,cAGE,cACA,sBACA,6BACA,kBAEA,gCACK,0BAA2B;AAClC,cAAc,qBAAqB,oBAAqB;AAgDxD,OAAO,iBAAS,eACdA,SAAS,uBAAuB,6BAChCC,KAAK,cACLC,WAAW,gBACV;AA6MH,OAAO,iBAAS,wBACdC,KAAK,kBACLC;AA0EF,OAAO,iBAAS,iBAAiBC,SAAS,KAAK;AAa/C,OAAO,iBAAS,uBAAuBC,aAAa,SAAS;CAC3D;CACA;AACD","names":["payload: ApplyActionRequestV2 | BatchApplyActionRequestItem","def: ActionTypeV2","dataStore: FauxDataStore","odt: OntologyDataType","value: unknown","o: any","value: any"],"sources":["../../../src/FauxFoundry/validateAction.ts"],"version":3,"file":"validateAction.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,sBAAsB,oBAAqB;AACzD,cAGE,cACA,sBACA,6BACA,kBAEA,gCACK,0BAA2B;AAClC,cAAc,qBAAqB,oBAAqB;AAgDxD,OAAO,iBAAS,eACdA,SAAS,uBAAuB,6BAChCC,KAAK,cACLC,WAAW,gBACV;AA2NH,OAAO,iBAAS,wBACdC,KAAK,kBACLC;AA0EF,OAAO,iBAAS,iBAAiBC,SAAS,KAAK;AAa/C,OAAO,iBAAS,uBAAuBC,aAAa,SAAS;CAC3D;CACA;AACD","names":["payload: ApplyActionRequestV2 | BatchApplyActionRequestItem","def: ActionTypeV2","dataStore: FauxDataStore","odt: OntologyDataType","value: unknown","o: any","value: any"],"sources":["../../../src/FauxFoundry/validateAction.ts"],"version":3,"file":"validateAction.d.ts"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/faux",
3
- "version": "0.19.0",
3
+ "version": "0.19.1-beta.0",
4
4
  "description": "",
5
5
  "access": "private",
6
6
  "license": "Apache-2.0",
@@ -29,12 +29,12 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@osdk/foundry.admin": "2.57.0",
33
- "@osdk/foundry.core": "2.57.0",
34
- "@osdk/foundry.geo": "2.57.0",
35
- "@osdk/foundry.mediasets": "2.57.0",
36
- "@osdk/foundry.ontologies": "2.57.0",
37
- "@osdk/internal.foundry.ontologies": "2.57.0",
32
+ "@osdk/foundry.admin": "2.61.0",
33
+ "@osdk/foundry.core": "2.61.0",
34
+ "@osdk/foundry.geo": "2.61.0",
35
+ "@osdk/foundry.mediasets": "2.61.0",
36
+ "@osdk/foundry.ontologies": "2.61.0",
37
+ "@osdk/internal.foundry.ontologies": "2.61.0",
38
38
  "date-fns": "^4.1.0",
39
39
  "decimal.js": "^10.6.0",
40
40
  "fast-deep-equal": "^3.1.3",
@@ -44,8 +44,8 @@
44
44
  "semver": "^7.7.2",
45
45
  "tiny-invariant": "^1.3.3",
46
46
  "type-fest": "^4.41.0",
47
- "@osdk/api": "~2.23.0",
48
- "@osdk/generator-converters": "~2.23.0"
47
+ "@osdk/generator-converters": "~2.23.1-beta.2",
48
+ "@osdk/api": "~2.23.1-beta.2"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/json-stable-stringify": "^1.2.0",
@@ -53,8 +53,8 @@
53
53
  "@types/semver": "^7.7.1",
54
54
  "ts-expect": "^1.3.0",
55
55
  "typescript": "~5.5.4",
56
- "@osdk/monorepo.tsconfig": "~0.7.0",
57
- "@osdk/monorepo.api-extractor": "~0.7.0"
56
+ "@osdk/monorepo.api-extractor": "~0.7.0",
57
+ "@osdk/monorepo.tsconfig": "~0.7.0"
58
58
  },
59
59
  "publishConfig": {
60
60
  "access": "public"