@osdk/maker 0.14.0-beta.12 → 0.14.0-beta.14

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/build/browser/api/code-snippets/createCodeSnippets.js +7 -4
  3. package/build/browser/api/code-snippets/createCodeSnippets.js.map +1 -1
  4. package/build/browser/api/code-snippets/snippetTypes.js +1 -0
  5. package/build/browser/api/code-snippets/snippetTypes.js.map +1 -1
  6. package/build/browser/api/defineAction.js +6 -0
  7. package/build/browser/api/defineAction.js.map +1 -1
  8. package/build/browser/api/defineCreateInterfaceObjectAction.js +8 -7
  9. package/build/browser/api/defineCreateInterfaceObjectAction.js.map +1 -1
  10. package/build/browser/api/defineModifyInterfaceObjectAction.js +8 -7
  11. package/build/browser/api/defineModifyInterfaceObjectAction.js.map +1 -1
  12. package/build/browser/api/test/actions.test.js +1243 -1
  13. package/build/browser/api/test/actions.test.js.map +1 -1
  14. package/build/browser/cli/main.js +1 -1
  15. package/build/cjs/index.cjs +28 -16
  16. package/build/cjs/index.cjs.map +1 -1
  17. package/build/cjs/index.d.cts +2 -0
  18. package/build/esm/api/code-snippets/createCodeSnippets.js +7 -4
  19. package/build/esm/api/code-snippets/createCodeSnippets.js.map +1 -1
  20. package/build/esm/api/code-snippets/snippetTypes.js +1 -0
  21. package/build/esm/api/code-snippets/snippetTypes.js.map +1 -1
  22. package/build/esm/api/defineAction.js +6 -0
  23. package/build/esm/api/defineAction.js.map +1 -1
  24. package/build/esm/api/defineCreateInterfaceObjectAction.js +8 -7
  25. package/build/esm/api/defineCreateInterfaceObjectAction.js.map +1 -1
  26. package/build/esm/api/defineModifyInterfaceObjectAction.js +8 -7
  27. package/build/esm/api/defineModifyInterfaceObjectAction.js.map +1 -1
  28. package/build/esm/api/test/actions.test.js +1243 -1
  29. package/build/esm/api/test/actions.test.js.map +1 -1
  30. package/build/esm/cli/main.js +1 -1
  31. package/build/types/api/code-snippets/createCodeSnippets.d.ts.map +1 -1
  32. package/build/types/api/code-snippets/snippetTypes.d.ts +1 -0
  33. package/build/types/api/code-snippets/snippetTypes.d.ts.map +1 -1
  34. package/build/types/api/defineAction.d.ts +3 -0
  35. package/build/types/api/defineAction.d.ts.map +1 -1
  36. package/build/types/api/defineCreateInterfaceObjectAction.d.ts.map +1 -1
  37. package/build/types/api/defineModifyInterfaceObjectAction.d.ts.map +1 -1
  38. package/package.json +3 -3
@@ -15,14 +15,15 @@
15
15
  */
16
16
 
17
17
  import { convertMappingValue } from "../conversion/toMarketplace/convertMappingValue.js";
18
- import { addNamespaceToActionDefinition, convertValidationRule, createDefaultParameterOrdering, createParameters, defineAction, getInterfaceParameterName, isPropertyParameter, kebab, MODIFY_INTERFACE_OBJECT_PARAMETER, validateActionParameters, validateParameterOrdering } from "./defineAction.js";
18
+ import { addNamespaceToActionDefinition, convertValidationRule, createDefaultParameterOrdering, createParameters, defineAction, getInterfaceParameterName, getNonNamespacedParameterName, isPropertyParameter, kebab, MODIFY_INTERFACE_OBJECT_PARAMETER, validateActionParameters, validateParameterOrdering } from "./defineAction.js";
19
19
  import { getFlattenedInterfaceProperties } from "./interface/getFlattenedInterfaceProperties.js";
20
20
  export function defineModifyInterfaceObjectAction(def) {
21
21
  addNamespaceToActionDefinition(def);
22
22
  const allProperties = getFlattenedInterfaceProperties(def.interfaceType);
23
23
  validateActionParameters(def, Object.keys(allProperties), def.interfaceType.apiName);
24
- const propertyParameters = Object.keys(allProperties).filter(apiName => isPropertyParameter(def, apiName, allProperties[apiName].sharedPropertyType.type));
25
- const parameterNames = new Set(propertyParameters);
24
+ const sptNames = Object.keys(allProperties).filter(apiName => isPropertyParameter(def, apiName, allProperties[apiName].sharedPropertyType.type));
25
+ const parameterNames = new Set(sptNames.map(apiName => getInterfaceParameterName(def, apiName)));
26
+ const propertyMap = Object.fromEntries(Object.entries(allProperties).map(([id, prop]) => [getInterfaceParameterName(def, id), prop.sharedPropertyType]));
26
27
  Object.keys(def.parameterConfiguration ?? {}).forEach(param => parameterNames.add(getInterfaceParameterName(def, param)));
27
28
  parameterNames.add(MODIFY_INTERFACE_OBJECT_PARAMETER);
28
29
  const actionApiName = def.apiName ?? `modify-${kebab(def.interfaceType.apiName.split(".").pop() ?? def.interfaceType.apiName)}${def.objectType === undefined ? "" : `-${kebab(def.objectType.apiName.split(".").pop() ?? def.objectType.apiName)}`}`;
@@ -32,7 +33,7 @@ export function defineModifyInterfaceObjectAction(def) {
32
33
  }
33
34
  validateParameterOrdering(def.parameterOrdering, parameterNames, actionApiName);
34
35
  }
35
- const parameters = createParameters(def, Object.fromEntries(Object.entries(allProperties).map(([id, prop]) => [id, prop.sharedPropertyType])), parameterNames, Object.fromEntries(Object.entries(allProperties).map(([id, prop]) => [id, prop.required])));
36
+ const parameters = createParameters(def, propertyMap, parameterNames, Object.fromEntries(Object.entries(allProperties).map(([id, prop]) => [id, prop.required])));
36
37
  const mappings = Object.fromEntries(Object.entries(def.nonParameterMappings ?? {}).map(([id, value]) => [id, convertMappingValue(value)]));
37
38
  return defineAction({
38
39
  apiName: actionApiName,
@@ -50,15 +51,15 @@ export function defineModifyInterfaceObjectAction(def) {
50
51
  modifyInterfaceRule: {
51
52
  interfaceObjectToModifyParameter: "interfaceObjectToModifyParameter",
52
53
  sharedPropertyValues: {
53
- ...Object.fromEntries(propertyParameters.map(id => [id, {
54
+ ...Object.fromEntries(sptNames.map(id => [id, {
54
55
  type: "parameterId",
55
- parameterId: id
56
+ parameterId: def.useNonNamespacedParameters ? getNonNamespacedParameterName(def, id) : id
56
57
  }])),
57
58
  ...mappings
58
59
  }
59
60
  }
60
61
  }],
61
- parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, Object.keys(allProperties), parameters, MODIFY_INTERFACE_OBJECT_PARAMETER),
62
+ parameterOrdering: def.parameterOrdering ?? createDefaultParameterOrdering(def, Array.from(parameterNames), parameters, MODIFY_INTERFACE_OBJECT_PARAMETER),
62
63
  ...(def.actionLevelValidation ? {
63
64
  validation: convertValidationRule(def.actionLevelValidation, parameters)
64
65
  } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"defineModifyInterfaceObjectAction.js","names":["convertMappingValue","addNamespaceToActionDefinition","convertValidationRule","createDefaultParameterOrdering","createParameters","defineAction","getInterfaceParameterName","isPropertyParameter","kebab","MODIFY_INTERFACE_OBJECT_PARAMETER","validateActionParameters","validateParameterOrdering","getFlattenedInterfaceProperties","defineModifyInterfaceObjectAction","def","allProperties","interfaceType","Object","keys","apiName","propertyParameters","filter","sharedPropertyType","type","parameterNames","Set","parameterConfiguration","forEach","param","add","actionApiName","split","pop","objectType","undefined","parameterOrdering","includes","unshift","parameters","fromEntries","entries","map","id","prop","required","mappings","nonParameterMappings","value","displayName","displayMetadata","status","entities","affectedInterfaceTypes","affectedObjectTypes","affectedLinkTypes","typeGroups","rules","modifyInterfaceRule","interfaceObjectToModifyParameter","sharedPropertyValues","parameterId","actionLevelValidation","validation","defaultFormat","enableLayoutSwitch","tableConfiguration","displayAndFormat","table","sections","section","submissionMetadata"],"sources":["defineModifyInterfaceObjectAction.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 { convertMappingValue } from \"../conversion/toMarketplace/convertMappingValue.js\";\nimport { type ActionType } from \"./action/ActionType.js\";\nimport type { InterfaceActionTypeUserDefinition } from \"./defineAction.js\";\nimport {\n addNamespaceToActionDefinition,\n convertValidationRule,\n createDefaultParameterOrdering,\n createParameters,\n defineAction,\n getInterfaceParameterName,\n isPropertyParameter,\n kebab,\n MODIFY_INTERFACE_OBJECT_PARAMETER,\n validateActionParameters,\n validateParameterOrdering,\n} from \"./defineAction.js\";\nimport { getFlattenedInterfaceProperties } from \"./interface/getFlattenedInterfaceProperties.js\";\n\nexport function defineModifyInterfaceObjectAction(\n def: InterfaceActionTypeUserDefinition,\n): ActionType {\n addNamespaceToActionDefinition(def);\n const allProperties = getFlattenedInterfaceProperties(def.interfaceType);\n validateActionParameters(\n def,\n Object.keys(allProperties),\n def.interfaceType.apiName,\n );\n const propertyParameters = Object.keys(allProperties).filter(apiName =>\n isPropertyParameter(\n def,\n apiName,\n allProperties[apiName].sharedPropertyType.type,\n )\n );\n const parameterNames = new Set(propertyParameters);\n Object.keys(def.parameterConfiguration ?? {}).forEach(param =>\n parameterNames.add(\n getInterfaceParameterName(def, param),\n )\n );\n parameterNames.add(MODIFY_INTERFACE_OBJECT_PARAMETER);\n const actionApiName = def.apiName ?? `modify-${\n kebab(\n def.interfaceType.apiName.split(\".\").pop() ?? def.interfaceType.apiName,\n )\n }${\n def.objectType === undefined\n ? \"\"\n : `-${\n kebab(\n def.objectType.apiName.split(\".\").pop() ?? def.objectType.apiName,\n )\n }`\n }`;\n if (def.parameterOrdering) {\n if (!def.parameterOrdering.includes(MODIFY_INTERFACE_OBJECT_PARAMETER)) {\n def.parameterOrdering.unshift(MODIFY_INTERFACE_OBJECT_PARAMETER);\n }\n validateParameterOrdering(\n def.parameterOrdering,\n parameterNames,\n actionApiName,\n );\n }\n const parameters = createParameters(\n def,\n Object.fromEntries(\n Object.entries(allProperties).map((\n [id, prop],\n ) => [id, prop.sharedPropertyType]),\n ),\n parameterNames,\n Object.fromEntries(\n Object.entries(allProperties).map(([id, prop]) => [id, prop.required]),\n ),\n );\n const mappings = Object.fromEntries(\n Object.entries(def.nonParameterMappings ?? {}).map((\n [id, value],\n ) => [id, convertMappingValue(value)]),\n );\n\n return defineAction({\n apiName: actionApiName,\n displayName: def.displayName\n ?? `Modify ${def.interfaceType.displayMetadata.displayName}`,\n parameters: parameters,\n status: def.status ?? (def.interfaceType.status.type !== \"deprecated\"\n ? def.interfaceType.status.type\n : def.interfaceType.status),\n entities: {\n affectedInterfaceTypes: [def.interfaceType.apiName],\n affectedObjectTypes: [],\n affectedLinkTypes: [],\n typeGroups: [],\n },\n rules: [\n {\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter: \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: {\n ...Object.fromEntries(\n propertyParameters.map(\n id => [id, { type: \"parameterId\", parameterId: id }],\n ),\n ),\n ...mappings,\n },\n },\n },\n ],\n parameterOrdering: def.parameterOrdering\n ?? createDefaultParameterOrdering(\n def,\n Object.keys(allProperties),\n parameters,\n MODIFY_INTERFACE_OBJECT_PARAMETER,\n ),\n ...(def.actionLevelValidation\n ? {\n validation: convertValidationRule(\n def.actionLevelValidation,\n parameters,\n ),\n }\n : {}),\n ...(def.defaultFormat && { defaultFormat: def.defaultFormat }),\n ...(def.enableLayoutSwitch\n && { enableLayoutSwitch: def.enableLayoutSwitch }),\n ...(def.tableConfiguration && {\n displayAndFormat: {\n table: def.tableConfiguration,\n },\n }),\n ...(def.sections\n && {\n sections: Object.fromEntries(\n def.sections.map(section => [section.id, section]),\n ),\n }),\n ...(def.submissionMetadata\n && { submissionMetadata: def.submissionMetadata }),\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"defineModifyInterfaceObjectAction.js","names":["convertMappingValue","addNamespaceToActionDefinition","convertValidationRule","createDefaultParameterOrdering","createParameters","defineAction","getInterfaceParameterName","getNonNamespacedParameterName","isPropertyParameter","kebab","MODIFY_INTERFACE_OBJECT_PARAMETER","validateActionParameters","validateParameterOrdering","getFlattenedInterfaceProperties","defineModifyInterfaceObjectAction","def","allProperties","interfaceType","Object","keys","apiName","sptNames","filter","sharedPropertyType","type","parameterNames","Set","map","propertyMap","fromEntries","entries","id","prop","parameterConfiguration","forEach","param","add","actionApiName","split","pop","objectType","undefined","parameterOrdering","includes","unshift","parameters","required","mappings","nonParameterMappings","value","displayName","displayMetadata","status","entities","affectedInterfaceTypes","affectedObjectTypes","affectedLinkTypes","typeGroups","rules","modifyInterfaceRule","interfaceObjectToModifyParameter","sharedPropertyValues","parameterId","useNonNamespacedParameters","Array","from","actionLevelValidation","validation","defaultFormat","enableLayoutSwitch","tableConfiguration","displayAndFormat","table","sections","section","submissionMetadata"],"sources":["defineModifyInterfaceObjectAction.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 { convertMappingValue } from \"../conversion/toMarketplace/convertMappingValue.js\";\nimport { type ActionType } from \"./action/ActionType.js\";\nimport type { InterfaceActionTypeUserDefinition } from \"./defineAction.js\";\nimport {\n addNamespaceToActionDefinition,\n convertValidationRule,\n createDefaultParameterOrdering,\n createParameters,\n defineAction,\n getInterfaceParameterName,\n getNonNamespacedParameterName,\n isPropertyParameter,\n kebab,\n MODIFY_INTERFACE_OBJECT_PARAMETER,\n validateActionParameters,\n validateParameterOrdering,\n} from \"./defineAction.js\";\nimport { getFlattenedInterfaceProperties } from \"./interface/getFlattenedInterfaceProperties.js\";\n\nexport function defineModifyInterfaceObjectAction(\n def: InterfaceActionTypeUserDefinition,\n): ActionType {\n addNamespaceToActionDefinition(def);\n const allProperties = getFlattenedInterfaceProperties(def.interfaceType);\n validateActionParameters(\n def,\n Object.keys(allProperties),\n def.interfaceType.apiName,\n );\n const sptNames = Object.keys(allProperties).filter(apiName =>\n isPropertyParameter(\n def,\n apiName,\n allProperties[apiName].sharedPropertyType.type,\n )\n );\n const parameterNames = new Set(\n sptNames.map(apiName => getInterfaceParameterName(def, apiName)),\n );\n const propertyMap = Object.fromEntries(\n Object.entries(allProperties).map((\n [id, prop],\n ) => [getInterfaceParameterName(def, id), prop.sharedPropertyType]),\n );\n\n Object.keys(def.parameterConfiguration ?? {}).forEach(param =>\n parameterNames.add(\n getInterfaceParameterName(def, param),\n )\n );\n parameterNames.add(MODIFY_INTERFACE_OBJECT_PARAMETER);\n const actionApiName = def.apiName ?? `modify-${\n kebab(\n def.interfaceType.apiName.split(\".\").pop() ?? def.interfaceType.apiName,\n )\n }${\n def.objectType === undefined\n ? \"\"\n : `-${\n kebab(\n def.objectType.apiName.split(\".\").pop() ?? def.objectType.apiName,\n )\n }`\n }`;\n if (def.parameterOrdering) {\n if (!def.parameterOrdering.includes(MODIFY_INTERFACE_OBJECT_PARAMETER)) {\n def.parameterOrdering.unshift(MODIFY_INTERFACE_OBJECT_PARAMETER);\n }\n validateParameterOrdering(\n def.parameterOrdering,\n parameterNames,\n actionApiName,\n );\n }\n const parameters = createParameters(\n def,\n propertyMap,\n parameterNames,\n Object.fromEntries(\n Object.entries(allProperties).map(([id, prop]) => [id, prop.required]),\n ),\n );\n const mappings = Object.fromEntries(\n Object.entries(def.nonParameterMappings ?? {}).map((\n [id, value],\n ) => [id, convertMappingValue(value)]),\n );\n\n return defineAction({\n apiName: actionApiName,\n displayName: def.displayName\n ?? `Modify ${def.interfaceType.displayMetadata.displayName}`,\n parameters: parameters,\n status: def.status ?? (def.interfaceType.status.type !== \"deprecated\"\n ? def.interfaceType.status.type\n : def.interfaceType.status),\n entities: {\n affectedInterfaceTypes: [def.interfaceType.apiName],\n affectedObjectTypes: [],\n affectedLinkTypes: [],\n typeGroups: [],\n },\n rules: [\n {\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter: \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: {\n ...Object.fromEntries(\n sptNames.map(\n id => [id, {\n type: \"parameterId\",\n parameterId: def.useNonNamespacedParameters\n ? getNonNamespacedParameterName(def, id)\n : id,\n }],\n ),\n ),\n ...mappings,\n },\n },\n },\n ],\n parameterOrdering: def.parameterOrdering\n ?? createDefaultParameterOrdering(\n def,\n Array.from(parameterNames),\n parameters,\n MODIFY_INTERFACE_OBJECT_PARAMETER,\n ),\n ...(def.actionLevelValidation\n ? {\n validation: convertValidationRule(\n def.actionLevelValidation,\n parameters,\n ),\n }\n : {}),\n ...(def.defaultFormat && { defaultFormat: def.defaultFormat }),\n ...(def.enableLayoutSwitch\n && { enableLayoutSwitch: def.enableLayoutSwitch }),\n ...(def.tableConfiguration && {\n displayAndFormat: {\n table: def.tableConfiguration,\n },\n }),\n ...(def.sections\n && {\n sections: Object.fromEntries(\n def.sections.map(section => [section.id, section]),\n ),\n }),\n ...(def.submissionMetadata\n && { submissionMetadata: def.submissionMetadata }),\n });\n}\n"],"mappings":"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","ignoreList":[]}