@milaboratories/pl-model-middle-layer 1.7.43 → 1.7.44

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.
@@ -1,6 +1,6 @@
1
1
  import { ProjectMeta } from './project';
2
2
  import { BlockPackSpec } from './block_registry/block_pack_spec';
3
- import { BlockRenderingMode, BlockSection, NavigationState } from '@milaboratories/pl-model-common';
3
+ import { BlockCodeFeatureFlags, BlockRenderingMode, BlockSection, NavigationState } from '@milaboratories/pl-model-common';
4
4
  import { AuthorMarker } from './author_marker';
5
5
  import { UpdateSuggestions } from './update_info';
6
6
  import { BlockSettings } from './block_settings';
@@ -104,6 +104,18 @@ export type BlockStateOverview = {
104
104
  * Udefined when block-pack for this block is not yet materialized.
105
105
  * */
106
106
  sdkVersion: string | undefined;
107
+ /**
108
+ * Feature flags the block was compiled with.
109
+ * Udefined when block-pack for this block is not yet materialized.
110
+ * */
111
+ featureFlags: BlockCodeFeatureFlags | undefined;
112
+ /**
113
+ * True if block is incompatible with the runtime.
114
+ * Other properties of this block overview will be filled with best effort.
115
+ * This block should not be openable; the only available action for it is deletion.
116
+ * Undefined when block-pack for this block is not yet materialized.
117
+ * */
118
+ isIncompatibleWithRuntime: boolean | undefined;
107
119
  /** Information on where the block pack for this block came from */
108
120
  currentBlockPack: BlockPackSpec | undefined;
109
121
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"project_overview.d.ts","sourceRoot":"","sources":["../src/project_overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpF,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG;IAC5B,+DAA+D;IAC/D,IAAI,EAAE,WAAW,CAAC;IAElB,0BAA0B;IAC1B,OAAO,EAAE,IAAI,CAAC;IAEd,mCAAmC;IACnC,YAAY,EAAE,IAAI,CAAC;IAEnB;;;;;;SAMK;IACL,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,0CAA0C;IAC1C,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kFAAkF;IAClF,iBAAiB,EAAE,MAAM,CAAC;IAE1B,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;SAKK;IACL,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,2BAA2B;IAC3B,aAAa,EAAE,kBAAkB,CAAC;IAElC;;;SAGK;IACL,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;SAKK;IACL,KAAK,EAAE,OAAO,CAAC;IAEf;;;SAGK;IACL,YAAY,EAAE,OAAO,CAAC;IAEtB;;;SAGK;IACL,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;SAGK;IACL,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,2CAA2C;IAC3C,iBAAiB,EAAE,sBAAsB,CAAC;IAE1C;;;SAGK;IACL,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;;SAGK;IACL,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;;SAGK;IACL,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAErC;;;SAGK;IACL,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IAEjC;;;SAGK;IACL,MAAM,EAAE,OAAO,CAAC;IAEhB;;;SAGK;IACL,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B,mEAAmE;IACnE,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAE5C;;;SAGK;IACL,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAE5C,6BAA6B;IAC7B,QAAQ,EAAE,aAAa,CAAC;IAExB,8BAA8B;IAC9B,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,4CAA4C;IAC5C,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"project_overview.d.ts","sourceRoot":"","sources":["../src/project_overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAC3H,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpF,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG;IAC5B,+DAA+D;IAC/D,IAAI,EAAE,WAAW,CAAC;IAElB,0BAA0B;IAC1B,OAAO,EAAE,IAAI,CAAC;IAEd,mCAAmC;IACnC,YAAY,EAAE,IAAI,CAAC;IAEnB;;;;;;SAMK;IACL,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,0CAA0C;IAC1C,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,kFAAkF;IAClF,iBAAiB,EAAE,MAAM,CAAC;IAE1B,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;SAKK;IACL,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,2BAA2B;IAC3B,aAAa,EAAE,kBAAkB,CAAC;IAElC;;;SAGK;IACL,gBAAgB,EAAE,OAAO,CAAC;IAE1B;;;;;SAKK;IACL,KAAK,EAAE,OAAO,CAAC;IAEf;;;SAGK;IACL,YAAY,EAAE,OAAO,CAAC;IAEtB;;;SAGK;IACL,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;SAGK;IACL,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,2CAA2C;IAC3C,iBAAiB,EAAE,sBAAsB,CAAC;IAE1C;;;SAGK;IACL,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;;SAGK;IACL,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;;SAGK;IACL,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAErC;;;SAGK;IACL,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IAEjC;;;SAGK;IACL,MAAM,EAAE,OAAO,CAAC;IAEhB;;;SAGK;IACL,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/B;;;SAGK;IACL,YAAY,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAEhD;;;;;SAKK;IACL,yBAAyB,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/C,mEAAmE;IACnE,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAE5C;;;SAGK;IACL,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAE5C,6BAA6B;IAC7B,QAAQ,EAAE,aAAa,CAAC;IAExB,8BAA8B;IAC9B,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,4CAA4C;IAC5C,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-model-middle-layer",
3
- "version": "1.7.43",
3
+ "version": "1.7.44",
4
4
  "description": "Common model between middle layer and non-block UI code",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "remeda": "^2.22.6",
21
21
  "zod": "~3.23.8",
22
22
  "utility-types": "^3.11.0",
23
- "@milaboratories/pl-model-common": "^1.15.9"
23
+ "@milaboratories/pl-model-common": "^1.16.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "typescript": "~5.6.3",
@@ -3,6 +3,7 @@ import { BlockComponentsDescriptionRaw } from './block_components';
3
3
  import { BlockPackMetaDescriptionRaw } from './block_meta';
4
4
  import { BlockPackId } from './block_id';
5
5
  import * as R from 'remeda';
6
+ import { BlockCodeKnownFeatureFlags } from '@milaboratories/pl-model-common';
6
7
 
7
8
  /** Description, as appears in root block package.json file,
8
9
  * `file:` references are parsed into relative content of corresponding type, depending on the context,
@@ -12,6 +13,9 @@ export const BlockPackDescriptionFromPackageJsonRaw = z.object({
12
13
  meta: BlockPackMetaDescriptionRaw
13
14
  });
14
15
 
16
+ export const FeatureFlags = z.record(z.string(), z.union([z.boolean(), z.number()]))
17
+ .transform((flags) => flags as BlockCodeKnownFeatureFlags);
18
+
15
19
  export function CreateBlockPackDescriptionSchema<
16
20
  Components extends ZodTypeAny,
17
21
  Meta extends ZodTypeAny
@@ -19,7 +23,8 @@ export function CreateBlockPackDescriptionSchema<
19
23
  return z.object({
20
24
  id: BlockPackId,
21
25
  components,
22
- meta
26
+ meta,
27
+ featureFlags: FeatureFlags.optional()
23
28
  });
24
29
  }
25
30
 
@@ -3,6 +3,7 @@ import {
3
3
  BlockPackId,
4
4
  BlockPackIdNoVersion,
5
5
  BlockPackMetaEmbeddedBytes,
6
+ FeatureFlags,
6
7
  SemVer
7
8
  } from '../block_meta';
8
9
  import { BlockPackFromRegistryV2, BlockPackSpec } from './block_pack_spec';
@@ -34,7 +35,8 @@ export const VersionWithChannels = z.object({
34
35
  export const SingleBlockPackOverview = z.object({
35
36
  id: BlockPackId,
36
37
  meta: BlockPackMetaEmbeddedBytes,
37
- spec: BlockPackSpec
38
+ featureFlags: FeatureFlags.optional(),
39
+ spec: BlockPackSpec,
38
40
  });
39
41
  export type SingleBlockPackOverview = z.infer<typeof SingleBlockPackOverview>;
40
42
 
@@ -1,6 +1,6 @@
1
1
  import { ProjectMeta } from './project';
2
2
  import { BlockPackSpec } from './block_registry/block_pack_spec';
3
- import { BlockRenderingMode, BlockSection, NavigationState } from '@milaboratories/pl-model-common';
3
+ import { BlockCodeFeatureFlags, BlockRenderingMode, BlockSection, NavigationState } from '@milaboratories/pl-model-common';
4
4
  import { AuthorMarker } from './author_marker';
5
5
  import { UpdateSuggestions } from './update_info';
6
6
  import { BlockSettings } from './block_settings';
@@ -128,6 +128,20 @@ export type BlockStateOverview = {
128
128
  * */
129
129
  sdkVersion: string | undefined;
130
130
 
131
+ /**
132
+ * Feature flags the block was compiled with.
133
+ * Udefined when block-pack for this block is not yet materialized.
134
+ * */
135
+ featureFlags: BlockCodeFeatureFlags | undefined;
136
+
137
+ /**
138
+ * True if block is incompatible with the runtime.
139
+ * Other properties of this block overview will be filled with best effort.
140
+ * This block should not be openable; the only available action for it is deletion.
141
+ * Undefined when block-pack for this block is not yet materialized.
142
+ * */
143
+ isIncompatibleWithRuntime: boolean | undefined;
144
+
131
145
  /** Information on where the block pack for this block came from */
132
146
  currentBlockPack: BlockPackSpec | undefined;
133
147