@datarails-ai/dr-appspace-cli 0.12.19 → 0.12.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +48 -8
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -13,7 +13,7 @@ import { fileURLToPath as fileURLToPath6 } from "url";
13
13
  // package.json
14
14
  var package_default = {
15
15
  name: "@datarails-ai/dr-appspace-cli",
16
- version: "0.12.19",
16
+ version: "0.12.20",
17
17
  description: "Datarails App Space CLI \u2014 build, try, push and publish App Space apps",
18
18
  type: "module",
19
19
  engines: {
@@ -57,7 +57,7 @@ var package_default = {
57
57
  };
58
58
 
59
59
  // src/buildInfo.ts
60
- var BUILD_TIME = "2026-10-19T17:50:40.715Z";
60
+ var BUILD_TIME = "2026-10-20T10:31:07.488Z";
61
61
  function formatBuildTime(iso) {
62
62
  if (iso === "") return "";
63
63
  const d = new Date(iso);
@@ -6210,7 +6210,7 @@ var CHART_FORMATS = Object.freeze(["currency", "number", "percent"]);
6210
6210
  var PLATFORM_FORMAT = Object.freeze({ "type": "string", "maxLength": 64, "pattern": "^(General|[^\\u0000-\\u001f]*[#0][^\\u0000-\\u001f]*)$" });
6211
6211
  var NEGATIVE_MODES = Object.freeze(["minus", "red_minus", "absolute", "red_absolute"]);
6212
6212
  var FORMAT_PATTERNS = Object.freeze({ "currency": "$#,###", "number": "#,###", "percent": '#,###.#"%"' });
6213
- var PLATFORM_NUMBERS = Object.freeze({ "dr-app-runtime": "1.11.0", "dr-app-widgets": "1.2.0", "dr-components": "1.2.0", "dr-components-controls": "1.1.0" });
6213
+ var PLATFORM_NUMBERS = Object.freeze({ "dr-app-runtime": "1.12.0", "dr-app-widgets": "1.2.0", "dr-components": "1.2.0", "dr-components-controls": "1.1.0" });
6214
6214
  var ROW_ACTION_WHEN = Object.freeze({ "dr-components": "1.2.0" });
6215
6215
  var PROPS_SINCE = Object.freeze({ "select": { "multiple": "1.3.0", "searchable": "1.3.0", "group_by": "1.3.0", "values": "1.3.0", "options[].group": "1.3.0" }, "data_grid": { "theme": "1.3.0", "hierarchy": "1.3.0", "totals": "1.3.0", "pin": "1.3.0", "csv_params": "1.3.0", "columns[].cell": "1.3.0", "columns[].badge_map": "1.3.0", "columns[].status_map": "1.3.0", "columns[].link_field": "1.3.0", "columns[].call": "1.3.0", "selection": "1.4.0", "sticky_header": "1.4.0", "search": "1.4.0", "row_detail": "1.4.0", "columns[].weight": "1.4.0", "columns[].currency_field": "1.4.0", "columns[].cell_secondary": "1.4.0", "columns[].badge_labels": "1.4.0", "detail_fields": "1.4.0", "columns[].compact": "1.5.0", "columns[].truncate": "1.5.0", "columns[].max_width": "1.5.0" }, "filter_bar": { "layout": "1.4.0", "filters[].kind=text": "1.4.0", "filters[].kind=number-range": "1.4.0", "filters[].param_min": "1.4.0", "filters[].param_max": "1.4.0", "filters[].mode": "1.4.0", "filters[].placeholder": "1.4.0", "filters[].placeholder_min": "1.4.0", "filters[].placeholder_max": "1.4.0" } });
6216
6216
  var MODULE_OF = Object.freeze({ "widget": "dr-app-widgets", "form": "dr-app-runtime", "list": "dr-app-runtime", "detail": "dr-app-runtime", "queue": "dr-app-runtime", "action": "dr-app-runtime", "filter": "dr-app-runtime", "stat": "dr-app-runtime", "chart": "dr-app-runtime", "custom": "dr-app-runtime", "field": "dr-app-runtime", "number_input": "dr-components", "tabs": "dr-components", "tab_panel": "dr-components", "select": "dr-components", "date_picker": "dr-components", "data_grid": "dr-components", "dialog": "dr-components", "variance_table": "dr-components", "toggle": "dr-components", "control_group": "dr-components", "callout": "dr-components", "scenario_columns": "dr-components", "slider": "dr-components-controls", "button": "dr-components", "status": "dr-components", "badge": "dr-components", "tag": "dr-components", "empty_state": "dr-components", "stepper": "dr-components", "alert": "dr-components", "checkbox": "dr-components", "radio_group": "dr-components", "file_upload": "dr-components", "skeleton": "dr-components", "progress": "dr-components", "accordion": "dr-components", "tooltip_info": "dr-components", "filter_bar": "dr-components", "filter_chip": "dr-components", "date_range": "dr-components", "fiscal_month": "dr-components", "search_input": "dr-components", "split_pane": "dr-components", "file_viewer": "dr-components", "line_grid": "dr-components", "document": "dr-components", "panel": "dr-app-runtime" });
@@ -10888,12 +10888,12 @@ function badgesCss() {
10888
10888
  }
10889
10889
 
10890
10890
  // ../flows/insights-builder/kit/contract/compileApp.mjs
10891
- var RUNTIME = "dr-app-runtime@1.10.0";
10891
+ var RUNTIME = "dr-app-runtime@1.11.0";
10892
10892
  var UI_KIT2 = "ui-kit/v4";
10893
10893
  var CHARTS = "echarts@5.6.0";
10894
10894
  var FMT = "dr-fmt@2.1.0";
10895
10895
  var TOKENS = "dr-tokens@1.0.0";
10896
- var WIDGETS = "dr-app-widgets@1.3.1";
10896
+ var WIDGETS = "dr-app-widgets@1.4.0";
10897
10897
  var COMPONENTS = "dr-components@1.5.0";
10898
10898
  var CONTROLS = "dr-components-controls@1.2.0";
10899
10899
  var PART_FILES = {
@@ -11257,6 +11257,35 @@ function financeosScopeProblems(name, row, origin, declared) {
11257
11257
  }
11258
11258
  );
11259
11259
  }
11260
+ var MENU_SHAPES = ["kpi", "series", "breakdown", "table", "scatter"];
11261
+ var MENU_SINCE = Object.freeze({ "dr-app-runtime": "1.11.0", "dr-app-widgets": "1.4.0" });
11262
+ function opensRows(row) {
11263
+ if (!isPlainObject6(row) || row.drill === false || originOf(row) !== "financeos") return false;
11264
+ if (row.transform !== void 0 && row.transform !== null) return false;
11265
+ if (!MENU_SHAPES.includes(row.shape ?? "rows")) return false;
11266
+ const read = isPlainObject6(row.from.financeos) ? row.from.financeos : {};
11267
+ if (read.metric_id !== void 0 && read.metric_id !== null) return false;
11268
+ return Boolean(read.table_alias) || read.table_id !== void 0 && read.table_id !== null || read.address === "id" || read.address === "alias";
11269
+ }
11270
+ function fillMenuScope(app, sources, elements) {
11271
+ const financeos = app?.capabilities?.financeos;
11272
+ if (!Array.isArray(financeos) || financeos.length === 0 || financeos.includes("raw:read")) return { app, warnings: [] };
11273
+ const carded = /* @__PURE__ */ new Set();
11274
+ for (const element of Object.values(elements ?? {})) {
11275
+ const name = element?.props?.source;
11276
+ if (element?.type === "widget" && named5(name)) carded.add(name);
11277
+ }
11278
+ const opening = [...carded].filter((name) => Object.prototype.hasOwnProperty.call(sources ?? {}, name) && opensRows(sources[name])).sort(natural3);
11279
+ if (opening.length === 0) return { app, warnings: [] };
11280
+ return {
11281
+ app: { ...app, capabilities: { ...app.capabilities, financeos: [...financeos, "raw:read"] } },
11282
+ warnings: opening.map((name) => ({
11283
+ code: "financeos_scope_menu",
11284
+ pointer: "/app/capabilities/financeos",
11285
+ message: `widget source "${name}" opens the point menu's Drill down list (Show rows, Export as CSV), which reads the rows behind a point with financeos scope raw:read; "raw:read" was added to app.capabilities.financeos`
11286
+ }))
11287
+ };
11288
+ }
11260
11289
  function servedSources(elements, sources) {
11261
11290
  const out = /* @__PURE__ */ new Set();
11262
11291
  for (const element of Object.values(elements)) {
@@ -11999,6 +12028,17 @@ function compileApp(contract, { kit = null, runtime = RUNTIME, extra = {} } = {}
11999
12028
  const themed = fillTheme(app, hoisted.pages);
12000
12029
  const pages = themed.pages;
12001
12030
  if (themed.app !== app) contract = { ...contract, app: themed.app };
12031
+ const drawsMenu = pinAtLeast(runtime, MENU_SINCE["dr-app-runtime"]) && pinAtLeast(appWidgets, MENU_SINCE["dr-app-widgets"]);
12032
+ const scoped = drawsMenu ? fillMenuScope(contract.app, sources, elements) : { app: contract.app, warnings: [] };
12033
+ if (scoped.app !== contract.app) {
12034
+ contract = { ...contract, app: scoped.app };
12035
+ const mirrored = contract.backend?.capabilities?.financeos;
12036
+ if (Array.isArray(mirrored) && !mirrored.includes("raw:read")) {
12037
+ contract = { ...contract, backend: { ...contract.backend, capabilities: { ...contract.backend.capabilities, financeos: [...mirrored, "raw:read"] } } };
12038
+ }
12039
+ warnings.push(...scoped.warnings);
12040
+ }
12041
+ const manifestApp = scoped.app === contract.app && scoped.warnings.length > 0 ? { ...app, capabilities: scoped.app.capabilities } : app;
12002
12042
  const order2 = emittedOrder(contract, elements, pages, tree);
12003
12043
  problems.push(...placementProblems(elements, pages, tree, order2));
12004
12044
  if (problems.length > 0) return { files: {}, problems, contract, warnings };
@@ -12006,7 +12046,7 @@ function compileApp(contract, { kit = null, runtime = RUNTIME, extra = {} } = {}
12006
12046
  const served = servedSources(elements, sources);
12007
12047
  const transforms = transformTexts2(sources, extra);
12008
12048
  const files = {};
12009
- files["manifest.json"] = json(manifestOf(contract, app, handlers, names, model, served));
12049
+ files["manifest.json"] = json(manifestOf(contract, manifestApp, handlers, names, model, served));
12010
12050
  if (app.data_model) files["data_model.json"] = json(dataModelOf(app.data_model));
12011
12051
  for (const name of names) {
12012
12052
  const path3 = `handlers/${name}.py`;
@@ -21924,7 +21964,7 @@ var CHART_FORMATS4 = Object.freeze(["currency", "number", "percent"]);
21924
21964
  var PLATFORM_FORMAT2 = Object.freeze({ "type": "string", "maxLength": 64, "pattern": "^(General|[^\\u0000-\\u001f]*[#0][^\\u0000-\\u001f]*)$" });
21925
21965
  var NEGATIVE_MODES3 = Object.freeze(["minus", "red_minus", "absolute", "red_absolute"]);
21926
21966
  var FORMAT_PATTERNS3 = Object.freeze({ "currency": "$#,###", "number": "#,###", "percent": '#,###.#"%"' });
21927
- var PLATFORM_NUMBERS3 = Object.freeze({ "dr-app-runtime": "1.11.0", "dr-app-widgets": "1.2.0", "dr-components": "1.2.0", "dr-components-controls": "1.1.0" });
21967
+ var PLATFORM_NUMBERS3 = Object.freeze({ "dr-app-runtime": "1.12.0", "dr-app-widgets": "1.2.0", "dr-components": "1.2.0", "dr-components-controls": "1.1.0" });
21928
21968
  var ROW_ACTION_WHEN3 = Object.freeze({ "dr-components": "1.2.0" });
21929
21969
  var PROPS_SINCE3 = Object.freeze({ "select": { "multiple": "1.3.0", "searchable": "1.3.0", "group_by": "1.3.0", "values": "1.3.0", "options[].group": "1.3.0" }, "data_grid": { "theme": "1.3.0", "hierarchy": "1.3.0", "totals": "1.3.0", "pin": "1.3.0", "csv_params": "1.3.0", "columns[].cell": "1.3.0", "columns[].badge_map": "1.3.0", "columns[].status_map": "1.3.0", "columns[].link_field": "1.3.0", "columns[].call": "1.3.0", "selection": "1.4.0", "sticky_header": "1.4.0", "search": "1.4.0", "row_detail": "1.4.0", "columns[].weight": "1.4.0", "columns[].currency_field": "1.4.0", "columns[].cell_secondary": "1.4.0", "columns[].badge_labels": "1.4.0", "detail_fields": "1.4.0", "columns[].compact": "1.5.0", "columns[].truncate": "1.5.0", "columns[].max_width": "1.5.0" }, "filter_bar": { "layout": "1.4.0", "filters[].kind=text": "1.4.0", "filters[].kind=number-range": "1.4.0", "filters[].param_min": "1.4.0", "filters[].param_max": "1.4.0", "filters[].mode": "1.4.0", "filters[].placeholder": "1.4.0", "filters[].placeholder_min": "1.4.0", "filters[].placeholder_max": "1.4.0" } });
21930
21970
  var MODULE_OF3 = Object.freeze({ "widget": "dr-app-widgets", "form": "dr-app-runtime", "list": "dr-app-runtime", "detail": "dr-app-runtime", "queue": "dr-app-runtime", "action": "dr-app-runtime", "filter": "dr-app-runtime", "stat": "dr-app-runtime", "chart": "dr-app-runtime", "custom": "dr-app-runtime", "field": "dr-app-runtime", "number_input": "dr-components", "tabs": "dr-components", "tab_panel": "dr-components", "select": "dr-components", "date_picker": "dr-components", "data_grid": "dr-components", "dialog": "dr-components", "variance_table": "dr-components", "toggle": "dr-components", "control_group": "dr-components", "callout": "dr-components", "scenario_columns": "dr-components", "slider": "dr-components-controls", "button": "dr-components", "status": "dr-components", "badge": "dr-components", "tag": "dr-components", "empty_state": "dr-components", "stepper": "dr-components", "alert": "dr-components", "checkbox": "dr-components", "radio_group": "dr-components", "file_upload": "dr-components", "skeleton": "dr-components", "progress": "dr-components", "accordion": "dr-components", "tooltip_info": "dr-components", "filter_bar": "dr-components", "filter_chip": "dr-components", "date_range": "dr-components", "fiscal_month": "dr-components", "search_input": "dr-components", "split_pane": "dr-components", "file_viewer": "dr-components", "line_grid": "dr-components", "document": "dr-components", "panel": "dr-app-runtime" });
@@ -27230,7 +27270,7 @@ var kit_default2 = {
27230
27270
  checks: "checks/run.mjs",
27231
27271
  contract: "contract/extract.mjs",
27232
27272
  charts: "echarts@5.6.0",
27233
- appWidgets: "dr-app-widgets@1.3.1",
27273
+ appWidgets: "dr-app-widgets@1.4.0",
27234
27274
  appComponents: "dr-components@1.5.0",
27235
27275
  appControls: "dr-components-controls@1.2.0"
27236
27276
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarails-ai/dr-appspace-cli",
3
- "version": "0.12.19",
3
+ "version": "0.12.20",
4
4
  "description": "Datarails App Space CLI — build, try, push and publish App Space apps",
5
5
  "type": "module",
6
6
  "engines": {