@epilot/entity-client 7.3.2 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/openapi.d.ts CHANGED
@@ -3431,6 +3431,12 @@ declare namespace Components {
3431
3431
  * false
3432
3432
  */
3433
3433
  default_visible?: boolean;
3434
+ /**
3435
+ * How wide this widget is by default in the entity-details widget grid. Only meaningful on the `EntityDetailsV2:Widget` and `EntityDetailsV2:Header` hooks. Defaults to `full_width` when omitted — deliberately unlike the attribute layout default of `half_width`, because a full-width widget can never leave a hole in a row. An admin's explicit choice in the entity builder is stored in the schema's `ui_config.widget_widths` and wins over this.
3436
+ * example:
3437
+ * half_width
3438
+ */
3439
+ default_width?: "one_third_width" | "half_width" | "two_third_width" | "full_width";
3434
3440
  /**
3435
3441
  * The pricing-tier settings key an organisation must have enabled to use this widget. Omit for widgets available to everyone. Resolved against `GET /v2/pricing-tiers/me` as `override_settings[key].enabled ?? settings[key].enabled`. Note this is commercial packaging enforced in the UI, not a security control — the key must also be added to the pricing tier settings list in epilot-admin-portal, or it can never be switched on for a tier.
3436
3442
  * example:
@@ -3605,6 +3611,12 @@ declare namespace Components {
3605
3611
  * false
3606
3612
  */
3607
3613
  default_visible?: boolean;
3614
+ /**
3615
+ * How wide this widget is by default in the entity-details widget grid. Only meaningful on the `EntityDetailsV2:Widget` and `EntityDetailsV2:Header` hooks. Defaults to `full_width` when omitted — deliberately unlike the attribute layout default of `half_width`, because a full-width widget can never leave a hole in a row. An admin's explicit choice in the entity builder is stored in the schema's `ui_config.widget_widths` and wins over this.
3616
+ * example:
3617
+ * half_width
3618
+ */
3619
+ default_width?: "one_third_width" | "half_width" | "two_third_width" | "full_width";
3608
3620
  /**
3609
3621
  * The pricing-tier settings key an organisation must have enabled to use this widget. Omit for widgets available to everyone. Resolved against `GET /v2/pricing-tiers/me` as `override_settings[key].enabled ?? settings[key].enabled`. Note this is commercial packaging enforced in the UI, not a security control — the key must also be added to the pricing tier settings list in epilot-admin-portal, or it can never be switched on for a tier.
3610
3622
  * example:
@@ -4606,7 +4618,7 @@ declare namespace Components {
4606
4618
  show_sharing_button?: boolean;
4607
4619
  };
4608
4620
  /**
4609
- * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.
4621
+ * Superseded by `widget_widths`. A whole-grid layout preset that assigned each widget a width by its POSITION, so a widget that rendered nothing shifted every width after it. Neither the entity app nor the entity builder reads it any more; values stored before it was replaced are left in place rather than migrated.
4610
4622
  */
4611
4623
  grid_layout?: {
4612
4624
  /**
@@ -4637,6 +4649,17 @@ declare namespace Components {
4637
4649
  widget_visibility?: {
4638
4650
  [name: string]: boolean;
4639
4651
  };
4652
+ /**
4653
+ * Per-widget width in the entity-details widget grid, keyed by widget id (a capability widget's `component`, or `summary` for the synthesized summary card). Spans a 12-column grid: `one_third_width` = 4, `half_width` = 6, `two_third_width` = 8, `full_width` = 12. Holds only the admin's deviations from each widget's declared default: a widget absent from this map falls back to its ui_hook `default_width`, and then to `full_width`. Do not seed this map from migrations — doing so would freeze today's defaults into the schema. Replaces the positional `grid_layout` preset.
4654
+ * example:
4655
+ * {
4656
+ * "address_map": "full_width",
4657
+ * "recent_communications": "one_third_width"
4658
+ * }
4659
+ */
4660
+ widget_widths?: {
4661
+ [name: string]: "one_third_width" | "half_width" | "two_third_width" | "full_width";
4662
+ };
4640
4663
  };
4641
4664
  capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[];
4642
4665
  /**
@@ -5048,7 +5071,7 @@ declare namespace Components {
5048
5071
  show_sharing_button?: boolean;
5049
5072
  };
5050
5073
  /**
5051
- * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.
5074
+ * Superseded by `widget_widths`. A whole-grid layout preset that assigned each widget a width by its POSITION, so a widget that rendered nothing shifted every width after it. Neither the entity app nor the entity builder reads it any more; values stored before it was replaced are left in place rather than migrated.
5052
5075
  */
5053
5076
  grid_layout?: {
5054
5077
  /**
@@ -5079,6 +5102,17 @@ declare namespace Components {
5079
5102
  widget_visibility?: {
5080
5103
  [name: string]: boolean;
5081
5104
  };
5105
+ /**
5106
+ * Per-widget width in the entity-details widget grid, keyed by widget id (a capability widget's `component`, or `summary` for the synthesized summary card). Spans a 12-column grid: `one_third_width` = 4, `half_width` = 6, `two_third_width` = 8, `full_width` = 12. Holds only the admin's deviations from each widget's declared default: a widget absent from this map falls back to its ui_hook `default_width`, and then to `full_width`. Do not seed this map from migrations — doing so would freeze today's defaults into the schema. Replaces the positional `grid_layout` preset.
5107
+ * example:
5108
+ * {
5109
+ * "address_map": "full_width",
5110
+ * "recent_communications": "one_third_width"
5111
+ * }
5112
+ */
5113
+ widget_widths?: {
5114
+ [name: string]: "one_third_width" | "half_width" | "two_third_width" | "full_width";
5115
+ };
5082
5116
  };
5083
5117
  capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[];
5084
5118
  /**
@@ -6169,6 +6203,34 @@ declare namespace Components {
6169
6203
  * ]
6170
6204
  */
6171
6205
  fields?: string[];
6206
+ /**
6207
+ * Narrows this node's traversal results to entities matching every filter (AND semantics). Useful for
6208
+ * disambiguating among multiple entities reachable via the same graph edge.
6209
+ *
6210
+ */
6211
+ filter?: /* Entities are included in this node's result only if `attribute` exactly equals the literal `value`. */ GraphNodeFilter[];
6212
+ }
6213
+ /**
6214
+ * Entities are included in this node's result only if `attribute` exactly equals the literal `value`.
6215
+ */
6216
+ export interface GraphNodeFilter {
6217
+ /**
6218
+ * Entity attribute name to match against. Must be a plain attribute name, not an Elasticsearch field path.
6219
+ * example:
6220
+ * order_number
6221
+ */
6222
+ attribute: string;
6223
+ /**
6224
+ * Literal value the attribute must exactly equal for the entity to be included in this node's result.
6225
+ * example:
6226
+ * OR-113
6227
+ */
6228
+ value: /**
6229
+ * Literal value the attribute must exactly equal for the entity to be included in this node's result.
6230
+ * example:
6231
+ * OR-113
6232
+ */
6233
+ (string | null) | number | boolean;
6172
6234
  }
6173
6235
  export interface GraphQueryRequest {
6174
6236
  seed: GraphSeed;
@@ -19605,6 +19667,7 @@ export type GetRelationsRespWithPagination = Components.Schemas.GetRelationsResp
19605
19667
  export type GraphDefinition = Components.Schemas.GraphDefinition;
19606
19668
  export type GraphEdge = Components.Schemas.GraphEdge;
19607
19669
  export type GraphNode = Components.Schemas.GraphNode;
19670
+ export type GraphNodeFilter = Components.Schemas.GraphNodeFilter;
19608
19671
  export type GraphQueryRequest = Components.Schemas.GraphQueryRequest;
19609
19672
  export type GraphQueryResponse = Components.Schemas.GraphQueryResponse;
19610
19673
  export type GraphSeed = Components.Schemas.GraphSeed;
package/dist/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.0.2",
3
3
  "info": {
4
4
  "title": "Entity API",
5
- "version": "2.9.0",
5
+ "version": "2.10.0",
6
6
  "description": "Flexible data layer for epilot Entities.\n\nUse this API configure and access your business objects like Contacts, Opportunities and Products.\n\n[Feature Documentation](https://docs.epilot.io/docs/entities/flexible-entities)\n"
7
7
  },
8
8
  "tags": [
@@ -5072,7 +5072,8 @@
5072
5072
  },
5073
5073
  "grid_layout": {
5074
5074
  "type": "object",
5075
- "description": "Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.",
5075
+ "deprecated": true,
5076
+ "description": "Superseded by `widget_widths`. A whole-grid layout preset that assigned each widget a width by its POSITION, so a widget that rendered nothing shifted every width after it. Neither the entity app nor the entity builder reads it any more; values stored before it was replaced are left in place rather than migrated.",
5076
5077
  "properties": {
5077
5078
  "id": {
5078
5079
  "type": "string",
@@ -5108,6 +5109,23 @@
5108
5109
  "next_best_action": true,
5109
5110
  "address_map": false
5110
5111
  }
5112
+ },
5113
+ "widget_widths": {
5114
+ "type": "object",
5115
+ "description": "Per-widget width in the entity-details widget grid, keyed by widget id (a capability widget's `component`, or `summary` for the synthesized summary card). Spans a 12-column grid: `one_third_width` = 4, `half_width` = 6, `two_third_width` = 8, `full_width` = 12. Holds only the admin's deviations from each widget's declared default: a widget absent from this map falls back to its ui_hook `default_width`, and then to `full_width`. Do not seed this map from migrations — doing so would freeze today's defaults into the schema. Replaces the positional `grid_layout` preset.",
5116
+ "additionalProperties": {
5117
+ "type": "string",
5118
+ "enum": [
5119
+ "one_third_width",
5120
+ "half_width",
5121
+ "two_third_width",
5122
+ "full_width"
5123
+ ]
5124
+ },
5125
+ "example": {
5126
+ "address_map": "full_width",
5127
+ "recent_communications": "one_third_width"
5128
+ }
5111
5129
  }
5112
5130
  }
5113
5131
  },
@@ -7577,6 +7595,17 @@
7577
7595
  "description": "Whether this widget is switched on by default for entity types that have the capability. Only meaningful on the `EntityDetailsV2:Widget` hook. Defaults to true when omitted. An admin's explicit choice in the entity builder is stored in the schema's `ui_config.widget_visibility` and wins over this.",
7578
7596
  "example": false
7579
7597
  },
7598
+ "default_width": {
7599
+ "type": "string",
7600
+ "enum": [
7601
+ "one_third_width",
7602
+ "half_width",
7603
+ "two_third_width",
7604
+ "full_width"
7605
+ ],
7606
+ "description": "How wide this widget is by default in the entity-details widget grid. Only meaningful on the `EntityDetailsV2:Widget` and `EntityDetailsV2:Header` hooks. Defaults to `full_width` when omitted — deliberately unlike the attribute layout default of `half_width`, because a full-width widget can never leave a hole in a row. An admin's explicit choice in the entity builder is stored in the schema's `ui_config.widget_widths` and wins over this.",
7607
+ "example": "half_width"
7608
+ },
7580
7609
  "pricing_tier_setting": {
7581
7610
  "type": "string",
7582
7611
  "description": "The pricing-tier settings key an organisation must have enabled to use this widget. Omit for widgets available to everyone. Resolved against `GET /v2/pricing-tiers/me` as `override_settings[key].enabled ?? settings[key].enabled`. Note this is commercial packaging enforced in the UI, not a security control — the key must also be added to the pricing tier settings list in epilot-admin-portal, or it can never be switched on for a tier.",
@@ -8964,6 +8993,39 @@
8964
8993
  "description": "Optional array of field names to include in the hydrated entity response for this node.\nWhen specified, only the requested fields plus required internal fields (_id, _schema, _org) will be returned.\nOnly applies when hydrate=true.\n"
8965
8994
  }
8966
8995
  ]
8996
+ },
8997
+ "filter": {
8998
+ "type": "array",
8999
+ "description": "Narrows this node's traversal results to entities matching every filter (AND semantics). Useful for\ndisambiguating among multiple entities reachable via the same graph edge.\n",
9000
+ "items": {
9001
+ "$ref": "#/components/schemas/GraphNodeFilter"
9002
+ }
9003
+ }
9004
+ }
9005
+ },
9006
+ "GraphNodeFilter": {
9007
+ "type": "object",
9008
+ "description": "Entities are included in this node's result only if `attribute` exactly equals the literal `value`.",
9009
+ "required": [
9010
+ "attribute",
9011
+ "value"
9012
+ ],
9013
+ "properties": {
9014
+ "attribute": {
9015
+ "type": "string",
9016
+ "description": "Entity attribute name to match against. Must be a plain attribute name, not an Elasticsearch field path.",
9017
+ "example": "order_number"
9018
+ },
9019
+ "value": {
9020
+ "allOf": [
9021
+ {
9022
+ "$ref": "#/components/schemas/SearchFilterValue"
9023
+ },
9024
+ {
9025
+ "description": "Literal value the attribute must exactly equal for the entity to be included in this node's result."
9026
+ }
9027
+ ],
9028
+ "example": "OR-113"
8967
9029
  }
8968
9030
  }
8969
9031
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/entity-client",
3
- "version": "7.3.2",
3
+ "version": "7.4.0",
4
4
  "description": "JavaScript client library for the epilot Core Entity API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",