@osdk/maker 0.10.0-beta.21 → 0.10.0-beta.23
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 +18 -0
- package/build/browser/api/defineAction.js +8 -6
- package/build/browser/api/defineAction.js.map +1 -1
- package/build/browser/api/defineImportSpt.js +6 -7
- package/build/browser/api/defineImportSpt.js.map +1 -1
- package/build/browser/api/defineInterface.js +29 -26
- package/build/browser/api/defineInterface.js.map +1 -1
- package/build/browser/api/defineInterfaceLinkConstraint.js +11 -13
- package/build/browser/api/defineInterfaceLinkConstraint.js.map +1 -1
- package/build/browser/api/defineLink.js +10 -5
- package/build/browser/api/defineLink.js.map +1 -1
- package/build/browser/api/defineObject.js +14 -9
- package/build/browser/api/defineObject.js.map +1 -1
- package/build/browser/api/defineOntology.js +241 -57
- package/build/browser/api/defineOntology.js.map +1 -1
- package/build/browser/api/defineSpt.js +13 -9
- package/build/browser/api/defineSpt.js.map +1 -1
- package/build/browser/api/defineValueType.js +7 -8
- package/build/browser/api/defineValueType.js.map +1 -1
- package/build/browser/api/importOntologyEntity.js +30 -0
- package/build/browser/api/importOntologyEntity.js.map +1 -0
- package/build/browser/api/objectStatus.test.js +7 -7
- package/build/browser/api/objectStatus.test.js.map +1 -1
- package/build/browser/api/overall.test.js +314 -212
- package/build/browser/api/overall.test.js.map +1 -1
- package/build/browser/api/types.js +27 -1
- package/build/browser/api/types.js.map +1 -1
- package/build/browser/cli/main.js +5 -33
- package/build/browser/cli/main.js.map +1 -1
- package/build/browser/index.js +1 -0
- package/build/browser/index.js.map +1 -1
- package/build/cjs/index.cjs +439 -208
- package/build/cjs/index.cjs.map +1 -1
- package/build/cjs/index.d.cts +64 -21
- package/build/esm/api/defineAction.js +8 -6
- package/build/esm/api/defineAction.js.map +1 -1
- package/build/esm/api/defineImportSpt.js +6 -7
- package/build/esm/api/defineImportSpt.js.map +1 -1
- package/build/esm/api/defineInterface.js +29 -26
- package/build/esm/api/defineInterface.js.map +1 -1
- package/build/esm/api/defineInterfaceLinkConstraint.js +11 -13
- package/build/esm/api/defineInterfaceLinkConstraint.js.map +1 -1
- package/build/esm/api/defineLink.js +10 -5
- package/build/esm/api/defineLink.js.map +1 -1
- package/build/esm/api/defineObject.js +14 -9
- package/build/esm/api/defineObject.js.map +1 -1
- package/build/esm/api/defineOntology.js +241 -57
- package/build/esm/api/defineOntology.js.map +1 -1
- package/build/esm/api/defineSpt.js +13 -9
- package/build/esm/api/defineSpt.js.map +1 -1
- package/build/esm/api/defineValueType.js +7 -8
- package/build/esm/api/defineValueType.js.map +1 -1
- package/build/esm/api/importOntologyEntity.js +30 -0
- package/build/esm/api/importOntologyEntity.js.map +1 -0
- package/build/esm/api/objectStatus.test.js +7 -7
- package/build/esm/api/objectStatus.test.js.map +1 -1
- package/build/esm/api/overall.test.js +314 -212
- package/build/esm/api/overall.test.js.map +1 -1
- package/build/esm/api/types.js +27 -1
- package/build/esm/api/types.js.map +1 -1
- package/build/esm/cli/main.js +5 -33
- package/build/esm/cli/main.js.map +1 -1
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/types/api/defineAction.d.ts +2 -2
- package/build/types/api/defineAction.d.ts.map +1 -1
- package/build/types/api/defineImportSpt.d.ts +1 -1
- package/build/types/api/defineImportSpt.d.ts.map +1 -1
- package/build/types/api/defineInterface.d.ts +4 -3
- package/build/types/api/defineInterface.d.ts.map +1 -1
- package/build/types/api/defineLink.d.ts +2 -2
- package/build/types/api/defineLink.d.ts.map +1 -1
- package/build/types/api/defineObject.d.ts +2 -2
- package/build/types/api/defineObject.d.ts.map +1 -1
- package/build/types/api/defineOntology.d.ts +7 -1
- package/build/types/api/defineOntology.d.ts.map +1 -1
- package/build/types/api/defineSpt.d.ts +13 -12
- package/build/types/api/defineSpt.d.ts.map +1 -1
- package/build/types/api/defineValueType.d.ts +4 -3
- package/build/types/api/defineValueType.d.ts.map +1 -1
- package/build/types/api/importOntologyEntity.d.ts +2 -0
- package/build/types/api/importOntologyEntity.d.ts.map +1 -0
- package/build/types/api/types.d.ts +54 -13
- package/build/types/api/types.d.ts.map +1 -1
- package/build/types/cli/main.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -0
- package/build/types/index.d.ts.map +1 -1
- package/package.json +5 -4
package/build/cjs/index.d.cts
CHANGED
|
@@ -4,7 +4,31 @@ declare function main(args?: string[]): Promise<void>;
|
|
|
4
4
|
|
|
5
5
|
type BlueprintIcon = "add-clip" | "add-column-left" | "add-column-right" | "add-location" | "add-row-bottom" | "add-row-top" | "add-to-artifact" | "add-to-folder" | "add" | "aimpoints-target" | "airplane" | "align-center" | "align-justify" | "align-left" | "align-right" | "alignment-bottom" | "alignment-horizontal-center" | "alignment-left" | "alignment-right" | "alignment-top" | "alignment-vertical-center" | "ammunition" | "anchor" | "annotation" | "antenna" | "app-header" | "application" | "applications" | "archive" | "area-of-interest" | "array-boolean" | "array-date" | "array-floating-point" | "array-numeric" | "array-string" | "array-timestamp" | "array" | "arrow-bottom-left" | "arrow-bottom-right" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-top-left" | "arrow-top-right" | "arrow-up" | "arrows-horizontal" | "arrows-vertical" | "asterisk" | "at" | "automatic-updates" | "axle" | "backlink" | "backward-ten" | "badge" | "ban-circle" | "bank-account" | "barcode" | "binary-number" | "blank" | "blocked-person" | "bold" | "book" | "bookmark" | "box" | "briefcase" | "bring-data" | "bring-forward" | "bug" | "buggy" | "build" | "bullseye" | "calculator" | "calendar" | "camera" | "caret-down" | "caret-left" | "caret-right" | "caret-up" | "cargo-ship" | "cell-tower" | "changes" | "chart" | "chat" | "chevron-backward" | "chevron-down" | "chevron-forward" | "chevron-left" | "chevron-right" | "chevron-up" | "circle-arrow-down" | "circle-arrow-left" | "circle-arrow-right" | "circle-arrow-up" | "circle" | "citation" | "clean" | "clip" | "clipboard-file" | "clipboard" | "cloud-download" | "cloud-server" | "cloud-tick" | "cloud-upload" | "cloud" | "code-block" | "code" | "cog" | "collapse-all" | "color-fill" | "column-layout" | "comment" | "comparison" | "compass" | "compressed" | "confirm" | "console" | "contrast" | "control" | "credit-card" | "crop" | "cross-circle" | "cross" | "crown" | "css-style" | "cube-add" | "cube-remove" | "cube" | "curly-braces" | "curved-range-chart" | "cut" | "cycle" | "dashboard" | "data-connection" | "data-lineage" | "data-search" | "data-sync" | "database" | "delete" | "delta" | "derive-column" | "desktop" | "detection" | "diagnosis" | "diagram-tree" | "direction-left" | "direction-right" | "disable" | "divide" | "document-open" | "document-share" | "document" | "dollar" | "dot" | "double-caret-horizontal" | "double-caret-vertical" | "double-chevron-down" | "double-chevron-left" | "double-chevron-right" | "double-chevron-up" | "doughnut-chart" | "download" | "drag-handle-horizontal" | "drag-handle-vertical" | "draw" | "drawer-left-filled" | "drawer-left" | "drawer-right-filled" | "drawer-right" | "drive-time" | "duplicate" | "edit" | "eject" | "emoji" | "endnote" | "endorsed" | "envelope" | "equals" | "eraser" | "error" | "euro" | "excavator" | "exchange" | "exclude-row" | "expand-all" | "explain" | "export" | "eye-off" | "eye-on" | "eye-open" | "fast-backward" | "fast-forward" | "feed-subscribed" | "feed" | "film" | "filter-keep" | "filter-list" | "filter-open" | "filter-remove" | "filter" | "flag" | "flame" | "flash" | "floating-point" | "floppy-disk" | "flow-branch" | "flow-end" | "flow-linear" | "flow-review-branch" | "flow-review" | "flows" | "folder-close" | "folder-new" | "folder-open" | "folder-shared-open" | "folder-shared" | "follower" | "following" | "font" | "fork" | "form" | "forward-ten" | "fuel" | "full-circle" | "full-stacked-chart" | "fullscreen" | "function" | "gantt-chart" | "generate" | "geofence" | "geolocation" | "geosearch" | "geotime" | "git-branch" | "git-commit" | "git-merge" | "git-new-branch" | "git-pull" | "git-push" | "git-repo" | "glass" | "globe-network" | "globe" | "graph-remove" | "graph" | "greater-than-or-equal-to" | "greater-than" | "grid-view" | "grid" | "group-item" | "group-objects" | "grouped-bar-chart" | "hand-down" | "hand-left" | "hand-right" | "hand-up" | "hand" | "hat" | "header-one" | "header-three" | "header-two" | "header" | "headset" | "heart-broken" | "heart" | "heat-grid" | "heatmap" | "helicopter" | "help" | "helper-management" | "high-priority" | "high-voltage-pole" | "highlight" | "history" | "home" | "horizontal-bar-chart-asc" | "horizontal-bar-chart-desc" | "horizontal-bar-chart" | "horizontal-distribution" | "horizontal-inbetween" | "hurricane" | "id-number" | "image-rotate-left" | "image-rotate-right" | "import" | "inbox-filtered" | "inbox-geo" | "inbox-search" | "inbox-update" | "inbox" | "info-sign" | "inheritance" | "inherited-group" | "inner-join" | "input" | "insert" | "intelligence" | "intersection" | "ip-address" | "issue-closed" | "issue-new" | "issue" | "italic" | "join-table" | "key-backspace" | "key-command" | "key-control" | "key-delete" | "key-enter" | "key-escape" | "key-option" | "key-shift" | "key-tab" | "key" | "known-vehicle" | "lab-test" | "label" | "layer-outline" | "layer" | "layers" | "layout-auto" | "layout-balloon" | "layout-bottom-row-three-tiles" | "layout-bottom-row-two-tiles" | "layout-circle" | "layout-grid" | "layout-group-by" | "layout-hierarchy" | "layout-left-column-three-tiles" | "layout-left-column-two-tiles" | "layout-linear" | "layout-right-column-three-tiles" | "layout-right-column-two-tiles" | "layout-skew-grid" | "layout-sorted-clusters" | "layout-three-columns" | "layout-three-rows" | "layout-top-row-three-tiles" | "layout-top-row-two-tiles" | "layout-two-columns" | "layout-two-rows" | "layout" | "learning" | "left-join" | "lengthen-text" | "less-than-or-equal-to" | "less-than" | "lifesaver" | "lightbulb" | "lightning" | "link" | "list-columns" | "list-detail-view" | "list" | "locate" | "lock" | "locomotive" | "log-in" | "log-out" | "low-voltage-pole" | "manual" | "manually-entered-data" | "many-to-many" | "many-to-one" | "map-create" | "map-marker" | "map" | "maximize" | "media" | "menu-closed" | "menu-open" | "menu" | "merge-columns" | "merge-links" | "microphone" | "minimize" | "minus" | "mobile-phone" | "mobile-video" | "modal-filled" | "modal" | "model" | "moon" | "more" | "mountain" | "move" | "mugshot" | "multi-select" | "music" | "nest" | "new-drawing" | "new-grid-item" | "new-layer" | "new-layers" | "new-link" | "new-object" | "new-person" | "new-prescription" | "new-shield" | "new-text-box" | "ninja" | "not-equal-to" | "notifications-snooze" | "notifications-updated" | "notifications" | "numbered-list" | "numerical" | "office" | "offline" | "oil-field" | "one-column" | "one-to-many" | "one-to-one" | "open-application" | "outdated" | "output" | "page-layout" | "panel-stats" | "panel-table" | "paperclip" | "paragraph" | "paste-variable" | "path-search" | "path" | "pause" | "people" | "percentage" | "person" | "phone-call" | "phone-forward" | "phone" | "pie-chart" | "pin" | "pivot-table" | "pivot" | "play" | "playbook" | "plus" | "polygon-filter" | "power" | "predictive-analysis" | "prescription" | "presentation" | "print" | "projects" | "properties" | "property" | "publish-function" | "pulse" | "rain" | "random" | "range-ring" | "record" | "rect-height" | "rect-width" | "rectangle" | "redo" | "refresh" | "regex" | "regression-chart" | "remove-column-left" | "remove-column-right" | "remove-column" | "remove-row-bottom" | "remove-row-top" | "remove" | "repeat" | "reset" | "resolve" | "rig" | "right-join" | "ring" | "rocket-slant" | "rocket" | "rotate-document" | "rotate-page" | "route" | "satellite" | "saved" | "scatter-plot" | "search-around" | "search-template" | "search-text" | "search" | "segmented-control" | "select" | "selection" | "send-backward" | "send-message" | "send-to-graph" | "send-to-map" | "send-to" | "sensor" | "series-add" | "series-configuration" | "series-derived" | "series-filtered" | "series-search" | "settings" | "shapes" | "share" | "shared-filter" | "shield" | "ship" | "shop" | "shopping-cart" | "shorten-text" | "signal-search" | "sim-card" | "slash" | "small-cross" | "small-info-sign" | "small-minus" | "small-plus" | "small-square" | "small-tick" | "snowflake" | "soccer-ball" | "social-media" | "sort-alphabetical-desc" | "sort-alphabetical" | "sort-asc" | "sort-desc" | "sort-numerical-desc" | "sort-numerical" | "sort" | "spell-check" | "split-columns" | "sports-stadium" | "square" | "stacked-chart" | "stadium-geometry" | "star-empty" | "star" | "step-backward" | "step-chart" | "step-forward" | "stop" | "stopwatch" | "strikethrough" | "style" | "subscript" | "superscript" | "swap-horizontal" | "swap-vertical" | "switch" | "symbol-circle" | "symbol-cross" | "symbol-diamond" | "symbol-rectangle" | "symbol-square" | "symbol-triangle-down" | "symbol-triangle-up" | "syringe" | "table-sync" | "tag" | "take-action" | "tank" | "target" | "taxi" | "team" | "temperature" | "text-highlight" | "th-derived" | "th-disconnect" | "th-filtered" | "th-list" | "th" | "third-party" | "thumbs-down" | "thumbs-up" | "tick-circle" | "tick" | "time" | "timeline-area-chart" | "timeline-bar-chart" | "timeline-events" | "timeline-line-chart" | "tint" | "torch" | "tractor" | "train" | "translate" | "trash" | "tree" | "trending-down" | "trending-up" | "trophy" | "truck" | "two-columns" | "unarchive" | "underline" | "undo" | "ungroup-objects" | "unknown-vehicle" | "unlink" | "unlock" | "unpin" | "unresolve" | "updated" | "upload" | "user" | "variable" | "vector" | "vertical-bar-chart-asc" | "vertical-bar-chart-desc" | "vertical-distribution" | "vertical-inbetween" | "video" | "virus" | "volume-down" | "volume-off" | "volume-up" | "walk" | "warning-sign" | "waterfall-chart" | "waves" | "widget-button" | "widget-footer" | "widget-header" | "widget" | "wind" | "wrench" | "zoom-in" | "zoom-out" | "zoom-to-fit";
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
interface OntologyEntityBase {
|
|
8
|
+
__type: OntologyEntityTypeEnum;
|
|
9
|
+
apiName: string;
|
|
10
|
+
}
|
|
11
|
+
declare enum OntologyEntityTypeEnum {
|
|
12
|
+
OBJECT_TYPE = "OBJECT_TYPE",
|
|
13
|
+
LINK_TYPE = "LINK_TYPE",
|
|
14
|
+
INTERFACE_TYPE = "INTERFACE_TYPE",
|
|
15
|
+
SHARED_PROPERTY_TYPE = "SHARED_PROPERTY_TYPE",
|
|
16
|
+
ACTION_TYPE = "ACTION_TYPE",
|
|
17
|
+
VALUE_TYPE = "VALUE_TYPE"
|
|
18
|
+
}
|
|
19
|
+
interface OntologyEntityTypeMapping {
|
|
20
|
+
[OntologyEntityTypeEnum.OBJECT_TYPE]: ObjectType;
|
|
21
|
+
[OntologyEntityTypeEnum.ACTION_TYPE]: ActionType;
|
|
22
|
+
[OntologyEntityTypeEnum.LINK_TYPE]: LinkType;
|
|
23
|
+
[OntologyEntityTypeEnum.INTERFACE_TYPE]: InterfaceType;
|
|
24
|
+
[OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE]: SharedPropertyType;
|
|
25
|
+
[OntologyEntityTypeEnum.VALUE_TYPE]: ValueTypeDefinitionVersion;
|
|
26
|
+
}
|
|
27
|
+
type OntologyEntityType = OntologyEntityTypeMapping[keyof OntologyEntityTypeMapping];
|
|
28
|
+
type ActionType = OntologyEntityBase & RequiredFields<Partial<ActionTypeInner>, "apiName" | "displayName" | "rules" | "status"> & {
|
|
29
|
+
__type: OntologyEntityTypeEnum.ACTION_TYPE;
|
|
30
|
+
};
|
|
31
|
+
type ActionTypeDefinition = Omit<ActionType, "__type">;
|
|
8
32
|
interface ActionParameter {
|
|
9
33
|
id: ParameterId;
|
|
10
34
|
displayName: string;
|
|
@@ -118,9 +142,11 @@ type InterfaceImplementation = {
|
|
|
118
142
|
mapsTo: string;
|
|
119
143
|
}[];
|
|
120
144
|
};
|
|
121
|
-
type ObjectType = RequiredFields<Partial<ObjectTypeInner>, "apiName" | "primaryKeyPropertyApiName" | "displayName" | "pluralDisplayName" | "titlePropertyApiName"> & {
|
|
145
|
+
type ObjectType = OntologyEntityBase & RequiredFields<Partial<ObjectTypeInner>, "apiName" | "primaryKeyPropertyApiName" | "displayName" | "pluralDisplayName" | "titlePropertyApiName"> & {
|
|
122
146
|
datasource?: ObjectTypeDatasourceDefinition;
|
|
147
|
+
__type: OntologyEntityTypeEnum.OBJECT_TYPE;
|
|
123
148
|
};
|
|
149
|
+
type ObjectTypeDefinition = Omit<ObjectType, "__type">;
|
|
124
150
|
interface ObjectPropertyTypeInner extends Omit<OntologyIrPropertyType, "sharedPropertyTypeApiName" | "type" | "inlineAction" | "sharedPropertyTypeRid" | "valueType" | "ruleSetBinding" | "displayMetadata" | "dataConstraints" | "status"> {
|
|
125
151
|
type: PropertyTypeType;
|
|
126
152
|
array?: boolean;
|
|
@@ -137,9 +163,10 @@ interface InterfacePropertyType {
|
|
|
137
163
|
sharedPropertyType: SharedPropertyType;
|
|
138
164
|
required: boolean;
|
|
139
165
|
}
|
|
140
|
-
interface InterfaceType extends Omit<OntologyIrInterfaceType, "properties" | "allProperties" | "allLinks" | "allExtendsInterfaces" | "propertiesV2" | "allPropertiesV2"> {
|
|
166
|
+
interface InterfaceType extends OntologyEntityBase, Omit<OntologyIrInterfaceType, "properties" | "allProperties" | "allLinks" | "allExtendsInterfaces" | "propertiesV2" | "allPropertiesV2"> {
|
|
141
167
|
propertiesV2: Record<string, InterfacePropertyType>;
|
|
142
168
|
status: InterfaceTypeStatus;
|
|
169
|
+
__type: OntologyEntityTypeEnum.INTERFACE_TYPE;
|
|
143
170
|
}
|
|
144
171
|
interface PropertyType {
|
|
145
172
|
type: PropertyTypeType;
|
|
@@ -159,10 +186,11 @@ type TypeClass = {
|
|
|
159
186
|
kind: string;
|
|
160
187
|
name: string;
|
|
161
188
|
};
|
|
162
|
-
interface SharedPropertyType extends PropertyType {
|
|
189
|
+
interface SharedPropertyType extends OntologyEntityBase, PropertyType {
|
|
163
190
|
apiName: string;
|
|
164
191
|
nonNameSpacedApiName: string;
|
|
165
192
|
gothamMapping?: SharedPropertyTypeGothamMapping;
|
|
193
|
+
__type: OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE;
|
|
166
194
|
}
|
|
167
195
|
type PropertyTypeType = PropertyTypeTypePrimitive | PropertyTypeTypeExotic;
|
|
168
196
|
type PropertyTypeTypePrimitive = "boolean" | "byte" | "date" | "decimal" | "double" | "float" | "integer" | "long" | "short" | "string" | "timestamp";
|
|
@@ -190,9 +218,18 @@ interface StructPropertyType extends Optional<Omit<StructFieldType, "fieldType"
|
|
|
190
218
|
}
|
|
191
219
|
type ObjectTypePropertyApiName = string;
|
|
192
220
|
type LinkTypeId = string;
|
|
193
|
-
type
|
|
221
|
+
type LinkType = (OntologyEntityBase & OneToManyLinkTypeDefinition & {
|
|
222
|
+
__type: OntologyEntityTypeEnum.LINK_TYPE;
|
|
223
|
+
}) | (OntologyEntityBase & ManyToManyLinkTypeDefinition & {
|
|
224
|
+
__type: OntologyEntityTypeEnum.LINK_TYPE;
|
|
225
|
+
});
|
|
226
|
+
type LinkTypeDefinition = Omit<OntologyEntityBase & OneToManyLinkTypeDefinition & {
|
|
227
|
+
__type: OntologyEntityTypeEnum.LINK_TYPE;
|
|
228
|
+
}, "__type"> | Omit<OntologyEntityBase & ManyToManyLinkTypeDefinition & {
|
|
229
|
+
__type: OntologyEntityTypeEnum.LINK_TYPE;
|
|
230
|
+
}, "__type">;
|
|
194
231
|
interface OneToManyLinkTypeDefinition {
|
|
195
|
-
|
|
232
|
+
apiName: LinkTypeId;
|
|
196
233
|
one: OneToManyObjectLinkReference;
|
|
197
234
|
toMany: OneToManyObjectLinkReference;
|
|
198
235
|
manyForeignKeyProperty: ObjectTypePropertyApiName;
|
|
@@ -202,11 +239,11 @@ interface OneToManyLinkTypeDefinition {
|
|
|
202
239
|
redacted?: boolean;
|
|
203
240
|
}
|
|
204
241
|
interface OneToManyObjectLinkReference {
|
|
205
|
-
object:
|
|
242
|
+
object: ObjectTypeDefinition;
|
|
206
243
|
metadata: LinkTypeMetadata;
|
|
207
244
|
}
|
|
208
245
|
interface ManyToManyLinkTypeDefinition {
|
|
209
|
-
|
|
246
|
+
apiName: LinkTypeId;
|
|
210
247
|
many: ManyToManyObjectLinkReference;
|
|
211
248
|
toMany: ManyToManyObjectLinkReference;
|
|
212
249
|
editsEnabled?: boolean;
|
|
@@ -214,7 +251,7 @@ interface ManyToManyLinkTypeDefinition {
|
|
|
214
251
|
redacted?: boolean;
|
|
215
252
|
}
|
|
216
253
|
interface ManyToManyObjectLinkReference {
|
|
217
|
-
object:
|
|
254
|
+
object: ObjectTypeDefinition;
|
|
218
255
|
metadata: LinkTypeMetadata;
|
|
219
256
|
}
|
|
220
257
|
interface ValueTypeType_array {
|
|
@@ -394,7 +431,7 @@ interface ValueTypeType_timestamp {
|
|
|
394
431
|
value: "timestamp";
|
|
395
432
|
}
|
|
396
433
|
type ValueTypeType = ValueTypeType_array | ValueTypeType_boolean | ValueTypeType_binary | ValueTypeType_byte | ValueTypeType_date | ValueTypeType_decimal | ValueTypeType_double | ValueTypeType_float | ValueTypeType_integer | ValueTypeType_long | ValueTypeType_map | ValueTypeType_optional | ValueTypeType_short | ValueTypeType_string | ValueTypeType_structV2 | ValueTypeType_timestamp;
|
|
397
|
-
type ValueTypeDefinitionVersion = {
|
|
434
|
+
type ValueTypeDefinitionVersion = OntologyEntityBase & {
|
|
398
435
|
apiName: ValueTypeApiName;
|
|
399
436
|
displayMetadata: ValueTypeDisplayMetadata;
|
|
400
437
|
status: ValueTypeStatus;
|
|
@@ -402,6 +439,7 @@ type ValueTypeDefinitionVersion = {
|
|
|
402
439
|
baseType: BaseType;
|
|
403
440
|
constraints: ValueTypeDataConstraint[];
|
|
404
441
|
exampleValues: ExampleValue[];
|
|
442
|
+
__type: OntologyEntityTypeEnum.VALUE_TYPE;
|
|
405
443
|
};
|
|
406
444
|
interface ObjectTypeDatasourceDefinition_dataset {
|
|
407
445
|
type: "dataset";
|
|
@@ -420,7 +458,7 @@ declare function defineCreateObjectAction(objectType: ObjectType): ActionType;
|
|
|
420
458
|
declare function defineModifyInterfaceObjectAction(interfaceType: InterfaceType, objectType?: ObjectType): ActionType;
|
|
421
459
|
declare function defineModifyObjectAction(objectType: ObjectType): ActionType;
|
|
422
460
|
declare function defineDeleteObjectAction(objectType: ObjectType): ActionType;
|
|
423
|
-
declare function defineAction(actionDef:
|
|
461
|
+
declare function defineAction(actionDef: ActionTypeDefinition): ActionType;
|
|
424
462
|
|
|
425
463
|
/**
|
|
426
464
|
* Defines a foreign shared property type you want to take as an input to your product. The typeHint field is used for OSDK generation
|
|
@@ -445,7 +483,7 @@ type PropertyWithOptional = {
|
|
|
445
483
|
required: boolean;
|
|
446
484
|
propertyDefinition: PropertyBase;
|
|
447
485
|
};
|
|
448
|
-
|
|
486
|
+
type InterfaceTypeDefinition = {
|
|
449
487
|
apiName: string;
|
|
450
488
|
displayName?: string;
|
|
451
489
|
description?: string;
|
|
@@ -456,7 +494,8 @@ declare function defineInterface(opts: {
|
|
|
456
494
|
status?: SimplifiedInterfaceTypeStatus;
|
|
457
495
|
properties?: Record<string, PropertyBase | PropertyWithOptional>;
|
|
458
496
|
extends?: InterfaceType | InterfaceType[] | string | string[];
|
|
459
|
-
}
|
|
497
|
+
};
|
|
498
|
+
declare function defineInterface(interfaceDef: InterfaceTypeDefinition): InterfaceType;
|
|
460
499
|
|
|
461
500
|
type ApiNameOrInterfaceType = string | InterfaceType;
|
|
462
501
|
type Many = {
|
|
@@ -479,17 +518,17 @@ type One = {
|
|
|
479
518
|
};
|
|
480
519
|
declare function defineInterfaceLinkConstraint(linkDef: One | Many): void;
|
|
481
520
|
|
|
482
|
-
declare function defineLink(linkDefinition: LinkTypeDefinition):
|
|
521
|
+
declare function defineLink(linkDefinition: LinkTypeDefinition): LinkType;
|
|
483
522
|
|
|
484
|
-
declare function defineObject(objectDef:
|
|
523
|
+
declare function defineObject(objectDef: ObjectTypeDefinition): ObjectType;
|
|
485
524
|
|
|
486
525
|
type OntologyAndValueTypeIrs = {
|
|
487
526
|
ontology: OntologyIr;
|
|
488
527
|
valueType: OntologyIrValueTypeBlockData;
|
|
489
528
|
};
|
|
490
|
-
declare function defineOntology(ns: string, body: () => void | Promise<void
|
|
529
|
+
declare function defineOntology(ns: string, body: () => void | Promise<void>, outputDir: string): Promise<OntologyAndValueTypeIrs>;
|
|
491
530
|
|
|
492
|
-
|
|
531
|
+
interface SharedPropertyTypeDefinition {
|
|
493
532
|
apiName: string;
|
|
494
533
|
type: PropertyTypeType;
|
|
495
534
|
array?: boolean;
|
|
@@ -499,7 +538,8 @@ declare function defineSharedPropertyType(opts: {
|
|
|
499
538
|
visibility?: Visibility;
|
|
500
539
|
typeClasses?: SharedPropertyType["typeClasses"];
|
|
501
540
|
gothamMapping?: SharedPropertyTypeGothamMapping;
|
|
502
|
-
}
|
|
541
|
+
}
|
|
542
|
+
declare function defineSharedPropertyType(sptDef: SharedPropertyTypeDefinition): SharedPropertyType;
|
|
503
543
|
|
|
504
544
|
type NewValueTypeDefinitionBacking = {
|
|
505
545
|
[Type in ValueTypeType as Type["type"]]: {
|
|
@@ -508,12 +548,15 @@ type NewValueTypeDefinitionBacking = {
|
|
|
508
548
|
};
|
|
509
549
|
};
|
|
510
550
|
type NewValueTypeDefinition = NewValueTypeDefinitionBacking[keyof NewValueTypeDefinitionBacking];
|
|
511
|
-
|
|
551
|
+
type ValueTypeDefinition = {
|
|
512
552
|
apiName: string;
|
|
513
553
|
displayName: string;
|
|
514
554
|
description?: string;
|
|
515
555
|
type: NewValueTypeDefinition;
|
|
516
556
|
version: string;
|
|
517
|
-
}
|
|
557
|
+
};
|
|
558
|
+
declare function defineValueType(valueTypeDef: ValueTypeDefinition): ValueTypeDefinitionVersion;
|
|
559
|
+
|
|
560
|
+
declare function importOntologyEntity<T extends OntologyEntityType>(e: T): void;
|
|
518
561
|
|
|
519
|
-
export { main as default, defineAction, defineCreateInterfaceObjectAction, defineCreateObjectAction, defineDeleteObjectAction, defineInterface, defineInterfaceLinkConstraint, defineLink, defineModifyInterfaceObjectAction, defineModifyObjectAction, defineObject, defineOntology, defineSharedPropertyType, defineValueType, importSharedPropertyType };
|
|
562
|
+
export { main as default, defineAction, defineCreateInterfaceObjectAction, defineCreateObjectAction, defineDeleteObjectAction, defineInterface, defineInterfaceLinkConstraint, defineLink, defineModifyInterfaceObjectAction, defineModifyObjectAction, defineObject, defineOntology, defineSharedPropertyType, defineValueType, importOntologyEntity, importSharedPropertyType };
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import invariant from "tiny-invariant";
|
|
18
|
-
import { namespace, ontologyDefinition } from "./defineOntology.js";
|
|
18
|
+
import { namespace, ontologyDefinition, updateOntology } from "./defineOntology.js";
|
|
19
|
+
import { OntologyEntityTypeEnum } from "./types.js";
|
|
19
20
|
export function defineCreateInterfaceObjectAction(interfaceType, objectType) {
|
|
20
21
|
return defineAction({
|
|
21
22
|
apiName: `create-${kebab(interfaceType.apiName.split(".").pop() ?? interfaceType.apiName)}${objectType === undefined ? "" : `-${kebab(objectType.apiName.split(".").pop() ?? objectType.apiName)}`}`,
|
|
@@ -55,7 +56,7 @@ export function defineCreateInterfaceObjectAction(interfaceType, objectType) {
|
|
|
55
56
|
validation: {
|
|
56
57
|
required: prop.sharedPropertyType.array ?? false ? {
|
|
57
58
|
listLength: {}
|
|
58
|
-
} :
|
|
59
|
+
} : prop.required,
|
|
59
60
|
allowedValues: extractAllowedValuesFromType(prop.sharedPropertyType.type)
|
|
60
61
|
}
|
|
61
62
|
}))],
|
|
@@ -138,7 +139,7 @@ export function defineModifyInterfaceObjectAction(interfaceType, objectType) {
|
|
|
138
139
|
validation: {
|
|
139
140
|
required: prop.sharedPropertyType.array ?? false ? {
|
|
140
141
|
listLength: {}
|
|
141
|
-
} :
|
|
142
|
+
} : prop.required,
|
|
142
143
|
allowedValues: extractAllowedValuesFromType(prop.sharedPropertyType.type)
|
|
143
144
|
}
|
|
144
145
|
}))],
|
|
@@ -229,7 +230,7 @@ export function defineDeleteObjectAction(objectType) {
|
|
|
229
230
|
export function defineAction(actionDef) {
|
|
230
231
|
const apiName = namespace + actionDef.apiName;
|
|
231
232
|
const parameterIds = (actionDef.parameters ?? []).map(p => p.id);
|
|
232
|
-
if (ontologyDefinition.
|
|
233
|
+
if (ontologyDefinition[OntologyEntityTypeEnum.ACTION_TYPE][apiName] !== undefined) {
|
|
233
234
|
throw new Error(`Action type with apiName ${actionDef.apiName} is already defined`);
|
|
234
235
|
}
|
|
235
236
|
!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(actionDef.apiName) ? process.env.NODE_ENV !== "production" ? invariant(false, `Action type apiName "${actionDef.apiName}" must be alphanumeric, lowercase, and kebab-case`) : invariant(false) : void 0;
|
|
@@ -251,9 +252,10 @@ export function defineAction(actionDef) {
|
|
|
251
252
|
});
|
|
252
253
|
const fullAction = {
|
|
253
254
|
...actionDef,
|
|
254
|
-
apiName: apiName
|
|
255
|
+
apiName: apiName,
|
|
256
|
+
__type: OntologyEntityTypeEnum.ACTION_TYPE
|
|
255
257
|
};
|
|
256
|
-
|
|
258
|
+
updateOntology(fullAction);
|
|
257
259
|
return fullAction;
|
|
258
260
|
}
|
|
259
261
|
function referencedParameterIds(actionDef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineAction.js","names":["invariant","namespace","ontologyDefinition","defineCreateInterfaceObjectAction","interfaceType","objectType","defineAction","apiName","kebab","split","pop","undefined","displayName","displayMetadata","parameters","id","type","objectTypeReference","interfaceTypeRids","validation","required","allowedValues","interfaceTypes","oneOf","label","value","objectTypeId","Object","entries","propertiesV2","map","prop","sharedPropertyType","nonNameSpacedApiName","extractActionParameterType","typeClasses","array","listLength","extractAllowedValuesFromType","status","rules","addInterfaceRule","interfaceApiName","objectTypeParameter","sharedPropertyValues","fromEntries","parameterId","defineCreateObjectAction","properties","addObjectRule","propertyValues","p","structFieldValues","defineModifyInterfaceObjectAction","interfaceReference","interfaceTypeRid","modifyInterfaceRule","interfaceObjectToModifyParameter","defineModifyObjectAction","objectReference","modifyObjectRule","objectToModify","defineDeleteObjectAction","deleteObjectRule","objectToDelete","actionDef","parameterIds","actionTypes","Error","test","process","env","NODE_ENV","parameterIdsSet","Set","size","length","parameterIdsNotFound","Array","from","referencedParameterIds","filter","has","JSON","stringify","definedSectionIds","keys","sections","undefinedSectionsInOrdering","formContentOrdering","flatMap","s","sectionId","sId","forEach","rule","some","fullAction","values","pId","add","item","sanitize","k","v","addOrModifyObjectRuleV2","min","staticValue","integer","max","markingType","pt","typeType","maybeAddList","isActionParameterTypePrimitive","includes","replace","toLowerCase"],"sources":["defineAction.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 { ParameterId } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport { namespace, ontologyDefinition } from \"./defineOntology.js\";\nimport type {\n ActionParameterAllowedValues,\n ActionParameterType,\n ActionParameterTypePrimitive,\n ActionType,\n InterfaceType,\n ObjectPropertyType,\n ObjectType,\n PropertyTypeType,\n SharedPropertyType,\n} from \"./types.js\";\n\nexport function defineCreateInterfaceObjectAction(\n interfaceType: InterfaceType,\n objectType?: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `create-${\n kebab(interfaceType.apiName.split(\".\").pop() ?? interfaceType.apiName)\n }${\n objectType === undefined\n ? \"\"\n : `-${kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)}`\n }`,\n displayName: `Create ${interfaceType.displayMetadata.displayName}`,\n parameters: [\n {\n id: \"objectTypeParameter\",\n displayName: \"Object type to create\",\n type: {\n type: \"objectTypeReference\",\n objectTypeReference: { interfaceTypeRids: [interfaceType.apiName] },\n },\n validation: {\n required: true,\n allowedValues: objectType === undefined\n ? {\n type: \"objectTypeReference\",\n interfaceTypes: [interfaceType.apiName],\n }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: objectType.apiName },\n },\n }],\n },\n },\n },\n ...Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => ({\n id,\n displayName: prop.sharedPropertyType.displayName\n ?? prop.sharedPropertyType.nonNameSpacedApiName,\n type: extractActionParameterType(prop.sharedPropertyType),\n typeClasses: prop.sharedPropertyType.typeClasses ?? [],\n validation: {\n required: (prop.sharedPropertyType.array ?? false)\n ? { listLength: {} }\n : true,\n allowedValues: extractAllowedValuesFromType(\n prop.sharedPropertyType.type,\n ),\n },\n })),\n ],\n status: interfaceType.status.type !== \"deprecated\"\n ? interfaceType.status.type\n : interfaceType.status,\n rules: [\n {\n type: \"addInterfaceRule\",\n addInterfaceRule: {\n interfaceApiName: interfaceType.apiName,\n objectTypeParameter: \"objectTypeParameter\",\n sharedPropertyValues: Object.fromEntries(\n Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => [id, { type: \"parameterId\", parameterId: id }]),\n ),\n },\n },\n ],\n });\n}\n\nexport function defineCreateObjectAction(\n objectType: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `create-object-${\n kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)\n }`,\n displayName: `Create ${objectType.displayName}`,\n parameters: [\n ...(objectType.properties?.map(prop => ({\n id: prop.apiName,\n displayName: prop.displayName,\n type: extractActionParameterType(prop),\n validation: {\n required: true,\n allowedValues: extractAllowedValuesFromType(prop.type),\n },\n })) ?? []),\n ],\n status: \"active\",\n rules: [{\n type: \"addObjectRule\",\n addObjectRule: {\n objectTypeId: objectType.apiName,\n propertyValues: objectType.properties\n ? Object.fromEntries(\n objectType.properties.map(\n p => [p.apiName, { type: \"parameterId\", parameterId: p.apiName }],\n ),\n )\n : {},\n structFieldValues: {},\n },\n }],\n });\n}\n\nexport function defineModifyInterfaceObjectAction(\n interfaceType: InterfaceType,\n objectType?: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `modify-${\n kebab(interfaceType.apiName.split(\".\").pop() ?? interfaceType.apiName)\n }${\n objectType === undefined\n ? \"\"\n : `-${kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)}`\n }`,\n displayName: `Modify ${interfaceType.displayMetadata.displayName}`,\n parameters: [\n {\n id: \"interfaceObjectToModifyParameter\",\n displayName: \"Object type to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: { interfaceTypeRid: interfaceType.apiName },\n },\n validation: {\n required: true,\n allowedValues: objectType === undefined\n ? { type: \"interfaceObjectQuery\" }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: objectType.apiName },\n },\n }],\n },\n },\n },\n ...Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => ({\n id,\n displayName: prop.sharedPropertyType.displayName\n ?? prop.sharedPropertyType.nonNameSpacedApiName,\n type: extractActionParameterType(prop.sharedPropertyType),\n typeClasses: prop.sharedPropertyType.typeClasses ?? [],\n validation: {\n required: (prop.sharedPropertyType.array ?? false)\n ? { listLength: {} }\n : true,\n allowedValues: extractAllowedValuesFromType(\n prop.sharedPropertyType.type,\n ),\n },\n })),\n ],\n status: interfaceType.status.type !== \"deprecated\"\n ? interfaceType.status.type\n : interfaceType.status,\n rules: [\n {\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter: \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: Object.fromEntries(\n Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => [id, { type: \"parameterId\", parameterId: id }]),\n ),\n },\n },\n ],\n });\n}\n\nexport function defineModifyObjectAction(\n objectType: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `modify-object-${\n kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)\n }`,\n displayName: `Modify ${objectType.displayName}`,\n parameters: [\n {\n id: \"objectToModifyParameter\",\n displayName: \"Modify object\",\n type: {\n type: \"objectReference\",\n objectReference: { objectTypeId: objectType.apiName },\n },\n validation: {\n allowedValues: { type: \"objectQuery\" },\n required: true,\n },\n },\n ...(objectType.properties?.map(prop => ({\n id: prop.apiName,\n displayName: prop.displayName,\n type: extractActionParameterType(prop),\n validation: {\n required: true,\n allowedValues: extractAllowedValuesFromType(prop.type),\n },\n })) ?? []),\n ],\n status: \"active\",\n rules: [\n {\n type: \"modifyObjectRule\",\n modifyObjectRule: {\n objectToModify: \"objectToModifyParameter\",\n propertyValues: objectType.properties\n ? Object.fromEntries(\n objectType.properties.map(\n p => [p.apiName, {\n type: \"parameterId\",\n parameterId: p.apiName,\n }],\n ),\n )\n : {},\n structFieldValues: {},\n },\n },\n ],\n });\n}\n\nexport function defineDeleteObjectAction(\n objectType: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `delete-object-${\n kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)\n }`,\n displayName: `Delete ${objectType.displayName}`,\n parameters: [\n {\n id: \"objectToDeleteParameter\",\n displayName: \"Delete object\",\n type: {\n type: \"objectReference\",\n objectReference: { objectTypeId: objectType.apiName },\n },\n validation: {\n required: true,\n allowedValues: { type: \"objectQuery\" },\n },\n },\n ],\n status: \"active\",\n rules: [\n {\n type: \"deleteObjectRule\",\n deleteObjectRule: {\n objectToDelete: \"objectToDeleteParameter\",\n },\n },\n ],\n });\n}\n\nexport function defineAction(actionDef: ActionType): ActionType {\n const apiName = namespace + actionDef.apiName;\n const parameterIds = (actionDef.parameters ?? []).map(p => p.id);\n\n if (ontologyDefinition.actionTypes[apiName] !== undefined) {\n throw new Error(\n `Action type with apiName ${actionDef.apiName} is already defined`,\n );\n }\n invariant(\n /^[a-z0-9]+(-[a-z0-9]+)*$/.test(actionDef.apiName),\n `Action type apiName \"${actionDef.apiName}\" must be alphanumeric, lowercase, and kebab-case`,\n );\n\n const parameterIdsSet = new Set(parameterIds);\n invariant(\n parameterIdsSet.size === parameterIds.length,\n `Parameter ids must be unique`,\n );\n\n const parameterIdsNotFound = Array.from(referencedParameterIds(actionDef))\n .filter(p => !parameterIdsSet.has(p));\n invariant(\n parameterIdsNotFound.length === 0,\n `Parameters ${\n JSON.stringify(parameterIdsNotFound)\n } were referenced but not defined`,\n );\n\n const definedSectionIds = new Set(Object.keys(actionDef.sections ?? []));\n const undefinedSectionsInOrdering = (actionDef.formContentOrdering ?? [])\n .flatMap(\n s => s.type === \"parameterId\" ? [] : [s.sectionId],\n ).filter(sId => !definedSectionIds.has(sId));\n invariant(\n undefinedSectionsInOrdering.length === 0,\n `Sections [${undefinedSectionsInOrdering}] were referenced in content ordering but not defined`,\n );\n\n invariant(\n actionDef.rules.length > 0,\n `Action type ${actionDef.apiName} must have at least one logic rule`,\n );\n actionDef.rules.forEach(rule => {\n if (rule.type === \"modifyObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.modifyObjectRule.objectToModify),\n `Object to modify parameter must be defined in parameters`,\n );\n }\n if (rule.type === \"deleteObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.deleteObjectRule.objectToDelete),\n `Object to delete parameter must be defined in parameters`,\n );\n }\n });\n const fullAction = { ...actionDef, apiName: apiName };\n ontologyDefinition.actionTypes[apiName] = fullAction;\n return fullAction;\n}\n\nfunction referencedParameterIds(actionDef: ActionType): Set<ParameterId> {\n const parameterIds: Set<ParameterId> = new Set();\n\n // section definitions\n Object.values(actionDef.sections ?? {})\n .flatMap(p => p).forEach(pId => parameterIds.add(pId));\n\n // form content ordering\n (actionDef.formContentOrdering ?? []).forEach(item => {\n if (item.type === \"parameterId\") {\n parameterIds.add(item.parameterId);\n }\n });\n\n // logic rules\n actionDef.rules.forEach(rule => {\n // when visiting each rule, we also do drive-by namespace prefixing\n switch (rule.type) {\n case \"addInterfaceRule\":\n rule.addInterfaceRule.interfaceApiName = sanitize(\n rule.addInterfaceRule.interfaceApiName,\n );\n parameterIds.add(rule.addInterfaceRule.objectTypeParameter);\n Object.entries(rule.addInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n rule.addInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n delete rule.addInterfaceRule.sharedPropertyValues[k];\n },\n );\n break;\n case \"modifyInterfaceRule\":\n parameterIds.add(\n rule.modifyInterfaceRule.interfaceObjectToModifyParameter,\n );\n Object.entries(rule.modifyInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n rule.modifyInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n delete rule.modifyInterfaceRule.sharedPropertyValues[k];\n },\n );\n break;\n case \"addObjectRule\":\n Object.entries(rule.addObjectRule.propertyValues).forEach(([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n });\n break;\n case \"modifyObjectRule\":\n Object.entries(rule.modifyObjectRule.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n case \"addOrModifyObjectRuleV2\":\n Object.entries(rule.addOrModifyObjectRuleV2.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n }\n });\n return parameterIds;\n}\n\nfunction extractAllowedValuesFromType(\n type: PropertyTypeType,\n): ActionParameterAllowedValues {\n switch (type) {\n case \"boolean\":\n return { type: \"boolean\" };\n case \"byte\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 255 },\n },\n };\n case \"timestamp\":\n case \"date\":\n return { type: \"datetime\" };\n case \"decimal\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n return { type: \"range\" };\n case \"short\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 65535 },\n },\n };\n case \"string\":\n return { type: \"text\" };\n case \"geopoint\":\n case \"geoshape\":\n return { type: \"geoshape\" };\n case \"mediaReference\":\n return { type: \"mediaReference\" };\n case \"geotimeSeries\":\n return { type: \"geotimeSeriesReference\" };\n default:\n switch (type.type) {\n case \"marking\":\n return type.markingType === \"CBAC\"\n ? { type: \"cbacMarking\" }\n : { type: \"mandatoryMarking\" };\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(\"Unknown type\");\n }\n break;\n }\n}\n\nfunction extractActionParameterType(\n pt: SharedPropertyType | ObjectPropertyType,\n): ActionParameterType {\n const typeType = pt.type;\n if (typeof typeType === \"object\") {\n switch (typeType.type) {\n case \"marking\":\n return maybeAddList(\"marking\", pt);\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(`Unknown type`);\n }\n }\n if (\n typeof typeType === \"string\" && isActionParameterTypePrimitive(typeType)\n ) {\n return maybeAddList(typeType, pt);\n }\n switch (typeType) {\n case \"byte\":\n case \"short\":\n return maybeAddList(\"integer\", pt);\n case \"geopoint\":\n return maybeAddList(\"geoshape\", pt);\n case \"float\":\n return maybeAddList(\"double\", pt);\n case \"geotimeSeries\":\n return maybeAddList(\"geotimeSeriesReference\", pt);\n default:\n throw new Error(\"Unknown type\");\n }\n}\n\nfunction maybeAddList(\n type: ActionParameterTypePrimitive,\n pt: SharedPropertyType | ObjectPropertyType,\n): ActionParameterType {\n return ((pt.array ?? false) ? type + \"List\" : type) as ActionParameterType;\n}\n\nfunction isActionParameterTypePrimitive(\n type: string,\n): type is ActionParameterTypePrimitive {\n return [\n \"boolean\",\n \"booleanList\",\n \"integer\",\n \"integerList\",\n \"long\",\n \"longList\",\n \"double\",\n \"doubleList\",\n \"string\",\n \"stringList\",\n \"decimal\",\n \"decimalList\",\n \"timestamp\",\n \"timestampList\",\n \"geohash\",\n \"geohashList\",\n \"geoshape\",\n \"geoshapeList\",\n \"timeSeriesReference\",\n \"date\",\n \"dateList\",\n \"objectTypeReference\",\n \"objectReference\",\n \"attachment\",\n \"attachmentList\",\n \"marking\",\n \"markingList\",\n \"mediaReference\",\n \"mediaReferenceList\",\n \"geotimeSeriesReference\",\n \"geotimeSeriesReferenceList\",\n ].includes(type);\n}\n\nfunction kebab(s: string): string {\n return s\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/([A-Z])([A-Z][a-z])/g, \"$1-$2\")\n .replace(/\\./g, \"-\")\n .toLowerCase();\n}\n\nfunction sanitize(s: string): string {\n return s.includes(\".\") ? s : namespace + s;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"defineAction.js","names":["invariant","namespace","ontologyDefinition","updateOntology","OntologyEntityTypeEnum","defineCreateInterfaceObjectAction","interfaceType","objectType","defineAction","apiName","kebab","split","pop","undefined","displayName","displayMetadata","parameters","id","type","objectTypeReference","interfaceTypeRids","validation","required","allowedValues","interfaceTypes","oneOf","label","value","objectTypeId","Object","entries","propertiesV2","map","prop","sharedPropertyType","nonNameSpacedApiName","extractActionParameterType","typeClasses","array","listLength","extractAllowedValuesFromType","status","rules","addInterfaceRule","interfaceApiName","objectTypeParameter","sharedPropertyValues","fromEntries","parameterId","defineCreateObjectAction","properties","addObjectRule","propertyValues","p","structFieldValues","defineModifyInterfaceObjectAction","interfaceReference","interfaceTypeRid","modifyInterfaceRule","interfaceObjectToModifyParameter","defineModifyObjectAction","objectReference","modifyObjectRule","objectToModify","defineDeleteObjectAction","deleteObjectRule","objectToDelete","actionDef","parameterIds","ACTION_TYPE","Error","test","process","env","NODE_ENV","parameterIdsSet","Set","size","length","parameterIdsNotFound","Array","from","referencedParameterIds","filter","has","JSON","stringify","definedSectionIds","keys","sections","undefinedSectionsInOrdering","formContentOrdering","flatMap","s","sectionId","sId","forEach","rule","some","fullAction","__type","values","pId","add","item","sanitize","k","v","addOrModifyObjectRuleV2","min","staticValue","integer","max","markingType","pt","typeType","maybeAddList","isActionParameterTypePrimitive","includes","replace","toLowerCase"],"sources":["defineAction.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 { ParameterId } from \"@osdk/client.unstable\";\nimport invariant from \"tiny-invariant\";\nimport {\n namespace,\n ontologyDefinition,\n updateOntology,\n} from \"./defineOntology.js\";\nimport {\n type ActionParameterAllowedValues,\n type ActionParameterType,\n type ActionParameterTypePrimitive,\n type ActionType,\n type ActionTypeDefinition,\n type InterfaceType,\n type ObjectPropertyType,\n type ObjectType,\n OntologyEntityTypeEnum,\n type PropertyTypeType,\n type SharedPropertyType,\n} from \"./types.js\";\n\nexport function defineCreateInterfaceObjectAction(\n interfaceType: InterfaceType,\n objectType?: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `create-${\n kebab(interfaceType.apiName.split(\".\").pop() ?? interfaceType.apiName)\n }${\n objectType === undefined\n ? \"\"\n : `-${kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)}`\n }`,\n displayName: `Create ${interfaceType.displayMetadata.displayName}`,\n parameters: [\n {\n id: \"objectTypeParameter\",\n displayName: \"Object type to create\",\n type: {\n type: \"objectTypeReference\",\n objectTypeReference: { interfaceTypeRids: [interfaceType.apiName] },\n },\n validation: {\n required: true,\n allowedValues: objectType === undefined\n ? {\n type: \"objectTypeReference\",\n interfaceTypes: [interfaceType.apiName],\n }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: objectType.apiName },\n },\n }],\n },\n },\n },\n ...Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => ({\n id,\n displayName: prop.sharedPropertyType.displayName\n ?? prop.sharedPropertyType.nonNameSpacedApiName,\n type: extractActionParameterType(prop.sharedPropertyType),\n typeClasses: prop.sharedPropertyType.typeClasses ?? [],\n validation: {\n required: (prop.sharedPropertyType.array ?? false)\n ? { listLength: {} }\n : prop.required,\n allowedValues: extractAllowedValuesFromType(\n prop.sharedPropertyType.type,\n ),\n },\n })),\n ],\n status: interfaceType.status.type !== \"deprecated\"\n ? interfaceType.status.type\n : interfaceType.status,\n rules: [\n {\n type: \"addInterfaceRule\",\n addInterfaceRule: {\n interfaceApiName: interfaceType.apiName,\n objectTypeParameter: \"objectTypeParameter\",\n sharedPropertyValues: Object.fromEntries(\n Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => [id, { type: \"parameterId\", parameterId: id }]),\n ),\n },\n },\n ],\n });\n}\n\nexport function defineCreateObjectAction(\n objectType: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `create-object-${\n kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)\n }`,\n displayName: `Create ${objectType.displayName}`,\n parameters: [\n ...(objectType.properties?.map(prop => ({\n id: prop.apiName,\n displayName: prop.displayName,\n type: extractActionParameterType(prop),\n validation: {\n required: true,\n allowedValues: extractAllowedValuesFromType(prop.type),\n },\n })) ?? []),\n ],\n status: \"active\",\n rules: [{\n type: \"addObjectRule\",\n addObjectRule: {\n objectTypeId: objectType.apiName,\n propertyValues: objectType.properties\n ? Object.fromEntries(\n objectType.properties.map(\n p => [p.apiName, { type: \"parameterId\", parameterId: p.apiName }],\n ),\n )\n : {},\n structFieldValues: {},\n },\n }],\n });\n}\n\nexport function defineModifyInterfaceObjectAction(\n interfaceType: InterfaceType,\n objectType?: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `modify-${\n kebab(interfaceType.apiName.split(\".\").pop() ?? interfaceType.apiName)\n }${\n objectType === undefined\n ? \"\"\n : `-${kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)}`\n }`,\n displayName: `Modify ${interfaceType.displayMetadata.displayName}`,\n parameters: [\n {\n id: \"interfaceObjectToModifyParameter\",\n displayName: \"Object type to modify\",\n type: {\n type: \"interfaceReference\",\n interfaceReference: { interfaceTypeRid: interfaceType.apiName },\n },\n validation: {\n required: true,\n allowedValues: objectType === undefined\n ? { type: \"interfaceObjectQuery\" }\n : {\n type: \"oneOf\",\n oneOf: [{\n label: objectType.displayName,\n value: {\n type: \"objectType\",\n objectType: { objectTypeId: objectType.apiName },\n },\n }],\n },\n },\n },\n ...Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => ({\n id,\n displayName: prop.sharedPropertyType.displayName\n ?? prop.sharedPropertyType.nonNameSpacedApiName,\n type: extractActionParameterType(prop.sharedPropertyType),\n typeClasses: prop.sharedPropertyType.typeClasses ?? [],\n validation: {\n required: (prop.sharedPropertyType.array ?? false)\n ? { listLength: {} }\n : prop.required,\n allowedValues: extractAllowedValuesFromType(\n prop.sharedPropertyType.type,\n ),\n },\n })),\n ],\n status: interfaceType.status.type !== \"deprecated\"\n ? interfaceType.status.type\n : interfaceType.status,\n rules: [\n {\n type: \"modifyInterfaceRule\",\n modifyInterfaceRule: {\n interfaceObjectToModifyParameter: \"interfaceObjectToModifyParameter\",\n sharedPropertyValues: Object.fromEntries(\n Object.entries(interfaceType.propertiesV2).map((\n [id, prop],\n ) => [id, { type: \"parameterId\", parameterId: id }]),\n ),\n },\n },\n ],\n });\n}\n\nexport function defineModifyObjectAction(\n objectType: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `modify-object-${\n kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)\n }`,\n displayName: `Modify ${objectType.displayName}`,\n parameters: [\n {\n id: \"objectToModifyParameter\",\n displayName: \"Modify object\",\n type: {\n type: \"objectReference\",\n objectReference: { objectTypeId: objectType.apiName },\n },\n validation: {\n allowedValues: { type: \"objectQuery\" },\n required: true,\n },\n },\n ...(objectType.properties?.map(prop => ({\n id: prop.apiName,\n displayName: prop.displayName,\n type: extractActionParameterType(prop),\n validation: {\n required: true,\n allowedValues: extractAllowedValuesFromType(prop.type),\n },\n })) ?? []),\n ],\n status: \"active\",\n rules: [\n {\n type: \"modifyObjectRule\",\n modifyObjectRule: {\n objectToModify: \"objectToModifyParameter\",\n propertyValues: objectType.properties\n ? Object.fromEntries(\n objectType.properties.map(\n p => [p.apiName, {\n type: \"parameterId\",\n parameterId: p.apiName,\n }],\n ),\n )\n : {},\n structFieldValues: {},\n },\n },\n ],\n });\n}\n\nexport function defineDeleteObjectAction(\n objectType: ObjectType,\n): ActionType {\n return defineAction({\n apiName: `delete-object-${\n kebab(objectType.apiName.split(\".\").pop() ?? objectType.apiName)\n }`,\n displayName: `Delete ${objectType.displayName}`,\n parameters: [\n {\n id: \"objectToDeleteParameter\",\n displayName: \"Delete object\",\n type: {\n type: \"objectReference\",\n objectReference: { objectTypeId: objectType.apiName },\n },\n validation: {\n required: true,\n allowedValues: { type: \"objectQuery\" },\n },\n },\n ],\n status: \"active\",\n rules: [\n {\n type: \"deleteObjectRule\",\n deleteObjectRule: {\n objectToDelete: \"objectToDeleteParameter\",\n },\n },\n ],\n });\n}\n\nexport function defineAction(actionDef: ActionTypeDefinition): ActionType {\n const apiName = namespace + actionDef.apiName;\n const parameterIds = (actionDef.parameters ?? []).map(p => p.id);\n\n if (\n ontologyDefinition[OntologyEntityTypeEnum.ACTION_TYPE][apiName]\n !== undefined\n ) {\n throw new Error(\n `Action type with apiName ${actionDef.apiName} is already defined`,\n );\n }\n invariant(\n /^[a-z0-9]+(-[a-z0-9]+)*$/.test(actionDef.apiName),\n `Action type apiName \"${actionDef.apiName}\" must be alphanumeric, lowercase, and kebab-case`,\n );\n\n const parameterIdsSet = new Set(parameterIds);\n invariant(\n parameterIdsSet.size === parameterIds.length,\n `Parameter ids must be unique`,\n );\n\n const parameterIdsNotFound = Array.from(referencedParameterIds(actionDef))\n .filter(p => !parameterIdsSet.has(p));\n invariant(\n parameterIdsNotFound.length === 0,\n `Parameters ${\n JSON.stringify(parameterIdsNotFound)\n } were referenced but not defined`,\n );\n\n const definedSectionIds = new Set(Object.keys(actionDef.sections ?? []));\n const undefinedSectionsInOrdering = (actionDef.formContentOrdering ?? [])\n .flatMap(\n s => s.type === \"parameterId\" ? [] : [s.sectionId],\n ).filter(sId => !definedSectionIds.has(sId));\n invariant(\n undefinedSectionsInOrdering.length === 0,\n `Sections [${undefinedSectionsInOrdering}] were referenced in content ordering but not defined`,\n );\n\n invariant(\n actionDef.rules.length > 0,\n `Action type ${actionDef.apiName} must have at least one logic rule`,\n );\n actionDef.rules.forEach(rule => {\n if (rule.type === \"modifyObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.modifyObjectRule.objectToModify),\n `Object to modify parameter must be defined in parameters`,\n );\n }\n if (rule.type === \"deleteObjectRule\") {\n invariant(\n parameterIds.some(id => id === rule.deleteObjectRule.objectToDelete),\n `Object to delete parameter must be defined in parameters`,\n );\n }\n });\n const fullAction = {\n ...actionDef,\n apiName: apiName,\n __type: OntologyEntityTypeEnum.ACTION_TYPE,\n } as ActionType;\n updateOntology(fullAction);\n return fullAction;\n}\n\nfunction referencedParameterIds(\n actionDef: ActionTypeDefinition,\n): Set<ParameterId> {\n const parameterIds: Set<ParameterId> = new Set();\n\n // section definitions\n Object.values(actionDef.sections ?? {})\n .flatMap(p => p).forEach(pId => parameterIds.add(pId));\n\n // form content ordering\n (actionDef.formContentOrdering ?? []).forEach(item => {\n if (item.type === \"parameterId\") {\n parameterIds.add(item.parameterId);\n }\n });\n\n // logic rules\n actionDef.rules.forEach(rule => {\n // when visiting each rule, we also do drive-by namespace prefixing\n switch (rule.type) {\n case \"addInterfaceRule\":\n rule.addInterfaceRule.interfaceApiName = sanitize(\n rule.addInterfaceRule.interfaceApiName,\n );\n parameterIds.add(rule.addInterfaceRule.objectTypeParameter);\n Object.entries(rule.addInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n rule.addInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n delete rule.addInterfaceRule.sharedPropertyValues[k];\n },\n );\n break;\n case \"modifyInterfaceRule\":\n parameterIds.add(\n rule.modifyInterfaceRule.interfaceObjectToModifyParameter,\n );\n Object.entries(rule.modifyInterfaceRule.sharedPropertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n rule.modifyInterfaceRule.sharedPropertyValues[sanitize(k)] = v;\n delete rule.modifyInterfaceRule.sharedPropertyValues[k];\n },\n );\n break;\n case \"addObjectRule\":\n Object.entries(rule.addObjectRule.propertyValues).forEach(([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n });\n break;\n case \"modifyObjectRule\":\n Object.entries(rule.modifyObjectRule.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n case \"addOrModifyObjectRuleV2\":\n Object.entries(rule.addOrModifyObjectRuleV2.propertyValues).forEach(\n ([k, v]) => {\n if (v.type === \"parameterId\") {\n parameterIds.add(v.parameterId);\n }\n },\n );\n break;\n }\n });\n return parameterIds;\n}\n\nfunction extractAllowedValuesFromType(\n type: PropertyTypeType,\n): ActionParameterAllowedValues {\n switch (type) {\n case \"boolean\":\n return { type: \"boolean\" };\n case \"byte\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 255 },\n },\n };\n case \"timestamp\":\n case \"date\":\n return { type: \"datetime\" };\n case \"decimal\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n return { type: \"range\" };\n case \"short\":\n return {\n type: \"range\",\n min: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 0 },\n },\n max: {\n type: \"staticValue\",\n staticValue: { type: \"integer\", integer: 65535 },\n },\n };\n case \"string\":\n return { type: \"text\" };\n case \"geopoint\":\n case \"geoshape\":\n return { type: \"geoshape\" };\n case \"mediaReference\":\n return { type: \"mediaReference\" };\n case \"geotimeSeries\":\n return { type: \"geotimeSeriesReference\" };\n default:\n switch (type.type) {\n case \"marking\":\n return type.markingType === \"CBAC\"\n ? { type: \"cbacMarking\" }\n : { type: \"mandatoryMarking\" };\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(\"Unknown type\");\n }\n break;\n }\n}\n\nfunction extractActionParameterType(\n pt: SharedPropertyType | ObjectPropertyType,\n): ActionParameterType {\n const typeType = pt.type;\n if (typeof typeType === \"object\") {\n switch (typeType.type) {\n case \"marking\":\n return maybeAddList(\"marking\", pt);\n case \"struct\":\n throw new Error(\"Structs are not supported yet\");\n default:\n throw new Error(`Unknown type`);\n }\n }\n if (\n typeof typeType === \"string\" && isActionParameterTypePrimitive(typeType)\n ) {\n return maybeAddList(typeType, pt);\n }\n switch (typeType) {\n case \"byte\":\n case \"short\":\n return maybeAddList(\"integer\", pt);\n case \"geopoint\":\n return maybeAddList(\"geoshape\", pt);\n case \"float\":\n return maybeAddList(\"double\", pt);\n case \"geotimeSeries\":\n return maybeAddList(\"geotimeSeriesReference\", pt);\n default:\n throw new Error(\"Unknown type\");\n }\n}\n\nfunction maybeAddList(\n type: ActionParameterTypePrimitive,\n pt: SharedPropertyType | ObjectPropertyType,\n): ActionParameterType {\n return ((pt.array ?? false) ? type + \"List\" : type) as ActionParameterType;\n}\n\nfunction isActionParameterTypePrimitive(\n type: string,\n): type is ActionParameterTypePrimitive {\n return [\n \"boolean\",\n \"booleanList\",\n \"integer\",\n \"integerList\",\n \"long\",\n \"longList\",\n \"double\",\n \"doubleList\",\n \"string\",\n \"stringList\",\n \"decimal\",\n \"decimalList\",\n \"timestamp\",\n \"timestampList\",\n \"geohash\",\n \"geohashList\",\n \"geoshape\",\n \"geoshapeList\",\n \"timeSeriesReference\",\n \"date\",\n \"dateList\",\n \"objectTypeReference\",\n \"objectReference\",\n \"attachment\",\n \"attachmentList\",\n \"marking\",\n \"markingList\",\n \"mediaReference\",\n \"mediaReferenceList\",\n \"geotimeSeriesReference\",\n \"geotimeSeriesReferenceList\",\n ].includes(type);\n}\n\nfunction kebab(s: string): string {\n return s\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/([A-Z])([A-Z][a-z])/g, \"$1-$2\")\n .replace(/\\./g, \"-\")\n .toLowerCase();\n}\n\nfunction sanitize(s: string): string {\n return s.includes(\".\") ? s : namespace + s;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import invariant from "tiny-invariant";
|
|
18
|
-
import {
|
|
18
|
+
import { OntologyEntityTypeEnum } from "./types.js";
|
|
19
|
+
|
|
19
20
|
/**
|
|
20
21
|
* Defines a foreign shared property type you want to take as an input to your product. The typeHint field is used for OSDK generation
|
|
21
22
|
*/
|
|
@@ -26,22 +27,20 @@ export function importSharedPropertyType(opts) {
|
|
|
26
27
|
typeHint
|
|
27
28
|
} = opts;
|
|
28
29
|
if (packageName !== undefined) {
|
|
29
|
-
ontologyDefinition.importedTypes.sharedPropertyTypes.push({
|
|
30
|
-
apiName,
|
|
31
|
-
packageName
|
|
32
|
-
});
|
|
33
30
|
!!packageName.endsWith(".") ? process.env.NODE_ENV !== "production" ? invariant(false, "Package name format invalid ends with period") : invariant(false) : void 0;
|
|
34
31
|
!(packageName.match("[A-Z]") == null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Package name includes upper case characters") : invariant(false) : void 0;
|
|
35
32
|
return {
|
|
36
33
|
apiName: packageName + "." + apiName,
|
|
37
34
|
type: typeHint,
|
|
38
|
-
nonNameSpacedApiName: apiName
|
|
35
|
+
nonNameSpacedApiName: apiName,
|
|
36
|
+
__type: OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE
|
|
39
37
|
};
|
|
40
38
|
}
|
|
41
39
|
return {
|
|
42
40
|
apiName: apiName,
|
|
43
41
|
type: typeHint,
|
|
44
|
-
nonNameSpacedApiName: apiName
|
|
42
|
+
nonNameSpacedApiName: apiName,
|
|
43
|
+
__type: OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE
|
|
45
44
|
};
|
|
46
45
|
}
|
|
47
46
|
//# sourceMappingURL=defineImportSpt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineImportSpt.js","names":["invariant","
|
|
1
|
+
{"version":3,"file":"defineImportSpt.js","names":["invariant","OntologyEntityTypeEnum","importSharedPropertyType","opts","apiName","packageName","typeHint","undefined","endsWith","process","env","NODE_ENV","match","type","nonNameSpacedApiName","__type","SHARED_PROPERTY_TYPE"],"sources":["defineImportSpt.ts"],"sourcesContent":["/*\n * Copyright 2024 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 invariant from \"tiny-invariant\";\nimport {\n OntologyEntityTypeEnum,\n type PropertyTypeType,\n type SharedPropertyType,\n} from \"./types.js\";\n\n/**\n * Defines a foreign shared property type you want to take as an input to your product. The typeHint field is used for OSDK generation\n */\nexport function importSharedPropertyType(\n opts: {\n apiName: string;\n packageName?: string;\n typeHint: PropertyTypeType;\n },\n): SharedPropertyType {\n const { apiName, packageName, typeHint } = opts;\n if (packageName !== undefined) {\n invariant(\n !packageName.endsWith(\".\"),\n \"Package name format invalid ends with period\",\n );\n\n invariant(\n packageName.match(\"[A-Z]\") == null,\n \"Package name includes upper case characters\",\n );\n\n return {\n apiName: packageName + \".\" + apiName,\n type: typeHint,\n nonNameSpacedApiName: apiName,\n __type: OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE,\n };\n }\n return {\n apiName: apiName,\n type: typeHint,\n nonNameSpacedApiName: apiName,\n __type: OntologyEntityTypeEnum.SHARED_PROPERTY_TYPE,\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,SAAS,MAAM,gBAAgB;AACtC,SACEC,sBAAsB,QAGjB,YAAY;;AAEnB;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CACtCC,IAIC,EACmB;EACpB,MAAM;IAAEC,OAAO;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGH,IAAI;EAC/C,IAAIE,WAAW,KAAKE,SAAS,EAAE;IAC7B,CACE,CAACF,WAAW,CAACG,QAAQ,CAAC,GAAG,CAAC,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD5BX,SAAS,QAEP,8CAA8C,IAFhDA,SAAS;IAKT,EACEK,WAAW,CAACO,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAAH,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBADpCX,SAAS,QAEP,6CAA6C,IAF/CA,SAAS;IAKT,OAAO;MACLI,OAAO,EAAEC,WAAW,GAAG,GAAG,GAAGD,OAAO;MACpCS,IAAI,EAAEP,QAAQ;MACdQ,oBAAoB,EAAEV,OAAO;MAC7BW,MAAM,EAAEd,sBAAsB,CAACe;IACjC,CAAC;EACH;EACA,OAAO;IACLZ,OAAO,EAAEA,OAAO;IAChBS,IAAI,EAAEP,QAAQ;IACdQ,oBAAoB,EAAEV,OAAO;IAC7BW,MAAM,EAAEd,sBAAsB,CAACe;EACjC,CAAC;AACH","ignoreList":[]}
|
|
@@ -15,58 +15,61 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import invariant from "tiny-invariant";
|
|
18
|
-
import { namespace, ontologyDefinition } from "./defineOntology.js";
|
|
18
|
+
import { namespace, ontologyDefinition, updateOntology, withoutNamespace } from "./defineOntology.js";
|
|
19
19
|
import { defineSharedPropertyType } from "./defineSpt.js";
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
import { OntologyEntityTypeEnum } from "./types.js";
|
|
21
|
+
export function defineInterface(interfaceDef) {
|
|
22
|
+
const apiName = namespace + interfaceDef.apiName;
|
|
23
|
+
!(ontologyDefinition[OntologyEntityTypeEnum.INTERFACE_TYPE][apiName] === undefined) ? process.env.NODE_ENV !== "production" ? invariant(false, `Interface ${apiName} already exists`) : invariant(false) : void 0;
|
|
24
|
+
const properties = Object.fromEntries(Object.entries(interfaceDef.properties ?? {}).map(([apiName, type]) => {
|
|
24
25
|
if (typeof type === "object" && "propertyDefinition" in type) {
|
|
25
26
|
return [apiName, {
|
|
26
27
|
required: type.required,
|
|
27
|
-
sharedPropertyType: unifyBasePropertyDefinition(apiName, type.propertyDefinition)
|
|
28
|
+
sharedPropertyType: unifyBasePropertyDefinition(namespace, apiName, type.propertyDefinition)
|
|
28
29
|
}];
|
|
29
30
|
}
|
|
30
31
|
return [apiName, {
|
|
31
32
|
required: true,
|
|
32
|
-
sharedPropertyType: unifyBasePropertyDefinition(apiName, type)
|
|
33
|
+
sharedPropertyType: unifyBasePropertyDefinition(namespace, apiName, type)
|
|
33
34
|
}];
|
|
34
35
|
}));
|
|
35
36
|
let extendsInterfaces = [];
|
|
36
|
-
if (
|
|
37
|
-
if (typeof
|
|
38
|
-
extendsInterfaces = [
|
|
39
|
-
} else if (Array.isArray(
|
|
40
|
-
extendsInterfaces =
|
|
41
|
-
} else if (
|
|
42
|
-
extendsInterfaces = [
|
|
37
|
+
if (interfaceDef.extends) {
|
|
38
|
+
if (typeof interfaceDef.extends === "string") {
|
|
39
|
+
extendsInterfaces = [interfaceDef.extends];
|
|
40
|
+
} else if (Array.isArray(interfaceDef.extends) && interfaceDef.extends.every(item => typeof item === "string")) {
|
|
41
|
+
extendsInterfaces = interfaceDef.extends;
|
|
42
|
+
} else if (interfaceDef.extends.apiName !== undefined) {
|
|
43
|
+
extendsInterfaces = [interfaceDef.extends.apiName];
|
|
43
44
|
} else {
|
|
44
|
-
extendsInterfaces =
|
|
45
|
+
extendsInterfaces = interfaceDef.extends.map(item => item.apiName);
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
const status = mapSimplifiedStatusToInterfaceTypeStatus(
|
|
48
|
+
const status = mapSimplifiedStatusToInterfaceTypeStatus(interfaceDef.status ?? {
|
|
48
49
|
type: "active"
|
|
49
50
|
});
|
|
50
51
|
!(status.type !== "deprecated" || status.deprecated.message && status.deprecated.deadline) ? process.env.NODE_ENV !== "production" ? invariant(false, `Deprecated status must include message and deadline properties.`) : invariant(false) : void 0;
|
|
51
|
-
const
|
|
52
|
+
const fullInterface = {
|
|
52
53
|
apiName,
|
|
53
54
|
displayMetadata: {
|
|
54
|
-
displayName:
|
|
55
|
-
description:
|
|
56
|
-
icon:
|
|
55
|
+
displayName: interfaceDef.displayName ?? interfaceDef.apiName,
|
|
56
|
+
description: interfaceDef.description ?? interfaceDef.displayName ?? interfaceDef.apiName,
|
|
57
|
+
icon: interfaceDef.icon !== undefined ? {
|
|
57
58
|
type: "blueprint",
|
|
58
59
|
blueprint: {
|
|
59
|
-
color:
|
|
60
|
-
locator:
|
|
60
|
+
color: interfaceDef.icon.color,
|
|
61
|
+
locator: interfaceDef.icon.locator
|
|
61
62
|
}
|
|
62
63
|
} : undefined
|
|
63
64
|
},
|
|
64
65
|
extendsInterfaces: extendsInterfaces,
|
|
65
66
|
links: [],
|
|
66
67
|
status,
|
|
67
|
-
propertiesV2: properties
|
|
68
|
+
propertiesV2: properties,
|
|
69
|
+
__type: OntologyEntityTypeEnum.INTERFACE_TYPE
|
|
68
70
|
};
|
|
69
|
-
|
|
71
|
+
updateOntology(fullInterface);
|
|
72
|
+
return fullInterface;
|
|
70
73
|
}
|
|
71
74
|
function isPropertyTypeType(v) {
|
|
72
75
|
return v === "boolean" || v === "byte" || v === "date" || v === "decimal" || v === "double" || v === "float" || v === "geopoint" || v === "geoshape" || v === "integer" || v === "long" || typeof v === "object" && v.type === "marking" || v === "short" || v === "string" || v === "timestamp";
|
|
@@ -96,7 +99,7 @@ function mapSimplifiedStatusToInterfaceTypeStatus(status) {
|
|
|
96
99
|
throw new Error(`Invalid status type: ${status.type}`);
|
|
97
100
|
}
|
|
98
101
|
}
|
|
99
|
-
function unifyBasePropertyDefinition(apiName, type) {
|
|
102
|
+
function unifyBasePropertyDefinition(namespace, apiName, type) {
|
|
100
103
|
if (typeof type === "string" || typeof type === "object" && !("apiName" in type)) {
|
|
101
104
|
!isPropertyTypeType(type) ? process.env.NODE_ENV !== "production" ? invariant(false, `Invalid data type ${JSON.stringify(type)} for property ${apiName} on InterfaceType ${apiName}`) : invariant(false) : void 0;
|
|
102
105
|
const spt = defineSharedPropertyType({
|
|
@@ -107,7 +110,7 @@ function unifyBasePropertyDefinition(apiName, type) {
|
|
|
107
110
|
});
|
|
108
111
|
return spt;
|
|
109
112
|
} else {
|
|
110
|
-
const unNamespacedTypeApiName =
|
|
113
|
+
const unNamespacedTypeApiName = withoutNamespace(type.apiName);
|
|
111
114
|
!(namespace + apiName === type.apiName || apiName === unNamespacedTypeApiName) ? process.env.NODE_ENV !== "production" ? invariant(false, `property key and it's apiName must be identical. ${JSON.stringify({
|
|
112
115
|
key: apiName,
|
|
113
116
|
apiName: type.apiName
|