@epilot/cli 0.1.121 → 0.1.122

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/README.md CHANGED
@@ -29,7 +29,7 @@ npm install -g @epilot/cli
29
29
 
30
30
  <!-- usage-help -->
31
31
  ```
32
- epilot v0.1.121 — CLI for epilot APIs
32
+ epilot v0.1.122 — CLI for epilot APIs
33
33
 
34
34
  USAGE
35
35
  epilot <api> <operationId> [params...] [flags]
@@ -6043,10 +6043,15 @@
6043
6043
  "properties": {
6044
6044
  "templates": {
6045
6045
  "type": "object",
6046
+ "deprecated": true,
6046
6047
  "additionalProperties": {
6047
6048
  "type": "string"
6048
6049
  },
6049
- "description": "Map of content field name to Handlebars template string. Each template is resolved per related meter and returned as templates_output on the meter."
6050
+ "description": "DEPRECATED — client-supplied map of content field name to Handlebars template string, resolved per related meter and returned as templates_output on the meter. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled."
6051
+ },
6052
+ "templates_ref": {
6053
+ "$ref": "#/components/schemas/TemplatesRef",
6054
+ "description": "Reference to the meter selector block whose admin-configured content provides the templates, derived server-side."
6050
6055
  }
6051
6056
  }
6052
6057
  }
@@ -8521,17 +8526,23 @@
8521
8526
  },
8522
8527
  "templates": {
8523
8528
  "type": "object",
8529
+ "deprecated": true,
8524
8530
  "additionalProperties": {
8525
8531
  "type": "string"
8526
8532
  },
8527
- "description": "Template map (key to Handlebars template string). Each template is resolved per reading."
8533
+ "description": "DEPRECATED — client-supplied template map (key to Handlebars template string), resolved per reading. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled."
8528
8534
  },
8529
8535
  "counter_templates": {
8530
8536
  "type": "object",
8537
+ "deprecated": true,
8531
8538
  "additionalProperties": {
8532
8539
  "type": "string"
8533
8540
  },
8534
- "description": "Template map resolved against the counter entity."
8541
+ "description": "DEPRECATED — client-supplied template map resolved against the counter entity. Use `templates_ref` instead; same deprecation rules as `templates`."
8542
+ },
8543
+ "templates_ref": {
8544
+ "$ref": "#/components/schemas/TemplatesRef",
8545
+ "description": "Reference to the meter reading block whose admin-configured content provides both the per-reading templates (content_top_name, main_content_name, content_bottom_name) and the counter templates (counter_title_name, counter_subtitle_name), derived server-side."
8535
8546
  }
8536
8547
  }
8537
8548
  }
@@ -9303,7 +9314,7 @@
9303
9314
  "post": {
9304
9315
  "operationId": "interpolatePortalPages",
9305
9316
  "summary": "interpolatePortalPages",
9306
- "description": "Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved.",
9317
+ "description": "Interpolate template variables in portal pages without reading from the database. Accepts pages in the request body and returns them with templates resolved. Portal Builder preview only: requires a 360 (epilot) token or a `portal_preview` token; plain portal user tokens get 403.",
9307
9318
  "tags": [
9308
9319
  "ECP Admin"
9309
9320
  ],
@@ -13929,9 +13940,36 @@
13929
13940
  },
13930
13941
  "templates": {
13931
13942
  "type": "object",
13943
+ "deprecated": true,
13944
+ "description": "DEPRECATED — client-supplied Handlebars templates. Use `templates_ref` instead so templates are derived server-side from admin-authored portal configuration. Ignored when `templates_ref` is present; rejected once the org has the `portals-reject-client-templates` flag enabled.",
13932
13945
  "additionalProperties": {
13933
13946
  "type": "string"
13934
13947
  }
13948
+ },
13949
+ "templates_ref": {
13950
+ "$ref": "#/components/schemas/TemplatesRef"
13951
+ }
13952
+ }
13953
+ },
13954
+ "TemplatesRef": {
13955
+ "type": "object",
13956
+ "description": "Reference to admin-authored portal configuration (a page block or a global search configuration item) from which the API derives Handlebars templates server-side. This replaces client-supplied template strings so portal users can never submit arbitrary templates for resolution. When both a reference and raw `templates` are provided, the reference wins and the raw templates are ignored.",
13957
+ "properties": {
13958
+ "page_id": {
13959
+ "type": "string",
13960
+ "description": "ID of the portal page to derive templates from. When given without `block_id`, templates are derived from every block of the page and returned resolved as a nested map keyed by block id (the entity detail page contract)."
13961
+ },
13962
+ "block_id": {
13963
+ "type": "string",
13964
+ "description": "ID of a block within the page. Templates are derived from the block's content according to its block type (e.g. meter_selector, meter_reading, entity_list)."
13965
+ },
13966
+ "config_id": {
13967
+ "type": "string",
13968
+ "description": "For blocks carrying a per-schema configuration array (entity_list), the id of the configuration item to derive templates from. Requires `page_id` and `block_id`."
13969
+ },
13970
+ "global_search_config_id": {
13971
+ "type": "string",
13972
+ "description": "ID of the portal's `global_search` configuration item to derive search result templates and the group title template from. Mutually exclusive with `page_id`."
13935
13973
  }
13936
13974
  }
13937
13975
  },
@@ -15773,7 +15811,8 @@
15773
15811
  },
15774
15812
  "templates": {
15775
15813
  "type": "object",
15776
- "description": "Template strings to parse and return as synthetic fields. Supports both string values and nested objects of strings.",
15814
+ "deprecated": true,
15815
+ "description": "DEPRECATED — client-supplied template strings to parse and return as synthetic fields. Supports both string values and nested objects of strings. Use `templates_ref` instead so templates are derived server-side from admin-authored portal configuration; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.",
15777
15816
  "additionalProperties": {
15778
15817
  "oneOf": [
15779
15818
  {
@@ -15797,6 +15836,10 @@
15797
15836
  }
15798
15837
  }
15799
15838
  },
15839
+ "templates_ref": {
15840
+ "$ref": "#/components/schemas/TemplatesRef",
15841
+ "description": "Reference to the portal page (or a single block within it) whose admin-configured content provides the templates, derived server-side. With only `page_id`, the derived templates are a nested map keyed by block id, mirroring the entity detail page contract."
15842
+ },
15800
15843
  "filters": {
15801
15844
  "type": "array",
15802
15845
  "description": "Additional filters to apply to the search query",
@@ -15913,7 +15956,8 @@
15913
15956
  },
15914
15957
  "group_title": {
15915
15958
  "type": "string",
15916
- "description": "Template for group title using variables",
15959
+ "deprecated": true,
15960
+ "description": "DEPRECATED — client-supplied Handlebars template for the group title. Use `templates_ref` (global_search_config_id) instead; overridden when `templates_ref` derives a group title and rejected once the org has the `portals-reject-client-templates` flag enabled.",
15917
15961
  "example": "{{customer[Primary].first_name}} {{customer[Primary].last_name}}"
15918
15962
  },
15919
15963
  "group_size": {
@@ -15980,7 +16024,8 @@
15980
16024
  },
15981
16025
  "templates": {
15982
16026
  "type": "object",
15983
- "description": "Template strings to parse and return as synthetic fields",
16027
+ "deprecated": true,
16028
+ "description": "DEPRECATED — client-supplied template strings to parse and return as synthetic fields. Use `templates_ref` instead; ignored when `templates_ref` is present and rejected once the org has the `portals-reject-client-templates` flag enabled.",
15984
16029
  "additionalProperties": {
15985
16030
  "type": "string"
15986
16031
  },
@@ -15990,6 +16035,10 @@
15990
16035
  "content_bottom_name": "{{custom_contract_delivery_address}}"
15991
16036
  }
15992
16037
  },
16038
+ "templates_ref": {
16039
+ "$ref": "#/components/schemas/TemplatesRef",
16040
+ "description": "Reference to admin-authored configuration providing the templates, derived server-side. For the global search block pass `global_search_config_id`; the derived templates also supply the group title template (overriding `group_title`)."
16041
+ },
15993
16042
  "filters": {
15994
16043
  "type": "array",
15995
16044
  "description": "Additional filters to apply to the search query",
@@ -11,7 +11,7 @@ import { defineCommand } from "citty";
11
11
  var main = defineCommand({
12
12
  meta: {
13
13
  name: "epilot",
14
- version: "0.1.121",
14
+ version: "0.1.122",
15
15
  description: "CLI for epilot APIs"
16
16
  },
17
17
  args: {
@@ -31,7 +31,7 @@ var main = defineCommand({
31
31
  profile: () => import("../profile-OZJL5ZPT.js").then((m) => m.default),
32
32
  config: () => import("../config-DGZIMLZK.js").then((m) => m.default),
33
33
  completion: () => import("../completion-F6MX5VSK.js").then((m) => m.default),
34
- upgrade: () => import("../upgrade-ILRFCGYF.js").then((m) => m.default),
34
+ upgrade: () => import("../upgrade-YUHDEDOT.js").then((m) => m.default),
35
35
  "access-token": () => import("../access-token-WWE6BDJH.js").then((m) => m.default),
36
36
  address: () => import("../address-EH3C4CVB.js").then((m) => m.default),
37
37
  "address-suggestions": () => import("../address-suggestions-RRSLOBFW.js").then((m) => m.default),
@@ -134,7 +134,7 @@ process.stderr.on("error", (err) => {
134
134
  if (err.code === "EPIPE") process.exit(0);
135
135
  throw err;
136
136
  });
137
- var VERSION = true ? "0.1.121" : (await null).default.version;
137
+ var VERSION = true ? "0.1.122" : (await null).default.version;
138
138
  var reorderedArgv = hoistFlagsAfterSubcommand(process.argv.slice(2));
139
139
  process.argv = [process.argv[0], process.argv[1], ...reorderedArgv];
140
140
  var args = process.argv.slice(2);
@@ -72,7 +72,7 @@ ${GREEN}${BOLD}Upgraded to @epilot/cli@${latest}${RESET}
72
72
  }
73
73
  });
74
74
  var getCurrentVersion = () => {
75
- if (true) return "0.1.121";
75
+ if (true) return "0.1.122";
76
76
  try {
77
77
  const output = execSync("npm ls -g @epilot/cli --depth=0 --json 2>/dev/null", {
78
78
  encoding: "utf-8",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/cli",
3
- "version": "0.1.121",
3
+ "version": "0.1.122",
4
4
  "description": "CLI for epilot APIs",
5
5
  "type": "module",
6
6
  "bin": {