@milaboratories/pl-model-common 1.47.3 → 1.49.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.
Files changed (242) hide show
  1. package/dist/author_marker.d.ts +1 -2
  2. package/dist/author_marker.d.ts.map +1 -1
  3. package/dist/base64.d.ts +4 -6
  4. package/dist/base64.d.ts.map +1 -1
  5. package/dist/block_state.d.ts +13 -9
  6. package/dist/block_state.d.ts.map +1 -1
  7. package/dist/bmodel/block_config.d.ts +51 -29
  8. package/dist/bmodel/block_config.d.ts.map +1 -1
  9. package/dist/bmodel/block_kind_ref.cjs +45 -0
  10. package/dist/bmodel/block_kind_ref.cjs.map +1 -0
  11. package/dist/bmodel/block_kind_ref.d.ts +55 -0
  12. package/dist/bmodel/block_kind_ref.d.ts.map +1 -0
  13. package/dist/bmodel/block_kind_ref.js +43 -0
  14. package/dist/bmodel/block_kind_ref.js.map +1 -0
  15. package/dist/bmodel/code.d.ts +4 -5
  16. package/dist/bmodel/code.d.ts.map +1 -1
  17. package/dist/bmodel/container.d.ts +13 -5
  18. package/dist/bmodel/container.d.ts.map +1 -1
  19. package/dist/bmodel/index.cjs +4 -0
  20. package/dist/bmodel/index.d.ts +2 -1
  21. package/dist/bmodel/index.js +2 -1
  22. package/dist/bmodel/normalization.d.ts +1 -3
  23. package/dist/bmodel/normalization.d.ts.map +1 -1
  24. package/dist/bmodel/types.d.ts +1 -2
  25. package/dist/bmodel/types.d.ts.map +1 -1
  26. package/dist/branding.d.ts +2 -3
  27. package/dist/branding.d.ts.map +1 -1
  28. package/dist/columns/accessor_traversal.d.ts +6 -8
  29. package/dist/columns/accessor_traversal.d.ts.map +1 -1
  30. package/dist/columns/column_registry.d.ts +2 -3
  31. package/dist/columns/column_registry.d.ts.map +1 -1
  32. package/dist/columns/column_selector.d.ts +9 -9
  33. package/dist/columns/column_selector.d.ts.map +1 -1
  34. package/dist/columns/dedup.cjs +1 -1
  35. package/dist/columns/dedup.cjs.map +1 -1
  36. package/dist/columns/dedup.d.ts +2 -4
  37. package/dist/columns/dedup.d.ts.map +1 -1
  38. package/dist/columns/dedup.js +1 -1
  39. package/dist/columns/dedup.js.map +1 -1
  40. package/dist/columns/providers.cjs +1 -1
  41. package/dist/columns/providers.cjs.map +1 -1
  42. package/dist/columns/providers.d.ts +4 -5
  43. package/dist/columns/providers.d.ts.map +1 -1
  44. package/dist/columns/providers.js +1 -1
  45. package/dist/columns/providers.js.map +1 -1
  46. package/dist/columns/types.d.ts +12 -9
  47. package/dist/columns/types.d.ts.map +1 -1
  48. package/dist/common_types.d.ts +4 -6
  49. package/dist/common_types.d.ts.map +1 -1
  50. package/dist/dialog/index.d.ts +4 -5
  51. package/dist/dialog/index.d.ts.map +1 -1
  52. package/dist/driver_kit.d.ts +2 -2
  53. package/dist/driver_kit.d.ts.map +1 -1
  54. package/dist/drivers/ChunkedStreamReader.d.ts +3 -5
  55. package/dist/drivers/ChunkedStreamReader.d.ts.map +1 -1
  56. package/dist/drivers/blob.d.ts +36 -25
  57. package/dist/drivers/blob.d.ts.map +1 -1
  58. package/dist/drivers/columns/columns_collection_driver.d.ts +6 -7
  59. package/dist/drivers/columns/columns_collection_driver.d.ts.map +1 -1
  60. package/dist/drivers/columns/discover_columns_options.d.ts +9 -8
  61. package/dist/drivers/columns/discover_columns_options.d.ts.map +1 -1
  62. package/dist/drivers/index.cjs +5 -0
  63. package/dist/drivers/index.d.ts +5 -3
  64. package/dist/drivers/index.js +3 -3
  65. package/dist/drivers/interfaces.d.ts +2 -3
  66. package/dist/drivers/interfaces.d.ts.map +1 -1
  67. package/dist/drivers/log.d.ts +26 -28
  68. package/dist/drivers/log.d.ts.map +1 -1
  69. package/dist/drivers/ls.d.ts +37 -27
  70. package/dist/drivers/ls.d.ts.map +1 -1
  71. package/dist/drivers/pframe/column_filter.d.ts +1 -3
  72. package/dist/drivers/pframe/column_filter.d.ts.map +1 -1
  73. package/dist/drivers/pframe/data_info.d.ts +77 -50
  74. package/dist/drivers/pframe/data_info.d.ts.map +1 -1
  75. package/dist/drivers/pframe/data_types.d.ts +50 -45
  76. package/dist/drivers/pframe/data_types.d.ts.map +1 -1
  77. package/dist/drivers/pframe/driver.d.ts +5 -5
  78. package/dist/drivers/pframe/driver.d.ts.map +1 -1
  79. package/dist/drivers/pframe/filter_spec.d.ts +10 -12
  80. package/dist/drivers/pframe/filter_spec.d.ts.map +1 -1
  81. package/dist/drivers/pframe/find_columns.d.ts +2 -4
  82. package/dist/drivers/pframe/find_columns.d.ts.map +1 -1
  83. package/dist/drivers/pframe/index.cjs +5 -0
  84. package/dist/drivers/pframe/index.d.ts +5 -3
  85. package/dist/drivers/pframe/index.js +3 -3
  86. package/dist/drivers/pframe/linker_columns.d.ts +4 -10
  87. package/dist/drivers/pframe/linker_columns.d.ts.map +1 -1
  88. package/dist/drivers/pframe/pframe.d.ts +3 -3
  89. package/dist/drivers/pframe/pframe.d.ts.map +1 -1
  90. package/dist/drivers/pframe/query/query_common.d.ts +52 -46
  91. package/dist/drivers/pframe/query/query_common.d.ts.map +1 -1
  92. package/dist/drivers/pframe/query/query_data.d.ts +26 -21
  93. package/dist/drivers/pframe/query/query_data.d.ts.map +1 -1
  94. package/dist/drivers/pframe/query/query_spec.d.ts +22 -19
  95. package/dist/drivers/pframe/query/query_spec.d.ts.map +1 -1
  96. package/dist/drivers/pframe/query/utils.d.ts +15 -11
  97. package/dist/drivers/pframe/query/utils.d.ts.map +1 -1
  98. package/dist/drivers/pframe/spec/anchored.d.ts +3 -5
  99. package/dist/drivers/pframe/spec/anchored.d.ts.map +1 -1
  100. package/dist/drivers/pframe/spec/discovered_column.d.ts +10 -11
  101. package/dist/drivers/pframe/spec/discovered_column.d.ts.map +1 -1
  102. package/dist/drivers/pframe/spec/filtered_column.d.ts +17 -18
  103. package/dist/drivers/pframe/spec/filtered_column.d.ts.map +1 -1
  104. package/dist/drivers/pframe/spec/ids.cjs +151 -0
  105. package/dist/drivers/pframe/spec/ids.cjs.map +1 -1
  106. package/dist/drivers/pframe/spec/ids.d.ts +63 -11
  107. package/dist/drivers/pframe/spec/ids.d.ts.map +1 -1
  108. package/dist/drivers/pframe/spec/ids.js +150 -3
  109. package/dist/drivers/pframe/spec/ids.js.map +1 -1
  110. package/dist/drivers/pframe/spec/index.cjs +5 -0
  111. package/dist/drivers/pframe/spec/index.d.ts +3 -3
  112. package/dist/drivers/pframe/spec/index.js +3 -3
  113. package/dist/drivers/pframe/spec/native_id.d.ts +3 -3
  114. package/dist/drivers/pframe/spec/native_id.d.ts.map +1 -1
  115. package/dist/drivers/pframe/spec/overridden.d.ts +14 -16
  116. package/dist/drivers/pframe/spec/overridden.d.ts.map +1 -1
  117. package/dist/drivers/pframe/spec/selectors.d.ts +22 -22
  118. package/dist/drivers/pframe/spec/selectors.d.ts.map +1 -1
  119. package/dist/drivers/pframe/spec/spec.cjs +31 -0
  120. package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
  121. package/dist/drivers/pframe/spec/spec.d.ts +94 -70
  122. package/dist/drivers/pframe/spec/spec.d.ts.map +1 -1
  123. package/dist/drivers/pframe/spec/spec.js +31 -1
  124. package/dist/drivers/pframe/spec/spec.js.map +1 -1
  125. package/dist/drivers/pframe/spec_driver.d.ts +30 -25
  126. package/dist/drivers/pframe/spec_driver.d.ts.map +1 -1
  127. package/dist/drivers/pframe/table.d.ts +1 -3
  128. package/dist/drivers/pframe/table.d.ts.map +1 -1
  129. package/dist/drivers/pframe/table_calculate.d.ts +55 -46
  130. package/dist/drivers/pframe/table_calculate.d.ts.map +1 -1
  131. package/dist/drivers/pframe/table_common.d.ts +9 -10
  132. package/dist/drivers/pframe/table_common.d.ts.map +1 -1
  133. package/dist/drivers/pframe/unique_values.d.ts +3 -3
  134. package/dist/drivers/pframe/unique_values.d.ts.map +1 -1
  135. package/dist/drivers/upload.d.ts +2 -3
  136. package/dist/drivers/upload.d.ts.map +1 -1
  137. package/dist/drivers/urls.d.ts +7 -8
  138. package/dist/drivers/urls.d.ts.map +1 -1
  139. package/dist/errors.d.ts +35 -36
  140. package/dist/errors.d.ts.map +1 -1
  141. package/dist/flags/block_flags.cjs.map +1 -1
  142. package/dist/flags/block_flags.d.ts +7 -7
  143. package/dist/flags/block_flags.d.ts.map +1 -1
  144. package/dist/flags/block_flags.js.map +1 -1
  145. package/dist/flags/flag_utils.d.ts +6 -8
  146. package/dist/flags/flag_utils.d.ts.map +1 -1
  147. package/dist/flags/type_utils.d.ts +6 -7
  148. package/dist/flags/type_utils.d.ts.map +1 -1
  149. package/dist/httpAuth.d.ts +4 -5
  150. package/dist/httpAuth.d.ts.map +1 -1
  151. package/dist/index.cjs +30 -0
  152. package/dist/index.d.ts +15 -3
  153. package/dist/index.js +9 -3
  154. package/dist/json.d.ts +11 -12
  155. package/dist/json.d.ts.map +1 -1
  156. package/dist/navigation.d.ts +16 -11
  157. package/dist/navigation.d.ts.map +1 -1
  158. package/dist/plid.cjs +1 -1
  159. package/dist/plid.cjs.map +1 -1
  160. package/dist/plid.d.ts +8 -9
  161. package/dist/plid.d.ts.map +1 -1
  162. package/dist/plid.js +1 -1
  163. package/dist/plid.js.map +1 -1
  164. package/dist/pool/entry.d.ts +8 -6
  165. package/dist/pool/entry.d.ts.map +1 -1
  166. package/dist/pool/query.d.ts +3 -4
  167. package/dist/pool/query.d.ts.map +1 -1
  168. package/dist/pool/spec.d.ts +33 -30
  169. package/dist/pool/spec.d.ts.map +1 -1
  170. package/dist/pool_entry.d.ts +2 -3
  171. package/dist/pool_entry.d.ts.map +1 -1
  172. package/dist/project_id.d.ts +1 -3
  173. package/dist/project_id.d.ts.map +1 -1
  174. package/dist/ref.d.ts +22 -23
  175. package/dist/ref.d.ts.map +1 -1
  176. package/dist/resource_types.d.ts +2 -3
  177. package/dist/resource_types.d.ts.map +1 -1
  178. package/dist/services/node_service_handlers.d.ts +1 -3
  179. package/dist/services/node_service_handlers.d.ts.map +1 -1
  180. package/dist/services/service_capabilities.d.ts +7 -9
  181. package/dist/services/service_capabilities.d.ts.map +1 -1
  182. package/dist/services/service_declarations.d.ts +2 -2
  183. package/dist/services/service_declarations.d.ts.map +1 -1
  184. package/dist/services/service_injectors.d.ts +7 -8
  185. package/dist/services/service_injectors.d.ts.map +1 -1
  186. package/dist/services/service_registry.d.ts +2 -4
  187. package/dist/services/service_registry.d.ts.map +1 -1
  188. package/dist/services/service_types.d.ts +24 -26
  189. package/dist/services/service_types.d.ts.map +1 -1
  190. package/dist/template/index.cjs +20 -0
  191. package/dist/template/index.d.ts +5 -0
  192. package/dist/template/index.js +5 -0
  193. package/dist/template/kind_selector.cjs +92 -0
  194. package/dist/template/kind_selector.cjs.map +1 -0
  195. package/dist/template/kind_selector.d.ts +78 -0
  196. package/dist/template/kind_selector.d.ts.map +1 -0
  197. package/dist/template/kind_selector.js +87 -0
  198. package/dist/template/kind_selector.js.map +1 -0
  199. package/dist/template/project_template_v1.cjs +231 -0
  200. package/dist/template/project_template_v1.cjs.map +1 -0
  201. package/dist/template/project_template_v1.d.ts +217 -0
  202. package/dist/template/project_template_v1.d.ts.map +1 -0
  203. package/dist/template/project_template_v1.js +225 -0
  204. package/dist/template/project_template_v1.js.map +1 -0
  205. package/dist/template/template_ref_form.cjs +73 -0
  206. package/dist/template/template_ref_form.cjs.map +1 -0
  207. package/dist/template/template_ref_form.d.ts +75 -0
  208. package/dist/template/template_ref_form.d.ts.map +1 -0
  209. package/dist/template/template_ref_form.js +72 -0
  210. package/dist/template/template_ref_form.js.map +1 -0
  211. package/dist/template/template_relocate.cjs +67 -0
  212. package/dist/template/template_relocate.cjs.map +1 -0
  213. package/dist/template/template_relocate.d.ts +36 -0
  214. package/dist/template/template_relocate.d.ts.map +1 -0
  215. package/dist/template/template_relocate.js +67 -0
  216. package/dist/template/template_relocate.js.map +1 -0
  217. package/dist/utag.d.ts +2 -4
  218. package/dist/utag.d.ts.map +1 -1
  219. package/dist/util.d.ts +2 -3
  220. package/dist/util.d.ts.map +1 -1
  221. package/dist/value_or_error.d.ts +2 -3
  222. package/dist/value_or_error.d.ts.map +1 -1
  223. package/package.json +5 -5
  224. package/src/bmodel/block_kind_ref.ts +59 -0
  225. package/src/bmodel/container.ts +9 -0
  226. package/src/bmodel/index.ts +1 -0
  227. package/src/columns/dedup.ts +1 -1
  228. package/src/columns/providers.ts +1 -1
  229. package/src/drivers/pframe/spec/ids.test.ts +90 -0
  230. package/src/drivers/pframe/spec/ids.ts +191 -1
  231. package/src/drivers/pframe/spec/spec.ts +31 -0
  232. package/src/flags/block_flags.ts +1 -1
  233. package/src/index.ts +1 -0
  234. package/src/plid.ts +5 -5
  235. package/src/template/index.ts +4 -0
  236. package/src/template/kind_selector.ts +126 -0
  237. package/src/template/project_template_v1.test.ts +315 -0
  238. package/src/template/project_template_v1.ts +444 -0
  239. package/src/template/template_ref_form.test.ts +86 -0
  240. package/src/template/template_ref_form.ts +108 -0
  241. package/src/template/template_relocate.test.ts +239 -0
  242. package/src/template/template_relocate.ts +89 -0
@@ -1,7 +1,7 @@
1
1
  //#region src/author_marker.d.ts
2
2
  /** Structure to help resolve conflicts if multiple participants writes to
3
3
  * the same state */
4
- interface AuthorMarker {
4
+ export interface AuthorMarker {
5
5
  /** Unique identifier of client or even a specific window that sets this
6
6
  * particular state */
7
7
  authorId: string;
@@ -9,5 +9,4 @@ interface AuthorMarker {
9
9
  localVersion: number;
10
10
  }
11
11
  //#endregion
12
- export { AuthorMarker };
13
12
  //# sourceMappingURL=author_marker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"author_marker.d.ts","names":[],"sources":["../src/author_marker.ts"],"mappings":";;AAEA;UAAiB,YAAA;;;EAGf,QAAA;;EAGA,YAAY;AAAA"}
1
+ {"version":3,"file":"author_marker.d.ts","names":[],"sources":["../src/author_marker.ts"],"mappings":";;;iBAEiB;;;EAGf;;EAGA"}
package/dist/base64.d.ts CHANGED
@@ -1,12 +1,10 @@
1
1
  import { WithImplicitCoercion } from "node:buffer";
2
-
3
2
  //#region src/base64.d.ts
4
- type Base64Compatible<T> = T extends WithImplicitCoercion<Uint8Array | readonly number[] | string> ? T : never;
5
- type Base64Encoded<T = unknown> = Base64Compatible<T> extends never ? never : string & {
3
+ export type Base64Compatible<T> = T extends WithImplicitCoercion<Uint8Array | readonly number[] | string> ? T : never;
4
+ export type Base64Encoded<T = unknown> = Base64Compatible<T> extends never ? never : string & {
6
5
  __base64_encoded: T;
7
6
  };
8
- declare function base64Encode<T>(value: Base64Compatible<T>): Base64Encoded<T>;
9
- declare function base64Decode<T extends string>(value: Base64Encoded<T>): T;
7
+ export declare function base64Encode<T>(value: Base64Compatible<T>): Base64Encoded<T>;
8
+ export declare function base64Decode<T extends string>(value: Base64Encoded<T>): T;
10
9
  //#endregion
11
- export { Base64Compatible, Base64Encoded, base64Decode, base64Encode };
12
10
  //# sourceMappingURL=base64.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base64.d.ts","names":[],"sources":["../src/base64.ts"],"mappings":";;;KAEY,gBAAA,MACV,CAAA,SAAU,oBAAA,CAAqB,UAAA,iCAA2C,CAAA;AAAA,KAEhE,aAAA,gBACV,gBAAA,CAAiB,CAAA;EAGX,gBAAA,EAAkB,CAAA;AAAA;AAAA,iBAGV,YAAA,IAAgB,KAAA,EAAO,gBAAA,CAAiB,CAAA,IAAK,aAAA,CAAc,CAAA;AAAA,iBAI3D,YAAA,mBAA+B,KAAA,EAAO,aAAA,CAAc,CAAA,IAAK,CAAA"}
1
+ {"version":3,"file":"base64.d.ts","names":[],"sources":["../src/base64.ts"],"mappings":";;YAEY,iBAAiB,KAC3B,UAAU,qBAAqB,2CAA2C;YAEhE,cAAc,eACxB,iBAAiB;EAGX,kBAAkB;;wBAGV,aAAa,GAAG,OAAO,iBAAiB,KAAK,cAAc;wBAI3D,aAAa,kBAAkB,OAAO,cAAc,KAAK"}
@@ -2,7 +2,6 @@ import { AuthorMarker } from "./author_marker.js";
2
2
  import { BlockOutputsBase } from "./common_types.js";
3
3
  import { NavigationState } from "./navigation.js";
4
4
  import { StringifiedJson } from "./json.js";
5
-
6
5
  //#region src/block_state.d.ts
7
6
  /**
8
7
  * @template Args sets type of block arguments passed to the workflow
@@ -12,21 +11,26 @@ import { StringifiedJson } from "./json.js";
12
11
  * to the workflow
13
12
  * @template Href typed href to represent navigation state
14
13
  */
15
- type BlockState<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`> = {
16
- /** Block arguments passed to the workflow */args: Args;
14
+ export type BlockState<Args = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, UiState = unknown, Href extends `/${string}` = `/${string}`> = {
15
+ /** Block arguments passed to the workflow */
16
+ args: Args;
17
17
  /** UI State persisted in the block state but not passed to the backend
18
18
  * template */
19
- ui: UiState; /** Outputs rendered with block config */
20
- outputs: Outputs; /** Current navigation state */
19
+ ui: UiState;
20
+ /** Outputs rendered with block config */
21
+ outputs: Outputs;
22
+ /** Current navigation state */
21
23
  navigationState: NavigationState<Href>;
22
24
  readonly author: AuthorMarker | undefined;
23
25
  };
24
- type BlockStateV3<_Data = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`> = {
25
- /** Block storage persisted in the block state */blockStorage: StringifiedJson; /** Outputs rendered with block config */
26
- outputs: Outputs; /** Current navigation state */
26
+ export type BlockStateV3<_Data = unknown, Outputs extends BlockOutputsBase = BlockOutputsBase, Href extends `/${string}` = `/${string}`> = {
27
+ /** Block storage persisted in the block state */
28
+ blockStorage: StringifiedJson;
29
+ /** Outputs rendered with block config */
30
+ outputs: Outputs;
31
+ /** Current navigation state */
27
32
  navigationState: NavigationState<Href>;
28
33
  readonly author: AuthorMarker | undefined;
29
34
  };
30
35
  //#endregion
31
- export { BlockState, BlockStateV3 };
32
36
  //# sourceMappingURL=block_state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block_state.d.ts","names":[],"sources":["../src/block_state.ts"],"mappings":";;;;;;;;AAaA;;;;;;KAAY,UAAA,iCAEM,gBAAA,GAAmB,gBAAA;EAY1B,6CAPT,IAAA,EAAM,IAAA;EAUW;;EANjB,EAAA,EAAI,OAAA,EAQyB;EAL7B,OAAA,EAAS,OAAA,EAZT;EAeA,eAAA,EAAiB,eAAA,CAAgB,IAAA;EAAA,SAExB,MAAA,EAAQ,YAAA;AAAA;AAAA,KAGP,YAAA,kCAEM,gBAAA,GAAmB,gBAAA;EAjBnC,iDAqBA,YAAA,EAAc,eAAA,EAjBd;EAoBA,OAAA,EAAS,OAAA,EAjBT;EAoBA,eAAA,EAAiB,eAAA,CAAgB,IAAA;EAAA,SAExB,MAAA,EAAQ,YAAA;AAAA"}
1
+ {"version":3,"file":"block_state.d.ts","names":[],"sources":["../src/block_state.ts"],"mappings":";;;;;;;;;;;;;YAaY,WACV,gBACA,gBAAgB,mBAAmB,kBACnC,mBACA;;EAGA,MAAM;;;EAIN,IAAI;;EAGJ,SAAS;;EAGT,iBAAiB,gBAAgB;WAExB,QAAQ;;YAGP,aACV,iBACA,gBAAgB,mBAAmB,kBACnC;;EAGA,cAAc;;EAGd,SAAS;;EAGT,iBAAiB,gBAAgB;WAExB,QAAQ"}
@@ -1,41 +1,57 @@
1
1
  import { BlockCodeFeatureFlags } from "../flags/block_flags.js";
2
+ import "../flags/index.js";
2
3
  import { BlockCodeWithInfo, Code } from "./code.js";
3
4
  import { BlockRenderingMode } from "./types.js";
4
-
5
5
  //#region src/bmodel/block_config.d.ts
6
6
  /**
7
7
  * BroadActiveHandleDescriptor = TypedConfigOrConfigLambda,
8
8
  * NarrowActiveHandleDescriptor = ConfigRenderLambda
9
9
  */
10
- type BlockConfigV4Generic<_Args = unknown, _Data extends Record<string, unknown> = Record<string, unknown>, BroadActiveHandleDescriptor = unknown, NarrowActiveHandleDescriptor extends BroadActiveHandleDescriptor = BroadActiveHandleDescriptor, Outputs extends Record<string, BroadActiveHandleDescriptor> = Record<string, BroadActiveHandleDescriptor>> = {
11
- /** Discriminator to identify config version */readonly configVersion: 4;
12
- readonly modelAPIVersion: 2; /** SDK version used by the block */
13
- readonly sdkVersion: string; /** Main rendering mode for the block */
14
- readonly renderingMode: BlockRenderingMode; /** Lambda to derive list of sections for the left overview panel */
15
- readonly sections: NarrowActiveHandleDescriptor; /** Lambda to derive block title */
16
- readonly title?: NarrowActiveHandleDescriptor; /** Lambda to derive block subtitle, shown below the title */
17
- readonly subtitle?: NarrowActiveHandleDescriptor; /** Lambda returning array of tags for search functionality */
10
+ export type BlockConfigV4Generic<_Args = unknown, _Data extends Record<string, unknown> = Record<string, unknown>, BroadActiveHandleDescriptor = unknown, NarrowActiveHandleDescriptor extends BroadActiveHandleDescriptor = BroadActiveHandleDescriptor, Outputs extends Record<string, BroadActiveHandleDescriptor> = Record<string, BroadActiveHandleDescriptor>> = {
11
+ /** Discriminator to identify config version */
12
+ readonly configVersion: 4;
13
+ readonly modelAPIVersion: 2;
14
+ /** SDK version used by the block */
15
+ readonly sdkVersion: string;
16
+ /** Main rendering mode for the block */
17
+ readonly renderingMode: BlockRenderingMode;
18
+ /** Lambda to derive list of sections for the left overview panel */
19
+ readonly sections: NarrowActiveHandleDescriptor;
20
+ /** Lambda to derive block title */
21
+ readonly title?: NarrowActiveHandleDescriptor;
22
+ /** Lambda to derive block subtitle, shown below the title */
23
+ readonly subtitle?: NarrowActiveHandleDescriptor;
24
+ /** Lambda returning array of tags for search functionality */
18
25
  readonly tags?: BroadActiveHandleDescriptor;
19
26
  /**
20
27
  * Lambda returning list of upstream blocks this block enriches with its exports,
21
28
  * influences dependency graph construction
22
29
  * */
23
- readonly enrichmentTargets?: NarrowActiveHandleDescriptor; /** Configuration for the output cells */
24
- readonly outputs: Outputs; /** Config code bundle */
25
- readonly code?: Code; /** Feature flags for the block Model and UI code. */
26
- readonly featureFlags?: BlockCodeFeatureFlags; /** Facade callbacks supported by this block (for pre-execution validation) */
30
+ readonly enrichmentTargets?: NarrowActiveHandleDescriptor;
31
+ /** Configuration for the output cells */
32
+ readonly outputs: Outputs;
33
+ /** Config code bundle */
34
+ readonly code?: Code;
35
+ /** Feature flags for the block Model and UI code. */
36
+ readonly featureFlags?: BlockCodeFeatureFlags;
37
+ /** Facade callbacks supported by this block (for pre-execution validation) */
27
38
  readonly blockLifecycleCallbacks: Record<string, NarrowActiveHandleDescriptor>;
28
39
  };
29
40
  /**
30
41
  * BroadActiveHandleDescriptor = TypedConfigOrConfigLambda,
31
42
  * NarrowActiveHandleDescriptor = ConfigRenderLambda
32
43
  */
33
- type BlockConfigV3Generic<Args = unknown, UiState = unknown, BroadActiveHandleDescriptor = unknown, NarrowActiveHandleDescriptor extends BroadActiveHandleDescriptor = BroadActiveHandleDescriptor, Outputs extends Record<string, BroadActiveHandleDescriptor> = Record<string, BroadActiveHandleDescriptor>> = {
34
- /** Discriminator to identify config version */readonly configVersion: 3;
35
- readonly modelAPIVersion: 1; /** SDK version used by the block */
36
- readonly sdkVersion: string; /** Main rendering mode for the block */
37
- readonly renderingMode: BlockRenderingMode; /** Initial value for the args when block is added to the project */
38
- readonly initialArgs: Args; /** Initial value for the args when block is added to the project */
44
+ export type BlockConfigV3Generic<Args = unknown, UiState = unknown, BroadActiveHandleDescriptor = unknown, NarrowActiveHandleDescriptor extends BroadActiveHandleDescriptor = BroadActiveHandleDescriptor, Outputs extends Record<string, BroadActiveHandleDescriptor> = Record<string, BroadActiveHandleDescriptor>> = {
45
+ /** Discriminator to identify config version */
46
+ readonly configVersion: 3;
47
+ readonly modelAPIVersion: 1;
48
+ /** SDK version used by the block */
49
+ readonly sdkVersion: string;
50
+ /** Main rendering mode for the block */
51
+ readonly renderingMode: BlockRenderingMode;
52
+ /** Initial value for the args when block is added to the project */
53
+ readonly initialArgs: Args;
54
+ /** Initial value for the args when block is added to the project */
39
55
  readonly initialUiState: UiState;
40
56
  /**
41
57
  * Config to determine whether the block can be executed with current
@@ -43,22 +59,28 @@ type BlockConfigV3Generic<Args = unknown, UiState = unknown, BroadActiveHandleDe
43
59
  *
44
60
  * Optional to support earlier SDK version configs.
45
61
  */
46
- readonly inputsValid: BroadActiveHandleDescriptor; /** Configuration to derive list of section for the left overview panel */
47
- readonly sections: BroadActiveHandleDescriptor; /** Lambda to derive block title */
48
- readonly title?: NarrowActiveHandleDescriptor; /** Lambda to derive block subtitle, shown below the title */
49
- readonly subtitle?: NarrowActiveHandleDescriptor; /** Lambda returning array of tags for search functionality */
62
+ readonly inputsValid: BroadActiveHandleDescriptor;
63
+ /** Configuration to derive list of section for the left overview panel */
64
+ readonly sections: BroadActiveHandleDescriptor;
65
+ /** Lambda to derive block title */
66
+ readonly title?: NarrowActiveHandleDescriptor;
67
+ /** Lambda to derive block subtitle, shown below the title */
68
+ readonly subtitle?: NarrowActiveHandleDescriptor;
69
+ /** Lambda returning array of tags for search functionality */
50
70
  readonly tags?: BroadActiveHandleDescriptor;
51
71
  /**
52
72
  * Lambda returning list of upstream blocks this block enriches with its exports,
53
73
  * influences dependency graph construction
54
74
  */
55
- readonly enrichmentTargets?: NarrowActiveHandleDescriptor; /** Configuration for the output cells */
56
- readonly outputs: Outputs; /** Config code bundle */
57
- readonly code?: Code; /** Feature flags for the block Model and UI code. */
75
+ readonly enrichmentTargets?: NarrowActiveHandleDescriptor;
76
+ /** Configuration for the output cells */
77
+ readonly outputs: Outputs;
78
+ /** Config code bundle */
79
+ readonly code?: Code;
80
+ /** Feature flags for the block Model and UI code. */
58
81
  readonly featureFlags?: BlockCodeFeatureFlags;
59
82
  };
60
- type BlockConfigGeneric = BlockConfigV3Generic | BlockConfigV4Generic;
61
- declare function extractCodeWithInfo(cfg: BlockConfigGeneric): BlockCodeWithInfo;
83
+ export type BlockConfigGeneric = BlockConfigV3Generic | BlockConfigV4Generic;
84
+ export declare function extractCodeWithInfo(cfg: BlockConfigGeneric): BlockCodeWithInfo;
62
85
  //#endregion
63
- export { BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, extractCodeWithInfo };
64
86
  //# sourceMappingURL=block_config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block_config.d.ts","names":[],"sources":["../../src/bmodel/block_config.ts"],"mappings":";;;;;;;;AAUA;KAAY,oBAAA,gCAEI,MAAA,oBAA0B,MAAA,+FAEH,2BAAA,GAA8B,2BAAA,kBACnD,MAAA,SAAe,2BAAA,IAA+B,MAAA,SAE5D,2BAAA;EAP4B,wDAWrB,aAAA;EAAA,SAEA,eAAA,KAT4B;EAAA,SAY5B,UAAA,UAXsB;EAAA,SActB,aAAA,EAAe,kBAAA,EAZtB;EAAA,SAeO,QAAA,EAAU,4BAAA,EAHK;EAAA,SAMf,KAAA,GAAQ,4BAAA,EAAA;EAAA,SAGR,QAAA,GAAW,4BAAA,EAGJ;EAAA,SAAP,IAAA,GAAO,2BAAA;EASE;;;;EAAA,SAHT,iBAAA,GAAoB,4BAAA,EAYW;EAAA,SAT/B,OAAA,EAAS,OAAA,EAvClB;EAAA,SA0CS,IAAA,GAAO,IAAA,EAzCF;EAAA,SA4CL,YAAA,GAAe,qBAAA,EA3CxB;EAAA,SA8CS,uBAAA,EAAyB,MAAA,SAAe,4BAAA;AAAA;;;;;KAOvC,oBAAA,gHAI2B,2BAAA,GAA8B,2BAAA,kBACnD,MAAA,SAAe,2BAAA,IAA+B,MAAA,SAE5D,2BAAA;EAxDA,wDA4DO,aAAA;EAAA,SAEA,eAAA,KArDA;EAAA,SAwDA,UAAA,UArDe;EAAA,SAwDf,aAAA,EAAe,kBAAA,EArDL;EAAA,SAwDV,WAAA,EAAa,IAAA,EArDL;EAAA,SAwDR,cAAA,EAAgB,OAAA;EArDL;;;;;;EAAA,SA6DX,WAAA,EAAa,2BAAA,EA9Cb;EAAA,SAiDA,QAAA,EAAU,2BAAA,EA9CV;EAAA,SAiDA,KAAA,GAAQ,4BAAA,EA9CR;EAAA,SAiDA,QAAA,GAAW,4BAAA,EAjD6B;EAAA,SAoDxC,IAAA,GAAO,2BAAA;EApD6D;AAO/E;;;EAP+E,SA0DpE,iBAAA,GAAoB,4BAAA,EA/CsC;EAAA,SAkD1D,OAAA,EAAS,OAAA,EAjDF;EAAA,SAoDP,IAAA,GAAO,IAAA,EApD8C;EAAA,SAuDrD,YAAA,GAAe,qBAAA;AAAA;AAAA,KAGd,kBAAA,GAAqB,oBAAA,GAAuB,oBAAoB;AAAA,iBAE5D,mBAAA,CAAoB,GAAA,EAAK,kBAAA,GAAqB,iBAAiB"}
1
+ {"version":3,"file":"block_config.d.ts","names":[],"sources":["../../src/bmodel/block_config.ts"],"mappings":";;;;;;;;;YAUY,qBACV,iBACA,cAAc,0BAA0B,yBACxC,uCACA,qCAAqC,8BAA8B,6BACnE,gBAAgB,eAAe,+BAA+B,eAE5D;;WAIO;WAEA;;WAGA;;WAGA,eAAe;;WAGf,UAAU;;WAGV,QAAQ;;WAGR,WAAW;;WAGX,OAAO;;;;;WAMP,oBAAoB;;WAGpB,SAAS;;WAGT,OAAO;;WAGP,eAAe;;WAGf,yBAAyB,eAAe;;;;;;YAOvC,qBACV,gBACA,mBACA,uCACA,qCAAqC,8BAA8B,6BACnE,gBAAgB,eAAe,+BAA+B,eAE5D;;WAIO;WAEA;;WAGA;;WAGA,eAAe;;WAGf,aAAa;;WAGb,gBAAgB;;;;;;;WAQhB,aAAa;;WAGb,UAAU;;WAGV,QAAQ;;WAGR,WAAW;;WAGX,OAAO;;;;;WAMP,oBAAoB;;WAGpB,SAAS;;WAGT,OAAO;;WAGP,eAAe;;YAGd,qBAAqB,uBAAuB;wBAExC,oBAAoB,KAAK,qBAAqB"}
@@ -0,0 +1,45 @@
1
+ //#region src/bmodel/block_kind_ref.ts
2
+ /**
3
+ * Compose a {@link BlockKindReference} from a kind's `name`/`version`.
4
+ *
5
+ * The single place that decides how the reference is assembled. If global
6
+ * uniqueness later requires the name segment to be org-qualified, this is the
7
+ * one line that changes.
8
+ */
9
+ const formatKindRef = (k) => `${k.name}@${k.version}`;
10
+ /**
11
+ * Split a `{name}@{version}` string on its version separator.
12
+ *
13
+ * The one place that decides where the name ends. Uses the LAST `@` so an
14
+ * org-qualified npm name that itself starts with `@` (e.g.
15
+ * `@platforma-open/pkg.kind`) keeps its whole name. A leading/absent separator
16
+ * (`lastIndexOf("@") <= 0`) means the string carries no version segment —
17
+ * malformed — so this throws rather than returning a silently version-less
18
+ * result.
19
+ *
20
+ * Shared with the template layer, whose `{name}@{selector}` references use the
21
+ * same split and differ only in how the right half is interpreted (see
22
+ * `parseKindSelectorReference`). `what` names the thing being parsed so the
23
+ * error message stays specific to the caller's reference type.
24
+ */
25
+ const splitVersionedName = (ref, what = "block kind reference", expected = "{name}@{version}") => {
26
+ const at = ref.lastIndexOf("@");
27
+ if (at <= 0) throw new Error(`Malformed ${what} (expected '${expected}'): ${ref}`);
28
+ return {
29
+ name: ref.slice(0, at),
30
+ version: ref.slice(at + 1)
31
+ };
32
+ };
33
+ /**
34
+ * Split a {@link BlockKindReference} back into `{ name, version }`.
35
+ *
36
+ * Throws on a reference with no version segment — see
37
+ * {@link splitVersionedName}, which owns the split rule.
38
+ */
39
+ const parseKindRef = (ref) => splitVersionedName(ref);
40
+ //#endregion
41
+ exports.formatKindRef = formatKindRef;
42
+ exports.parseKindRef = parseKindRef;
43
+ exports.splitVersionedName = splitVersionedName;
44
+
45
+ //# sourceMappingURL=block_kind_ref.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_kind_ref.cjs","names":[],"sources":["../../src/bmodel/block_kind_ref.ts"],"sourcesContent":["import type { Branded } from \"@milaboratories/helpers\";\n\n/**\n * On-wire reference to a block kind, canonically the string `{name}@{version}`.\n *\n * A branded string: readers overwhelmingly need identity equality (\"does block\n * X implement kind Y?\"), for which an opaque canonical string is ideal. Any\n * reader that needs the parts calls {@link parseKindRef}; any writer composes\n * the reference through {@link formatKindRef}. Keeping composition in a single\n * function localizes the one open decision — whether the name segment has to be\n * org-qualified for global uniqueness — to one place.\n */\nexport type BlockKindReference = Branded<string, \"BlockKindReference\">;\n\n/**\n * Compose a {@link BlockKindReference} from a kind's `name`/`version`.\n *\n * The single place that decides how the reference is assembled. If global\n * uniqueness later requires the name segment to be org-qualified, this is the\n * one line that changes.\n */\nexport const formatKindRef = (k: { name: string; version: string }): BlockKindReference =>\n `${k.name}@${k.version}` as BlockKindReference;\n\n/**\n * Split a `{name}@{version}` string on its version separator.\n *\n * The one place that decides where the name ends. Uses the LAST `@` so an\n * org-qualified npm name that itself starts with `@` (e.g.\n * `@platforma-open/pkg.kind`) keeps its whole name. A leading/absent separator\n * (`lastIndexOf(\"@\") <= 0`) means the string carries no version segment —\n * malformed — so this throws rather than returning a silently version-less\n * result.\n *\n * Shared with the template layer, whose `{name}@{selector}` references use the\n * same split and differ only in how the right half is interpreted (see\n * `parseKindSelectorReference`). `what` names the thing being parsed so the\n * error message stays specific to the caller's reference type.\n */\nexport const splitVersionedName = (\n ref: string,\n what = \"block kind reference\",\n expected = \"{name}@{version}\",\n): { name: string; version: string } => {\n const at = ref.lastIndexOf(\"@\");\n if (at <= 0) {\n throw new Error(`Malformed ${what} (expected '${expected}'): ${ref}`);\n }\n return { name: ref.slice(0, at), version: ref.slice(at + 1) };\n};\n\n/**\n * Split a {@link BlockKindReference} back into `{ name, version }`.\n *\n * Throws on a reference with no version segment — see\n * {@link splitVersionedName}, which owns the split rule.\n */\nexport const parseKindRef = (ref: BlockKindReference): { name: string; version: string } =>\n splitVersionedName(ref);\n"],"mappings":";;;;;;;;AAqBA,MAAa,iBAAiB,MAC5B,GAAG,EAAE,KAAK,GAAG,EAAE;;;;;;;;;;;;;;;;AAiBjB,MAAa,sBACX,KACA,OAAO,wBACP,WAAW,uBAC2B;CACtC,MAAM,KAAK,IAAI,YAAY,GAAG;CAC9B,IAAI,MAAM,GACR,MAAM,IAAI,MAAM,aAAa,KAAK,cAAc,SAAS,MAAM,KAAK;CAEtE,OAAO;EAAE,MAAM,IAAI,MAAM,GAAG,EAAE;EAAG,SAAS,IAAI,MAAM,KAAK,CAAC;CAAE;AAC9D;;;;;;;AAQA,MAAa,gBAAgB,QAC3B,mBAAmB,GAAG"}
@@ -0,0 +1,55 @@
1
+ import { Branded } from "@milaboratories/helpers";
2
+ //#region src/bmodel/block_kind_ref.d.ts
3
+ /**
4
+ * On-wire reference to a block kind, canonically the string `{name}@{version}`.
5
+ *
6
+ * A branded string: readers overwhelmingly need identity equality ("does block
7
+ * X implement kind Y?"), for which an opaque canonical string is ideal. Any
8
+ * reader that needs the parts calls {@link parseKindRef}; any writer composes
9
+ * the reference through {@link formatKindRef}. Keeping composition in a single
10
+ * function localizes the one open decision — whether the name segment has to be
11
+ * org-qualified for global uniqueness — to one place.
12
+ */
13
+ export type BlockKindReference = Branded<string, "BlockKindReference">;
14
+ /**
15
+ * Compose a {@link BlockKindReference} from a kind's `name`/`version`.
16
+ *
17
+ * The single place that decides how the reference is assembled. If global
18
+ * uniqueness later requires the name segment to be org-qualified, this is the
19
+ * one line that changes.
20
+ */
21
+ export declare const formatKindRef: (k: {
22
+ name: string;
23
+ version: string;
24
+ }) => BlockKindReference;
25
+ /**
26
+ * Split a `{name}@{version}` string on its version separator.
27
+ *
28
+ * The one place that decides where the name ends. Uses the LAST `@` so an
29
+ * org-qualified npm name that itself starts with `@` (e.g.
30
+ * `@platforma-open/pkg.kind`) keeps its whole name. A leading/absent separator
31
+ * (`lastIndexOf("@") <= 0`) means the string carries no version segment —
32
+ * malformed — so this throws rather than returning a silently version-less
33
+ * result.
34
+ *
35
+ * Shared with the template layer, whose `{name}@{selector}` references use the
36
+ * same split and differ only in how the right half is interpreted (see
37
+ * `parseKindSelectorReference`). `what` names the thing being parsed so the
38
+ * error message stays specific to the caller's reference type.
39
+ */
40
+ export declare const splitVersionedName: (ref: string, what?: string, expected?: string) => {
41
+ name: string;
42
+ version: string;
43
+ };
44
+ /**
45
+ * Split a {@link BlockKindReference} back into `{ name, version }`.
46
+ *
47
+ * Throws on a reference with no version segment — see
48
+ * {@link splitVersionedName}, which owns the split rule.
49
+ */
50
+ export declare const parseKindRef: (ref: BlockKindReference) => {
51
+ name: string;
52
+ version: string;
53
+ };
54
+ //#endregion
55
+ //# sourceMappingURL=block_kind_ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_kind_ref.d.ts","names":[],"sources":["../../src/bmodel/block_kind_ref.ts"],"mappings":";;;;;;;;;;;;YAYY,qBAAqB;;;;;;;;qBASpB,gBAAa;EAAS;EAAc;MAAoB;;;;;;;;;;;;;;;;qBAkBxD,qBAAkB,aAClB,eAAA;EAGR;EAAc;;;;;;;;qBAcN,eAAY,KAAS;EAAuB;EAAc"}
@@ -0,0 +1,43 @@
1
+ //#region src/bmodel/block_kind_ref.ts
2
+ /**
3
+ * Compose a {@link BlockKindReference} from a kind's `name`/`version`.
4
+ *
5
+ * The single place that decides how the reference is assembled. If global
6
+ * uniqueness later requires the name segment to be org-qualified, this is the
7
+ * one line that changes.
8
+ */
9
+ const formatKindRef = (k) => `${k.name}@${k.version}`;
10
+ /**
11
+ * Split a `{name}@{version}` string on its version separator.
12
+ *
13
+ * The one place that decides where the name ends. Uses the LAST `@` so an
14
+ * org-qualified npm name that itself starts with `@` (e.g.
15
+ * `@platforma-open/pkg.kind`) keeps its whole name. A leading/absent separator
16
+ * (`lastIndexOf("@") <= 0`) means the string carries no version segment —
17
+ * malformed — so this throws rather than returning a silently version-less
18
+ * result.
19
+ *
20
+ * Shared with the template layer, whose `{name}@{selector}` references use the
21
+ * same split and differ only in how the right half is interpreted (see
22
+ * `parseKindSelectorReference`). `what` names the thing being parsed so the
23
+ * error message stays specific to the caller's reference type.
24
+ */
25
+ const splitVersionedName = (ref, what = "block kind reference", expected = "{name}@{version}") => {
26
+ const at = ref.lastIndexOf("@");
27
+ if (at <= 0) throw new Error(`Malformed ${what} (expected '${expected}'): ${ref}`);
28
+ return {
29
+ name: ref.slice(0, at),
30
+ version: ref.slice(at + 1)
31
+ };
32
+ };
33
+ /**
34
+ * Split a {@link BlockKindReference} back into `{ name, version }`.
35
+ *
36
+ * Throws on a reference with no version segment — see
37
+ * {@link splitVersionedName}, which owns the split rule.
38
+ */
39
+ const parseKindRef = (ref) => splitVersionedName(ref);
40
+ //#endregion
41
+ export { formatKindRef, parseKindRef, splitVersionedName };
42
+
43
+ //# sourceMappingURL=block_kind_ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_kind_ref.js","names":[],"sources":["../../src/bmodel/block_kind_ref.ts"],"sourcesContent":["import type { Branded } from \"@milaboratories/helpers\";\n\n/**\n * On-wire reference to a block kind, canonically the string `{name}@{version}`.\n *\n * A branded string: readers overwhelmingly need identity equality (\"does block\n * X implement kind Y?\"), for which an opaque canonical string is ideal. Any\n * reader that needs the parts calls {@link parseKindRef}; any writer composes\n * the reference through {@link formatKindRef}. Keeping composition in a single\n * function localizes the one open decision — whether the name segment has to be\n * org-qualified for global uniqueness — to one place.\n */\nexport type BlockKindReference = Branded<string, \"BlockKindReference\">;\n\n/**\n * Compose a {@link BlockKindReference} from a kind's `name`/`version`.\n *\n * The single place that decides how the reference is assembled. If global\n * uniqueness later requires the name segment to be org-qualified, this is the\n * one line that changes.\n */\nexport const formatKindRef = (k: { name: string; version: string }): BlockKindReference =>\n `${k.name}@${k.version}` as BlockKindReference;\n\n/**\n * Split a `{name}@{version}` string on its version separator.\n *\n * The one place that decides where the name ends. Uses the LAST `@` so an\n * org-qualified npm name that itself starts with `@` (e.g.\n * `@platforma-open/pkg.kind`) keeps its whole name. A leading/absent separator\n * (`lastIndexOf(\"@\") <= 0`) means the string carries no version segment —\n * malformed — so this throws rather than returning a silently version-less\n * result.\n *\n * Shared with the template layer, whose `{name}@{selector}` references use the\n * same split and differ only in how the right half is interpreted (see\n * `parseKindSelectorReference`). `what` names the thing being parsed so the\n * error message stays specific to the caller's reference type.\n */\nexport const splitVersionedName = (\n ref: string,\n what = \"block kind reference\",\n expected = \"{name}@{version}\",\n): { name: string; version: string } => {\n const at = ref.lastIndexOf(\"@\");\n if (at <= 0) {\n throw new Error(`Malformed ${what} (expected '${expected}'): ${ref}`);\n }\n return { name: ref.slice(0, at), version: ref.slice(at + 1) };\n};\n\n/**\n * Split a {@link BlockKindReference} back into `{ name, version }`.\n *\n * Throws on a reference with no version segment — see\n * {@link splitVersionedName}, which owns the split rule.\n */\nexport const parseKindRef = (ref: BlockKindReference): { name: string; version: string } =>\n splitVersionedName(ref);\n"],"mappings":";;;;;;;;AAqBA,MAAa,iBAAiB,MAC5B,GAAG,EAAE,KAAK,GAAG,EAAE;;;;;;;;;;;;;;;;AAiBjB,MAAa,sBACX,KACA,OAAO,wBACP,WAAW,uBAC2B;CACtC,MAAM,KAAK,IAAI,YAAY,GAAG;CAC9B,IAAI,MAAM,GACR,MAAM,IAAI,MAAM,aAAa,KAAK,cAAc,SAAS,MAAM,KAAK;CAEtE,OAAO;EAAE,MAAM,IAAI,MAAM,GAAG,EAAE;EAAG,SAAS,IAAI,MAAM,KAAK,CAAC;CAAE;AAC9D;;;;;;;AAQA,MAAa,gBAAgB,QAC3B,mBAAmB,GAAG"}
@@ -1,8 +1,8 @@
1
1
  import { BlockCodeFeatureFlags } from "../flags/block_flags.js";
2
+ import "../flags/index.js";
2
3
  import { z } from "zod";
3
-
4
4
  //#region src/bmodel/code.d.ts
5
- declare const Code: z.ZodObject<{
5
+ export declare const Code: z.ZodObject<{
6
6
  type: z.ZodLiteral<"plain">;
7
7
  content: z.ZodString;
8
8
  }, "strip", z.ZodTypeAny, {
@@ -12,12 +12,11 @@ declare const Code: z.ZodObject<{
12
12
  type: "plain";
13
13
  content: string;
14
14
  }>;
15
- type Code = z.infer<typeof Code>;
16
- type BlockCodeWithInfo = {
15
+ export type Code = z.infer<typeof Code>;
16
+ export type BlockCodeWithInfo = {
17
17
  readonly code: Code;
18
18
  readonly sdkVersion: string;
19
19
  readonly featureFlags: BlockCodeFeatureFlags | undefined;
20
20
  };
21
21
  //#endregion
22
- export { BlockCodeWithInfo, Code };
23
22
  //# sourceMappingURL=code.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","names":[],"sources":["../../src/bmodel/code.ts"],"mappings":";;;;cAGa,IAAA,EAAI,CAAA,CAAA,SAAA;;;;;;;;;;KAKL,IAAA,GAAO,CAAA,CAAE,KAAK,QAAQ,IAAA;AAAA,KAEtB,iBAAA;EAAA,SACD,IAAA,EAAM,IAAA;EAAA,SACN,UAAA;EAAA,SACA,YAAA,EAAc,qBAAqB;AAAA"}
1
+ {"version":3,"file":"code.d.ts","names":[],"sources":["../../src/bmodel/code.ts"],"mappings":";;;;qBAGa,MAAI,EAAA;;;;;;;;;;YAKL,OAAO,EAAE,aAAa;YAEtB;WACD,MAAM;WACN;WACA,cAAc"}
@@ -1,13 +1,22 @@
1
1
  import { Code } from "./code.js";
2
2
  import { BlockRenderingMode } from "./types.js";
3
3
  import { BlockConfigV3Generic, BlockConfigV4Generic } from "./block_config.js";
4
-
4
+ import { BlockKindReference } from "./block_kind_ref.js";
5
5
  //#region src/bmodel/container.d.ts
6
6
  /** Container simplifying maintenance of forward and backward compatibility */
7
- type BlockConfigContainer = {
8
- readonly v4?: Omit<BlockConfigV4Generic, "code">; /** Actual config */
9
- readonly v3?: Omit<BlockConfigV3Generic, "code">; /** Config code bundle. Actually is required, but we keep it optional for backward compatibility */
7
+ export type BlockConfigContainer = {
8
+ readonly v4?: Omit<BlockConfigV4Generic, "code">;
9
+ /** Actual config */
10
+ readonly v3?: Omit<BlockConfigV3Generic, "code">;
11
+ /** Config code bundle. Actually is required, but we keep it optional for backward compatibility */
10
12
  readonly code?: Code;
13
+ /**
14
+ * Reference to the block kind this config implements, in `{name}@{version}`
15
+ * form. Version-independent block identity — lives at the container level
16
+ * beside {@link code}, orthogonal to which render envelope (`v3`/`v4`)
17
+ * applies. Optional for backward compatibility with kind-less blocks.
18
+ */
19
+ readonly kind?: BlockKindReference;
11
20
  /**
12
21
  * For backward compatibility
13
22
  * @deprecated
@@ -45,5 +54,4 @@ type BlockConfigContainer = {
45
54
  readonly outputs?: Record<string, unknown>;
46
55
  };
47
56
  //#endregion
48
- export { BlockConfigContainer };
49
57
  //# sourceMappingURL=container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","names":[],"sources":["../../src/bmodel/container.ts"],"mappings":";;;;;;KAKY,oBAAA;EAAA,SACD,EAAA,GAAK,IAAA,CAAK,oBAAA,WADW;EAAA,SAGrB,EAAA,GAAK,IAAA,CAAK,oBAAA,WAFA;EAAA,SAKV,IAAA,GAAO,IAAA;EAHG;;;;EAAA,SAaV,UAAA;EAoCgB;;;;EAAA,SA9BhB,aAAA,GAAgB,kBAAA;EAnBhB;;;;EAAA,SAyBA,WAAA;EAZA;;;;EAAA,SAkBA,MAAA;EAMA;;;;EAAA,SAAA,WAAA;EAYgB;;;;EAAA,SANhB,QAAA;;;;;WAMA,OAAA,GAAU,MAAA;AAAA"}
1
+ {"version":3,"file":"container.d.ts","names":[],"sources":["../../src/bmodel/container.ts"],"mappings":";;;;;;YAMY;WACD,KAAK,KAAK;;WAEV,KAAK,KAAK;;WAGV,OAAO;;;;;;;WAQP,OAAO;;;;;WAUP;;;;;WAMA,gBAAgB;;;;;WAMhB;;;;;WAMA;;;;;WAMA;;;;;WAMA;;;;;WAMA,UAAU"}
@@ -1,6 +1,10 @@
1
1
  const require_block_config = require("./block_config.cjs");
2
2
  const require_code = require("./code.cjs");
3
+ const require_block_kind_ref = require("./block_kind_ref.cjs");
3
4
  const require_normalization = require("./normalization.cjs");
4
5
  exports.Code = require_code.Code;
5
6
  exports.extractCodeWithInfo = require_block_config.extractCodeWithInfo;
6
7
  exports.extractConfigGeneric = require_normalization.extractConfigGeneric;
8
+ exports.formatKindRef = require_block_kind_ref.formatKindRef;
9
+ exports.parseKindRef = require_block_kind_ref.parseKindRef;
10
+ exports.splitVersionedName = require_block_kind_ref.splitVersionedName;
@@ -1,6 +1,7 @@
1
1
  import { BlockCodeWithInfo, Code } from "./code.js";
2
2
  import { BlockRenderingMode } from "./types.js";
3
3
  import { BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, extractCodeWithInfo } from "./block_config.js";
4
+ import { BlockKindReference, formatKindRef, parseKindRef, splitVersionedName } from "./block_kind_ref.js";
4
5
  import { BlockConfigContainer } from "./container.js";
5
6
  import { extractConfigGeneric } from "./normalization.js";
6
- export { BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockRenderingMode, Code, extractCodeWithInfo, extractConfigGeneric };
7
+ export { BlockCodeWithInfo, BlockConfigContainer, BlockConfigGeneric, BlockConfigV3Generic, BlockConfigV4Generic, BlockKindReference, BlockRenderingMode, Code, extractCodeWithInfo, extractConfigGeneric, formatKindRef, parseKindRef, splitVersionedName };
@@ -1,4 +1,5 @@
1
1
  import { extractCodeWithInfo } from "./block_config.js";
2
2
  import { Code } from "./code.js";
3
+ import { formatKindRef, parseKindRef, splitVersionedName } from "./block_kind_ref.js";
3
4
  import { extractConfigGeneric } from "./normalization.js";
4
- export { Code, extractCodeWithInfo, extractConfigGeneric };
5
+ export { Code, extractCodeWithInfo, extractConfigGeneric, formatKindRef, parseKindRef, splitVersionedName };
@@ -1,6 +1,5 @@
1
1
  import { BlockConfigGeneric } from "./block_config.js";
2
2
  import { BlockConfigContainer } from "./container.js";
3
-
4
3
  //#region src/bmodel/normalization.d.ts
5
4
  /**
6
5
  * Takes universal config, and converts it into latest config structure.
@@ -8,7 +7,6 @@ import { BlockConfigContainer } from "./container.js";
8
7
  * **Important**: This operation is not meant to be executed recursively.
9
8
  * In no circumstance result of this function should be persisted!
10
9
  * */
11
- declare function extractConfigGeneric(cfg: BlockConfigContainer): BlockConfigGeneric;
10
+ export declare function extractConfigGeneric(cfg: BlockConfigContainer): BlockConfigGeneric;
12
11
  //#endregion
13
- export { extractConfigGeneric };
14
12
  //# sourceMappingURL=normalization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalization.d.ts","names":[],"sources":["../../src/bmodel/normalization.ts"],"mappings":";;;;;;AAiBA;;;;iBAAgB,oBAAA,CAAqB,GAAA,EAAK,oBAAA,GAAuB,kBAAkB"}
1
+ {"version":3,"file":"normalization.d.ts","names":[],"sources":["../../src/bmodel/normalization.ts"],"mappings":";;;;;;;;;wBAiBgB,qBAAqB,KAAK,uBAAuB"}
@@ -1,5 +1,4 @@
1
1
  //#region src/bmodel/types.d.ts
2
- type BlockRenderingMode = "Light" | "Heavy" | "DualContextHeavy";
2
+ export type BlockRenderingMode = "Light" | "Heavy" | "DualContextHeavy";
3
3
  //#endregion
4
- export { BlockRenderingMode };
5
4
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/bmodel/types.ts"],"mappings":";KAAY,kBAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/bmodel/types.ts"],"mappings":";YAAY"}
@@ -1,6 +1,5 @@
1
1
  //#region src/branding.d.ts
2
- type Brand<B, K extends string = "__pl_model_brand__"> = { [key in K]: B };
3
- type Branded<T, B, K extends string = "__pl_model_brand__"> = T & Brand<B, K>;
2
+ type Brand<B, K extends string = "__pl_model_brand__"> = { [key in K]: B; };
3
+ export type Branded<T, B, K extends string = "__pl_model_brand__"> = T & Brand<B, K>;
4
4
  //#endregion
5
- export { Branded };
6
5
  //# sourceMappingURL=branding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branding.d.ts","names":[],"sources":["../src/branding.ts"],"mappings":";KAAK,KAAA,yDAA8D,CAAA,GAAI,CAAC;AAAA,KAE5D,OAAA,kDAAyD,CAAA,GAAI,KAAA,CAAM,CAAA,EAAG,CAAA"}
1
+ {"version":3,"file":"branding.d.ts","names":[],"sources":["../src/branding.ts"],"mappings":";KAAK,MAAM,GAAG,8CAA8C,OAAO,IAAI;YAE3D,QAAQ,GAAG,GAAG,2CAA2C,IAAI,MAAM,GAAG"}
@@ -1,15 +1,14 @@
1
1
  import { AccessorLike, LeafEntry, UpstreamBlockCtx } from "./types.js";
2
-
3
2
  //#region src/columns/accessor_traversal.d.ts
4
3
  /** Resource types that hold column collections — DFS stops here and collects. */
5
- declare const COLLECT_TYPES: ReadonlyArray<string>;
4
+ export declare const COLLECT_TYPES: ReadonlyArray<string>;
6
5
  /** Resource types DFS descends through when looking for PFrames. */
7
- declare const DESCEND_TYPES: ReadonlyArray<string>;
6
+ export declare const DESCEND_TYPES: ReadonlyArray<string>;
8
7
  /**
9
8
  * Enumerate column names backing a PFrame accessor — derived from
10
9
  * `<name>.spec` field names, without resolving the spec resources.
11
10
  */
12
- declare function listColumnNames<A extends AccessorLike<A>>(accessor: A, prefix?: string): string[];
11
+ export declare function listColumnNames<A extends AccessorLike<A>>(accessor: A, prefix?: string): string[];
13
12
  /**
14
13
  * One DFS hit — the accessor whose resource-type matched `collectTypes`, and
15
14
  * the field-name path from the DFS root used to reach it.
@@ -29,7 +28,7 @@ type DescendantHit<A extends AccessorLike<A>> = {
29
28
  *
30
29
  * Includes `root` itself in the walk.
31
30
  */
32
- declare function findDescendantsByType<A extends AccessorLike<A>>(opts: {
31
+ export declare function findDescendantsByType<A extends AccessorLike<A>>(opts: {
33
32
  root: A;
34
33
  rootPath: ReadonlyArray<string>;
35
34
  collectTypes: ReadonlyArray<string>;
@@ -40,13 +39,12 @@ declare function findDescendantsByType<A extends AccessorLike<A>>(opts: {
40
39
  * Ids are {@link createLocalPObjectId}-shaped: `{resolvePath, name}`. The
41
40
  * `resolvePath` is derived from `rootPath` extended by the DFS traversal.
42
41
  */
43
- declare function indexAccessorRoot<A extends AccessorLike<A>>(root: A, rootPath: ReadonlyArray<string>): LeafEntry<A>[];
42
+ export declare function indexAccessorRoot<A extends AccessorLike<A>>(root: A, rootPath: ReadonlyArray<string>): LeafEntry<A>[];
44
43
  /**
45
44
  * Walk one upstream-block ctx pair (`prodCtx` then `stagingCtx`) and return one
46
45
  * {@link LeafEntry} per column. First-wins dedup by name (prod precedes staging).
47
46
  * Ids are {@link createGlobalPObjectId}-shaped — `resolvePath` is not involved.
48
47
  */
49
- declare function indexPoolBlock<A extends AccessorLike<A>>(block: UpstreamBlockCtx<A>): LeafEntry<A>[];
48
+ export declare function indexPoolBlock<A extends AccessorLike<A>>(block: UpstreamBlockCtx<A>): LeafEntry<A>[];
50
49
  //#endregion
51
- export { COLLECT_TYPES, DESCEND_TYPES, findDescendantsByType, indexAccessorRoot, indexPoolBlock, listColumnNames };
52
50
  //# sourceMappingURL=accessor_traversal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessor_traversal.d.ts","names":[],"sources":["../../src/columns/accessor_traversal.ts"],"mappings":";;;;cAKa,aAAA,EAAe,aAAa;AAAzC;AAAA,cAGa,aAAA,EAAe,aAAa;;;AAHA;AAGzC;iBASgB,eAAA,WAA0B,YAAA,CAAa,CAAA,GACrD,QAAA,EAAU,CAAA,EACV,MAAA;;;AAXuC;AASzC;KAmBK,aAAA,WAAwB,YAAA,CAAa,CAAA;EAAA,SAC/B,IAAA,EAAM,CAAA;EAAA,SACN,IAAA,EAAM,aAAA;AAAA;;;;;;;;;;;AAnBI;iBAiCL,qBAAA,WAAgC,YAAA,CAAa,CAAA,GAAI,IAAA;EAC/D,IAAA,EAAM,CAAA;EACN,QAAA,EAAU,aAAA;EACV,YAAA,EAAc,aAAA;EACd,YAAA,GAAe,aAAA;AAAA,IACb,aAAA,CAAc,CAAA;;;;;;iBAiCF,iBAAA,WAA4B,YAAA,CAAa,CAAA,GACvD,IAAA,EAAM,CAAA,EACN,QAAA,EAAU,aAAA,WACT,SAAA,CAAU,CAAA;;;;;;iBAwBG,cAAA,WAAyB,YAAA,CAAa,CAAA,GACpD,KAAA,EAAO,gBAAA,CAAiB,CAAA,IACvB,SAAA,CAAU,CAAA"}
1
+ {"version":3,"file":"accessor_traversal.d.ts","names":[],"sources":["../../src/columns/accessor_traversal.ts"],"mappings":";;;qBAKa,eAAe;;qBAGf,eAAe;;;;;wBASZ,gBAAgB,UAAU,aAAa,IACrD,UAAU,GACV;;;;;KAiBG,cAAc,UAAU,aAAa;WAC/B,MAAM;WACN,MAAM;;;;;;;;;;;;;wBAcD,sBAAsB,UAAU,aAAa,IAAI;EAC/D,MAAM;EACN,UAAU;EACV,cAAc;EACd,eAAe;IACb,cAAc;;;;;;wBAiCF,kBAAkB,UAAU,aAAa,IACvD,MAAM,GACN,UAAU,wBACT,UAAU;;;;;;wBAwBG,eAAe,UAAU,aAAa,IACpD,OAAO,iBAAiB,KACvB,UAAU"}
@@ -1,6 +1,6 @@
1
1
  import { PObjectId } from "../pool/spec.js";
2
+ import "../pool/index.js";
2
3
  import { AccessorLike, ColumnEntriesProvider, LeafEntry } from "./types.js";
3
-
4
4
  //#region src/columns/column_registry.d.ts
5
5
  /**
6
6
  * Id-index over a set of {@link ColumnEntriesProvider}s. Sole job:
@@ -13,7 +13,7 @@ import { AccessorLike, ColumnEntriesProvider, LeafEntry } from "./types.js";
13
13
  * directly at the call site that has the providers; there is no ambient
14
14
  * singleton.
15
15
  */
16
- declare class ColumnRegistry<A extends AccessorLike<A>> {
16
+ export declare class ColumnRegistry<A extends AccessorLike<A>> {
17
17
  private readonly providers;
18
18
  constructor(providers: ReadonlyArray<ColumnEntriesProvider<A>>);
19
19
  /**
@@ -27,5 +27,4 @@ declare class ColumnRegistry<A extends AccessorLike<A>> {
27
27
  private lookupById;
28
28
  }
29
29
  //#endregion
30
- export { ColumnRegistry };
31
30
  //# sourceMappingURL=column_registry.d.ts.map